aboutsummaryrefslogtreecommitdiff
path: root/interface/models
diff options
context:
space:
mode:
authorBobby <[email protected]>2022-04-25 14:52:09 -0400
committerBobby <[email protected]>2022-04-25 14:52:09 -0400
commitfc6c6db3dd3864049a1be73953c06cd244138c33 (patch)
tree9ffbf604355ded8681c38634670816e8093772b4 /interface/models
parentc9d6c587a56e5e7420f48579894831cdb05756d9 (diff)
downloadWelfare-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.js65
-rw-r--r--interface/models/index.js23
-rw-r--r--interface/models/village_master.model.js25
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;
+};