diff --git a/src/app.module.ts b/src/app.module.ts index 3a34895..eb20b31 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -9,6 +9,8 @@ import { AbonoTicketModule } from './abono-ticket/abono-ticket.module'; import { PagoKioscoModule } from './pago-kiosco/pago-kiosco.module'; import { KioscoModule } from './kiosco/kiosco.module'; import { OperationsModule } from './operations/operations.module'; +import { PagoPatronatoModule } from './pago-patronato/pago-patronato.module'; +import { NombreTransaccionModule } from './nombre-transaccion/nombre-transaccion.module'; @Module({ imports: [ @@ -36,6 +38,8 @@ import { OperationsModule } from './operations/operations.module'; PagoKioscoModule, KioscoModule, OperationsModule, + PagoPatronatoModule, + NombreTransaccionModule, ], controllers: [AppController], providers: [AppService], diff --git a/src/kiosco/entities/kiosco.entity.ts b/src/kiosco/entities/kiosco.entity.ts index 8afe3b4..37bc4b1 100644 --- a/src/kiosco/entities/kiosco.entity.ts +++ b/src/kiosco/entities/kiosco.entity.ts @@ -1,6 +1,7 @@ -import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm'; +import { PagoKiosco } from 'src/pago-kiosco/entities/pago-kiosco.entity'; +import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm'; -@Entity() +@Entity('Kiosco') export class Kiosco { @PrimaryGeneratedColumn({ type: 'int' }) idKiosco: number; @@ -37,4 +38,7 @@ export class Kiosco { @Column({ type: 'tinyint', width: 1, default: 0 }) activado: boolean; + + @OneToMany(() => PagoKiosco, (pagokiosco) => pagokiosco.kiosco) + pagoKiosco: PagoKiosco[]; } diff --git a/src/nombre-transaccion/dto/create-nombre-transaccion.dto.ts b/src/nombre-transaccion/dto/create-nombre-transaccion.dto.ts new file mode 100644 index 0000000..e216b22 --- /dev/null +++ b/src/nombre-transaccion/dto/create-nombre-transaccion.dto.ts @@ -0,0 +1 @@ +export class CreateNombreTransaccionDto {} diff --git a/src/nombre-transaccion/dto/update-nombre-transaccion.dto.ts b/src/nombre-transaccion/dto/update-nombre-transaccion.dto.ts new file mode 100644 index 0000000..01669b1 --- /dev/null +++ b/src/nombre-transaccion/dto/update-nombre-transaccion.dto.ts @@ -0,0 +1,4 @@ +import { PartialType } from '@nestjs/mapped-types'; +import { CreateNombreTransaccionDto } from './create-nombre-transaccion.dto'; + +export class UpdateNombreTransaccionDto extends PartialType(CreateNombreTransaccionDto) {} diff --git a/src/nombre-transaccion/entities/nombre-transaccion.entity.ts b/src/nombre-transaccion/entities/nombre-transaccion.entity.ts new file mode 100644 index 0000000..99f8bdd --- /dev/null +++ b/src/nombre-transaccion/entities/nombre-transaccion.entity.ts @@ -0,0 +1,14 @@ +import { Transaccion } from 'src/transaccion/entities/transaccion.entity'; +import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from 'typeorm'; + +@Entity('NombreTransaccion') +export class NombreTransaccion { + @PrimaryGeneratedColumn() + idNombreTransaccion: number; + + @Column({ type: 'varchar', length: '50' }) + nombreTransaccion: string; + + @OneToMany(() => Transaccion, (transaccion) => transaccion.nombreTransaccion) + transacciones: Transaccion[]; +} diff --git a/src/nombre-transaccion/nombre-transaccion.controller.spec.ts b/src/nombre-transaccion/nombre-transaccion.controller.spec.ts new file mode 100644 index 0000000..62ff100 --- /dev/null +++ b/src/nombre-transaccion/nombre-transaccion.controller.spec.ts @@ -0,0 +1,20 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { NombreTransaccionController } from './nombre-transaccion.controller'; +import { NombreTransaccionService } from './nombre-transaccion.service'; + +describe('NombreTransaccionController', () => { + let controller: NombreTransaccionController; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [NombreTransaccionController], + providers: [NombreTransaccionService], + }).compile(); + + controller = module.get(NombreTransaccionController); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); +}); diff --git a/src/nombre-transaccion/nombre-transaccion.controller.ts b/src/nombre-transaccion/nombre-transaccion.controller.ts new file mode 100644 index 0000000..f300183 --- /dev/null +++ b/src/nombre-transaccion/nombre-transaccion.controller.ts @@ -0,0 +1,23 @@ +import { + Controller, + Get, + Post, + Body, + Patch, + Param, + Delete, +} from '@nestjs/common'; +import { NombreTransaccionService } from './nombre-transaccion.service'; +import { CreateNombreTransaccionDto } from './dto/create-nombre-transaccion.dto'; + +@Controller('nombre-transaccion') +export class NombreTransaccionController { + constructor( + private readonly nombreTransaccionService: NombreTransaccionService, + ) {} + + @Get() + findAll() { + return this.nombreTransaccionService.findAll(); + } +} diff --git a/src/nombre-transaccion/nombre-transaccion.module.ts b/src/nombre-transaccion/nombre-transaccion.module.ts new file mode 100644 index 0000000..cbdb8f7 --- /dev/null +++ b/src/nombre-transaccion/nombre-transaccion.module.ts @@ -0,0 +1,12 @@ +import { Module } from '@nestjs/common'; +import { NombreTransaccionService } from './nombre-transaccion.service'; +import { NombreTransaccionController } from './nombre-transaccion.controller'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { NombreTransaccion } from './entities/nombre-transaccion.entity'; + +@Module({ + imports: [TypeOrmModule.forFeature([NombreTransaccion])], + controllers: [NombreTransaccionController], + providers: [NombreTransaccionService], +}) +export class NombreTransaccionModule {} diff --git a/src/nombre-transaccion/nombre-transaccion.service.spec.ts b/src/nombre-transaccion/nombre-transaccion.service.spec.ts new file mode 100644 index 0000000..aade717 --- /dev/null +++ b/src/nombre-transaccion/nombre-transaccion.service.spec.ts @@ -0,0 +1,18 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { NombreTransaccionService } from './nombre-transaccion.service'; + +describe('NombreTransaccionService', () => { + let service: NombreTransaccionService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [NombreTransaccionService], + }).compile(); + + service = module.get(NombreTransaccionService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); +}); diff --git a/src/nombre-transaccion/nombre-transaccion.service.ts b/src/nombre-transaccion/nombre-transaccion.service.ts new file mode 100644 index 0000000..44ec265 --- /dev/null +++ b/src/nombre-transaccion/nombre-transaccion.service.ts @@ -0,0 +1,30 @@ +import { Injectable, NotFoundException } from '@nestjs/common'; +import { CreateNombreTransaccionDto } from './dto/create-nombre-transaccion.dto'; +import { UpdateNombreTransaccionDto } from './dto/update-nombre-transaccion.dto'; +import { InjectRepository } from '@nestjs/typeorm'; +import { NombreTransaccion } from './entities/nombre-transaccion.entity'; +import { Repository } from 'typeorm'; + +@Injectable() +export class NombreTransaccionService { + constructor( + @InjectRepository(NombreTransaccion) + private readonly nombreTransaccionRepository: Repository, + ) {} + + findAll() { + return this.nombreTransaccionRepository.find(); + } + + findById(idNombreTransaccion: number): Promise { + const nameTransaccion = this.nombreTransaccionRepository.findOne({ + where: { idNombreTransaccion }, + }); + + if (!nameTransaccion) { + throw new NotFoundException('name transaccion not found'); + } + + return nameTransaccion; + } +} diff --git a/src/operations/operations.service.ts b/src/operations/operations.service.ts index aa0bce6..5fc0702 100644 --- a/src/operations/operations.service.ts +++ b/src/operations/operations.service.ts @@ -15,7 +15,7 @@ export class OperationsService { const today = new Date().toString(); const transaccion = { - idNombreTransaccion: 1, + idNombreTransaccion: 3, idPersona, fecha: today, tipoTransaccion: 2, diff --git a/src/pago-kiosco/entities/pago-kiosco.entity.ts b/src/pago-kiosco/entities/pago-kiosco.entity.ts index 2bab3e0..c6ef35e 100644 --- a/src/pago-kiosco/entities/pago-kiosco.entity.ts +++ b/src/pago-kiosco/entities/pago-kiosco.entity.ts @@ -4,34 +4,10 @@ import { Column, ManyToOne, JoinColumn, - OneToMany, } from 'typeorm'; import { Transaccion } from 'src/transaccion/entities/transaccion.entity'; // ajusta la ruta import { Kiosco } from 'src/kiosco/entities/kiosco.entity'; - -@Entity() -export class PagoPatronato { - @PrimaryGeneratedColumn({ type: 'int' }) - idPagoPatronato: number; - - @Column({ type: 'varchar', length: 30 }) - numeroTicket: string; - - @Column({ type: 'varchar', length: 30 }) - folio: string; - - @Column({ type: 'varchar', length: 50 }) - importeLetra: string; - - @Column({ type: 'varchar', length: 30 }) - fechaPago: string; - - @Column({ type: 'datetime', nullable: true }) - fechaEnvio: Date; - - @OneToMany(() => PagoKiosco, (pagokiosco) => pagokiosco.pagoPatronato) - pagoKiosco: PagoKiosco[]; -} +import { PagoPatronato } from 'src/pago-patronato/entities/pago-patronato.entity'; @Entity('PagoKiosco') export class PagoKiosco { @@ -40,6 +16,7 @@ export class PagoKiosco { @ManyToOne(() => Transaccion, (transacccion) => transacccion.pagoKiosco, { onDelete: 'CASCADE', + eager: true, }) @JoinColumn({ name: 'idTransaccion' }) transaccion: Transaccion; @@ -64,12 +41,14 @@ export class PagoKiosco { @ManyToOne(() => PagoPatronato, (pago) => pago.pagoKiosco, { onDelete: 'CASCADE', + eager: true, }) @JoinColumn({ name: 'idPagoPatronato' }) pagoPatronato: PagoPatronato; - @ManyToOne(() => Kiosco, (kiosco) => kiosco.idKiosco, { + @ManyToOne(() => Kiosco, (kiosco) => kiosco.pagoKiosco, { onDelete: 'CASCADE', + eager: true, }) @JoinColumn({ name: 'idKiosco' }) kiosco: Kiosco; diff --git a/src/pago-kiosco/pago-kiosco.controller.ts b/src/pago-kiosco/pago-kiosco.controller.ts index 2fa6337..bc5fddf 100644 --- a/src/pago-kiosco/pago-kiosco.controller.ts +++ b/src/pago-kiosco/pago-kiosco.controller.ts @@ -18,4 +18,9 @@ export class PagoKioscoController { create(@Body() createPagoKioscoDto: CreatePagoKioscoDto) { return this.pagoKioscoService.create(createPagoKioscoDto); } + + @Get() + all() { + return this.pagoKioscoService.all(); + } } diff --git a/src/pago-kiosco/pago-kiosco.service.ts b/src/pago-kiosco/pago-kiosco.service.ts index 3ba9dfc..7952511 100644 --- a/src/pago-kiosco/pago-kiosco.service.ts +++ b/src/pago-kiosco/pago-kiosco.service.ts @@ -11,6 +11,10 @@ export class PagoKioscoService { private readonly pagoKioscoRepository: Repository, ) {} + async all() { + return this.pagoKioscoRepository.find(); + } + async create(createPagoKiosco: CreatePagoKioscoDto) { const create = this.pagoKioscoRepository.create(createPagoKiosco); await this.pagoKioscoRepository.save(create); diff --git a/src/pago-patronato/dto/create-pago-patronato.dto.ts b/src/pago-patronato/dto/create-pago-patronato.dto.ts new file mode 100644 index 0000000..6e98141 --- /dev/null +++ b/src/pago-patronato/dto/create-pago-patronato.dto.ts @@ -0,0 +1 @@ +export class CreatePagoPatronatoDto {} diff --git a/src/pago-patronato/dto/update-pago-patronato.dto.ts b/src/pago-patronato/dto/update-pago-patronato.dto.ts new file mode 100644 index 0000000..b76f1d5 --- /dev/null +++ b/src/pago-patronato/dto/update-pago-patronato.dto.ts @@ -0,0 +1,4 @@ +import { PartialType } from '@nestjs/mapped-types'; +import { CreatePagoPatronatoDto } from './create-pago-patronato.dto'; + +export class UpdatePagoPatronatoDto extends PartialType(CreatePagoPatronatoDto) {} diff --git a/src/pago-patronato/entities/pago-patronato.entity.ts b/src/pago-patronato/entities/pago-patronato.entity.ts new file mode 100644 index 0000000..2ad24cb --- /dev/null +++ b/src/pago-patronato/entities/pago-patronato.entity.ts @@ -0,0 +1,26 @@ +import { PagoKiosco } from 'src/pago-kiosco/entities/pago-kiosco.entity'; +import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm'; + +@Entity('PagoPatronato') +export class PagoPatronato { + @PrimaryGeneratedColumn({ name: 'idPagoPatronato', type: 'int' }) + idPagoPatronato: number; + + @Column({ name: 'numeroTicket', type: 'varchar', length: 30 }) + numeroTicket: string; + + @Column({ name: 'folio', type: 'varchar', length: 30 }) + folio: string; + + @Column({ name: 'importeLetra', type: 'varchar', length: 50 }) + importeLetra: string; + + @Column({ name: 'fechaPago', type: 'varchar', length: 30 }) + fechaPago: string; + + @Column({ name: 'fechaEnvio', type: 'datetime' }) + fechaEnvio: Date; + + @OneToMany(() => PagoKiosco, (pagokiosco) => pagokiosco.pagoPatronato) + pagoKiosco: PagoKiosco[]; +} diff --git a/src/pago-patronato/pago-patronato.controller.spec.ts b/src/pago-patronato/pago-patronato.controller.spec.ts new file mode 100644 index 0000000..5129416 --- /dev/null +++ b/src/pago-patronato/pago-patronato.controller.spec.ts @@ -0,0 +1,20 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { PagoPatronatoController } from './pago-patronato.controller'; +import { PagoPatronatoService } from './pago-patronato.service'; + +describe('PagoPatronatoController', () => { + let controller: PagoPatronatoController; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [PagoPatronatoController], + providers: [PagoPatronatoService], + }).compile(); + + controller = module.get(PagoPatronatoController); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); +}); diff --git a/src/pago-patronato/pago-patronato.controller.ts b/src/pago-patronato/pago-patronato.controller.ts new file mode 100644 index 0000000..2437c27 --- /dev/null +++ b/src/pago-patronato/pago-patronato.controller.ts @@ -0,0 +1,20 @@ +import { + Controller, + Get, + Post, + Body, + Patch, + Param, + Delete, +} from '@nestjs/common'; +import { PagoPatronatoService } from './pago-patronato.service'; + +@Controller('pago-patronato') +export class PagoPatronatoController { + constructor(private readonly pagoPatronatoService: PagoPatronatoService) {} + + @Get() + findAll() { + return this.pagoPatronatoService.findAll(); + } +} diff --git a/src/pago-patronato/pago-patronato.module.ts b/src/pago-patronato/pago-patronato.module.ts new file mode 100644 index 0000000..62c6a52 --- /dev/null +++ b/src/pago-patronato/pago-patronato.module.ts @@ -0,0 +1,12 @@ +import { Module } from '@nestjs/common'; +import { PagoPatronatoService } from './pago-patronato.service'; +import { PagoPatronatoController } from './pago-patronato.controller'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { PagoPatronato } from './entities/pago-patronato.entity'; + +@Module({ + imports: [TypeOrmModule.forFeature([PagoPatronato])], + controllers: [PagoPatronatoController], + providers: [PagoPatronatoService], +}) +export class PagoPatronatoModule {} diff --git a/src/pago-patronato/pago-patronato.service.spec.ts b/src/pago-patronato/pago-patronato.service.spec.ts new file mode 100644 index 0000000..d3a6d2b --- /dev/null +++ b/src/pago-patronato/pago-patronato.service.spec.ts @@ -0,0 +1,18 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { PagoPatronatoService } from './pago-patronato.service'; + +describe('PagoPatronatoService', () => { + let service: PagoPatronatoService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [PagoPatronatoService], + }).compile(); + + service = module.get(PagoPatronatoService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); +}); diff --git a/src/pago-patronato/pago-patronato.service.ts b/src/pago-patronato/pago-patronato.service.ts new file mode 100644 index 0000000..eb89fad --- /dev/null +++ b/src/pago-patronato/pago-patronato.service.ts @@ -0,0 +1,18 @@ +import { Injectable } from '@nestjs/common'; +import { CreatePagoPatronatoDto } from './dto/create-pago-patronato.dto'; +import { UpdatePagoPatronatoDto } from './dto/update-pago-patronato.dto'; +import { InjectRepository } from '@nestjs/typeorm'; +import { PagoPatronato } from './entities/pago-patronato.entity'; +import { Repository } from 'typeorm'; + +@Injectable() +export class PagoPatronatoService { + constructor( + @InjectRepository(PagoPatronato) + private readonly pagoPatronatoRepository: Repository, + ) {} + + findAll() { + return this.pagoPatronatoRepository.find(); + } +} diff --git a/src/transaccion/entities/transaccion.entity.ts b/src/transaccion/entities/transaccion.entity.ts index 7404b56..8b86a85 100644 --- a/src/transaccion/entities/transaccion.entity.ts +++ b/src/transaccion/entities/transaccion.entity.ts @@ -9,18 +9,7 @@ import { import { Persona } from 'src/persona/entities/persona.entity'; // ajusta la ruta segĂșn tu estructura import { AbonoTicket } from 'src/abono-ticket/entities/abono-ticket.entity'; import { PagoKiosco } from 'src/pago-kiosco/entities/pago-kiosco.entity'; - -@Entity('NombreTransaccion') -export class NombreTransaccion { - @PrimaryGeneratedColumn() - idNombreTransaccion: number; - - @Column({ type: 'varchar', length: '50' }) - nombreTransaccion: string; - - @OneToMany(() => Transaccion, (transaccion) => transaccion.nombreTransaccion) - transacciones: Transaccion[]; -} +import { NombreTransaccion } from 'src/nombre-transaccion/entities/nombre-transaccion.entity'; @Entity('Transaccion') export class Transaccion { @@ -30,11 +19,12 @@ export class Transaccion { @ManyToOne( () => NombreTransaccion, (nombreTransaccion) => nombreTransaccion.transacciones, + { eager: true }, ) @JoinColumn({ name: 'idNombreTransaccion' }) nombreTransaccion: NombreTransaccion; - @ManyToOne(() => Persona, (people) => people.transacciones) + @ManyToOne(() => Persona, (people) => people.transacciones, { eager: true }) @JoinColumn({ name: 'idPersona' }) persona: Persona; diff --git a/src/transaccion/transaccion.service.ts b/src/transaccion/transaccion.service.ts index f3f7bae..741d987 100644 --- a/src/transaccion/transaccion.service.ts +++ b/src/transaccion/transaccion.service.ts @@ -16,6 +16,8 @@ export class TransaccionService { } async create(createTransaccion: CreateTransaccionDto): Promise { + const { idNombreTransaccion } = createTransaccion; + const create = this.transaccionRepository.create(createTransaccion); return await this.transaccionRepository.save(create); }