From 63e1d3183eab095ad6effdc2d1313a8ea13a751a Mon Sep 17 00:00:00 2001 From: miguel Date: Mon, 16 Jun 2025 12:23:49 -0600 Subject: [PATCH] Add TypeORM integration and seed method for TipoCuestionario --- .../tipo_cuestionario.module.ts | 3 ++ .../tipo_cuestionario.service.ts | 31 +++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/tipo_cuestionario/tipo_cuestionario.module.ts b/src/tipo_cuestionario/tipo_cuestionario.module.ts index 00cf32e..a89696d 100644 --- a/src/tipo_cuestionario/tipo_cuestionario.module.ts +++ b/src/tipo_cuestionario/tipo_cuestionario.module.ts @@ -1,8 +1,11 @@ import { Module } from '@nestjs/common'; import { TipoCuestionarioService } from './tipo_cuestionario.service'; import { TipoCuestionarioController } from './tipo_cuestionario.controller'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { TipoCuestionario } from './entities/tipo_cuestionario.entity'; @Module({ + imports: [TypeOrmModule.forFeature([TipoCuestionario])], controllers: [TipoCuestionarioController], providers: [TipoCuestionarioService], }) diff --git a/src/tipo_cuestionario/tipo_cuestionario.service.ts b/src/tipo_cuestionario/tipo_cuestionario.service.ts index ba3da92..c15a3a5 100644 --- a/src/tipo_cuestionario/tipo_cuestionario.service.ts +++ b/src/tipo_cuestionario/tipo_cuestionario.service.ts @@ -1,9 +1,40 @@ import { Injectable } from '@nestjs/common'; import { CreateTipoCuestionarioDto } from './dto/create-tipo_cuestionario.dto'; import { UpdateTipoCuestionarioDto } from './dto/update-tipo_cuestionario.dto'; +import { InjectRepository } from '@nestjs/typeorm'; +import { + TipoCuestionario, + TipoCuestionarioEnum, +} from './entities/tipo_cuestionario.entity'; +import { Repository } from 'typeorm'; @Injectable() export class TipoCuestionarioService { + constructor( + @InjectRepository(TipoCuestionario) + private tipoCuestionarioRepository: Repository, + ) {} + + async onModuleInit() { + await this.seedTipoCuestionarios(); + } + + private async seedTipoCuestionarios() { + const enumValues = Object.values(TipoCuestionarioEnum); + + for (const tipoCuestionario of enumValues) { + const existingTipo = await this.tipoCuestionarioRepository.findOne({ + where: { tipo_cuestionario: tipoCuestionario }, + }); + + if (!existingTipo) { + await this.tipoCuestionarioRepository.save({ + tipo_cuestionario: tipoCuestionario, + }); + } + } + } + create(createTipoCuestionarioDto: CreateTipoCuestionarioDto) { return 'This action adds a new tipoCuestionario'; }