diff options
| author | Bobby <[email protected]> | 2022-04-25 14:52:09 -0400 |
|---|---|---|
| committer | Bobby <[email protected]> | 2022-04-25 14:52:09 -0400 |
| commit | fc6c6db3dd3864049a1be73953c06cd244138c33 (patch) | |
| tree | 9ffbf604355ded8681c38634670816e8093772b4 /interface/models | |
| parent | c9d6c587a56e5e7420f48579894831cdb05756d9 (diff) | |
| download | Welfare-Schemes-DMQL-fc6c6db3dd3864049a1be73953c06cd244138c33.tar.xz Welfare-Schemes-DMQL-fc6c6db3dd3864049a1be73953c06cd244138c33.zip | |
basic api using postgres and sequelize
Diffstat (limited to 'interface/models')
| -rw-r--r-- | interface/models/citizens.model.js | 65 | ||||
| -rw-r--r-- | interface/models/index.js | 23 | ||||
| -rw-r--r-- | interface/models/village_master.model.js | 25 |
3 files changed, 113 insertions, 0 deletions
diff --git a/interface/models/citizens.model.js b/interface/models/citizens.model.js new file mode 100644 index 0000000..f6310b0 --- /dev/null +++ b/interface/models/citizens.model.js @@ -0,0 +1,65 @@ +module.exports = (Sequelize, sequelize) => { + const Citizens = sequelize.define("citizens", { + citizen_id: { + type: Sequelize.STRING(12), + allowNull: false, + primaryKey: true, + }, + first_name: { + type: Sequelize.STRING(255), + allowNull: false, + }, + middle_name: { + type: Sequelize.STRING(255), + allowNull: true, + }, + last_name: { + type: Sequelize.STRING(255), + allowNull: false, + }, + address: { + type: Sequelize.STRING(500), + allowNull: false, + }, + mobile_num: { + type: Sequelize.STRING(15), + allowNull: false, + }, + dob: { + type: Sequelize.DATE, + allowNull: false, + }, + gender: { + type: Sequelize.STRING(1), + allowNull: false, + }, + marital_status: { + type: Sequelize.STRING(5), + allowNull: false, + }, + disabled: { + type: Sequelize.STRING(3), + allowNull: false, + defaultValue: "No", + }, + disbaled_percentage: { + // numeric(10,3) + type: Sequelize.DECIMAL(10, 3), + }, + caste: { + type: Sequelize.STRING(2), + allowNull: false, + }, + village_id: { + type: Sequelize.INTEGER, + allowNull: false, + // FOREIGN KEY (village_id) REFERENCES public.village_master(village_id) ON DELETE CASCADE; + references: { + model: "village_master", + key: "village_id", + onDelete: "CASCADE", + }, + }, + }); + return Citizens; +}; diff --git a/interface/models/index.js b/interface/models/index.js new file mode 100644 index 0000000..6a07907 --- /dev/null +++ b/interface/models/index.js @@ -0,0 +1,23 @@ +const databaseConfig = require('../config/db.config.js'); +const Sequelize = require('sequelize'); +const sequelize = new Sequelize(databaseConfig.database, databaseConfig.username, databaseConfig.password, { + host: databaseConfig.host, + dialect: databaseConfig.dialect, + operatorsAliases: false, + pool: { + max: databaseConfig.pool.max, + min: databaseConfig.pool.min, + acquire: databaseConfig.pool.acquire, + idle: databaseConfig.pool.idle + }, + define: { + timestamps: false + } +}); +const db = {}; +db.Sequelize = Sequelize; +db.sequelize = sequelize; +db.citizens = require('./citizens.model.js')(Sequelize, sequelize); +db.village_master = require('./village_master.model.js')(Sequelize, sequelize); + +module.exports = db; diff --git a/interface/models/village_master.model.js b/interface/models/village_master.model.js new file mode 100644 index 0000000..6771e76 --- /dev/null +++ b/interface/models/village_master.model.js @@ -0,0 +1,25 @@ +module.exports = (Sequelize, sequelize) => { + const VillageMaster = sequelize.define("village_master", { + village_id: { + type: Sequelize.INTEGER, + allowNull: false, + primaryKey: true, + autoIncrement: true, + }, + village_name: { + type: Sequelize.STRING(155), + allowNull: false, + }, + mandal_id: { + type: Sequelize.INTEGER, + allowNull: false, + // FOREIGN KEY (mandal_id) REFERENCES public.mandal_master(mandal_id) ON DELETE CASCADE; + references: { + model: "mandal_master", + key: "mandal_id", + onDelete: "CASCADE", + }, + }, + }); + return VillageMaster; +}; |
