Refactor authentication and carousel services; enhance error handling and validation
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
import { applyDecorators } from '@nestjs/common';
|
||||
import {
|
||||
ApiOperation,
|
||||
ApiResponse,
|
||||
ApiTags,
|
||||
ApiBody,
|
||||
} from '@nestjs/swagger';
|
||||
import { RegistrarMiembroDto } from './dto/registrarMiembro.dto';
|
||||
|
||||
export function ApiPostRegistro() {
|
||||
return applyDecorators(
|
||||
ApiTags('Auth'),
|
||||
ApiOperation({
|
||||
summary: 'Registrar nuevo miembro',
|
||||
description:
|
||||
'Registra un nuevo usuario en la plataforma. No se permite duplicidad de correo electrónico.',
|
||||
}),
|
||||
ApiBody({
|
||||
type: RegistrarMiembroDto,
|
||||
examples: {
|
||||
requeridos: {
|
||||
summary: 'Solo datos obligatorios',
|
||||
description: 'Ejemplo básico con los campos mínimos requeridos para registrar un usuario.',
|
||||
value: {
|
||||
nombre: 'Luis',
|
||||
apellido_paterno: 'Martínez',
|
||||
apellido_materno: 'Lopez',
|
||||
id_tipo_miembro: 1,
|
||||
password: 'contraseñaSegura123',
|
||||
cuenta: 421010101,
|
||||
email: 'luis@example.com',
|
||||
},
|
||||
},
|
||||
completo: {
|
||||
summary: 'Todos los campos llenos',
|
||||
description: 'Ejemplo de un usuario con carrera, semestre y descripción.',
|
||||
value: {
|
||||
nombre: 'Ana',
|
||||
apellido_paterno: 'Torres',
|
||||
apellido_materno: 'Hernández',
|
||||
id_tipo_miembro: 2,
|
||||
password: 'AnaSegura456',
|
||||
descripcion: 'Estudiante interesada en programación web',
|
||||
id_carrera: 3,
|
||||
semestre: '4°',
|
||||
cuenta: 421020202,
|
||||
email: 'ana.torres@example.com',
|
||||
},
|
||||
},
|
||||
invalido: {
|
||||
summary: 'Ejemplo con datos inválidos',
|
||||
description: 'Muestra un correo mal formado y una contraseña demasiado corta.',
|
||||
value: {
|
||||
nombre: 'Mario',
|
||||
apellido_paterno: 'Gómez',
|
||||
apellido_materno: 'Ramírez',
|
||||
id_tipo_miembro: 1,
|
||||
password: '123',
|
||||
cuenta: 421000000,
|
||||
email: 'mario-sin-arroba.com',
|
||||
},
|
||||
},
|
||||
},
|
||||
}),
|
||||
ApiResponse({
|
||||
status: 201,
|
||||
description: 'Usuario registrado exitosamente.',
|
||||
}),
|
||||
ApiResponse({
|
||||
status: 403,
|
||||
description: 'El usuario ya existe.',
|
||||
}),
|
||||
ApiResponse({
|
||||
status: 400,
|
||||
description: 'Datos inválidos o faltantes.',
|
||||
}),
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user