Files
starr-philproperties/apps/api/models/courses/certificate.mdl.js
T

28 lines
1.2 KiB
JavaScript

const { DataTypes } = require("sequelize");
const sequelize = require("../../config/db.config");
const Certificate = sequelize.define("Certificate", {
certificate_id: { type: DataTypes.BIGINT, primaryKey: true, autoIncrement: true },
uuid: { type: DataTypes.UUID, allowNull: false, defaultValue: DataTypes.UUIDV4, unique: true },
cert_no: { type: DataTypes.STRING(25), allowNull: false, unique: true },
ref_no: { type: DataTypes.STRING(50), allowNull: false },
user_id: { type: DataTypes.BIGINT, allowNull: false },
course_id: { type: DataTypes.BIGINT, allowNull: false },
instructors: { type: DataTypes.TEXT, allowNull: true },
score: { type: DataTypes.INTEGER, allowNull: true },
length_str: { type: DataTypes.STRING(50), allowNull: true },
issued_at: { type: DataTypes.DATE, allowNull: false, defaultValue: DataTypes.NOW },
}, {
tableName: "certificates",
timestamps: true,
createdAt: "created_at",
updatedAt: "updated_at",
indexes: [
{ unique: true, fields: ["user_id", "course_id"] },
{ fields: ["uuid"] },
{ fields: ["cert_no"] },
],
});
module.exports = Certificate;