// Modelo Usuario
import { Schema } from 'mongoose';
/**
* Esquema de Usuario para la base de datos.
* Representa la información básica de los usuarios en el sistema.
*
* Campos:
* - nombre: Nombre completo del usuario.
* - email: Dirección de correo electrónico única y validada.
* - password: Contraseña del usuario almacenada en formato cifrado.
* - rol: Rol del usuario, puede ser 'administrador' o 'usuario'.
* - fotoPerfil: URL de la foto de perfil del usuario, almacenada en Cloudinary.
*
* Timestamps:
* - created_at: Fecha de creación del registro.
* - updated_at: Fecha de última actualización del registro.
*/
export const usuarioSchema = new Schema({
/** Nombre completo del usuario */
nombre: {
type: String,
required: true,
trim: true
},
/** Dirección de correo electrónico única */
email: {
type: String,
required: true,
unique: true,
trim: true,
lowercase: true
},
/** Contraseña cifrada del usuario */
password: {
type: String,
required: true
},
/** Rol del usuario: administrador o usuario */
rol: {
type: String,
enum: ['administrador', 'usuario'],
default: 'usuario'
},
/** URL de la foto de perfil almacenada en Cloudinary */
fotoPerfil: {
type: String,
default: null
},
},
{
timestamps: { createdAt: 'createdAt', updatedAt: 'updatedAt' }
}
);