From fc6c6db3dd3864049a1be73953c06cd244138c33 Mon Sep 17 00:00:00 2001 From: Bobby Date: Mon, 25 Apr 2022 14:52:09 -0400 Subject: basic api using postgres and sequelize --- interface/models/citizens.model.js | 65 ++++++++++++++++++++++++++++++++ interface/models/index.js | 23 +++++++++++ interface/models/village_master.model.js | 25 ++++++++++++ 3 files changed, 113 insertions(+) create mode 100644 interface/models/citizens.model.js create mode 100644 interface/models/index.js create mode 100644 interface/models/village_master.model.js (limited to 'interface/models') 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; +}; -- cgit v1.2.3 From a96c3bc9177ef34d76a616f61eaf4f9a64ead363 Mon Sep 17 00:00:00 2001 From: Bobby Date: Mon, 25 Apr 2022 15:27:15 -0400 Subject: render ejs template --- interface/models/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'interface/models') diff --git a/interface/models/index.js b/interface/models/index.js index 6a07907..852fb65 100644 --- a/interface/models/index.js +++ b/interface/models/index.js @@ -12,7 +12,8 @@ const sequelize = new Sequelize(databaseConfig.database, databaseConfig.username }, define: { timestamps: false - } + }, + logging: false }); const db = {}; db.Sequelize = Sequelize; -- cgit v1.2.3