Add cupo_maximo field and related validations to cuestionario and evento modules
This commit is contained in:
@@ -32,7 +32,7 @@ export class CuestionarioController {
|
||||
return this.cuestionarioService.create(createCuestionarioDto);
|
||||
}
|
||||
|
||||
@Post('evento')
|
||||
@Post('withEvento')
|
||||
@CuestionarioApiDocumentation.ApiCreateWithEvento
|
||||
createCuestionarioEvento(
|
||||
@Body() createCuestionarioDto: CreateCuestionarioEventoDto,
|
||||
|
||||
@@ -66,6 +66,7 @@ export class CuestionarioService {
|
||||
createCuestionarioDto.secciones?.length || 0;
|
||||
cuestionario.editable = true;
|
||||
cuestionario.id_evento = createCuestionarioDto.id_evento;
|
||||
cuestionario.cupo_maximo = createCuestionarioDto.cupo_maximo;
|
||||
|
||||
const savedCuestionario = await queryRunner.manager.save(cuestionario);
|
||||
|
||||
@@ -203,9 +204,6 @@ export class CuestionarioService {
|
||||
};
|
||||
|
||||
evento = await queryRunner.manager.save(Evento, nuevoEvento);
|
||||
console.log(
|
||||
`Evento creado: ${evento.nombre_evento}, ID: ${evento.id_evento}`,
|
||||
);
|
||||
} else {
|
||||
console.log(
|
||||
`Evento encontrado: ${evento.nombre_evento}, ID: ${evento.id_evento}`,
|
||||
|
||||
@@ -11,6 +11,7 @@ export const ejemploCuestionarioAlumno = {
|
||||
fecha_inicio: '2025-08-01T08:00:00',
|
||||
fecha_fin: '2025-08-10T23:59:59',
|
||||
id_tipo_cuestionario: 1,
|
||||
cupo_maximo: 100,
|
||||
secciones: [
|
||||
{
|
||||
titulo: 'Información Personal',
|
||||
@@ -88,6 +89,7 @@ export const ejemploCuestionarioTrabajador = {
|
||||
fecha_inicio: '2025-08-01T08:00:00',
|
||||
fecha_fin: '2025-08-10T23:59:59',
|
||||
id_tipo_cuestionario: 2,
|
||||
cupo_maximo: 100,
|
||||
secciones: [
|
||||
{
|
||||
titulo: 'Información Personal',
|
||||
|
||||
@@ -63,6 +63,15 @@ export class CreateCuestionarioDto {
|
||||
@IsNumber()
|
||||
id_tipo_cuestionario: number;
|
||||
|
||||
@ApiProperty({
|
||||
description: 'Cupo máximo de participantes',
|
||||
example: 100,
|
||||
required: false,
|
||||
})
|
||||
@IsOptional()
|
||||
@IsNumber()
|
||||
cupo_maximo?: number;
|
||||
|
||||
@ApiProperty({
|
||||
description: 'Nombre del evento asociado',
|
||||
example: 'Feria de la Sexualidad',
|
||||
|
||||
@@ -10,6 +10,7 @@ import { CuestionarioSeccion } from 'src/cuestionario_seccion/entities/cuestiona
|
||||
import { Evento } from 'src/evento/entities/evento.entity';
|
||||
import { ParticipanteEvento } from 'src/participante_evento/entities/participante_evento.entity';
|
||||
import { TipoCuestionario } from 'src/tipo_cuestionario/entities/tipo_cuestionario.entity';
|
||||
import { CuestionarioRespondido } from 'src/cuestionario_respondido/entities/cuestionario_respondido.entity';
|
||||
|
||||
@Entity('cuestionario')
|
||||
export class Cuestionario {
|
||||
@@ -37,6 +38,9 @@ export class Cuestionario {
|
||||
@Column({ type: 'datetime' })
|
||||
fecha_fin: Date;
|
||||
|
||||
@Column({ type: 'int', nullable: true })
|
||||
cupo_maximo?: number;
|
||||
|
||||
@Column({ type: 'int' })
|
||||
id_tipo_cuestionario: number;
|
||||
|
||||
@@ -69,4 +73,7 @@ export class Cuestionario {
|
||||
(participanteEvento) => participanteEvento.cuestionario,
|
||||
)
|
||||
inscripciones: ParticipanteEvento[];
|
||||
|
||||
@OneToMany(() => CuestionarioRespondido, (cr) => cr.cuestionario)
|
||||
cuestionariosRespondidos: CuestionarioRespondido[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user