variables de entorno, correcciones de codigo actual, docker file
This commit is contained in:
+23
@@ -0,0 +1,23 @@
|
||||
# Etapa de construcción
|
||||
FROM node:22-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
|
||||
COPY . .
|
||||
RUN npm run build
|
||||
|
||||
# Etapa de producción
|
||||
FROM node:20-alpine AS production
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=builder /app/node_modules ./node_modules
|
||||
COPY --from=builder /app/dist ./dist
|
||||
COPY --from=builder /app/package*.json ./
|
||||
|
||||
EXPOSE 4100
|
||||
|
||||
CMD ["node", "dist/main"]
|
||||
@@ -0,0 +1,28 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
mariadb:
|
||||
image: mariadb:latest
|
||||
container_name: formularios_db
|
||||
ports:
|
||||
- "4201:3306"
|
||||
environment:
|
||||
MARIADB_ROOT_PASSWORD: mypass
|
||||
MARIADB_DATABASE: formularios_test
|
||||
volumes:
|
||||
- mariadb_data:/var/lib/mysql
|
||||
|
||||
api:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: formularios_api
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- "4200:3000"
|
||||
depends_on:
|
||||
- mariadb
|
||||
|
||||
volumes:
|
||||
mariadb_data:
|
||||
+9
-4
@@ -29,7 +29,7 @@ import { ParticipanteEventoModule } from './participante_evento/participante_eve
|
||||
imports: [
|
||||
ConfigModule.forRoot(),
|
||||
TypeOrmModule.forRoot({
|
||||
/*
|
||||
|
||||
type: 'mysql',
|
||||
host: process.env.db_host, //process.env.db_host
|
||||
username: process.env.db_username,
|
||||
@@ -40,16 +40,21 @@ import { ParticipanteEventoModule } from './participante_evento/participante_eve
|
||||
dropSchema: true, // elimina la base de datos
|
||||
// logging: true, // Habilita los logs para depuración
|
||||
autoLoadEntities: true, // Carga automáticamente las entidades
|
||||
*/
|
||||
|
||||
//esta es mi base de datos local
|
||||
|
||||
/*
|
||||
type: 'mysql',
|
||||
host: 'localhost',
|
||||
port: 3306, //3306
|
||||
username: 'root',
|
||||
password: 'admin', //admin
|
||||
database: 'cidwa', //nestdb
|
||||
entities: [__dirname + '/**/*.entity{.ts,.js}'],
|
||||
synchronize: true,
|
||||
*/
|
||||
// entities: [__dirname + '/**/*.entity{.ts,.js}'],
|
||||
// synchronize: true,
|
||||
|
||||
|
||||
//extra
|
||||
retryAttempts: 10, // Intentos para reconectar
|
||||
retryDelay: 3000, // Tiempo entre reintentos
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { CuestionarioService } from './cuestionario.service';
|
||||
import { CuestionarioController } from './cuestionario.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { Cuestionario } from './entities/cuestionario.entity';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([Cuestionario])],
|
||||
controllers: [CuestionarioController],
|
||||
providers: [CuestionarioService],
|
||||
exports: [TypeOrmModule]
|
||||
})
|
||||
export class CuestionarioModule {}
|
||||
|
||||
@@ -31,14 +31,12 @@ export class Cuestionario {
|
||||
@OneToMany(() => CuestionarioSeccion,(cuestionario_seccion) => cuestionario_seccion.id_cuestionario)
|
||||
cuestionarioSeccion:CuestionarioSeccion[]
|
||||
|
||||
@OneToMany(()=> Cuestionario, (cuestionario) => cuestionario.id_cuestionario)
|
||||
@Column({ type: 'int' })
|
||||
@Column({ type: 'int', nullable: true })
|
||||
id_cuestionario_original: number;
|
||||
|
||||
@OneToMany(()=> TipoCuestionario, (tipo_cuestionario) => tipo_cuestionario.id_tipo_cuestionario )
|
||||
@Column({ type: 'int' })
|
||||
id_tipo_cuestionario: number;
|
||||
|
||||
@ManyToOne(()=> Cuestionario, (cuestionario) => cuestionario.id_cuestionario)
|
||||
Cuestionario: Cuestionario[];
|
||||
@ManyToOne(()=> Cuestionario)
|
||||
cuestionarioOriginal: Cuestionario;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,19 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { CuestionarioRespondidoService } from './cuestionario_respondido.service';
|
||||
import { CuestionarioRespondidoController } from './cuestionario_respondido.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { CuestionarioRespondido } from './entities/cuestionario_respondido.entity';
|
||||
import { CuestionarioModule } from '../cuestionario/cuestionario.module';
|
||||
import { ParticipanteModule } from '../participante/participante.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([CuestionarioRespondido]),
|
||||
CuestionarioModule,
|
||||
ParticipanteModule
|
||||
],
|
||||
controllers: [CuestionarioRespondidoController],
|
||||
providers: [CuestionarioRespondidoService],
|
||||
exports: [TypeOrmModule]
|
||||
})
|
||||
export class CuestionarioRespondidoModule {}
|
||||
|
||||
@@ -16,18 +16,18 @@ export class CuestionarioRespondido {
|
||||
// Relación con Participante
|
||||
@ManyToOne(() => Participante, participante => participante.cuestionariosRespondidos)
|
||||
@JoinColumn({ name: 'id_participante' })
|
||||
id_participante: Participante;
|
||||
participante: Participante;
|
||||
|
||||
// Relación con Cuestionario
|
||||
@ManyToOne(() => Cuestionario, cuestionario => cuestionario.id_cuestionario)
|
||||
@ManyToOne(() => Cuestionario)
|
||||
@JoinColumn({ name: 'id_cuestionario' })
|
||||
id_cuestionario: Cuestionario;
|
||||
cuestionario: Cuestionario;
|
||||
|
||||
// Relación con RespuestasCerradas
|
||||
@OneToMany(() => RespuestaParticipanteCerrada, respuestaCerrada => respuestaCerrada.id_cuestionario_respondido)
|
||||
@OneToMany(() => RespuestaParticipanteCerrada, respuestaCerrada => respuestaCerrada.cuestionarioRespondido)
|
||||
respuestasCerradas: RespuestaParticipanteCerrada[];
|
||||
|
||||
// Relación con RespuestasAbiertas
|
||||
@OneToMany(() => RespuestaParticipanteAbierta, respuestaAbierta => respuestaAbierta.id_cuestionario_respondido)
|
||||
@OneToMany(() => RespuestaParticipanteAbierta, respuestaAbierta => respuestaAbierta.cuestionarioRespondido)
|
||||
respuestasAbiertas: RespuestaParticipanteAbierta[];
|
||||
}
|
||||
@@ -1,9 +1,19 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { CuestionarioSeccionService } from './cuestionario_seccion.service';
|
||||
import { CuestionarioSeccionController } from './cuestionario_seccion.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { CuestionarioSeccion } from './entities/cuestionario_seccion.entity';
|
||||
import { CuestionarioModule } from '../cuestionario/cuestionario.module';
|
||||
import { SeccionModule } from '../seccion/seccion.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([CuestionarioSeccion]),
|
||||
CuestionarioModule,
|
||||
SeccionModule
|
||||
],
|
||||
controllers: [CuestionarioSeccionController],
|
||||
providers: [CuestionarioSeccionService],
|
||||
exports: [TypeOrmModule]
|
||||
})
|
||||
export class CuestionarioSeccionModule {}
|
||||
|
||||
@@ -11,11 +11,15 @@ export class CuestionarioSeccion {
|
||||
posicion: number;
|
||||
|
||||
|
||||
@ManyToOne(() => Cuestionario, (cuestionario) => cuestionario.id_cuestionario)
|
||||
@ManyToOne(() => Cuestionario, (cuestionario) => cuestionario.cuestionarioSeccion)
|
||||
cuestionario: Cuestionario;
|
||||
|
||||
@Column({ type: 'int' })
|
||||
id_cuestionario: number;
|
||||
|
||||
@ManyToOne(() => Seccion, (seccion) => seccion.id_seccion)
|
||||
@ManyToOne(() => Seccion, (seccion) => seccion.seccion)
|
||||
seccion: Seccion;
|
||||
|
||||
@Column({type:'int'})
|
||||
id_seccion:number;
|
||||
}
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ async function bootstrap() {
|
||||
|
||||
DocsModule.setupSwagger(app);
|
||||
|
||||
await app.listen(3000);
|
||||
await app.listen(process.env.PORT ?? 3000);
|
||||
console.log('API en ejecución en http://localhost:3000');
|
||||
console.log('Swagger disponible en http://localhost:3000/api-docs');
|
||||
}
|
||||
|
||||
@@ -9,8 +9,8 @@ export class Opcion {
|
||||
@Column({ type: String, nullable: false, length: 200, default: '' })
|
||||
opcion: string;
|
||||
|
||||
@OneToMany(() => PreguntaOpcion, (preguntaOpcion) => preguntaOpcion.id_opcion)
|
||||
Preguntas: PreguntaOpcion[];
|
||||
@OneToMany(() => PreguntaOpcion, (preguntaOpcion) => preguntaOpcion.opcion)
|
||||
preguntasOpciones: PreguntaOpcion[];
|
||||
|
||||
|
||||
}
|
||||
@@ -8,6 +8,6 @@ import { Opcion } from './entities/opcion.entity';
|
||||
imports: [TypeOrmModule.forFeature([Opcion])], // Importa el repositorio de Opcion
|
||||
controllers: [OpcionController],
|
||||
providers: [OpcionService],
|
||||
exports: [OpcionService]
|
||||
exports: [OpcionService, TypeOrmModule]
|
||||
})
|
||||
export class OpcionModule {}
|
||||
|
||||
@@ -39,7 +39,7 @@ export class Participante {
|
||||
|
||||
|
||||
|
||||
@OneToMany(() => CuestionarioRespondido, cuestionario => cuestionario.id_participante)
|
||||
@OneToMany(() => CuestionarioRespondido, cuestionario => cuestionario.participante)
|
||||
cuestionariosRespondidos: CuestionarioRespondido[];
|
||||
|
||||
@OneToMany(() => ParticipanteEvento, participanteEvento => participanteEvento.participante)
|
||||
|
||||
@@ -8,6 +8,6 @@ import { Participante } from './participante.entity';
|
||||
imports: [TypeOrmModule.forFeature([Participante])],
|
||||
controllers: [ParticipanteController],
|
||||
providers: [ParticipanteService],
|
||||
exports: [ParticipanteService],
|
||||
exports: [ParticipanteService, TypeOrmModule],
|
||||
})
|
||||
export class ParticipanteModule {}
|
||||
|
||||
@@ -20,14 +20,17 @@ export class Pregunta {
|
||||
|
||||
@ManyToOne(() => TipoPregunta, tipo => tipo.preguntas)
|
||||
@JoinColumn({ name: 'id_tipo_pregunta' })
|
||||
id_tipo_pregunta: TipoPregunta;
|
||||
tipoPregunta: TipoPregunta;
|
||||
|
||||
@Column()
|
||||
id_tipo_pregunta: number;
|
||||
|
||||
@Column({ nullable: true })
|
||||
id_opcion_dependiente: number;
|
||||
|
||||
@OneToMany(() => SeccionPregunta, seccionPregunta => seccionPregunta.id_pregunta)
|
||||
@OneToMany(() => SeccionPregunta, seccionPregunta => seccionPregunta.pregunta)
|
||||
seccionPreguntas: SeccionPregunta[];
|
||||
|
||||
@OneToMany(() => PreguntaOpcion, preguntaOpcion => preguntaOpcion.id_pregunta)
|
||||
@OneToMany(() => PreguntaOpcion, preguntaOpcion => preguntaOpcion.pregunta)
|
||||
opciones: PreguntaOpcion[];
|
||||
}
|
||||
@@ -1,9 +1,17 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { PreguntaService } from './pregunta.service';
|
||||
import { PreguntaController } from './pregunta.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { Pregunta } from './entities/pregunta.entity';
|
||||
import { TipoPreguntaModule } from '../tipo_pregunta/tipo_pregunta.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([Pregunta]),
|
||||
TipoPreguntaModule
|
||||
],
|
||||
controllers: [PreguntaController],
|
||||
providers: [PreguntaService],
|
||||
exports: [TypeOrmModule]
|
||||
})
|
||||
export class PreguntaModule {}
|
||||
|
||||
@@ -12,14 +12,15 @@ export class PreguntaOpcion {
|
||||
@Column()
|
||||
posicion: number;
|
||||
|
||||
@ManyToOne(() => Pregunta, pregunta => pregunta.id_pregunta)
|
||||
//@Column()
|
||||
id_pregunta: Pregunta;
|
||||
@ManyToOne(() => Pregunta)
|
||||
pregunta: Pregunta;
|
||||
|
||||
@Column()
|
||||
id_pregunta: number;
|
||||
|
||||
@ManyToOne(() => Opcion, opcion => opcion.id_opcion)
|
||||
//@Column()
|
||||
id_opcion: Opcion;
|
||||
@ManyToOne(() => Opcion, opcion => opcion.preguntasOpciones)
|
||||
opcion: Opcion;
|
||||
|
||||
@OneToMany(()=> RespuestaParticipanteCerrada, respuestaParticipanteCerrada=>respuestaParticipanteCerrada.id_pregunta_opcion)
|
||||
@OneToMany(()=> RespuestaParticipanteCerrada, respuestaParticipanteCerrada=>respuestaParticipanteCerrada.preguntaOpcion)
|
||||
respuestaParticipanteCerrada:RespuestaParticipanteCerrada[];
|
||||
}
|
||||
@@ -1,9 +1,19 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { PreguntaOpcionService } from './pregunta_opcion.service';
|
||||
import { PreguntaOpcionController } from './pregunta_opcion.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { PreguntaOpcion } from './entities/pregunta_opcion.entity';
|
||||
import { OpcionModule } from '../opcion/opcion.module';
|
||||
import { PreguntaModule } from '../pregunta/pregunta.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([PreguntaOpcion]),
|
||||
OpcionModule,
|
||||
PreguntaModule
|
||||
],
|
||||
controllers: [PreguntaOpcionController],
|
||||
providers: [PreguntaOpcionService],
|
||||
exports: [TypeOrmModule]
|
||||
})
|
||||
export class PreguntaOpcionModule {}
|
||||
|
||||
+4
-7
@@ -14,17 +14,14 @@ export class RespuestaParticipanteAbierta {
|
||||
// Relación con CuestionarioRespondido
|
||||
@ManyToOne(
|
||||
() => CuestionarioRespondido,
|
||||
cuestionarioRespondido => cuestionarioRespondido.idCuestionarioRespondido
|
||||
cuestionarioRespondido => cuestionarioRespondido.respuestasAbiertas
|
||||
)
|
||||
@JoinColumn({ name: 'id_cuestionario_respondido' })
|
||||
id_cuestionario_respondido: CuestionarioRespondido;
|
||||
cuestionarioRespondido: CuestionarioRespondido;
|
||||
|
||||
@ManyToOne(
|
||||
() => Pregunta,
|
||||
pregunta => pregunta.id_pregunta
|
||||
)
|
||||
@ManyToOne(() => Pregunta)
|
||||
@JoinColumn({ name: 'id_pregunta' })
|
||||
id_pregunta: Pregunta;
|
||||
pregunta: Pregunta;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,9 +1,19 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { RespuestaParticipanteAbiertaService } from './respuesta_participante_abierta.service';
|
||||
import { RespuestaParticipanteAbiertaController } from './respuesta_participante_abierta.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { RespuestaParticipanteAbierta } from './entities/respuesta_participante_abierta.entity';
|
||||
import { CuestionarioRespondidoModule } from '../cuestionario_respondido/cuestionario_respondido.module';
|
||||
import { PreguntaModule } from '../pregunta/pregunta.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([RespuestaParticipanteAbierta]),
|
||||
CuestionarioRespondidoModule,
|
||||
PreguntaModule
|
||||
],
|
||||
controllers: [RespuestaParticipanteAbiertaController],
|
||||
providers: [RespuestaParticipanteAbiertaService],
|
||||
exports: [TypeOrmModule]
|
||||
})
|
||||
export class RespuestaParticipanteAbiertaModule {}
|
||||
|
||||
+3
-3
@@ -10,11 +10,11 @@ export class RespuestaParticipanteCerrada {
|
||||
|
||||
@ManyToOne(() => CuestionarioRespondido, cuestionarioRespondido => cuestionarioRespondido.respuestasCerradas)
|
||||
@JoinColumn({ name: 'id_cuestionario_respondido' })
|
||||
id_cuestionario_respondido: CuestionarioRespondido;
|
||||
cuestionarioRespondido: CuestionarioRespondido;
|
||||
|
||||
@ManyToOne(() => PreguntaOpcion, preguntaOpcion => preguntaOpcion.id_pregunta_opcion)
|
||||
@ManyToOne(() => PreguntaOpcion, preguntaOpcion => preguntaOpcion.respuestaParticipanteCerrada)
|
||||
@JoinColumn({ name: 'id_pregunta_opcion' })
|
||||
id_pregunta_opcion: PreguntaOpcion;
|
||||
preguntaOpcion: PreguntaOpcion;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,9 +1,19 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { RespuestaParticipanteCerradaService } from './respuesta_participante_cerrada.service';
|
||||
import { RespuestaParticipanteCerradaController } from './respuesta_participante_cerrada.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { RespuestaParticipanteCerrada } from './entities/respuesta_participante_cerrada.entity';
|
||||
import { PreguntaOpcionModule } from '../pregunta_opcion/pregunta_opcion.module';
|
||||
import { CuestionarioRespondidoModule } from '../cuestionario_respondido/cuestionario_respondido.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([RespuestaParticipanteCerrada]),
|
||||
PreguntaOpcionModule,
|
||||
CuestionarioRespondidoModule
|
||||
],
|
||||
controllers: [RespuestaParticipanteCerradaController],
|
||||
providers: [RespuestaParticipanteCerradaService],
|
||||
exports: [TypeOrmModule]
|
||||
})
|
||||
export class RespuestaParticipanteCerradaModule {}
|
||||
|
||||
@@ -19,6 +19,6 @@ export class Seccion {
|
||||
@OneToMany(() => CuestionarioSeccion,(cuestionario_seccion) => cuestionario_seccion.id_seccion )
|
||||
seccion:CuestionarioSeccion[];
|
||||
|
||||
@OneToMany(()=> SeccionPregunta, (seccion_pregunta)=> seccion_pregunta.id_seccion)
|
||||
seccion_pregunta:SeccionPregunta[];
|
||||
@OneToMany(()=> SeccionPregunta, (seccion_pregunta)=> seccion_pregunta.seccion)
|
||||
seccionPreguntas:SeccionPregunta[];
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { SeccionService } from './seccion.service';
|
||||
import { SeccionController } from './seccion.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { Seccion } from './entities/seccion.entity';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([Seccion])],
|
||||
controllers: [SeccionController],
|
||||
providers: [SeccionService],
|
||||
exports: [TypeOrmModule]
|
||||
})
|
||||
export class SeccionModule {}
|
||||
|
||||
@@ -11,11 +11,15 @@ export class SeccionPregunta {
|
||||
@Column({ type: 'tinyint' })
|
||||
posicion: number;
|
||||
|
||||
@ManyToOne(() => Pregunta, (pregunta) => pregunta.id_pregunta)
|
||||
@ManyToOne(() => Pregunta, (pregunta) => pregunta.seccionPreguntas)
|
||||
pregunta: Pregunta;
|
||||
|
||||
@Column({ type: 'int' })
|
||||
id_pregunta: number;
|
||||
|
||||
@ManyToOne(() => Seccion, (seccion) => seccion.id_seccion)
|
||||
@ManyToOne(() => Seccion, (seccion) => seccion.seccionPreguntas)
|
||||
seccion: Seccion;
|
||||
|
||||
@Column({ type: 'int' })
|
||||
id_seccion: number;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,19 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { SeccionPreguntaService } from './seccion_pregunta.service';
|
||||
import { SeccionPreguntaController } from './seccion_pregunta.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { SeccionPregunta } from './entities/seccion_pregunta.entity';
|
||||
import { PreguntaModule } from '../pregunta/pregunta.module';
|
||||
import { SeccionModule } from '../seccion/seccion.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([SeccionPregunta]),
|
||||
PreguntaModule,
|
||||
SeccionModule
|
||||
],
|
||||
controllers: [SeccionPreguntaController],
|
||||
providers: [SeccionPreguntaService],
|
||||
exports: [TypeOrmModule]
|
||||
})
|
||||
export class SeccionPreguntaModule {}
|
||||
|
||||
@@ -9,6 +9,6 @@ export class TipoPregunta {
|
||||
@Column()
|
||||
tipo_pregunta: string;
|
||||
|
||||
@OneToMany(() => Pregunta, pregunta => pregunta.id_tipo_pregunta)
|
||||
@OneToMany(() => Pregunta, pregunta => pregunta.tipoPregunta)
|
||||
preguntas: Pregunta[];
|
||||
}
|
||||
@@ -1,9 +1,13 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TipoPreguntaService } from './tipo_pregunta.service';
|
||||
import { TipoPreguntaController } from './tipo_pregunta.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { TipoPregunta } from './entities/tipo_pregunta.entity';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([TipoPregunta])],
|
||||
controllers: [TipoPreguntaController],
|
||||
providers: [TipoPreguntaService],
|
||||
exports: [TypeOrmModule]
|
||||
})
|
||||
export class TipoPreguntaModule {}
|
||||
|
||||
Reference in New Issue
Block a user