From 9c877068c7444d2c1b98a505289129566cc8fff5 Mon Sep 17 00:00:00 2001 From: simvalery Date: Mon, 3 Jul 2023 18:47:02 +0400 Subject: [PATCH] Hotfix 2.14.1 code into main (#2373) * Display validation error when entered passwords do not match Signed-off-by: Iryna Telesheva * Add whitespace validation for create account and login forms Signed-off-by: Iryna Telesheva * Add show/hide functionality for Create account/Login forms Signed-off-by: Iryna Telesheva * Remove error from server from UI, fix error message for the existing username Signed-off-by: Iryna Telesheva * Fix confirm password validation, restore data flow Signed-off-by: Iryna Telesheva * Remove console logs Signed-off-by: Iryna Telesheva * Fix control name Signed-off-by: Iryna Telesheva * Add filtering for standard registries and policies lists Signed-off-by: Iryna Telesheva * Add text for the case when there is no standard registries Signed-off-by: Iryna Telesheva * Fix issues, refactor code Signed-off-by: Iryna Telesheva * Fix issue when the user is unable to distinguish the schema policy based on version Signed-off-by: Iryna Telesheva * Disable action buttons when the form is invalid Signed-off-by: Iryna Telesheva * Mark required fields in forms Signed-off-by: Iryna Telesheva * Add disableClose attribute to modal dialogs, cross icon to some of them Signed-off-by: Iryna Telesheva * Update the UX of Registrant Application form Signed-off-by: Iryna Telesheva * update Signed-off-by: Stepan Kiryakov * swagger Signed-off-by: simvalery * fix PORT in use issue fix build ussues remove unnesessary credentials Signed-off-by: simvalery * fix port generation remove unnesessary credentials Signed-off-by: simvalery * fix mongodb issue remove unnesessary credentials Signed-off-by: simvalery * update * add swagger package remove unnesessary credentials Signed-off-by: simvalery * add swagger package remove unnesessary credentials Signed-off-by: simvalery * GITBOOK-362: Updated Installation guide * update Signed-off-by: Stepan Kiryakov * update Signed-off-by: Stepan Kiryakov * added policy syntax highlighting Signed-off-by: artembuslaev * added policy suggestion mechanism Signed-off-by: Artem Buslaev * fix Signed-off-by: Artem Buslaev * added policy syntax groups constant Signed-off-by: Artem Buslaev * improving perfomance of suggestion algorithm Signed-off-by: Artem Buslaev * added legend for suggestion configuration Signed-off-by: Artem Buslaev * missing mint block tip Signed-off-by: Artem Buslaev * added swagger docs Signed-off-by: Artem Buslaev * changed suggestion algorithm and response Signed-off-by: Artem Buslaev * added syntax highlighting to json block config Signed-off-by: Artem Buslaev * changed suggestion to suggestions Signed-off-by: Artem Buslaev * fix response codes Signed-off-by: Artem Buslaev * change type to blockType Signed-off-by: Artem Buslaev * fix comments Signed-off-by: Artem Buslaev * added missing message memo Signed-off-by: Artem Buslaev * update * fix * fix * fix Signed-off-by: Stepan Kiryakov * added auto-generated swagger docs Signed-off-by: Artem Buslaev * fix Signed-off-by: Artem Buslaev * fix Signed-off-by: Stepan Kiryakov * update Signed-off-by: Stepan Kiryakov * remove api-docs remove unnesessary credentials Signed-off-by: simvalery * fix Signed-off-by: Stepan Kiryakov * Fix issues found during QA testing Signed-off-by: Iryna Telesheva * fix module editing in json Signed-off-by: Artem Buslaev * fix Signed-off-by: Stepan Kiryakov * fix perfomance on select block issue Signed-off-by: Artem Buslaev * fix text Signed-off-by: Stepan Kiryakov * fix text Signed-off-by: Stepan Kiryakov * Create readMe.md * Update readMe.md * Update readMe.md * Add files via upload * Rename Methodology Library/CDM/readme.md to Methodology Library/CDM/CDM AR-ACM0003/readme.md * Add files via upload * Delete CDM.policy * Add files via upload * policy.ts remove unnesessary credentials Signed-off-by: simvalery * fix 2280 remove unnesessary credentials Signed-off-by: simvalery * fix 2242 remove unnesessary credentials Signed-off-by: simvalery * feat: preview and adjustments * Fix issue with action button disabling in token dialog Signed-off-by: Iryna Telesheva * Change filtering by username to geography Signed-off-by: Iryna Telesheva * Change the style of Generate button for SR, Registrant users Signed-off-by: Iryna Telesheva * GITBOOK-364: Separated sections from Installation guide * Add hover state for the generate button Signed-off-by: Iryna Telesheva * enable config view of published modules remove unnesessary credentials Signed-off-by: simvalery * fix module "save as" remove unnesessary credentials Signed-off-by: simvalery * merge develop remove unnesessary credentials Signed-off-by: simvalery * fix bugs remove unnesessary credentials Signed-off-by: simvalery * fix get accounts remove unnesessary credentials Signed-off-by: simvalery * fix status codes remove unnesessary credentials Signed-off-by: simvalery * added ghgp policy [skip ci] Signed-off-by: Artem Buslaev * Updates main ICP policy to v.2.6.1. Signed-off-by: AlexIvanHoward * fix accounts remove unnesessary credentials Signed-off-by: simvalery * GITBOOK-366: Separating Installation methods * fix status codes remove unnesessary credentials Signed-off-by: simvalery * fix permissions remove unnesessary credentials Signed-off-by: simvalery * GITBOOK-369: Corrected manuaaly process * GITBOOK-371: Added Auto Suggestion docs * GITBOOK-372: Added syntax section in themes * docs generation test remove unnesessary credentials Signed-off-by: simvalery * docs generation test remove unnesessary credentials Signed-off-by: simvalery * fix filter in report blocks * added NEW status for vc-document Signed-off-by: Artem Buslaev * fix filter in report blocks Signed-off-by: Stepan Kiryakov * fix invalid status codes remove unnesessary credentials Signed-off-by: simvalery * Solve #1695 AWS Env secret HCP Env secret AZURE Env secret Documentation solve conflicts api-docs Signed-off-by: otherNet * six send VP Signed-off-by: Stepan Kiryakov * fix lint remove unnesessary credentials Signed-off-by: simvalery * update cdm policy [skip ci] Signed-off-by: Artem Buslaev * added cdm ams policy [skip ci] Signed-off-by: Artem Buslaev * GITBOOK-373: added messagesReportBlock * fix status codes remove unnesessary credentials Signed-off-by: simvalery * fix modules remove unnesessary credentials Signed-off-by: simvalery * fix profiles remove unnesessary credentials Signed-off-by: simvalery * fix module states Signed-off-by: Artem Buslaev * fix validation Signed-off-by: simvalery * up hedera sdk version add network name in logs Signed-off-by: Stepan Kiryakov * fix style Signed-off-by: Stepan Kiryakov * fix swagger.yaml generation Signed-off-by: simvalery * fix swagger.yaml generation Signed-off-by: simvalery * fix swagger.yaml generation Signed-off-by: simvalery * Add swagger.yaml * fix swagger.yaml generation Signed-off-by: simvalery * fix swagger.yaml generation Signed-off-by: simvalery * test fix swagger.yaml generation Signed-off-by: simvalery * test fix swagger.yaml generation Signed-off-by: simvalery * test fix swagger.yaml generation Signed-off-by: simvalery * test fix swagger.yaml generation Signed-off-by: simvalery * test fix swagger.yaml generation Signed-off-by: simvalery * Add swagger.yaml * test fix swagger.yaml generation Signed-off-by: simvalery * [skip ci] Add swagger.yaml * save serials * ignore main brunch Signed-off-by: simvalery * GITBOOK-374: Ux in selecting standards update * fix error codes Signed-off-by: simvalery * [skip ci] Add swagger.yaml * add missing keywords for policy syntax Signed-off-by: Artem Buslaev * refactor syntax groups theme storage Signed-off-by: Artem Buslaev * update * fix preset readonly nested schemas Signed-off-by: Artem Buslaev * update Signed-off-by: Stepan Kiryakov * auto fill suggestions config Signed-off-by: Artem Buslaev * fix error codes Signed-off-by: simvalery * fix Signed-off-by: Artem Buslaev * fix permissions Signed-off-by: simvalery * update Signed-off-by: Stepan Kiryakov * fix errors Signed-off-by: simvalery * fix errors Signed-off-by: simvalery * fix error Signed-off-by: simvalery * fix errors Signed-off-by: simvalery * fix error Signed-off-by: simvalery * fix error Signed-off-by: simvalery * fix error Signed-off-by: simvalery * compare modules Signed-off-by: simvalery * [skip ci] Add swagger.yaml * disable vault in api-tests Signed-off-by: simvalery * update policies * compare module Signed-off-by: Stepan Kiryakov * update compare ui Signed-off-by: Stepan Kiryakov * fix search btn Signed-off-by: Stepan Kiryakov * fixes Signed-off-by: simvalery * fix lint Signed-off-by: simvalery * [skip ci] Add swagger.yaml * fix permission Signed-off-by: simvalery * fix permission Signed-off-by: simvalery * fix Signed-off-by: Stepan Kiryakov * #2064 fix mobile menu Signed-off-by: Stepan Kiryakov * merge main Signed-off-by: simvalery * fix Signed-off-by: Stepan Kiryakov * remove latest tags Signed-off-by: simvalery * update serials column [skip ci] Signed-off-by: Artem Buslaev * updated Irec timestamps * fix docker start Signed-off-by: simvalery * updated iREC10 recipient timestamp * GITBOOK-376: Updated iREC timestamps * added copy button to new versions Signed-off-by: Artem Buslaev * fix createDate\updateDate in db * fix navigate * fix disable btn in request block Signed-off-by: Stepan Kiryakov * fix schema cache Signed-off-by: Artem Buslaev * hotfix/form-scroll-buttons Signed-off-by: Iryna Telesheva * Update the initial isShown array value Signed-off-by: Iryna Telesheva * add swagger descriptions Signed-off-by: simvalery * [skip ci] Add swagger.yaml * fix suggestions on deleting policy/module Signed-off-by: Artem Buslaev * use static swagger descriptions if need Signed-off-by: simvalery * [skip ci] Add swagger.yaml * bump version Signed-off-by: simvalery * bump version Signed-off-by: simvalery * [skip ci] Add swagger.yaml * fix lock file Signed-off-by: simvalery * GITBOOK-377: api-architecture-customization * fix update policy Signed-off-by: Stepan Kiryakov * fix any policy change Signed-off-by: simvalery * fix any policy change Signed-off-by: simvalery * bump version Signed-off-by: simvalery * [skip ci] Add swagger.yaml --------- Signed-off-by: Iryna Telesheva Signed-off-by: Stepan Kiryakov Signed-off-by: simvalery Signed-off-by: artembuslaev Signed-off-by: Artem Buslaev Signed-off-by: AlexIvanHoward Signed-off-by: otherNet Co-authored-by: Iryna Telesheva Co-authored-by: Artem Buslaev Co-authored-by: Stepan Kiryakov Co-authored-by: prernaa.agarwal Co-authored-by: Felipe Neuhauss Co-authored-by: AlexIvanHoward Co-authored-by: otherNet Co-authored-by: envision-ci-agent Co-authored-by: Vanessa Lopes Co-authored-by: E. Santiago Co-authored-by: Serg Metelin --- api-gateway/package.json | 6 +- api-gateway/src/api/service/policy.ts | 66 +++++++++++-------- api-tests/package.json | 24 +++---- auth-service/package.json | 6 +- common/package.json | 4 +- frontend/package.json | 2 +- guardian-service/package.json | 6 +- .../policy-engine/policy-engine.service.ts | 13 +++- interfaces/package.json | 2 +- logger-service/package.json | 6 +- mrv-sender/package.json | 24 +++---- package.json | 2 +- policy-service/package.json | 6 +- swagger.yaml | 2 +- topic-viewer/package.json | 2 +- tree-viewer/package.json | 2 +- worker-service/package.json | 26 ++++---- yarn.lock | 32 ++++----- 18 files changed, 125 insertions(+), 106 deletions(-) diff --git a/api-gateway/package.json b/api-gateway/package.json index 1e9f468c25..cb60bb872b 100644 --- a/api-gateway/package.json +++ b/api-gateway/package.json @@ -8,8 +8,8 @@ }, "author": "Envision Blockchain Solutions ", "dependencies": { - "@guardian/common": "^2.14.0", - "@guardian/interfaces": "^2.14.0", + "@guardian/common": "^2.14.1", + "@guardian/interfaces": "^2.14.1", "@nestjs/common": "^9.4.1", "@nestjs/core": "^9.4.1", "@nestjs/jwt": "^10.0.3", @@ -66,5 +66,5 @@ "start": "node dist/index.js", "test": "mocha tests/**/*.test.js --reporter mocha-junit-reporter --reporter-options mochaFile=../test_results/ui-service.xml" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/api-gateway/src/api/service/policy.ts b/api-gateway/src/api/service/policy.ts index 346552c8de..9c1dc654c6 100644 --- a/api-gateway/src/api/service/policy.ts +++ b/api-gateway/src/api/service/policy.ts @@ -94,7 +94,7 @@ export class PolicyApi { pageSize }); } - const {policies, count} = result; + const { policies, count } = result; return res.setHeader('X-Total-Count', count).json(policies); } catch (error) { new Logger().error(error, ['API_GATEWAY']); @@ -157,7 +157,7 @@ export class PolicyApi { async createPolicyAsync(@Req() req, @Response() res): Promise { await checkPermission(UserRole.STANDARD_REGISTRY)(req.user); const taskManager = new TaskManager(); - const {taskId, expectation} = taskManager.start('Create policy'); + const { taskId, expectation } = taskManager.start('Create policy'); const model = req.body; const user = req.user; RunFunctionAsync(async () => { @@ -165,9 +165,9 @@ export class PolicyApi { await engineService.createPolicyAsync(model, user, taskId); }, async (error) => { new Logger().error(error, ['API_GATEWAY']); - taskManager.addError(taskId, {code: 500, message: error.message}); + taskManager.addError(taskId, { code: 500, message: error.message }); }); - return res.status(202).send({taskId, expectation}); + return res.status(202).send({ taskId, expectation }); } @ApiOperation({}) @@ -190,7 +190,7 @@ export class PolicyApi { async updatePolicyAsync(@Req() req, @Response() res): Promise { await checkPermission(UserRole.STANDARD_REGISTRY)(req.user); const taskManager = new TaskManager(); - const {taskId, expectation} = taskManager.start('Clone policy'); + const { taskId, expectation } = taskManager.start('Clone policy'); const policyId = req.params.policyId; const model = req.body; const user = req.user; @@ -220,9 +220,9 @@ export class PolicyApi { await engineService.deletePolicyAsync(policyId, user, taskId); }, async (error) => { new Logger().error(error, ['API_GATEWAY']); - taskManager.addError(taskId, {code: 500, message: error.message}); + taskManager.addError(taskId, { code: 500, message: error.message }); }); - return res.status(202).send({taskId, expectation}); + return res.status(202).send({ taskId, expectation }); } @ApiOperation({ @@ -285,10 +285,18 @@ export class PolicyApi { async updatePolicy(@Req() req, @Response() res): Promise { await checkPermission(UserRole.STANDARD_REGISTRY)(req.user); const engineService = new PolicyEngine(); + let model: any; + try { + model = await engineService.getPolicy({filters: req.params.policyId}) as any; + } catch (error) { + new Logger().error(error, ['API_GATEWAY']); + throw new HttpException(error.message, HttpStatus.INTERNAL_SERVER_ERROR); + } + if (!model) { + throw new HttpException('Policy does not exist.', HttpStatus.NOT_FOUND) + } try { - const model = await engineService.getPolicy({filters: req.params.policyId}) as any; const policy = req.body; - model.config = policy.config; model.name = policy.name; model.version = policy.version; @@ -360,7 +368,7 @@ export class PolicyApi { async publishPolicyAsync(@Req() req, @Response() res): Promise { await checkPermission(UserRole.STANDARD_REGISTRY)(req.user); const taskManager = new TaskManager(); - const {taskId, expectation} = taskManager.start('Publish policy'); + const { taskId, expectation } = taskManager.start('Publish policy'); const model = req.body; const user = req.user; @@ -370,10 +378,10 @@ export class PolicyApi { await engineService.publishPolicyAsync(model, user, policyId, taskId); }, async (error) => { new Logger().error(error, ['API_GATEWAY']); - taskManager.addError(taskId, {code: 500, message: error.message || error}); + taskManager.addError(taskId, { code: 500, message: error.message || error }); }); - return res.status(202).send({taskId, expectation}); + return res.status(202).send({ taskId, expectation }); } @ApiOperation({ @@ -757,7 +765,7 @@ export class PolicyApi { const engineService = new PolicyEngine(); try { const policyFile: any = await engineService.exportFile(req.user, req.params.policyId); - const policy: any = await engineService.getPolicy({filters: req.params.policyId}); + const policy: any = await engineService.getPolicy({ filters: req.params.policyId }); res.setHeader('Content-disposition', `attachment; filename=${policy.name}`); res.setHeader('Content-type', 'application/zip'); return res.send(policyFile); @@ -854,7 +862,7 @@ export class PolicyApi { async importPolicyFromMessageAsync(@Req() req, @Response() res): Promise { await checkPermission(UserRole.STANDARD_REGISTRY)(req.user); const taskManager = new TaskManager(); - const {taskId, expectation} = taskManager.start('Import policy message'); + const { taskId, expectation } = taskManager.start('Import policy message'); const user = req.user; const messageId = req.body.messageId; @@ -864,9 +872,9 @@ export class PolicyApi { await engineService.importMessageAsync(user, messageId, versionOfTopicId, taskId); }, async (error) => { new Logger().error(error, ['API_GATEWAY']); - taskManager.addError(taskId, {code: 500, message: 'Unknown error: ' + error.message}); + taskManager.addError(taskId, { code: 500, message: 'Unknown error: ' + error.message }); }); - return res.status(202).send({taskId, expectation}); + return res.status(202).send({ taskId, expectation }); } @ApiOperation({ @@ -925,7 +933,7 @@ export class PolicyApi { async importPolicyFromFileAsync(@Req() req, @Response() res): Promise { await checkPermission(UserRole.STANDARD_REGISTRY)(req.user); const taskManager = new TaskManager(); - const {taskId, expectation} = taskManager.start('Import policy file'); + const { taskId, expectation } = taskManager.start('Import policy file'); const user = req.user; const zip = req.body; @@ -935,9 +943,9 @@ export class PolicyApi { await engineService.importFileAsync(user, zip, versionOfTopicId, taskId); }, async (error) => { new Logger().error(error, ['API_GATEWAY']); - taskManager.addError(taskId, {code: 500, message: 'Unknown error: ' + error.message}); + taskManager.addError(taskId, { code: 500, message: 'Unknown error: ' + error.message }); }); - return res.status(202).send({taskId, expectation}); + return res.status(202).send({ taskId, expectation }); } @ApiOperation({ @@ -994,7 +1002,7 @@ export class PolicyApi { async importFromMessagePreview(@Req() req, @Response() res) { await checkPermission(UserRole.STANDARD_REGISTRY)(req.user); const taskManager = new TaskManager(); - const {taskId, expectation} = taskManager.start('Preview policy message'); + const { taskId, expectation } = taskManager.start('Preview policy message'); const user = req.user; const messageId = req.body.messageId; @@ -1003,10 +1011,10 @@ export class PolicyApi { await engineService.importMessagePreviewAsync(user, messageId, taskId); }, async (error) => { new Logger().error(error, ['API_GATEWAY']); - taskManager.addError(taskId, {code: 500, message: 'Unknown error: ' + error.message}); + taskManager.addError(taskId, { code: 500, message: 'Unknown error: ' + error.message }); }); - return res.status(202).send({taskId, expectation}); + return res.status(202).send({ taskId, expectation }); } @ApiOperation({ @@ -1060,7 +1068,7 @@ export class PolicyApi { const engineService = new PolicyEngine(); let policy; try { - policy = await engineService.getPolicy({filters: req.params.policyId}) as any; + policy = await engineService.getPolicy({ filters: req.params.policyId }) as any; } catch (error) { new Logger().error(error, ['API_GATEWAY']); throw new HttpException(error.message, HttpStatus.INTERNAL_SERVER_ERROR); @@ -1086,7 +1094,7 @@ export class PolicyApi { const engineService = new PolicyEngine(); let policy; try { - policy = await engineService.getPolicy({filters: req.params.policyId}) as any; + policy = await engineService.getPolicy({ filters: req.params.policyId }) as any; } catch (error) { new Logger().error(error, ['API_GATEWAY']); throw new HttpException(error.message, HttpStatus.INTERNAL_SERVER_ERROR); @@ -1112,7 +1120,7 @@ export class PolicyApi { const engineService = new PolicyEngine(); let policy; try { - policy = await engineService.getPolicy({filters: req.params.policyId}) as any; + policy = await engineService.getPolicy({ filters: req.params.policyId }) as any; } catch (error) { new Logger().error(error, ['API_GATEWAY']); throw new HttpException(error.message, HttpStatus.INTERNAL_SERVER_ERROR); @@ -1138,7 +1146,7 @@ export class PolicyApi { const engineService = new PolicyEngine(); let policy; try { - policy = await engineService.getPolicy({filters: req.params.policyId}) as any; + policy = await engineService.getPolicy({ filters: req.params.policyId }) as any; } catch (error) { new Logger().error(error, ['API_GATEWAY']); throw new HttpException(error.message, HttpStatus.INTERNAL_SERVER_ERROR); @@ -1164,7 +1172,7 @@ export class PolicyApi { const engineService = new PolicyEngine(); let policy; try { - policy = await engineService.getPolicy({filters: req.params.policyId}) as any; + policy = await engineService.getPolicy({ filters: req.params.policyId }) as any; } catch (error) { new Logger().error(error, ['API_GATEWAY']); throw new HttpException(error.message, HttpStatus.INTERNAL_SERVER_ERROR); @@ -1197,7 +1205,7 @@ export class PolicyApi { const engineService = new PolicyEngine(); let policy; try { - policy = await engineService.getPolicy({filters: req.params.policyId}) as any; + policy = await engineService.getPolicy({ filters: req.params.policyId }) as any; } catch (error) { new Logger().error(error, ['API_GATEWAY']); throw new HttpException(error.message, HttpStatus.INTERNAL_SERVER_ERROR); @@ -1231,7 +1239,7 @@ export class PolicyApi { const engineService = new PolicyEngine(); let policy; try { - policy = await engineService.getPolicy({filters: req.params.policyId}) as any; + policy = await engineService.getPolicy({ filters: req.params.policyId }) as any; } catch (error) { new Logger().error(error, ['API_GATEWAY']); throw new HttpException(error.message, HttpStatus.INTERNAL_SERVER_ERROR); diff --git a/api-tests/package.json b/api-tests/package.json index 156d8eb292..11ecd72f16 100644 --- a/api-tests/package.json +++ b/api-tests/package.json @@ -1,16 +1,16 @@ { - "name": "api-tests", - "version": "2.14.0", - "description": "API Tests", - "main": "index.js", - "scripts": { - "test": "mocha index.js", - "test:ci": "mocha index.js --reporter mocha-junit-reporter --reporter-options mochaFile=../test_results/api-tests.xml" - }, - "author": "Envision Blockchain Solutions ", - "license": "Apache-2.0", - "devDependencies": { - "chai": "^4.3.5", + "name": "api-tests", + "version": "2.14.1", + "description": "API Tests", + "main": "index.js", + "scripts": { + "test": "mocha index.js", + "test:ci": "mocha index.js --reporter mocha-junit-reporter --reporter-options mochaFile=../test_results/api-tests.xml" + }, + "author": "Envision Blockchain Solutions ", + "license": "Apache-2.0", + "devDependencies": { + "chai": "^4.3.5", "mocha": "^9.2.0", "mocha-junit-reporter": "^2.0.2", "tree-kill": "^1.2.2" diff --git a/auth-service/package.json b/auth-service/package.json index c2b3f77cff..b1fc1606b5 100644 --- a/auth-service/package.json +++ b/auth-service/package.json @@ -6,8 +6,8 @@ }, "author": "Envision Blockchain Solutions ", "dependencies": { - "@guardian/common": "^2.14.0", - "@guardian/interfaces": "^2.14.0", + "@guardian/common": "^2.14.1", + "@guardian/interfaces": "^2.14.1", "@mikro-orm/core": "~5.7.12", "@mikro-orm/mongodb": "~5.7.12", "@nestjs/common": "^9.4.1", @@ -53,5 +53,5 @@ "start": "node dist/index.js", "test": "mocha tests/**/*.test.js --reporter mocha-junit-reporter --reporter-options mochaFile=../test_results/ui-service.xml" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/common/package.json b/common/package.json index cb83c770b4..57c91ebfd0 100644 --- a/common/package.json +++ b/common/package.json @@ -4,7 +4,7 @@ "@aws-sdk/client-secrets-manager": "^3.319.0", "@azure/identity": "^3.2.2", "@azure/keyvault-secrets": "^4.7.0", - "@guardian/interfaces": "^2.14.0", + "@guardian/interfaces": "^2.14.1", "@hashgraph/sdk": "2.24.2", "@mattrglobal/jsonld-signatures-bbs": "^1.1.2", "@meeco/cryppo": "^2.0.2", @@ -65,5 +65,5 @@ "test:local": "mocha tests/**/*.test.js --exit", "test:stability": "mocha tests/stability.test.js" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/frontend/package.json b/frontend/package.json index c46fe5c1a5..65704d88f0 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -67,5 +67,5 @@ "test": "ng test", "watch": "ng build --watch --configuration development --output-path ../www-data" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/guardian-service/package.json b/guardian-service/package.json index f12b5656fd..c6f5c5b921 100644 --- a/guardian-service/package.json +++ b/guardian-service/package.json @@ -12,8 +12,8 @@ }, "author": "Envision Blockchain Solutions ", "dependencies": { - "@guardian/common": "^2.14.0", - "@guardian/interfaces": "^2.14.0", + "@guardian/common": "^2.14.1", + "@guardian/interfaces": "^2.14.1", "@hashgraph/sdk": "2.24.2", "@mattrglobal/jsonld-signatures-bbs": "^1.1.2", "@meeco/cryppo": "^2.0.2", @@ -85,5 +85,5 @@ "test:local": "mocha tests/**/*.test.js --exit", "test:stability": "mocha tests/stability.test.js" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/guardian-service/src/policy-engine/policy-engine.service.ts b/guardian-service/src/policy-engine/policy-engine.service.ts index 4301f38b6c..dfeccb215f 100644 --- a/guardian-service/src/policy-engine/policy-engine.service.ts +++ b/guardian-service/src/policy-engine/policy-engine.service.ts @@ -356,7 +356,18 @@ export class PolicyEngineService { this.channel.getMessages(PolicyEngineEvents.SAVE_POLICIES, async (msg) => { try { - const result = await DatabaseServer.updatePolicyConfig(msg.policyId, msg.model); + const { policyId, model, user } = msg; + const policy = await DatabaseServer.getPolicyById(policyId); + if (!policy) { + throw new Error('Policy does not exist.'); + } + if (policy.owner !== user.did) { + throw new Error('Insufficient permissions to update the policy.'); + } + if (policy.status !== PolicyType.DRAFT) { + throw new Error('Policy is not in draft status.'); + } + const result = await DatabaseServer.updatePolicyConfig(policyId, model); return new MessageResponse(result); } catch (error) { new Logger().error(error, ['GUARDIAN_SERVICE']); diff --git a/interfaces/package.json b/interfaces/package.json index 9627967f64..2866152230 100644 --- a/interfaces/package.json +++ b/interfaces/package.json @@ -25,5 +25,5 @@ "prepack": "npm run build", "test": "echo \"Error: no test specified\" && exit 1" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/logger-service/package.json b/logger-service/package.json index 0f66f801c9..edf81b755e 100644 --- a/logger-service/package.json +++ b/logger-service/package.json @@ -1,8 +1,8 @@ { "author": "Envision Blockchain Solutions ", "dependencies": { - "@guardian/common": "^2.14.0", - "@guardian/interfaces": "^2.14.0", + "@guardian/common": "^2.14.1", + "@guardian/interfaces": "^2.14.1", "@mikro-orm/core": "~5.7.12", "@mikro-orm/mongodb": "~5.7.12", "@nestjs/common": "^9.4.1", @@ -40,5 +40,5 @@ "start": "node dist/index.js", "watch": "nodemon src/index.ts" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/mrv-sender/package.json b/mrv-sender/package.json index aa77276d25..eb32da11e4 100644 --- a/mrv-sender/package.json +++ b/mrv-sender/package.json @@ -1,17 +1,17 @@ { "author": "Envision Blockchain Solutions ", "dependencies": { - "@guardian/common": "^2.14.0", - "@transmute/credentials-context": "0.7.0-unstable.80", - "@transmute/did-context": "0.7.0-unstable.80", - "@transmute/ed25519-signature-2018": "0.7.0-unstable.80", - "@transmute/json-web-signature": "0.7.0-unstable.80", - "@transmute/jsonld-schema": "0.7.0-unstable.80", - "@transmute/security-context": "0.7.0-unstable.80", - "@transmute/vc.js": "0.7.0-unstable.80", - "axios": "^1.3.6", - "express": "^4.17.3", - "jose": "4.14.1", + "@guardian/common": "^2.14.1", + "@transmute/credentials-context": "0.7.0-unstable.80", + "@transmute/did-context": "0.7.0-unstable.80", + "@transmute/ed25519-signature-2018": "0.7.0-unstable.80", + "@transmute/json-web-signature": "0.7.0-unstable.80", + "@transmute/jsonld-schema": "0.7.0-unstable.80", + "@transmute/security-context": "0.7.0-unstable.80", + "@transmute/vc.js": "0.7.0-unstable.80", + "axios": "^1.3.6", + "express": "^4.17.3", + "jose": "4.14.1", "prom-client": "^14.1.1", "prometheus-api-metrics": "3.2.2" }, @@ -32,5 +32,5 @@ "dev:docker": "nodemon .", "start": "node dist/index.js" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/package.json b/package.json index 4b8a913134..121ab090fd 100644 --- a/package.json +++ b/package.json @@ -16,5 +16,5 @@ "policy-service", "api-tests" ], - "version": "2.14.0" + "version": "2.14.1" } diff --git a/policy-service/package.json b/policy-service/package.json index bea8b3be70..a28ec80bac 100644 --- a/policy-service/package.json +++ b/policy-service/package.json @@ -11,8 +11,8 @@ }, "author": "Envision Blockchain Solutions ", "dependencies": { - "@guardian/common": "^2.14.0", - "@guardian/interfaces": "^2.14.0", + "@guardian/common": "^2.14.1", + "@guardian/interfaces": "^2.14.1", "@hashgraph/sdk": "2.24.2", "@mattrglobal/jsonld-signatures-bbs": "^1.1.2", "@meeco/cryppo": "^2.0.2", @@ -82,5 +82,5 @@ "test:local": "mocha tests/**/*.test.js", "test:stability": "mocha tests/stability.test.js" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/swagger.yaml b/swagger.yaml index a74f230b6a..248efd1d02 100644 --- a/swagger.yaml +++ b/swagger.yaml @@ -6760,7 +6760,7 @@ info: the heart of the Guardian solution is a sophisticated Policy Workflow Engine (PWE) that enables applications to offer a requirements-based tokenization implementation. - version: 2.14.0 + version: 2.14.1 contact: name: API developer url: https://envisionblockchain.com diff --git a/topic-viewer/package.json b/topic-viewer/package.json index c54102c548..7964920612 100644 --- a/topic-viewer/package.json +++ b/topic-viewer/package.json @@ -22,5 +22,5 @@ "dev": "tsc -w", "start": "node dist/index.js" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/tree-viewer/package.json b/tree-viewer/package.json index c374d4f6de..feb07b7014 100644 --- a/tree-viewer/package.json +++ b/tree-viewer/package.json @@ -20,5 +20,5 @@ "dev": "tsc -w", "start": "node dist/index.js" }, - "version": "2.14.0" + "version": "2.14.1" } diff --git a/worker-service/package.json b/worker-service/package.json index 5558bb1bdc..135fa394d5 100644 --- a/worker-service/package.json +++ b/worker-service/package.json @@ -1,18 +1,18 @@ { "author": "Envision Blockchain Solutions ", "dependencies": { - "@guardian/common": "^2.13.1", - "@guardian/interfaces": "^2.13.1", - "@hashgraph/sdk": "2.24.2", - "@transmute/credentials-context": "^0.7.0-unstable.80", - "@transmute/did-context": "^0.7.0-unstable.80", - "@transmute/ed25519-signature-2018": "^0.7.0-unstable.80", - "@transmute/json-web-signature": "^0.7.0-unstable.80", - "@transmute/jsonld-schema": "^0.7.0-unstable.80", - "@transmute/security-context": "^0.7.0-unstable.80", - "@transmute/vc.js": "^0.7.0-unstable.80", - "axios": "^1.3.6", - "axios-retry": "^3.2.4", + "@guardian/common": "^2.14.1", + "@guardian/interfaces": "^2.14.1", + "@hashgraph/sdk": "2.24.2", + "@transmute/credentials-context": "^0.7.0-unstable.80", + "@transmute/did-context": "^0.7.0-unstable.80", + "@transmute/ed25519-signature-2018": "^0.7.0-unstable.80", + "@transmute/json-web-signature": "^0.7.0-unstable.80", + "@transmute/jsonld-schema": "^0.7.0-unstable.80", + "@transmute/security-context": "^0.7.0-unstable.80", + "@transmute/vc.js": "^0.7.0-unstable.80", + "axios": "^1.3.6", + "axios-retry": "^3.2.4", "cross-blob": "^2.0.1", "dotenv": "^16.0.0", "ipfs-client": "0.5.0", @@ -49,5 +49,5 @@ "start": "node dist/index.js", "test": "mocha tests/**/*.test.js --reporter mocha-junit-reporter --reporter-options mochaFile=../test_results/worker-service.xml --exit" }, - "version": "2.13.1" + "version": "2.14.1" } diff --git a/yarn.lock b/yarn.lock index a92e2e9c2c..796212b210 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1260,14 +1260,14 @@ __metadata: languageName: node linkType: hard -"@guardian/common@^2.13.1, @guardian/common@^2.14.0, @guardian/common@workspace:common": +"@guardian/common@^2.14.1, @guardian/common@workspace:common": version: 0.0.0-use.local resolution: "@guardian/common@workspace:common" dependencies: "@aws-sdk/client-secrets-manager": ^3.319.0 "@azure/identity": ^3.2.2 "@azure/keyvault-secrets": ^4.7.0 - "@guardian/interfaces": ^2.14.0 + "@guardian/interfaces": ^2.14.1 "@hashgraph/sdk": 2.24.2 "@mattrglobal/jsonld-signatures-bbs": ^1.1.2 "@meeco/cryppo": ^2.0.2 @@ -1310,7 +1310,7 @@ __metadata: languageName: unknown linkType: soft -"@guardian/interfaces@^2.13.1, @guardian/interfaces@^2.14.0, @guardian/interfaces@workspace:interfaces": +"@guardian/interfaces@^2.14.1, @guardian/interfaces@workspace:interfaces": version: 0.0.0-use.local resolution: "@guardian/interfaces@workspace:interfaces" dependencies: @@ -3232,8 +3232,8 @@ __metadata: version: 0.0.0-use.local resolution: "api-gateway@workspace:api-gateway" dependencies: - "@guardian/common": ^2.14.0 - "@guardian/interfaces": ^2.14.0 + "@guardian/common": ^2.14.1 + "@guardian/interfaces": ^2.14.1 "@nestjs/common": ^9.4.1 "@nestjs/core": ^9.4.1 "@nestjs/jwt": ^10.0.3 @@ -3456,8 +3456,8 @@ __metadata: version: 0.0.0-use.local resolution: "auth-service@workspace:auth-service" dependencies: - "@guardian/common": ^2.14.0 - "@guardian/interfaces": ^2.14.0 + "@guardian/common": ^2.14.1 + "@guardian/interfaces": ^2.14.1 "@mikro-orm/core": ~5.7.12 "@mikro-orm/mongodb": ~5.7.12 "@nestjs/common": ^9.4.1 @@ -5972,8 +5972,8 @@ __metadata: version: 0.0.0-use.local resolution: "guardian-service@workspace:guardian-service" dependencies: - "@guardian/common": ^2.14.0 - "@guardian/interfaces": ^2.14.0 + "@guardian/common": ^2.14.1 + "@guardian/interfaces": ^2.14.1 "@hashgraph/sdk": 2.24.2 "@mattrglobal/jsonld-signatures-bbs": ^1.1.2 "@meeco/cryppo": ^2.0.2 @@ -7973,8 +7973,8 @@ __metadata: version: 0.0.0-use.local resolution: "logger-service@workspace:logger-service" dependencies: - "@guardian/common": ^2.14.0 - "@guardian/interfaces": ^2.14.0 + "@guardian/common": ^2.14.1 + "@guardian/interfaces": ^2.14.1 "@mikro-orm/core": ~5.7.12 "@mikro-orm/mongodb": ~5.7.12 "@nestjs/common": ^9.4.1 @@ -8601,7 +8601,7 @@ __metadata: version: 0.0.0-use.local resolution: "mrv-sender@workspace:mrv-sender" dependencies: - "@guardian/common": ^2.14.0 + "@guardian/common": ^2.14.1 "@transmute/credentials-context": 0.7.0-unstable.80 "@transmute/did-context": 0.7.0-unstable.80 "@transmute/ed25519-signature-2018": 0.7.0-unstable.80 @@ -9573,8 +9573,8 @@ __metadata: version: 0.0.0-use.local resolution: "policy-service@workspace:policy-service" dependencies: - "@guardian/common": ^2.14.0 - "@guardian/interfaces": ^2.14.0 + "@guardian/common": ^2.14.1 + "@guardian/interfaces": ^2.14.1 "@hashgraph/sdk": 2.24.2 "@mattrglobal/jsonld-signatures-bbs": ^1.1.2 "@meeco/cryppo": ^2.0.2 @@ -12002,8 +12002,8 @@ __metadata: version: 0.0.0-use.local resolution: "worker-service@workspace:worker-service" dependencies: - "@guardian/common": ^2.13.1 - "@guardian/interfaces": ^2.13.1 + "@guardian/common": ^2.14.1 + "@guardian/interfaces": ^2.14.1 "@hashgraph/sdk": 2.24.2 "@transmute/credentials-context": ^0.7.0-unstable.80 "@transmute/did-context": ^0.7.0-unstable.80