// Modelo Tablero
import { Schema } from 'mongoose';
/**
* Esquema de Tablero para la base de datos.
* Representa un proyecto colaborativo en el sistema.
*
* Campos:
* - nombre: Nombre del tablero o proyecto.
* - descripcion: Descripción opcional sobre el tablero.
* - fechaInicio: Fecha de inicio del proyecto.
* - fechaFin: Fecha de finalización del proyecto.
* - administrador: Usuario que administra el tablero.
* - colaboradores: Lista de usuarios que colaboran en el proyecto.
*
* Timestamps:
* - created_at: Fecha de creación del registro.
* - updated_at: Fecha de última actualización del registro.
*/
export const tableroSchema = new Schema({
/** Nombre del tablero o proyecto */
nombre: {
type: String,
required: true,
trim: true
},
/** Descripción opcional sobre el tablero */
descripcion: {
type: String,
trim: true
},
/** Fecha de inicio del proyecto */
fechaInicio: {
type: Date,
default: null
},
/** Fecha de finalización del proyecto */
fechaFin: {
type: Date,
default: null
},
/** Usuario que administra el tablero */
administrador: {
type: Schema.Types.ObjectId,
ref: 'Usuario',
required: true
},
/** Lista de usuarios que colaboran en el proyecto */
colaboradores: [
{
type: Schema.Types.ObjectId,
ref: 'Usuario'
}
],
},
{
timestamps: { createdAt: 'createdAt', updatedAt: 'updatedAt' }
}
);