From 8b4c1a375390eeb1ec29ddee99ce422e72ae7701 Mon Sep 17 00:00:00 2001 From: adithya_dinesh Date: Mon, 11 Dec 2023 11:47:03 +0530 Subject: [PATCH 1/5] User Role model change - Katha 1050 --- ...31211061329-user-roles-visibility-orgId.js | 22 +++++++++++++++++++ src/database/models/userRole.js | 8 +++++++ 2 files changed, 30 insertions(+) create mode 100644 src/database/migrations/20231211061329-user-roles-visibility-orgId.js diff --git a/src/database/migrations/20231211061329-user-roles-visibility-orgId.js b/src/database/migrations/20231211061329-user-roles-visibility-orgId.js new file mode 100644 index 000000000..f70748543 --- /dev/null +++ b/src/database/migrations/20231211061329-user-roles-visibility-orgId.js @@ -0,0 +1,22 @@ +'use strict' + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up(queryInterface, Sequelize) { + await queryInterface.addColumn('user_roles', 'visiblity', { + type: Sequelize.STRING, + allowNull: false, + defaultValue: 'PUBLIC', + }) + await queryInterface.addColumn('user_roles', 'organization_id', { + type: Sequelize.STRING, + allowNull: true, + defaultValue: null, + }) + }, + + async down(queryInterface, Sequelize) { + await queryInterface.removeColumn('user_roles', 'visiblity') + await queryInterface.removeColumn('user_roles', 'organization_id') + }, +} diff --git a/src/database/models/userRole.js b/src/database/models/userRole.js index 259ac73ab..ab67462c3 100644 --- a/src/database/models/userRole.js +++ b/src/database/models/userRole.js @@ -22,6 +22,14 @@ module.exports = (sequelize, DataTypes) => { type: DataTypes.STRING, defaultValue: 'ACTIVE', }, + visiblity: { + type: DataTypes.STRING, + defaultValue: 'PUBLIC', + }, + organization_id: { + type: DataTypes.INTEGER, + allowNull: true, + }, }, { sequelize, modelName: 'UserRole', tableName: 'user_roles', freezeTableName: true, paranoid: true } ) From f3a8871eb4dfccbb0846029a7ffa416b12f93df3 Mon Sep 17 00:00:00 2001 From: adithya_dinesh Date: Mon, 11 Dec 2023 12:55:01 +0530 Subject: [PATCH 2/5] User Role model change (review cmds) - Katha 1050 --- .../20231211061329-user-roles-visibility-orgId.js | 6 +++--- src/database/models/userRole.js | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/database/migrations/20231211061329-user-roles-visibility-orgId.js b/src/database/migrations/20231211061329-user-roles-visibility-orgId.js index f70748543..a6c69b697 100644 --- a/src/database/migrations/20231211061329-user-roles-visibility-orgId.js +++ b/src/database/migrations/20231211061329-user-roles-visibility-orgId.js @@ -1,8 +1,8 @@ 'use strict' - /** @type {import('sequelize-cli').Migration} */ module.exports = { async up(queryInterface, Sequelize) { + const defaultOrgId = queryInterface.sequelize.options.defaultOrgId await queryInterface.addColumn('user_roles', 'visiblity', { type: Sequelize.STRING, allowNull: false, @@ -10,8 +10,8 @@ module.exports = { }) await queryInterface.addColumn('user_roles', 'organization_id', { type: Sequelize.STRING, - allowNull: true, - defaultValue: null, + allowNull: false, + defaultValue: defaultOrgId, }) }, diff --git a/src/database/models/userRole.js b/src/database/models/userRole.js index ab67462c3..da8889b8b 100644 --- a/src/database/models/userRole.js +++ b/src/database/models/userRole.js @@ -1,4 +1,5 @@ 'use strict' +const process = require('process') module.exports = (sequelize, DataTypes) => { const UserRole = sequelize.define( 'UserRole', @@ -28,7 +29,8 @@ module.exports = (sequelize, DataTypes) => { }, organization_id: { type: DataTypes.INTEGER, - allowNull: true, + allowNull: false, + defaultValue: parseInt(process.env.DEFAULT_ORG_ID), }, }, { sequelize, modelName: 'UserRole', tableName: 'user_roles', freezeTableName: true, paranoid: true } From 4a04672cf970cc6b322e9cf458a9d3dd7e151b4e Mon Sep 17 00:00:00 2001 From: adithya_dinesh Date: Mon, 11 Dec 2023 13:14:05 +0530 Subject: [PATCH 3/5] Removed default org value from userRoles model. --- src/database/models/userRole.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/database/models/userRole.js b/src/database/models/userRole.js index da8889b8b..29b591250 100644 --- a/src/database/models/userRole.js +++ b/src/database/models/userRole.js @@ -30,7 +30,6 @@ module.exports = (sequelize, DataTypes) => { organization_id: { type: DataTypes.INTEGER, allowNull: false, - defaultValue: parseInt(process.env.DEFAULT_ORG_ID), }, }, { sequelize, modelName: 'UserRole', tableName: 'user_roles', freezeTableName: true, paranoid: true } From 028aed8b73febb7234a560545643ea02ac7b66bd Mon Sep 17 00:00:00 2001 From: adithya_dinesh Date: Mon, 11 Dec 2023 13:24:41 +0530 Subject: [PATCH 4/5] Updated the seeders to accommodate new changes. --- .../seeders/20230718130102-add_roles_to_roles_table.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/database/seeders/20230718130102-add_roles_to_roles_table.js b/src/database/seeders/20230718130102-add_roles_to_roles_table.js index e6cadc6ca..9449c880f 100644 --- a/src/database/seeders/20230718130102-add_roles_to_roles_table.js +++ b/src/database/seeders/20230718130102-add_roles_to_roles_table.js @@ -1,6 +1,7 @@ module.exports = { up: async (queryInterface, Sequelize) => { let rolesData = [] + const defaultOrgId = queryInterface.sequelize.options.defaultOrgId const roleArray = ['user', 'mentor', 'mentee', 'admin'] //user_type denotes the role is system user or not 1: system user, 0: non system user roleArray.forEach(async function (role) { @@ -12,6 +13,8 @@ module.exports = { let eachRow = { title: role, user_type: user_type, + visiblity: 'PUBLIC', + organization_id: defaultOrgId, updated_at: new Date(), created_at: new Date(), } From 8cee478b95c04e966970108ecfe8ff8caa9a1cd8 Mon Sep 17 00:00:00 2001 From: adithya_dinesh Date: Thu, 14 Dec 2023 10:57:11 +0530 Subject: [PATCH 5/5] updated models to take constants from common file --- src/constants/common.js | 1 + src/database/models/userRole.js | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/constants/common.js b/src/constants/common.js index 2b8ecf34c..58341b1b4 100644 --- a/src/constants/common.js +++ b/src/constants/common.js @@ -115,4 +115,5 @@ module.exports = { NO_OF_ATTEMPTS: 3, materializedViewsPrefix: 'm_', DELETED_STATUS: 'DELETED', + DEFAULT_ORG_VISIBILITY: 'PUBLIC', } diff --git a/src/database/models/userRole.js b/src/database/models/userRole.js index 29b591250..59514b3d4 100644 --- a/src/database/models/userRole.js +++ b/src/database/models/userRole.js @@ -1,5 +1,5 @@ 'use strict' -const process = require('process') +const common = require('@constants/common') module.exports = (sequelize, DataTypes) => { const UserRole = sequelize.define( 'UserRole', @@ -21,11 +21,11 @@ module.exports = (sequelize, DataTypes) => { }, status: { type: DataTypes.STRING, - defaultValue: 'ACTIVE', + defaultValue: common.ACTIVE_STATUS, }, visiblity: { type: DataTypes.STRING, - defaultValue: 'PUBLIC', + defaultValue: common.DEFAULT_ORG_VISIBILITY, }, organization_id: { type: DataTypes.INTEGER,