From 59d3ec14902b189d06fee088d024fa6ee4006f21 Mon Sep 17 00:00:00 2001 From: IO <320154041@pcpuma.acatlan.unam.mx> Date: Mon, 23 Feb 2026 14:37:55 -0600 Subject: [PATCH] added new table costo --- src/app.module.ts | 6 +++++- src/costo/costo.controller.spec.ts | 20 ++++++++++++++++++++ src/costo/costo.controller.ts | 13 +++++++++++++ src/costo/costo.module.ts | 12 ++++++++++++ src/costo/costo.service.spec.ts | 18 ++++++++++++++++++ src/costo/costo.service.ts | 14 ++++++++++++++ src/costo/dto/create-costo.dto.ts | 1 + src/costo/dto/update-costo.dto.ts | 4 ++++ src/costo/entities/costo.entity.ts | 21 +++++++++++++++++++++ 9 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 src/costo/costo.controller.spec.ts create mode 100644 src/costo/costo.controller.ts create mode 100644 src/costo/costo.module.ts create mode 100644 src/costo/costo.service.spec.ts create mode 100644 src/costo/costo.service.ts create mode 100644 src/costo/dto/create-costo.dto.ts create mode 100644 src/costo/dto/update-costo.dto.ts create mode 100644 src/costo/entities/costo.entity.ts diff --git a/src/app.module.ts b/src/app.module.ts index 35303ba..f227fe2 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -43,6 +43,8 @@ import { BitacoraModule } from './bitacora/bitacora.module'; import { Bitacora } from './bitacora/entities/bitacora.entity'; import { MensajeModule } from './mensaje/mensaje.module'; import { Mensaje } from './mensaje/entities/mensaje.entity'; +import { CostoModule } from './costo/costo.module'; +import { Costo } from './costo/entities/costo.entity'; @Module({ imports: [ @@ -79,7 +81,8 @@ import { Mensaje } from './mensaje/entities/mensaje.entity'; ProgramaEquipo, BitacoraMesa, Bitacora, - Mensaje + Mensaje, + Costo, ], synchronize: false, //Never change to true in production! }), @@ -103,6 +106,7 @@ import { Mensaje } from './mensaje/entities/mensaje.entity'; BitacoraMesaModule, BitacoraModule, MensajeModule, + CostoModule, ], controllers: [AppController], providers: [AppService], diff --git a/src/costo/costo.controller.spec.ts b/src/costo/costo.controller.spec.ts new file mode 100644 index 0000000..d856a40 --- /dev/null +++ b/src/costo/costo.controller.spec.ts @@ -0,0 +1,20 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { CostoController } from './costo.controller'; +import { CostoService } from './costo.service'; + +describe('CostoController', () => { + let controller: CostoController; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + controllers: [CostoController], + providers: [CostoService], + }).compile(); + + controller = module.get(CostoController); + }); + + it('should be defined', () => { + expect(controller).toBeDefined(); + }); +}); diff --git a/src/costo/costo.controller.ts b/src/costo/costo.controller.ts new file mode 100644 index 0000000..aa253bc --- /dev/null +++ b/src/costo/costo.controller.ts @@ -0,0 +1,13 @@ +import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common'; +import { CostoService } from './costo.service'; + +@Controller('costo') +export class CostoController { + constructor(private readonly costoService: CostoService) {} + + @Get() + findAll() { + return this.costoService.findAll(); + } + +} diff --git a/src/costo/costo.module.ts b/src/costo/costo.module.ts new file mode 100644 index 0000000..4df0ec8 --- /dev/null +++ b/src/costo/costo.module.ts @@ -0,0 +1,12 @@ +import { Module } from '@nestjs/common'; +import { CostoService } from './costo.service'; +import { CostoController } from './costo.controller'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { Costo } from './entities/costo.entity'; + +@Module({ + imports:[TypeOrmModule.forFeature([Costo])], + controllers: [CostoController], + providers: [CostoService], +}) +export class CostoModule {} diff --git a/src/costo/costo.service.spec.ts b/src/costo/costo.service.spec.ts new file mode 100644 index 0000000..1d0cddd --- /dev/null +++ b/src/costo/costo.service.spec.ts @@ -0,0 +1,18 @@ +import { Test, TestingModule } from '@nestjs/testing'; +import { CostoService } from './costo.service'; + +describe('CostoService', () => { + let service: CostoService; + + beforeEach(async () => { + const module: TestingModule = await Test.createTestingModule({ + providers: [CostoService], + }).compile(); + + service = module.get(CostoService); + }); + + it('should be defined', () => { + expect(service).toBeDefined(); + }); +}); diff --git a/src/costo/costo.service.ts b/src/costo/costo.service.ts new file mode 100644 index 0000000..a974a81 --- /dev/null +++ b/src/costo/costo.service.ts @@ -0,0 +1,14 @@ +import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Costo } from './entities/costo.entity'; +import { Repository } from 'typeorm'; + +@Injectable() +export class CostoService { + constructor(@InjectRepository(Costo) + private readonly CostoRepository: Repository) { } + findAll() { + return this.CostoRepository.find(); + } + +} diff --git a/src/costo/dto/create-costo.dto.ts b/src/costo/dto/create-costo.dto.ts new file mode 100644 index 0000000..69018e4 --- /dev/null +++ b/src/costo/dto/create-costo.dto.ts @@ -0,0 +1 @@ +export class CreateCostoDto {} diff --git a/src/costo/dto/update-costo.dto.ts b/src/costo/dto/update-costo.dto.ts new file mode 100644 index 0000000..a03a983 --- /dev/null +++ b/src/costo/dto/update-costo.dto.ts @@ -0,0 +1,4 @@ +import { PartialType } from '@nestjs/mapped-types'; +import { CreateCostoDto } from './create-costo.dto'; + +export class UpdateCostoDto extends PartialType(CreateCostoDto) {} diff --git a/src/costo/entities/costo.entity.ts b/src/costo/entities/costo.entity.ts new file mode 100644 index 0000000..53b7680 --- /dev/null +++ b/src/costo/entities/costo.entity.ts @@ -0,0 +1,21 @@ +import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm'; + +@Entity('costo') +export class Costo { + + @PrimaryGeneratedColumn() + id_costo: number; + + @Column('decimal', { precision: 10, scale: 2 }) + costo: number; + + @Column({ type: 'int' }) + id_servicio: number; + + @Column({ + type: 'timestamp', + default: () => 'CURRENT_TIMESTAMP', + }) + fecha_registro: Date; + +} \ No newline at end of file