intento de confirmacion, aun pendiente

This commit is contained in:
2023-03-03 15:31:28 -06:00
parent 7321c103b1
commit e01cba238d
51 changed files with 1008 additions and 27 deletions
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { ActividadController } from './actividad.controller';
describe('ActividadController', () => {
let controller: ActividadController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [ActividadController],
}).compile();
controller = module.get<ActividadController>(ActividadController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});
+4
View File
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('actividad')
export class ActividadController {}
+9
View File
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { ActividadController } from './actividad.controller';
import { ActividadService } from './actividad.service';
@Module({
controllers: [ActividadController],
providers: [ActividadService]
})
export class ActividadModule {}
+18
View File
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { ActividadService } from './actividad.service';
describe('ActividadService', () => {
let service: ActividadService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [ActividadService],
}).compile();
service = module.get<ActividadService>(ActividadService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
+4
View File
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class ActividadService {}
+39 -1
View File
@@ -32,6 +32,19 @@ import { Area } from './catalogos/area.entity';
import { TipoMiembro } from './catalogos/tipo-miembro.entity';
import { Carrera } from './catalogos/carrera.entity';
import { Periodo } from './periodo/entity/periodo.entity';
import { MiembroProyectoModule } from './miembro-proyecto/miembro-proyecto.module';
import { MiembroContactoModule } from './miembro-contacto/miembro-contacto.module';
import { ProyectoModule } from './proyecto/proyecto.module';
import { ProyectoActividadModule } from './proyecto-actividad/proyecto-actividad.module';
import { ActividadModule } from './actividad/actividad.module';
import { MiembroProyecto } from './miembro-proyecto/entity/miembro_proyecto.entity';
import { MiembroContacto } from './miembro-contacto/entity/miembro_contacto.entity';
import { Proyecto } from './proyecto/entity/proyecto.entity';
import { Contacto } from './contacto/entity/contacto.entity';
import { Equipo } from './equipo/entity/equipo.entity';
import { EquipoEvento } from './equipo-evento/entity/equipo_evento.entity';
import { EquipoMiembro } from './equipo-miembro/entity/equipo_miembro.entity';
import { SybaseModule } from './sybase/sybase.module';
@Module({
imports: [
@@ -54,6 +67,7 @@ import { Periodo } from './periodo/entity/periodo.entity';
Participante,
EventoParticipante,
Usuario,
/* Agregadas el 29 de febrero */
Miembro,
InscripcionArea,
InscripcionDSC,
@@ -62,11 +76,30 @@ import { Periodo } from './periodo/entity/periodo.entity';
Area,
TipoMiembro,
Carrera,
Periodo
Periodo,
/* Agregadas el 1 de marzo */
MiembroProyecto,
MiembroContacto,
Proyecto,
Contacto,
Equipo,
EquipoEvento,
EquipoMiembro,
],
synchronize: true,
}),
}),
SybaseModule.forRootAsync({
inject: [ConfigService],
useFactory: (configService: ConfigService) => {
return {
host: configService.get('DB_HOST_DSC'),
database: configService.get('DB_NAME_DSC'),
username: configService.get('DB_USER_DSC'),
password: configService.get('DB_PASS_DSC'),
};
},
}),
EventosModule,
ParticipanteModule,
EventoParticipanteModule,
@@ -80,6 +113,11 @@ import { Periodo } from './periodo/entity/periodo.entity';
PeriodoModule,
InscripcionUsuarioModule,
MiembroModule,
MiembroProyectoModule,
MiembroContactoModule,
ProyectoModule,
ProyectoActividadModule,
ActividadModule,
],
controllers: [
AppController,
+2 -2
View File
@@ -47,11 +47,11 @@ export class AuthService {
if (!checkPassword) throw new HttpException('Contraseña incorrecta', 403);
const payload = { id_usuario: usuario.id_usuario, name: usuario.name };
const payload = { id_usuario: usuario.id_usuario, name: usuario.nombre };
const token = this.jwtService.sign(payload); //firma el token
const data = {
usuario: usuario.name,
usuario: usuario.nombre,
id: usuario.id_usuario,
email: usuario.email,
token,
+51
View File
@@ -0,0 +1,51 @@
import { Injectable } from '@nestjs/common';
import * as mysql from 'mysql2/promise';
@Injectable()
export class MysqlService {
private mysqlPool: mysql.Pool;
private mysqlConnection: mysql.Connection;
private mysqlConnectionDscConfirmation: mysql.Connection;
constructor() {
/* this.mysqlPool = mysql.createPool({
connectionLimit: 20,
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
});
this.mysqlConnection = mysql.createConnection({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
});
this.mysqlConnectionDscConfirmation = mysql.createPool({
connectionLimit: 20,
host: process.env.DB_HOST_DSC,
user: process.env.DB_USER_DSC,
password: process.env.DB_PASS_DSC,
database: process.env.DB_NAME_DSC,
}); */
/* this.mysqlConnection.connect((err) => {
if (err) console.log(err);
else console.log('base conectada');
}); */
}
getMysqlConnection(): mysql.Connection {
return this.mysqlConnection;
}
getMysqlPool(): mysql.Pool {
return this.mysqlPool;
}
getMysqlConnectionDscConfirmation(): mysql.Connection {
return this.mysqlConnectionDscConfirmation;
}
}
+27
View File
@@ -0,0 +1,27 @@
import { MiembroContacto } from "src/miembro-contacto/entity/miembro_contacto.entity";
import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class Contacto {
@PrimaryGeneratedColumn()
id_contacto: number
@Column({nullable:false})
correo: string
@Column()
horario: string
@Column({nullable:true})
facebook: string
@Column({nullable: true})
linkedin: string
@ManyToOne(
() => MiembroContacto, (miembroContacto) => miembroContacto.contacto
)
@JoinColumn({name: "id_contacto"})
miembroContacto: MiembroContacto
}
@@ -0,0 +1,27 @@
import { Equipo } from "src/equipo/entity/equipo.entity";
import { Evento } from "src/eventos/evento.entity";
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class EquipoEvento {
@PrimaryGeneratedColumn()
id_equipo_evento: number
@Column()
id_equipo: number
@Column()
id_evento: number
@ManyToOne(
() => Equipo, (equipo) => equipo.equipoEvento
)
@JoinColumn({name: "id_equipo"})
equipo: Equipo[]
@ManyToOne(
() => Evento, (evento) => evento.equipoEvento
)
@JoinColumn({name: "id_evento"})
evento: Evento
}
@@ -0,0 +1,27 @@
import { Equipo } from "src/equipo/entity/equipo.entity";
import { Miembro } from "src/miembro/entity/miembro.entity";
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class EquipoMiembro {
@PrimaryGeneratedColumn()
id_equipo_miembro:number
@Column()
id_equipo:number
@Column()
id_miembro:number
@ManyToOne(
() => Miembro, (miembro) => miembro.equipoMiembro
)
@JoinColumn({name:"id_miembro"})
miembro: Miembro[]
@ManyToOne(
() => Equipo,(equipo) => equipo.equipoMiembro
)
@JoinColumn({name: "id_equipo"})
equipo: Equipo[]
}
+25
View File
@@ -0,0 +1,25 @@
import { EquipoEvento } from "src/equipo-evento/entity/equipo_evento.entity";
import { EquipoMiembro } from "src/equipo-miembro/entity/equipo_miembro.entity";
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class Equipo{
@PrimaryGeneratedColumn()
id_equipo: number
@Column({length:50, nullable:true})
nombre: string
@Column({length:250})
descripcion:string
@OneToMany(
() => EquipoMiembro, (equipoMiembro) => equipoMiembro.miembro
)
equipoMiembro: EquipoMiembro
@OneToMany(
() => EquipoEvento, (equipoEvento) => equipoEvento.evento
)
equipoEvento: EquipoEvento
}
+8
View File
@@ -1,8 +1,10 @@
import { EquipoEvento } from 'src/equipo-evento/entity/equipo_evento.entity';
import { EventoParticipante } from 'src/evento-participante/evento-participante/eventoParticipante.entity';
import {
Column,
Entity,
JoinColumn,
ManyToOne,
OneToMany,
PrimaryGeneratedColumn,
} from 'typeorm';
@@ -68,4 +70,10 @@ export class Evento {
(eventoParticipante) => eventoParticipante.evento,
)
eventoParticipantes: EventoParticipante[];
@OneToMany(
() => EquipoEvento, (equipoEvento) => equipoEvento.evento
)
equipoEvento: EquipoEvento
}
@@ -26,5 +26,6 @@ export class InscripcionArea {
@ManyToOne(
() => InscripcionDSC, (inscripcionDsc) => inscripcionDsc.inscripcionArea
)
@JoinColumn({name:"id_inscripcion"})
inscripcionDsc: InscripcionDSC
}
@@ -1,4 +1,74 @@
import { Controller } from '@nestjs/common';
import {
Body,
Controller,
Get,
Param,
ParseIntPipe,
Post,
} from '@nestjs/common';
import { InscripcionDscService } from './inscripcion-dsc.service';
@Controller('inscripcion-dsc')
export class InscripcionDscController {}
export class InscripcionDscController {
constructor(private readonly inscripcionService: InscripcionDscService) {}
@Post('confirmacion')
async confirmacionDsc(@Body() body: any) {
const { accountNumber } = body;
/* this.inscripcionService
.userVerification({ accountNumber })
.then((res) => {
console.log(res);
})
.catch((err) => {
return(err)
}); */
try {
const userVerificationResponse =
await this.inscripcionService.userVerification({
accountNumber,
});
console.log(userVerificationResponse)
if (userVerificationResponse.length === 0) {
return {
error: true,
msj: 'El usuario no se encuentra inscrito',
desc: '',
};
}
const [userInformation] = userVerificationResponse;
console.log(userInformation);
if (userInformation.confirmacion) {
return {
error: true,
msj: 'El usuario ya hizo la confirmación anteriormente',
desc: '',
};
}
} catch (err) {
return console.log(err);
}
try {
const confirmationResponse =
await this.inscripcionService.userConfirmation({ accountNumber });
return {
error: false,
msj: 'Usuario confirmado exitosamente',
data: confirmationResponse,
};
} catch (err) {
return {
error: true,
msj: `No se pudo realizar la confirmación del usuario`,
desc: `${err}`,
};
}
}
/* @Get(":id")
getUsuarioById(@Param('id', ParseIntPipe)id: number){
} */
}
+61 -1
View File
@@ -1,4 +1,64 @@
import { Injectable } from '@nestjs/common';
import { SybaseService } from 'src/sybase/sybase.service';
@Injectable()
export class InscripcionDscService {}
export class InscripcionDscService {
constructor(private sybaseService: SybaseService) {}
async userVerification(data: { accountNumber: string }): Promise<any> {
const { accountNumber } = data;
/* console.log(accountNumber) */
try {
this.validarNumeroCuenta(accountNumber); //valida que el numero de cuenta sea string y menor a 9 digitos
} catch (error) {
throw error;
}
const userInformationQuery = `SELECT A.id_cuenta, nombre, if(AI.platica=true,1,0) as confirmacion FROM alumno A
JOIN alumno_inscrito AI ON (A.id_cuenta = AI.id_cuenta)
JOIN periodo P ON (P.id_periodo = AI.id_periodo)
WHERE A.id_cuenta = "${accountNumber}" and P.activo=true`;
try {
const responseUserInformation = await this.sybaseService.queryDsc(
userInformationQuery,
);
console.log(responseUserInformation)
return responseUserInformation;
} catch (error) {
throw error;
}
}
validarNumeroCuenta = (numeroCuenta) => {
if (typeof numeroCuenta !== 'string' || numeroCuenta.length > 9)
return numeroCuenta;
};
async userConfirmation(data: { accountNumber: string }): Promise<any> {
const { accountNumber } = data;
try {
this.validarNumeroCuenta(accountNumber);
} catch (error) {
throw error;
}
let userConfirmationQuery = `UPDATE alumno_inscrito SET platica=true
WHERE id_cuenta="${accountNumber}" and id_periodo=(SELECT id_periodo FROM periodo WHERE activo=true)`;
try {
const responseUserConfirmation = await this.sybaseService.queryDsc(
userConfirmationQuery,
);
return responseUserConfirmation;
} catch (error) {
throw error;
}
}
}
@@ -9,7 +9,7 @@ export class InscripcionUsuario {
id_inscripcion_usuario: number
@Column({nullable: false})
id_usuario: number
id_miembro: number
@Column({nullable: false})
id_inscripcion: number
@@ -23,7 +23,7 @@ export class InscripcionUsuario {
@ManyToOne(
() => Miembro, (miebro) => miebro.inscripcionUsuario
)
@JoinColumn({name: "id_usuario"})
@JoinColumn({name: "id_miembro"})
miembro: Miembro[]
}
@@ -0,0 +1,26 @@
import { Contacto } from "src/contacto/entity/contacto.entity";
import { Miembro } from "src/miembro/entity/miembro.entity";
import { Column, Entity, JoinColumn, OneToMany, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class MiembroContacto {
@PrimaryGeneratedColumn()
id_miembro_contacto: number
@Column()
id_miembro: number
@Column()
id_contacto: number
@OneToMany(
() => Miembro, (miembro) => miembro.miembroContacto
)
miembro: Miembro[]
@OneToMany(
() => Contacto, (contacto) => contacto.miembroContacto
)
@JoinColumn({name: "id_contacto"})
contacto: Contacto
}
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { MiembroContactoController } from './miembro-contacto.controller';
describe('MiembroContactoController', () => {
let controller: MiembroContactoController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [MiembroContactoController],
}).compile();
controller = module.get<MiembroContactoController>(MiembroContactoController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('miembro-contacto')
export class MiembroContactoController {}
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { MiembroContactoController } from './miembro-contacto.controller';
import { MiembroContactoService } from './miembro-contacto.service';
@Module({
controllers: [MiembroContactoController],
providers: [MiembroContactoService]
})
export class MiembroContactoModule {}
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { MiembroContactoService } from './miembro-contacto.service';
describe('MiembroContactoService', () => {
let service: MiembroContactoService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [MiembroContactoService],
}).compile();
service = module.get<MiembroContactoService>(MiembroContactoService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class MiembroContactoService {}
@@ -0,0 +1,26 @@
import { Miembro } from "src/miembro/entity/miembro.entity";
import { Proyecto } from "src/proyecto/entity/proyecto.entity";
import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn } from "typeorm";
@Entity()
export class MiembroProyecto {
@PrimaryGeneratedColumn()
id_miembro_proyecto: number
@Column()
id_proyecto: number
@Column()
id_miembro: number
@ManyToOne(
() => Miembro, (miembro) => miembro.miembroProyecto
)
@JoinColumn({name: "id_miembro"})
miembro: Miembro[]
@OneToMany(
() => Proyecto, (proyecto) => proyecto.miembroProyecto
)
proyecto: Proyecto[]
}
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { MiembroProyectoController } from './miembro-proyecto.controller';
describe('MiembroProyectoController', () => {
let controller: MiembroProyectoController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [MiembroProyectoController],
}).compile();
controller = module.get<MiembroProyectoController>(MiembroProyectoController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('miembro-proyecto')
export class MiembroProyectoController {}
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { MiembroProyectoController } from './miembro-proyecto.controller';
import { MiembroProyectoService } from './miembro-proyecto.service';
@Module({
controllers: [MiembroProyectoController],
providers: [MiembroProyectoService]
})
export class MiembroProyectoModule {}
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { MiembroProyectoService } from './miembro-proyecto.service';
describe('MiembroProyectoService', () => {
let service: MiembroProyectoService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [MiembroProyectoService],
}).compile();
service = module.get<MiembroProyectoService>(MiembroProyectoService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class MiembroProyectoService {}
+20 -1
View File
@@ -1,7 +1,10 @@
import { IsEmail } from 'class-validator';
import { Carrera } from 'src/catalogos/carrera.entity';
import { TipoMiembro } from 'src/catalogos/tipo-miembro.entity';
import { EquipoMiembro } from 'src/equipo-miembro/entity/equipo_miembro.entity';
import { InscripcionUsuario } from 'src/inscripcion-usuario/entity/inscripcion_usuario.entity';
import { MiembroContacto } from 'src/miembro-contacto/entity/miembro_contacto.entity';
import { MiembroProyecto } from 'src/miembro-proyecto/entity/miembro_proyecto.entity';
import {
Column,
Entity,
@@ -14,7 +17,7 @@ import {
@Entity()
export class Miembro {
@PrimaryGeneratedColumn()
id_usuario: number;
id_miembro: number;
@Column({ nullable: false, length: 50 })
nombre: string;
@@ -60,4 +63,20 @@ export class Miembro {
@ManyToOne(() => Carrera, (carrera) => carrera.miembro)
@JoinColumn({ name: 'id_carrera' })
carrera: Carrera;
@ManyToOne(
() => MiembroContacto, (miembroContacto) => miembroContacto.miembro
)
@JoinColumn({name: "id_miembro"})
miembroContacto: MiembroContacto
@OneToMany(
() => MiembroProyecto, (miembroProyecto) => miembroProyecto.miembro
)
miembroProyecto: MiembroProyecto
@OneToMany(
() => EquipoMiembro, (equipoMiembro) => equipoMiembro.miembro
)
equipoMiembro: EquipoMiembro
}
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { ProyectoActividadController } from './proyecto-actividad.controller';
describe('ProyectoActividadController', () => {
let controller: ProyectoActividadController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [ProyectoActividadController],
}).compile();
controller = module.get<ProyectoActividadController>(ProyectoActividadController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('proyecto-actividad')
export class ProyectoActividadController {}
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { ProyectoActividadController } from './proyecto-actividad.controller';
import { ProyectoActividadService } from './proyecto-actividad.service';
@Module({
controllers: [ProyectoActividadController],
providers: [ProyectoActividadService]
})
export class ProyectoActividadModule {}
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { ProyectoActividadService } from './proyecto-actividad.service';
describe('ProyectoActividadService', () => {
let service: ProyectoActividadService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [ProyectoActividadService],
}).compile();
service = module.get<ProyectoActividadService>(ProyectoActividadService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class ProyectoActividadService {}
+29
View File
@@ -0,0 +1,29 @@
import { MiembroProyecto } from 'src/miembro-proyecto/entity/miembro_proyecto.entity';
import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class Proyecto {
@PrimaryGeneratedColumn()
id_proyecto: number;
@Column({ length: 50 })
nombre: string;
@Column()
activo: boolean;
@Column({ length: 200 })
mision: string;
@Column({ length: 200 })
vision: string;
@Column({ length: 200 })
descripcion: string;
@ManyToOne(
() => MiembroProyecto, (miembroProyecto) => miembroProyecto.proyecto
)
@JoinColumn({name: "id_proyecto"})
miembroProyecto: MiembroProyecto
}
+18
View File
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { ProyectoController } from './proyecto.controller';
describe('ProyectoController', () => {
let controller: ProyectoController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [ProyectoController],
}).compile();
controller = module.get<ProyectoController>(ProyectoController);
});
it('should be defined', () => {
expect(controller).toBeDefined();
});
});
+4
View File
@@ -0,0 +1,4 @@
import { Controller } from '@nestjs/common';
@Controller('proyecto')
export class ProyectoController {}
+9
View File
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { ProyectoController } from './proyecto.controller';
import { ProyectoService } from './proyecto.service';
@Module({
controllers: [ProyectoController],
providers: [ProyectoService]
})
export class ProyectoModule {}
+18
View File
@@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { ProyectoService } from './proyecto.service';
describe('ProyectoService', () => {
let service: ProyectoService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [ProyectoService],
}).compile();
service = module.get<ProyectoService>(ProyectoService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
+4
View File
@@ -0,0 +1,4 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class ProyectoService {}
+10
View File
@@ -0,0 +1,10 @@
export interface SybaseConfig {
database: string;
host: string;
password: string;
username: string;
}
+7
View File
@@ -0,0 +1,7 @@
import { ConfigurableModuleBuilder } from '@nestjs/common';
import { SybaseConfig } from './sybase.config';
export const { ConfigurableModuleClass, MODULE_OPTIONS_TOKEN } =
new ConfigurableModuleBuilder<SybaseConfig>()
.setClassMethodName('forRoot')
.build();
+7
View File
@@ -0,0 +1,7 @@
import { Global, Module } from '@nestjs/common';
import { ConfigurableModuleClass } from './sybase.module-definition';
import { SybaseService } from './sybase.service';
@Global()
@Module({ providers: [SybaseService], exports: [SybaseService] })
export class SybaseModule extends ConfigurableModuleClass {}
+35
View File
@@ -0,0 +1,35 @@
import * as Sybase from 'sybase';
import {
Inject,
Injectable,
InternalServerErrorException,
} from '@nestjs/common';
import { SybaseConfig } from './sybase.config';
import { MODULE_OPTIONS_TOKEN } from './sybase.module-definition';
@Injectable()
export class SybaseService {
private db;
constructor(@Inject(MODULE_OPTIONS_TOKEN) private options: SybaseConfig) {
this.db = new Sybase(
options.host,
options.database,
options.username,
options.password,
);
}
queryDsc(consulta: string): Promise<any> {
return new Promise((resolve, reject) => {
this.db.query(consulta, (err, data) => {
console.log(consulta);
if (err) {
reject(err);
} else {
resolve(data);
}
});
});
}
}
+1 -1
View File
@@ -6,7 +6,7 @@ export class Usuario {
id_usuario: number;
@Column({ nullable: false })
name: string;
nombre: string;
@Column({ nullable: false })
password: string;