Spaces:
Runtime error
Runtime error
File size: 1,241 Bytes
8df42d3 1f6a8f9 6f05a9e a3b1201 8df42d3 fce755d 8df42d3 a3b1201 8df42d3 a3b1201 8df42d3 a3b1201 8df42d3 a3b1201 6f05a9e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
import {
DataTypes,
Model,
InferAttributes,
InferCreationAttributes,
CreationOptional,
} from 'sequelize';
import { sequelize } from './index';
import { SettingInterface } from '../shared/interfaces/setting.interface';
import User from './users';
class Setting extends Model<InferAttributes<Setting>, InferCreationAttributes<Setting>> implements SettingInterface {
declare id: CreationOptional<number>;
declare setting_key: string;
declare setting_value: string;
declare updated_by: number;
}
Setting.init(
{
id: {
type: DataTypes.INTEGER.UNSIGNED,
autoIncrement: true,
primaryKey: true,
unique: true,
},
setting_key: {
type: DataTypes.STRING,
allowNull: false,
},
setting_value: {
type: DataTypes.TEXT,
allowNull: false,
},
updated_by: {
type: DataTypes.INTEGER,
allowNull: false,
references: {
model: 'users',
key: 'id',
}
},
},
{
sequelize,
tableName: 'settings',
underscored: true,
freezeTableName: true,
timestamps: true,
createdAt: 'created_at',
updatedAt: 'updated_at',
}
);
Setting.belongsTo(User, { foreignKey: 'updated_by' });
export default Setting;
|