bug-test-api
Version:
Express.js API project: bug-test-api
68 lines (64 loc) • 1.31 kB
JavaScript
const { DataTypes } = require('sequelize');
const { sequelize } = require('../config/database');
const Questions = sequelize.define('Questions', {
id: {
type: DataTypes.UUID,
primaryKey: true,
allowNull: false,
defaultValue: DataTypes.UUIDV4
},
key: {
type: DataTypes.TEXT
},
text: {
type: DataTypes.TEXT,
allowNull: false
},
type: {
type: DataTypes.TEXT,
allowNull: false
},
placeholder: {
type: DataTypes.TEXT
},
is_required: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false
},
position: {
type: DataTypes.INTEGER,
allowNull: false,
defaultValue: 0
},
is_start: {
type: DataTypes.BOOLEAN,
allowNull: false,
defaultValue: false
},
meta: {
type: DataTypes.JSONB,
defaultValue: {}
},
created_at: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: DataTypes.NOW
}
}, {
tableName: 'questions',
timestamps: true,
createdAt: 'created_at',
updatedAt: false
});
Questions.associate = (models) => {
Questions.hasMany(models.QuestionOptions, {
foreignKey: 'question_id',
as: 'questionOptions'
});
Questions.hasMany(models.QuestionOptions, {
foreignKey: 'next_question_id',
as: 'nextQuestions'
});
};
module.exports = Questions;