From 12c595c7714224d73e2cdf05ace8478ea09750f0 Mon Sep 17 00:00:00 2001 From: yadhap Dahal Date: Mon, 26 Aug 2024 16:56:44 -0400 Subject: [PATCH] Added region column on domain table - made necessary adjustments on models, migrations and routes --- ...20240229155642-create-asr_domains-table.js | 4 ++++ Tombolo/server/models/asr_domains.js | 4 ++++ Tombolo/server/routes/asr/read.js | 21 +++++++++++++------ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/Tombolo/server/migrations/20240229155642-create-asr_domains-table.js b/Tombolo/server/migrations/20240229155642-create-asr_domains-table.js index 336cdd5a4..42ba5975f 100644 --- a/Tombolo/server/migrations/20240229155642-create-asr_domains-table.js +++ b/Tombolo/server/migrations/20240229155642-create-asr_domains-table.js @@ -15,6 +15,10 @@ module.exports = { unique: true, type: DataTypes.STRING, }, + region: { + allowNull: false, + type: DataTypes.STRING, + }, severityThreshold: { allowNull: false, type: DataTypes.INTEGER, diff --git a/Tombolo/server/models/asr_domains.js b/Tombolo/server/models/asr_domains.js index eadc0ba1d..9876d2e2a 100644 --- a/Tombolo/server/models/asr_domains.js +++ b/Tombolo/server/models/asr_domains.js @@ -14,6 +14,10 @@ module.exports = (sequelize, DataTypes) => { unique: true, type: DataTypes.STRING, }, + region: { + allowNull: false, + type: DataTypes.STRING, + }, severityThreshold: { allowNull: false, type: DataTypes.INTEGER, diff --git a/Tombolo/server/routes/asr/read.js b/Tombolo/server/routes/asr/read.js index 740be1408..64ba2a9cd 100644 --- a/Tombolo/server/routes/asr/read.js +++ b/Tombolo/server/routes/asr/read.js @@ -19,6 +19,7 @@ router.post( "/domains/", [ body("name").notEmpty().withMessage("Domain name is required"), + body("region").notEmpty().withMessage("Region is required"), body("monitoringTypeIds") .optional() .isArray() @@ -40,11 +41,11 @@ router.post( /* if monitoring type is provided, create domain, next iterate over monitoringTypeId and make entry to asr_domain_monitoring_types*/ - const { name, severityThreshold, severityAlertRecipients, monitoringTypeIds, createdBy } = + const { name, region, severityThreshold, severityAlertRecipients, monitoringTypeIds, createdBy } = req.body; let domain; if (monitoringTypeIds) { - domain = await Domains.create({ name, severityThreshold, severityAlertRecipients, createdBy }); + domain = await Domains.create({ name, region, severityThreshold, severityAlertRecipients, createdBy }); // create domain monitoring type mapping const createPromises = monitoringTypeIds.map((monitoringId) => { @@ -60,7 +61,7 @@ router.post( // if no monitoring type is provided, create domain without monitoring type else { - domain = await Domains.create({ name, severityThreshold,severityAlertRecipients, createdBy }); + domain = await Domains.create({ name, region, severityThreshold,severityAlertRecipients, createdBy }); } res.status(200).json({ message: "Domain created successfully", domain }); } catch (error) { @@ -136,6 +137,7 @@ router.patch( // Update domain and delete or add relation in the junction table const { name, + region, severityThreshold, severityAlertRecipients, monitoringTypeIds, @@ -145,7 +147,13 @@ router.patch( if (monitoringTypeIds) { response = await sequelize.transaction(async (t) => { await Domains.update( - { name, severityThreshold, severityAlertRecipients, updatedBy }, + { + name, + region, + severityThreshold, + severityAlertRecipients, + updatedBy, + }, { where: { id: req.params.id }, transaction: t } ); @@ -171,7 +179,7 @@ router.patch( }); } else { response = await Domains.update( - { name, severityThreshold, severityAlertRecipients, updatedBy }, + { name, region, severityThreshold, severityAlertRecipients, updatedBy }, { where: { id: req.params.id } } ); } @@ -265,7 +273,7 @@ router.get("/products/", async(req, res) => { attributes: [], // Exclude the junction table from the result }, as: "associatedDomains", - attributes: ["id", "name", "severityThreshold", "severityAlertRecipients"], + attributes: ["id", "name", "region", "severityThreshold", "severityAlertRecipients"], }, ], order: [["createdAt", "DESC"]], @@ -420,6 +428,7 @@ router.get("/domainsForSpecificMonitoring/:monitoringTypeId", attributes: [ "id", "name", + "region", "severityThreshold", "severityAlertRecipients", ],