LMS/E-Learning-Backend-main/app/models/Video.js
2025-09-01 19:37:35 +05:30

50 lines
2.0 KiB
JavaScript

module.exports = (sequelize, type) => {
const Video = sequelize.define('videos', {
id: {
type: type.INTEGER,
primaryKey: true,
autoIncrement: true
},
certi_id: type.INTEGER,
video_link: type.TEXT,
video_title: type.TEXT,
video_thumbnil: type.TEXT,
c_id: type.INTEGER,
d_id: type.INTEGER,
sd_id: type.TEXT,
// topic_id: type.INTEGER,
topic_id: { type: type.TEXT, allowNull: true, get: function () { return this.getDataValue('topic_id') ? this.getDataValue('topic_id').split(',') : [] } },
subtopic_ids: { type: type.TEXT, allowNull: true, get: function () { return this.getDataValue('subtopic_ids') ? this.getDataValue('subtopic_ids').split(',') : [] } },
type: type.ENUM('FREE', 'PAID'),
video_type: type.ENUM('REQUIRED', 'OPTIONAL'),
transcript_link: type.TEXT,
viewed_users: { type: type.TEXT, allowNull: true, get: function () { return this.getDataValue('viewed_users') ? this.getDataValue('viewed_users').split(',') : [] } },
point: type.INTEGER,
duration: type.TEXT,
chapters: type.TEXT,
qr_code: type.TEXT,
video_lesson_link: type.TEXT,
video_lesson_link_720p: type.TEXT,
video_lesson_link_480p: type.TEXT,
video_lesson_link_360p: type.TEXT,
video_lesson_link_240p: type.TEXT,
video_lesson_link_144p: type.TEXT,
topic_list: type.TEXT,
summary: type.TEXT,
sr_number: {
type: type.INTEGER,
defaultValue: 0
},
status: {
type: type.INTEGER,
defaultValue: 0
},
bkp_sd_id: { type: type.TEXT, allowNull: true, get: function () { return this.getDataValue('bkp_sd_id') ? this.getDataValue('bkp_sd_id').split(',') : [] } },
is_mini_masterclass_video: {
type: type.INTEGER,
defaultValue: 0
}
})
return Video;
}