diff --git a/src/nombre-transaccion/nombre-transaccion.module.ts b/src/nombre-transaccion/nombre-transaccion.module.ts index cbdb8f7..b52ed35 100644 --- a/src/nombre-transaccion/nombre-transaccion.module.ts +++ b/src/nombre-transaccion/nombre-transaccion.module.ts @@ -8,5 +8,6 @@ import { NombreTransaccion } from './entities/nombre-transaccion.entity'; imports: [TypeOrmModule.forFeature([NombreTransaccion])], controllers: [NombreTransaccionController], providers: [NombreTransaccionService], + exports: [NombreTransaccionService], }) export class NombreTransaccionModule {} diff --git a/src/nombre-transaccion/nombre-transaccion.service.ts b/src/nombre-transaccion/nombre-transaccion.service.ts index 44ec265..195b38e 100644 --- a/src/nombre-transaccion/nombre-transaccion.service.ts +++ b/src/nombre-transaccion/nombre-transaccion.service.ts @@ -16,13 +16,13 @@ export class NombreTransaccionService { return this.nombreTransaccionRepository.find(); } - findById(idNombreTransaccion: number): Promise { - const nameTransaccion = this.nombreTransaccionRepository.findOne({ + async findById(idNombreTransaccion: number): Promise { + const nameTransaccion = await this.nombreTransaccionRepository.findOne({ where: { idNombreTransaccion }, }); if (!nameTransaccion) { - throw new NotFoundException('name transaccion not found'); + throw new NotFoundException('name transaction not found'); } return nameTransaccion; diff --git a/src/persona/persona.service.ts b/src/persona/persona.service.ts index 98f2cc5..6bfa11d 100644 --- a/src/persona/persona.service.ts +++ b/src/persona/persona.service.ts @@ -31,12 +31,13 @@ export class PersonaService { return this.personaRepository.save(persona); } - async findById(idPersona): Promise { + async findById(idPersona: number): Promise { const user = await this.personaRepository.findOne({ where: { idPersona } }); if (!user) { throw new NotFoundException('user not found'); } + return user; } diff --git a/src/transaccion/entities/transaccion.entity.ts b/src/transaccion/entities/transaccion.entity.ts index 8b86a85..b9e2f36 100644 --- a/src/transaccion/entities/transaccion.entity.ts +++ b/src/transaccion/entities/transaccion.entity.ts @@ -36,7 +36,7 @@ export class Transaccion { @Column({ type: 'enum', - enum: ['deposito', 'retiro', 'transferencia', 'ajuste'], + enum: ['PagoKiosco'], }) tipoTransaccion: number; diff --git a/src/transaccion/transaccion.module.ts b/src/transaccion/transaccion.module.ts index 6651ad3..ea90e5b 100644 --- a/src/transaccion/transaccion.module.ts +++ b/src/transaccion/transaccion.module.ts @@ -3,9 +3,15 @@ import { TransaccionService } from './transaccion.service'; import { TransaccionController } from './transaccion.controller'; import { TypeOrmModule } from '@nestjs/typeorm'; import { Transaccion } from './entities/transaccion.entity'; +import { NombreTransaccionModule } from 'src/nombre-transaccion/nombre-transaccion.module'; +import { PersonaModule } from 'src/persona/persona.module'; @Module({ - imports: [TypeOrmModule.forFeature([Transaccion])], + imports: [ + TypeOrmModule.forFeature([Transaccion]), + NombreTransaccionModule, + PersonaModule, + ], controllers: [TransaccionController], providers: [TransaccionService], exports: [TransaccionService], diff --git a/src/transaccion/transaccion.service.ts b/src/transaccion/transaccion.service.ts index 741d987..28e62e1 100644 --- a/src/transaccion/transaccion.service.ts +++ b/src/transaccion/transaccion.service.ts @@ -3,12 +3,16 @@ import { CreateTransaccionDto } from './dto/create-transaccion.dto'; import { InjectRepository } from '@nestjs/typeorm'; import { Transaccion } from './entities/transaccion.entity'; import { Repository } from 'typeorm'; +import { NombreTransaccionService } from 'src/nombre-transaccion/nombre-transaccion.service'; +import { PersonaService } from 'src/persona/persona.service'; @Injectable() export class TransaccionService { constructor( @InjectRepository(Transaccion) private readonly transaccionRepository: Repository, + private readonly nombreTransaccionService: NombreTransaccionService, + private readonly personaService: PersonaService, ) {} async all() { @@ -16,9 +20,20 @@ export class TransaccionService { } async create(createTransaccion: CreateTransaccionDto): Promise { - const { idNombreTransaccion } = createTransaccion; - - const create = this.transaccionRepository.create(createTransaccion); + const { idNombreTransaccion, idPersona, ...rest } = createTransaccion; + + const nombreTransaccion = + this.nombreTransaccionService.findById(idNombreTransaccion); + + const persona = this.personaService.findById(idPersona); + + const data = { + nombreTransaccion: await nombreTransaccion, + persona: await persona, + ...rest, + }; + + const create = this.transaccionRepository.create(data); return await this.transaccionRepository.save(create); } }