const { FOREIGNKEYS } = require("sequelize/lib/query-types");
const config = require("../config/[Link]");
const Sequelize = require("sequelize");
const sequelize = new Sequelize(
[Link],
[Link],
[Link],
{
host: [Link],
dialect: [Link],
port: [Link],
operatorsAliases: false,
pool: {
max: [Link],
min: [Link],
acquire: [Link],
idle: [Link]
}
}
);
const db = {};
[Link] = Sequelize;
[Link] = sequelize;
// HRMS Module
[Link] = require("../HRMS/Employee_Master/models/[Link]")(sequelize,
Sequelize);
db.user_login = require("../HRMS/Employee_Master/models/user_login_model.js")
(sequelize, Sequelize);
db.user_entity = require("../HRMS/Employee_Master/models/user_entity_model.js")
(sequelize, Sequelize);
[Link] = require("../HRMS/RBAC/Role/models/[Link]")(sequelize, Sequelize);
[Link] = require("../HRMS/Employee_Master/models/[Link]")
(sequelize, Sequelize);
[Link] = require("../HRMS/Employee_Master/models/[Link]")
(sequelize, Sequelize);
db.role_master =
require("../HRMS/RBAC/role_back/role_master/model/[Link]")(sequelize,
Sequelize);
db.menu_master =
require("../HRMS/RBAC/role_back/menu_master/model/[Link]")(sequelize,
Sequelize);
db.role_menu_access =
require("../HRMS/RBAC/role_back/role_menu_access/model/[Link]")
(sequelize, Sequelize);
db.sub_role_module_master =
require("../HRMS/RBAC/role_back/role_module_master/model/role_module_master_map.mod
[Link]")(sequelize, Sequelize);
db.sub_role_menu_master_mapping =
require("../HRMS/RBAC/role_back/role_module_master/model/menu_module_master_map.mod
[Link]")(sequelize, Sequelize);
db.role_module_master =
require("../HRMS/RBAC/role_back/role_module_master/model/role_module_master.model.j
s")(sequelize, Sequelize);
db.submenu_master =
require("../HRMS/RBAC/role_back/submenu_master/model/[Link]")
(sequelize, Sequelize);
db.read_write_access =
require('../HRMS/RBAC/role_back/role_menu_access/model/read_write_access.js')
(sequelize, Sequelize);
db.emp_sign_data = require("../HRMS/Employee_Master/models/emp_sign_model.js")
(sequelize, Sequelize);
db.user_allowance =
require("../HRMS/Employee_Master/models/user_allowance_model.js")(sequelize,
Sequelize);
db.user_documents =
require("../HRMS/Employee_Master/models/user_document_model.js")(sequelize,
Sequelize);
db.user_family =
require("../HRMS/Employee_Master/models/user_family_details_model.js")(sequelize,
Sequelize);
db.user_prev_employer =
require("../HRMS/Employee_Master/models/user_prev_employer_detail_model.js")
(sequelize, Sequelize);
db.user_salary = require("../HRMS/Employee_Master/models/user_salary_model.js")
(sequelize, Sequelize);
db.kpa_master = require("../HRMS/KPA_Master/model/[Link]")(sequelize,
Sequelize);
db.kpa_objective = require("../HRMS/KPA_Master/model/[Link]")
(sequelize, Sequelize);
db.kpa_employee = require("../HRMS/KPA_Master/model/[Link]")
(sequelize, Sequelize);
db.leave_master = require("../HRMS/Leave_Management/models/[Link]")
(sequelize, Sequelize);
[Link] =
require('../HRMS/Leave_Management/models/[Link]')(sequelize,
Sequelize);
[Link] =
require("../HRMS/Leave_Management/models/[Link]")(sequelize,
Sequelize);
[Link] =
require("../HRMS/Leave_Management/models/[Link]")(sequelize,
Sequelize);
[Link] =
require("../HRMS/Leave_Management/models/leavePolicySubModels/[Link]")
(sequelize, Sequelize);
[Link] =
require("../HRMS/Leave_Management/models/leavePolicySubModels/[Link]")
(sequelize, Sequelize);
[Link] =
require('../HRMS/Leave_Management/models/leavePolicySubModels/applicabilityDepartme
[Link]')(sequelize, Sequelize);
[Link] =
require('../HRMS/Leave_Management/models/leavePolicySubModels/applicabilityDesignat
[Link]')(sequelize, Sequelize);
[Link] =
require('../HRMS/Leave_Management/models/leavePolicySubModels/applicabilityLocation
.js')(sequelize, Sequelize);
[Link] =
require('../HRMS/Leave_Management/models/leavePolicySubModels/applicabilityGender.j
s')(sequelize, Sequelize);
[Link] =
require('../HRMS/Leave_Management/models/leavePolicySubModels/applicabilityMarital.
js')(sequelize, Sequelize);
[Link] =
require('../HRMS/Leave_Management/models/leavePolicySubModels/restrictionsDurations
.js')(sequelize, Sequelize);
db.setup_work_calender =
require('../HRMS/Setup_Work_Calender/model/[Link]')(sequelize,
Sequelize);
db.daily_attendance =
require('../HRMS/Attendance_Calender/model/daily_attendance_model.js')(sequelize,
Sequelize);
db.daily_attendance_master =
require('../HRMS/Attendance_Calender/model/daily_attendance_master_model.js')
(sequelize, Sequelize);
// Configuration Master Module
[Link] = require("../master/UOM/model/[Link]")(sequelize, Sequelize);
[Link] = require('../master/location_mapping/states/models/states_models.js')
(sequelize, Sequelize);
[Link] = require('../master/location_mapping/country/model/[Link]')
(sequelize, Sequelize);
db.country_codes =
require('../master/location_mapping/country/model/country_code_model.js')
(sequelize, Sequelize);
[Link] = require('../master/location_mapping/city/models/city_models.js')
(sequelize, Sequelize);
[Link] = require('../master/location_mapping/pincode/models/pincode_models.js')
(sequelize, Sequelize);
[Link] =
require("../master/document_master/models/[Link]")(sequelize,
Sequelize);
[Link] = require("../master/area/model/[Link]")(sequelize, Sequelize);
[Link] = require("../master/segment/model/[Link]")(sequelize,
Sequelize);
db.new_certificate_type =
require("../master/certificate_type/model/certificate_type.[Link]")(sequelize,
Sequelize);
db.new_category_master =
require("../master/new_category_master/model/new_category_master.[Link]")
(sequelize, Sequelize);
db.new_spa = require("../master/new_spa/model/new_spa.[Link]")(sequelize,
Sequelize);
db.customer_type = require("../master/customer_type/model/customer_type.[Link]")
(sequelize, Sequelize);
db.traning_name = require("../master/traning_name/model/traning_name.[Link]")
(sequelize, Sequelize);
[Link] =
require('../master/Leave_Master/Leave_Master/model/leave_master.[Link]')
(sequelize, Sequelize);
[Link] =
require('../master/Leave_Master/Attendance_Calendar/model/attendance_calendar.model
.js')(sequelize, Sequelize);
db.currency_convert = require('../master/Currency_Convert/models/[Link]')
(sequelize, Sequelize);
[Link] =
require("../master/Leave_Master/Attendance_Calendar/model/screen_on_off.[Link]")
(sequelize, Sequelize);
db.bank_master = require("../master/Bank/model/[Link]")(sequelize,
Sequelize);
db.financial_year = require("../master/Financial_Year/model/[Link]")
(sequelize, Sequelize);
db.tbl_branch = require("../master/branch/models/[Link]")(sequelize,
Sequelize);
[Link] = require("../master/assetcategory/model/[Link]")(sequelize,
Sequelize);
[Link] = require("../master/Shift/model/[Link]")(sequelize, Sequelize);
[Link] = require("../master/Shift/model/[Link]")
(sequelize, Sequelize);
[Link] = require("../master/workstation/model/[Link]")(sequelize,
Sequelize);
[Link] = require("../master/servicecategory/model/[Link]")
(sequelize, Sequelize);
db.Service_master =
require("../master/servicemaster/models/[Link]")(sequelize,
Sequelize);
[Link] = require("../master/Region/models/[Link]")(sequelize,
Sequelize);
[Link] = require("../master/Expense_Type/models/[Link]")
(sequelize, Sequelize);
[Link] = require("../master/Need_Type/models/[Link]")(sequelize,
Sequelize);
[Link] =
require("../master/Budget_Category/models/budget_Category_Model.js")(sequelize,
Sequelize);
db.contract_types = require("../master/Contract/model/[Link]")(sequelize,
Sequelize);
db.reason_for = require("../master/reason/model/[Link]")(sequelize,
Sequelize);
[Link] = require('../master/Allowance/model/[Link]')(sequelize,
Sequelize);
[Link] = require('../master/designation/model/[Link]')(sequelize,
Sequelize);
[Link] = require('../master/department/model/[Link]')(sequelize,
Sequelize);
[Link] = require('../master/Leave_Master/Holiday/model/[Link]')
(sequelize, Sequelize);
[Link] = require("../master/checklist/models/[Link]")(sequelize,
Sequelize);
db.Service_Center =
require("../master/servicecenter/models/[Link]")(sequelize,
Sequelize);
[Link] = require("../master/customerType/model/[Link]")
(sequelize, Sequelize);
[Link] = require("../master/uses/model/[Link]")(sequelize, Sequelize);
db.hsn_sac_master = require("../master/hsn-sac/models/hsn_sac.js")(sequelize,
Sequelize);
db.gst_rate_master = require("../master/hsn-sac/models/gst_rate.js")(sequelize,
Sequelize);
db.tds_master = require("../master/tds/model/[Link]")(sequelize, Sequelize);
db.tcs_master = require("../master/tcs/model/[Link]")(sequelize, Sequelize);
db.trip_expense_master =
require("../master/trip_expense/model/[Link]")(sequelize, Sequelize);
// Vendor Management Module
[Link] = require("../../app/vendor/model/[Link]")(sequelize,
Sequelize);
db.vendor_product_Details =
require("../../app/vendor/model/vendor_product_details.js")(sequelize, Sequelize);
db.vendor_basic_details_map =
require("../../app/vendor/model/[Link]")(sequelize, Sequelize);
db.vendor_category_mapper = require("../../app/vendor/model/[Link]")
(sequelize, Sequelize);
db.vendor_basic_details = require("../../app/vendor/model/vendorModel")(sequelize,
Sequelize);
db.vendor_bank_details_map =
require("../../app/vendor/model/[Link]")(sequelize, Sequelize);
db.vendor_type_master = require("../../app/vendor/model/[Link]")
(sequelize, Sequelize);
db.vendor_general_details_map =
require("../../app/vendor/model/[Link]")(sequelize, Sequelize);
db.vendor_doc_details_map = require("../vendor/model/[Link]")(sequelize,
Sequelize);
db.vendor_negotiation_detail =
require("../vendor/model/vendor_negotiation_details.js")(sequelize, Sequelize);
db.vendor_negotiation_logs = require("../vendor/model/negotiation_logs.js")
(sequelize, Sequelize);
// Transport Management Module
db.vehical_category = require("../Transport Management/Vehicle
Category/model/vehical_categorymodel.js")(sequelize, Sequelize);
db.vehicle_master = require("../Transport Management/Vehicle
Master/model/vehical_mastermodel.js")(sequelize, Sequelize);
[Link] = require("../Transport Management/Vendor
Master/model/[Link]")(sequelize, Sequelize);
db.vehicle_driver = require("../Transport Management/Driver
Master/model/driver_mastermodel.js")(sequelize, Sequelize);
[Link] = require("../../app/Transport Management/Transport
Request/model/[Link]")(sequelize, Sequelize);
[Link] = require("../../app/Transport Management/Transport
Request/model/[Link]")(sequelize, Sequelize);
[Link] = require("../../app/Transport Management/Transport
Request/model/[Link]")(sequelize, Sequelize);
[Link] = require("../../app/Transport Management/Transport
Request/model/[Link]")(sequelize, Sequelize);
[Link] = require("../Transport Management/Schedule
Trip/model/[Link]")(sequelize, Sequelize);
[Link] = require("../Transport Management/Schedule
Trip/model/[Link]")(sequelize, Sequelize);
db.expense_trip = require("../Transport Management/Schedule
Trip/model/expenseTripModel")(sequelize, Sequelize);
db.close_trip = require("../Transport Management/Schedule
Trip/model/closedTripModel")(sequelize, Sequelize);
// Company Master (Essential for all modules)
[Link] = require("../Company_Master/models/entity_mst_model.js")
(sequelize, Sequelize);
[Link] = require("../Company_Master/models/entity_stakeholder.js")
(sequelize, Sequelize);
// ESS (Employee Self Service - Part of HRMS)
[Link] = require("../ESS/Help_Desk/models/[Link]")(sequelize,
Sequelize);
[Link] = require("../ESS/Complaint/models/[Link]")(sequelize,
Sequelize);
[Link] =
require("../ESS/Resignation/models/[Link]")(sequelize,
Sequelize);
db.Resignation_approval =
require("../ESS/Resignation/models/[Link]")(sequelize, Sequelize);
db.All_Resignation_review = require("../ESS/Resignation/models/[Link]")
(sequelize, Sequelize);
db.All_Resignation_approval =
require("../ESS/Resignation/models/[Link]")(sequelize,
Sequelize);
db.Job_Request = require("../ESS/job_request/model/[Link]")(sequelize,
Sequelize);
db.WorkFlow_Master = require("../ESS/workFlow/model/[Link]")(sequelize,
Sequelize);
db.WorkFlow_Map = require("../ESS/workFlow/model/[Link]")(sequelize,
Sequelize);
db.Work_Flow_range = require("../ESS/workFlow/model/[Link]")(sequelize,
Sequelize);
db.Job_approval = require("../ESS/job_request/model/[Link]")(sequelize,
Sequelize);
db.technical_assessment =
require('../ESS/Self_Assessment/model/technical_assessment.js')(sequelize,
Sequelize);
db.work_flow_main = require("../ESS/workFlow/model/workflow_table.js")(sequelize,
Sequelize);
db.travel_request = require("../ESS/Travel_Request/Model/travel_Request_Model.js")
(sequelize, Sequelize);
db.travel_request_data =
require("../ESS/Travel_Request/Model/travel_data_models.js")(sequelize, Sequelize);
db.travel_approval =
require("../ESS/Travel_Request/Model/travel_approval_models.js")(sequelize,
Sequelize);
[Link] = require("../ESS/Leave_Apply/models/[Link]")
(sequelize, Sequelize);
[Link] = require("../ESS/Leave_Apply/models/[Link]")
(sequelize, Sequelize);
[Link] =
require("../ESS/Leave_Apply/models/[Link]")(sequelize,
Sequelize);
[Link] =
require('../ESS/Self_Assessment/model/behavioural_Assessment_Model.js')(sequelize,
Sequelize);
[Link] =
require('../ESS/Self_Assessment/model/skill_Development_plan_Model.js')(sequelize,
Sequelize);
db.suggest_skillDevelopment =
require('../ESS/Self_Assessment/model/suggest_skill_development_plan.js')
(sequelize, Sequelize);
db.committee_assign_user =
require('../ESS/Self_Assessment/model/committee_assign_userlist_Model.js')
(sequelize, Sequelize);
db.committee_assess_rating =
require('../ESS/Self_Assessment/model/committee_approved_model.js')(sequelize,
Sequelize);
db.colleague_review =
require('../ESS/Colleague_Review/models/colleague_review_model.js')(sequelize,
Sequelize);
db.timeSheet_request = require("../ESS/TimeSheet/models/[Link]")
(sequelize, Sequelize);
db.complaint_doc = require("../ESS/Complaint/models/complain_doc.[Link]")
(sequelize, Sequelize);
// Add essential foreign key relationships here (only for the modules we kept)
// These are the most critical relationships for the kept modules
// HRMS Relationships
[Link]([Link], { foreignKey: "department_id", onDelete:
'RESTRICT' });
[Link]([Link], { foreignKey: "department_id", onDelete:
'RESTRICT', as: 'deptName' });
[Link]([Link], { foreignKey: "designation_id", onDelete:
'RESTRICT' });
db.role_master.hasMany([Link], { foreignKey: "role_master_id", onDelete:
'RESTRICT' });
[Link](db.role_master, { foreignKey: "role_master_id", as: 'role' });
[Link]([Link], { foreignKey: "primary_entity_id", onDelete:
'RESTRICT' });
// Configuration Master Relationships
[Link]([Link], { foreignKey: "countryss_id", onDelete:
'RESTRICT' });
[Link]([Link], { foreignKey: "countryss_id" });
[Link]([Link], { foreignKey: "states_id", onDelete: 'RESTRICT' });
[Link]([Link], { foreignKey: "states_id" });
[Link]([Link], { foreignKey: "city_id", onDelete: 'RESTRICT' });
[Link]([Link], { foreignKey: "city_id" });
// Vendor Management Relationships
[Link](db.vendor_basic_details, { foreignKey: "entity_id",
onDelete: "RESTRICT" });
db.vendor_basic_details.belongsTo([Link], { foreignKey: "entity_id",
onDelete: "RESTRICT" });
db.vendor_type_master.hasMany(db.vendor_basic_details, { foreignKey:
"vendor_type_id", onDelete: 'RESTRICT' });
db.vendor_basic_details.belongsTo(db.vendor_type_master, { foreignKey:
"vendor_type_id" });
// Transport Management Relationships
[Link](db.vehical_category, { foreignKey: 'entity_id', onDelete:
'RESTRICT' });
[Link](db.vehicle_master, { foreignKey: 'entity_id', onDelete:
'RESTRICT' });
[Link](db.vehicle_driver, { foreignKey: 'entity_id', onDelete:
'RESTRICT' });
[Link]([Link], { foreignKey: "entity_id", onDelete:
'RESTRICT' });
[Link]([Link], { foreignKey: "entity_id" });
// Company Master Relationships
[Link]([Link], { foreignKey: "entity_id", onDelete:
'RESTRICT' });
// ESS Relationships
[Link]([Link], { foreignKey: "employee_id", onDelete: 'RESTRICT' });
[Link]([Link], { foreignKey: "employee_id" });
[Link]([Link], { foreignKey: "employee_id", onDelete: 'RESTRICT' });
[Link]([Link], { foreignKey: "employee_id" });
[Link] = db;