El modelo Certificacion representa las certificaciones obtenidas por un usuario en Matchify, permitiendo almacenar información como el nombre de la certificación, la organización emisora, la fecha de obtención y una descripción.

import { DataTypes } from 'sequelize';
import sequelize from '../config/database.js';
import User from './User.js';

const Certificacion = sequelize.define('Certificacion', {
    nombre: {
        type: DataTypes.STRING,
        allowNull: false,
    },
    organizacionEmisora: {
        type: DataTypes.STRING,
    },
    fechaObtencion: {
        type: DataTypes.DATEONLY,
    },
    descripcion: {
        type: DataTypes.TEXT,
    },
    usuarioId: {
        type: DataTypes.INTEGER,
        allowNull: false,
        references: {
            model: User,
            key: 'id',
        },
        onUpdate: 'CASCADE',
        onDelete: 'CASCADE',
    },
}, {
    tableName: 'certificaciones',
    timestamps: true,
});

export default Certificacion;

Explicación de cada propiedad

  1. nombre: Nombre de la certificación, obligatorio.
  2. organizacionEmisora: Organización que emitió la certificación, opcional.
  3. fechaObtencion: Fecha en la que se obtuvo la certificación, almacenada solo como fecha (sin hora).
  4. descripcion: Descripción de la certificación, opcional.
  5. usuarioId: Referencia al usuario que posee esta certificación, asociando el registro con el modelo User.

Configuración del modelo

Este modelo permite gestionar las certificaciones obtenidas por los usuarios en Matchify, manteniendo un registro completo de sus logros académicos y profesionales.