Files
absens-api/models/branch.model.js
2025-10-22 13:37:57 +07:00

63 lines
1.2 KiB
JavaScript

"use strict";
const { Model, DataTypes } = require("sequelize");
module.exports = (sequelize) => {
class Branch extends Model {
static associate(models) {
this.hasMany(models.User, {
foreignKey: 'branch_id',
as: 'user',
onDelete: 'CASCADE'
})
}
}
Branch.init({
id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
allowNull: false,
primaryKey: true,
},
name: {
type: DataTypes.STRING,
allowNull: true
},
lat: {
type: DataTypes.DECIMAL(20, 15),
allowNull: false,
},
lng: {
type: DataTypes.DECIMAL(20, 15),
allowNull: false,
},
lunch_attendance: {
type: DataTypes.BOOLEAN,
defaultValue: false,
allowNull: true
},
created_at: {
type: DataTypes.DATE,
},
updated_at: {
type: DataTypes.DATE,
},
deleted_at: {
type: DataTypes.DATE,
},
},
{
sequelize,
modelName: "Branch",
tableName: "ref_branches",
timestamps: true,
createdAt: "created_at",
updatedAt: "updated_at",
deletedAt: "deleted_at",
paranoid: true,
});
return Branch;
};