Files
starr-philproperties/models/courses/lesson-page.mdl.js
T
2026-05-16 11:04:36 +08:00

23 lines
1.0 KiB
JavaScript

const { DataTypes } = require("sequelize");
const sequelize = require("../../config/db.config");
const mdl_Users = require("../users/users.mdl");
const Lesson = require("./lessons.mdl");
const LessonPage = sequelize.define("LessonPage", {
page_id: { type: DataTypes.BIGINT, primaryKey: true, autoIncrement: true },
lesson_id: { type: DataTypes.BIGINT, allowNull: false, unique: true },
blocks: { type: DataTypes.JSONB, allowNull: false, defaultValue: [] },
createdBy: { type: DataTypes.BIGINT, allowNull: true, label: "Created By" },
updatedBy: { type: DataTypes.BIGINT, allowNull: true, label: "Updated By" },
}, {
tableName: "lesson_pages",
timestamps: true,
paranoid: false,
});
LessonPage.belongsTo(Lesson, { as: "lesson", foreignKey: "lesson_id" });
LessonPage.belongsTo(mdl_Users, { as: "creator", foreignKey: "createdBy" });
LessonPage.belongsTo(mdl_Users, { as: "updater", foreignKey: "updatedBy" });
Lesson.hasOne(LessonPage, { as: "page", foreignKey: "lesson_id" });
module.exports = LessonPage;