muchos cambios :'v
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
import { applyDecorators } from '@nestjs/common';
|
||||
import {
|
||||
ApiTags,
|
||||
ApiOperation,
|
||||
ApiBody,
|
||||
ApiParam,
|
||||
ApiConsumes,
|
||||
} from '@nestjs/swagger';
|
||||
import { CreateEventoDto } from '../dto/create-evento.dto';
|
||||
import { UpdateEventoDto } from '../dto/update.evento.dto';
|
||||
import {
|
||||
actualizacionEventoNombreYFechas,
|
||||
actualizacionEventoTipo,
|
||||
ejemploEventoAcademico,
|
||||
ejemploEventoCultural,
|
||||
ejemploFeriaSexualidad,
|
||||
} from './evento.examples';
|
||||
|
||||
export class EventoApiDocumentation {
|
||||
static ApiController = ApiTags('Evento');
|
||||
|
||||
static ApiCreate = applyDecorators(
|
||||
ApiOperation({ summary: 'Crear un nuevo evento' }),
|
||||
ApiBody({
|
||||
type: CreateEventoDto,
|
||||
examples: {
|
||||
ejemplo1: ejemploFeriaSexualidad,
|
||||
ejemplo2: ejemploEventoAcademico,
|
||||
ejemplo3: ejemploEventoCultural,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
static ApiUpdate = applyDecorators(
|
||||
ApiOperation({ summary: 'Actualizar un evento existente por ID' }),
|
||||
ApiBody({
|
||||
type: UpdateEventoDto,
|
||||
examples: {
|
||||
actualizacion1: actualizacionEventoNombreYFechas,
|
||||
actualizacion2: actualizacionEventoTipo,
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
static ApiPostBanner = applyDecorators(
|
||||
ApiOperation({ summary: 'Subir banner para un evento' }),
|
||||
ApiParam({
|
||||
name: 'id',
|
||||
type: Number,
|
||||
description: 'ID del evento al que se asigna el banner',
|
||||
}),
|
||||
ApiConsumes('multipart/form-data'),
|
||||
ApiBody({
|
||||
schema: {
|
||||
type: 'object',
|
||||
properties: {
|
||||
banner: {
|
||||
type: 'string',
|
||||
format: 'binary',
|
||||
description:
|
||||
'Archivo de imagen (jpg, png, webp) que será el banner del evento',
|
||||
},
|
||||
},
|
||||
required: ['banner'],
|
||||
},
|
||||
}),
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
/* CREATE */
|
||||
|
||||
export const ejemploFeriaSexualidad = {
|
||||
summary: 'Evento que simula una feria',
|
||||
description:
|
||||
'Un evento de una feria de la sexualidad, con registro para la comunidad universitaria',
|
||||
value: {
|
||||
tipo_evento: 'Estudiantil',
|
||||
nombre_evento: 'Feria de la Sexualidad 2026-3',
|
||||
descripcion_evento:
|
||||
'**La Feria de la Sexualidad** es un espacio seguro e informativo dirigido a toda la comunidad universitaria. Este registro nos ayudará a organizar mejor las actividades, talleres y charlas, así como conocer tus intereses. Por favor, completa el siguiente formulario para confirmar tu participación.',
|
||||
fecha_inicio: '2025-07-10T09:00:00.000Z',
|
||||
fecha_fin: '2025-07-11T17:00:00.000Z',
|
||||
},
|
||||
};
|
||||
|
||||
export const ejemploEventoAcademico = {
|
||||
summary: 'Evento académico',
|
||||
description: 'Un evento tipo seminario académico de dos días',
|
||||
value: {
|
||||
tipo_evento: 'Académico',
|
||||
nombre_evento: 'Seminario de Innovación Educativa',
|
||||
fecha_inicio: '2025-07-10T09:00:00.000Z',
|
||||
fecha_fin: '2025-07-11T17:00:00.000Z',
|
||||
},
|
||||
};
|
||||
|
||||
export const ejemploEventoCultural = {
|
||||
summary: 'Evento cultural',
|
||||
description: 'Un evento cultural de un solo día',
|
||||
value: {
|
||||
tipo_evento: 'Cultural',
|
||||
nombre_evento: 'Festival de Música y Arte',
|
||||
fecha_inicio: '2025-08-05T15:00:00.000Z',
|
||||
fecha_fin: '2025-08-05T22:00:00.000Z',
|
||||
},
|
||||
};
|
||||
|
||||
/* UPDATE */
|
||||
|
||||
export const actualizacionEventoNombreYFechas = {
|
||||
summary: 'Actualizar nombre y fechas',
|
||||
description: 'Se cambia el nombre del evento y se ajustan las fechas',
|
||||
value: {
|
||||
nombre_evento: 'Seminario de Tecnología Educativa',
|
||||
fecha_inicio: '2025-07-15T10:00:00.000Z',
|
||||
fecha_fin: '2025-07-16T18:00:00.000Z',
|
||||
},
|
||||
};
|
||||
|
||||
export const actualizacionEventoTipo = {
|
||||
summary: 'Solo cambiar tipo de evento',
|
||||
description: 'Se actualiza el tipo sin modificar lo demás',
|
||||
value: {
|
||||
tipo_evento: 'Deportivo',
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user