From 5368bc0cabab0de364efcbf98b5580ab006a2619 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Mon, 27 Jun 2022 21:12:39 +0530 Subject: [PATCH 001/169] Fixed database issue. Fixed file resource routes. --- package-lock.json | 56 ++-- package.json | 1 - ...n.service.workflow.postman_collection.json | 300 +++++++++++++----- .../file.resource.controller.delegate.ts | 227 ++++++------- .../file.resource/file.resource.controller.ts | 60 ++-- src/api/file.resource/file.resource.routes.ts | 18 +- src/app.ts | 12 +- src/auth/authenticator.ts | 5 + src/database/database.connector.ts | 146 +++------ src/database/database.model.manager.ts | 2 +- src/database/db.client.ts | 59 ++++ src/database/mappers/file.resource.mapper.ts | 25 -- src/database/models/api.client.model.ts | 136 ++++---- .../models/assets/action.plan.model.ts | 126 ++++---- src/database/models/assets/animation.model.ts | 148 ++++----- .../models/assets/appointment.model.ts | 136 ++++---- src/database/models/assets/article.model.ts | 148 ++++----- .../models/assets/assessment.model.ts | 136 ++++---- src/database/models/assets/audio.model.ts | 148 ++++----- .../models/assets/biometrics.model.ts | 142 ++++----- src/database/models/assets/challenge.model.ts | 126 ++++---- src/database/models/assets/checkup.model.ts | 141 ++++---- .../models/assets/consultation.model.ts | 134 ++++---- src/database/models/assets/exercise.model.ts | 154 +++++---- src/database/models/assets/goal.model.ts | 126 ++++---- .../models/assets/infographics.model.ts | 148 ++++----- .../models/assets/medication.model.ts | 126 ++++---- .../models/assets/meditation.model.ts | 146 ++++----- src/database/models/assets/message.model.ts | 142 ++++----- src/database/models/assets/nutrition.model.ts | 126 ++++---- .../models/assets/physiotherapy.model.ts | 151 ++++----- src/database/models/assets/priority.model.ts | 126 ++++---- .../models/assets/reflection.model.ts | 126 ++++---- src/database/models/assets/reminder.model.ts | 126 ++++---- src/database/models/assets/video.model.ts | 167 +++++----- src/database/models/assets/web.link.model.ts | 134 ++++---- .../models/assets/web.newsfeed.model.ts | 134 ++++---- .../models/assets/word.power.model.ts | 136 ++++---- .../careplan/careplan.category.model.ts | 80 ++--- .../models/careplan/careplan.model.ts | 137 ++++---- .../careplan/careplan.schedule.model.ts | 112 +++---- .../models/enrollment/enrollment.model.ts | 140 ++++---- .../enrollment/enrollment.schedule.model.ts | 150 ++++----- src/database/models/file.resource.model.ts | 127 ++++---- src/database/models/role.model.ts | 84 +++-- src/database/models/role.privilege.model.ts | 94 +++--- .../user.activity.response.model.ts | 160 +++++----- .../user.selected.action.plan.model.ts | 159 +++++----- .../user.selected.goal.model.ts | 159 +++++----- .../user.selected.priority.model.ts | 132 ++++---- .../models/user/user.login.session.model.ts | 100 +++--- src/database/models/user/user.model.ts | 164 +++++----- src/database/models/user/user.otp.model.ts | 128 ++++---- src/database/models/user/user.role.model.ts | 112 +++---- .../repository.services/api.client.service.ts | 2 +- .../assets/action.plan.service.ts | 4 +- .../assets/animation.service.ts | 6 +- .../assets/appointment.service.ts | 4 +- .../assets/article.service.ts | 6 +- .../assets/assessment.service.ts | 4 +- .../assets/audio.service.ts | 6 +- .../assets/biometrics.service.ts | 4 +- .../assets/challenge.service.ts | 4 +- .../assets/checkup.service.ts | 4 +- .../assets/consultation.service.ts | 4 +- .../assets/exercise.service.ts | 4 +- .../assets/goal.service.ts | 4 +- .../assets/infographics.service.ts | 6 +- .../assets/medication.service.ts | 4 +- .../assets/meditation.service.ts | 4 +- .../assets/message.service.ts | 4 +- .../assets/nutrition.service.ts | 4 +- .../assets/physiotherapy.service.ts | 4 +- .../assets/priority.service.ts | 4 +- .../assets/reflection.service.ts | 4 +- .../assets/reminder.service.ts | 4 +- .../assets/video.service.ts | 6 +- .../assets/web.link.service.ts | 7 +- .../assets/web.newsfeed.service.ts | 4 +- .../assets/word.power.service.ts | 4 +- .../careplan/careplan.category.service.ts | 2 +- .../careplan/careplan.schedule.service.ts | 4 +- .../careplan/careplan.service.ts | 6 +- .../enrollment/enrollment.schedule.service.ts | 10 +- .../enrollment/enrollment.service.ts | 6 +- .../file.resource.service.ts | 47 +-- .../role.privilege.service.ts | 2 +- .../repository.services/role.service.ts | 2 +- .../user.activity.response.service.ts | 10 +- .../user.selected.action.plan.service.ts | 6 +- .../user.selected.goal.service.ts | 6 +- .../user.selected.priority.service.ts | 6 +- .../user/user.otp.service.ts | 2 +- .../user/user.role.service.ts | 6 +- .../repository.services/user/user.service.ts | 8 +- .../file.resource.domain.types.ts | 53 +--- 96 files changed, 3211 insertions(+), 3618 deletions(-) create mode 100644 src/database/db.client.ts delete mode 100644 src/database/mappers/file.resource.mapper.ts diff --git a/package-lock.json b/package-lock.json index 118cf92..9c7847a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,6 @@ "readdirp": "^3.6.0", "reflect-metadata": "^0.1.13", "sequelize": "^6.15.0", - "sequelize-typescript": "^2.1.0", "sharp": "^0.30.0", "sleep": "^6.3.0", "timezone-support": "^2.0.2", @@ -3023,7 +3022,8 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/base64-js": { "version": "1.5.1", @@ -3135,6 +3135,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3500,7 +3501,8 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "node_modules/confusing-browser-globals": { "version": "1.0.11", @@ -4851,7 +4853,8 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "node_modules/fsevents": { "version": "2.3.2", @@ -5056,6 +5059,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5427,6 +5431,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6892,6 +6897,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -7425,6 +7431,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8317,23 +8324,6 @@ "node": ">= 10.0.0" } }, - "node_modules/sequelize-typescript": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/sequelize-typescript/-/sequelize-typescript-2.1.3.tgz", - "integrity": "sha512-0mejGAaLywuCoOOLSXCQs2sMBNudU/QtWZkGY5VT2dfTHToXZi5bOxCa3/CukNNk7wJwXnLuIdeHdlqjvVoj1g==", - "dependencies": { - "glob": "7.2.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "@types/validator": "*", - "reflect-metadata": "*", - "sequelize": ">=6.8.0" - } - }, "node_modules/serve-static": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", @@ -12202,7 +12192,8 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "base64-js": { "version": "1.5.1", @@ -12283,6 +12274,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -12559,7 +12551,8 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "confusing-browser-globals": { "version": "1.0.11", @@ -13607,7 +13600,8 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fsevents": { "version": "2.3.2", @@ -13762,6 +13756,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -14025,6 +14020,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -15165,6 +15161,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -15579,7 +15576,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-key": { "version": "3.1.1", @@ -16200,14 +16198,6 @@ "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-7.1.0.tgz", "integrity": "sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==" }, - "sequelize-typescript": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/sequelize-typescript/-/sequelize-typescript-2.1.3.tgz", - "integrity": "sha512-0mejGAaLywuCoOOLSXCQs2sMBNudU/QtWZkGY5VT2dfTHToXZi5bOxCa3/CukNNk7wJwXnLuIdeHdlqjvVoj1g==", - "requires": { - "glob": "7.2.0" - } - }, "serve-static": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", diff --git a/package.json b/package.json index b146ad2..12d2459 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,6 @@ "readdirp": "^3.6.0", "reflect-metadata": "^0.1.13", "sequelize": "^6.15.0", - "sequelize-typescript": "^2.1.0", "sharp": "^0.30.0", "sleep": "^6.3.0", "timezone-support": "^2.0.2", diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index 3c45095..ab6c566 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -209,6 +209,156 @@ "name": "User management", "item": [] }, + { + "name": "File resources - upload and download", + "item": [ + { + "name": "Upload file", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"FILE_RESOURCE_ID\", respData.Data.id);\r", + " pm.environment.set(\"FILE_RESOURCE_URL\", respData.Data.Url);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New file resource record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('OriginalFilename');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('MimeType');\r", + " pm.expect(jsonRes.Data).to.have.property('Public');\r", + " pm.expect(jsonRes.Data).to.have.property('Size');\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/octet-stream", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{MODERATOR_JWT}}", + "type": "text" + }, + { + "key": "Filename", + "value": "kk.jpg", + "type": "text" + }, + { + "key": "Public", + "value": "true", + "type": "text" + } + ], + "body": { + "mode": "file", + "file": { + "src": "/D:/graduation-cap.png" + } + }, + "url": { + "raw": "{{BASE_URL}}/file-resources/upload", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "file-resources", + "upload" + ] + } + }, + "response": [] + }, + { + "name": "Download", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{MODERATOR_JWT}}", + "type": "text" + } + ], + "url": { + "raw": "{{BASE_URL}}/file-resources/download/{{FILE_RESOURCE_ID}}?disposition=attachment", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "file-resources", + "download", + "{{FILE_RESOURCE_ID}}" + ], + "query": [ + { + "key": "disposition", + "value": "attachment" + } + ] + } + }, + "response": [] + }, + { + "name": "Get by id", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{MODERATOR_JWT}}", + "type": "text" + } + ], + "url": { + "raw": "{{BASE_URL}}/file-resources/{{FILE_RESOURCE_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "file-resources", + "{{FILE_RESOURCE_ID}}" + ] + } + }, + "response": [] + } + ] + }, { "name": "Api client", "item": [ @@ -1512,7 +1662,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -1526,7 +1675,8 @@ "\r", "pm.test('New article record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -1541,7 +1691,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -1748,7 +1898,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -1762,7 +1911,8 @@ "\r", "pm.test('New assessment record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -1777,7 +1927,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -1984,7 +2134,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -1998,7 +2147,8 @@ "\r", "pm.test('New audio record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -2013,7 +2163,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -2220,7 +2370,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2234,7 +2383,8 @@ "\r", "pm.test('New biometrics record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -2249,7 +2399,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -2460,7 +2610,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2474,7 +2623,8 @@ "\r", "pm.test('New nutrition record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -2489,7 +2639,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -2692,7 +2842,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2706,7 +2855,8 @@ "\r", "pm.test('New physiotherapy record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -2721,7 +2871,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -2928,7 +3078,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2942,7 +3091,8 @@ "\r", "pm.test('New priority record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -2957,7 +3107,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -3160,7 +3310,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3174,7 +3323,8 @@ "\r", "pm.test('New reflection record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -3189,7 +3339,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -3392,7 +3542,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3406,7 +3555,8 @@ "\r", "pm.test('New reminder record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -3421,7 +3571,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -3624,7 +3774,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3638,7 +3787,8 @@ "\r", "pm.test('New video record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -3653,7 +3803,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -3860,7 +4010,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3874,7 +4023,8 @@ "\r", "pm.test('New web link record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -3889,7 +4039,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -4096,7 +4246,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4110,7 +4259,8 @@ "\r", "pm.test('New web newsfeed record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -4125,7 +4275,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -4332,7 +4482,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4346,7 +4495,8 @@ "\r", "pm.test('New word power record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -4361,7 +4511,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -4568,7 +4718,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4582,7 +4731,8 @@ "\r", "pm.test('New challenge record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -4597,7 +4747,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -4800,7 +4950,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4814,7 +4963,8 @@ "\r", "pm.test('New checkup record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -4829,7 +4979,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -5032,7 +5182,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5046,7 +5195,8 @@ "\r", "pm.test('New consultation record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -5061,7 +5211,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -5268,7 +5418,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5282,7 +5431,8 @@ "\r", "pm.test('New exercise record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -5297,7 +5447,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -5512,7 +5662,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5526,7 +5675,8 @@ "\r", "pm.test('New goal record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -5541,7 +5691,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -5744,7 +5894,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5758,7 +5907,8 @@ "\r", "pm.test('New infographics record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -5773,7 +5923,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -5980,7 +6130,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5994,7 +6143,8 @@ "\r", "pm.test('New medication record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -6009,7 +6159,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -6212,7 +6362,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6226,7 +6375,8 @@ "\r", "pm.test('New meditation record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -6241,7 +6391,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -6452,7 +6602,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6466,7 +6615,8 @@ "\r", "pm.test('New message record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -6481,7 +6631,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -6690,7 +6840,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6704,7 +6853,8 @@ "\r", "pm.test('New careplan category record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -6719,7 +6869,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -6901,7 +7051,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6915,7 +7064,8 @@ "\r", "pm.test('New care plan record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -6930,7 +7080,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -7132,7 +7282,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -7146,7 +7295,8 @@ "\r", "pm.test('New careplan schedule record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -7161,7 +7311,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { diff --git a/src/api/file.resource/file.resource.controller.delegate.ts b/src/api/file.resource/file.resource.controller.delegate.ts index 6157298..b192db8 100644 --- a/src/api/file.resource/file.resource.controller.delegate.ts +++ b/src/api/file.resource/file.resource.controller.delegate.ts @@ -1,27 +1,13 @@ -import { - FileResourceService -} from '../../database/repository.services/file.resource.service'; -import { - ErrorHandler -} from '../../common/error.handler'; -import { - Helper -} from '../../common/helper'; -import { - ApiError -} from '../../common/api.error'; -import { - FileResourceValidator as validator -} from './file.resource.validator'; -import { - uuid -} from '../../domain.types/miscellaneous/system.types'; -import { - FileResourceCreateModel, - FileResourceUpdateModel, - FileResourceSearchFilters, - FileResourceSearchResults -} from '../../domain.types/file.resource.domain.types'; +import { FileResourceService } from '../../database/repository.services/file.resource.service'; +import { ErrorHandler } from '../../common/error.handler'; +import { Helper } from '../../common/helper'; +import { ApiError } from '../../common/api.error'; +import { uuid } from '../../domain.types/miscellaneous/system.types'; +import { FileResourceCreateModel } from '../../domain.types/file.resource.domain.types'; +import express from 'express'; +import * as mime from 'mime-types'; +import * as aws from 'aws-sdk'; +import { Logger } from '../../common/logger'; /////////////////////////////////////////////////////////////////////////////////////// @@ -37,45 +23,76 @@ export class FileResourceControllerDelegate { //#endregion - create = async (requestBody: any) => { - await validator.validateCreateRequest(requestBody); - var createModel: FileResourceCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + upload = async (request: express.Request) => { + + var dateFolder = new Date().toISOString().split('T')[0]; + var originalFilename: string = request.headers['filename'] as string; + var contentLength = request.headers['content-length']; + var mimeType = request.headers['mime-type'] ?? mime.lookup(originalFilename); + var publicResource = request.headers['public'] === 'true' ? true : false; + + var timestamp = new Date().getTime().toString(); + var ext = Helper.getFileExtension(originalFilename); + var filename = originalFilename.replace('.' + ext, ""); + filename = filename.replace(' ', "_"); + filename = filename + '_' + timestamp + '.' + ext; + var storageKey = 'uploaded/' + dateFolder + '/' + filename; + + var s3 = getS3Client(); + const params = { + Bucket : process.env.STORAGE_BUCKET, + Key : storageKey, + Body : request //Request stream piped directly + }; + var stored = await s3.upload(params).promise(); + Logger.instance().log(JSON.stringify(stored, null, 2)); + + var model: FileResourceCreateModel = { + StorageKey : storageKey, + MimeType : mimeType as string, + Public : publicResource, + OriginalFilename : originalFilename, + Tags : request.body.Tags ? JSON.stringify(request.body.Tags) : '[]', + Size : contentLength ? parseInt(contentLength) : null, + UserId : request.currentUser ? request.currentUser.UserId : null, + }; + var record = await this._service.create(model); if (record === null) { throw new ApiError('Unable to create file resource!', 400); } return this.getEnrichedDto(record); } - getById = async (id: uuid) => { + download = async (id: uuid, disposition: string, response: express.Response) => { + const record = await this._service.getById(id); if (record === null) { ErrorHandler.throwNotFoundError('File resource with id ' + id.toString() + ' cannot be found!'); } - return this.getEnrichedDto(record); - } - - search = async (query: any) => { - await validator.validateSearchRequest(query); - var filters: FileResourceSearchFilters = this.getSearchFilters(query); - var searchResults: FileResourceSearchResults = await this._service.search(filters); - var items = searchResults.Items.map(x => this.getSearchDto(x)); - searchResults.Items = items; - return searchResults; + var storageKey = record.StorageKey; + var originalFilename = record.OriginalFilename; + var mimeType = mime.lookup(originalFilename); + + response.setHeader('Content-type', mimeType as string); + setResponseHeaders(response, originalFilename, mimeType, disposition); + + await this._service.incrementDownloadCount(id); + + var s3 = getS3Client(); + const params = { + Bucket : process.env.STORAGE_BUCKET, + Key : storageKey + }; + + return s3.getObject(params).createReadStream(); } - update = async (id: uuid, requestBody: any) => { - await validator.validateUpdateRequest(requestBody); + getById = async (id: uuid) => { const record = await this._service.getById(id); if (record === null) { ErrorHandler.throwNotFoundError('File resource with id ' + id.toString() + ' cannot be found!'); } - const updateModel: FileResourceUpdateModel = this.getUpdateModel(requestBody); - const updated = await this._service.update(id, updateModel); - if (updated == null) { - throw new ApiError('Unable to update file resource!', 400); - } - return this.getEnrichedDto(updated); + return this.getEnrichedDto(record); } delete = async (id: uuid) => { @@ -83,9 +100,16 @@ export class FileResourceControllerDelegate { if (record == null) { ErrorHandler.throwNotFoundError('File resource with id ' + id.toString() + ' cannot be found!'); } + var storageKey = record.StorageKey; + var s3 = getS3Client(); + const params = { + Bucket : process.env.STORAGE_BUCKET, + Key : storageKey + }; + await s3.deleteObject(params).promise(); const fileResourceDeleted: boolean = await this._service.delete(id); return { - Deleted: fileResourceDeleted + Deleted : fileResourceDeleted }; } @@ -93,87 +117,46 @@ export class FileResourceControllerDelegate { //#region Privates - getSearchFilters = (query) => { - - var filters = {}; - - var fileName = query.fileName ? query.fileName : null; - if (fileName != null) { - filters['FileName'] = fileName; - } - var isPublicResource = query.isPublicResource ? query.isPublicResource : null; - if (isPublicResource != null) { - filters['IsPublicResource'] = isPublicResource; - } - var tags = query.tags ? query.tags : null; - if (tags != null) { - filters['Tags'] = tags; - } - var mimeType = query.mimeType ? query.mimeType : null; - if (mimeType != null) { - filters['MimeType'] = mimeType; - } - - return filters; - } - - getUpdateModel = (requestBody): FileResourceUpdateModel => { - - let updateModel: FileResourceUpdateModel = {}; - - if (Helper.hasProperty(requestBody, 'FileName')) { - updateModel.FileName = requestBody.FileName; - } - if (Helper.hasProperty(requestBody, 'UserId')) { - updateModel.UserId = requestBody.UserId; - } - if (Helper.hasProperty(requestBody, 'IsPublicResource')) { - updateModel.IsPublicResource = requestBody.IsPublicResource; - } - if (Helper.hasProperty(requestBody, 'Tags')) { - updateModel.Tags = JSON.stringify(requestBody.Tags); - } - - return updateModel; - } - - getCreateModel = (requestBody): FileResourceCreateModel => { - return { - FileName: requestBody.FileName ? requestBody.FileName : null, - UserId: requestBody.UserId ? requestBody.UserId : null, - IsPublicResource: requestBody.IsPublicResource ? requestBody.IsPublicResource : true, - Tags: requestBody.Tags ? JSON.stringify(requestBody.Tags) as string : JSON.stringify([]) - }; - } - getEnrichedDto = (record) => { if (record == null) { return null; } return { - id: record.id, - FileName: record.FileName, - UserId: record.UserId, - IsPublicResource: record.IsPublicResource, - Tags: JSON.parse(record.Tags), - MimeType: record.MimeType - }; - } - - getSearchDto = (record) => { - if (record == null) { - return null; - } - return { - id: record.id, - FileName: record.FileName, - UserId: record.UserId, - IsPublicResource: record.IsPublicResource, - Tags: JSON.parse(record.Tags), - MimeType: record.MimeType + id : record.id, + StorageKey : record.StorageKey, + MimeType : record.MimeType, + Public : record.Public, + OriginalFilename : record.OriginalFilename, + Tags : record.Tags ? JSON.parse(record.Tags) : [], + Size : record.Size, + UserId : record.UserId, + UserName : record.User ? record.User.FirstName + ' ' + record.User.LastName : '' }; } //#endregion + +} + +/////////////////////////////////////////////////////////////////////////////////////////////// + +function getS3Client() { + const s3 = new aws.S3({ + accessKeyId : process.env.STORAGE_BUCKET_ACCESS_KEY_ID, + secretAccessKey : process.env.STORAGE_BUCKET_ACCESS_KEY_SECRET, + signatureVersion : 'v4', + region : process.env.STORAGE_CLOUD_REGION + }); + return s3; +} + +function setResponseHeaders(response, filename, mimeType, disposition = 'inline') { + if (disposition === 'inline') { + response.setHeader('Content-disposition', 'inline'); + } + else { + response.setHeader('Content-disposition', 'attachment; filename=' + filename); + } } -/////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file + +/////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/api/file.resource/file.resource.controller.ts b/src/api/file.resource/file.resource.controller.ts index ebcb698..031f354 100644 --- a/src/api/file.resource/file.resource.controller.ts +++ b/src/api/file.resource/file.resource.controller.ts @@ -1,13 +1,9 @@ import express from 'express'; -import { - ResponseHandler -} from '../../common/response.handler'; -import { - FileResourceControllerDelegate -} from './file.resource.controller.delegate'; -import { - BaseController -} from '../base.controller'; +import { ResponseHandler } from '../../common/response.handler'; +import { FileResourceControllerDelegate } from './file.resource.controller.delegate'; +import { BaseController } from '../base.controller'; +import { Loader } from '../../startup/loader'; +import { ErrorHandler } from '../../common/error.handler'; /////////////////////////////////////////////////////////////////////////////////////// @@ -24,45 +20,41 @@ export class FileResourceController extends BaseController { //#endregion - create = async (request: express.Request, response: express.Response): Promise < void > => { + upload = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('FileResource.Create', request, response); - const record = await this._delegate.create(request.body); - const message = 'File resource added successfully!'; + await this.authorize('FileResource.Upload', request, response); + const record = await this._delegate.upload(request); + const message = 'File resource uploaded successfully!'; ResponseHandler.success(request, response, message, 201, record); } catch (error) { ResponseHandler.handleError(request, response, error); } } - getById = async (request: express.Request, response: express.Response): Promise < void > => { + download = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('FileResource.GetById', request, response); const record = await this._delegate.getById(request.params.id); - const message = 'File resource retrieved successfully!'; - ResponseHandler.success(request, response, message, 200, record); + if (!record.Public) { + var verified = await Loader.Authenticator.verifyUser(request); + if (!verified) { + ErrorHandler.throwUnauthorizedUserError('User is not authorized to download the resource!'); + } + await this.authorize('FileResource.Download', request, response); + } + const disposition = request.query.disposition as string; + const downloadStream = await this._delegate.download(request.params.id, disposition, response); + downloadStream.pipe(response); } catch (error) { ResponseHandler.handleError(request, response, error); } } - search = async (request: express.Request, response: express.Response): Promise < void > => { - try { - await this.authorize('FileResource.Search', request, response); - const searchResults = await this._delegate.search(request.query); - const message = 'File resource records retrieved successfully!'; - ResponseHandler.success(request, response, message, 200, searchResults); - } catch (error) { - ResponseHandler.handleError(request, response, error); - } - } - - update = async (request: express.Request, response: express.Response): Promise < void > => { + getById = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('FileResource.Update', request, response); - const updatedRecord = await this._delegate.update(request.params.id, request.body); - const message = 'File resource updated successfully!'; - ResponseHandler.success(request, response, message, 200, updatedRecord); + await this.authorize('FileResource.GetById', request, response); + const record = await this._delegate.getById(request.params.id); + const message = 'File resource retrieved successfully!'; + ResponseHandler.success(request, response, message, 200, record); } catch (error) { ResponseHandler.handleError(request, response, error); } @@ -79,4 +71,4 @@ export class FileResourceController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/file.resource/file.resource.routes.ts b/src/api/file.resource/file.resource.routes.ts index e770158..2368715 100644 --- a/src/api/file.resource/file.resource.routes.ts +++ b/src/api/file.resource/file.resource.routes.ts @@ -1,10 +1,6 @@ import express from 'express'; -import { - FileResourceController -} from './file.resource.controller'; -import { - Loader -} from '../../startup/loader'; +import { FileResourceController } from './file.resource.controller'; +import { Loader } from '../../startup/loader'; /////////////////////////////////////////////////////////////////////////////////// @@ -14,11 +10,15 @@ export const register = (app: express.Application): void => { const authenticator = Loader.Authenticator; const controller = new FileResourceController(); - router.post('/', authenticator.authenticateUser, controller.create); - router.get('/search', authenticator.authenticateUser, controller.search); + router.post('/upload', authenticator.authenticateUser, controller.upload); + router.get('/download/:id', controller.download); router.get('/:id', authenticator.authenticateUser, controller.getById); - router.put('/:id', authenticator.authenticateUser, controller.update); router.delete('/:id', authenticator.authenticateUser, controller.delete); + // router.post('/', authenticator.authenticateUser, controller.create); + // router.get('/search', authenticator.authenticateUser, controller.search); + // router.get('/:id', authenticator.authenticateUser, controller.getById); + // router.put('/:id', authenticator.authenticateUser, controller.update); + app.use('/api/v1/file-resources', router); }; diff --git a/src/app.ts b/src/app.ts index 16c7553..d15ff27 100644 --- a/src/app.ts +++ b/src/app.ts @@ -9,7 +9,8 @@ import { ConfigurationManager } from "./config/configuration.manager"; import { Loader } from './startup/loader'; import { Scheduler } from './startup/scheduler'; import { DatabaseModelManager } from './database/database.model.manager'; -import { DatabaseConnector } from './database/database.connector'; +import * as db from './database/database.connector'; +import { DbClient } from './database/db.client'; import { Seeder } from './startup/seeder'; ///////////////////////////////////////////////////////////////////////// @@ -58,20 +59,19 @@ export default class Application { setupDatabaseConnection = async () => { - await DatabaseConnector.createDatabase(); - await DatabaseConnector.initialize(); + const sequelize = db.default.sequelize; - const connection = await DatabaseConnector.db(); + await DbClient.createDatabase(); if (process.env.NODE_ENV === 'test') { //Note: This is only for test environment //Drop all tables in db - await DatabaseModelManager.dropAll(); + await DbClient.dropDatabase(); } await DatabaseModelManager.setupAssociations(); //set associations - await connection.sequelize.sync({ alter: true }); + await sequelize.sync({ alter: true }); } diff --git a/src/auth/authenticator.ts b/src/auth/authenticator.ts index a5dee49..28beb6a 100644 --- a/src/auth/authenticator.ts +++ b/src/auth/authenticator.ts @@ -34,6 +34,11 @@ export class Authenticator { } }; + public verifyUser = async (request: express.Request): Promise => { + const authResult = await this._authenticator.authenticateUser(request); + return authResult.Result; + } + public authenticateClient = async ( request: express.Request, response: express.Response, diff --git a/src/database/database.connector.ts b/src/database/database.connector.ts index fb77fd6..2da94ec 100644 --- a/src/database/database.connector.ts +++ b/src/database/database.connector.ts @@ -1,117 +1,43 @@ import { Sequelize } from 'sequelize'; import { DbConfig } from './database.config'; import { Logger } from '../common/logger'; -import { execSync } from 'child_process'; -import { MysqlClient } from './mysql.client'; /////////////////////////////////////////////////////////////////////////////////// -export class DatabaseConnector { +const config = DbConfig.config; + +Logger.instance().log('environment : ' + process.env.NODE_ENV); +Logger.instance().log('db name : ' + config.database); +Logger.instance().log('db username : ' + config.username); +Logger.instance().log('db host : ' + config.host); + +const sequelize = new Sequelize(config.database, config.username, config.password, { + host : config.host, + dialect : 'mysql', + pool : { + max : config.pool.max, + min : config.pool.min, + acquire : config.pool.acquire, + idle : config.pool.idle + }, + logging : false +}); + +sequelize + .authenticate() + .then(() => { + Logger.instance().log('Database connection has been established successfully.'); + }) + .catch(error => { + Logger.instance().log('Unable to connect to the database:' + error.message); + }); + +///////////////////////////////////////////////////////////////////////////////////////// + +//Creates DB if d +export default { + Sequelize : Sequelize, + sequelize : sequelize +}; - private static _sequelize: Sequelize = null; - - static initialize = async () => { - - try { - - Logger.instance().log('environment : ' + process.env.NODE_ENV); - Logger.instance().log('db name : ' + DbConfig.config.database); - Logger.instance().log('db username : ' + DbConfig.config.username); - Logger.instance().log('db host : ' + DbConfig.config.host); - - DatabaseConnector._sequelize = new Sequelize( - DbConfig.config.database, - DbConfig.config.username, - DbConfig.config.password, - { - host : DbConfig.config.host, - dialect : 'mysql', - pool : { - max : DbConfig.config.pool.max, - min : DbConfig.config.pool.min, - acquire : DbConfig.config.pool.acquire, - idle : DbConfig.config.pool.idle - }, - logging : false - }); - - // await DatabaseConnector.createDatabase(); - - await DatabaseConnector._sequelize.authenticate(); - Logger.instance().log('Database connection has been established successfully.'); - - } catch (error) { - Logger.instance().log('Unable to connect to the database:' + error.message); - return false; - } - } - - static db = () => { - // if (false === DatabaseConnector._initialized) { - // (async () => { - // await DatabaseConnector.initialize(); - // DatabaseConnector._initialized = true; - // })(); - // } - return { - Sequelize : Sequelize, - sequelize : DatabaseConnector._sequelize - }; - } - - //Creates DB if does not exist - public static createDatabase = async () => { - try { - const client = DatabaseConnector.getClient(); - await client.createDb(); - return true; - } catch (error) { - Logger.instance().log(error.message); - } - return false; - }; - - //Drops DB if exists - public static dropDatabase = async () => { - try { - const client = DatabaseConnector.getClient(); - await client.dropDb(); - return true; - } catch (error) { - Logger.instance().log(error.message); - } - return false; - }; - - //Drops DB if exists - public static executeQuery = async (query: string) => { - try { - const client = DatabaseConnector.getClient(); - await client.executeQuery(query); - return true; - } catch (error) { - Logger.instance().log(error.message); - } - return false; - }; - - public static migrate = async () => { - try { - const output = execSync('npx sequelize-cli db:migrate'); - - const str = output.toString(); - Logger.instance().log('Database migrated successfully!'); - Logger.instance().log(str); - - return true; - } catch (error) { - Logger.instance().log(error.message); - } - return false; - }; - - private static getClient() { - return MysqlClient; - } - -} +/////////////////////////////////////////////////////////////////////////////////// diff --git a/src/database/database.model.manager.ts b/src/database/database.model.manager.ts index cf30673..39bb85b 100644 --- a/src/database/database.model.manager.ts +++ b/src/database/database.model.manager.ts @@ -36,7 +36,7 @@ export class DatabaseModelManager { const imported = await import(modelFilePath); const modelClass = imported[name]; const modelName = modelClass.ModelName; - const model = modelClass.Model(); + const model = modelClass.Model; models[modelName] = model; modelClasses[modelName] = modelClass; } diff --git a/src/database/db.client.ts b/src/database/db.client.ts new file mode 100644 index 0000000..f7ddf00 --- /dev/null +++ b/src/database/db.client.ts @@ -0,0 +1,59 @@ +import { MysqlClient as client } from './mysql.client'; +import { Logger } from '../common/logger'; +import { execSync } from 'child_process'; + +//////////////////////////////////////////////////////////////////////// + +export class DbClient { + + //Creates DB if does not exist + public static createDatabase = async () => { + try { + await client.createDb(); + return true; + } catch (error) { + Logger.instance().log(error.message); + } + return false; + }; + + //Drops DB if exists + public static dropDatabase = async () => { + try { + await client.dropDb(); + return true; + } catch (error) { + Logger.instance().log(error.message); + } + return false; + }; + + //Drops DB if exists + public static executeQuery = async (query: string) => { + try { + await client.executeQuery(query); + return true; + } catch (error) { + Logger.instance().log(error.message); + } + return false; + }; + + public static migrate = async () => { + try { + const output = execSync('npx sequelize-cli db:migrate'); + + const str = output.toString(); + Logger.instance().log('Database migrated successfully!'); + Logger.instance().log(str); + + return true; + } catch (error) { + Logger.instance().log(error.message); + } + return false; + }; + +} + +//////////////////////////////////////////////////////////////////////// diff --git a/src/database/mappers/file.resource.mapper.ts b/src/database/mappers/file.resource.mapper.ts deleted file mode 100644 index d24ca7f..0000000 --- a/src/database/mappers/file.resource.mapper.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { - FileResourceDto -} from '../../domain.types/file.resource.domain.types'; - -/////////////////////////////////////////////////////////////////////////////////// - -export class FileResourceMapper { - - static toDto = (fileResource: any): FileResourceDto => { - if (fileResource == null) { - return null; - } - const dto: FileResourceDto = { - id: fileResource.id, - FileName: fileResource.FileName, - UserId: fileResource.UserId, - IsPublicResource: fileResource.IsPublicResource, - Tags: fileResource.Tags, - MimeType: fileResource.MimeType, - - }; - return dto; - }; - -} \ No newline at end of file diff --git a/src/database/models/api.client.model.ts b/src/database/models/api.client.model.ts index c3ca4d4..a3e04d3 100644 --- a/src/database/models/api.client.model.ts +++ b/src/database/models/api.client.model.ts @@ -1,4 +1,6 @@ -import { DatabaseConnector } from '../database.connector'; +import * as db from '../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -8,80 +10,68 @@ export class ApiClientModel { static ModelName = 'ApiClient'; - static Schema = () => { - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - ClientName : { - type : Sequelize.STRING(256), - allowNull : false - }, - ClientCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - CountryCode : { - type : Sequelize.STRING(10), - allowNull : false, - defaultValue : '+91' - }, - Phone : { - type : Sequelize.STRING(16), - allowNull : true - }, - Email : { - type : Sequelize.STRING(256), - allowNull : true - }, - Password : { - type : Sequelize.STRING(512), - allowNull : true - }, - ApiKey : { - type : Sequelize.STRING(256), - allowNull : false - }, - ValidFrom : { - type : Sequelize.DATE, - allowNull : true - }, - ValidTill : { - type : Sequelize.DATE, - allowNull : true - }, - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = ApiClientModel.Schema(); - - return sequelize.define( - ApiClientModel.ModelName, - schema, - { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : ApiClientModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + ClientName : { + type : DataTypes.STRING(256), + allowNull : false + }, + ClientCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + CountryCode : { + type : DataTypes.STRING(10), + allowNull : false, + defaultValue : '+91' + }, + Phone : { + type : DataTypes.STRING(16), + allowNull : true + }, + Email : { + type : DataTypes.STRING(256), + allowNull : true + }, + Password : { + type : DataTypes.STRING(512), + allowNull : true + }, + ApiKey : { + type : DataTypes.STRING(256), + allowNull : false + }, + ValidFrom : { + type : DataTypes.DATE, + allowNull : true + }, + ValidTill : { + type : DataTypes.DATE, + allowNull : true + }, + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + ApiClientModel.ModelName, + ApiClientModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : ApiClientModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/action.plan.model.ts b/src/database/models/assets/action.plan.model.ts index a25c0e6..ff93f76 100644 --- a/src/database/models/assets/action.plan.model.ts +++ b/src/database/models/assets/action.plan.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,75 +10,63 @@ export class ActionPlanModel { static ModelName = 'ActionPlan'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'ActionPlan' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'ActionPlan' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = ActionPlanModel.Schema(); - - return sequelize.define( - ActionPlanModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : ActionPlanModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + ActionPlanModel.ModelName, + ActionPlanModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : ActionPlanModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/animation.model.ts b/src/database/models/assets/animation.model.ts index 5d734e6..765df04 100644 --- a/src/database/models/assets/animation.model.ts +++ b/src/database/models/assets/animation.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,85 +10,73 @@ export class AnimationModel { static ModelName = 'Animation'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Transcript : { - type : Sequelize.TEXT, - allowNull : false - }, - Url : { - type : Sequelize.TEXT, - allowNull : true - }, - FileResourceId : { - type : Sequelize.UUID, - allowNull : true, - foreignKey : true, - unique : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Educational' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = AnimationModel.Schema(); - - return sequelize.define( - AnimationModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : AnimationModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Transcript : { + type : DataTypes.TEXT, + allowNull : false + }, + Url : { + type : DataTypes.TEXT, + allowNull : true + }, + FileResourceId : { + type : DataTypes.UUID, + allowNull : true, + foreignKey : true, + unique : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Educational' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + AnimationModel.ModelName, + AnimationModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : AnimationModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/appointment.model.ts b/src/database/models/assets/appointment.model.ts index 1311505..b1a9b24 100644 --- a/src/database/models/assets/appointment.model.ts +++ b/src/database/models/assets/appointment.model.ts @@ -1,7 +1,7 @@ import { AppointmentTypeList } from '../../../domain.types/assets/appointment.domain.types'; -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -11,80 +11,68 @@ export class AppointmentModel { static ModelName = 'Appointment'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AppointmentType : { + type : DataTypes.ENUM({ values: AppointmentTypeList }), + allowNull : false, + defaultValue : 'Doctor' + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Appointment' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AppointmentType : { - type : Sequelize.ENUM(AppointmentTypeList), - allowNull : false, - defaultValue : 'Doctor' - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Appointment' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = AppointmentModel.Schema(); - - return sequelize.define( - AppointmentModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : AppointmentModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + AppointmentModel.ModelName, + AppointmentModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : AppointmentModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/article.model.ts b/src/database/models/assets/article.model.ts index 7380b0e..a977fa2 100644 --- a/src/database/models/assets/article.model.ts +++ b/src/database/models/assets/article.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,85 +10,73 @@ export class ArticleModel { static ModelName = 'Article'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Summary : { - type : Sequelize.TEXT, - allowNull : false - }, - Url : { - type : Sequelize.TEXT, - allowNull : true - }, - FileResourceId : { - type : Sequelize.UUID, - allowNull : true, - foreignKey : true, - unique : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Educational' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = ArticleModel.Schema(); - - return sequelize.define( - ArticleModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : ArticleModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Summary : { + type : DataTypes.TEXT, + allowNull : false + }, + Url : { + type : DataTypes.TEXT, + allowNull : true + }, + FileResourceId : { + type : DataTypes.UUID, + allowNull : true, + foreignKey : true, + unique : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Educational' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + ArticleModel.ModelName, + ArticleModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : ArticleModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/assessment.model.ts b/src/database/models/assets/assessment.model.ts index 0537686..cecbe3d 100644 --- a/src/database/models/assets/assessment.model.ts +++ b/src/database/models/assets/assessment.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,80 +10,68 @@ export class AssessmentModel { static ModelName = 'Assessment'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Assessment' + }, + Template : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : '{}' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Assessment' - }, - Template : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : '{}' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = AssessmentModel.Schema(); - - return sequelize.define( - AssessmentModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : AssessmentModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + AssessmentModel.ModelName, + AssessmentModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : AssessmentModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/audio.model.ts b/src/database/models/assets/audio.model.ts index 7f7fbb5..7c37f42 100644 --- a/src/database/models/assets/audio.model.ts +++ b/src/database/models/assets/audio.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,85 +10,73 @@ export class AudioModel { static ModelName = 'Audio'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Transcript : { - type : Sequelize.TEXT, - allowNull : false - }, - Url : { - type : Sequelize.TEXT, - allowNull : true - }, - FileResourceId : { - type : Sequelize.UUID, - allowNull : true, - foreignKey : true, - unique : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Educational' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = AudioModel.Schema(); - - return sequelize.define( - AudioModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : AudioModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Transcript : { + type : DataTypes.TEXT, + allowNull : false + }, + Url : { + type : DataTypes.TEXT, + allowNull : true + }, + FileResourceId : { + type : DataTypes.UUID, + allowNull : true, + foreignKey : true, + unique : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Educational' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + AudioModel.ModelName, + AudioModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : AudioModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/biometrics.model.ts b/src/database/models/assets/biometrics.model.ts index ed9bf18..5b00b78 100644 --- a/src/database/models/assets/biometrics.model.ts +++ b/src/database/models/assets/biometrics.model.ts @@ -1,5 +1,7 @@ import { BiometricsTypeList } from '../../../domain.types/assets/biometrics.domain.types'; -import { DatabaseConnector } from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -9,84 +11,72 @@ export class BiometricsModel { static ModelName = 'Biometrics'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Biometrics' + }, + BiometricsType : { + type : DataTypes.ENUM({ values: BiometricsTypeList }), + allowNull : false, + defaultValue : 'Other' + }, + MeasurementUnit : { + type : DataTypes.STRING(128), + allowNull : true + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Biometrics' - }, - BiometricsType : { - type : Sequelize.ENUM(BiometricsTypeList), - allowNull : false, - defaultValue : 'Other' - }, - MeasurementUnit : { - type : Sequelize.STRING(128), - allowNull : true - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = BiometricsModel.Schema(); - - return sequelize.define( - BiometricsModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : BiometricsModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + BiometricsModel.ModelName, + BiometricsModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : BiometricsModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/challenge.model.ts b/src/database/models/assets/challenge.model.ts index 3f0c0b0..398f7f3 100644 --- a/src/database/models/assets/challenge.model.ts +++ b/src/database/models/assets/challenge.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,75 +10,63 @@ export class ChallengeModel { static ModelName = 'Challenge'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Challenge' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Challenge' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = ChallengeModel.Schema(); - - return sequelize.define( - ChallengeModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : ChallengeModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + ChallengeModel.ModelName, + ChallengeModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : ChallengeModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/checkup.model.ts b/src/database/models/assets/checkup.model.ts index 7935ca6..26df532 100644 --- a/src/database/models/assets/checkup.model.ts +++ b/src/database/models/assets/checkup.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,88 +10,75 @@ export class CheckupModel { static ModelName = 'Checkup'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id: { - type: Sequelize.INTEGER, - allowNull: false, - autoIncrement: true, - primaryKey: true - }, - AssetCode: { - type: Sequelize.STRING(256), - allowNull: false - }, - Name: { - type: Sequelize.STRING(256), - allowNull: false - }, - Description: { - type: Sequelize.TEXT, - allowNull: false - }, - AssetCategory: { - type: Sequelize.STRING(128), - allowNull: false, - defaultValue: 'Checkup' - }, - OwnerUserId: { - type: Sequelize.UUID, - allowNull: false, - foreignKey: true, - unique: false - }, - Tags: { - type: Sequelize.TEXT, - allowNull: false, - defaultValue: [] - }, - Version: { - type: Sequelize.STRING(128), - allowNull: false, - defaultValue: 'V1' - }, - - CreatedAt: Sequelize.DATE, - UpdatedAt: Sequelize.DATE, - DeletedAt: Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = CheckupModel.Schema(); - - return sequelize.define( - CheckupModel.ModelName, - schema, { - createdAt: 'CreatedAt', - updatedAt: 'UpdatedAt', - deletedAt: 'DeletedAt', - freezeTableName: true, - timestamps: true, - paranoid: true, - tableName: CheckupModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Checkup' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + CheckupModel.ModelName, + CheckupModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : CheckupModel.TableName, + }); + static associate = (models) => { //Add associations here... - models.Checkup.belongsTo(models.User, { - sourceKey: 'OwnerUserId', - targetKey: 'id', - as: 'OwnerUser' + sourceKey : 'OwnerUserId', + targetKey : 'id', + as : 'OwnerUser' }); }; -} \ No newline at end of file +} diff --git a/src/database/models/assets/consultation.model.ts b/src/database/models/assets/consultation.model.ts index 7d49dc9..6997c4c 100644 --- a/src/database/models/assets/consultation.model.ts +++ b/src/database/models/assets/consultation.model.ts @@ -1,5 +1,7 @@ import { ConsultationTypeList } from '../../../domain.types/assets/consultation.domain.types'; -import { DatabaseConnector } from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -9,80 +11,68 @@ export class ConsultationModel { static ModelName = 'Consultation'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + ConsultationType : { + type : DataTypes.ENUM({ values: ConsultationTypeList }), + allowNull : false, + defaultValue : 'Tele-consultation' + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Consultation' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - ConsultationType : { - type : Sequelize.ENUM(ConsultationTypeList), - allowNull : false, - defaultValue : 'Tele-consultation' - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Consultation' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = ConsultationModel.Schema(); - - return sequelize.define( - ConsultationModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : ConsultationModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + ConsultationModel.ModelName, + ConsultationModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : ConsultationModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/exercise.model.ts b/src/database/models/assets/exercise.model.ts index aadfe13..42d8467 100644 --- a/src/database/models/assets/exercise.model.ts +++ b/src/database/models/assets/exercise.model.ts @@ -1,6 +1,8 @@ import { IntensityLevelList } from '../../../domain.types/assets/exercise.domain.types'; import { ExerciseTypeList } from '../../../domain.types/assets/exercise.domain.types'; -import { DatabaseConnector } from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,90 +12,78 @@ export class ExerciseModel { static ModelName = 'Exercise'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + ExerciseType : { + type : DataTypes.ENUM({ values: ExerciseTypeList }), + allowNull : false, + defaultValue : 'Aerobic' + }, + IntensityLevel : { + type : DataTypes.ENUM({ values: IntensityLevelList }), + allowNull : false, + defaultValue : 'Moderate' + }, + RecommendedDurationMin : { + type : DataTypes.INTEGER, + allowNull : false, + defaultValue : 15 + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Exercise' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - ExerciseType : { - type : Sequelize.ENUM(ExerciseTypeList), - allowNull : false, - defaultValue : 'Aerobic' - }, - IntensityLevel : { - type : Sequelize.ENUM(IntensityLevelList), - allowNull : false, - defaultValue : 'Moderate' - }, - RecommendedDurationMin : { - type : Sequelize.INTEGER, - allowNull : false, - defaultValue : 15 - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Exercise' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = ExerciseModel.Schema(); - - return sequelize.define( - ExerciseModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : ExerciseModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + ExerciseModel.ModelName, + ExerciseModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : ExerciseModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/goal.model.ts b/src/database/models/assets/goal.model.ts index b3b2bdc..fd5b42b 100644 --- a/src/database/models/assets/goal.model.ts +++ b/src/database/models/assets/goal.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,75 +10,63 @@ export class GoalModel { static ModelName = 'Goal'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Goal' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Goal' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = GoalModel.Schema(); - - return sequelize.define( - GoalModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : GoalModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + GoalModel.ModelName, + GoalModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : GoalModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/infographics.model.ts b/src/database/models/assets/infographics.model.ts index 1ba9ece..48c43a1 100644 --- a/src/database/models/assets/infographics.model.ts +++ b/src/database/models/assets/infographics.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,85 +10,73 @@ export class InfographicsModel { static ModelName = 'Infographics'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - Url : { - type : Sequelize.TEXT, - allowNull : true - }, - FileResourceId : { - type : Sequelize.UUID, - allowNull : true, - foreignKey : true, - unique : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Educational' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = InfographicsModel.Schema(); - - return sequelize.define( - InfographicsModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : InfographicsModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + Url : { + type : DataTypes.TEXT, + allowNull : true + }, + FileResourceId : { + type : DataTypes.UUID, + allowNull : true, + foreignKey : true, + unique : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Educational' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + InfographicsModel.ModelName, + InfographicsModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : InfographicsModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/medication.model.ts b/src/database/models/assets/medication.model.ts index 830b472..3d46e11 100644 --- a/src/database/models/assets/medication.model.ts +++ b/src/database/models/assets/medication.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,75 +10,63 @@ export class MedicationModel { static ModelName = 'Medication'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Medication' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Medication' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = MedicationModel.Schema(); - - return sequelize.define( - MedicationModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : MedicationModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + MedicationModel.ModelName, + MedicationModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : MedicationModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/meditation.model.ts b/src/database/models/assets/meditation.model.ts index 4ad4475..890cb1c 100644 --- a/src/database/models/assets/meditation.model.ts +++ b/src/database/models/assets/meditation.model.ts @@ -1,7 +1,7 @@ import { MeditationTypeList } from '../../../domain.types/assets/meditation.domain.types'; -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -11,85 +11,73 @@ export class MeditationModel { static ModelName = 'Meditation'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + MeditationType : { + type : DataTypes.ENUM({ values: MeditationTypeList }), + allowNull : false, + defaultValue : 'Mindfulness' + }, + RecommendedDurationMin : { + type : DataTypes.INTEGER, + allowNull : false, + defaultValue : 15 + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Stress management' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - MeditationType : { - type : Sequelize.ENUM(MeditationTypeList), - allowNull : false, - defaultValue : 'Mindfulness' - }, - RecommendedDurationMin : { - type : Sequelize.INTEGER, - allowNull : false, - defaultValue : 15 - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Stress management' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = MeditationModel.Schema(); - - return sequelize.define( - MeditationModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : MeditationModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + MeditationModel.ModelName, + MeditationModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : MeditationModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/message.model.ts b/src/database/models/assets/message.model.ts index 63e8f66..3678114 100644 --- a/src/database/models/assets/message.model.ts +++ b/src/database/models/assets/message.model.ts @@ -1,5 +1,7 @@ import { MessageTypeList } from '../../../domain.types/assets/message.domain.types'; -import { DatabaseConnector } from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -9,84 +11,72 @@ export class MessageModel { static ModelName = 'Message'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.TEXT, + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + Category : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Educational' + }, + MessageType : { + type : DataTypes.ENUM({ values: MessageTypeList }), + allowNull : false, + defaultValue : 'Unknown' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Url : { + type : DataTypes.TEXT, + allowNull : true + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.TEXT, - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - Category : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Educational' - }, - MessageType : { - type : Sequelize.ENUM(MessageTypeList), - allowNull : false, - defaultValue : 'Unknown' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Url : { - type : Sequelize.TEXT, - allowNull : true - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = MessageModel.Schema(); - - return sequelize.define( - MessageModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : MessageModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + MessageModel.ModelName, + MessageModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : MessageModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/nutrition.model.ts b/src/database/models/assets/nutrition.model.ts index 8526f89..20daf8d 100644 --- a/src/database/models/assets/nutrition.model.ts +++ b/src/database/models/assets/nutrition.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,75 +10,63 @@ export class NutritionModel { static ModelName = 'Nutrition'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Nutrition' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Nutrition' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = NutritionModel.Schema(); - - return sequelize.define( - NutritionModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : NutritionModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + NutritionModel.ModelName, + NutritionModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : NutritionModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/physiotherapy.model.ts b/src/database/models/assets/physiotherapy.model.ts index 84b598e..862f0b9 100644 --- a/src/database/models/assets/physiotherapy.model.ts +++ b/src/database/models/assets/physiotherapy.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,93 +10,80 @@ export class PhysiotherapyModel { static ModelName = 'Physiotherapy'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id: { - type: Sequelize.INTEGER, - allowNull: false, - autoIncrement: true, - primaryKey: true - }, - AssetCode: { - type: Sequelize.STRING(256), - allowNull: false - }, - Name: { - type: Sequelize.STRING(256), - allowNull: false - }, - Description: { - type: Sequelize.TEXT, - allowNull: false - }, - RecommendedDurationMin: { - type: Sequelize.INTEGER, - allowNull: false, - defaultValue: 15 - }, - AssetCategory: { - type: Sequelize.STRING(128), - allowNull: false, - defaultValue: 'Exercise' - }, - OwnerUserId: { - type: Sequelize.UUID, - allowNull: false, - foreignKey: true, - unique: false - }, - Tags: { - type: Sequelize.TEXT, - allowNull: false, - defaultValue: [] - }, - Version: { - type: Sequelize.STRING(128), - allowNull: false, - defaultValue: 'V1' - }, - - CreatedAt: Sequelize.DATE, - UpdatedAt: Sequelize.DATE, - DeletedAt: Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = PhysiotherapyModel.Schema(); - - return sequelize.define( - PhysiotherapyModel.ModelName, - schema, { - createdAt: 'CreatedAt', - updatedAt: 'UpdatedAt', - deletedAt: 'DeletedAt', - freezeTableName: true, - timestamps: true, - paranoid: true, - tableName: PhysiotherapyModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + RecommendedDurationMin : { + type : DataTypes.INTEGER, + allowNull : false, + defaultValue : 15 + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Exercise' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + PhysiotherapyModel.ModelName, + PhysiotherapyModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : PhysiotherapyModel.TableName, + }); + static associate = (models) => { //Add associations here... - models.Physiotherapy.belongsTo(models.User, { - sourceKey: 'OwnerUserId', - targetKey: 'id', - as: 'OwnerUser' + sourceKey : 'OwnerUserId', + targetKey : 'id', + as : 'OwnerUser' }); }; -} \ No newline at end of file +} diff --git a/src/database/models/assets/priority.model.ts b/src/database/models/assets/priority.model.ts index 2a5836c..e48df75 100644 --- a/src/database/models/assets/priority.model.ts +++ b/src/database/models/assets/priority.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,75 +10,63 @@ export class PriorityModel { static ModelName = 'Priority'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Prioritization' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Prioritization' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = PriorityModel.Schema(); - - return sequelize.define( - PriorityModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : PriorityModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + PriorityModel.ModelName, + PriorityModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : PriorityModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/reflection.model.ts b/src/database/models/assets/reflection.model.ts index a9e77ea..5cc4c58 100644 --- a/src/database/models/assets/reflection.model.ts +++ b/src/database/models/assets/reflection.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,75 +10,63 @@ export class ReflectionModel { static ModelName = 'Reflection'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Personal reflection' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Personal reflection' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = ReflectionModel.Schema(); - - return sequelize.define( - ReflectionModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : ReflectionModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + ReflectionModel.ModelName, + ReflectionModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : ReflectionModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/reminder.model.ts b/src/database/models/assets/reminder.model.ts index 7fa59cd..dac1da7 100644 --- a/src/database/models/assets/reminder.model.ts +++ b/src/database/models/assets/reminder.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,75 +10,63 @@ export class ReminderModel { static ModelName = 'Reminder'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Message' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Message' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = ReminderModel.Schema(); - - return sequelize.define( - ReminderModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : ReminderModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + ReminderModel.ModelName, + ReminderModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : ReminderModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/video.model.ts b/src/database/models/assets/video.model.ts index 2bee3c8..ea9db9c 100644 --- a/src/database/models/assets/video.model.ts +++ b/src/database/models/assets/video.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,104 +10,91 @@ export class VideoModel { static ModelName = 'Video'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id: { - type: Sequelize.INTEGER, - allowNull: false, - autoIncrement: true, - primaryKey: true - }, - AssetCode: { - type: Sequelize.STRING(256), - allowNull: false - }, - Name: { - type: Sequelize.STRING(256), - allowNull: false - }, - Transcript: { - type: Sequelize.TEXT, - allowNull: false - }, - Url: { - type: Sequelize.TEXT, - allowNull: true - }, - FileResourceId: { - type: Sequelize.UUID, - allowNull: true, - foreignKey: true, - unique: false - }, - AssetCategory: { - type: Sequelize.STRING(128), - allowNull: false, - defaultValue: 'Educational' - }, - OwnerUserId: { - type: Sequelize.UUID, - allowNull: false, - foreignKey: true, - unique: false - }, - Tags: { - type: Sequelize.TEXT, - allowNull: false, - defaultValue: [] - }, - Version: { - type: Sequelize.STRING(128), - allowNull: false, - defaultValue: 'V1' - }, - - CreatedAt: Sequelize.DATE, - UpdatedAt: Sequelize.DATE, - DeletedAt: Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = VideoModel.Schema(); - - return sequelize.define( - VideoModel.ModelName, - schema, { - createdAt: 'CreatedAt', - updatedAt: 'UpdatedAt', - deletedAt: 'DeletedAt', - freezeTableName: true, - timestamps: true, - paranoid: true, - tableName: VideoModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Transcript : { + type : DataTypes.TEXT, + allowNull : false + }, + Url : { + type : DataTypes.TEXT, + allowNull : true + }, + FileResourceId : { + type : DataTypes.UUID, + allowNull : true, + foreignKey : true, + unique : false + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Educational' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + VideoModel.ModelName, + VideoModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : VideoModel.TableName, + }); + static associate = (models) => { //Add associations here... - models.Video.belongsTo(models.FileResource, { - sourceKey: 'FileResourceId', - targetKey: 'id', - as: 'FileResource' + sourceKey : 'FileResourceId', + targetKey : 'id', + as : 'FileResource' }); models.Video.belongsTo(models.User, { - sourceKey: 'OwnerUserId', - targetKey: 'id', - as: 'OwnerUser' + sourceKey : 'OwnerUserId', + targetKey : 'id', + as : 'OwnerUser' }); }; -} \ No newline at end of file +} diff --git a/src/database/models/assets/web.link.model.ts b/src/database/models/assets/web.link.model.ts index 146026e..3b431a7 100644 --- a/src/database/models/assets/web.link.model.ts +++ b/src/database/models/assets/web.link.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,79 +10,67 @@ export class WebLinkModel { static ModelName = 'WebLink'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + Url : { + type : DataTypes.TEXT, + allowNull : true + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Educational' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - Url : { - type : Sequelize.TEXT, - allowNull : true - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Educational' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = WebLinkModel.Schema(); - - return sequelize.define( - WebLinkModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : WebLinkModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + WebLinkModel.ModelName, + WebLinkModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : WebLinkModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/web.newsfeed.model.ts b/src/database/models/assets/web.newsfeed.model.ts index 0cf4db8..71cd452 100644 --- a/src/database/models/assets/web.newsfeed.model.ts +++ b/src/database/models/assets/web.newsfeed.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,79 +10,67 @@ export class WebNewsfeedModel { static ModelName = 'WebNewsfeed'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + Url : { + type : DataTypes.TEXT, + allowNull : true + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Educational' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - Url : { - type : Sequelize.TEXT, - allowNull : true - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Educational' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = WebNewsfeedModel.Schema(); - - return sequelize.define( - WebNewsfeedModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : WebNewsfeedModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + WebNewsfeedModel.ModelName, + WebNewsfeedModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : WebNewsfeedModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/assets/word.power.model.ts b/src/database/models/assets/word.power.model.ts index 5d6ca9b..d3150c1 100644 --- a/src/database/models/assets/word.power.model.ts +++ b/src/database/models/assets/word.power.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,80 +10,68 @@ export class WordPowerModel { static ModelName = 'WordPower'; - static Schema = () => { + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + AssetCode : { + type : DataTypes.STRING(256), + allowNull : false + }, + Word : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + AdditionalResources : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + AssetCategory : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Educational' + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : [] + }, + Version : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'V1' + }, - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - AssetCode : { - type : Sequelize.STRING(256), - allowNull : false - }, - Word : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - AdditionalResources : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - AssetCategory : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Educational' - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - Version : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'V1' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = WordPowerModel.Schema(); - - return sequelize.define( - WordPowerModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : WordPowerModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + WordPowerModel.ModelName, + WordPowerModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : WordPowerModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/careplan/careplan.category.model.ts b/src/database/models/careplan/careplan.category.model.ts index dcef301..5523b73 100644 --- a/src/database/models/careplan/careplan.category.model.ts +++ b/src/database/models/careplan/careplan.category.model.ts @@ -1,4 +1,6 @@ -import { DatabaseConnector } from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -8,52 +10,40 @@ export class CareplanCategoryModel { static ModelName = 'CareplanCategory'; - static Schema = () => { - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - Type : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.STRING(512), - allowNull : true - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = CareplanCategoryModel.Schema(); - - return sequelize.define( - CareplanCategoryModel.ModelName, - schema, - { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : CareplanCategoryModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + Type : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.STRING(512), + allowNull : true + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + CareplanCategoryModel.ModelName, + CareplanCategoryModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : CareplanCategoryModel.TableName, + }); + static associate = (models) => { //Add associations here... }; diff --git a/src/database/models/careplan/careplan.model.ts b/src/database/models/careplan/careplan.model.ts index 4b669c1..8a9589a 100644 --- a/src/database/models/careplan/careplan.model.ts +++ b/src/database/models/careplan/careplan.model.ts @@ -1,4 +1,6 @@ -import { DatabaseConnector } from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -8,81 +10,68 @@ export class CareplanModel { static ModelName = 'Careplan'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true, + }, + Code : { + type : DataTypes.STRING(256), + allowNull : false, + }, + CategoryId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true, + unique : false, + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false, + }, + Description : { + type : DataTypes.TEXT, + allowNull : true, + }, + Version : { + type : DataTypes.STRING(32), + allowNull : false, + defaultValue : '1.0.0', + }, + OwnerUserId : { + type : DataTypes.UUID, + allowNull : true + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : '[]', + }, + IsActive : { + type : DataTypes.BOOLEAN, + allowNull : false, + defaultValue : true, + }, - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true, - }, - Code : { - type : Sequelize.STRING(256), - allowNull : false, - }, - CategoryId : { - type : Sequelize.INTEGER, - allowNull : false, - foreignKey : true, - unique : false, - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false, - }, - Description : { - type : Sequelize.TEXT, - allowNull : true, - }, - Version : { - type : Sequelize.STRING(32), - allowNull : false, - defaultValue : '1.0.0', - }, - OwnerUserId : { - type : Sequelize.UUID, - allowNull : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : '[]', - }, - IsActive : { - type : Sequelize.BOOLEAN, - allowNull : false, - defaultValue : true, - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE, - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = CareplanModel.Schema(); - - return sequelize.define( - CareplanModel.ModelName, - schema, - { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : CareplanModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE, }; + + static Model: any = sequelize.define( + CareplanModel.ModelName, + CareplanModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : CareplanModel.TableName, + }); static associate = (models) => { models.Careplan.belongsTo(models.CareplanCategory, { diff --git a/src/database/models/careplan/careplan.schedule.model.ts b/src/database/models/careplan/careplan.schedule.model.ts index e77a7ff..fc209b0 100644 --- a/src/database/models/careplan/careplan.schedule.model.ts +++ b/src/database/models/careplan/careplan.schedule.model.ts @@ -1,7 +1,7 @@ import { AssetTypeList, TimeSlotList } from '../../../domain.types/assets/asset.types'; -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -11,67 +11,55 @@ export class CareplanScheduleModel { static ModelName = 'CareplanSchedule'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - AssetId : { - type : Sequelize.INTEGER, - allowNull : false - }, - AssetType : { - type : Sequelize.ENUM(AssetTypeList), - allowNull : false - }, - CareplanId : { - type : Sequelize.INTEGER, - allowNull : false, - foreignKey : true, - unique : false - }, - Day : { - type : Sequelize.INTEGER, - allowNull : false - }, - TimeSlot : { - type : Sequelize.ENUM(TimeSlotList), - allowNull : false, - defaultValue : 'Unspecified' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = CareplanScheduleModel.Schema(); - - return sequelize.define( - CareplanScheduleModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : CareplanScheduleModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + AssetId : { + type : DataTypes.INTEGER, + allowNull : false + }, + AssetType : { + type : DataTypes.ENUM({ values: AssetTypeList }), + allowNull : false + }, + CareplanId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true, + unique : false + }, + Day : { + type : DataTypes.INTEGER, + allowNull : false + }, + TimeSlot : { + type : DataTypes.ENUM({ values: TimeSlotList }), + allowNull : false, + defaultValue : 'Unspecified' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + CareplanScheduleModel.ModelName, + CareplanScheduleModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : CareplanScheduleModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/enrollment/enrollment.model.ts b/src/database/models/enrollment/enrollment.model.ts index e58e6a2..066369a 100644 --- a/src/database/models/enrollment/enrollment.model.ts +++ b/src/database/models/enrollment/enrollment.model.ts @@ -1,6 +1,7 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; +import { ProgressStatusList } from '../../../domain.types/miscellaneous/system.types'; //////////////////////////////////////////////////////////////////////// @@ -10,90 +11,77 @@ export class EnrollmentModel { static ModelName = 'Enrollment'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id: { - type: Sequelize.UUID, - allowNull: false, - defaultValue: Sequelize.UUIDV4, - primaryKey: true - }, - CareplanId: { - type: Sequelize.INTEGER, - allowNull: false, - foreignKey: true, - unique: false - }, - UserId: { - type: Sequelize.UUID, - allowNull: false, - foreignKey: true, - unique: false - }, - StartDate: { - type: Sequelize.DATE, - allowNull: false - }, - EndDate: { - type: Sequelize.DATE, - allowNull: false - }, - EnrollmentDate: { - type: Sequelize.DATE, - allowNull: false - }, - ProgressStatus: { - type: Sequelize.ENUM(["Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown"]), - allowNull: false, - defaultValue: 'Pending' - }, - - CreatedAt: Sequelize.DATE, - UpdatedAt: Sequelize.DATE, - DeletedAt: Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = EnrollmentModel.Schema(); - - return sequelize.define( - EnrollmentModel.ModelName, - schema, { - createdAt: 'CreatedAt', - updatedAt: 'UpdatedAt', - deletedAt: 'DeletedAt', - freezeTableName: true, - timestamps: true, - paranoid: true, - tableName: EnrollmentModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + CareplanId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true, + unique : false + }, + UserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + StartDate : { + type : DataTypes.DATE, + allowNull : false + }, + EndDate : { + type : DataTypes.DATE, + allowNull : false + }, + EnrollmentDate : { + type : DataTypes.DATE, + allowNull : false + }, + ProgressStatus : { + type : DataTypes.ENUM({ values: ProgressStatusList }), + allowNull : false, + defaultValue : 'Pending' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + EnrollmentModel.ModelName, + EnrollmentModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : EnrollmentModel.TableName, + }); + static associate = (models) => { //Add associations here... - models.Enrollment.belongsTo(models.Careplan, { - sourceKey: 'CareplanId', - targetKey: 'id', - as: 'Careplan' + sourceKey : 'CareplanId', + targetKey : 'id', + as : 'Careplan' }); models.Enrollment.belongsTo(models.User, { - sourceKey: 'UserId', - targetKey: 'id', - as: 'User' + sourceKey : 'UserId', + targetKey : 'id', + as : 'User' }); }; -} \ No newline at end of file +} diff --git a/src/database/models/enrollment/enrollment.schedule.model.ts b/src/database/models/enrollment/enrollment.schedule.model.ts index f662a3b..78e034f 100644 --- a/src/database/models/enrollment/enrollment.schedule.model.ts +++ b/src/database/models/enrollment/enrollment.schedule.model.ts @@ -1,6 +1,8 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; +import { AssetTypeList } from '../../../domain.types/assets/asset.types'; +import { TimeSlotList } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -10,85 +12,73 @@ export class EnrollmentScheduleModel { static ModelName = 'EnrollmentSchedule'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - EnrollmentId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - UserId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - CareplanScheduleId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - AssetId : { - type : Sequelize.INTEGER, - allowNull : false - }, - AssetType : { - type : Sequelize.ENUM(["Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power"]), - allowNull : false - }, - CareplanId : { - type : Sequelize.INTEGER, - allowNull : false, - foreignKey : true, - unique : false - }, - TimeSlot : { - type : Sequelize.ENUM(["Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day"]), - allowNull : false, - defaultValue : 'Unspecified' - }, - ScheduledDate : { - type : Sequelize.DATE, - allowNull : false - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = EnrollmentScheduleModel.Schema(); - - return sequelize.define( - EnrollmentScheduleModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : EnrollmentScheduleModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + EnrollmentId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + UserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + CareplanScheduleId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + AssetId : { + type : DataTypes.INTEGER, + allowNull : false + }, + AssetType : { + type : DataTypes.ENUM({ values: AssetTypeList }), + allowNull : false + }, + CareplanId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true, + unique : false + }, + TimeSlot : { + type : DataTypes.ENUM({ values: TimeSlotList }), + allowNull : false, + defaultValue : 'Unspecified' + }, + ScheduledDate : { + type : DataTypes.DATE, + allowNull : false + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + EnrollmentScheduleModel.ModelName, + EnrollmentScheduleModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : EnrollmentScheduleModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/file.resource.model.ts b/src/database/models/file.resource.model.ts index 9dcf19a..2c952dd 100644 --- a/src/database/models/file.resource.model.ts +++ b/src/database/models/file.resource.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../database.connector'; +import * as db from '../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,69 +10,68 @@ export class FileResourceModel { static ModelName = 'FileResource'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - FileName : { - type : Sequelize.STRING(256), - allowNull : true - }, - UserId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - IsPublicResource : { - type : Sequelize.BOOLEAN, - allowNull : false, - defaultValue : true - }, - Tags : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : [] - }, - MimeType : { - type : Sequelize.STRING(128), - allowNull : true, - defaultValue : true - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = FileResourceModel.Schema(); - - return sequelize.define( - FileResourceModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : FileResourceModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + StorageKey : { + type : DataTypes.TEXT, + allowNull : true + }, + OriginalFilename : { + type : DataTypes.STRING(512), + allowNull : false + }, + MimeType : { + type : DataTypes.STRING(256), + allowNull : false + }, + Public : { + type : DataTypes.BOOLEAN, + allowNull : false, + defaultValue : false + }, + Size : { + type : DataTypes.INTEGER, + allowNull : true, + }, + Tags : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : '[]' + }, + DownloadCount : { + type : DataTypes.INTEGER, + allowNull : false, + defaultValue : 0 + }, + UserId : { + type : DataTypes.UUID, + allowNull : true, + foreignKey : true + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + FileResourceModel.ModelName, + FileResourceModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : FileResourceModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/role.model.ts b/src/database/models/role.model.ts index 5cdbea9..2acc449 100644 --- a/src/database/models/role.model.ts +++ b/src/database/models/role.model.ts @@ -1,4 +1,6 @@ -import { DatabaseConnector } from '../database.connector'; +import * as db from '../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -8,54 +10,42 @@ export class RoleModel { static ModelName = 'Role'; - static Schema = () => { - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - - RoleName : { - type : Sequelize.STRING(32), - allowNull : false - }, - - Description : { - type : Sequelize.STRING(256), - allowNull : true - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = RoleModel.Schema(); - - return sequelize.define( - RoleModel.ModelName, - schema, - { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : RoleModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + + RoleName : { + type : DataTypes.STRING(32), + allowNull : false + }, + + Description : { + type : DataTypes.STRING(256), + allowNull : true + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + RoleModel.ModelName, + RoleModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : RoleModel.TableName, + }); + static associate = (models) => { //Add associations here... models.Role.hasMany(models.RolePrivilege); diff --git a/src/database/models/role.privilege.model.ts b/src/database/models/role.privilege.model.ts index d3d74d5..23421ac 100644 --- a/src/database/models/role.privilege.model.ts +++ b/src/database/models/role.privilege.model.ts @@ -1,4 +1,6 @@ -import { DatabaseConnector } from '../database.connector'; +import * as db from '../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -8,60 +10,48 @@ export class RolePrivilegeModel { static ModelName = 'RolePrivilege'; - static Schema = () => { - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true - }, - - RoleId : { - type : Sequelize.INTEGER, - allowNull : false, - foreignKey : true - }, - - RoleName : { - type : Sequelize.STRING(32), - allowNull : true - }, + static Schema = { + id : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true + }, + + RoleId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true + }, + + RoleName : { + type : DataTypes.STRING(32), + allowNull : true + }, - Privilege : { - type : Sequelize.STRING(256), - allowNull : true - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = RolePrivilegeModel.Schema(); - - return sequelize.define( - RolePrivilegeModel.ModelName, - schema, - { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : RolePrivilegeModel.TableName, - }); + Privilege : { + type : DataTypes.STRING(256), + allowNull : true + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + RolePrivilegeModel.ModelName, + RolePrivilegeModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : RolePrivilegeModel.TableName, + }); + static associate = (models) => { //Add associations here... models.RolePrivilege.belongsTo(models.Role, { diff --git a/src/database/models/user.responses/user.activity.response.model.ts b/src/database/models/user.responses/user.activity.response.model.ts index a479d2a..ab8c5a9 100644 --- a/src/database/models/user.responses/user.activity.response.model.ts +++ b/src/database/models/user.responses/user.activity.response.model.ts @@ -1,6 +1,8 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +import { AssetTypeList } from '../../../domain.types/assets/asset.types'; +import { ProgressStatusList } from '../../../domain.types/miscellaneous/system.types'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,90 +12,78 @@ export class UserActivityResponseModel { static ModelName = 'UserActivityResponse'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - UserId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - EnrollmentScheduleId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - CareplanScheduleId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - CareplanId : { - type : Sequelize.INTEGER, - allowNull : false, - foreignKey : true, - unique : false - }, - AssetId : { - type : Sequelize.INTEGER, - allowNull : false - }, - AssetType : { - type : Sequelize.ENUM(["Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power"]), - allowNull : false - }, - Response : { - type : Sequelize.TEXT, - allowNull : false, - defaultValue : '{}' - }, - TimeResponded : { - type : Sequelize.DATE, - allowNull : false - }, - ProgressStatus : { - type : Sequelize.ENUM(["Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown"]), - allowNull : false, - defaultValue : 'Completed' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = UserActivityResponseModel.Schema(); - - return sequelize.define( - UserActivityResponseModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : UserActivityResponseModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + UserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + EnrollmentScheduleId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + CareplanScheduleId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + CareplanId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true, + unique : false + }, + AssetId : { + type : DataTypes.INTEGER, + allowNull : false + }, + AssetType : { + type : DataTypes.ENUM({ values: AssetTypeList }), + allowNull : false + }, + Response : { + type : DataTypes.TEXT, + allowNull : false, + defaultValue : '{}' + }, + TimeResponded : { + type : DataTypes.DATE, + allowNull : false + }, + ProgressStatus : { + type : DataTypes.ENUM({ values: ProgressStatusList }), + allowNull : false, + defaultValue : 'Completed' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + UserActivityResponseModel.ModelName, + UserActivityResponseModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : UserActivityResponseModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/user.responses/user.selected.action.plan.model.ts b/src/database/models/user.responses/user.selected.action.plan.model.ts index 77de728..65efe60 100644 --- a/src/database/models/user.responses/user.selected.action.plan.model.ts +++ b/src/database/models/user.responses/user.selected.action.plan.model.ts @@ -1,6 +1,7 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +import { ProgressStatusList } from '../../../domain.types/miscellaneous/system.types'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,90 +11,78 @@ export class UserSelectedActionPlanModel { static ModelName = 'UserSelectedActionPlan'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - UserId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - CareplanId : { - type : Sequelize.INTEGER, - allowNull : false, - foreignKey : true, - unique : false - }, - AssetId : { - type : Sequelize.INTEGER, - allowNull : false - }, - AssetType : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Action plan' - }, - AdditionalDetails : { - type : Sequelize.TEXT, - allowNull : true - }, - StartDate : { - type : Sequelize.DATE, - allowNull : false - }, - EndDate : { - type : Sequelize.DATE, - allowNull : false - }, - ProgressStatus : { - type : Sequelize.ENUM(["Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown"]), - allowNull : false, - defaultValue : 'Pending' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = UserSelectedActionPlanModel.Schema(); - - return sequelize.define( - UserSelectedActionPlanModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : UserSelectedActionPlanModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + UserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + CareplanId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true, + unique : false + }, + AssetId : { + type : DataTypes.INTEGER, + allowNull : false + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Action plan' + }, + AdditionalDetails : { + type : DataTypes.TEXT, + allowNull : true + }, + StartDate : { + type : DataTypes.DATE, + allowNull : false + }, + EndDate : { + type : DataTypes.DATE, + allowNull : false + }, + ProgressStatus : { + type : DataTypes.ENUM({ values: ProgressStatusList }), + allowNull : false, + defaultValue : 'Pending' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + UserSelectedActionPlanModel.ModelName, + UserSelectedActionPlanModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : UserSelectedActionPlanModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/user.responses/user.selected.goal.model.ts b/src/database/models/user.responses/user.selected.goal.model.ts index 89b89f2..33c4bd9 100644 --- a/src/database/models/user.responses/user.selected.goal.model.ts +++ b/src/database/models/user.responses/user.selected.goal.model.ts @@ -1,6 +1,7 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +import { ProgressStatusList } from '../../../domain.types/miscellaneous/system.types'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,90 +11,78 @@ export class UserSelectedGoalModel { static ModelName = 'UserSelectedGoal'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - UserId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - CareplanId : { - type : Sequelize.INTEGER, - allowNull : false, - foreignKey : true, - unique : false - }, - AssetId : { - type : Sequelize.INTEGER, - allowNull : false - }, - AssetType : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Goal' - }, - AdditionalDetails : { - type : Sequelize.TEXT, - allowNull : true - }, - StartDate : { - type : Sequelize.DATE, - allowNull : false - }, - EndDate : { - type : Sequelize.DATE, - allowNull : false - }, - ProgressStatus : { - type : Sequelize.ENUM(["Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown"]), - allowNull : false, - defaultValue : 'Pending' - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = UserSelectedGoalModel.Schema(); - - return sequelize.define( - UserSelectedGoalModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : UserSelectedGoalModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + UserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + CareplanId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true, + unique : false + }, + AssetId : { + type : DataTypes.INTEGER, + allowNull : false + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Goal' + }, + AdditionalDetails : { + type : DataTypes.TEXT, + allowNull : true + }, + StartDate : { + type : DataTypes.DATE, + allowNull : false + }, + EndDate : { + type : DataTypes.DATE, + allowNull : false + }, + ProgressStatus : { + type : DataTypes.ENUM({ values: ProgressStatusList }), + allowNull : false, + defaultValue : 'Pending' + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + UserSelectedGoalModel.ModelName, + UserSelectedGoalModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : UserSelectedGoalModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/user.responses/user.selected.priority.model.ts b/src/database/models/user.responses/user.selected.priority.model.ts index 6b6c0d7..e015288 100644 --- a/src/database/models/user.responses/user.selected.priority.model.ts +++ b/src/database/models/user.responses/user.selected.priority.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,77 +10,65 @@ export class UserSelectedPriorityModel { static ModelName = 'UserSelectedPriority'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - Name : { - type : Sequelize.STRING(256), - allowNull : false - }, - Description : { - type : Sequelize.TEXT, - allowNull : false - }, - UserId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - CareplanId : { - type : Sequelize.INTEGER, - allowNull : false, - foreignKey : true, - unique : false - }, - AssetId : { - type : Sequelize.INTEGER, - allowNull : false - }, - AssetType : { - type : Sequelize.STRING(128), - allowNull : false, - defaultValue : 'Priority' - }, - StartDate : { - type : Sequelize.DATE, - allowNull : false - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = UserSelectedPriorityModel.Schema(); - - return sequelize.define( - UserSelectedPriorityModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : UserSelectedPriorityModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + Name : { + type : DataTypes.STRING(256), + allowNull : false + }, + Description : { + type : DataTypes.TEXT, + allowNull : false + }, + UserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + CareplanId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true, + unique : false + }, + AssetId : { + type : DataTypes.INTEGER, + allowNull : false + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : 'Priority' + }, + StartDate : { + type : DataTypes.DATE, + allowNull : false + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + UserSelectedPriorityModel.ModelName, + UserSelectedPriorityModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : UserSelectedPriorityModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/user/user.login.session.model.ts b/src/database/models/user/user.login.session.model.ts index 8da9af8..347b5c4 100644 --- a/src/database/models/user/user.login.session.model.ts +++ b/src/database/models/user/user.login.session.model.ts @@ -1,4 +1,6 @@ -import { DatabaseConnector } from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -8,63 +10,51 @@ export class UserLoginSessionModel { static ModelName = 'UserLoginSession'; - static Schema = () => { - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + UserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + IsActive : { + type : DataTypes.BOOLEAN, + allowNull : false, + defaultValue : true + }, + StartedAt : { + type : DataTypes.DATE, + allowNull : false + }, + ValidTill : { + type : DataTypes.DATE, + allowNull : false + }, - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - UserId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - IsActive : { - type : Sequelize.BOOLEAN, - allowNull : false, - defaultValue : true - }, - StartedAt : { - type : Sequelize.DATE, - allowNull : false - }, - ValidTill : { - type : Sequelize.DATE, - allowNull : false - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = UserLoginSessionModel.Schema(); - - return sequelize.define( - UserLoginSessionModel.ModelName, - schema, - { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : UserLoginSessionModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + UserLoginSessionModel.ModelName, + UserLoginSessionModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : UserLoginSessionModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/user/user.model.ts b/src/database/models/user/user.model.ts index 45f24b6..6c52062 100644 --- a/src/database/models/user/user.model.ts +++ b/src/database/models/user/user.model.ts @@ -1,4 +1,7 @@ -import { DatabaseConnector } from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; +import { GenderList } from '../../../domain.types/miscellaneous/system.types'; //////////////////////////////////////////////////////////////////////// @@ -8,94 +11,81 @@ export class UserModel { static ModelName = 'User'; - static Schema = () => { - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - RoleId : { - type : Sequelize.INTEGER, - allowNull : false, - foreignKey : true, - unique : false - }, - UserName : { - type : Sequelize.STRING(32), - allowNull : false - }, - Prefix : { - type : Sequelize.STRING(16), - allowNull : false, - defaultValue : 'Mr' - }, - FirstName : { - type : Sequelize.STRING(64), - allowNull : false - }, - LastName : { - type : Sequelize.STRING(64), - allowNull : false - }, - CountryCode : { - type : Sequelize.STRING(10), - allowNull : false, - defaultValue : '+91' - }, - Phone : { - type : Sequelize.STRING(16), - allowNull : true - }, - Email : { - type : Sequelize.STRING(256), - allowNull : true - }, - Gender : { - type : Sequelize.ENUM(["Male", "Female", "Other"]), - allowNull : false, - defaultValue : 'Male' - }, - BirthDate : { - type : Sequelize.DATE, - allowNull : true - }, - Password : { - type : Sequelize.STRING(512), - allowNull : true - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = UserModel.Schema(); - - return sequelize.define( - UserModel.ModelName, - schema, - { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : UserModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + RoleId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true, + unique : false + }, + UserName : { + type : DataTypes.STRING(32), + allowNull : false + }, + Prefix : { + type : DataTypes.STRING(16), + allowNull : false, + defaultValue : 'Mr' + }, + FirstName : { + type : DataTypes.STRING(64), + allowNull : false + }, + LastName : { + type : DataTypes.STRING(64), + allowNull : false + }, + CountryCode : { + type : DataTypes.STRING(10), + allowNull : false, + defaultValue : '+91' + }, + Phone : { + type : DataTypes.STRING(16), + allowNull : true + }, + Email : { + type : DataTypes.STRING(256), + allowNull : true + }, + Gender : { + type : DataTypes.ENUM({ values: GenderList }), + allowNull : false, + defaultValue : 'Male' + }, + BirthDate : { + type : DataTypes.DATE, + allowNull : true + }, + Password : { + type : DataTypes.STRING(512), + allowNull : true + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + UserModel.ModelName, + UserModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : UserModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/user/user.otp.model.ts b/src/database/models/user/user.otp.model.ts index d83207b..acaf4f5 100644 --- a/src/database/models/user/user.otp.model.ts +++ b/src/database/models/user/user.otp.model.ts @@ -1,4 +1,6 @@ -import { DatabaseConnector } from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -8,77 +10,65 @@ export class UserOtpModel { static ModelName = 'UserOtp'; - static Schema = () => { - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + UserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + Otp : { + type : DataTypes.STRING(10), + allowNull : false, + }, + Purpose : { + type : DataTypes.ENUM("Login", "Verification"), + allowNull : false, + defaultValue : 'Login' + }, + Channel : { + type : DataTypes.ENUM("Mobile", "Email"), + allowNull : false, + defaultValue : 'Mobile' + }, + Validated : { + type : DataTypes.BOOLEAN, + allowNull : false, + defaultValue : false + }, + ValidFrom : { + type : DataTypes.DATE, + allowNull : false + }, + ValidTill : { + type : DataTypes.DATE, + allowNull : false + }, - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - UserId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - Otp : { - type : Sequelize.STRING(10), - allowNull : false, - }, - Purpose : { - type : Sequelize.ENUM(["Login", "Verification"]), - allowNull : false, - defaultValue : 'Login' - }, - Channel : { - type : Sequelize.ENUM(["Mobile", "Email"]), - allowNull : false, - defaultValue : 'Mobile' - }, - Validated : { - type : Sequelize.BOOLEAN, - allowNull : false, - defaultValue : false - }, - ValidFrom : { - type : Sequelize.DATE, - allowNull : false - }, - ValidTill : { - type : Sequelize.DATE, - allowNull : false - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = UserOtpModel.Schema(); - - return sequelize.define( - UserOtpModel.ModelName, - schema, - { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : UserOtpModel.TableName, - }); + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + UserOtpModel.ModelName, + UserOtpModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : UserOtpModel.TableName, + }); + static associate = (models) => { //Add associations here... diff --git a/src/database/models/user/user.role.model.ts b/src/database/models/user/user.role.model.ts index ec1c53e..cf98328 100644 --- a/src/database/models/user/user.role.model.ts +++ b/src/database/models/user/user.role.model.ts @@ -1,6 +1,6 @@ -import { - DatabaseConnector -} from '../../database.connector'; +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -10,71 +10,59 @@ export class UserRoleModel { static ModelName = 'UserRole'; - static Schema = () => { - - const db = DatabaseConnector.db(); - const Sequelize: any = db.Sequelize; - - return { - id : { - type : Sequelize.UUID, - allowNull : false, - defaultValue : Sequelize.UUIDV4, - primaryKey : true - }, - UserId : { - type : Sequelize.UUID, - allowNull : false, - foreignKey : true, - unique : false - }, - RoleId : { - type : Sequelize.INTEGER, - allowNull : false, - foreignKey : true, - unique : false - }, - - CreatedAt : Sequelize.DATE, - UpdatedAt : Sequelize.DATE, - DeletedAt : Sequelize.DATE - }; - } - - static Model: any = () => { - - const db = DatabaseConnector.db(); - const sequelize = db.sequelize; - const schema = UserRoleModel.Schema(); - - return sequelize.define( - UserRoleModel.ModelName, - schema, { - createdAt : 'CreatedAt', - updatedAt : 'UpdatedAt', - deletedAt : 'DeletedAt', - freezeTableName : true, - timestamps : true, - paranoid : true, - tableName : UserRoleModel.TableName, - }); + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + UserId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + RoleId : { + type : DataTypes.INTEGER, + allowNull : false, + foreignKey : true, + unique : false + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE }; + static Model: any = sequelize.define( + UserRoleModel.ModelName, + UserRoleModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : UserRoleModel.TableName, + }); + static associate = (models) => { //Add associations here... - // models.UserRole.belongsTo(models.User, { - // sourceKey : 'UserId', - // targetKey : 'id', - // as : 'User' - // }); - - // models.UserRole.belongsTo(models.Role, { - // sourceKey : 'RoleId', - // targetKey : 'id', - // as : 'Role' - // }); + models.UserRole.belongsTo(models.User, { + sourceKey : 'UserId', + targetKey : 'id', + as : 'User' + }); + + models.UserRole.belongsTo(models.Role, { + sourceKey : 'RoleId', + targetKey : 'id', + as : 'Role' + }); }; diff --git a/src/database/repository.services/api.client.service.ts b/src/database/repository.services/api.client.service.ts index 787ce88..6563ff5 100644 --- a/src/database/repository.services/api.client.service.ts +++ b/src/database/repository.services/api.client.service.ts @@ -12,7 +12,7 @@ import * as apikeyGenerator from 'uuid-apikey'; export class ApiClientService { - ApiClient = ApiClientModel.Model(); + ApiClient = ApiClientModel.Model; create = async (clientDomainModel: ApiClientCreateModel): Promise => { try { diff --git a/src/database/repository.services/assets/action.plan.service.ts b/src/database/repository.services/assets/action.plan.service.ts index 588e444..7fea660 100644 --- a/src/database/repository.services/assets/action.plan.service.ts +++ b/src/database/repository.services/assets/action.plan.service.ts @@ -23,9 +23,9 @@ export class ActionPlanService { //#region Models - ActionPlan = ActionPlanModel.Model(); + ActionPlan = ActionPlanModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/animation.service.ts b/src/database/repository.services/assets/animation.service.ts index 0883184..205db5f 100644 --- a/src/database/repository.services/assets/animation.service.ts +++ b/src/database/repository.services/assets/animation.service.ts @@ -26,11 +26,11 @@ export class AnimationService { //#region Models - Animation = AnimationModel.Model(); + Animation = AnimationModel.Model; - FileResource = FileResourceModel.Model(); + FileResource = FileResourceModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/appointment.service.ts b/src/database/repository.services/assets/appointment.service.ts index 46c50eb..3dd6288 100644 --- a/src/database/repository.services/assets/appointment.service.ts +++ b/src/database/repository.services/assets/appointment.service.ts @@ -23,9 +23,9 @@ export class AppointmentService { //#region Models - Appointment = AppointmentModel.Model(); + Appointment = AppointmentModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/article.service.ts b/src/database/repository.services/assets/article.service.ts index 1a76aac..3018a55 100644 --- a/src/database/repository.services/assets/article.service.ts +++ b/src/database/repository.services/assets/article.service.ts @@ -15,11 +15,11 @@ export class ArticleService { //#region Models - Article = ArticleModel.Model(); + Article = ArticleModel.Model; - FileResource = FileResourceModel.Model(); + FileResource = FileResourceModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/assessment.service.ts b/src/database/repository.services/assets/assessment.service.ts index 2225249..eae4e6a 100644 --- a/src/database/repository.services/assets/assessment.service.ts +++ b/src/database/repository.services/assets/assessment.service.ts @@ -23,9 +23,9 @@ export class AssessmentService { //#region Models - Assessment = AssessmentModel.Model(); + Assessment = AssessmentModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/audio.service.ts b/src/database/repository.services/assets/audio.service.ts index 892e253..6f1e3ee 100644 --- a/src/database/repository.services/assets/audio.service.ts +++ b/src/database/repository.services/assets/audio.service.ts @@ -26,11 +26,11 @@ export class AudioService { //#region Models - Audio = AudioModel.Model(); + Audio = AudioModel.Model; - FileResource = FileResourceModel.Model(); + FileResource = FileResourceModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/biometrics.service.ts b/src/database/repository.services/assets/biometrics.service.ts index a6af3c1..bf79b7f 100644 --- a/src/database/repository.services/assets/biometrics.service.ts +++ b/src/database/repository.services/assets/biometrics.service.ts @@ -23,9 +23,9 @@ export class BiometricsService { //#region Models - Biometrics = BiometricsModel.Model(); + Biometrics = BiometricsModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/challenge.service.ts b/src/database/repository.services/assets/challenge.service.ts index ed5c4ac..d97bdc3 100644 --- a/src/database/repository.services/assets/challenge.service.ts +++ b/src/database/repository.services/assets/challenge.service.ts @@ -23,9 +23,9 @@ export class ChallengeService { //#region Models - Challenge = ChallengeModel.Model(); + Challenge = ChallengeModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/checkup.service.ts b/src/database/repository.services/assets/checkup.service.ts index aef7082..a2af704 100644 --- a/src/database/repository.services/assets/checkup.service.ts +++ b/src/database/repository.services/assets/checkup.service.ts @@ -23,9 +23,9 @@ export class CheckupService { //#region Models - Checkup = CheckupModel.Model(); + Checkup = CheckupModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/consultation.service.ts b/src/database/repository.services/assets/consultation.service.ts index 059a8da..585e7d7 100644 --- a/src/database/repository.services/assets/consultation.service.ts +++ b/src/database/repository.services/assets/consultation.service.ts @@ -23,9 +23,9 @@ export class ConsultationService { //#region Models - Consultation = ConsultationModel.Model(); + Consultation = ConsultationModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/exercise.service.ts b/src/database/repository.services/assets/exercise.service.ts index ab73f76..c55a53b 100644 --- a/src/database/repository.services/assets/exercise.service.ts +++ b/src/database/repository.services/assets/exercise.service.ts @@ -23,9 +23,9 @@ export class ExerciseService { //#region Models - Exercise = ExerciseModel.Model(); + Exercise = ExerciseModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/goal.service.ts b/src/database/repository.services/assets/goal.service.ts index 44fc5be..883feb7 100644 --- a/src/database/repository.services/assets/goal.service.ts +++ b/src/database/repository.services/assets/goal.service.ts @@ -23,9 +23,9 @@ export class GoalService { //#region Models - Goal = GoalModel.Model(); + Goal = GoalModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/infographics.service.ts b/src/database/repository.services/assets/infographics.service.ts index 172adb4..b8fc115 100644 --- a/src/database/repository.services/assets/infographics.service.ts +++ b/src/database/repository.services/assets/infographics.service.ts @@ -26,11 +26,11 @@ export class InfographicsService { //#region Models - Infographics = InfographicsModel.Model(); + Infographics = InfographicsModel.Model; - FileResource = FileResourceModel.Model(); + FileResource = FileResourceModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/medication.service.ts b/src/database/repository.services/assets/medication.service.ts index 82a709f..13cd343 100644 --- a/src/database/repository.services/assets/medication.service.ts +++ b/src/database/repository.services/assets/medication.service.ts @@ -23,9 +23,9 @@ export class MedicationService { //#region Models - Medication = MedicationModel.Model(); + Medication = MedicationModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/meditation.service.ts b/src/database/repository.services/assets/meditation.service.ts index 07f767a..d04004d 100644 --- a/src/database/repository.services/assets/meditation.service.ts +++ b/src/database/repository.services/assets/meditation.service.ts @@ -23,9 +23,9 @@ export class MeditationService { //#region Models - Meditation = MeditationModel.Model(); + Meditation = MeditationModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/message.service.ts b/src/database/repository.services/assets/message.service.ts index bdd5cd4..3e49677 100644 --- a/src/database/repository.services/assets/message.service.ts +++ b/src/database/repository.services/assets/message.service.ts @@ -23,9 +23,9 @@ export class MessageService { //#region Models - Message = MessageModel.Model(); + Message = MessageModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/nutrition.service.ts b/src/database/repository.services/assets/nutrition.service.ts index 0ee252a..c3b9916 100644 --- a/src/database/repository.services/assets/nutrition.service.ts +++ b/src/database/repository.services/assets/nutrition.service.ts @@ -23,9 +23,9 @@ export class NutritionService { //#region Models - Nutrition = NutritionModel.Model(); + Nutrition = NutritionModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/physiotherapy.service.ts b/src/database/repository.services/assets/physiotherapy.service.ts index 08c56be..d06ded9 100644 --- a/src/database/repository.services/assets/physiotherapy.service.ts +++ b/src/database/repository.services/assets/physiotherapy.service.ts @@ -23,9 +23,9 @@ export class PhysiotherapyService { //#region Models - Physiotherapy = PhysiotherapyModel.Model(); + Physiotherapy = PhysiotherapyModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/priority.service.ts b/src/database/repository.services/assets/priority.service.ts index c689936..bd7d55d 100644 --- a/src/database/repository.services/assets/priority.service.ts +++ b/src/database/repository.services/assets/priority.service.ts @@ -23,9 +23,9 @@ export class PriorityService { //#region Models - Priority = PriorityModel.Model(); + Priority = PriorityModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/reflection.service.ts b/src/database/repository.services/assets/reflection.service.ts index 4de60eb..495a7fd 100644 --- a/src/database/repository.services/assets/reflection.service.ts +++ b/src/database/repository.services/assets/reflection.service.ts @@ -23,9 +23,9 @@ export class ReflectionService { //#region Models - Reflection = ReflectionModel.Model(); + Reflection = ReflectionModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/reminder.service.ts b/src/database/repository.services/assets/reminder.service.ts index e481b94..9584b64 100644 --- a/src/database/repository.services/assets/reminder.service.ts +++ b/src/database/repository.services/assets/reminder.service.ts @@ -23,9 +23,9 @@ export class ReminderService { //#region Models - Reminder = ReminderModel.Model(); + Reminder = ReminderModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/video.service.ts b/src/database/repository.services/assets/video.service.ts index 95be1a1..19bec63 100644 --- a/src/database/repository.services/assets/video.service.ts +++ b/src/database/repository.services/assets/video.service.ts @@ -26,11 +26,11 @@ export class VideoService { //#region Models - Video = VideoModel.Model(); + Video = VideoModel.Model; - FileResource = FileResourceModel.Model(); + FileResource = FileResourceModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/web.link.service.ts b/src/database/repository.services/assets/web.link.service.ts index a552123..7e5dc70 100644 --- a/src/database/repository.services/assets/web.link.service.ts +++ b/src/database/repository.services/assets/web.link.service.ts @@ -9,7 +9,6 @@ import { ErrorHandler } from '../../../common/error.handler'; import { - WebLinkCreateModel, WebLinkSearchFilters, WebLinkSearchResults } from '../../../domain.types/assets/web.link.domain.types'; @@ -23,15 +22,15 @@ export class WebLinkService { //#region Models - WebLink = WebLinkModel.Model(); + WebLink = WebLinkModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion //#region Publics - create = async (createModel: WebLinkCreateModel) => { + create = async (createModel) => { try { var record = await this.WebLink.create(createModel); return await this.getById(record.id); diff --git a/src/database/repository.services/assets/web.newsfeed.service.ts b/src/database/repository.services/assets/web.newsfeed.service.ts index 584f1a5..d063871 100644 --- a/src/database/repository.services/assets/web.newsfeed.service.ts +++ b/src/database/repository.services/assets/web.newsfeed.service.ts @@ -23,9 +23,9 @@ export class WebNewsfeedService { //#region Models - WebNewsfeed = WebNewsfeedModel.Model(); + WebNewsfeed = WebNewsfeedModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/assets/word.power.service.ts b/src/database/repository.services/assets/word.power.service.ts index 739f1e5..b8d6ea5 100644 --- a/src/database/repository.services/assets/word.power.service.ts +++ b/src/database/repository.services/assets/word.power.service.ts @@ -23,9 +23,9 @@ export class WordPowerService { //#region Models - WordPower = WordPowerModel.Model(); + WordPower = WordPowerModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/careplan/careplan.category.service.ts b/src/database/repository.services/careplan/careplan.category.service.ts index 99e6c58..6b5fa0c 100644 --- a/src/database/repository.services/careplan/careplan.category.service.ts +++ b/src/database/repository.services/careplan/careplan.category.service.ts @@ -7,7 +7,7 @@ import { CareplanCategoryDto, CareplanCategorySearchFilters, CareplanCategorySea export class CareplanCategoryService { - CareplanCategory = CareplanCategoryModel.Model(); + CareplanCategory = CareplanCategoryModel.Model; create = async (createModel: CareplanCategoryCreateModel): Promise < CareplanCategoryDto > => { try { diff --git a/src/database/repository.services/careplan/careplan.schedule.service.ts b/src/database/repository.services/careplan/careplan.schedule.service.ts index f41aa62..4174f92 100644 --- a/src/database/repository.services/careplan/careplan.schedule.service.ts +++ b/src/database/repository.services/careplan/careplan.schedule.service.ts @@ -20,9 +20,9 @@ export class CareplanScheduleService { //#region Models - CareplanSchedule = CareplanScheduleModel.Model(); + CareplanSchedule = CareplanScheduleModel.Model; - Careplan = CareplanModel.Model(); + Careplan = CareplanModel.Model; //#endregion diff --git a/src/database/repository.services/careplan/careplan.service.ts b/src/database/repository.services/careplan/careplan.service.ts index e6faf66..8ebbb06 100644 --- a/src/database/repository.services/careplan/careplan.service.ts +++ b/src/database/repository.services/careplan/careplan.service.ts @@ -11,11 +11,11 @@ export class CareplanService { //#region Models - Careplan = CareplanModel.Model(); + Careplan = CareplanModel.Model; - CareplanCategory = CareplanCategoryModel.Model(); + CareplanCategory = CareplanCategoryModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/enrollment/enrollment.schedule.service.ts b/src/database/repository.services/enrollment/enrollment.schedule.service.ts index 06c42ac..edc5296 100644 --- a/src/database/repository.services/enrollment/enrollment.schedule.service.ts +++ b/src/database/repository.services/enrollment/enrollment.schedule.service.ts @@ -29,15 +29,15 @@ export class EnrollmentScheduleService { //#region Models - EnrollmentSchedule = EnrollmentScheduleModel.Model(); + EnrollmentSchedule = EnrollmentScheduleModel.Model; - Enrollment = EnrollmentModel.Model(); + Enrollment = EnrollmentModel.Model; - User = UserModel.Model(); + User = UserModel.Model; - CareplanSchedule = CareplanScheduleModel.Model(); + CareplanSchedule = CareplanScheduleModel.Model; - Careplan = CareplanModel.Model(); + Careplan = CareplanModel.Model; //#endregion diff --git a/src/database/repository.services/enrollment/enrollment.service.ts b/src/database/repository.services/enrollment/enrollment.service.ts index 71746dd..bff260c 100644 --- a/src/database/repository.services/enrollment/enrollment.service.ts +++ b/src/database/repository.services/enrollment/enrollment.service.ts @@ -23,11 +23,11 @@ export class EnrollmentService { //#region Models - Enrollment = EnrollmentModel.Model(); + Enrollment = EnrollmentModel.Model; - Careplan = CareplanModel.Model(); + Careplan = CareplanModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion diff --git a/src/database/repository.services/file.resource.service.ts b/src/database/repository.services/file.resource.service.ts index a71a3aa..9192591 100644 --- a/src/database/repository.services/file.resource.service.ts +++ b/src/database/repository.services/file.resource.service.ts @@ -1,21 +1,8 @@ -import { - FileResourceModel -} from '../models/file.resource.model'; -import { - UserModel -} from '../models/user/user.model'; - -import { - ErrorHandler -} from '../../common/error.handler'; -import { - FileResourceCreateModel, - FileResourceSearchFilters, - FileResourceSearchResults -} from '../../domain.types/file.resource.domain.types'; -import { - Op -} from 'sequelize'; +import { FileResourceModel } from '../models/file.resource.model'; +import { UserModel } from '../models/user/user.model'; +import { ErrorHandler } from '../../common/error.handler'; +import { FileResourceCreateModel } from '../../domain.types/file.resource.domain.types'; +import { Op } from 'sequelize'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -23,9 +10,9 @@ export class FileResourceService { //#region Models - FileResource = FileResourceModel.Model(); + FileResource = FileResourceModel.Model; - User = UserModel.Model(); + User = UserModel.Model; //#endregion @@ -61,7 +48,21 @@ export class FileResourceService { } } - exists = async (id): Promise < boolean > => { + incrementDownloadCount = async (id) => { + try { + var record = await this.FileResource.findOne({ + where : { + id : id + } + }); + record.DownloadCount = record.DownloadCount + 1; + await record.save(); + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to update download count for file resource!', error); + } + } + + exists = async (id): Promise => { try { const record = await this.FileResource.findByPk(id); return record !== null; @@ -70,7 +71,7 @@ export class FileResourceService { } } - search = async (filters: FileResourceSearchFilters): Promise < FileResourceSearchResults > => { + search = async (filters): Promise => { try { var search = this.getSearchModel(filters); @@ -84,7 +85,7 @@ export class FileResourceService { } = this.addPaginationToSearch(search, filters); const foundResults = await this.FileResource.findAndCountAll(search); - const searchResults: FileResourceSearchResults = { + const searchResults = { TotalCount : foundResults.count, RetrievedCount : foundResults.rows.length, PageIndex : pageIndex, diff --git a/src/database/repository.services/role.privilege.service.ts b/src/database/repository.services/role.privilege.service.ts index 5efe76b..f4a7cfc 100644 --- a/src/database/repository.services/role.privilege.service.ts +++ b/src/database/repository.services/role.privilege.service.ts @@ -6,7 +6,7 @@ import { Op } from 'sequelize'; export class RolePrivilegeService { - RolePrivilege = RolePrivilegeModel.Model(); + RolePrivilege = RolePrivilegeModel.Model; create = async (createModel) => { try { diff --git a/src/database/repository.services/role.service.ts b/src/database/repository.services/role.service.ts index 49a7dc6..c404c3d 100644 --- a/src/database/repository.services/role.service.ts +++ b/src/database/repository.services/role.service.ts @@ -6,7 +6,7 @@ import { Op } from 'sequelize'; export class RoleService { - Role = RoleModel.Model(); + Role = RoleModel.Model; create = async (createModel) => { try { diff --git a/src/database/repository.services/user.responses/user.activity.response.service.ts b/src/database/repository.services/user.responses/user.activity.response.service.ts index 231b281..4d121fe 100644 --- a/src/database/repository.services/user.responses/user.activity.response.service.ts +++ b/src/database/repository.services/user.responses/user.activity.response.service.ts @@ -32,15 +32,15 @@ export class UserActivityResponseService { //#region Models - UserActivityResponse = UserActivityResponseModel.Model(); + UserActivityResponse = UserActivityResponseModel.Model; - User = UserModel.Model(); + User = UserModel.Model; - EnrollmentSchedule = EnrollmentScheduleModel.Model(); + EnrollmentSchedule = EnrollmentScheduleModel.Model; - CareplanSchedule = CareplanScheduleModel.Model(); + CareplanSchedule = CareplanScheduleModel.Model; - Careplan = CareplanModel.Model(); + Careplan = CareplanModel.Model; //#endregion diff --git a/src/database/repository.services/user.responses/user.selected.action.plan.service.ts b/src/database/repository.services/user.responses/user.selected.action.plan.service.ts index 027e788..da3bfd3 100644 --- a/src/database/repository.services/user.responses/user.selected.action.plan.service.ts +++ b/src/database/repository.services/user.responses/user.selected.action.plan.service.ts @@ -26,11 +26,11 @@ export class UserSelectedActionPlanService { //#region Models - UserSelectedActionPlan = UserSelectedActionPlanModel.Model(); + UserSelectedActionPlan = UserSelectedActionPlanModel.Model; - User = UserModel.Model(); + User = UserModel.Model; - Careplan = CareplanModel.Model(); + Careplan = CareplanModel.Model; //#endregion diff --git a/src/database/repository.services/user.responses/user.selected.goal.service.ts b/src/database/repository.services/user.responses/user.selected.goal.service.ts index c45f4bb..5cb9cda 100644 --- a/src/database/repository.services/user.responses/user.selected.goal.service.ts +++ b/src/database/repository.services/user.responses/user.selected.goal.service.ts @@ -26,11 +26,11 @@ export class UserSelectedGoalService { //#region Models - UserSelectedGoal = UserSelectedGoalModel.Model(); + UserSelectedGoal = UserSelectedGoalModel.Model; - User = UserModel.Model(); + User = UserModel.Model; - Careplan = CareplanModel.Model(); + Careplan = CareplanModel.Model; //#endregion diff --git a/src/database/repository.services/user.responses/user.selected.priority.service.ts b/src/database/repository.services/user.responses/user.selected.priority.service.ts index 7f4ac8b..095567b 100644 --- a/src/database/repository.services/user.responses/user.selected.priority.service.ts +++ b/src/database/repository.services/user.responses/user.selected.priority.service.ts @@ -26,11 +26,11 @@ export class UserSelectedPriorityService { //#region Models - UserSelectedPriority = UserSelectedPriorityModel.Model(); + UserSelectedPriority = UserSelectedPriorityModel.Model; - User = UserModel.Model(); + User = UserModel.Model; - Careplan = CareplanModel.Model(); + Careplan = CareplanModel.Model; //#endregion diff --git a/src/database/repository.services/user/user.otp.service.ts b/src/database/repository.services/user/user.otp.service.ts index 3ac4b88..c79c447 100644 --- a/src/database/repository.services/user/user.otp.service.ts +++ b/src/database/repository.services/user/user.otp.service.ts @@ -6,7 +6,7 @@ import { Op } from 'sequelize'; export class UserOtpService { - UserOtp = UserOtpModel.Model(); + UserOtp = UserOtpModel.Model; create = async (userId, purpose) => { try { diff --git a/src/database/repository.services/user/user.role.service.ts b/src/database/repository.services/user/user.role.service.ts index 4fbe747..f41b41f 100644 --- a/src/database/repository.services/user/user.role.service.ts +++ b/src/database/repository.services/user/user.role.service.ts @@ -23,11 +23,11 @@ export class UserRoleService { //#region Models - UserRole = UserRoleModel.Model(); + UserRole = UserRoleModel.Model; - User = UserModel.Model(); + User = UserModel.Model; - Role = RoleModel.Model(); + Role = RoleModel.Model; //#endregion diff --git a/src/database/repository.services/user/user.service.ts b/src/database/repository.services/user/user.service.ts index bd2cb96..d9223e9 100644 --- a/src/database/repository.services/user/user.service.ts +++ b/src/database/repository.services/user/user.service.ts @@ -13,13 +13,13 @@ import { DurationType } from '../../../domain.types/miscellaneous/time.types'; export class UserService { - User = UserModel.Model(); + User = UserModel.Model; - Role = RoleModel.Model(); + Role = RoleModel.Model; - UserRole = UserRoleModel.Model(); + UserRole = UserRoleModel.Model; - UserLoginSession = UserLoginSessionModel.Model(); + UserLoginSession = UserLoginSessionModel.Model; create = async (createModel) => { try { diff --git a/src/domain.types/file.resource.domain.types.ts b/src/domain.types/file.resource.domain.types.ts index 88e0805..928e7a8 100644 --- a/src/domain.types/file.resource.domain.types.ts +++ b/src/domain.types/file.resource.domain.types.ts @@ -1,42 +1,23 @@ -import { - BaseSearchFilters, - BaseSearchResults -} from "./miscellaneous/base.search.types"; -import { - uuid -} from "./miscellaneous/system.types"; +import { uuid } from "./miscellaneous/system.types"; export interface FileResourceCreateModel { - FileName ? : string; - UserId ? : uuid; - IsPublicResource ? : boolean; - Tags ? : string; -} - -export interface FileResourceUpdateModel { - FileName ? : string; - UserId ? : uuid; - IsPublicResource ? : boolean; - Tags ? : string; + StorageKey ?: string; + MimeType ?: string; + OriginalFilename ?: string; + UserId ?: uuid; + Size ?: number; + Public ?: boolean; + DownloadCount ?: number; + Tags ?: string; } export interface FileResourceDto { - id: uuid; - FileName: string; - UserId: uuid; - IsPublicResource: boolean; - Tags: string[]; - MimeType: string; - + id : uuid; + MimeType : string; + OriginalFilename: string; + UserId : uuid; + Size : number; + Public : boolean; + DownloadCount : number; + Tags : string[]; } - -export interface FileResourceSearchFilters extends BaseSearchFilters { - FileName ? : string; - IsPublicResource ? : boolean; - Tags ? : string; - MimeType ? : string; -} - -export interface FileResourceSearchResults extends BaseSearchResults { - Items: FileResourceDto[]; -} \ No newline at end of file From 91dc226f5cbc6b8bf37da050060eab7c766e9de6 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Thu, 30 Jun 2022 11:45:09 +0530 Subject: [PATCH 002/169] enrollment and schedule refinement --- .../repository.services/careplan/careplan.category.service.ts | 2 +- src/database/repository.services/careplan/careplan.service.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/database/repository.services/careplan/careplan.category.service.ts b/src/database/repository.services/careplan/careplan.category.service.ts index 6b5fa0c..5029ab9 100644 --- a/src/database/repository.services/careplan/careplan.category.service.ts +++ b/src/database/repository.services/careplan/careplan.category.service.ts @@ -12,7 +12,7 @@ export class CareplanCategoryService { create = async (createModel: CareplanCategoryCreateModel): Promise < CareplanCategoryDto > => { try { var record = await this.CareplanCategory.create(createModel); - return await exports.getById(record.id); + return await this.getById(record.id); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create careplan category!', error); } diff --git a/src/database/repository.services/careplan/careplan.service.ts b/src/database/repository.services/careplan/careplan.service.ts index 8ebbb06..024e9fe 100644 --- a/src/database/repository.services/careplan/careplan.service.ts +++ b/src/database/repository.services/careplan/careplan.service.ts @@ -22,7 +22,7 @@ export class CareplanService { create = async (createModel: CareplanCreateModel): Promise => { try { var record = await this.Careplan.create(createModel); - return await exports.getById(record.id); + return await this.getById(record.id); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create care plan!', error); } From 5897df484177c510a99dacae8bb3241e870ed1f4 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Thu, 30 Jun 2022 11:45:53 +0530 Subject: [PATCH 003/169] corrected the postman request --- ...n.service.workflow.postman_collection.json | 7173 +++++++++++++++-- 1 file changed, 6327 insertions(+), 846 deletions(-) diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index ab6c566..1575240 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -1,9 +1,9 @@ { "info": { - "_postman_id": "4a2978a1-594c-4f4a-af37-fbe5583ba546", + "_postman_id": "456bf7cf-bd53-4984-9bc4-05ee825e0a1d", "name": "careplan.service.workflow", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "5510218" + "_exporter_id": "15905052" }, "item": [ { @@ -61,7 +61,7 @@ "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"ADMIN_JWT\", jsonRes.Data.AccessToken);\r", + " pm.environment.set(\"ADMIN_USER_JWT\", jsonRes.Data.AccessToken);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -131,7 +131,7 @@ "name": "Moderator login", "item": [ { - "name": "Moderator logs in", + "name": "Moderator log-in", "event": [ { "listen": "test", @@ -165,7 +165,7 @@ "listen": "prerequest", "script": { "exec": [ - " //pm.environment.set(\"ADMIN_PASSWORD\", jsonRes.Data.Client.id);" + " pm.environment.set(\"MODERATOR_PASSWORD\", \"123xyz@\");" ], "type": "text/javascript" } @@ -207,46 +207,46 @@ }, { "name": "User management", - "item": [] - }, - { - "name": "File resources - upload and download", "item": [ { - "name": "Upload file", + "name": "create User", "event": [ { "listen": "test", "script": { "exec": [ "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"FILE_RESOURCE_ID\", respData.Data.id);\r", - " pm.environment.set(\"FILE_RESOURCE_URL\", respData.Data.Url);\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New file resource record is created', function () {\r", + "pm.test(\"User login: Access token is returned\", function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('OriginalFilename');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", - " pm.expect(jsonRes.Data).to.have.property('MimeType');\r", - " pm.expect(jsonRes.Data).to.have.property('Public');\r", - " pm.expect(jsonRes.Data).to.have.property('Size');\r", + " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", + " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", "});\r", "" ], "type": "text/javascript" } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } } ], "request": { @@ -254,84 +254,75 @@ "header": [ { "key": "Content-Type", - "value": "application/octet-stream", + "value": "application/json", "type": "text" }, { "key": "Authorization", - "value": "Bearer {{MODERATOR_JWT}}", - "type": "text" - }, - { - "key": "Filename", - "value": "kk.jpg", - "type": "text" - }, - { - "key": "Public", - "value": "true", + "value": "Bearer {{USER_JWT}}", "type": "text" } ], "body": { - "mode": "file", - "file": { - "src": "/D:/graduation-cap.png" - } + "mode": "raw", + "raw": "{\r\n \"RoleId\": \"3\",\r\n \"FirstName\": \"Cris\",\r\n \"LastName\": \"evans\",\r\n \"Gender\": \"Male\",\r\n \"BiocubeId\": \"he\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"abcdef@xybz.com\",\r\n \"Phone\": \"7309963207\",\r\n \"UserName\": \"hecris\",\r\n \"Password\": \"Apple@1234\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/file-resources/upload", + "raw": "{{BASE_URL}}/users", "host": [ "{{BASE_URL}}" ], "path": [ - "file-resources", - "upload" + "users" ] - } + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." }, "response": [] }, { - "name": "Download", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "Authorization", - "value": "Bearer {{MODERATOR_JWT}}", - "type": "text" + "name": "User log-in", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User login: Access token is returned\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", + " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", + "});\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + " pm.environment.set(\"USER_PASSWORD\", \"123xyz@\");" + ], + "type": "text/javascript" } - ], - "url": { - "raw": "{{BASE_URL}}/file-resources/download/{{FILE_RESOURCE_ID}}?disposition=attachment", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "file-resources", - "download", - "{{FILE_RESOURCE_ID}}" - ], - "query": [ - { - "key": "disposition", - "value": "attachment" - } - ] } - }, - "response": [] - }, - { - "name": "Get by id", + ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", @@ -340,20 +331,25 @@ }, { "key": "Authorization", - "value": "Bearer {{MODERATOR_JWT}}", + "value": "Bearer {{USER_JWT}}", "type": "text" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"UserName\": \"crisevans\",\r\n \"Password\": \"Apple@123\"\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/file-resources/{{FILE_RESOURCE_ID}}", + "raw": "{{BASE_URL}}/users/login-password", "host": [ "{{BASE_URL}}" ], "path": [ - "file-resources", - "{{FILE_RESOURCE_ID}}" + "users", + "login-password" ] - } + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." }, "response": [] } @@ -372,7 +368,6 @@ "try {\r", " var respData = pm.response.json();\r", " pm.environment.set(\"API_CLIENT_ID\", respData.Data.id);\r", - " pm.environment.set(\"API_CLIENT_CODE\", respData.Data.ClientCode);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -386,36 +381,15 @@ "\r", "pm.test('New api client record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('ClientName');\r", - " pm.expect(jsonRes.Data).to.have.property('ClientCode');\r", - " pm.expect(jsonRes.Data).to.have.property('IsPrivileged');\r", - " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Phone');\r", - " pm.expect(jsonRes.Data).to.have.property('Email');\r", - " pm.expect(jsonRes.Data.ClientName).equals(\"Rean Patient App\");\r", + " //pm.expect(jsonRes.Data).to.have.property('xyz');\r", + " //let expectedXyz = ;\r", + " //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r", "});\r", "\r", "" ], "type": "text/javascript" } - }, - { - "listen": "prerequest", - "script": { - "exec": [ - "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", - "var rand = (Math.floor(Math.random() * 900000) + 100000).toString();\r", - "var password = \"Test@123\";\r", - "pm.environment.set(\"API_CLIENT_PASSWORD\", password);\r", - "pm.environment.set(\"PHONE_NUMBER\", phonenumber);\r", - "pm.environment.set(\"EMAIL\", `client.${rand}@nodomain.com`);\r", - "pm.environment.set(\"PASSWORD\", password);\r", - "" - ], - "type": "text/javascript" - } } ], "request": { @@ -429,12 +403,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{ADMIN_JWT}}" + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"ClientName\": \"Rean Patient App\",\r\n \"ClientInterfaceType\": \"Web App\",\r\n \"CountryCode\": \"+91\",\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"Email\": \"{{EMAIL}}\",\r\n \"IsPrivileged\": true,\r\n \"Password\": \"{{API_CLIENT_PASSWORD}}\"\r\n}\r\n" + "raw": "{\r\n \"ClientName\": \"Rean Patient App\",\r\n \"ClientCode\": \"REANWORLD\",\r\n \"ClientInterfaceType\": \"Web App\",\r\n \"IsPrivileged\": true,\r\n \"Password\": \"abc#123XYZ\",\r\n \"ApiKey\": \"004V41E-6JX4ZYM-MAKN1N6-DAY4V6A\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/api-clients", @@ -455,24 +429,6 @@ "listen": "test", "script": { "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Api client record is returned', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('ClientName');\r", - " pm.expect(jsonRes.Data).to.have.property('ClientCode');\r", - " pm.expect(jsonRes.Data).to.have.property('IsPrivileged');\r", - " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Phone');\r", - " pm.expect(jsonRes.Data).to.have.property('Email');\r", - " pm.expect(jsonRes.Data.ClientName).equals(\"Rean Patient App\");\r", - "});\r", - "\r", "" ], "type": "text/javascript" @@ -490,7 +446,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{ADMIN_JWT}}" + "value": "Bearer {{USER_JWT}}" } ], "url": { @@ -508,27 +464,6 @@ }, { "name": "Search with filters", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Api client records are returned', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data.Items.length).to.be.greaterThan(0);\r", - "});\r", - "" - ], - "type": "text/javascript" - } - } - ], "request": { "method": "GET", "header": [ @@ -540,11 +475,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{ADMIN_JWT}}" + "value": "Bearer {{USER_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/api-clients/search", + "raw": "{{BASE_URL}}/api-clients/search?clientCode=MYCLIENT", "host": [ "{{BASE_URL}}" ], @@ -560,8 +495,7 @@ }, { "key": "clientCode", - "value": "MYCLIENT", - "disabled": true + "value": "MYCLIENT" }, { "key": "clientInterfaceType", @@ -638,7 +572,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{ADMIN_JWT}}" + "value": "Bearer {{USER_JWT}}" } ], "body": { @@ -696,7 +630,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{ADMIN_JWT}}" + "value": "Bearer {{USER_JWT}}" } ], "url": { @@ -712,76 +646,6 @@ }, "response": [] }, - { - "name": "Create API client again", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"API_CLIENT_ID\", respData.Data.id);\r", - " pm.environment.set(\"API_CLIENT_CODE\", respData.Data.ClientCode);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('New api client record is created', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('ClientName');\r", - " pm.expect(jsonRes.Data).to.have.property('ClientCode');\r", - " pm.expect(jsonRes.Data).to.have.property('IsPrivileged');\r", - " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Phone');\r", - " pm.expect(jsonRes.Data).to.have.property('Email');\r", - " pm.expect(jsonRes.Data.ClientName).equals(\"Rean Patient App\");\r", - "});\r", - "\r", - "" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{ADMIN_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"ClientName\": \"Rean Patient App\",\r\n \"ClientInterfaceType\": \"Web App\",\r\n \"CountryCode\": \"+91\",\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"Email\": \"{{EMAIL}}\",\r\n \"IsPrivileged\": true,\r\n \"Password\": \"{{API_CLIENT_PASSWORD}}\"\r\n}" - }, - "url": { - "raw": "{{BASE_URL}}/api-clients", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "api-clients" - ] - } - }, - "response": [] - }, { "name": "Get current API key", "event": [ @@ -967,10 +831,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New action plan record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New action plan record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -992,7 +875,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"V1\"\r\n}" + "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n\"Name\": \"Join the gym\",\r\n\"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/action-plans", @@ -1009,6 +892,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Action plan record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -1020,7 +944,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -1039,6 +963,39 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Action plan record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "\r", + " \r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -1050,11 +1007,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/action-plans/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/action-plans/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -1066,27 +1023,32 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -1099,7 +1061,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -1109,11 +1070,32 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New action plan record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Action plan record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -1128,12 +1110,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n\"Name\": \"Join the gym\",\r\n\"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n\"Name\": \"Join the gym\",\r\n\"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/action-plans/{{ACTION_PLAN_ID}}", @@ -1151,6 +1133,39 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Action plan record is deleted', function () {\r", + " \r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -1162,7 +1177,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -1178,6 +1193,80 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New action plan record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n\"Name\": \"Join the gym\",\r\n\"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/action-plans", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "action-plans" + ] + } + }, + "response": [] } ] }, @@ -1199,10 +1288,28 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New animation record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New animation record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + " " ], "type": "text/javascript" } @@ -1224,7 +1331,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"V1\"\r\n}" + "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/animations", @@ -1241,6 +1348,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Animation record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -1252,7 +1400,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -1271,6 +1419,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Animation record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -1282,11 +1460,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/animations/search?assetCode=xyz&name=xyz&transcript=xyz&url=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/animations/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -1298,31 +1476,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "transcript", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "url", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -1335,7 +1519,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -1345,11 +1528,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New animation record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Animation record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -1364,12 +1567,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"ANIMATION-MT-3\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"ANIMATION-MT-3\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", @@ -1387,6 +1590,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Animation record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -1398,7 +1632,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -1414,14 +1648,9 @@ } }, "response": [] - } - ] - }, - { - "name": "Appointment", - "item": [ + }, { - "name": "Create", + "name": "Create again", "event": [ { "listen": "test", @@ -1429,16 +1658,34 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", + " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New appointment record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New animation record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + " " ], "type": "text/javascript" } @@ -1460,25 +1707,74 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"AppointmentType\": \"Doctor\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/appointments", + "raw": "{{BASE_URL}}/assets/animations", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "appointments" + "animations" ] } }, "response": [] - }, + } + ] + }, + { + "name": "Appointment", + "item": [ { - "name": "Get by id", + "name": "Create", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New appointment record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", @@ -1488,25 +1784,72 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"AppointmentType\": \"Doctor\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", + "raw": "{{BASE_URL}}/assets/appointments", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "appointments", - "{{APPOINTMENT_ID}}" + "appointments" ] } }, "response": [] }, { - "name": "Search with filters", + "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Appointment record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -1518,47 +1861,114 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/appointments/search?assetCode=xyz&name=xyz&description=xyz&appointmentType=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", "appointments", - "search" - ], - "query": [ + "{{APPOINTMENT_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Appointment record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/assets/appointments/search?version=V1", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "appointments", + "search" + ], + "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "appointmentType", - "value": "xyz" + "value": "Lab", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -1571,7 +1981,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -1581,11 +1990,34 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New appointment record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('New appointment record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -1600,12 +2032,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"APPOINTMENT-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"AppointmentType\": \"Doctor\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"APPOINTMENT-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"AppointmentType\": \"Doctor\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", @@ -1623,6 +2055,38 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Appointment record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -1634,7 +2098,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -1650,6 +2114,83 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New appointment record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.Appointment.AssetCode).equals('APPOINTMENT-CC-2');\r", + " pm.expect(jsonRes.Data.Appointment.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Appointment.AppointmentType).equals('Doctor');\r", + " pm.expect(jsonRes.Data.Appointment.AssetCategory).equals('Appointment');\r", + " pm.expect(jsonRes.Data.Appointment.Version).equals('V1');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"AppointmentType\": \"Doctor\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/appointments", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "appointments" + ] + } + }, + "response": [] } ] }, @@ -1671,10 +2212,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New article record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New article record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Summary');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -1713,6 +2273,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Article record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Summary');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -1724,7 +2325,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -1743,6 +2344,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Article record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -1754,11 +2385,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/articles/search?assetCode=xyz&name=xyz&summary=xyz&url=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/articles/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -1770,31 +2401,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "summary", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "url", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -1807,7 +2444,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -1817,11 +2453,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New article record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Article record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Summary');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -1836,12 +2492,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"ARTICLE-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Summary\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"ARTICLE-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Summary\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/articles/{{ARTICLE_ID}}", @@ -1859,6 +2515,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Article record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -1870,7 +2557,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -1886,14 +2573,9 @@ } }, "response": [] - } - ] - }, - { - "name": "Assessment", - "item": [ + }, { - "name": "Create", + "name": "Create again", "event": [ { "listen": "test", @@ -1901,16 +2583,35 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", + " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New assessment record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New article record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Summary');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -1932,25 +2633,72 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Template\": \"{}\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Summary\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/assessments", + "raw": "{{BASE_URL}}/assets/articles", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "assessments" + "articles" ] } }, "response": [] - }, + } + ] + }, + { + "name": "Assessment", + "item": [ { - "name": "Get by id", - "request": { - "method": "GET", + "name": "Create", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New assessment record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Template');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", "header": [ { "key": "Content-Type", @@ -1960,7 +2708,82 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Template\": \"{}\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/assessments", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "assessments" + ] + } + }, + "response": [] + }, + { + "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Assessment record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Template');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -1979,6 +2802,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Assessment record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -1990,11 +2843,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/assessments/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&template=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/assessments/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -2006,31 +2859,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "template", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -2043,7 +2902,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2053,11 +2911,32 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New assessment record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Assessment record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Template');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -2072,12 +2951,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"ASSESSMENT-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Template\": \"{}\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"ASSESSMENT-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Template\": \"{}\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/assessments/{{ASSESSMENT_ID}}", @@ -2095,6 +2974,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Assessment record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -2106,7 +3016,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -2122,6 +3032,81 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New assessment record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Template');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Template\": \"{}\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/assessments", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "assessments" + ] + } + }, + "response": [] } ] }, @@ -2143,10 +3128,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New audio record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New audio record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -2185,6 +3189,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Audio record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -2196,7 +3241,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -2215,6 +3260,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Audio record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -2226,11 +3301,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/audio/search?assetCode=xyz&name=xyz&transcript=xyz&url=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/audio/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -2242,31 +3317,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "transcript", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "url", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -2279,7 +3360,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2289,11 +3369,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New audio record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Audio record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -2308,12 +3408,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"AUDIO-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"AUDIO-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/audio/{{AUDIO_ID}}", @@ -2331,6 +3431,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Audio record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -2342,7 +3473,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -2358,6 +3489,80 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New audio record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/audio", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "audio" + ] + } + }, + "response": [] } ] }, @@ -2379,10 +3584,34 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New biometrics record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New biometrics record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", + " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", + " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", + " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -2421,6 +3650,52 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Biometrics record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", + " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", + " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", + " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -2432,7 +3707,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -2451,6 +3726,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Biometrics record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -2462,11 +3767,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/biometrics/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&biometricsType=xyz&measurementUnit=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/biometrics/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -2478,35 +3783,42 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "biometricsType", - "value": "xyz" + "value": "Blood pressure", + "disabled": true }, { "key": "measurementUnit", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -2519,7 +3831,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2529,11 +3840,36 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New biometrics record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Biometrics record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", + " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", + " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", + " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -2548,12 +3884,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"BIOMETRICS-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"BiometricsType\": \"Blood pressure\",\r\n\"MeasurementUnit\": \"mmHg\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"BIOMETRICS-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"BiometricsType\": \"Blood pressure\",\r\n\"MeasurementUnit\": \"mmHg\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/biometrics/{{BIOMETRICS_ID}}", @@ -2571,6 +3907,38 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Biometrics record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -2582,7 +3950,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -2598,6 +3966,85 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New biometrics record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", + " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", + " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", + " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"BiometricsType\": \"Blood pressure\",\r\n\"MeasurementUnit\": \"mmHg\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/biometrics", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "biometrics" + ] + } + }, + "response": [] } ] }, @@ -2619,10 +4066,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New nutrition record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New nutrition record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -2661,6 +4127,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Nutrition record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -2672,7 +4179,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -2691,6 +4198,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Nutrition record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -2702,11 +4239,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/nutritions/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/nutritions/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -2718,27 +4255,32 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -2751,7 +4293,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2761,11 +4302,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New nutrition record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Nutrition record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -2780,12 +4341,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Tags\": ['Nutrients', 'Vitamins'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Nutrients\", \"Vitamins\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", @@ -2803,6 +4364,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Nutrition record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -2814,7 +4406,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -2830,6 +4422,80 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New nutrition record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/nutritions", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "nutritions" + ] + } + }, + "response": [] } ] }, @@ -2851,10 +4517,32 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New physiotherapy record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New physiotherapy record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -2893,6 +4581,50 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Physiotherapy record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -2904,7 +4636,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -2923,6 +4655,37 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Physiotherapy record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -2934,11 +4697,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/search?assetCode=xyz&name=xyz&description=xyz&recommendedDurationMin=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/physiotherapy/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -2950,31 +4713,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "recommendedDurationMin", - "value": "xyz" + "value": "20", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -2987,7 +4756,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2997,11 +4765,34 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New physiotherapy record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Physiotherapy record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -3016,12 +4807,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": ['Flexibility', 'Muscle movement', 'Post trauma recovery'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Flexibility\", \"Muscle movement\", \"Post trauma recovery\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", @@ -3039,6 +4830,38 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Physiotherapy record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -3050,18 +4873,95 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "physiotherapy", + "{{PHYSIOTHERAPY_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New physiotherapy record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", + "raw": "{{BASE_URL}}/assets/physiotherapy", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy", - "{{PHYSIOTHERAPY_ID}}" + "physiotherapy" ] } }, @@ -3087,10 +4987,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New priority record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New priority record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -3129,6 +5048,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Priority record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -3140,7 +5100,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -3159,6 +5119,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Priority record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -3170,11 +5160,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/priorities/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/priorities/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -3186,27 +5176,32 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -3219,7 +5214,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3229,11 +5223,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New priority record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Priority record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -3248,12 +5262,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", @@ -3271,6 +5285,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Priority record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -3282,7 +5327,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -3298,6 +5343,80 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New priority record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/priorities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "priorities" + ] + } + }, + "response": [] } ] }, @@ -3319,10 +5438,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New reflection record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New reflection record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -3361,6 +5499,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Reflection record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -3372,7 +5551,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -3391,6 +5570,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Reflection record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -3402,11 +5611,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/reflections/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/reflections/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -3418,27 +5627,32 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -3451,7 +5665,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3461,11 +5674,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New reflection record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Reflection record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -3480,13 +5713,74 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Reflection\", \"Retrospection\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "reflections", + "{{REFLECTION_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Reflection record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Tags\": ['Reflection', 'Retrospection'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" - }, "url": { "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", "host": [ @@ -3502,9 +5796,50 @@ "response": [] }, { - "name": "Delete", + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New reflection record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { - "method": "DELETE", + "method": "POST", "header": [ { "key": "Content-Type", @@ -3514,18 +5849,21 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", + "raw": "{{BASE_URL}}/assets/reflections", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections", - "{{REFLECTION_ID}}" + "reflections" ] } }, @@ -3551,10 +5889,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New reminder record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New reminder record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -3593,6 +5950,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Reminder record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -3604,7 +6002,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -3623,6 +6021,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Reminder record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -3634,11 +6062,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/reminders/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/reminders/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -3650,27 +6078,32 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -3683,7 +6116,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3693,11 +6125,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New reminder record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Reminder record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -3712,12 +6164,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Tags\": ['Schedule', 'Tasks'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Schedule\", \"Tasks\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", @@ -3735,6 +6187,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Reminder record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -3746,7 +6229,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -3762,6 +6245,80 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New reminder record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/reminders", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "reminders" + ] + } + }, + "response": [] } ] }, @@ -3783,10 +6340,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New video record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New video record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -3825,6 +6401,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Video record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -3836,7 +6453,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -3855,6 +6472,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Video record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -3866,11 +6513,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/video/search?assetCode=xyz&name=xyz&transcript=xyz&url=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/video/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -3882,31 +6529,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "transcript", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "url", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -3914,12 +6567,86 @@ "response": [] }, { - "name": "Update", + "name": "Update", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Video record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "video", + "{{VIDEO_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3929,16 +6656,27 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New video record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Video record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], "request": { - "method": "PUT", + "method": "DELETE", "header": [ { "key": "Content-Type", @@ -3948,13 +6686,9 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" - }, "url": { "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", "host": [ @@ -3970,9 +6704,50 @@ "response": [] }, { - "name": "Delete", + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New video record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { - "method": "DELETE", + "method": "POST", "header": [ { "key": "Content-Type", @@ -3982,18 +6757,21 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", + "raw": "{{BASE_URL}}/assets/video", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video", - "{{VIDEO_ID}}" + "video" ] } }, @@ -4019,10 +6797,30 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New web link record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New web link record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -4061,6 +6859,48 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Web link record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -4072,7 +6912,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -4091,6 +6931,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Web link record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -4102,11 +6972,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/web-links/search?assetCode=xyz&name=xyz&description=xyz&url=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/web-links/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -4118,31 +6988,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "url", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -4155,7 +7031,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4165,11 +7040,32 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New web link record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Web link record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -4184,12 +7080,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", @@ -4207,6 +7103,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Web link record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -4218,7 +7145,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -4234,6 +7161,81 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New web link record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/web-links", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "web-links" + ] + } + }, + "response": [] } ] }, @@ -4255,10 +7257,30 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New web newsfeed record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New web newsfeed record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -4297,6 +7319,48 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Web newsfeed record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -4308,7 +7372,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -4327,6 +7391,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Web newsfeed record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -4338,11 +7432,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds/search?assetCode=xyz&name=xyz&description=xyz&url=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/web-newsfeeds/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -4354,31 +7448,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "url", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -4391,7 +7491,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4401,11 +7500,32 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New web newsfeed record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Web newsfeed record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -4420,12 +7540,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", @@ -4443,6 +7563,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Web newsfeed record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -4454,7 +7605,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -4470,6 +7621,81 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New web newsfeed record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/web-newsfeeds", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "web-newsfeeds" + ] + } + }, + "response": [] } ] }, @@ -4491,10 +7717,30 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New word power record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New word power record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -4533,6 +7779,48 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Word power record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -4544,7 +7832,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -4563,6 +7851,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Word power record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -4574,11 +7892,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/word-power/search?assetCode=xyz&word=xyz&description=xyz&additionalResources=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/word-power/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -4590,31 +7908,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "word", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "additionalResources", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -4627,7 +7951,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4637,11 +7960,32 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New word power record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Word power record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -4656,12 +8000,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"AdditionalResources\": ['https://en.wikipedia.org/wiki/Nutrition', 'https://en.wikipedia.org/wiki/Micronutrient'],\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"AdditionalResources\": [\"https://en.wikipedia.org/wiki/Nutrition\", \"https://en.wikipedia.org/wiki/Micronutrient\"],\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", @@ -4679,6 +8023,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Word power record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -4690,7 +8065,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -4706,6 +8081,81 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New word power record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/word-power", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "word-power" + ] + } + }, + "response": [] } ] }, @@ -4727,10 +8177,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New challenge record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New challenge record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -4764,11 +8233,52 @@ "challenges" ] } - }, - "response": [] - }, - { - "name": "Get by id", + }, + "response": [] + }, + { + "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Challenge record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -4780,7 +8290,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -4799,6 +8309,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Challenge record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -4810,11 +8350,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/challenges/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/challenges/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -4826,27 +8366,32 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -4859,7 +8404,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4869,11 +8413,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New challenge record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Challenge record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -4888,12 +8452,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", @@ -4911,6 +8475,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Challenge record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -4922,7 +8517,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -4938,6 +8533,80 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New challenge record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/challenges", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "challenges" + ] + } + }, + "response": [] } ] }, @@ -4959,10 +8628,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New checkup record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New checkup record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -5001,6 +8689,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Checkup record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -5012,7 +8741,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -5031,6 +8760,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Checkup record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -5042,11 +8801,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/checkups/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/checkups/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -5058,27 +8817,32 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -5091,7 +8855,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5101,11 +8864,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New checkup record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Checkup record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -5120,12 +8903,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", @@ -5143,6 +8926,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Checkup record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -5154,7 +8968,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -5164,8 +8978,82 @@ ], "path": [ "assets", - "checkups", - "{{CHECKUP_ID}}" + "checkups", + "{{CHECKUP_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New checkup record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/checkups", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "checkups" ] } }, @@ -5191,10 +9079,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New consultation record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New consultation record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -5233,6 +9142,49 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Consultation record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -5244,7 +9196,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -5263,6 +9215,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Consultation record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -5274,11 +9256,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/consultations/search?assetCode=xyz&name=xyz&description=xyz&consultationType=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/consultations/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -5290,31 +9272,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "consultationType", - "value": "xyz" + "value": "Other", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -5327,7 +9315,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5337,11 +9324,33 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New consultation record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Consultation record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -5356,12 +9365,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", @@ -5379,6 +9388,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Consultation record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -5390,7 +9430,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -5406,6 +9446,82 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New consultation record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/consultations", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "consultations" + ] + } + }, + "response": [] } ] }, @@ -5427,10 +9543,35 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New exercise record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New exercise record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -5469,6 +9610,53 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Exercise record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -5480,7 +9668,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -5499,6 +9687,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Exercise record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -5510,11 +9728,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/exercises/search?assetCode=xyz&name=xyz&description=xyz&exerciseType=xyz&intensityLevel=xyz&recommendedDurationMin=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/exercises/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -5526,39 +9744,47 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "exerciseType", - "value": "xyz" + "value": "Balance", + "disabled": true }, { "key": "intensityLevel", - "value": "xyz" + "value": "None", + "disabled": true }, { "key": "recommendedDurationMin", - "value": "xyz" + "value": "20", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -5571,7 +9797,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5581,11 +9806,37 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New exercise record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Exercise record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -5600,13 +9851,74 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "exercises", + "{{EXERCISE_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Exercise record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" - }, "url": { "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", "host": [ @@ -5622,9 +9934,56 @@ "response": [] }, { - "name": "Delete", + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New exercise record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { - "method": "DELETE", + "method": "POST", "header": [ { "key": "Content-Type", @@ -5634,18 +9993,21 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", + "raw": "{{BASE_URL}}/assets/exercises", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises", - "{{EXERCISE_ID}}" + "exercises" ] } }, @@ -5671,10 +10033,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New goal record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New goal record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -5713,6 +10094,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Goal record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -5724,7 +10146,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -5743,6 +10165,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Goal record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -5754,11 +10206,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/goals/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/goals/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -5770,27 +10222,32 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -5803,7 +10260,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5813,11 +10269,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New goal record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Goal record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -5832,12 +10308,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", @@ -5855,6 +10331,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Goal record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -5866,7 +10373,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -5882,6 +10389,80 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New goal record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/goals", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "goals" + ] + } + }, + "response": [] } ] }, @@ -5903,10 +10484,28 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New infographics record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New infographics record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -5945,6 +10544,46 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Infographics record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -5956,7 +10595,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -5975,6 +10614,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Infographics record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -5986,11 +10655,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/infographics/search?assetCode=xyz&name=xyz&description=xyz&url=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/infographics/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -6002,31 +10671,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "url", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -6034,12 +10709,85 @@ "response": [] }, { - "name": "Update", + "name": "Update", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Infographics record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "infographics", + "{{INFOGRAPHICS_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6049,16 +10797,26 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New infographics record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Infographics record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], "request": { - "method": "PUT", + "method": "DELETE", "header": [ { "key": "Content-Type", @@ -6068,13 +10826,9 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" - }, "url": { "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", "host": [ @@ -6090,9 +10844,49 @@ "response": [] }, { - "name": "Delete", + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New infographics record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { - "method": "DELETE", + "method": "POST", "header": [ { "key": "Content-Type", @@ -6102,18 +10896,21 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", + "raw": "{{BASE_URL}}/assets/infographics", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics", - "{{INFOGRAPHICS_ID}}" + "infographics" ] } }, @@ -6139,10 +10936,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New medication record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New medication record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -6181,6 +10997,47 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Medication record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -6192,7 +11049,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -6211,6 +11068,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Medication record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -6222,11 +11109,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/medications/search?assetCode=xyz&name=xyz&description=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/medications/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -6238,27 +11125,32 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -6271,7 +11163,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6281,11 +11172,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New medication record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Medication record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -6300,12 +11211,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Tags\": ['Medication adherence'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Medication adherence\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", @@ -6323,6 +11234,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Medication record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -6334,7 +11276,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -6350,6 +11292,80 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New medication record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/medications", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "medications" + ] + } + }, + "response": [] } ] }, @@ -6371,10 +11387,33 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New meditation record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New meditation record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -6413,6 +11452,51 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Meditation record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -6424,7 +11508,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -6438,11 +11522,41 @@ "{{MEDITATION_ID}}" ] } - }, - "response": [] - }, - { - "name": "Search with filters", + }, + "response": [] + }, + { + "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Meditation record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -6454,11 +11568,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/meditations/search?assetCode=xyz&name=xyz&description=xyz&meditationType=xyz&recommendedDurationMin=xyz&assetCategory=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/meditations/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -6470,35 +11584,42 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "meditationType", - "value": "xyz" + "value": "Mantra", + "disabled": true }, { "key": "recommendedDurationMin", - "value": "xyz" + "value": "20", + "disabled": true }, { "key": "assetCategory", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -6511,7 +11632,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6521,11 +11641,35 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New meditation record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Meditation record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -6540,12 +11684,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": ['Peaceful mind', 'Bliss'],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Peaceful mind\", \"Bliss\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", @@ -6563,6 +11707,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Meditation record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -6574,7 +11749,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -6590,6 +11765,84 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New meditation record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/meditations", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "meditations" + ] + } + }, + "response": [] } ] }, @@ -6611,10 +11864,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New message record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('New message record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" ], "type": "text/javascript" } @@ -6653,6 +11927,49 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Message record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -6664,7 +11981,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -6683,6 +12000,36 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Message record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -6694,11 +12041,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/assets/messages/search?assetCode=xyz&name=xyz&description=xyz&category=xyz&messageType=xyz&tags=xyz&version=xyz", + "raw": "{{BASE_URL}}/assets/messages/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -6710,31 +12057,37 @@ "query": [ { "key": "assetCode", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "category", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "messageType", - "value": "xyz" + "value": "Status", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" } ] } @@ -6747,7 +12100,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6757,11 +12109,33 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New message record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test('Message record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -6776,12 +12150,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Tags\": ['Maternity', 'Neo-natal-care'],\r\n\"Url\": \"https://www.appname.com/\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Url\": \"https://www.appname.com/\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", @@ -6799,6 +12173,37 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Message record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -6810,7 +12215,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -6826,6 +12231,82 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New message record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/messages", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "messages" + ] + } + }, + "response": [] } ] } @@ -6840,6 +12321,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6853,8 +12335,7 @@ "\r", "pm.test('New careplan category record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ], - "type": "text/javascript" + ] } } ], @@ -6869,7 +12350,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" + "value": "Bearer {{USER_JWT}}" } ], "body": { @@ -7080,12 +12561,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Code\": \"REAN-Maternity-2\",\r\n\"CategoryId\": \"{{CATEGORY_ID}}\",\r\n\"Name\": \"Maternity Care Plan for Remote Population\",\r\n\"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n\"Version\": \"1.0.0\",\r\n\"OwnerUserId\": \"{{OWNER_USER_ID}}\",\r\n\"Tags\": [Maternity, Child-Care, Malnutrition]\r\n\r\n}\r\n" + "raw": "{\r\n \"Code\": \"REAN-Maternity-2\",\r\n \"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n \"Name\": \"Maternity Care Plan for Remote Population\",\r\n \"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n \"Version\": \"1.0.0\",\r\n \"OwnerUserId\": \"{{OWNER_USER_ID}}\",\r\n \"Tags\": \"Maternity, Child-Care, Malnutrition\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/careplans", @@ -7282,6 +12763,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -7295,8 +12777,7 @@ "\r", "pm.test('New careplan schedule record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ], - "type": "text/javascript" + ] } } ], @@ -7311,7 +12792,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" + "value": "Bearer {{USER_JWT}}" } ], "body": { @@ -7505,7 +12986,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -7519,7 +12999,8 @@ "\r", "pm.test('New enrollment record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" - ] + ], + "type": "text/javascript" } } ], @@ -7539,7 +13020,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"UserId\": \"{{USER_ID}}\"\r\n\r\n}\r\n" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{OWNER_USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/enrollments", From 388dbc26db90ad06446a107a9ee27d210d3aaff6 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Mon, 18 Jul 2022 17:55:58 +0530 Subject: [PATCH 004/169] Bug: Fixed during user login --- src/api/user/user.controller.delegate.ts | 15 +++++++-------- .../repository.services/user/user.service.ts | 1 - 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/api/user/user.controller.delegate.ts b/src/api/user/user.controller.delegate.ts index 0661daa..e7bb0aa 100644 --- a/src/api/user/user.controller.delegate.ts +++ b/src/api/user/user.controller.delegate.ts @@ -322,14 +322,13 @@ export class UserControllerDelegate { constructCurrentUser = (user, sessionId): CurrentUser => { return { - UserId : user.id, - UserName : user.UserName, - CurrentRoleId : user.RoleId, - CurrentRoleName : user.Role.RoleName, - DisplayName : Helper.constructPersonDisplayName(user.Prefix, user.FirstName, user.LastName), - SessionId : sessionId, - Phone : user.CountryCode + '-' + user.Phone, - Email : user.Email + UserId : user.id, + UserName : user.UserName, + CurrentRoleId : user.RoleId, + DisplayName : Helper.constructPersonDisplayName(user.Prefix, user.FirstName, user.LastName), + SessionId : sessionId, + Phone : user.CountryCode + '-' + user.Phone, + Email : user.Email }; } diff --git a/src/database/repository.services/user/user.service.ts b/src/database/repository.services/user/user.service.ts index d9223e9..903e6b5 100644 --- a/src/database/repository.services/user/user.service.ts +++ b/src/database/repository.services/user/user.service.ts @@ -23,7 +23,6 @@ export class UserService { create = async (createModel) => { try { - createModel.Password = Helper.hash(createModel.Password); var record = await this.User.create(createModel); return await this.getById(record.id); } catch (error) { From 34d70f8aa6f6b6a7b34f268360781b5cb4b23b63 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Tue, 19 Jul 2022 18:10:01 +0530 Subject: [PATCH 005/169] participant pipeline with client auth --- ...n.service.workflow.postman_collection.json | 569 +++++++++++++++++- .../participant.controller.delegate.ts | 183 ++++++ .../participant/participant.controller.ts | 76 +++ .../participant/participant.routes.ts | 20 + .../participant/participant.validator.ts | 71 +++ src/api/user.helper.ts | 75 +++ .../mappers/enrollment/participant.mapper.ts | 30 + .../models/enrollment/participant.model.ts | 88 +++ .../enrollment/participant.service.ts | 185 ++++++ .../enrollment/participant.domain.types.ts | 41 ++ src/startup/router.ts | 2 + 11 files changed, 1330 insertions(+), 10 deletions(-) create mode 100644 src/api/enrollment/participant/participant.controller.delegate.ts create mode 100644 src/api/enrollment/participant/participant.controller.ts create mode 100644 src/api/enrollment/participant/participant.routes.ts create mode 100644 src/api/enrollment/participant/participant.validator.ts create mode 100644 src/database/mappers/enrollment/participant.mapper.ts create mode 100644 src/database/models/enrollment/participant.model.ts create mode 100644 src/database/repository.services/enrollment/participant.service.ts create mode 100644 src/domain.types/enrollment/participant.domain.types.ts diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index 1575240..71f411f 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "456bf7cf-bd53-4984-9bc4-05ee825e0a1d", + "_postman_id": "b09ce4ff-a5d5-4b27-bf06-73e6968caff5", "name": "careplan.service.workflow", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "15905052" @@ -224,15 +224,15 @@ "}\r", "\r", "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", + " pm.response.to.have.status(201);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"User login: Access token is returned\", function () {\r", + "pm.test(\"User is created\", function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", - " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data.Phone).to.not.be.null;\r", "});\r", "" ], @@ -265,7 +265,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"RoleId\": \"3\",\r\n \"FirstName\": \"Cris\",\r\n \"LastName\": \"evans\",\r\n \"Gender\": \"Male\",\r\n \"BiocubeId\": \"he\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"abcdef@xybz.com\",\r\n \"Phone\": \"7309963207\",\r\n \"UserName\": \"hecris\",\r\n \"Password\": \"Apple@1234\"\r\n}\r\n" + "raw": "{\r\n \"RoleId\": \"3\",\r\n \"FirstName\": \"Cris\",\r\n \"LastName\": \"evans\",\r\n \"Gender\": \"Male\",\r\n \"BiocubeId\": \"he\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"bbcdef@xybz.com\",\r\n \"Phone\": \"7309963207\",\r\n \"UserName\": \"hecris\",\r\n \"Password\": \"Apple@1234\"\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/users", @@ -315,7 +315,7 @@ "listen": "prerequest", "script": { "exec": [ - " pm.environment.set(\"USER_PASSWORD\", \"123xyz@\");" + "" ], "type": "text/javascript" } @@ -330,14 +330,14 @@ "type": "text" }, { - "key": "Authorization", - "value": "Bearer {{USER_JWT}}", + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"UserName\": \"crisevans\",\r\n \"Password\": \"Apple@123\"\r\n}\r\n" + "raw": "{\r\n \"UserName\": \"moderator\",\r\n \"Password\": \"123xyz@\"\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/users/login-password", @@ -352,6 +352,555 @@ "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." }, "response": [] + }, + { + "name": "Generate otp", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "// pm.test(\"Request is successfull\", function () {\r", + "// pm.response.to.have.status(200);\r", + "// var jsonRes = pm.response.json();\r", + "// pm.expect(jsonRes.Status).to.eql('success');\r", + "// });\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "description": "API key for client app authentication", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Phone\": \"7309963207\",\r\n \"CountryCode\": \"+91\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/users/generate-otp", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "generate-otp" + ] + } + }, + "response": [] + }, + { + "name": "User log-in with otp", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User login: Access token is returned\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", + " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "description": "API key for client app authentication", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Phone\": \"7309963207\",\r\n \"CountryCode\": \"+91\",\r\n \"Otp\": \"713139\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/users/login-otp", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "login-otp" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Participant management", + "item": [ + { + "name": "create Participant", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"PARTICIPANT_USER_ID\", jsonRes.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"Participant is created\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data.Phone).to.not.be.null;\r", + "});\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"FirstName\": \"Robert\",\r\n \"LastName\": \"crook\",\r\n \"Gender\": \"Male\",\r\n \"SystemId\": \"66fce627-18fb\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"nbdcrf@abz.com\",\r\n \"Phone\": \"7329964202\",\r\n \"Country\": \"India\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/participants", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participants" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + }, + { + "name": "Get participant by user id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"Patient is created\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data.id).to.not.be.empty;\r", + " pm.expect(jsonRes.Data.Phone).to.not.be.empty;\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data.Gender).to.not.be.empty;\r", + "});\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var password = \"Client-Test@123\";\r", + "pm.environment.set(\"API_CLIENT_PASSWORD\", password);\r", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participants", + "{{PARTICIPANT_USER_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Update participant details", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"PATIENT_FIRST_NAME\", jsonRes.Data.FirstName);\r", + " pm.environment.set(\"PATIENT_PHONE\", jsonRes.Data.Phone);\r", + " pm.environment.set(\"PATIENT_GENDER\", jsonRes.Data.Gender);\r", + " pm.environment.set(\"PATIENT_EMAIL\", jsonRes.Data.Email);\r", + "\r", + " var phone = jsonRes.Data.Patient.User.Person.Phone;\r", + "\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"Participant is updated\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data.id).to.not.be.empty;\r", + " pm.expect(jsonRes.Data.Phone).to.not.be.empty;\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data.Gender).to.not.be.empty;\r", + "});\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "//Randomly generated user details\r", + "\r", + "var first_names = ['Jerry', 'Tom', 'Garfield', 'Jerome', 'Hobbes', 'Calvin', 'Nate', 'Peanuts', 'John', 'Abigale', 'Erin'];\r", + "\r", + "var last_names = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall'];\r", + "\r", + "var first = first_names[Math.floor(Math.random() * first_names.length)];\r", + "var last = last_names[Math.floor(Math.random() * last_names.length)];\r", + "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "var random_postfix = (Math.floor(Math.random() * 90000) + 10000).toString();\r", + "var email = first + \".\" + random_postfix + \".\" + last + \"@gmail.com\";\r", + "var password = \"Test@123\";\r", + "\r", + "pm.environment.set(\"FIRST_NAME\", first);\r", + "pm.environment.set(\"LAST_NAME\", last);\r", + "pm.environment.set(\"EMAIL\", email);\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text", + "description": "User login session token (JWT). Format : Bearer JWT_TOKEN" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text", + "description": "API key for client app authentication" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"FirstName\": \"{{FIRST_NAME}}\",\r\n \"LastName\": \"{{LAST_NAME}}\",\r\n \"Gender\": \"Male\",\r\n \"SystemId\": \"66fce627-18fb\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participants", + "{{PARTICIPANT_USER_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Search participant", + "event": [ + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"List of participants is returned\", function () {\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Items');\r", + " pm.expect(jsonRes.Data.Items.length).to.be.greaterThan(0);\r", + "\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text", + "description": "User login session token (JWT). Format : Bearer JWT_TOKEN" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text", + "description": "API key for client app authentication" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{BASE_URL}}/participants/search?firstName=Robert", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participants", + "search" + ], + "query": [ + { + "key": "phone", + "value": "{{PATIENT_PHONE_NUMBER}}", + "description": "Search by patient phone", + "disabled": true + }, + { + "key": "email", + "value": "{{PATIENT_EMAIL}}", + "description": "Search by patient email", + "disabled": true + }, + { + "key": "gender", + "value": "{{PATIENT_GENDER}}", + "description": "Search by patient gender", + "disabled": true + }, + { + "key": "systemId", + "value": "66fce627-18fb", + "disabled": true + }, + { + "key": "firstName", + "value": "Robert" + }, + { + "key": "lastName", + "value": "Rai", + "disabled": true + }, + { + "key": "country", + "value": "India", + "disabled": true + } + ] + }, + "description": "Search addresses using query parameters." + }, + "response": [] + }, + { + "name": "Delete participant by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Request is successfull\", function () {", + " pm.response.to.have.status(200);", + " var jsonRes = pm.response.json();", + " pm.expect(jsonRes.Status).to.eql('success');", + "});", + "", + "pm.test(\"Participant is deleted\", function () {", + "", + " var expectedValue = true;", + " ", + " var jsonRes = pm.response.json();", + " pm.expect(jsonRes.Data).to.have.property('Deleted');", + " pm.expect(jsonRes.Data.Deleted).equals(expectedValue);", + "", + "});", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" + } + ], + "url": { + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participants", + "{{PARTICIPANT_USER_ID}}" + ] + } + }, + "response": [] } ] }, diff --git a/src/api/enrollment/participant/participant.controller.delegate.ts b/src/api/enrollment/participant/participant.controller.delegate.ts new file mode 100644 index 0000000..0d2c12a --- /dev/null +++ b/src/api/enrollment/participant/participant.controller.delegate.ts @@ -0,0 +1,183 @@ +import { ParticipantService } from '../../../database/repository.services/enrollment/participant.service'; +import { ErrorHandler } from '../../../common/error.handler'; +import { ApiError } from '../../../common/api.error'; +import { ParticipantValidator as validator } from './participant.validator'; +import { + ParticipantDto, + ParticipantSearchFilters, + ParticipantSearchResults, + ParticipantModel +} from '../../../domain.types/enrollment/participant.domain.types'; +import { uuid } from '../../../domain.types/miscellaneous/system.types'; +import { UserHelper } from '../../../api/user.helper'; + +/////////////////////////////////////////////////////////////////////////////////////// + +export class ParticipantControllerDelegate { + + //#region member variables and constructors + + _service: ParticipantService = null; + + constructor() { + this._service = new ParticipantService(); + } + + //#endregion + + create = async (requestBody: any) => { + + await validator.validateCreateRequest(requestBody); + + const birthDate = requestBody.BirthDate ? Date.parse(requestBody.BirthDate) : null; + + const participantCreateModel: ParticipantModel = { + Prefix : requestBody.Prefix ? requestBody.Prefix : 'Mr', + FirstName : requestBody.FirstName ? requestBody.FirstName : null, + LastName : requestBody.LastName ? requestBody.LastName : null, + CountryCode : requestBody.CountryCode ? requestBody.CountryCode : '+91', + Phone : requestBody.Phone ? requestBody.Phone : null, + Email : requestBody.Email ? requestBody.Email : null, + Country : requestBody.Country ? requestBody.Country : null, + SystemId : requestBody.SystemId ? requestBody.SystemId : null, + Gender : requestBody.Gender ? requestBody.Gender : 'Male', + BirthDate : new Date(birthDate), + }; + + await UserHelper.getValidParticipantCreateModel(requestBody); + + const record: ParticipantDto = await this._service.create(participantCreateModel); + if (record === null) { + throw new ApiError('Unable to create participant!', 400); + } + + return this.getEnrichedDto(record); + } + + getById = async (id: uuid) => { + const record: ParticipantDto = await this._service.getById(id); + if (record === null) { + ErrorHandler.throwNotFoundError('Participant with id ' + id.toString() + ' cannot be found!'); + } + return this.getEnrichedDto(record); + } + + search = async (query) => { + await validator.validateSearchRequest(query); + var filters: ParticipantSearchFilters = this.getSearchFilters(query); + var searchResults: ParticipantSearchResults = await this._service.search(filters); + var items = searchResults.Items.map(x => this.getPublicDto(x)); + searchResults.Items = items; + return searchResults; + } + + update = async (id: uuid, requestBody: any) => { + await validator.validateUpdateRequest(requestBody); + const record: ParticipantDto = await this._service.getById(id); + if (record === null) { + ErrorHandler.throwNotFoundError('Participant with id ' + id.toString() + ' cannot be found!'); + } + const updateModel: ParticipantModel = + await UserHelper.getValidParticipantUpdateModel(record, requestBody); + const updated: ParticipantDto = await this._service.update(id, updateModel); + if (updated == null) { + throw new ApiError('Unable to update Participant!', 400); + } + return this.getEnrichedDto(updated); + } + + delete = async (id: uuid) => { + const record: ParticipantDto = await this._service.getById(id); + if (record == null) { + ErrorHandler.throwNotFoundError('Participant with id ' + id.toString() + ' cannot be found!'); + } + const userDeleted: boolean = await this._service.delete(id); + return { + Deleted : userDeleted + }; + } + + /////////////////////////////////////////////////////////////////////////////////////////////// + + getSearchFilters = (query) => { + var filters = {}; + var prefix = query.prefix ? query.prefix : null; + if (prefix != null) { + filters['Prefix'] = prefix; + } + var firstName = query.firstName ? query.firstName : null; + if (firstName != null) { + filters['FirstName'] = firstName; + } + var lastName = query.lastName ? query.lastName : null; + if (lastName != null) { + filters['LastName'] = lastName; + } + var systemId = query.systemId ? query.systemId : null; + if (systemId != null) { + filters['SystemId'] = systemId; + } + var gender = query.gender ? query.gender : null; + if (gender != null) { + filters['Gender'] = gender; + } + var country = query.country ? query.country : null; + if (country != null) { + filters['Country'] = country; + } + var addedByUserId = query.addedByUserId ? query.addedByUserId : null; + if (addedByUserId != null) { + filters['AddedByUserId'] = addedByUserId; + } + var lastUpdatedByUserId = query.lastUpdatedByUserId ? query.lastUpdatedByUserId : null; + if (lastUpdatedByUserId != null) { + filters['LastUpdatedByUserId'] = lastUpdatedByUserId; + } + return filters; + } + + //This function returns a response DTO which is enriched with available resource data + + getEnrichedDto = (record) => { + if (record == null) { + return null; + } + return { + id : record.id, + Prefix : record.Prefix, + FirstName : record.FirstName, + LastName : record.LastName, + SystemId : record.SystemId, + CountryCode : record.CountryCode, + Phone : record.Phone, + Email : record.Email, + Gender : record.Gender, + BirthDate : record.BirthDate, + Country : record.Country, + AddedByUserId : record.AddedByUserId, + LastUpdatedByUserId : record.LastUpdatedByUserId + }; + } + + //This function returns a response DTO which has only public parameters + + getPublicDto = (record) => { + if (record == null) { + return null; + } + return { + id : record.id, + Prefix : record.Prefix, + FirstName : record.FirstName, + LastName : record.LastName, + CountryCode : record.CountryCode, + Phone : record.Phone, + Email : record.Email, + SystemId : record.SystemId, + Gender : record.Gender, + BirthDate : record.BirthDate, + Country : record.Country, + }; + } + +} diff --git a/src/api/enrollment/participant/participant.controller.ts b/src/api/enrollment/participant/participant.controller.ts new file mode 100644 index 0000000..c408384 --- /dev/null +++ b/src/api/enrollment/participant/participant.controller.ts @@ -0,0 +1,76 @@ +import express from 'express'; +import { ResponseHandler } from '../../../common/response.handler'; +import { ParticipantControllerDelegate } from './participant.controller.delegate'; +import { BaseController } from '../../base.controller'; + +/////////////////////////////////////////////////////////////////////////////////////// + +export class ParticipantController extends BaseController { + + //#region member variables and constructors + + _delegate: ParticipantControllerDelegate = null; + + constructor() { + super(); + this._delegate = new ParticipantControllerDelegate(); + } + + //#endregion + + create = async (request: express.Request, response: express.Response): Promise => { + try { + await this.authorize('Participant.Create', request, response, false); + const record = await this._delegate.create(request.body); + const message = 'Participant added successfully!'; + ResponseHandler.success(request, response, message, 201, record); + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + } + + getById = async (request: express.Request, response: express.Response): Promise => { + try { + await this.authorize('Participant.GetById', request, response, false); + const record = await this._delegate.getById(request.params.id); + const message = 'Participant retrieved successfully!'; + ResponseHandler.success(request, response, message, 200, record); + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + } + + search = async (request: express.Request, response: express.Response): Promise => { + try { + await this.authorize('Participant.Search', request, response, false); + const searchResults = await this._delegate.search(request.query); + const message = 'Participant records retrieved successfully!'; + ResponseHandler.success(request, response, message, 200, searchResults); + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + } + + update = async (request: express.Request, response: express.Response): Promise => { + try { + await this.authorize('Participant.Update', request, response, false); + const updatedRecord = await this._delegate.update(request.params.id, request.body); + const message = 'Participant updated successfully!'; + ResponseHandler.success(request, response, message, 200, updatedRecord); + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + } + + delete = async (request: express.Request, response: express.Response): Promise => { + try { + await this.authorize('Participant.Delete', request, response, false); + const result = await this._delegate.delete(request.params.id); + const message = 'Participant deleted successfully!'; + ResponseHandler.success(request, response, message, 200, result); + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + }; + +} diff --git a/src/api/enrollment/participant/participant.routes.ts b/src/api/enrollment/participant/participant.routes.ts new file mode 100644 index 0000000..ff96000 --- /dev/null +++ b/src/api/enrollment/participant/participant.routes.ts @@ -0,0 +1,20 @@ +import express from 'express'; +import { ParticipantController } from './participant.controller'; +import { Loader } from '../../../startup/loader'; + +/////////////////////////////////////////////////////////////////////////////////// + +export const register = (app: express.Application): void => { + + const router = express.Router(); + const authenticator = Loader.Authenticator; + const controller = new ParticipantController(); + + router.post('', authenticator.authenticateClient, controller.create); + router.put('/:id', authenticator.authenticateClient, controller.update); + router.delete('/:id', authenticator.authenticateClient, controller.delete); + router.get('/search', authenticator.authenticateClient, controller.search); + router.get('/:id', authenticator.authenticateClient, controller.getById); + + app.use('/api/v1/participants', router); +}; diff --git a/src/api/enrollment/participant/participant.validator.ts b/src/api/enrollment/participant/participant.validator.ts new file mode 100644 index 0000000..4a2d05f --- /dev/null +++ b/src/api/enrollment/participant/participant.validator.ts @@ -0,0 +1,71 @@ +import * as joi from 'joi'; +import { ErrorHandler } from '../../../common/error.handler'; + +/////////////////////////////////////////////////////////////////////////////////////////////// + +export class ParticipantValidator { + + static validateCreateRequest = async (requestBody) => { + try { + const schema = joi.object({ + Prefix : joi.string().max(16).optional(), + FirstName : joi.string().max(64).required(), + LastName : joi.string().max(64).required(), + CountryCode : joi.string().max(10).required(), + Phone : joi.string().max(16).min(6).required(), + Email : joi.string().max(256).required(), + SystemId : joi.string().max(256).optional(), + Gender : joi.string().valid("Male", "Female", "Other").required(), + BirthDate : joi.string().optional(), + Country : joi.string().max(64).optional() + }); + return await schema.validateAsync(requestBody); + } catch (error) { + ErrorHandler.handleValidationError(error); + } + } + + static validateSearchRequest = async (query) => { + try { + const schema = joi.object({ + systemId : joi.string().max(256).optional(), + prefix : joi.string().max(16).optional(), + firstName : joi.string().max(64).optional(), + lastName : joi.string().max(64).optional(), + phone : joi.string().max(16).min(6).optional(), + email : joi.string().max(256).optional(), + gender : joi.string().valid("Male", "Female", "Other").optional(), + country : joi.string().max(64).optional(), + addedByUserId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + lastUpdatedByUserId : joi.string().guid({ + version : ['uuidv4'] + }).optional() + }); + return await schema.validateAsync(query); + + } catch (error) { + ErrorHandler.handleValidationError(error); + } + } + + static validateUpdateRequest = async (requestBody) => { + try { + const schema = joi.object({ + FirstName : joi.string().max(64).optional(), + LastName : joi.string().max(64).optional(), + CountryCode : joi.string().max(10).optional(), + Phone : joi.string().max(16).min(6).optional(), + Email : joi.string().max(256).optional(), + SystemId : joi.string().max(256).optional(), + Gender : joi.string().valid("Male", "Female", "Other").optional(), + Country : joi.string().max(64).optional(), + }); + return await schema.validateAsync(requestBody); + } catch (error) { + ErrorHandler.handleValidationError(error); + } + } + +} diff --git a/src/api/user.helper.ts b/src/api/user.helper.ts index 4c2c8f5..876e040 100644 --- a/src/api/user.helper.ts +++ b/src/api/user.helper.ts @@ -4,6 +4,7 @@ import { Helper } from '../common/helper'; import { UserService } from '../database/repository.services/user/user.service'; import { ErrorHandler } from '../common/error.handler'; import { UserCreateModel } from '../domain.types/user/user.domain.types'; +import { ParticipantService } from '../database/repository.services/enrollment/participant.service'; //////////////////////////////////////////////////////////////////////// @@ -68,6 +69,80 @@ export class UserHelper { return { userCreateModel, password }; } + static getValidParticipantCreateModel = async (requestBody) => { + + const participantService = new ParticipantService(); + + requestBody.CountryCode = requestBody.CountryCode ?? "+91"; + var userWithPhone = + await participantService.getParticipantWithPhone(requestBody.CountryCode, requestBody.Phone); + if (userWithPhone) { + ErrorHandler.throwDuplicateUserError(`Participant with phone ${requestBody.CountryCode} ${requestBody.Phone.toString()} already exists!`); + } + + var userWithEmail = await participantService.getParticipantWithEmail(requestBody.Email); + if (userWithEmail) { + ErrorHandler.throwDuplicateUserError(`Participant with email ${requestBody.Email} already exists!`); + } + + } + + static getValidParticipantUpdateModel = async (user, requestBody) => { + + const participantService = new ParticipantService(); + + const updateModel: any = {}; + + if (Helper.hasProperty(requestBody, 'Prefix')) { + updateModel.Prefix = requestBody.Prefix; + } + if (Helper.hasProperty(requestBody, 'FirstName')) { + updateModel.FirstName = requestBody.FirstName; + } + if (Helper.hasProperty(requestBody, 'LastName')) { + updateModel.LastName = requestBody.LastName; + } + if (Helper.hasProperty(requestBody, 'CountryCode') && Helper.hasProperty(requestBody, 'Phone')) { + var userWithPhone = + await participantService.getParticipantWithPhone(requestBody.CountryCode, requestBody.Phone); + if (userWithPhone) { + ErrorHandler.throwDuplicateUserError(`Other participant with phone ${requestBody.CountryCode} ${requestBody.Phone.toString()} already exists!`); + } + updateModel.CountryCode = requestBody.CountryCode; + updateModel.Phone = requestBody.Phone; + } + else if (Helper.hasProperty(requestBody, 'Phone')) { + var userWithPhone = await participantService.getParticipantWithPhone(user.CountryCode, requestBody.Phone); + if (userWithPhone && user.id !== userWithPhone.id) { + ErrorHandler.throwDuplicateUserError(`Other participant with phone ${user.CountryCode} ${requestBody.Phone.toString()} already exists!`); + } + updateModel.Phone = requestBody.Phone; + } + else if (Helper.hasProperty(requestBody, 'CountryCode')) { + var userWithCountryCode = + await participantService.getParticipantWithPhone(requestBody.CountryCode, user.Phone); + if (userWithCountryCode && user.id !== userWithCountryCode.id) { + ErrorHandler.throwDuplicateUserError(`Other participant with phone ${requestBody.CountryCode} ${user.Phone.toString()} already exists!`); + } + updateModel.CountryCode = requestBody.CountryCode; + } + if (Helper.hasProperty(requestBody, 'Email')) { + var userWithEmail = await participantService.getParticipantWithEmail(requestBody.Email); + if (userWithEmail && user.id !== userWithEmail.id) { + ErrorHandler.throwDuplicateUserError(`Other participant with email ${requestBody.Email} already exists!`); + } + updateModel.Email = requestBody.Email; + } + if (Helper.hasProperty(requestBody, 'SystemId')) { + updateModel.SystemId = requestBody.SystemId; + } + if (Helper.hasProperty(requestBody, 'Gender')) { + updateModel.Gender = requestBody.Gender; + } + + return updateModel; + } + static getValidUserUpdateModel = async (user, requestBody) => { const userService = new UserService(); diff --git a/src/database/mappers/enrollment/participant.mapper.ts b/src/database/mappers/enrollment/participant.mapper.ts new file mode 100644 index 0000000..26fa442 --- /dev/null +++ b/src/database/mappers/enrollment/participant.mapper.ts @@ -0,0 +1,30 @@ +import { + ParticipantDto +} from '../../../domain.types/enrollment/participant.domain.types'; + +/////////////////////////////////////////////////////////////////////////////////// + +export class ParticipantMapper { + + static toDto = (enrollment: any): ParticipantDto => { + if (enrollment == null) { + return null; + } + const dto: ParticipantDto = { + id : enrollment.id, + Prefix : enrollment.Prefix, + FirstName : enrollment.FirstName, + LastName : enrollment.LastName, + CountryCode : enrollment.CountryCode, + Phone : enrollment.Phone, + Email : enrollment.Email, + SystemId : enrollment.SystemId, + Gender : enrollment.Gender, + BirthDate : enrollment.BirthDate, + Country : enrollment.Country + + }; + return dto; + }; + +} diff --git a/src/database/models/enrollment/participant.model.ts b/src/database/models/enrollment/participant.model.ts new file mode 100644 index 0000000..3811bce --- /dev/null +++ b/src/database/models/enrollment/participant.model.ts @@ -0,0 +1,88 @@ +import * as db from '../../database.connector'; +import { DataTypes } from 'sequelize'; +const sequelize = db.default.sequelize; +import { GenderList } from '../../../domain.types/miscellaneous/system.types'; + +//////////////////////////////////////////////////////////////////////// + +export class ParticipantModel { + + static TableName = 'participants'; + + static ModelName = 'Participant'; + + static Schema = { + id : { + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true + }, + Prefix : { + type : DataTypes.STRING(16), + allowNull : true, + defaultValue : 'Mr' + }, + FirstName : { + type : DataTypes.STRING(64), + allowNull : false + }, + LastName : { + type : DataTypes.STRING(64), + allowNull : false + }, + CountryCode : { + type : DataTypes.STRING(10), + allowNull : false, + defaultValue : '+91' + }, + Phone : { + type : DataTypes.STRING(16), + allowNull : false + }, + Email : { + type : DataTypes.STRING(256), + allowNull : false + }, + SystemId : { + type : DataTypes.STRING(64), + allowNull : true + }, + Gender : { + type : DataTypes.ENUM({ values: GenderList }), + allowNull : false, + defaultValue : 'Male' + }, + BirthDate : { + type : DataTypes.DATE, + allowNull : true + }, + Country : { + type : DataTypes.STRING(64), + allowNull : true + }, + + CreatedAt : DataTypes.DATE, + UpdatedAt : DataTypes.DATE, + DeletedAt : DataTypes.DATE + }; + + static Model: any = sequelize.define( + ParticipantModel.ModelName, + ParticipantModel.Schema, + { + createdAt : 'CreatedAt', + updatedAt : 'UpdatedAt', + deletedAt : 'DeletedAt', + freezeTableName : true, + timestamps : true, + paranoid : true, + tableName : ParticipantModel.TableName, + }); + + static associate = (models) => { + //Add associations here... + + }; + +} diff --git a/src/database/repository.services/enrollment/participant.service.ts b/src/database/repository.services/enrollment/participant.service.ts new file mode 100644 index 0000000..14372a3 --- /dev/null +++ b/src/database/repository.services/enrollment/participant.service.ts @@ -0,0 +1,185 @@ +import { ParticipantModel } from '../../models/enrollment/participant.model'; +import { ErrorHandler } from '../../../common/error.handler'; +import { Op } from 'sequelize'; + +/////////////////////////////////////////////////////////////////////////////////////////////// + +export class ParticipantService { + + Participant = ParticipantModel.Model; + + create = async (createModel) => { + try { + var record = await this.Participant.create(createModel); + return await this.getById(record.id); + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to create participant!', error); + } + } + + getById = async (id) => { + try { + var record = await this.Participant.findOne({ + where : { + id : id + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve participant!', error); + } + } + + exists = async (id) => { + try { + const record = await this.Participant.findByPk(id); + return record !== null; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of participant!', error); + } + } + + search = async (filters) => { + try { + + var search = { + where : {}, + include : [] + }; + + if (filters.Prefix) { + search.where['Prefix'] = filters.Prefix; + } + if (filters.FirstName) { + search.where['FirstName'] = { + [Op.like] : '%' + filters.FirstName + '%' + }; + } + if (filters.LastName) { + search.where['LastName'] = { + [Op.like] : '%' + filters.LastName + '%' + }; + } + if (filters.SystemId) { + search.where['SystemId'] = { + [Op.like] : '%' + filters.SystemId + '%' + }; + } + if (filters.Gender) { + search.where['Gender'] = filters.Gender; + } + if (filters.Country) { + search.where['Country'] = { + [Op.like] : '%' + filters.Country + '%' + }; + } + + //Sorting + let orderByColumn = 'CreatedAt'; + if (filters.OrderBy) { + orderByColumn = filters.OrderBy; + } + let order = 'ASC'; + if (filters.Order === 'descending') { + order = 'DESC'; + } + search['order'] = [ + [orderByColumn, order] + ]; + + if (filters.OrderBy) { + //In case the order-by attribute is on associated model + //search['order'] = [[ '', filters.OrderBy, order]]; + } + + //Pagination + let limit = 25; + if (filters.ItemsPerPage) { + limit = filters.ItemsPerPage; + } + let offset = 0; + let pageIndex = 0; + if (filters.PageIndex) { + pageIndex = filters.PageIndex < 0 ? 0 : filters.PageIndex; + offset = pageIndex * limit; + } + search['limit'] = limit; + search['offset'] = offset; + + const foundResults = await this.Participant.findAndCountAll(search); + const searchResults = { + TotalCount : foundResults.count, + RetrievedCount : foundResults.rows.length, + PageIndex : pageIndex, + ItemsPerPage : limit, + Order : order === 'DESC' ? 'descending' : 'ascending', + OrderedBy : orderByColumn, + Items : foundResults.rows, + }; + + return searchResults; + + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to search participant records!', error); + } + } + + update = async (id, updateModel) => { + try { + if (Object.keys(updateModel).length > 0) { + var res = await this.Participant.update(updateModel, { + where : { + id : id + } + }); + if (res.length !== 1) { + throw new Error('Unable to update participant!'); + } + } + return await this.getById(id); + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to update participant!', error); + } + } + + delete = async (id) => { + try { + var result = await this.Participant.destroy({ + where : { + id : id + } + }); + return result === 1; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to delete participant!', error); + } + } + + getParticipantWithPhone = async (countryCode, phone) => { + try { + const record = await this.Participant.findOne({ + where : { + CountryCode : countryCode, + Phone : phone, + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('Unable to check if participant exists with phone!', error); + } + }; + + getParticipantWithEmail = async (email) => { + try { + const record = await this.Participant.findOne({ + where : { + Email : email + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('Unable to check if participant exists with email!', error); + } + } + +} diff --git a/src/domain.types/enrollment/participant.domain.types.ts b/src/domain.types/enrollment/participant.domain.types.ts new file mode 100644 index 0000000..f8df0c2 --- /dev/null +++ b/src/domain.types/enrollment/participant.domain.types.ts @@ -0,0 +1,41 @@ +import { BaseSearchFilters, BaseSearchResults } from "../miscellaneous/base.search.types"; +import { Gender, uuid } from "../miscellaneous/system.types"; + +export interface ParticipantModel { + Prefix : string; + FirstName : string; + LastName : string; + CountryCode: string; + Phone : string; + Email : string; + SystemId? : string; + Gender : Gender; + BirthDate : Date; + Country? : string; +} + +export interface ParticipantDto { + id : uuid; + Prefix : string; + FirstName : string; + LastName : string; + CountryCode: string; + Phone : string; + Email : string; + SystemId : string; + Gender : Gender; + BirthDate : Date; + Country : string; +} + +export interface ParticipantSearchFilters extends BaseSearchFilters { + FirstName?: string; + LastName? : string; + Phone? : string; + Email? : string; + SystemId? : string; +} + +export interface ParticipantSearchResults extends BaseSearchResults { + Items: ParticipantDto[]; +} diff --git a/src/startup/router.ts b/src/startup/router.ts index c5a3662..fa02d25 100644 --- a/src/startup/router.ts +++ b/src/startup/router.ts @@ -39,6 +39,7 @@ import { register as registerUserSelectedActionPlanRoutes } from "../api/user.re import { register as registerUserSelectedGoalRoutes } from "../api/user.responses/user.selected.goal/user.selected.goal.routes"; import { register as registerUserSelectedPriorityRoutes } from "../api/user.responses/user.selected.priority/user.selected.priority.routes"; import { register as registerUserRoleRoutes } from "../api/user.role/user.role.routes"; +import { register as registerParticipantRoutes } from "../api/enrollment/participant/participant.routes"; //////////////////////////////////////////////////////////////////////////////////// @@ -102,6 +103,7 @@ export class Router { registerUserSelectedGoalRoutes(this._app); registerUserSelectedPriorityRoutes(this._app); registerUserRoleRoutes(this._app); + registerParticipantRoutes(this._app); resolve(true); From 511d4be773a1aaa3cb6fe969e79b99a2bb0a52e4 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Thu, 21 Jul 2022 11:49:30 +0530 Subject: [PATCH 006/169] added displayId in participant pipeline --- .../participant/participant.controller.delegate.ts | 2 ++ src/database/mappers/enrollment/participant.mapper.ts | 1 + src/database/models/enrollment/participant.model.ts | 7 ++++++- .../repository.services/enrollment/participant.service.ts | 3 +++ src/domain.types/enrollment/participant.domain.types.ts | 2 ++ 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/api/enrollment/participant/participant.controller.delegate.ts b/src/api/enrollment/participant/participant.controller.delegate.ts index 0d2c12a..d9f96a3 100644 --- a/src/api/enrollment/participant/participant.controller.delegate.ts +++ b/src/api/enrollment/participant/participant.controller.delegate.ts @@ -144,6 +144,7 @@ export class ParticipantControllerDelegate { } return { id : record.id, + DisplayId : record.DisplayId, Prefix : record.Prefix, FirstName : record.FirstName, LastName : record.LastName, @@ -167,6 +168,7 @@ export class ParticipantControllerDelegate { } return { id : record.id, + DisplayId : record.DisplayId, Prefix : record.Prefix, FirstName : record.FirstName, LastName : record.LastName, diff --git a/src/database/mappers/enrollment/participant.mapper.ts b/src/database/mappers/enrollment/participant.mapper.ts index 26fa442..ac3a21b 100644 --- a/src/database/mappers/enrollment/participant.mapper.ts +++ b/src/database/mappers/enrollment/participant.mapper.ts @@ -12,6 +12,7 @@ export class ParticipantMapper { } const dto: ParticipantDto = { id : enrollment.id, + DisplayId : enrollment.DisplayId, Prefix : enrollment.Prefix, FirstName : enrollment.FirstName, LastName : enrollment.LastName, diff --git a/src/database/models/enrollment/participant.model.ts b/src/database/models/enrollment/participant.model.ts index 3811bce..edb438e 100644 --- a/src/database/models/enrollment/participant.model.ts +++ b/src/database/models/enrollment/participant.model.ts @@ -16,7 +16,12 @@ export class ParticipantModel { type : DataTypes.UUID, allowNull : false, defaultValue : DataTypes.UUIDV4, - primaryKey : true + }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + primaryKey : true }, Prefix : { type : DataTypes.STRING(16), diff --git a/src/database/repository.services/enrollment/participant.service.ts b/src/database/repository.services/enrollment/participant.service.ts index 14372a3..975eb9f 100644 --- a/src/database/repository.services/enrollment/participant.service.ts +++ b/src/database/repository.services/enrollment/participant.service.ts @@ -47,6 +47,9 @@ export class ParticipantService { include : [] }; + if (filters.DisplayId) { + search.where['DisplayId'] = filters.DisplayId; + } if (filters.Prefix) { search.where['Prefix'] = filters.Prefix; } diff --git a/src/domain.types/enrollment/participant.domain.types.ts b/src/domain.types/enrollment/participant.domain.types.ts index f8df0c2..07908fb 100644 --- a/src/domain.types/enrollment/participant.domain.types.ts +++ b/src/domain.types/enrollment/participant.domain.types.ts @@ -16,6 +16,7 @@ export interface ParticipantModel { export interface ParticipantDto { id : uuid; + DisplayId : number; Prefix : string; FirstName : string; LastName : string; @@ -34,6 +35,7 @@ export interface ParticipantSearchFilters extends BaseSearchFilters { Phone? : string; Email? : string; SystemId? : string; + DisplayId?: number; } export interface ParticipantSearchResults extends BaseSearchResults { From c0b442dc1b94760b83355dd5a1c8265857a92c00 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Thu, 21 Jul 2022 11:52:30 +0530 Subject: [PATCH 007/169] changed auth from user to client for enrollment --- .../enrollment.schedule.controller.ts | 10 +++++----- .../enrollment.schedule.routes.ts | 10 +++++----- .../enrollment/enrollment/enrollment.controller.ts | 13 +++++++------ src/api/enrollment/enrollment/enrollment.routes.ts | 12 ++++++------ src/api/user.helper.ts | 3 +++ 5 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts b/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts index 841d78b..c43520d 100644 --- a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts +++ b/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts @@ -26,7 +26,7 @@ export class EnrollmentScheduleController extends BaseController { create = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('EnrollmentSchedule.Create', request, response); + await this.authorize('EnrollmentSchedule.Create', request, response, false); const record = await this._delegate.create(request.body); const message = 'Enrollment schedule added successfully!'; ResponseHandler.success(request, response, message, 201, record); @@ -37,7 +37,7 @@ export class EnrollmentScheduleController extends BaseController { getById = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('EnrollmentSchedule.GetById', request, response); + await this.authorize('EnrollmentSchedule.GetById', request, response, false); const record = await this._delegate.getById(request.params.id); const message = 'Enrollment schedule retrieved successfully!'; ResponseHandler.success(request, response, message, 200, record); @@ -48,7 +48,7 @@ export class EnrollmentScheduleController extends BaseController { search = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('EnrollmentSchedule.Search', request, response); + await this.authorize('EnrollmentSchedule.Search', request, response, false); const searchResults = await this._delegate.search(request.query); const message = 'Enrollment schedule records retrieved successfully!'; ResponseHandler.success(request, response, message, 200, searchResults); @@ -59,7 +59,7 @@ export class EnrollmentScheduleController extends BaseController { update = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('EnrollmentSchedule.Update', request, response); + await this.authorize('EnrollmentSchedule.Update', request, response, false); const updatedRecord = await this._delegate.update(request.params.id, request.body); const message = 'Enrollment schedule updated successfully!'; ResponseHandler.success(request, response, message, 200, updatedRecord); @@ -70,7 +70,7 @@ export class EnrollmentScheduleController extends BaseController { delete = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('EnrollmentSchedule.Delete', request, response); + await this.authorize('EnrollmentSchedule.Delete', request, response, false); const result = await this._delegate.delete(request.params.id); const message = 'Enrollment schedule deleted successfully!'; ResponseHandler.success(request, response, message, 200, result); diff --git a/src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts b/src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts index 503c4d5..bfd2c05 100644 --- a/src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts +++ b/src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts @@ -14,11 +14,11 @@ export const register = (app: express.Application): void => { const authenticator = Loader.Authenticator; const controller = new EnrollmentScheduleController(); - router.post('/', authenticator.authenticateUser, controller.create); - router.get('/search', authenticator.authenticateUser, controller.search); - router.get('/:id', authenticator.authenticateUser, controller.getById); - router.put('/:id', authenticator.authenticateUser, controller.update); - router.delete('/:id', authenticator.authenticateUser, controller.delete); + router.post('/', authenticator.authenticateClient, controller.create); + router.get('/search', authenticator.authenticateClient, controller.search); + router.get('/:id', authenticator.authenticateClient, controller.getById); + router.put('/:id', authenticator.authenticateClient, controller.update); + router.delete('/:id', authenticator.authenticateClient, controller.delete); app.use('/api/v1/enrollment-schedules', router); }; diff --git a/src/api/enrollment/enrollment/enrollment.controller.ts b/src/api/enrollment/enrollment/enrollment.controller.ts index 0c7001a..e152665 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.ts @@ -19,6 +19,7 @@ export class EnrollmentController extends BaseController { constructor() { super(); + this._delegate = new EnrollmentControllerDelegate(); } @@ -26,7 +27,7 @@ export class EnrollmentController extends BaseController { create = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('Enrollment.Create', request, response); + await this.authorize('Enrollment.Create', request, response, false); const record = await this._delegate.create(request.body); const message = 'Enrollment added successfully!'; ResponseHandler.success(request, response, message, 201, record); @@ -37,7 +38,7 @@ export class EnrollmentController extends BaseController { getById = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('Enrollment.GetById', request, response); + await this.authorize('Enrollment.GetById', request, response, false); const record = await this._delegate.getById(request.params.id); const message = 'Enrollment retrieved successfully!'; ResponseHandler.success(request, response, message, 200, record); @@ -48,7 +49,7 @@ export class EnrollmentController extends BaseController { search = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('Enrollment.Search', request, response); + await this.authorize('Enrollment.Search', request, response, false); const searchResults = await this._delegate.search(request.query); const message = 'Enrollment records retrieved successfully!'; ResponseHandler.success(request, response, message, 200, searchResults); @@ -59,7 +60,7 @@ export class EnrollmentController extends BaseController { update = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('Enrollment.Update', request, response); + await this.authorize('Enrollment.Update', request, response, false); const updatedRecord = await this._delegate.update(request.params.id, request.body); const message = 'Enrollment updated successfully!'; ResponseHandler.success(request, response, message, 200, updatedRecord); @@ -70,7 +71,7 @@ export class EnrollmentController extends BaseController { delete = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('Enrollment.Delete', request, response); + await this.authorize('Enrollment.Delete', request, response, false); const result = await this._delegate.delete(request.params.id); const message = 'Enrollment deleted successfully!'; ResponseHandler.success(request, response, message, 200, result); @@ -79,4 +80,4 @@ export class EnrollmentController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/enrollment/enrollment/enrollment.routes.ts b/src/api/enrollment/enrollment/enrollment.routes.ts index 7870a3f..618a5bc 100644 --- a/src/api/enrollment/enrollment/enrollment.routes.ts +++ b/src/api/enrollment/enrollment/enrollment.routes.ts @@ -14,11 +14,11 @@ export const register = (app: express.Application): void => { const authenticator = Loader.Authenticator; const controller = new EnrollmentController(); - router.post('/', authenticator.authenticateUser, controller.create); - router.get('/search', authenticator.authenticateUser, controller.search); - router.get('/:id', authenticator.authenticateUser, controller.getById); - router.put('/:id', authenticator.authenticateUser, controller.update); - router.delete('/:id', authenticator.authenticateUser, controller.delete); + router.post('/', authenticator.authenticateClient, controller.create); + router.get('/search', authenticator.authenticateClient, controller.search); + router.get('/:id', authenticator.authenticateClient, controller.getById); + router.put('/:id', authenticator.authenticateClient, controller.update); + router.delete('/:id', authenticator.authenticateClient, controller.delete); app.use('/api/v1/enrollments', router); -}; \ No newline at end of file +}; diff --git a/src/api/user.helper.ts b/src/api/user.helper.ts index 876e040..10d59c2 100644 --- a/src/api/user.helper.ts +++ b/src/api/user.helper.ts @@ -93,6 +93,9 @@ export class UserHelper { const updateModel: any = {}; + if (Helper.hasProperty(requestBody, 'DisplayId')) { + updateModel.DisplayId = requestBody.DisplayId; + } if (Helper.hasProperty(requestBody, 'Prefix')) { updateModel.Prefix = requestBody.Prefix; } From 56062675ebb2fbba901c20be4b5d9fd96d8df385 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Thu, 21 Jul 2022 12:10:17 +0530 Subject: [PATCH 008/169] Some fixes while passing careplan request. --- .../careplan/careplan/careplan.controller.delegate.ts | 10 +++++----- src/api/careplan/careplan/careplan.validator.ts | 7 ++++--- .../careplan/careplan.category.service.ts | 4 ++-- .../repository.services/careplan/careplan.service.ts | 4 ++-- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/api/careplan/careplan/careplan.controller.delegate.ts b/src/api/careplan/careplan/careplan.controller.delegate.ts index 1ac07d3..3d15622 100644 --- a/src/api/careplan/careplan/careplan.controller.delegate.ts +++ b/src/api/careplan/careplan/careplan.controller.delegate.ts @@ -132,7 +132,7 @@ export class CareplanControllerDelegate { updateModel.OwnerUserId = requestBody.OwnerUserId; } if (Helper.hasProperty(requestBody, 'Tags')) { - updateModel.Tags = requestBody.Tags; + updateModel.Tags = JSON.stringify(requestBody.Tags); } return updateModel; } @@ -143,9 +143,9 @@ export class CareplanControllerDelegate { CategoryId : requestBody.CategoryId ? requestBody.CategoryId : null, Name : requestBody.Name ? requestBody.Name : null, Description : requestBody.Description ? requestBody.Description : null, - Version : requestBody.Version ? requestBody.Version : '1.0.0', + Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId ? requestBody.OwnerUserId : null, - Tags : requestBody.Tags ? requestBody.Tags : '[]' + Tags : requestBody.Tags ? JSON.stringify(requestBody.Tags) as string : JSON.stringify([]), }; } @@ -163,7 +163,7 @@ export class CareplanControllerDelegate { Description : record.Description, Version : record.Version, OwnerUserId : record.OwnerUserId, - Tags : record.Tags, + Tags : JSON.parse(record.Tags), IsActive : record.IsActive }; } @@ -182,7 +182,7 @@ export class CareplanControllerDelegate { Description : record.Description, Version : record.Version, OwnerUserId : record.OwnerUserId, - Tags : record.Tags, + Tags : JSON.parse(record.Tags), IsActive : record.IsActive }; } diff --git a/src/api/careplan/careplan/careplan.validator.ts b/src/api/careplan/careplan/careplan.validator.ts index 5753778..1060131 100644 --- a/src/api/careplan/careplan/careplan.validator.ts +++ b/src/api/careplan/careplan/careplan.validator.ts @@ -13,10 +13,11 @@ export class CareplanValidator { Name : joi.string().max(256).optional(), Description : joi.string().optional(), Version : joi.string().max(32).optional(), + Tags : joi.array().items(joi.string()).optional(), OwnerUserId : joi.string().guid({ version : ['uuidv4'] }).optional(), - Tags : joi.string().optional() + }); return await schema.validateAsync(requestBody); } catch (error) { @@ -31,10 +32,10 @@ export class CareplanValidator { categoryId : joi.number().integer().optional(), name : joi.string().max(256).optional(), version : joi.string().max(32).optional(), + tags : joi.array().items(joi.string()).optional(), ownerUserId : joi.string().guid({ version : ['uuidv4'] }).optional(), - tags : joi.string().optional(), isActive : joi.boolean().optional() }); return await schema.validateAsync(query); @@ -52,10 +53,10 @@ export class CareplanValidator { Name : joi.string().max(256).optional(), Description : joi.string().optional(), Version : joi.string().max(32).optional(), + Tags : joi.array().items(joi.string()).optional(), OwnerUserId : joi.string().guid({ version : ['uuidv4'] }).optional(), - Tags : joi.string().optional() }); return await schema.validateAsync(requestBody); } catch (error) { diff --git a/src/database/repository.services/careplan/careplan.category.service.ts b/src/database/repository.services/careplan/careplan.category.service.ts index 6b5fa0c..aa486f7 100644 --- a/src/database/repository.services/careplan/careplan.category.service.ts +++ b/src/database/repository.services/careplan/careplan.category.service.ts @@ -12,7 +12,7 @@ export class CareplanCategoryService { create = async (createModel: CareplanCategoryCreateModel): Promise < CareplanCategoryDto > => { try { var record = await this.CareplanCategory.create(createModel); - return await exports.getById(record.id); + return await this.getById(record.id); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create careplan category!', error); } @@ -117,7 +117,7 @@ export class CareplanCategoryService { throw new Error('Unable to update careplan category!'); } } - return await exports.getById(id); + return await this.getById(id); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update careplan category!', error); } diff --git a/src/database/repository.services/careplan/careplan.service.ts b/src/database/repository.services/careplan/careplan.service.ts index 8ebbb06..d17ee49 100644 --- a/src/database/repository.services/careplan/careplan.service.ts +++ b/src/database/repository.services/careplan/careplan.service.ts @@ -22,7 +22,7 @@ export class CareplanService { create = async (createModel: CareplanCreateModel): Promise => { try { var record = await this.Careplan.create(createModel); - return await exports.getById(record.id); + return await this.getById(record.id); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create care plan!', error); } @@ -159,7 +159,7 @@ export class CareplanService { throw new Error('Unable to update care plan!'); } } - return await exports.getById(id); + return await this.getById(id); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update care plan!', error); } From b738fcffc7e8d24e709693e5ee83c278c738d248 Mon Sep 17 00:00:00 2001 From: tabbasum-rean Date: Thu, 21 Jul 2022 12:54:51 +0530 Subject: [PATCH 009/169] Added getById and search careplan route with client authentication --- src/@types/express/index.d.ts | 3 ++- src/api/careplan/careplan/careplan.controller.ts | 4 ++-- src/api/careplan/careplan/careplan.routes.ts | 2 ++ src/auth/custom/custom.authenticator.ts | 5 +++++ .../repository.services/careplan/careplan.service.ts | 2 +- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/@types/express/index.d.ts b/src/@types/express/index.d.ts index 9554ee6..6f9e77e 100644 --- a/src/@types/express/index.d.ts +++ b/src/@types/express/index.d.ts @@ -9,7 +9,8 @@ declare global{ context: string, resourceType: string, resourceId: string | number | null | undefined - resourceOwnerUserId: string + resourceOwnerUserId: string, + authorizeRequest: boolean } } } diff --git a/src/api/careplan/careplan/careplan.controller.ts b/src/api/careplan/careplan/careplan.controller.ts index 8412cfd..d70e334 100644 --- a/src/api/careplan/careplan/careplan.controller.ts +++ b/src/api/careplan/careplan/careplan.controller.ts @@ -31,7 +31,7 @@ export class CarePlanController extends BaseController{ getById = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('Careplan.GetById', request, response); + await this.authorize('Careplan.GetById', request, response, request.authorizeRequest); const record = await this._delegate.getById(request.params.id); const message = 'Care plan retrieved successfully!'; ResponseHandler.success(request, response, message, 200, record); @@ -42,7 +42,7 @@ export class CarePlanController extends BaseController{ search = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('Careplan.Search', request, response); + await this.authorize('Careplan.Search', request, response, request.authorizeRequest); const searchResults = await this._delegate.search(request.query); const message = 'Care plan records retrieved successfully!'; ResponseHandler.success(request, response, message, 200, searchResults); diff --git a/src/api/careplan/careplan/careplan.routes.ts b/src/api/careplan/careplan/careplan.routes.ts index 7959663..4e1722e 100644 --- a/src/api/careplan/careplan/careplan.routes.ts +++ b/src/api/careplan/careplan/careplan.routes.ts @@ -12,7 +12,9 @@ export const register = (app: express.Application): void => { router.post('/', authenticator.authenticateUser, controller.create); router.get('/search', authenticator.authenticateUser, controller.search); + router.get('/client/search', authenticator.authenticateClient, controller.search); router.get('/:id', authenticator.authenticateUser, controller.getById); + router.get('/client/:id', authenticator.authenticateClient, controller.getById); router.put('/:id', authenticator.authenticateUser, controller.update); router.delete('/:id', authenticator.authenticateUser, controller.delete); diff --git a/src/auth/custom/custom.authenticator.ts b/src/auth/custom/custom.authenticator.ts index b9bfd73..dfb96f5 100644 --- a/src/auth/custom/custom.authenticator.ts +++ b/src/auth/custom/custom.authenticator.ts @@ -21,6 +21,8 @@ export class CustomAuthenticator implements IAuthenticator { request: express.Request ): Promise => { try { + request.authorizeRequest = true; + var res: AuthenticationResult = { Result : true, Message : 'Authenticated', @@ -69,6 +71,9 @@ export class CustomAuthenticator implements IAuthenticator { public authenticateClient = async (request: express.Request): Promise => { try { + + request.authorizeRequest = false; + var res: AuthenticationResult = { Result : true, Message : 'Authenticated', diff --git a/src/database/repository.services/careplan/careplan.service.ts b/src/database/repository.services/careplan/careplan.service.ts index 024e9fe..d17ee49 100644 --- a/src/database/repository.services/careplan/careplan.service.ts +++ b/src/database/repository.services/careplan/careplan.service.ts @@ -159,7 +159,7 @@ export class CareplanService { throw new Error('Unable to update care plan!'); } } - return await exports.getById(id); + return await this.getById(id); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update care plan!', error); } From 7e413b75807435d26049b6d134260a136218a367 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Fri, 22 Jul 2022 17:55:15 +0530 Subject: [PATCH 010/169] Replaced userId with participantId in enrollment --- .../enrollment.controller.delegate.ts | 10 +++---- .../enrollment/enrollment.validator.ts | 30 +++++++++---------- .../mappers/enrollment/enrollment.mapper.ts | 16 +++++----- .../models/enrollment/enrollment.model.ts | 8 ++--- .../models/enrollment/participant.model.ts | 1 + .../enrollment/enrollment.service.ts | 19 ++++++------ .../enrollment/enrollment.domain.types.ts | 6 ++-- 7 files changed, 45 insertions(+), 45 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 4ad8f8f..e0f83ef 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -116,8 +116,8 @@ export class EnrollmentControllerDelegate { if (Helper.hasProperty(requestBody, 'CareplanId')) { updateModel.CareplanId = requestBody.CareplanId; } - if (Helper.hasProperty(requestBody, 'UserId')) { - updateModel.UserId = requestBody.UserId; + if (Helper.hasProperty(requestBody, 'ParticipantId')) { + updateModel.ParticipantId = requestBody.ParticipantId; } if (Helper.hasProperty(requestBody, 'StartDate')) { updateModel.StartDate = requestBody.StartDate; @@ -135,7 +135,7 @@ export class EnrollmentControllerDelegate { getCreateModel = (requestBody): EnrollmentCreateModel => { return { CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, - UserId : requestBody.UserId ? requestBody.UserId : null, + ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, StartDate : requestBody.StartDate ? requestBody.StartDate : null, EndDate : requestBody.EndDate ? requestBody.EndDate : null, EnrollmentDate : requestBody.EnrollmentDate ? requestBody.EnrollmentDate : null @@ -149,7 +149,7 @@ export class EnrollmentControllerDelegate { return { id : record.id, CareplanId : record.CareplanId, - UserId : record.UserId, + ParticipantId : record.ParticipantId, StartDate : record.StartDate, EndDate : record.EndDate, EnrollmentDate : record.EnrollmentDate, @@ -164,7 +164,7 @@ export class EnrollmentControllerDelegate { return { id : record.id, CareplanId : record.CareplanId, - UserId : record.UserId, + ParticipantId : record.ParticipantId, StartDate : record.StartDate, EndDate : record.EndDate, EnrollmentDate : record.EnrollmentDate, diff --git a/src/api/enrollment/enrollment/enrollment.validator.ts b/src/api/enrollment/enrollment/enrollment.validator.ts index 717e41b..3f0ad30 100644 --- a/src/api/enrollment/enrollment/enrollment.validator.ts +++ b/src/api/enrollment/enrollment/enrollment.validator.ts @@ -10,13 +10,13 @@ export class EnrollmentValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - CareplanId: joi.number().integer().optional(), - UserId: joi.string().guid({ - version: ['uuidv4'] + CareplanId : joi.number().integer().optional(), + ParticipantId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - StartDate: joi.date().iso().optional(), - EndDate: joi.date().iso().optional(), - EnrollmentDate: joi.date().iso().optional() + StartDate : joi.date().iso().optional(), + EndDate : joi.date().iso().optional(), + EnrollmentDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -27,13 +27,13 @@ export class EnrollmentValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - CareplanId: joi.number().integer().optional(), - UserId: joi.string().guid({ - version: ['uuidv4'] + CareplanId : joi.number().integer().optional(), + ParticipantId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - StartDate: joi.date().iso().optional(), - EndDate: joi.date().iso().optional(), - EnrollmentDate: joi.date().iso().optional() + StartDate : joi.date().iso().optional(), + EndDate : joi.date().iso().optional(), + EnrollmentDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -44,8 +44,8 @@ export class EnrollmentValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - careplanId: joi.number().integer().optional(), - progressStatus: joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() + careplanId : joi.number().integer().optional(), + progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() }); return await schema.validateAsync(query); @@ -54,4 +54,4 @@ export class EnrollmentValidator { } } -} \ No newline at end of file +} diff --git a/src/database/mappers/enrollment/enrollment.mapper.ts b/src/database/mappers/enrollment/enrollment.mapper.ts index dea579c..c7389e1 100644 --- a/src/database/mappers/enrollment/enrollment.mapper.ts +++ b/src/database/mappers/enrollment/enrollment.mapper.ts @@ -11,16 +11,16 @@ export class EnrollmentMapper { return null; } const dto: EnrollmentDto = { - id: enrollment.id, - CareplanId: enrollment.CareplanId, - UserId: enrollment.UserId, - StartDate: enrollment.StartDate, - EndDate: enrollment.EndDate, - EnrollmentDate: enrollment.EnrollmentDate, - ProgressStatus: enrollment.ProgressStatus, + id : enrollment.id, + CareplanId : enrollment.CareplanId, + ParticipantId : enrollment.ParticipantId, + StartDate : enrollment.StartDate, + EndDate : enrollment.EndDate, + EnrollmentDate : enrollment.EnrollmentDate, + ProgressStatus : enrollment.ProgressStatus, }; return dto; }; -} \ No newline at end of file +} diff --git a/src/database/models/enrollment/enrollment.model.ts b/src/database/models/enrollment/enrollment.model.ts index 066369a..0d4a8e8 100644 --- a/src/database/models/enrollment/enrollment.model.ts +++ b/src/database/models/enrollment/enrollment.model.ts @@ -24,7 +24,7 @@ export class EnrollmentModel { foreignKey : true, unique : false }, - UserId : { + ParticipantId : { type : DataTypes.UUID, allowNull : false, foreignKey : true, @@ -76,10 +76,10 @@ export class EnrollmentModel { as : 'Careplan' }); - models.Enrollment.belongsTo(models.User, { - sourceKey : 'UserId', + models.Enrollment.belongsTo(models.Participant, { + sourceKey : 'ParticipantId', targetKey : 'id', - as : 'User' + as : 'Participant' }); }; diff --git a/src/database/models/enrollment/participant.model.ts b/src/database/models/enrollment/participant.model.ts index edb438e..b378745 100644 --- a/src/database/models/enrollment/participant.model.ts +++ b/src/database/models/enrollment/participant.model.ts @@ -16,6 +16,7 @@ export class ParticipantModel { type : DataTypes.UUID, allowNull : false, defaultValue : DataTypes.UUIDV4, + unique : true }, DisplayId : { type : DataTypes.INTEGER, diff --git a/src/database/repository.services/enrollment/enrollment.service.ts b/src/database/repository.services/enrollment/enrollment.service.ts index bff260c..2fc6bbe 100644 --- a/src/database/repository.services/enrollment/enrollment.service.ts +++ b/src/database/repository.services/enrollment/enrollment.service.ts @@ -5,9 +5,8 @@ import { CareplanModel } from '../../models/careplan/careplan.model'; import { - UserModel -} from '../../models/user/user.model'; - + ParticipantModel +} from '../../../database/models/enrollment/participant.model'; import { ErrorHandler } from '../../../common/error.handler'; @@ -27,7 +26,7 @@ export class EnrollmentService { Careplan = CareplanModel.Model; - User = UserModel.Model; + Participant = ParticipantModel.Model; //#endregion @@ -54,9 +53,9 @@ export class EnrollmentService { as : 'Careplan', //through: { attributes: [] } }, { - model : this.User, + model : this.Participant, required : false, - as : 'User', + as : 'Participant', //through: { attributes: [] } }, @@ -166,16 +165,16 @@ export class EnrollmentService { // includeCareplan.where['Xyz'] = filters.Xyz; //} search.include.push(includeCareplanAsCareplan); - const includeUserAsUser = { - model : this.User, + const includeParticipantAsParticipant = { + model : this.Participant, required : false, - as : 'User', + as : 'Participant', where : {} }; //if (filters.Xyz != undefined) { // includeUser.where['Xyz'] = filters.Xyz; //} - search.include.push(includeUserAsUser); + search.include.push(includeParticipantAsParticipant); return search; } diff --git a/src/domain.types/enrollment/enrollment.domain.types.ts b/src/domain.types/enrollment/enrollment.domain.types.ts index 93f59b2..0221714 100644 --- a/src/domain.types/enrollment/enrollment.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.domain.types.ts @@ -9,7 +9,7 @@ import { export interface EnrollmentCreateModel { CareplanId ?: number; - UserId ?: uuid; + ParticipantId ?: uuid; StartDate ?: Date; EndDate ?: Date; EnrollmentDate ?: Date; @@ -17,7 +17,7 @@ export interface EnrollmentCreateModel { export interface EnrollmentUpdateModel { CareplanId ?: number; - UserId ?: uuid; + ParticipantId ?: uuid; StartDate ?: Date; EndDate ?: Date; EnrollmentDate ?: Date; @@ -26,7 +26,7 @@ export interface EnrollmentUpdateModel { export interface EnrollmentDto { id : uuid; CareplanId : number; - UserId : uuid; + ParticipantId : uuid; StartDate : Date; EndDate : Date; EnrollmentDate: Date; From 889100e2075c4fc46ec40201d8f1b286f5d0ffe9 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Mon, 25 Jul 2022 09:41:35 +0530 Subject: [PATCH 011/169] Fixed file resource upload routes --- .../file.resource.controller.delegate.ts | 16 +++++----------- .../file.resource/file.resource.controller.ts | 2 +- src/startup/injector.ts | 5 +++++ 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/api/file.resource/file.resource.controller.delegate.ts b/src/api/file.resource/file.resource.controller.delegate.ts index b192db8..93fe202 100644 --- a/src/api/file.resource/file.resource.controller.delegate.ts +++ b/src/api/file.resource/file.resource.controller.delegate.ts @@ -7,17 +7,18 @@ import { FileResourceCreateModel } from '../../domain.types/file.resource.domain import express from 'express'; import * as mime from 'mime-types'; import * as aws from 'aws-sdk'; -import { Logger } from '../../common/logger'; +import { IFileStorageService } from '../../modules/storage/interfaces/file.storage.service.interface'; +import { injectable, inject } from 'tsyringe'; /////////////////////////////////////////////////////////////////////////////////////// - +@injectable() export class FileResourceControllerDelegate { //#region member variables and constructors _service: FileResourceService = null; - constructor() { + constructor( @inject('IFileStorageService') private _storageService: IFileStorageService ) { this._service = new FileResourceService(); } @@ -38,14 +39,7 @@ export class FileResourceControllerDelegate { filename = filename + '_' + timestamp + '.' + ext; var storageKey = 'uploaded/' + dateFolder + '/' + filename; - var s3 = getS3Client(); - const params = { - Bucket : process.env.STORAGE_BUCKET, - Key : storageKey, - Body : request //Request stream piped directly - }; - var stored = await s3.upload(params).promise(); - Logger.instance().log(JSON.stringify(stored, null, 2)); + await this._storageService.upload( storageKey, originalFilename ); var model: FileResourceCreateModel = { StorageKey : storageKey, diff --git a/src/api/file.resource/file.resource.controller.ts b/src/api/file.resource/file.resource.controller.ts index 031f354..dbadfff 100644 --- a/src/api/file.resource/file.resource.controller.ts +++ b/src/api/file.resource/file.resource.controller.ts @@ -15,7 +15,7 @@ export class FileResourceController extends BaseController { constructor() { super(); - this._delegate = new FileResourceControllerDelegate(); + this._delegate = Loader.Container.resolve(FileResourceControllerDelegate); } //#endregion diff --git a/src/startup/injector.ts b/src/startup/injector.ts index f7c4ea9..1e07b08 100644 --- a/src/startup/injector.ts +++ b/src/startup/injector.ts @@ -1,4 +1,5 @@ import 'reflect-metadata'; +import { ModuleInjector } from '../modules/module.injector'; import { DependencyContainer } from 'tsyringe'; import { AuthInjector } from '../auth/auth.injector'; @@ -7,7 +8,11 @@ import { AuthInjector } from '../auth/auth.injector'; export class Injector { static registerInjections(container: DependencyContainer) { + //Auth AuthInjector.registerInjections(container); + + //Modules + ModuleInjector.registerInjections(container); } } From af39b03939662288128401c90ad37e266a52d089 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Mon, 25 Jul 2022 12:13:47 +0530 Subject: [PATCH 012/169] embedded enrollment schedule in enrollment pipeline --- ...enrollment.schedule.controller.delegate.ts | 55 +------------------ .../enrollment.schedule.controller.ts | 35 +----------- .../enrollment.schedule.routes.ts | 3 - .../enrollment.controller.delegate.ts | 44 +++++++++++++++ .../enrollment/enrollment.schedule.mapper.ts | 2 +- .../enrollment/enrollment.schedule.model.ts | 8 +-- .../enrollment/enrollment.schedule.service.ts | 47 +++------------- .../enrollment.schedule.domain.types.ts | 11 +++- 8 files changed, 68 insertions(+), 137 deletions(-) diff --git a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts b/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts index ddd996a..778c0d0 100644 --- a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts +++ b/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts @@ -17,7 +17,6 @@ import { uuid } from '../../../domain.types/miscellaneous/system.types'; import { - EnrollmentScheduleCreateModel, EnrollmentScheduleUpdateModel, EnrollmentScheduleSearchFilters, EnrollmentScheduleSearchResults @@ -37,16 +36,6 @@ export class EnrollmentScheduleControllerDelegate { //#endregion - create = async (requestBody: any) => { - await validator.validateCreateRequest(requestBody); - var createModel: EnrollmentScheduleCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); - if (record === null) { - throw new ApiError('Unable to create enrollment schedule!', 400); - } - return this.getEnrichedDto(record); - } - getById = async (id: uuid) => { const record = await this._service.getById(id); if (record === null) { @@ -64,31 +53,6 @@ export class EnrollmentScheduleControllerDelegate { return searchResults; } - update = async (id: uuid, requestBody: any) => { - await validator.validateUpdateRequest(requestBody); - const record = await this._service.getById(id); - if (record === null) { - ErrorHandler.throwNotFoundError('Enrollment schedule with id ' + id.toString() + ' cannot be found!'); - } - const updateModel: EnrollmentScheduleUpdateModel = this.getUpdateModel(requestBody); - const updated = await this._service.update(id, updateModel); - if (updated == null) { - throw new ApiError('Unable to update enrollment schedule!', 400); - } - return this.getEnrichedDto(updated); - } - - delete = async (id: uuid) => { - const record = await this._service.getById(id); - if (record == null) { - ErrorHandler.throwNotFoundError('Enrollment schedule with id ' + id.toString() + ' cannot be found!'); - } - const enrollmentScheduleDeleted: boolean = await this._service.delete(id); - return { - Deleted : enrollmentScheduleDeleted - }; - } - /////////////////////////////////////////////////////////////////////////////////////////////// //#region Privates @@ -117,23 +81,6 @@ export class EnrollmentScheduleControllerDelegate { return filters; } - getUpdateModel = (requestBody): EnrollmentScheduleUpdateModel => { - - const updateModel: EnrollmentScheduleUpdateModel = {}; - - if (Helper.hasProperty(requestBody, 'AssetType')) { - updateModel.AssetType = requestBody.AssetType; - } - - return updateModel; - } - - getCreateModel = (requestBody): EnrollmentScheduleCreateModel => { - return { - AssetType : requestBody.AssetType ? requestBody.AssetType : null - }; - } - getEnrichedDto = (record) => { if (record == null) { return null; @@ -158,7 +105,7 @@ export class EnrollmentScheduleControllerDelegate { return { id : record.id, EnrollmentId : record.EnrollmentId, - UserId : record.UserId, + ParticipantId : record.ParticipantId, CareplanScheduleId : record.CareplanScheduleId, AssetId : record.AssetId, AssetType : record.AssetType, diff --git a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts b/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts index c43520d..49f0113 100644 --- a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts +++ b/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts @@ -24,17 +24,6 @@ export class EnrollmentScheduleController extends BaseController { //#endregion - create = async (request: express.Request, response: express.Response): Promise < void > => { - try { - await this.authorize('EnrollmentSchedule.Create', request, response, false); - const record = await this._delegate.create(request.body); - const message = 'Enrollment schedule added successfully!'; - ResponseHandler.success(request, response, message, 201, record); - } catch (error) { - ResponseHandler.handleError(request, response, error); - } - } - getById = async (request: express.Request, response: express.Response): Promise < void > => { try { await this.authorize('EnrollmentSchedule.GetById', request, response, false); @@ -56,27 +45,5 @@ export class EnrollmentScheduleController extends BaseController { ResponseHandler.handleError(request, response, error); } } - - update = async (request: express.Request, response: express.Response): Promise < void > => { - try { - await this.authorize('EnrollmentSchedule.Update', request, response, false); - const updatedRecord = await this._delegate.update(request.params.id, request.body); - const message = 'Enrollment schedule updated successfully!'; - ResponseHandler.success(request, response, message, 200, updatedRecord); - } catch (error) { - ResponseHandler.handleError(request, response, error); - } - } - - delete = async (request: express.Request, response: express.Response): Promise < void > => { - try { - await this.authorize('EnrollmentSchedule.Delete', request, response, false); - const result = await this._delegate.delete(request.params.id); - const message = 'Enrollment schedule deleted successfully!'; - ResponseHandler.success(request, response, message, 200, result); - } catch (error) { - ResponseHandler.handleError(request, response, error); - } - }; - + } diff --git a/src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts b/src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts index bfd2c05..ab5bdd8 100644 --- a/src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts +++ b/src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts @@ -14,11 +14,8 @@ export const register = (app: express.Application): void => { const authenticator = Loader.Authenticator; const controller = new EnrollmentScheduleController(); - router.post('/', authenticator.authenticateClient, controller.create); router.get('/search', authenticator.authenticateClient, controller.search); router.get('/:id', authenticator.authenticateClient, controller.getById); - router.put('/:id', authenticator.authenticateClient, controller.update); - router.delete('/:id', authenticator.authenticateClient, controller.delete); app.use('/api/v1/enrollment-schedules', router); }; diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index e0f83ef..f9e0b93 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -1,6 +1,10 @@ +/* eslint-disable key-spacing */ import { EnrollmentService } from '../../../database/repository.services/enrollment/enrollment.service'; +import { + EnrollmentScheduleService +} from '../../../database/repository.services/enrollment/enrollment.schedule.service'; import { ErrorHandler } from '../../../common/error.handler'; @@ -16,12 +20,19 @@ import { import { uuid } from '../../../domain.types/miscellaneous/system.types'; +import { + CareplanScheduleControllerDelegate +} from '../../careplan/careplan.schedule/careplan.schedule.controller.delegate'; import { EnrollmentCreateModel, EnrollmentUpdateModel, EnrollmentSearchFilters, EnrollmentSearchResults } from '../../../domain.types/enrollment/enrollment.domain.types'; +import { EnrollmentScheduleCreateModel } from '../../../domain.types/enrollment/enrollment.schedule.domain.types'; +import { TimeHelper } from '../../../common/time.helper'; +import { DurationType } from '../../../domain.types/miscellaneous/time.types'; +import { Logger } from '../../../common/logger'; /////////////////////////////////////////////////////////////////////////////////////// @@ -31,8 +42,14 @@ export class EnrollmentControllerDelegate { _service: EnrollmentService = null; + _careplanScheduleDelegate: CareplanScheduleControllerDelegate = null; + + _scheduleService: EnrollmentScheduleService = null; + constructor() { this._service = new EnrollmentService(); + this._careplanScheduleDelegate = new CareplanScheduleControllerDelegate(); + this._scheduleService = new EnrollmentScheduleService(); } //#endregion @@ -44,6 +61,33 @@ export class EnrollmentControllerDelegate { if (record === null) { throw new ApiError('Unable to create enrollment!', 400); } + + const careplanSchedule = await this._careplanScheduleDelegate.search({ careplanId : record.CareplanId }); + const scheduleDate = TimeHelper.addDuration( + record.StartDate, + careplanSchedule.Items[0].Day - 1, + DurationType.Day + ); + + var enrollmentScheduleModel: EnrollmentScheduleCreateModel = { + + EnrollmentId : record.id, + ParticipantId : record.ParticipantId, + CareplanId : record.CareplanId, + CareplanScheduleId : careplanSchedule.Items[0].id, + AssetId : careplanSchedule.Items[0].AssetId, + AssetType : careplanSchedule.Items[0].AssetType, + TimeSlot : careplanSchedule.Items[0].TimeSlot, + ScheduledDate : scheduleDate + }; + + try { + const enrollmentScheduleRecord = await this._scheduleService.create(enrollmentScheduleModel); + Logger.instance().log(JSON.stringify(enrollmentScheduleRecord, null, 2)); + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment schedule!', error); + } + return this.getEnrichedDto(record); } diff --git a/src/database/mappers/enrollment/enrollment.schedule.mapper.ts b/src/database/mappers/enrollment/enrollment.schedule.mapper.ts index 07e4f4d..4d00ecd 100644 --- a/src/database/mappers/enrollment/enrollment.schedule.mapper.ts +++ b/src/database/mappers/enrollment/enrollment.schedule.mapper.ts @@ -13,7 +13,7 @@ export class EnrollmentScheduleMapper { const dto: EnrollmentScheduleDto = { id: enrollmentSchedule.id, EnrollmentId: enrollmentSchedule.EnrollmentId, - UserId: enrollmentSchedule.UserId, + ParticipantId: enrollmentSchedule.ParticipantId, CareplanScheduleId: enrollmentSchedule.CareplanScheduleId, AssetId: enrollmentSchedule.AssetId, AssetType: enrollmentSchedule.AssetType, diff --git a/src/database/models/enrollment/enrollment.schedule.model.ts b/src/database/models/enrollment/enrollment.schedule.model.ts index 78e034f..0f3bf43 100644 --- a/src/database/models/enrollment/enrollment.schedule.model.ts +++ b/src/database/models/enrollment/enrollment.schedule.model.ts @@ -25,7 +25,7 @@ export class EnrollmentScheduleModel { foreignKey : true, unique : false }, - UserId : { + ParticipantId : { type : DataTypes.UUID, allowNull : false, foreignKey : true, @@ -89,10 +89,10 @@ export class EnrollmentScheduleModel { as : 'Enrollment' }); - models.EnrollmentSchedule.belongsTo(models.User, { - sourceKey : 'UserId', + models.EnrollmentSchedule.belongsTo(models.Participant, { + sourceKey : 'ParticipantId', targetKey : 'id', - as : 'User' + as : 'Participant' }); models.EnrollmentSchedule.belongsTo(models.CareplanSchedule, { diff --git a/src/database/repository.services/enrollment/enrollment.schedule.service.ts b/src/database/repository.services/enrollment/enrollment.schedule.service.ts index edc5296..91267e4 100644 --- a/src/database/repository.services/enrollment/enrollment.schedule.service.ts +++ b/src/database/repository.services/enrollment/enrollment.schedule.service.ts @@ -5,8 +5,8 @@ import { EnrollmentModel } from '../../models/enrollment/enrollment.model'; import { - UserModel -} from '../../models/user/user.model'; + ParticipantModel +} from '../../models/enrollment/participant.model'; import { CareplanScheduleModel } from '../../models/careplan/careplan.schedule.model'; @@ -33,7 +33,7 @@ export class EnrollmentScheduleService { Enrollment = EnrollmentModel.Model; - User = UserModel.Model; + Participant = ParticipantModel.Model; CareplanSchedule = CareplanScheduleModel.Model; @@ -64,9 +64,9 @@ export class EnrollmentScheduleService { as : 'Enrollment', //through: { attributes: [] } }, { - model : this.User, + model : this.Participant, required : false, - as : 'User', + as : 'Participant', //through: { attributes: [] } }, { model : this.CareplanSchedule, @@ -127,38 +127,7 @@ export class EnrollmentScheduleService { ErrorHandler.throwDbAccessError('DB Error: Unable to search enrollment schedule records!', error); } } - - update = async (id, updateModel) => { - try { - if (Object.keys(updateModel).length > 0) { - var res = await this.EnrollmentSchedule.update(updateModel, { - where : { - id : id - } - }); - if (res.length !== 1) { - throw new Error('Unable to update enrollment schedule!'); - } - } - return await this.getById(id); - } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to update enrollment schedule!', error); - } - } - - delete = async (id) => { - try { - var result = await this.EnrollmentSchedule.destroy({ - where : { - id : id - } - }); - return result === 1; - } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to delete enrollment schedule!', error); - } - } - + //#endregion //#region Privates @@ -193,9 +162,9 @@ export class EnrollmentScheduleService { //} search.include.push(includeEnrollmentAsEnrollment); const includeUserAsUser = { - model : this.User, + model : this.Participant, required : false, - as : 'User', + as : 'Participant', where : {} }; //if (filters.Xyz != undefined) { diff --git a/src/domain.types/enrollment/enrollment.schedule.domain.types.ts b/src/domain.types/enrollment/enrollment.schedule.domain.types.ts index 3fa25f4..505b28f 100644 --- a/src/domain.types/enrollment/enrollment.schedule.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.schedule.domain.types.ts @@ -8,7 +8,14 @@ import { } from "../miscellaneous/system.types"; export interface EnrollmentScheduleCreateModel { - AssetType ?: AssetType; + EnrollmentId : uuid; + ParticipantId : uuid; + CareplanScheduleId: uuid; + AssetId : number; + AssetType : AssetType; + CareplanId : number; + TimeSlot : TimeSlot; + ScheduledDate : Date; } export interface EnrollmentScheduleUpdateModel { @@ -18,7 +25,7 @@ export interface EnrollmentScheduleUpdateModel { export interface EnrollmentScheduleDto { id : uuid; EnrollmentId : uuid; - UserId : uuid; + ParticipantId : uuid; CareplanScheduleId: uuid; AssetId : number; AssetType : AssetType; From 0d6ec123f368246c17bdc3e2ebd4a9ddc225e58e Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Mon, 25 Jul 2022 12:27:24 +0530 Subject: [PATCH 013/169] Fixed login problem for seed user --- src/startup/seeder.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/startup/seeder.ts b/src/startup/seeder.ts index ca71d9e..e1ff746 100644 --- a/src/startup/seeder.ts +++ b/src/startup/seeder.ts @@ -101,7 +101,8 @@ export class Seeder { BirthDate : null, Prefix : "" }; - + + userDomainModel.Password = Helper.generateHashedPassword(u.Password); const user = await this._userService.create(userDomainModel); const userRole: UserRoleCreateModel = { UserId : user.id, From a1ffbb7c0b44ac2c06409902aa243e6b6f2474fb Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Wed, 27 Jul 2022 11:31:19 +0530 Subject: [PATCH 014/169] Fixed dataTypes of careplan tags --- src/api/careplan/careplan/careplan.controller.delegate.ts | 2 +- src/api/careplan/careplan/careplan.validator.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/api/careplan/careplan/careplan.controller.delegate.ts b/src/api/careplan/careplan/careplan.controller.delegate.ts index 1ac07d3..4557106 100644 --- a/src/api/careplan/careplan/careplan.controller.delegate.ts +++ b/src/api/careplan/careplan/careplan.controller.delegate.ts @@ -145,7 +145,7 @@ export class CareplanControllerDelegate { Description : requestBody.Description ? requestBody.Description : null, Version : requestBody.Version ? requestBody.Version : '1.0.0', OwnerUserId : requestBody.OwnerUserId ? requestBody.OwnerUserId : null, - Tags : requestBody.Tags ? requestBody.Tags : '[]' + Tags : requestBody.Tags ? requestBody.Tags.toString() : '[]' }; } diff --git a/src/api/careplan/careplan/careplan.validator.ts b/src/api/careplan/careplan/careplan.validator.ts index 5753778..bd73b5f 100644 --- a/src/api/careplan/careplan/careplan.validator.ts +++ b/src/api/careplan/careplan/careplan.validator.ts @@ -13,10 +13,10 @@ export class CareplanValidator { Name : joi.string().max(256).optional(), Description : joi.string().optional(), Version : joi.string().max(32).optional(), - OwnerUserId : joi.string().guid({ + OwnerUserId : joi.string() .guid({ version : ['uuidv4'] }).optional(), - Tags : joi.string().optional() + Tags : joi.array().items(joi.string()).optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -55,7 +55,7 @@ export class CareplanValidator { OwnerUserId : joi.string().guid({ version : ['uuidv4'] }).optional(), - Tags : joi.string().optional() + Tags : joi.array().items(joi.string()).optional() }); return await schema.validateAsync(requestBody); } catch (error) { From 6e304f2d93507fc9bbb768ad3b355f923d2d64f1 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Wed, 27 Jul 2022 11:34:19 +0530 Subject: [PATCH 015/169] Fixed user activity response pipeline --- ...r.activity.response.controller.delegate.ts | 34 +++++++++--- .../user.activity.response.routes.ts | 2 +- .../user.activity.response.validator.ts | 37 +++++++------ .../user.selected.action.plan.validator.ts | 52 +++++++++---------- .../user.selected.goal.validator.ts | 52 +++++++++---------- .../user.selected.priority.validator.ts | 38 +++++++------- .../user.activity.response.mapper.ts | 2 +- .../user.activity.response.model.ts | 8 +-- .../user.activity.response.service.ts | 17 +++--- .../user.activity.response.domain.types.ts | 17 ++++-- 10 files changed, 145 insertions(+), 114 deletions(-) diff --git a/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts b/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts index f92d2de..eb1bb75 100644 --- a/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts +++ b/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts @@ -22,6 +22,7 @@ import { UserActivityResponseSearchFilters, UserActivityResponseSearchResults } from '../../../domain.types/user.responses/user.activity.response.domain.types'; +import { EnrollmentScheduleService } from '../../../database/repository.services/enrollment/enrollment.schedule.service'; /////////////////////////////////////////////////////////////////////////////////////// @@ -31,15 +32,19 @@ export class UserActivityResponseControllerDelegate { _service: UserActivityResponseService = null; + _enrollmentScheduleService: EnrollmentScheduleService = null + constructor() { this._service = new UserActivityResponseService(); + this._enrollmentScheduleService = new EnrollmentScheduleService(); } //#endregion create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); - var createModel: UserActivityResponseCreateModel = this.getCreateModel(requestBody); + const enrollmentSchedule = await this._enrollmentScheduleService.getById(requestBody.EnrollmentScheduleId); + var createModel: UserActivityResponseCreateModel = this.getCreateModel(requestBody, enrollmentSchedule); const record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create user activity response!', 400); @@ -97,6 +102,10 @@ export class UserActivityResponseControllerDelegate { var filters = {}; + var participantId = query.participantId ? query.participantId : null; + if (participantId != null) { + filters['ParticipantId'] = participantId; + } var careplanId = query.careplanId ? query.careplanId : null; if (careplanId != null) { filters['CareplanId'] = careplanId; @@ -129,8 +138,8 @@ export class UserActivityResponseControllerDelegate { const updateModel: UserActivityResponseUpdateModel = {}; - if (Helper.hasProperty(requestBody, 'UserId')) { - updateModel.UserId = requestBody.UserId; + if (Helper.hasProperty(requestBody, 'ParticipantId')) { + updateModel.ParticipantId = requestBody.ParticipantId; } if (Helper.hasProperty(requestBody, 'EnrollmentScheduleId')) { updateModel.EnrollmentScheduleId = requestBody.EnrollmentScheduleId; @@ -138,15 +147,24 @@ export class UserActivityResponseControllerDelegate { if (Helper.hasProperty(requestBody, 'Response')) { updateModel.Response = requestBody.Response; } + if (Helper.hasProperty(requestBody, 'ProgressStatus')) { + updateModel.ProgressStatus = requestBody.ProgressStatus; + } return updateModel; } - getCreateModel = (requestBody): UserActivityResponseCreateModel => { + getCreateModel = (requestBody, enrollmentSchedule): UserActivityResponseCreateModel => { return { - UserId : requestBody.UserId ? requestBody.UserId : null, + ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, EnrollmentScheduleId : requestBody.EnrollmentScheduleId ? requestBody.EnrollmentScheduleId : null, - Response : requestBody.Response ? requestBody.Response : '{}' + CareplanScheduleId : enrollmentSchedule.CareplanScheduleId ? enrollmentSchedule.CareplanScheduleId : null, + CareplanId : enrollmentSchedule.CareplanId ? enrollmentSchedule.CareplanId : null , + AssetId : enrollmentSchedule.AssetId ? enrollmentSchedule.AssetId : null, + AssetType : enrollmentSchedule.AssetType ? enrollmentSchedule.AssetType : null, + Response : requestBody.Response ? requestBody.Response : '{}', + TimeResponded : new Date(), + ProgressStatus : requestBody.ProgressStatus ? requestBody.ProgressStatus : 'Completed' }; } @@ -156,7 +174,7 @@ export class UserActivityResponseControllerDelegate { } return { id : record.id, - UserId : record.UserId, + ParticipantId : record.ParticipantId, EnrollmentScheduleId : record.EnrollmentScheduleId, CareplanScheduleId : record.CareplanScheduleId, CareplanId : record.CareplanId, @@ -174,7 +192,7 @@ export class UserActivityResponseControllerDelegate { } return { id : record.id, - UserId : record.UserId, + ParticipantId : record.ParticipantId, EnrollmentScheduleId : record.EnrollmentScheduleId, CareplanScheduleId : record.CareplanScheduleId, CareplanId : record.CareplanId, diff --git a/src/api/user.responses/user.activity.response/user.activity.response.routes.ts b/src/api/user.responses/user.activity.response/user.activity.response.routes.ts index c9f21a8..c359000 100644 --- a/src/api/user.responses/user.activity.response/user.activity.response.routes.ts +++ b/src/api/user.responses/user.activity.response/user.activity.response.routes.ts @@ -20,5 +20,5 @@ export const register = (app: express.Application): void => { router.put('/:id', authenticator.authenticateUser, controller.update); router.delete('/:id', authenticator.authenticateUser, controller.delete); - app.use('/api/v1/user-activity-responses', router); + app.use('/api/v1/participant-activity-responses', router); }; diff --git a/src/api/user.responses/user.activity.response/user.activity.response.validator.ts b/src/api/user.responses/user.activity.response/user.activity.response.validator.ts index c1b8d54..76733f0 100644 --- a/src/api/user.responses/user.activity.response/user.activity.response.validator.ts +++ b/src/api/user.responses/user.activity.response/user.activity.response.validator.ts @@ -10,13 +10,14 @@ export class UserActivityResponseValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - UserId: joi.string().guid({ - version: ['uuidv4'] + ParticipantId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - EnrollmentScheduleId: joi.string().guid({ - version: ['uuidv4'] + EnrollmentScheduleId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - Response: joi.string().optional() + Response : joi.string().optional(), + ProgressStatus : joi.string().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -27,13 +28,14 @@ export class UserActivityResponseValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - UserId: joi.string().guid({ - version: ['uuidv4'] + ParticipantId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - EnrollmentScheduleId: joi.string().guid({ - version: ['uuidv4'] + EnrollmentScheduleId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - Response: joi.string().optional() + Response : joi.string().optional(), + ProgressStatus : joi.string().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -44,12 +46,13 @@ export class UserActivityResponseValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - careplanId: joi.number().integer().optional(), - assetId: joi.number().integer().optional(), - assetType: joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), - response: joi.string().optional(), - timeResponded: joi.date().iso().optional(), - progressStatus: joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() + participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), + careplanId : joi.number().integer().optional(), + assetId : joi.number().integer().optional(), + assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + response : joi.string().optional(), + timeResponded : joi.date().iso().optional(), + progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() }); return await schema.validateAsync(query); @@ -58,4 +61,4 @@ export class UserActivityResponseValidator { } } -} \ No newline at end of file +} diff --git a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts b/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts index e3a4d93..945583e 100644 --- a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts +++ b/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts @@ -10,15 +10,15 @@ export class UserSelectedActionPlanValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - Name: joi.string().max(256).optional(), - Description: joi.string().optional(), - UserId: joi.string().guid({ - version: ['uuidv4'] + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + UserId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - CareplanId: joi.number().integer().optional(), - AdditionalDetails: joi.string().optional(), - StartDate: joi.date().iso().optional(), - EndDate: joi.date().iso().optional() + CareplanId : joi.number().integer().optional(), + AdditionalDetails : joi.string().optional(), + StartDate : joi.date().iso().optional(), + EndDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -29,15 +29,15 @@ export class UserSelectedActionPlanValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - Name: joi.string().max(256).optional(), - Description: joi.string().optional(), - UserId: joi.string().guid({ - version: ['uuidv4'] + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + UserId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - CareplanId: joi.number().integer().optional(), - AdditionalDetails: joi.string().optional(), - StartDate: joi.date().iso().optional(), - EndDate: joi.date().iso().optional() + CareplanId : joi.number().integer().optional(), + AdditionalDetails : joi.string().optional(), + StartDate : joi.date().iso().optional(), + EndDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -48,15 +48,15 @@ export class UserSelectedActionPlanValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - name: joi.string().max(256).optional(), - description: joi.string().optional(), - careplanId: joi.number().integer().optional(), - assetId: joi.number().integer().optional(), - assetType: joi.string().max(128).optional(), - additionalDetails: joi.string().optional(), - startDate: joi.date().iso().optional(), - endDate: joi.date().iso().optional(), - progressStatus: joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() + name : joi.string().max(256).optional(), + description : joi.string().optional(), + careplanId : joi.number().integer().optional(), + assetId : joi.number().integer().optional(), + assetType : joi.string().max(128).optional(), + additionalDetails : joi.string().optional(), + startDate : joi.date().iso().optional(), + endDate : joi.date().iso().optional(), + progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() }); return await schema.validateAsync(query); @@ -65,4 +65,4 @@ export class UserSelectedActionPlanValidator { } } -} \ No newline at end of file +} diff --git a/src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts b/src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts index 0ddfdbc..f26b295 100644 --- a/src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts +++ b/src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts @@ -10,15 +10,15 @@ export class UserSelectedGoalValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - Name: joi.string().max(256).optional(), - Description: joi.string().optional(), - UserId: joi.string().guid({ - version: ['uuidv4'] + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + UserId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - CareplanId: joi.number().integer().optional(), - AdditionalDetails: joi.string().optional(), - StartDate: joi.date().iso().optional(), - EndDate: joi.date().iso().optional() + CareplanId : joi.number().integer().optional(), + AdditionalDetails : joi.string().optional(), + StartDate : joi.date().iso().optional(), + EndDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -29,15 +29,15 @@ export class UserSelectedGoalValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - Name: joi.string().max(256).optional(), - Description: joi.string().optional(), - UserId: joi.string().guid({ - version: ['uuidv4'] + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + UserId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - CareplanId: joi.number().integer().optional(), - AdditionalDetails: joi.string().optional(), - StartDate: joi.date().iso().optional(), - EndDate: joi.date().iso().optional() + CareplanId : joi.number().integer().optional(), + AdditionalDetails : joi.string().optional(), + StartDate : joi.date().iso().optional(), + EndDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -48,15 +48,15 @@ export class UserSelectedGoalValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - name: joi.string().max(256).optional(), - description: joi.string().optional(), - careplanId: joi.number().integer().optional(), - assetId: joi.number().integer().optional(), - assetType: joi.string().max(128).optional(), - additionalDetails: joi.string().optional(), - startDate: joi.date().iso().optional(), - endDate: joi.date().iso().optional(), - progressStatus: joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() + name : joi.string().max(256).optional(), + description : joi.string().optional(), + careplanId : joi.number().integer().optional(), + assetId : joi.number().integer().optional(), + assetType : joi.string().max(128).optional(), + additionalDetails : joi.string().optional(), + startDate : joi.date().iso().optional(), + endDate : joi.date().iso().optional(), + progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() }); return await schema.validateAsync(query); @@ -65,4 +65,4 @@ export class UserSelectedGoalValidator { } } -} \ No newline at end of file +} diff --git a/src/api/user.responses/user.selected.priority/user.selected.priority.validator.ts b/src/api/user.responses/user.selected.priority/user.selected.priority.validator.ts index 04de4ac..083f51b 100644 --- a/src/api/user.responses/user.selected.priority/user.selected.priority.validator.ts +++ b/src/api/user.responses/user.selected.priority/user.selected.priority.validator.ts @@ -10,13 +10,13 @@ export class UserSelectedPriorityValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - Name: joi.string().max(256).optional(), - Description: joi.string().optional(), - UserId: joi.string().guid({ - version: ['uuidv4'] + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + UserId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - CareplanId: joi.number().integer().optional(), - StartDate: joi.date().iso().optional() + CareplanId : joi.number().integer().optional(), + StartDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -27,13 +27,13 @@ export class UserSelectedPriorityValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - Name: joi.string().max(256).optional(), - Description: joi.string().optional(), - UserId: joi.string().guid({ - version: ['uuidv4'] + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + UserId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - CareplanId: joi.number().integer().optional(), - StartDate: joi.date().iso().optional() + CareplanId : joi.number().integer().optional(), + StartDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -44,12 +44,12 @@ export class UserSelectedPriorityValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - name: joi.string().max(256).optional(), - description: joi.string().optional(), - careplanId: joi.number().integer().optional(), - assetId: joi.number().integer().optional(), - assetType: joi.string().max(128).optional(), - startDate: joi.date().iso().optional() + name : joi.string().max(256).optional(), + description : joi.string().optional(), + careplanId : joi.number().integer().optional(), + assetId : joi.number().integer().optional(), + assetType : joi.string().max(128).optional(), + startDate : joi.date().iso().optional() }); return await schema.validateAsync(query); @@ -58,4 +58,4 @@ export class UserSelectedPriorityValidator { } } -} \ No newline at end of file +} diff --git a/src/database/mappers/user.responses/user.activity.response.mapper.ts b/src/database/mappers/user.responses/user.activity.response.mapper.ts index c73178b..a17a527 100644 --- a/src/database/mappers/user.responses/user.activity.response.mapper.ts +++ b/src/database/mappers/user.responses/user.activity.response.mapper.ts @@ -12,7 +12,7 @@ export class UserActivityResponseMapper { } const dto: UserActivityResponseDto = { id : userActivityResponse.id, - UserId : userActivityResponse.UserId, + ParticipantId : userActivityResponse.ParticipantId, EnrollmentScheduleId : userActivityResponse.EnrollmentScheduleId, CareplanScheduleId : userActivityResponse.CareplanScheduleId, CareplanId : userActivityResponse.CareplanId, diff --git a/src/database/models/user.responses/user.activity.response.model.ts b/src/database/models/user.responses/user.activity.response.model.ts index ab8c5a9..6be8e6d 100644 --- a/src/database/models/user.responses/user.activity.response.model.ts +++ b/src/database/models/user.responses/user.activity.response.model.ts @@ -19,7 +19,7 @@ export class UserActivityResponseModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, - UserId : { + ParticipantId : { type : DataTypes.UUID, allowNull : false, foreignKey : true, @@ -88,10 +88,10 @@ export class UserActivityResponseModel { //Add associations here... - models.UserActivityResponse.belongsTo(models.User, { - sourceKey : 'UserId', + models.UserActivityResponse.belongsTo(models.Participant, { + sourceKey : 'ParticipantId', targetKey : 'id', - as : 'User' + as : 'Participant' }); models.UserActivityResponse.belongsTo(models.EnrollmentSchedule, { diff --git a/src/database/repository.services/user.responses/user.activity.response.service.ts b/src/database/repository.services/user.responses/user.activity.response.service.ts index 4d121fe..6401519 100644 --- a/src/database/repository.services/user.responses/user.activity.response.service.ts +++ b/src/database/repository.services/user.responses/user.activity.response.service.ts @@ -2,8 +2,8 @@ import { UserActivityResponseModel } from '../../models/user.responses/user.activity.response.model'; import { - UserModel -} from '../../models/user/user.model'; + ParticipantModel +} from '../../models/enrollment/participant.model'; import { EnrollmentScheduleModel } from '../../models/enrollment/enrollment.schedule.model'; @@ -34,7 +34,7 @@ export class UserActivityResponseService { UserActivityResponse = UserActivityResponseModel.Model; - User = UserModel.Model; + Participant = ParticipantModel.Model; EnrollmentSchedule = EnrollmentScheduleModel.Model; @@ -62,9 +62,9 @@ export class UserActivityResponseService { id : id }, include : [{ - model : this.User, + model : this.Participant, required : false, - as : 'User', + as : 'Participant', //through: { attributes: [] } }, { model : this.EnrollmentSchedule, @@ -173,6 +173,9 @@ export class UserActivityResponseService { include : [] }; + if (filters.ParticipantId) { + search.where['ParticipantId'] = filters.ParticipantId; + } if (filters.CareplanId) { search.where['CareplanId'] = filters.CareplanId; } @@ -194,9 +197,9 @@ export class UserActivityResponseService { search.where['ProgressStatus'] = filters.ProgressStatus; } const includeUserAsUser = { - model : this.User, + model : this.Participant, required : false, - as : 'User', + as : 'Participant', where : {} }; //if (filters.Xyz != undefined) { diff --git a/src/domain.types/user.responses/user.activity.response.domain.types.ts b/src/domain.types/user.responses/user.activity.response.domain.types.ts index 88c6a3e..e052722 100644 --- a/src/domain.types/user.responses/user.activity.response.domain.types.ts +++ b/src/domain.types/user.responses/user.activity.response.domain.types.ts @@ -9,20 +9,27 @@ import { } from "../miscellaneous/system.types"; export interface UserActivityResponseCreateModel { - UserId ?: uuid; - EnrollmentScheduleId ?: uuid; - Response ?: string; + ParticipantId : uuid; + EnrollmentScheduleId: uuid; + CareplanScheduleId : uuid; + CareplanId : number; + AssetId : number; + AssetType : AssetType; + Response : string; + TimeResponded : Date; + ProgressStatus : ProgressStatus; } export interface UserActivityResponseUpdateModel { - UserId ?: uuid; + ParticipantId ?: uuid; EnrollmentScheduleId ?: uuid; Response ?: string; + ProgressStatus ?: ProgressStatus; } export interface UserActivityResponseDto { id : uuid; - UserId : uuid; + ParticipantId : uuid; EnrollmentScheduleId: uuid; CareplanScheduleId : uuid; CareplanId : number; From 95d08fcd466b5bbfa98012bf8e2cbeb34dddef19 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Wed, 27 Jul 2022 11:40:24 +0530 Subject: [PATCH 016/169] Updated postman collection --- ...n.service.workflow.postman_collection.json | 7197 ++++++++++------- 1 file changed, 4434 insertions(+), 2763 deletions(-) diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index 71f411f..1663922 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "b09ce4ff-a5d5-4b27-bf06-73e6968caff5", + "_postman_id": "872309a9-df94-4eb3-830c-edc2e170fe5f", "name": "careplan.service.workflow", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "15905052" @@ -15,6 +15,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "pm.test(\"Request is successfull\", function () {\r", " pm.response.to.have.status(200);\r", @@ -22,8 +23,7 @@ " pm.expect(jsonRes).to.have.property('message');\r", "});\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -53,15 +53,16 @@ "name": "Admin login", "item": [ { - "name": "Admin log-in", + "name": "Admin logs in", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"ADMIN_USER_JWT\", jsonRes.Data.AccessToken);\r", + " pm.environment.set(\"ADMIN_JWT\", jsonRes.Data.AccessToken);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -79,17 +80,16 @@ " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", "});\r", "" - ], - "type": "text/javascript" + ] } }, { "listen": "prerequest", "script": { + "type": "text/javascript", "exec": [ " //pm.environment.set(\"ADMIN_PASSWORD\", jsonRes.Data.Client.id);" - ], - "type": "text/javascript" + ] } } ], @@ -124,50 +124,22 @@ "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." }, "response": [] - } - ] - }, - { - "name": "Moderator login", - "item": [ + }, { - "name": "Moderator log-in", + "name": "Admin logs out", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"MODERATOR_JWT\", jsonRes.Data.AccessToken);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test(\"Request is successfull\", function () {\r", + "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", - "\r", - "pm.test(\"Admin login: Access token is returned\", function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", - " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", - "});\r", "" - ], - "type": "text/javascript" - } - }, - { - "listen": "prerequest", - "script": { - "exec": [ - " pm.environment.set(\"MODERATOR_PASSWORD\", \"123xyz@\");" - ], - "type": "text/javascript" + ] } } ], @@ -180,72 +152,67 @@ "type": "text" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", + "key": "Authorization", + "value": "Bearer {{ADMIN_JWT}}", "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"UserName\": \"moderator\",\r\n \"Password\": \"{{MODERATOR_PASSWORD}}\"\r\n}\r\n" + "raw": "{\r\n \"UserName\": \"admin\",\r\n \"Password\": \"{{ADMIN_PASSWORD}}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/users/login-password", + "raw": "{{BASE_URL}}/users/logout", "host": [ "{{BASE_URL}}" ], "path": [ "users", - "login-password" + "logout" ] }, - "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + "description": "Biocube admin logs in with username and password." }, "response": [] - } - ] - }, - { - "name": "User management", - "item": [ + }, { - "name": "create User", + "name": "Admin logs in again", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", + " pm.environment.set(\"ADMIN_JWT\", jsonRes.Data.AccessToken);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", "}\r", "\r", "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(201);\r", + " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"User is created\", function () {\r", + "pm.test(\"Admin login: Access token is returned\", function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Phone');\r", - " pm.expect(jsonRes.Data.Phone).to.not.be.null;\r", + " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", + " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", "});\r", "" - ], - "type": "text/javascript" + ] } }, { "listen": "prerequest", "script": { + "type": "text/javascript", "exec": [ - "" - ], - "type": "text/javascript" + " //pm.environment.set(\"ADMIN_PASSWORD\", jsonRes.Data.Client.id);" + ] } } ], @@ -258,38 +225,45 @@ "type": "text" }, { - "key": "Authorization", - "value": "Bearer {{USER_JWT}}", + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"RoleId\": \"3\",\r\n \"FirstName\": \"Cris\",\r\n \"LastName\": \"evans\",\r\n \"Gender\": \"Male\",\r\n \"BiocubeId\": \"he\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"bbcdef@xybz.com\",\r\n \"Phone\": \"7309963207\",\r\n \"UserName\": \"hecris\",\r\n \"Password\": \"Apple@1234\"\r\n}\r\n" + "raw": "{\r\n \"UserName\": \"admin\",\r\n \"Password\": \"{{ADMIN_PASSWORD}}\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/users", + "raw": "{{BASE_URL}}/users/login-password", "host": [ "{{BASE_URL}}" ], "path": [ - "users" + "users", + "login-password" ] }, "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." }, "response": [] - }, + } + ] + }, + { + "name": "Moderator login", + "item": [ { - "name": "User log-in", + "name": "Moderator logs in", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", + " pm.environment.set(\"MODERATOR_JWT\", jsonRes.Data.AccessToken);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -301,23 +275,22 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"User login: Access token is returned\", function () {\r", + "pm.test(\"Moderator login: Access token is returned\", function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", "});\r", "" - ], - "type": "text/javascript" + ] } }, { "listen": "prerequest", "script": { + "type": "text/javascript", "exec": [ - "" - ], - "type": "text/javascript" + " //pm.environment.set(\"ADMIN_PASSWORD\", jsonRes.Data.Client.id);" + ] } } ], @@ -337,7 +310,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"UserName\": \"moderator\",\r\n \"Password\": \"123xyz@\"\r\n}\r\n" + "raw": "{\r\n \"UserName\": \"moderator\",\r\n \"Password\": \"{{MODERATOR_PASSWORD}}\"\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/users/login-password", @@ -354,27 +327,20 @@ "response": [] }, { - "name": "Generate otp", + "name": "Moderator logs out", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "// pm.test(\"Request is successfull\", function () {\r", - "// pm.response.to.have.status(200);\r", - "// var jsonRes = pm.response.json();\r", - "// pm.expect(jsonRes.Status).to.eql('success');\r", - "// });\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -387,39 +353,40 @@ "type": "text" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "description": "API key for client app authentication", + "key": "Authorization", + "value": "Bearer {{MODERATOR_JWT}}", "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Phone\": \"7309963207\",\r\n \"CountryCode\": \"+91\"\r\n}" + "raw": "{\r\n \"UserName\": \"moderator\",\r\n \"Password\": \"{{MODERATOR_PASSWORD}}\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/users/generate-otp", + "raw": "{{BASE_URL}}/users/logout", "host": [ "{{BASE_URL}}" ], "path": [ "users", - "generate-otp" + "logout" ] - } + }, + "description": "Biocube admin logs in with username and password." }, "response": [] }, { - "name": "User log-in with otp", + "name": "Moderator logs in again", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", + " pm.environment.set(\"MODERATOR_JWT\", jsonRes.Data.AccessToken);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -431,14 +398,22 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"User login: Access token is returned\", function () {\r", + "pm.test(\"Moderator login: Access token is returned\", function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", "});\r", "" - ], - "type": "text/javascript" + ] + } + }, + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + " //pm.environment.set(\"ADMIN_PASSWORD\", jsonRes.Data.Client.id);" + ] } } ], @@ -453,70 +428,76 @@ { "key": "x-api-key", "value": "{{API_CLIENT_INTERNAL_KEY}}", - "description": "API key for client app authentication", "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Phone\": \"7309963207\",\r\n \"CountryCode\": \"+91\",\r\n \"Otp\": \"713139\"\r\n}\r\n" + "raw": "{\r\n \"UserName\": \"moderator\",\r\n \"Password\": \"{{MODERATOR_PASSWORD}}\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/users/login-otp", + "raw": "{{BASE_URL}}/users/login-password", "host": [ "{{BASE_URL}}" ], "path": [ "users", - "login-otp" + "login-password" ] - } + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." }, "response": [] } ] }, { - "name": "Participant management", + "name": "Api client", "item": [ { - "name": "create Participant", + "name": "Create", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", - " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"PARTICIPANT_USER_ID\", jsonRes.Data.id);\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"API_CLIENT_ID\", respData.Data.id);\r", + " pm.environment.set(\"API_CLIENT_CODE\", respData.Data.ClientCode);\r", + "\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", "}\r", "\r", - "pm.test(\"Request is successfull\", function () {\r", + "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(201);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"Participant is created\", function () {\r", + "pm.test('New api client record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data.Phone).to.not.be.null;\r", + " pm.expect(jsonRes.Data).to.have.property('ClientName');\r", + " pm.expect(jsonRes.Data).to.have.property('ClientCode');\r", + " pm.expect(jsonRes.Data).to.have.property('IsPrivileged');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " \r", + " pm.expect(jsonRes.Data.ClientName).equals('Rean Patient App');\r", + " pm.expect(jsonRes.Data.IsPrivileged).equals(false);\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Phone).equals('1234567890');\r", + " pm.expect(jsonRes.Data.Email).equals('johndoe@inflectionzone.com');\r", + "\r", "});\r", + "\r", "" - ], - "type": "text/javascript" - } - }, - { - "listen": "prerequest", - "script": { - "exec": [ - "" - ], - "type": "text/javascript" + ] } } ], @@ -525,180 +506,228 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"FirstName\": \"Robert\",\r\n \"LastName\": \"crook\",\r\n \"Gender\": \"Male\",\r\n \"SystemId\": \"66fce627-18fb\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"nbdcrf@abz.com\",\r\n \"Phone\": \"7329964202\",\r\n \"Country\": \"India\"\r\n}\r\n" + "raw": "{\r\n \"ClientName\": \"Rean Patient App\",\r\n \"ClientInterfaceType\": \"Web App\",\r\n \"ClientCode\": \"REANWORLD\",\r\n \"IsPrivileged\": false,\r\n \"CountryCode\": \"+91\",\r\n \"Phone\":\"1234567890\",\r\n \"Email\":\"johndoe@inflectionzone.com\",\r\n \"Password\": \"abc#123XYZ\",\r\n \"ApiKey\": \"004V41E-6JX4ZYM-MAKN1N6-DAY4V6A\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/participants", + "raw": "{{BASE_URL}}/api-clients", "host": [ "{{BASE_URL}}" ], "path": [ - "participants" + "api-clients" ] - }, - "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + } }, "response": [] }, { - "name": "Get participant by user id", + "name": "Get by id", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var jsonRes = pm.response.json();\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", - "pm.test(\"Request is successfull\", function () {\r", + "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"Patient is created\", function () {\r", + "pm.test('Api client record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data.id).to.not.be.empty;\r", - " pm.expect(jsonRes.Data.Phone).to.not.be.empty;\r", - " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", - " pm.expect(jsonRes.Data.Gender).to.not.be.empty;\r", + " pm.expect(jsonRes.Data).to.have.property('ClientName');\r", + " pm.expect(jsonRes.Data).to.have.property('ClientCode');\r", + " pm.expect(jsonRes.Data).to.have.property('IsPrivileged');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " \r", + " pm.expect(jsonRes.Data.ClientName).equals('Rean Patient App');\r", + " pm.expect(jsonRes.Data.IsPrivileged).equals(false);\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Phone).equals('1234567890');\r", + " pm.expect(jsonRes.Data.Email).equals('johndoe@inflectionzone.com');\r", + "\r", "});\r", "" - ], - "type": "text/javascript" - } - }, - { - "listen": "prerequest", - "script": { - "exec": [ - "var password = \"Client-Test@123\";\r", - "pm.environment.set(\"API_CLIENT_PASSWORD\", password);\r", - "" - ], - "type": "text/javascript" + ] } } ], - "protocolProfileBehavior": { - "disableBodyPruning": true - }, "request": { "method": "GET", "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "json" - } - } - }, "url": { - "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participants", - "{{PARTICIPANT_USER_ID}}" + "api-clients", + "{{API_CLIENT_ID}}" ] } }, "response": [] }, { - "name": "Update participant details", + "name": "Search with filters", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"PATIENT_FIRST_NAME\", jsonRes.Data.FirstName);\r", - " pm.environment.set(\"PATIENT_PHONE\", jsonRes.Data.Phone);\r", - " pm.environment.set(\"PATIENT_GENDER\", jsonRes.Data.Gender);\r", - " pm.environment.set(\"PATIENT_EMAIL\", jsonRes.Data.Email);\r", - "\r", - " var phone = jsonRes.Data.Patient.User.Person.Phone;\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", + "pm.test('Api client search results are returned', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "\r", + "});" + ] + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/api-clients/search?clientName=rean", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api-clients", + "search" + ], + "query": [ + { + "key": "clientName", + "value": "rean" + }, + { + "key": "clientCode", + "value": "xyz", + "disabled": true + }, + { + "key": "clientInterfaceType", + "value": "xyz", + "disabled": true + }, + { + "key": "isPrivileged", + "value": "xyz", + "disabled": true + }, + { + "key": "countryCode", + "value": "xyz", + "disabled": true + }, + { + "key": "phone", + "value": "xyz", + "disabled": true + }, + { + "key": "email", + "value": "xyz", + "disabled": true + }, + { + "key": "validFrom", + "value": "xyz", + "disabled": true + }, + { + "key": "validTill", + "value": "xyz", + "disabled": true + } + ] + } + }, + "response": [] + }, + { + "name": "Update", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ "\r", - "pm.test(\"Request is successfull\", function () {\r", + "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"Participant is updated\", function () {\r", + "pm.test('Api client record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data.id).to.not.be.empty;\r", - " pm.expect(jsonRes.Data.Phone).to.not.be.empty;\r", - " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", - " pm.expect(jsonRes.Data.Gender).to.not.be.empty;\r", + " pm.expect(jsonRes.Data).to.have.property('ClientName');\r", + " pm.expect(jsonRes.Data).to.have.property('IsPrivileged');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " // pm.expect(jsonRes.Data).to.have.property('ValidFrom');\r", + " // pm.expect(jsonRes.Data).to.have.property('ValidTo');\r", + " \r", + " pm.expect(jsonRes.Data.ClientName).equals('Rean Patient App');\r", + " pm.expect(jsonRes.Data.IsPrivileged).equals(false);\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Phone).equals('1234567890');\r", + " pm.expect(jsonRes.Data.Email).equals('johndoe@inflectionzone.com');\r", + " // pm.expect(jsonRes.Data.ValidFrom).equals(2022-01-01);\r", + " // pm.expect(jsonRes.Data.ValidTo).equals(2023-01-01);\r", "});\r", - "" - ], - "type": "text/javascript" - } - }, - { - "listen": "prerequest", - "script": { - "exec": [ - "//Randomly generated user details\r", - "\r", - "var first_names = ['Jerry', 'Tom', 'Garfield', 'Jerome', 'Hobbes', 'Calvin', 'Nate', 'Peanuts', 'John', 'Abigale', 'Erin'];\r", - "\r", - "var last_names = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall'];\r", - "\r", - "var first = first_names[Math.floor(Math.random() * first_names.length)];\r", - "var last = last_names[Math.floor(Math.random() * last_names.length)];\r", - "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", - "var random_postfix = (Math.floor(Math.random() * 90000) + 10000).toString();\r", - "var email = first + \".\" + random_postfix + \".\" + last + \"@gmail.com\";\r", - "var password = \"Test@123\";\r", "\r", - "pm.environment.set(\"FIRST_NAME\", first);\r", - "pm.environment.set(\"LAST_NAME\", last);\r", - "pm.environment.set(\"EMAIL\", email);\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -707,87 +736,68 @@ "header": [ { "key": "Content-Type", - "value": "application/json", "type": "text", - "description": "User login session token (JWT). Format : Bearer JWT_TOKEN" + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", + "key": "Authorization", "type": "text", - "description": "API key for client app authentication" + "value": "Bearer {{ADMIN_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"FirstName\": \"{{FIRST_NAME}}\",\r\n \"LastName\": \"{{LAST_NAME}}\",\r\n \"Gender\": \"Male\",\r\n \"SystemId\": \"66fce627-18fb\"\r\n}\r\n" + "raw": "{\r\n\"ClientName\": \"Rean Patient App\",\r\n\"ClientInterfaceType\": \"Mobile App\",\r\n\"IsPrivileged\": false,\r\n\"CountryCode\": \"+91\",\r\n\"Phone\": \"1234567890\",\r\n\"Email\": \"johndoe@inflectionzone.com\",\r\n\"ApiKey\": \"004V41E-6JX4ZYM-MAKN1N6-DAY4V6A\",\r\n\"ValidFrom\": \"2022-01-01\",\r\n\"ValidTill\": \"2023-01-01\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participants", - "{{PARTICIPANT_USER_ID}}" + "api-clients", + "{{API_CLIENT_ID}}" ] } }, "response": [] }, { - "name": "Search participant", + "name": "Delete", "event": [ - { - "listen": "prerequest", - "script": { - "exec": [ - "" - ], - "type": "text/javascript" - } - }, { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "pm.test(\"Request is successfull\", function () {\r", + "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"List of participants is returned\", function () {\r", - "\r", + "pm.test('Api client record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Items');\r", - " pm.expect(jsonRes.Data.Items.length).to.be.greaterThan(0);\r", - "\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true); \r", "});\r", - "\r", "" - ], - "type": "text/javascript" + ] } } ], - "protocolProfileBehavior": { - "disableBodyPruning": true - }, "request": { - "method": "GET", + "method": "DELETE", "header": [ { "key": "Content-Type", - "value": "application/json", "type": "text", - "description": "User login session token (JWT). Format : Bearer JWT_TOKEN" + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", + "key": "Authorization", "type": "text", - "description": "API key for client app authentication" + "value": "Bearer {{ADMIN_JWT}}" } ], "body": { @@ -795,149 +805,932 @@ "raw": "" }, "url": { - "raw": "{{BASE_URL}}/participants/search?firstName=Robert", + "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participants", - "search" - ], - "query": [ - { - "key": "phone", - "value": "{{PATIENT_PHONE_NUMBER}}", - "description": "Search by patient phone", - "disabled": true - }, - { - "key": "email", - "value": "{{PATIENT_EMAIL}}", - "description": "Search by patient email", - "disabled": true - }, - { - "key": "gender", - "value": "{{PATIENT_GENDER}}", - "description": "Search by patient gender", - "disabled": true - }, - { - "key": "systemId", - "value": "66fce627-18fb", - "disabled": true - }, - { - "key": "firstName", - "value": "Robert" - }, - { - "key": "lastName", - "value": "Rai", - "disabled": true - }, - { - "key": "country", - "value": "India", - "disabled": true - } + "api-clients", + "{{API_CLIENT_ID}}" ] - }, - "description": "Search addresses using query parameters." + } }, "response": [] }, { - "name": "Delete participant by id", + "name": "Get current API key", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "pm.test(\"Request is successfull\", function () {", - " pm.response.to.have.status(200);", - " var jsonRes = pm.response.json();", - " pm.expect(jsonRes.Status).to.eql('success');", - "});", - "", - "pm.test(\"Participant is deleted\", function () {", - "", - " var expectedValue = true;", - " ", - " var jsonRes = pm.response.json();", - " pm.expect(jsonRes.Data).to.have.property('Deleted');", - " pm.expect(jsonRes.Data.Deleted).equals(expectedValue);", - "", - "});", + "try {\r", + " var jsonRes = pm.response.json();\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"Api key is returned\", function () {\r", + "\r", + " var expectedClientCode = pm.environment.get(\"API_CLIENT_CODE\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('ApiKeyDetails');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.not.be.empty;\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('id');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('ClientCode');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails.ClientCode).equals(expectedClientCode);\r", + " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).to.not.be.empty;\r", + "});\r", "" + ] + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "{{API_CLIENT_CODE}}", + "type": "string" + }, + { + "key": "password", + "value": "{{API_CLIENT_PASSWORD}}", + "type": "string" + }, + { + "key": "showPassword", + "value": false, + "type": "boolean" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "url": { + "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_CODE}}/current-api-key", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api-clients", + "{{API_CLIENT_CODE}}", + "current-api-key" + ] + }, + "description": "Get the current valid API key for a given client. \n\nThis API uses basic authentication with Username and Password. As a username, one has to add 'Client code' generated during the registration." + }, + "response": [] + }, + { + "name": "Renew API key", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"New api key is returned\", function () {\r", + "\r", + " var currentApiKey = pm.environment.get(\"API_KEY\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('ApiKeyDetails');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.not.be.empty;\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('id');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('ClientCode');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).to.not.be.empty;\r", + " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).not.equals(currentApiKey);\r", + " \r", + " //set the new key to env\r", + " pm.environment.set(\"API_KEY\", jsonRes.Data.ApiKeyDetails.ApiKey);\r", + "});\r", + "" + ] + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "{{API_CLIENT_CODE}}", + "type": "string" + }, + { + "key": "password", + "value": "{{API_CLIENT_PASSWORD}}", + "type": "string" + }, + { + "key": "showPassword", + "value": false, + "type": "boolean" + } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ValidFrom\": \"2021-07-21\",\r\n \"ValidTill\": \"2024-07-20\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_CODE}}/renew-api-key", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api-clients", + "{{API_CLIENT_CODE}}", + "renew-api-key" + ] + }, + "description": "Renew API key with a given validity period. If not added, the key will be valid for 1 year.\n\nThis API uses basic authentication with Username and Password. As a username, one has to add 'Client code' generated during the registration." + }, + "response": [] + } + ] + }, + { + "name": "User management", + "item": [ + { + "name": "Register user", + "item": [ + { + "name": "create", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_ID\", jsonRes.Data.id);\r", + " pm.environment.set(\"USER_NAME\", jsonRes.Data.UserName); \r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"New user record is created\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data).to.have.property('UserName');\r", + "\r", + " pm.expect(jsonRes.Data.FirstName).equals('Cris');\r", + " pm.expect(jsonRes.Data.LastName).equals('evans');\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Phone).equals('7309963207');\r", + " pm.expect(jsonRes.Data.Email).equals('bbcdef@xybz.com');\r", + " pm.expect(jsonRes.Data.UserName).equals('hecris');\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{USER_JWT}}", + "type": "text", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"RoleId\": \"3\",\r\n \"FirstName\": \"Cris\",\r\n \"LastName\": \"evans\",\r\n \"Gender\": \"Male\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"bbodef@xybz.com\",\r\n \"BiocubeId\": \"he\",\r\n \"Phone\": \"7309963220\",\r\n \"UserName\": \"hecris2\",\r\n \"Password\": \"Apple@1234\",\r\n \"State\":\"Maharashtra\",\r\n \"Country\":\"India\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/users", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + }, + { + "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User record is retrived\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email')\r", + " pm.expect(jsonRes.Data).to.have.property('UserName')\r", + "\r", + " pm.expect(jsonRes.Data.FirstName).equals('Cris');\r", + " pm.expect(jsonRes.Data.LastName).equals('evans');\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Phone).equals('7309963207');\r", + " pm.expect(jsonRes.Data.Email).equals('bbcdef@xybz.com');\r", + " pm.expect(jsonRes.Data.UserName).equals('hecris');\r", + "});" + ] + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{ADMIN_JWT}}", + "type": "text" + } + ], + "url": { + "raw": "{{BASE_URL}}/users/{{USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "{{USER_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Api client search results are returned', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "\r", + "});" + ] + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/users/search?gender=Male", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "search" + ], + "query": [ + { + "key": "firstName", + "value": "", + "disabled": true + }, + { + "key": "lastName", + "value": "", + "disabled": true + }, + { + "key": "userName", + "value": "", + "disabled": true + }, + { + "key": "countryCode", + "value": "xyz", + "disabled": true + }, + { + "key": "phone", + "value": "xyz", + "disabled": true + }, + { + "key": "email", + "value": "xyz", + "disabled": true + }, + { + "key": "validFrom", + "value": "xyz", + "disabled": true + }, + { + "key": "validTill", + "value": "xyz", + "disabled": true + }, + { + "key": "gender", + "value": "Male" + } + ] + } + }, + "response": [] + }, + { + "name": "Update", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User record is updated\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data).to.have.property('UserName');\r", + " \r", + " pm.expect(jsonRes.Data.FirstName).equals('Cris');\r", + " pm.expect(jsonRes.Data.LastName).equals('evans');\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.Email).equals('bbcdef@xybz.com');\r", + " pm.expect(jsonRes.Data.UserName).equals('hecris');\r", + " \r", + "});\r", + "" + ] + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{ADMIN_JWT}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"RoleId\": \"2\",\r\n \"FirstName\": \"Cris\",\r\n \"LastName\": \"evans\",\r\n \"Gender\": \"Male\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"bbcdef@xybz.com\",\r\n \"BiocubeId\": \"he\"\r\n \r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/users/{{USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "{{USER_ID}}" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + }, + { + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User record is deleted \", function () {\r", + "\r", + " var expectedValue = true;\r", + " \r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(expectedValue);\r", + "\r", + "});" + ] + } + } + ], + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{BASE_URL}}/users/{{USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "{{USER_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "create User again", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_ID\", jsonRes.Data.id);\r", + " pm.environment.set(\"USER_NAME\", jsonRes.Data.UserName); \r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"New user record is created\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data).to.have.property('UserName');\r", + "\r", + " pm.expect(jsonRes.Data.FirstName).equals('Cris');\r", + " pm.expect(jsonRes.Data.LastName).equals('evans');\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Phone).equals('7309963207');\r", + " pm.expect(jsonRes.Data.Email).equals('bbcdef@xybz.com');\r", + " pm.expect(jsonRes.Data.UserName).equals('hecris');\r", + "});\r", + "" + ] + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{USER_JWT}}", + "type": "text", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"RoleId\": \"2\",\r\n \"FirstName\": \"Cris\",\r\n \"LastName\": \"evans\",\r\n \"Gender\": \"Male\",\r\n \"BiocubeId\": \"he\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"bbcdef@xybz.com\",\r\n \"Phone\": \"7309963207\",\r\n \"UserName\": \"hecris\",\r\n \"Password\": \"Apple@1234\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/users", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + } + ] + }, + { + "name": "User login", + "item": [ + { + "name": "User logs in", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User login: Access token is returned\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", + " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", + "});\r", + "" + ] + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text", + "disabled": true + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"UserName\": \"{{USER_NAME}}\",\r\n \"Password\": \"Apple@1234\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/users/login-password", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "login-password" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + }, + { + "name": "Generate otp", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "// pm.test(\"Request is successfull\", function () {\r", + "// pm.response.to.have.status(200);\r", + "// var jsonRes = pm.response.json();\r", + "// pm.expect(jsonRes.Status).to.eql('success');\r", + "// });\r", + "" + ] + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "description": "API key for client app authentication", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Phone\": \"7309963207\",\r\n \"CountryCode\": \"+91\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/users/generate-otp", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "generate-otp" + ] + } + }, + "response": [] + }, + { + "name": "User log-in with otp", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User login: Access token is returned\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", + " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", + "});\r", + "" + ] + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "description": "API key for client app authentication", + "type": "text" + } ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" + "body": { + "mode": "raw", + "raw": "{\r\n \"Phone\": \"7309963207\",\r\n \"CountryCode\": \"+91\",\r\n \"Otp\": \"713139\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/users/login-otp", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "login-otp" + ] + } }, - { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" - } - ], - "url": { - "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", - "host": [ - "{{BASE_URL}}" + "response": [] + }, + { + "name": "User logs out", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "" + ] + } + } ], - "path": [ - "participants", - "{{PARTICIPANT_USER_ID}}" - ] + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{USER_JWT}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"UserName\": \"{{USER_NAME}}\",\r\n \"Password\": \"Apple@1234\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/users/logout", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "logout" + ] + }, + "description": "Biocube admin logs in with username and password." + }, + "response": [] } - }, - "response": [] + ] } ] }, { - "name": "Api client", + "name": "Participant management", "item": [ { - "name": "Create", + "name": "create", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"API_CLIENT_ID\", respData.Data.id);\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"PARTICIPANT_USER_ID\", jsonRes.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r", + "pm.test(\"Request is successfull\", function () {\r", " pm.response.to.have.status(201);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New api client record is created', function () {\r", + "pm.test(\"New participant is created\", function () {\r", " var jsonRes = pm.response.json();\r", - " //pm.expect(jsonRes.Data).to.have.property('xyz');\r", - " //let expectedXyz = ;\r", - " //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('SystemId');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Country');\r", + " \r", + " pm.expect(jsonRes.Data.FirstName).equals('Robert');\r", + " pm.expect(jsonRes.Data.LastName).equals('crook');\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.SystemId).equals('66fce627-18fb');\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Email).equals('nbdcrf@abz.com');\r", + " pm.expect(jsonRes.Data.Phone).equals('7329964202');\r", + " pm.expect(jsonRes.Data.Country).equals('India');\r", "});\r", + " \r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -946,41 +1739,71 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"ClientName\": \"Rean Patient App\",\r\n \"ClientCode\": \"REANWORLD\",\r\n \"ClientInterfaceType\": \"Web App\",\r\n \"IsPrivileged\": true,\r\n \"Password\": \"abc#123XYZ\",\r\n \"ApiKey\": \"004V41E-6JX4ZYM-MAKN1N6-DAY4V6A\"\r\n}" + "raw": "{\r\n \"FirstName\": \"Robert\",\r\n \"LastName\": \"crook\",\r\n \"Gender\": \"Male\",\r\n \"SystemId\": \"66fce627-18fb\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"nbdcrf@abz.com\",\r\n \"Phone\": \"7329964202\",\r\n \"Country\": \"India\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/api-clients", + "raw": "{{BASE_URL}}/participants", "host": [ "{{BASE_URL}}" ], "path": [ - "api-clients" + "participants" ] - } + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." }, "response": [] }, { - "name": "Get by id", + "name": "Get by id", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"Participant record is retrived\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('SystemId');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Country');\r", + " \r", + " pm.expect(jsonRes.Data.FirstName).equals('Robert');\r", + " pm.expect(jsonRes.Data.LastName).equals('crook');\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.SystemId).equals('66fce627-18fb');\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Email).equals('nbdcrf@abz.com');\r", + " pm.expect(jsonRes.Data.Phone).equals('7329964202');\r", + " pm.expect(jsonRes.Data.Country).equals('India');\r", + "});\r", + " \r", "" - ], - "type": "text/javascript" + ] } } ], @@ -989,23 +1812,23 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_ID}}", + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "api-clients", - "{{API_CLIENT_ID}}" + "participants", + "{{PARTICIPANT_USER_ID}}" ] } }, @@ -1013,76 +1836,97 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"List of participants is returned\", function () {\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Items');\r", + " pm.expect(jsonRes.Data.Items.length).to.be.greaterThan(0);\r", + "\r", + "});\r", + "\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ { "key": "Content-Type", + "value": "application/json", "type": "text", - "value": "application/json" + "description": "User login session token (JWT). Format : Bearer JWT_TOKEN" }, { - "key": "Authorization", + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", "type": "text", - "value": "Bearer {{USER_JWT}}" + "description": "API key for client app authentication" } ], "url": { - "raw": "{{BASE_URL}}/api-clients/search?clientCode=MYCLIENT", + "raw": "{{BASE_URL}}/participants/search?firstName=Robert", "host": [ "{{BASE_URL}}" ], "path": [ - "api-clients", + "participants", "search" ], "query": [ { - "key": "clientName", - "value": "xyz", - "disabled": true - }, - { - "key": "clientCode", - "value": "MYCLIENT" - }, - { - "key": "clientInterfaceType", - "value": "xyz", + "key": "phone", + "value": "{{PATIENT_PHONE_NUMBER}}", + "description": "Search by patient phone", "disabled": true }, { - "key": "isPrivileged", - "value": "xyz", + "key": "email", + "value": "{{PATIENT_EMAIL}}", + "description": "Search by patient email", "disabled": true }, { - "key": "countryCode", - "value": "xyz", + "key": "gender", + "value": "{{PATIENT_GENDER}}", + "description": "Search by patient gender", "disabled": true }, { - "key": "phone", - "value": "xyz", + "key": "systemId", + "value": "66fce627-18fb", "disabled": true }, { - "key": "email", - "value": "xyz", - "disabled": true + "key": "firstName", + "value": "Robert" }, { - "key": "validFrom", - "value": "xyz", + "key": "lastName", + "value": "Rai", "disabled": true }, { - "key": "validTill", - "value": "xyz", + "key": "country", + "value": "India", "disabled": true } ] - } + }, + "description": "Search addresses using query parameters." }, "response": [] }, @@ -1090,23 +1934,66 @@ "name": "Update", "event": [ { - "listen": "test", + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"PATIENT_FIRST_NAME\", jsonRes.Data.FirstName);\r", + " pm.environment.set(\"PATIENT_PHONE\", jsonRes.Data.Phone);\r", + " pm.environment.set(\"PATIENT_GENDER\", jsonRes.Data.Gender);\r", + " pm.environment.set(\"PATIENT_EMAIL\", jsonRes.Data.Email);\r", + "\r", + " var phone = jsonRes.Data.Patient.User.Person.Phone;\r", + "\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"Participant is updated\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data.id).to.not.be.empty;\r", + " pm.expect(jsonRes.Data.Phone).to.not.be.empty;\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data.Gender).to.not.be.empty;\r", + "});\r", + "" + ] + } + }, + { + "listen": "prerequest", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"API_CLIENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", + "//Randomly generated user details\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "var first_names = ['Jerry', 'Tom', 'Garfield', 'Jerome', 'Hobbes', 'Calvin', 'Nate', 'Peanuts', 'John', 'Abigale', 'Erin'];\r", "\r", - "pm.test('New api client record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ], - "type": "text/javascript" + "var last_names = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall'];\r", + "\r", + "var first = first_names[Math.floor(Math.random() * first_names.length)];\r", + "var last = last_names[Math.floor(Math.random() * last_names.length)];\r", + "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "var random_postfix = (Math.floor(Math.random() * 90000) + 10000).toString();\r", + "var email = first + \".\" + random_postfix + \".\" + last + \"@gmail.com\";\r", + "var password = \"Test@123\";\r", + "\r", + "pm.environment.set(\"FIRST_NAME\", first);\r", + "pm.environment.set(\"LAST_NAME\", last);\r", + "pm.environment.set(\"EMAIL\", email);\r", + "" + ] } } ], @@ -1115,27 +2002,29 @@ "header": [ { "key": "Content-Type", + "value": "application/json", "type": "text", - "value": "application/json" + "description": "User login session token (JWT). Format : Bearer JWT_TOKEN" }, { - "key": "Authorization", + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", "type": "text", - "value": "Bearer {{USER_JWT}}" + "description": "API key for client app authentication" } ], "body": { "mode": "raw", - "raw": "{\r\n\"ClientName\": \"Rean Patient App\",\r\n\"ClientCode\": \"REANPAT\",\r\n\"ClientInterfaceType\": \"Mobile App\",\r\n\"IsPrivileged\": true,\r\n\"CountryCode\": \"+91\",\r\n\"Phone\": \"123456666\",\r\n\"Email\": \"abc@xyz.com\",\r\n\"Password\": \"abc#123XYZ\",\r\n\"ApiKey\": \"004V41E-6JX4ZYM-MAKN1N6-DAY4V6K\",\r\n\"ValidFrom\": \"2022-01-01\",\r\n\"ValidTill\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"FirstName\": \"{{FIRST_NAME}}\",\r\n \"LastName\": \"{{LAST_NAME}}\",\r\n \"Gender\": \"Male\",\r\n \"SystemId\": \"66fce627-18fb\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_ID}}", + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "api-clients", - "{{API_CLIENT_ID}}" + "participants", + "{{PARTICIPANT_USER_ID}}" ] } }, @@ -1147,24 +2036,25 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test(\"Api client deleted successfully!\", function () {\r", - "\r", - " var expectedValue = true;\r", - " \r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(expectedValue);\r", - "\r", - "});" - ], - "type": "text/javascript" + "pm.test(\"Request is successfull\", function () {", + " pm.response.to.have.status(200);", + " var jsonRes = pm.response.json();", + " pm.expect(jsonRes.Status).to.eql('success');", + "});", + "", + "pm.test(\"Participant is deleted\", function () {", + "", + " var expectedValue = true;", + " ", + " var jsonRes = pm.response.json();", + " pm.expect(jsonRes.Data).to.have.property('Deleted');", + " pm.expect(jsonRes.Data.Deleted).equals(expectedValue);", + "", + "});", + "" + ] } } ], @@ -1173,59 +2063,67 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_ID}}", + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "api-clients", - "{{API_CLIENT_ID}}" + "participants", + "{{PARTICIPANT_USER_ID}}" ] } }, "response": [] - }, + } + ] + }, + { + "name": "File resources", + "item": [ { - "name": "Get current API key", + "name": "Upload file resources", "event": [ { "listen": "test", "script": { "exec": [ "try {\r", - " var jsonRes = pm.response.json();\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"FILE_RESOURCE_ID\", respData.Data.id);\r", + " pm.environment.set(\"FILE_RESOURCE_URL\", respData.Data.Url);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", "}\r", "\r", - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"Api key is returned\", function () {\r", - "\r", - " var expectedClientCode = pm.environment.get(\"API_CLIENT_CODE\");\r", - "\r", + "pm.test('New file resource record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('ApiKeyDetails');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.not.be.empty;\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('id');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('ClientCode');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails.ClientCode).equals(expectedClientCode);\r", - " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).to.not.be.empty;\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('OriginalFilename');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('MimeType');\r", + " pm.expect(jsonRes.Data).to.have.property('Public');\r", + " pm.expect(jsonRes.Data).to.have.property('Size');\r", "});\r", "" ], @@ -1233,58 +2131,98 @@ } } ], - "protocolProfileBehavior": { - "disableBodyPruning": true - }, "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{API_CLIENT_PASSWORD}}", - "type": "string" - }, - { - "key": "username", - "value": "{{API_CLIENT_CODE}}", - "type": "string" - } - ] - }, - "method": "GET", + "method": "POST", "header": [ + { + "key": "Public", + "value": "true", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{MODERATOR_JWT}}", + "type": "text" + }, { "key": "Content-Type", - "value": "application/json", + "value": "application/octet-stream", "type": "text" + }, + { + "key": "Filename", + "value": "2.jpg", + "type": "text" + }, + { + "key": "Content-Length", + "value": "", + "type": "text", + "disabled": true } ], "body": { - "mode": "raw", - "raw": "" + "mode": "formdata", + "formdata": [ + { + "key": "", + "type": "file", + "src": "2.jpg" + } + ] }, "url": { - "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_CODE}}/current-api-key", + "raw": "{{BASE_URL}}/file-resources/upload", "host": [ "{{BASE_URL}}" ], "path": [ - "api-clients", - "{{API_CLIENT_CODE}}", - "current-api-key" + "file-resources", + "upload" ] - }, - "description": "Get the current valid API key for a given client. \n\nThis API uses basic authentication with Username and Password. As a username, one has to add 'Client code' generated during the registration." + } }, "response": [] }, { - "name": "Renew API key", + "name": "Download", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "{{BASE_URL}}/file-resources/download/{{FILE_RESOURCE_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "file-resources", + "download", + "{{FILE_RESOURCE_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Get file resource by id", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test(\"Request is successfull\", function () {\r", @@ -1293,67 +2231,44 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"New api key is returned\", function () {\r", - "\r", - " var currentApiKey = pm.environment.get(\"API_KEY\");\r", - "\r", + "pm.test(\"Get file resource metadata\", function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('ApiKeyDetails');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.not.be.empty;\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('id');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('ClientCode');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).to.not.be.empty;\r", - " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).not.equals(currentApiKey);\r", - " \r", - " //set the new key to env\r", - " pm.environment.set(\"API_KEY\", jsonRes.Data.ApiKeyDetails.ApiKey);\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('OriginalFilename');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('MimeType');\r", + " pm.expect(jsonRes.Data).to.have.property('Public');\r", + " pm.expect(jsonRes.Data).to.have.property('Size');\r", "});\r", "" - ], - "type": "text/javascript" + ] } } ], "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{API_CLIENT_PASSWORD}}", - "type": "string" - }, - { - "key": "username", - "value": "{{API_CLIENT_CODE}}", - "type": "string" - } - ] - }, - "method": "PUT", + "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json", "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{MODERATOR_JWT}}", + "type": "text" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"ValidFrom\": \"2021-07-21\",\r\n \"ValidTill\": \"2024-07-20\"\r\n}" - }, "url": { - "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_CODE}}/renew-api-key", + "raw": "{{BASE_URL}}/file-resources/{{FILE_RESOURCE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "api-clients", - "{{API_CLIENT_CODE}}", - "renew-api-key" + "file-resources", + "{{FILE_RESOURCE_ID}}" ] - }, - "description": "Renew API key with a given validity period. If not added, the key will be valid for 1 year.\n\nThis API uses basic authentication with Username and Password. As a username, one has to add 'Client code' generated during the registration." + } }, "response": [] } @@ -1371,6 +2286,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -1396,15 +2312,15 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", - "" - ], - "type": "text/javascript" + "" + ] } } ], @@ -1445,14 +2361,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -1470,6 +2380,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", @@ -1477,8 +2388,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -1516,14 +2426,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -1531,17 +2435,14 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Action plan record is retrived', function () {\r", + "pm.test('Action plan search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "\r", - " \r", - " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -1610,14 +2511,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -1625,7 +2520,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Action plan record is updated', function () {\r", + "pm.test('Action plan record is updated ', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -1638,13 +2533,13 @@ " \r", " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.Description).equals('Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -1686,14 +2581,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -1702,16 +2591,13 @@ "});\r", "\r", "pm.test('Action plan record is deleted', function () {\r", - " \r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - " \r", + " pm.expect(jsonRes.Data.Deleted).equals(true); \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -1729,6 +2615,10 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/assets/action-plans/{{ACTION_PLAN_ID}}", "host": [ @@ -1749,6 +2639,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -1766,23 +2657,11 @@ "\r", "pm.test('New action plan record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " CountryCode \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -1828,6 +2707,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -1854,13 +2734,13 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", " " - ], - "type": "text/javascript" + ] } } ], @@ -1901,14 +2781,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -1933,8 +2807,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -1972,14 +2845,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -1987,14 +2854,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Animation record is retrived', function () {\r", + "pm.test('Animation search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2068,14 +2934,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -2100,8 +2960,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2143,14 +3002,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -2165,8 +3018,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2184,6 +3036,10 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", "host": [ @@ -2204,6 +3060,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2235,8 +3092,7 @@ " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", " " - ], - "type": "text/javascript" + ] } } ], @@ -2282,6 +3138,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2317,8 +3174,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2359,14 +3215,9 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", + "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -2394,8 +3245,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2433,14 +3283,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -2448,15 +3292,14 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Appointment record is retrived', function () {\r", + "pm.test('Appointment search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2530,14 +3373,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -2556,17 +3393,18 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", + "\r", " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2608,6 +3446,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2631,8 +3470,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2650,6 +3488,10 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", "host": [ @@ -2670,6 +3512,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2696,17 +3539,15 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.Appointment.AssetCode).equals('APPOINTMENT-CC-2');\r", - " pm.expect(jsonRes.Data.Appointment.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.Appointment.AppointmentType).equals('Doctor');\r", - " pm.expect(jsonRes.Data.Appointment.AssetCategory).equals('Appointment');\r", - " pm.expect(jsonRes.Data.Appointment.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", " \r", "});\r", - "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2752,6 +3593,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2784,8 +3626,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2826,14 +3667,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -2858,8 +3693,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2897,14 +3731,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -2912,14 +3740,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Article record is retrived', function () {\r", + "pm.test('Article search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -2993,14 +3820,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -3025,8 +3846,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3068,14 +3888,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -3090,8 +3904,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3109,6 +3922,10 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/assets/articles/{{ARTICLE_ID}}", "host": [ @@ -3129,6 +3946,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3161,8 +3979,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3208,6 +4025,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3234,6 +4052,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", @@ -3241,8 +4060,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3283,14 +4101,8 @@ { "listen": "test", "script": { - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", + "type": "text/javascript", + "exec": [ "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -3316,8 +4128,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3355,14 +4166,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -3370,14 +4175,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Assessment record is retrived', function () {\r", + "pm.test('Assessment search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3451,14 +4255,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -3484,8 +4282,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3527,14 +4324,9 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", + "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -3549,8 +4341,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3568,6 +4359,10 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/assets/assessments/{{ASSESSMENT_ID}}", "host": [ @@ -3588,6 +4383,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3621,8 +4417,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3668,6 +4463,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3700,8 +4496,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3742,14 +4537,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -3774,8 +4563,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3813,14 +4601,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -3828,14 +4610,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Audio record is retrived', function () {\r", + "pm.test('Audio search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3909,6 +4690,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3941,8 +4723,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3984,6 +4765,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4006,8 +4788,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4025,6 +4806,10 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/assets/audio/{{AUDIO_ID}}", "host": [ @@ -4045,6 +4830,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4077,8 +4863,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4124,6 +4909,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4161,8 +4947,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4203,14 +4988,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -4240,8 +5019,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4279,14 +5057,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -4294,14 +5066,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Biometrics record is retrived', function () {\r", + "pm.test('Biometrics search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4380,14 +5151,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -4417,8 +5182,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4460,14 +5224,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -4483,8 +5241,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4502,6 +5259,10 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/assets/biometrics/{{BIOMETRICS_ID}}", "host": [ @@ -4522,6 +5283,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4559,8 +5321,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4598,7 +5359,7 @@ ] }, { - "name": "Nutrition", + "name": "Challenge", "item": [ { "name": "Create", @@ -4606,10 +5367,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", + " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -4621,9 +5383,9 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New nutrition record is created', function () {\r", + "pm.test('New challenge record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", @@ -4631,15 +5393,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4659,16 +5420,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/nutritions", + "raw": "{{BASE_URL}}/assets/challenges", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions" + "challenges" ] } }, @@ -4680,24 +5441,17 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Nutrition record is retrived', function () {\r", + "pm.test('Challenge record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", @@ -4705,15 +5459,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4732,14 +5485,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", + "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions", - "{{NUTRITION_ID}}" + "challenges", + "{{CHALLENGE_ID}}" ] } }, @@ -4751,29 +5504,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Nutrition record is retrived', function () {\r", + "pm.test('Challenge record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4792,13 +5537,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/nutritions/search?version=V1", + "raw": "{{BASE_URL}}/assets/challenges/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions", + "challenges", "search" ], "query": [ @@ -4842,24 +5587,17 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Nutrition record is updated', function () {\r", + "pm.test('Challenge record is updated', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", @@ -4867,15 +5605,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4895,17 +5632,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Nutrients\", \"Vitamins\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", + "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions", - "{{NUTRITION_ID}}" + "challenges", + "{{CHALLENGE_ID}}" ] } }, @@ -4917,30 +5654,22 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Nutrition record is deleted', function () {\r", + "pm.test('Challenge record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -4958,15 +5687,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", + "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions", - "{{NUTRITION_ID}}" + "challenges", + "{{CHALLENGE_ID}}" ] } }, @@ -4978,10 +5711,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", + " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -4993,9 +5727,9 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New nutrition record is created', function () {\r", + "pm.test('New challenge record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", @@ -5003,15 +5737,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5031,16 +5764,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/nutritions", + "raw": "{{BASE_URL}}/assets/challenges", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions" + "challenges" ] } }, @@ -5049,7 +5782,7 @@ ] }, { - "name": "Physiotherapy", + "name": "Checkup", "item": [ { "name": "Create", @@ -5057,10 +5790,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", + " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -5072,28 +5806,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New physiotherapy record is created', function () {\r", + "pm.test('New checkup record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", - " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5113,16 +5843,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy", + "raw": "{{BASE_URL}}/assets/checkups", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy" + "checkups" ] } }, @@ -5134,43 +5864,32 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Physiotherapy record is retrived', function () {\r", + "pm.test('Checkup record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", - " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5189,14 +5908,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", + "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy", - "{{PHYSIOTHERAPY_ID}}" + "checkups", + "{{CHECKUP_ID}}" ] } }, @@ -5208,30 +5927,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Physiotherapy record is retrived', function () {\r", + "pm.test('Checkup record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5250,13 +5960,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/search?version=V1", + "raw": "{{BASE_URL}}/assets/checkups/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy", + "checkups", "search" ], "query": [ @@ -5275,11 +5985,6 @@ "value": "xyz", "disabled": true }, - { - "key": "recommendedDurationMin", - "value": "20", - "disabled": true - }, { "key": "assetCategory", "value": "xyz", @@ -5305,43 +6010,32 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Physiotherapy record is updated', function () {\r", + "pm.test('Checkup record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", - " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5361,17 +6055,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Flexibility\", \"Muscle movement\", \"Post trauma recovery\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", + "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy", - "{{PHYSIOTHERAPY_ID}}" + "checkups", + "{{CHECKUP_ID}}" ] } }, @@ -5383,31 +6077,22 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Physiotherapy record is deleted', function () {\r", + "pm.test('Checkup record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5425,15 +6110,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", + "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy", - "{{PHYSIOTHERAPY_ID}}" + "checkups", + "{{CHECKUP_ID}}" ] } }, @@ -5445,10 +6134,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", + " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -5460,28 +6150,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New physiotherapy record is created', function () {\r", + "pm.test('New checkup record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", - " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5501,16 +6187,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy", + "raw": "{{BASE_URL}}/assets/checkups", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy" + "checkups" ] } }, @@ -5519,7 +6205,7 @@ ] }, { - "name": "Priority", + "name": "Consultation", "item": [ { "name": "Create", @@ -5527,10 +6213,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", + " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -5542,25 +6229,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New priority record is created', function () {\r", + "pm.test('New consultation record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5580,16 +6268,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/priorities", + "raw": "{{BASE_URL}}/assets/consultations", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities" + "consultations" ] } }, @@ -5601,40 +6289,34 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Priority record is retrived', function () {\r", + "pm.test('Consultation record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5653,14 +6335,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", + "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities", - "{{PRIORITY_ID}}" + "consultations", + "{{CONSULTATION_ID}}" ] } }, @@ -5672,29 +6354,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Priority record is retrived', function () {\r", + "pm.test('Consultation record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", - "" - ], - "type": "text/javascript" + "" + ] } } ], @@ -5713,13 +6387,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/priorities/search?version=V1", + "raw": "{{BASE_URL}}/assets/consultations/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities", + "consultations", "search" ], "query": [ @@ -5738,6 +6412,11 @@ "value": "xyz", "disabled": true }, + { + "key": "consultationType", + "value": "Other", + "disabled": true + }, { "key": "assetCategory", "value": "xyz", @@ -5763,40 +6442,34 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Priority record is updated', function () {\r", + "pm.test('Consultation record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5816,17 +6489,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", + "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities", - "{{PRIORITY_ID}}" + "consultations", + "{{CONSULTATION_ID}}" ] } }, @@ -5838,30 +6511,22 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Priority record is deleted', function () {\r", + "pm.test('Consultation record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5879,15 +6544,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", + "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities", - "{{PRIORITY_ID}}" + "consultations", + "{{CONSULTATION_ID}}" ] } }, @@ -5899,10 +6568,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", + " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -5914,25 +6584,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New priority record is created', function () {\r", + "pm.test('New consultation record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -5952,16 +6623,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/priorities", + "raw": "{{BASE_URL}}/assets/consultations", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities" + "consultations" ] } }, @@ -5970,7 +6641,7 @@ ] }, { - "name": "Reflection", + "name": "Exercise", "item": [ { "name": "Create", @@ -5978,10 +6649,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", + " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -5993,25 +6665,30 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New reflection record is created', function () {\r", + "pm.test('New exercise record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6031,16 +6708,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reflections", + "raw": "{{BASE_URL}}/assets/exercises", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections" + "exercises" ] } }, @@ -6052,40 +6729,38 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reflection record is retrived', function () {\r", + "pm.test('Exercise record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6104,14 +6779,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", + "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections", - "{{REFLECTION_ID}}" + "exercises", + "{{EXERCISE_ID}}" ] } }, @@ -6123,29 +6798,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reflection record is retrived', function () {\r", + "pm.test('Exercise record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6164,13 +6831,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reflections/search?version=V1", + "raw": "{{BASE_URL}}/assets/exercises/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections", + "exercises", "search" ], "query": [ @@ -6189,6 +6856,21 @@ "value": "xyz", "disabled": true }, + { + "key": "exerciseType", + "value": "Balance", + "disabled": true + }, + { + "key": "intensityLevel", + "value": "None", + "disabled": true + }, + { + "key": "recommendedDurationMin", + "value": "20", + "disabled": true + }, { "key": "assetCategory", "value": "xyz", @@ -6214,40 +6896,38 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reflection record is updated', function () {\r", + "pm.test('Exercise record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6267,17 +6947,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Reflection\", \"Retrospection\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", + "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections", - "{{REFLECTION_ID}}" + "exercises", + "{{EXERCISE_ID}}" ] } }, @@ -6289,30 +6969,22 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reflection record is deleted', function () {\r", + "pm.test('Exercise record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6330,15 +7002,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", + "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections", - "{{REFLECTION_ID}}" + "exercises", + "{{EXERCISE_ID}}" ] } }, @@ -6350,10 +7026,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", + " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -6365,25 +7042,30 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New reflection record is created', function () {\r", + "pm.test('New exercise record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6403,16 +7085,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reflections", + "raw": "{{BASE_URL}}/assets/exercises", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections" + "exercises" ] } }, @@ -6421,7 +7103,7 @@ ] }, { - "name": "Reminder", + "name": "Goal", "item": [ { "name": "Create", @@ -6429,10 +7111,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", + " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -6444,7 +7127,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New reminder record is created', function () {\r", + "pm.test('New goal record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -6454,15 +7137,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6482,16 +7164,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reminders", + "raw": "{{BASE_URL}}/assets/goals", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders" + "goals" ] } }, @@ -6503,22 +7185,15 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reminder record is retrived', function () {\r", + "pm.test('Goal record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -6528,15 +7203,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6555,14 +7229,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", + "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders", - "{{REMINDER_ID}}" + "goals", + "{{GOAL_ID}}" ] } }, @@ -6574,29 +7248,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reminder record is retrived', function () {\r", + "pm.test('Goal record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6615,13 +7281,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reminders/search?version=V1", + "raw": "{{BASE_URL}}/assets/goals/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders", + "goals", "search" ], "query": [ @@ -6665,22 +7331,15 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reminder record is updated', function () {\r", + "pm.test('Goal record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -6690,15 +7349,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6718,17 +7376,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Schedule\", \"Tasks\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", + "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders", - "{{REMINDER_ID}}" + "goals", + "{{GOAL_ID}}" ] } }, @@ -6740,30 +7398,22 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reminder record is deleted', function () {\r", + "pm.test('Goal record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6781,15 +7431,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", + "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders", - "{{REMINDER_ID}}" + "goals", + "{{GOAL_ID}}" ] } }, @@ -6801,10 +7455,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", + " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -6816,7 +7471,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New reminder record is created', function () {\r", + "pm.test('New goal record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -6826,15 +7481,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6854,16 +7508,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reminders", + "raw": "{{BASE_URL}}/assets/goals", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders" + "goals" ] } }, @@ -6872,7 +7526,7 @@ ] }, { - "name": "Video", + "name": "Infographics", "item": [ { "name": "Create", @@ -6880,10 +7534,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", + " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -6895,25 +7550,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New video record is created', function () {\r", + "pm.test('New infographics record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -6933,16 +7586,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/video", + "raw": "{{BASE_URL}}/assets/infographics", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video" + "infographics" ] } }, @@ -6954,40 +7607,31 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Video record is retrived', function () {\r", + "pm.test('Infographics record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7006,14 +7650,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", + "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video", - "{{VIDEO_ID}}" + "infographics", + "{{INFOGRAPHICS_ID}}" ] } }, @@ -7025,29 +7669,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Video record is retrived', function () {\r", + "pm.test('Infographics record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7066,13 +7702,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/video/search?version=V1", + "raw": "{{BASE_URL}}/assets/infographics/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video", + "infographics", "search" ], "query": [ @@ -7087,7 +7723,7 @@ "disabled": true }, { - "key": "transcript", + "key": "description", "value": "xyz", "disabled": true }, @@ -7121,40 +7757,31 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Video record is updated', function () {\r", + "pm.test('Infographics record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7174,53 +7801,44 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", + "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video", - "{{VIDEO_ID}}" + "infographics", + "{{INFOGRAPHICS_ID}}" ] } }, "response": [] }, { - "name": "Delete", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Video record is deleted', function () {\r", + "pm.test('Infographics record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7238,15 +7856,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", + "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video", - "{{VIDEO_ID}}" + "infographics", + "{{INFOGRAPHICS_ID}}" ] } }, @@ -7258,10 +7880,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", + " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -7273,25 +7896,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New video record is created', function () {\r", + "pm.test('New infographics record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7311,16 +7932,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/video", + "raw": "{{BASE_URL}}/assets/infographics", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video" + "infographics" ] } }, @@ -7329,7 +7950,7 @@ ] }, { - "name": "Web link", + "name": "Medication", "item": [ { "name": "Create", @@ -7337,10 +7958,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", + " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -7352,26 +7974,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New web link record is created', function () {\r", + "pm.test('New medication record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7391,16 +8011,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-links", + "raw": "{{BASE_URL}}/assets/medications", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links" + "medications" ] } }, @@ -7412,41 +8032,32 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web link record is retrived', function () {\r", + "pm.test('Medication record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7465,14 +8076,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", + "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links", - "{{WEB_LINK_ID}}" + "medications", + "{{MEDICATION_ID}}" ] } }, @@ -7484,29 +8095,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web link record is retrived', function () {\r", + "pm.test('Medication record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7525,13 +8128,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-links/search?version=V1", + "raw": "{{BASE_URL}}/assets/medications/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links", + "medications", "search" ], "query": [ @@ -7550,11 +8153,6 @@ "value": "xyz", "disabled": true }, - { - "key": "url", - "value": "xyz", - "disabled": true - }, { "key": "assetCategory", "value": "xyz", @@ -7580,41 +8178,32 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web link record is updated', function () {\r", + "pm.test('Medication record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7634,17 +8223,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Medication adherence\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", + "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links", - "{{WEB_LINK_ID}}" + "medications", + "{{MEDICATION_ID}}" ] } }, @@ -7656,30 +8245,22 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web link record is deleted', function () {\r", + "pm.test('Medication record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7697,15 +8278,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", + "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links", - "{{WEB_LINK_ID}}" + "medications", + "{{MEDICATION_ID}}" ] } }, @@ -7717,10 +8302,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", + " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -7732,26 +8318,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New web link record is created', function () {\r", + "pm.test('New medication record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7771,16 +8355,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-links", + "raw": "{{BASE_URL}}/assets/medications", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links" + "medications" ] } }, @@ -7789,7 +8373,7 @@ ] }, { - "name": "Web newsfeed", + "name": "Meditation", "item": [ { "name": "Create", @@ -7797,10 +8381,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", + " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -7812,26 +8397,28 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New web newsfeed record is created', function () {\r", + "pm.test('New meditation record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7851,16 +8438,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds", + "raw": "{{BASE_URL}}/assets/meditations", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds" + "meditations" ] } }, @@ -7872,41 +8459,36 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web newsfeed record is retrived', function () {\r", + "pm.test('Meditation record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7925,14 +8507,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", + "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds", - "{{WEB_NEWSFEED_ID}}" + "meditations", + "{{MEDITATION_ID}}" ] } }, @@ -7944,29 +8526,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web newsfeed record is retrived', function () {\r", + "pm.test('Meditation record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -7985,13 +8559,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds/search?version=V1", + "raw": "{{BASE_URL}}/assets/meditations/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds", + "meditations", "search" ], "query": [ @@ -8011,8 +8585,13 @@ "disabled": true }, { - "key": "url", - "value": "xyz", + "key": "meditationType", + "value": "Mantra", + "disabled": true + }, + { + "key": "recommendedDurationMin", + "value": "20", "disabled": true }, { @@ -8040,41 +8619,36 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web newsfeed record is updated', function () {\r", + "pm.test('Meditation record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8094,17 +8668,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Peaceful mind\", \"Bliss\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", + "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds", - "{{WEB_NEWSFEED_ID}}" + "meditations", + "{{MEDITATION_ID}}" ] } }, @@ -8116,30 +8690,22 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web newsfeed record is deleted', function () {\r", + "pm.test('Meditation record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8157,15 +8723,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", + "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds", - "{{WEB_NEWSFEED_ID}}" + "meditations", + "{{MEDITATION_ID}}" ] } }, @@ -8177,10 +8747,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", + " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8192,26 +8763,28 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New web newsfeed record is created', function () {\r", + "pm.test('New meditation record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8231,16 +8804,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds", + "raw": "{{BASE_URL}}/assets/meditations", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds" + "meditations" ] } }, @@ -8249,7 +8822,7 @@ ] }, { - "name": "Word power", + "name": "Message", "item": [ { "name": "Create", @@ -8257,10 +8830,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8272,26 +8846,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New word power record is created', function () {\r", + "pm.test('New message record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", - " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8311,16 +8885,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/word-power", + "raw": "{{BASE_URL}}/assets/messages", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "word-power" + "messages" ] } }, @@ -8332,10 +8906,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8347,26 +8922,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Word power record is retrived', function () {\r", + "pm.test('Message record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", - " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8385,14 +8960,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", + "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "word-power", - "{{WORD_POWER_ID}}" + "messages", + "{{MESSAGE_ID}}" ] } }, @@ -8404,10 +8979,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8419,14 +8995,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Word power record is retrived', function () {\r", + "pm.test('Message record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8445,13 +9020,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/word-power/search?version=V1", + "raw": "{{BASE_URL}}/assets/messages/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "word-power", + "messages", "search" ], "query": [ @@ -8461,7 +9036,7 @@ "disabled": true }, { - "key": "word", + "key": "name", "value": "xyz", "disabled": true }, @@ -8471,13 +9046,13 @@ "disabled": true }, { - "key": "additionalResources", + "key": "category", "value": "xyz", "disabled": true }, { - "key": "assetCategory", - "value": "xyz", + "key": "messageType", + "value": "Status", "disabled": true }, { @@ -8500,10 +9075,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8515,26 +9091,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Word power record is updated', function () {\r", + "pm.test('Message record is updated', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", - " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8554,17 +9130,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"AdditionalResources\": [\"https://en.wikipedia.org/wiki/Nutrition\", \"https://en.wikipedia.org/wiki/Micronutrient\"],\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Url\": \"https://www.appname.com/\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", + "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "word-power", - "{{WORD_POWER_ID}}" + "messages", + "{{MESSAGE_ID}}" ] } }, @@ -8576,10 +9152,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8591,15 +9168,14 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Word power record is deleted', function () {\r", + "pm.test('Message record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8617,15 +9193,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", + "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "word-power", - "{{WORD_POWER_ID}}" + "messages", + "{{MESSAGE_ID}}" ] } }, @@ -8637,10 +9217,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8652,26 +9233,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New word power record is created', function () {\r", + "pm.test('New message record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", - " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8691,16 +9272,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/word-power", + "raw": "{{BASE_URL}}/assets/messages", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "word-power" + "messages" ] } }, @@ -8709,7 +9290,7 @@ ] }, { - "name": "Challenge", + "name": "Nutrition", "item": [ { "name": "Create", @@ -8717,10 +9298,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", + " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8732,9 +9314,9 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New challenge record is created', function () {\r", + "pm.test('New nutrition record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", @@ -8742,15 +9324,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8770,16 +9351,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/challenges", + "raw": "{{BASE_URL}}/assets/nutritions", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges" + "nutritions" ] } }, @@ -8791,14 +9372,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -8806,9 +9381,9 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Challenge record is retrived', function () {\r", + "pm.test('Nutrition record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", @@ -8816,15 +9391,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8843,14 +9417,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", + "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges", - "{{CHALLENGE_ID}}" + "nutritions", + "{{NUTRITION_ID}}" ] } }, @@ -8862,14 +9436,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -8877,14 +9445,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Challenge record is retrived', function () {\r", + "pm.test('Nutrition search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -8903,13 +9470,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/challenges/search?version=V1", + "raw": "{{BASE_URL}}/assets/nutritions/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges", + "nutritions", "search" ], "query": [ @@ -8953,14 +9520,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -8968,9 +9529,9 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Challenge record is updated', function () {\r", + "pm.test('Nutrition record is updated', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", @@ -8978,15 +9539,16 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + "\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9006,17 +9568,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Nutrients\", \"Vitamins\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", + "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges", - "{{CHALLENGE_ID}}" + "nutritions", + "{{NUTRITION_ID}}" ] } }, @@ -9028,14 +9590,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9043,15 +9599,14 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Challenge record is deleted', function () {\r", + "pm.test('Nutrition record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9069,15 +9624,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", + "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges", - "{{CHALLENGE_ID}}" + "nutritions", + "{{NUTRITION_ID}}" ] } }, @@ -9089,10 +9648,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", + " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -9104,9 +9664,9 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New challenge record is created', function () {\r", + "pm.test('New nutrition record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", @@ -9114,15 +9674,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9142,16 +9701,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/challenges", + "raw": "{{BASE_URL}}/assets/nutritions", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges" + "nutritions" ] } }, @@ -9160,7 +9719,7 @@ ] }, { - "name": "Checkup", + "name": "Physiotherapy", "item": [ { "name": "Create", @@ -9168,10 +9727,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", + " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -9183,25 +9743,28 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New checkup record is created', function () {\r", + "pm.test('New physiotherapy record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9221,16 +9784,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/checkups", + "raw": "{{BASE_URL}}/assets/physiotherapy", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups" + "physiotherapy" ] } }, @@ -9242,14 +9805,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9257,25 +9814,27 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Checkup record is retrived', function () {\r", + "pm.test('Physiotherapy record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9294,14 +9853,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", + "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups", - "{{CHECKUP_ID}}" + "physiotherapy", + "{{PHYSIOTHERAPY_ID}}" ] } }, @@ -9313,14 +9872,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9328,14 +9881,14 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Checkup record is retrived', function () {\r", + "pm.test('Physiotherapy search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9354,13 +9907,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/checkups/search?version=V1", + "raw": "{{BASE_URL}}/assets/physiotherapy/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups", + "physiotherapy", "search" ], "query": [ @@ -9379,6 +9932,11 @@ "value": "xyz", "disabled": true }, + { + "key": "recommendedDurationMin", + "value": "20", + "disabled": true + }, { "key": "assetCategory", "value": "xyz", @@ -9404,14 +9962,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9419,25 +9971,28 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Checkup record is updated', function () {\r", + "pm.test('Physiotherapy record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9457,17 +10012,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Flexibility\", \"Muscle movement\", \"Post trauma recovery\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", + "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups", - "{{CHECKUP_ID}}" + "physiotherapy", + "{{PHYSIOTHERAPY_ID}}" ] } }, @@ -9479,14 +10034,8 @@ { "listen": "test", "script": { - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", + "type": "text/javascript", + "exec": [ "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9494,15 +10043,15 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Checkup record is deleted', function () {\r", + "pm.test('Physiotherapy record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9520,15 +10069,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", + "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups", - "{{CHECKUP_ID}}" + "physiotherapy", + "{{PHYSIOTHERAPY_ID}}" ] } }, @@ -9540,10 +10093,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", + " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -9555,25 +10109,27 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New checkup record is created', function () {\r", + "pm.test('New physiotherapy record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9593,16 +10149,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/checkups", + "raw": "{{BASE_URL}}/assets/physiotherapy", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups" + "physiotherapy" ] } }, @@ -9611,7 +10167,7 @@ ] }, { - "name": "Consultation", + "name": "Priority", "item": [ { "name": "Create", @@ -9619,10 +10175,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -9634,27 +10191,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New consultation record is created', function () {\r", + "pm.test('New priority record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9674,16 +10228,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/consultations", + "raw": "{{BASE_URL}}/assets/priorities", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations" + "priorities" ] } }, @@ -9695,14 +10249,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9710,27 +10258,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Consultation record is retrived', function () {\r", + "pm.test('Priority record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9749,14 +10294,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", + "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations", - "{{CONSULTATION_ID}}" + "priorities", + "{{PRIORITY_ID}}" ] } }, @@ -9768,14 +10313,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9783,14 +10322,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Consultation record is retrived', function () {\r", + "pm.test('Priority search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9809,13 +10347,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/consultations/search?version=V1", + "raw": "{{BASE_URL}}/assets/priorities/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations", + "priorities", "search" ], "query": [ @@ -9834,11 +10372,6 @@ "value": "xyz", "disabled": true }, - { - "key": "consultationType", - "value": "Other", - "disabled": true - }, { "key": "assetCategory", "value": "xyz", @@ -9864,14 +10397,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9879,27 +10406,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Consultation record is updated', function () {\r", + "pm.test('Priority record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + "\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9919,17 +10445,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", + "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations", - "{{CONSULTATION_ID}}" + "priorities", + "{{PRIORITY_ID}}" ] } }, @@ -9941,14 +10467,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9956,15 +10476,14 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Consultation record is deleted', function () {\r", + "pm.test('Priority record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -9982,15 +10501,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", + "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations", - "{{CONSULTATION_ID}}" + "priorities", + "{{PRIORITY_ID}}" ] } }, @@ -10002,10 +10525,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10017,27 +10541,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New consultation record is created', function () {\r", + "pm.test('New priority record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10057,16 +10578,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/consultations", + "raw": "{{BASE_URL}}/assets/priorities", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations" + "priorities" ] } }, @@ -10075,7 +10596,7 @@ ] }, { - "name": "Exercise", + "name": "Reflection", "item": [ { "name": "Create", @@ -10083,10 +10604,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", + " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10098,31 +10620,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New exercise record is created', function () {\r", + "pm.test('New reflection record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", - " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", - " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10142,16 +10658,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/exercises", + "raw": "{{BASE_URL}}/assets/reflections", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises" + "reflections" ] } }, @@ -10163,10 +10679,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", + " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10178,31 +10695,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Exercise record is retrived', function () {\r", + "pm.test('Reflection record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", - " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", - " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10221,14 +10731,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", + "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises", - "{{EXERCISE_ID}}" + "reflections", + "{{REFLECTION_ID}}" ] } }, @@ -10240,14 +10750,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -10255,14 +10759,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Exercise record is retrived', function () {\r", + "pm.test('Reflection record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10281,13 +10784,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/exercises/search?version=V1", + "raw": "{{BASE_URL}}/assets/reflections/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises", + "reflections", "search" ], "query": [ @@ -10306,21 +10809,6 @@ "value": "xyz", "disabled": true }, - { - "key": "exerciseType", - "value": "Balance", - "disabled": true - }, - { - "key": "intensityLevel", - "value": "None", - "disabled": true - }, - { - "key": "recommendedDurationMin", - "value": "20", - "disabled": true - }, { "key": "assetCategory", "value": "xyz", @@ -10346,14 +10834,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -10361,31 +10843,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Exercise record is updated', function () {\r", + "pm.test('Reflection record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", - " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", - " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + "\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10405,17 +10882,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Reflection\", \"Retrospection\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", + "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises", - "{{EXERCISE_ID}}" + "reflections", + "{{REFLECTION_ID}}" ] } }, @@ -10427,14 +10904,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -10442,15 +10913,14 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Exercise record is deleted', function () {\r", + "pm.test('Reflection record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10468,15 +10938,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", + "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises", - "{{EXERCISE_ID}}" + "reflections", + "{{REFLECTION_ID}}" ] } }, @@ -10488,10 +10962,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", + " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10503,31 +10978,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New exercise record is created', function () {\r", + "pm.test('New reflection record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", - " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", - " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10547,16 +11015,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/exercises", + "raw": "{{BASE_URL}}/assets/reflections", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises" + "reflections" ] } }, @@ -10565,7 +11033,7 @@ ] }, { - "name": "Goal", + "name": "Reminder", "item": [ { "name": "Create", @@ -10573,10 +11041,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", + " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10588,7 +11057,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New goal record is created', function () {\r", + "pm.test('New reminder record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -10598,15 +11067,15 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10626,16 +11095,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/goals", + "raw": "{{BASE_URL}}/assets/reminders", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals" + "reminders" ] } }, @@ -10647,14 +11116,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -10662,7 +11125,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Goal record is retrived', function () {\r", + "pm.test('Reminder record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -10672,15 +11135,15 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + "\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10699,14 +11162,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", + "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals", - "{{GOAL_ID}}" + "reminders", + "{{REMINDER_ID}}" ] } }, @@ -10718,14 +11181,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -10733,14 +11190,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Goal record is retrived', function () {\r", + "pm.test('Reminder record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10759,13 +11215,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/goals/search?version=V1", + "raw": "{{BASE_URL}}/assets/reminders/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals", + "reminders", "search" ], "query": [ @@ -10809,14 +11265,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -10824,7 +11274,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Goal record is updated', function () {\r", + "pm.test('Reminder record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -10834,15 +11284,16 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + "\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10862,17 +11313,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Schedule\", \"Tasks\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", + "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals", - "{{GOAL_ID}}" + "reminders", + "{{REMINDER_ID}}" ] } }, @@ -10884,14 +11335,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -10899,15 +11344,14 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Goal record is deleted', function () {\r", + "pm.test('Reminder record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10925,15 +11369,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", + "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals", - "{{GOAL_ID}}" + "reminders", + "{{REMINDER_ID}}" ] } }, @@ -10945,10 +11393,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", + " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10960,7 +11409,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New goal record is created', function () {\r", + "pm.test('New reminder record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -10970,15 +11419,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -10998,16 +11446,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/goals", + "raw": "{{BASE_URL}}/assets/reminders", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals" + "reminders" ] } }, @@ -11016,7 +11464,7 @@ ] }, { - "name": "Infographics", + "name": "Video", "item": [ { "name": "Create", @@ -11024,10 +11472,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", + " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -11039,24 +11488,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New infographics record is created', function () {\r", + "pm.test('New video record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11076,16 +11526,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/infographics", + "raw": "{{BASE_URL}}/assets/video", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics" + "video" ] } }, @@ -11097,14 +11547,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -11112,24 +11556,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Infographics record is retrived', function () {\r", + "pm.test('Video record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11148,14 +11593,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", + "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics", - "{{INFOGRAPHICS_ID}}" + "video", + "{{VIDEO_ID}}" ] } }, @@ -11167,14 +11612,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -11182,14 +11621,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Infographics record is retrived', function () {\r", + "pm.test('Video record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11208,13 +11646,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/infographics/search?version=V1", + "raw": "{{BASE_URL}}/assets/video/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics", + "video", "search" ], "query": [ @@ -11229,7 +11667,7 @@ "disabled": true }, { - "key": "description", + "key": "transcript", "value": "xyz", "disabled": true }, @@ -11263,14 +11701,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -11278,24 +11710,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Infographics record is updated', function () {\r", + "pm.test('Video record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", + "\r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11315,17 +11749,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", + "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics", - "{{INFOGRAPHICS_ID}}" + "video", + "{{VIDEO_ID}}" ] } }, @@ -11337,14 +11771,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -11352,15 +11780,15 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Infographics record is deleted', function () {\r", + "pm.test('Video record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + " \r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11378,15 +11806,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", + "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics", - "{{INFOGRAPHICS_ID}}" + "video", + "{{VIDEO_ID}}" ] } }, @@ -11398,10 +11830,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", + " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -11413,24 +11846,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New infographics record is created', function () {\r", + "pm.test('New video record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11450,16 +11883,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/infographics", + "raw": "{{BASE_URL}}/assets/video", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics" + "video" ] } }, @@ -11468,7 +11901,7 @@ ] }, { - "name": "Medication", + "name": "Web link", "item": [ { "name": "Create", @@ -11476,10 +11909,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -11491,25 +11925,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New medication record is created', function () {\r", + "pm.test('New web link record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11529,16 +11963,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/medications", + "raw": "{{BASE_URL}}/assets/web-links", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications" + "web-links" ] } }, @@ -11550,40 +11984,33 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Medication record is retrived', function () {\r", + "pm.test('Web link record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11602,14 +12029,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", + "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications", - "{{MEDICATION_ID}}" + "web-links", + "{{WEB_LINK_ID}}" ] } }, @@ -11621,29 +12048,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Medication record is retrived', function () {\r", + "pm.test('Web link record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11662,13 +12081,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/medications/search?version=V1", + "raw": "{{BASE_URL}}/assets/web-links/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications", + "web-links", "search" ], "query": [ @@ -11687,6 +12106,11 @@ "value": "xyz", "disabled": true }, + { + "key": "url", + "value": "xyz", + "disabled": true + }, { "key": "assetCategory", "value": "xyz", @@ -11712,40 +12136,33 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Medication record is updated', function () {\r", + "pm.test('Web link record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11765,17 +12182,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Medication adherence\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", + "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications", - "{{MEDICATION_ID}}" + "web-links", + "{{WEB_LINK_ID}}" ] } }, @@ -11787,30 +12204,22 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Medication record is deleted', function () {\r", + "pm.test('Web link record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11828,15 +12237,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", + "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications", - "{{MEDICATION_ID}}" + "web-links", + "{{WEB_LINK_ID}}" ] } }, @@ -11848,10 +12261,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -11863,25 +12277,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New medication record is created', function () {\r", + "pm.test('New web link record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11901,16 +12315,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/medications", + "raw": "{{BASE_URL}}/assets/web-links", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications" + "web-links" ] } }, @@ -11919,7 +12333,7 @@ ] }, { - "name": "Meditation", + "name": "Web newsfeed", "item": [ { "name": "Create", @@ -11927,10 +12341,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -11942,29 +12357,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New meditation record is created', function () {\r", + "pm.test('New web newsfeed record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", - " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -11984,16 +12395,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/meditations", + "raw": "{{BASE_URL}}/assets/web-newsfeeds", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations" + "web-newsfeeds" ] } }, @@ -12005,44 +12416,33 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Meditation record is retrived', function () {\r", + "pm.test('Web newsfeed record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", - " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12061,14 +12461,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", + "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations", - "{{MEDITATION_ID}}" + "web-newsfeeds", + "{{WEB_NEWSFEED_ID}}" ] } }, @@ -12080,29 +12480,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Meditation record is retrived', function () {\r", + "pm.test('Web newsfeed record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12121,13 +12513,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/meditations/search?version=V1", + "raw": "{{BASE_URL}}/assets/web-newsfeeds/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations", + "web-newsfeeds", "search" ], "query": [ @@ -12147,13 +12539,8 @@ "disabled": true }, { - "key": "meditationType", - "value": "Mantra", - "disabled": true - }, - { - "key": "recommendedDurationMin", - "value": "20", + "key": "url", + "value": "xyz", "disabled": true }, { @@ -12181,44 +12568,33 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Meditation record is updated', function () {\r", + "pm.test('Web newsfeed record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", - " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12238,17 +12614,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Peaceful mind\", \"Bliss\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", + "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations", - "{{MEDITATION_ID}}" + "web-newsfeeds", + "{{WEB_NEWSFEED_ID}}" ] } }, @@ -12260,30 +12636,22 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Meditation record is deleted', function () {\r", + "pm.test('Web newsfeed record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12301,15 +12669,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", + "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations", - "{{MEDITATION_ID}}" + "web-newsfeeds", + "{{WEB_NEWSFEED_ID}}" ] } }, @@ -12321,10 +12693,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -12336,29 +12709,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New meditation record is created', function () {\r", + "pm.test('New web newsfeed record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", - " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12378,16 +12747,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/meditations", + "raw": "{{BASE_URL}}/assets/web-newsfeeds", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations" + "web-newsfeeds" ] } }, @@ -12396,7 +12765,7 @@ ] }, { - "name": "Message", + "name": "Word power", "item": [ { "name": "Create", @@ -12404,10 +12773,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", + " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -12419,27 +12789,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New message record is created', function () {\r", + "pm.test('New word power record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Category');\r", - " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", - " pm.expect(jsonRes.Data.Category).equals('Educational');\r", - " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12459,16 +12827,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/messages", + "raw": "{{BASE_URL}}/assets/word-power", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages" + "word-power" ] } }, @@ -12480,42 +12848,33 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Message record is retrived', function () {\r", + "pm.test('Word power record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Category');\r", - " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", - " pm.expect(jsonRes.Data.Category).equals('Educational');\r", - " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12534,14 +12893,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", + "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages", - "{{MESSAGE_ID}}" + "word-power", + "{{WORD_POWER_ID}}" ] } }, @@ -12553,29 +12912,21 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Message record is retrived', function () {\r", + "pm.test('Word power record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12594,13 +12945,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/messages/search?version=V1", + "raw": "{{BASE_URL}}/assets/word-power/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages", + "word-power", "search" ], "query": [ @@ -12610,7 +12961,7 @@ "disabled": true }, { - "key": "name", + "key": "word", "value": "xyz", "disabled": true }, @@ -12620,13 +12971,13 @@ "disabled": true }, { - "key": "category", + "key": "additionalResources", "value": "xyz", "disabled": true }, { - "key": "messageType", - "value": "Status", + "key": "assetCategory", + "value": "xyz", "disabled": true }, { @@ -12649,42 +13000,33 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Message record is updated', function () {\r", + "pm.test('Word power record is updated', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Category');\r", - " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", - " pm.expect(jsonRes.Data.Category).equals('Educational');\r", - " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12704,17 +13046,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Url\": \"https://www.appname.com/\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"AdditionalResources\": [\"https://en.wikipedia.org/wiki/Nutrition\", \"https://en.wikipedia.org/wiki/Micronutrient\"],\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", + "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages", - "{{MESSAGE_ID}}" + "word-power", + "{{WORD_POWER_ID}}" ] } }, @@ -12726,30 +13068,22 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Message record is deleted', function () {\r", + "pm.test('Word power record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12767,15 +13101,19 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", + "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages", - "{{MESSAGE_ID}}" + "word-power", + "{{WORD_POWER_ID}}" ] } }, @@ -12787,10 +13125,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", + " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -12802,27 +13141,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New message record is created', function () {\r", + "pm.test('New word power record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Category');\r", - " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", - " pm.expect(jsonRes.Data.Category).equals('Educational');\r", - " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -12842,16 +13179,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/messages", + "raw": "{{BASE_URL}}/assets/word-power", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages" + "word-power" ] } }, @@ -12880,10 +13217,22 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan category record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " \r", + " pm.expect(jsonRes.Data.Type).equals('Upcoming class reminder');\r", + " \r", + "});\r", "\r", - "pm.test('New careplan category record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "" ] } } @@ -12899,7 +13248,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -12920,6 +13269,31 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan category record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " \r", + " pm.expect(jsonRes.Data.Type).equals('Upcoming class reminder');\r", + " \r", + "});" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -12931,7 +13305,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -12949,6 +13323,28 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan category search results are returned', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -12960,11 +13356,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/careplan-categories/search?type=xyz&description=xyz", + "raw": "{{BASE_URL}}/careplan-categories/search?type=Upcoming class reminder", "host": [ "{{BASE_URL}}" ], @@ -12975,11 +13371,12 @@ "query": [ { "key": "type", - "value": "xyz" + "value": "Upcoming class reminder" }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true } ] } @@ -12994,18 +13391,24 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CAREPLAN_CATEGORY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", "\r", - "pm.test('New careplan category record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan category record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " \r", + " pm.expect(jsonRes.Data.Type).equals('Upcoming class reminder');\r", + " pm.expect(jsonRes.Data.Description).equals('Notification type description');\r", + "});\r", + "" ] } } @@ -13021,7 +13424,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { @@ -13043,6 +13446,28 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan category record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "" + ] + } + } + ], "request": { "method": "DELETE", "header": [ @@ -13054,9 +13479,13 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", "host": [ @@ -13069,6 +13498,72 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_CATEGORY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan category record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " \r", + " pm.expect(jsonRes.Data.Type).equals('Upcoming class reminder');\r", + " \r", + "});\r", + "\r", + "" + ] + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Type\": \"Upcoming class reminder\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-categories", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-categories" + ] + } + }, + "response": [] } ] }, @@ -13081,6 +13576,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -13090,12 +13586,31 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New care plan record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ], - "type": "text/javascript" + "pm.test('New care plan record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Code');\r", + " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " \r", + " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", + " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ] } } ], @@ -13110,12 +13625,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Code\": \"REAN-Maternity-2\",\r\n \"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n \"Name\": \"Maternity Care Plan for Remote Population\",\r\n \"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n \"Version\": \"1.0.0\",\r\n \"OwnerUserId\": \"{{OWNER_USER_ID}}\",\r\n \"Tags\": \"Maternity, Child-Care, Malnutrition\"\r\n}" + "raw": "{\r\n\"Code\": \"REAN-Maternity-2\",\r\n\"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n\"Name\": \"Maternity Care Plan for Remote Population\",\r\n\"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n\"Tags\": [\"Maternity\",\"Child-Care\",\"Malnutrition\"],\r\n\"Version\": \"V1\"\r\n\r\n}" }, "url": { "raw": "{{BASE_URL}}/careplans", @@ -13131,6 +13646,39 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Care plan record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Code');\r", + " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " \r", + " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", + " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -13142,7 +13690,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -13160,6 +13708,28 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan search results are returned', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -13171,11 +13741,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/careplans/search?code=xyz&categoryId=xyz&name=xyz&version=xyz&ownerUserId=xyz&tags=xyz&isActive=xyz", + "raw": "{{BASE_URL}}/careplans/search?version=V1", "host": [ "{{BASE_URL}}" ], @@ -13186,31 +13756,37 @@ "query": [ { "key": "code", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "categoryId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "version", - "value": "xyz" + "value": "V1" }, { "key": "ownerUserId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "tags", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "isActive", - "value": "xyz" + "value": "xyz", + "disabled": true } ] } @@ -13225,18 +13801,31 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CARE_PLAN_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Care plan record is updated', function () {\r", + "var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Code');\r", + " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " \r", + " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", + " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", "\r", - "pm.test('New care plan record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "" ] } } @@ -13252,12 +13841,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Code\": \"REAN-Maternity-2\",\r\n\"CategoryId\": \"{{CATEGORY_ID}}\",\r\n\"Name\": \"Maternity Care Plan for Remote Population\",\r\n\"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n\"Version\": \"1.0.0\",\r\n\"OwnerUserId\": \"{{OWNER_USER_ID}}\",\r\n\"Tags\": [Maternity, Child-Care, Malnutrition]\r\n\r\n}\r\n" + "raw": "{\r\n\"Code\": \"REAN-Maternity-2\",\r\n\"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n\"Name\": \"Maternity Care Plan for Remote Population\",\r\n\"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n\"Version\": \"V1\",\r\n\"Tags\": [\"Maternity\", \"Child-Care\", \"Malnutrition\"]\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/careplans/{{CARE_PLAN_ID}}", @@ -13274,6 +13863,28 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "" + ] + } + } + ], "request": { "method": "DELETE", "header": [ @@ -13285,9 +13896,13 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/careplans/{{CARE_PLAN_ID}}", "host": [ @@ -13300,6 +13915,80 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CARE_PLAN_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New care plan record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Code');\r", + " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " \r", + " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", + " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "});\r", + "\r", + "" + ] + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\"Code\": \"REAN-Maternity-2\",\r\n\"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n\"Name\": \"Maternity Care Plan for Remote Population\",\r\n\"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n\"Tags\": [\"Maternity\",\"Child-Care\",\"Malnutrition\"],\r\n\"Version\": \"V1\"\r\n\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/careplans", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplans" + ] + } + }, + "response": [] } ] }, @@ -13322,10 +14011,27 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan schedule record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.Day).equals(15);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", + "});\r", "\r", - "pm.test('New careplan schedule record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "" ] } } @@ -13341,12 +14047,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetId\": \"{{ASSET_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"Day\": 15,\r\n\"TimeSlot\": \"Morning\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"Day\": 15,\r\n\"TimeSlot\": \"Morning\"\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/careplan-schedules", @@ -13362,6 +14068,36 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan schedule record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.Day).equals(15);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", + "});" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -13373,7 +14109,7 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { @@ -13391,6 +14127,26 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan schedule record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -13402,11 +14158,11 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/careplan-schedules/search?assetId=xyz&assetType=xyz&careplanId=xyz&day=xyz&timeSlot=xyz", + "raw": "{{BASE_URL}}/careplan-schedules/search?careplanId=2", "host": [ "{{BASE_URL}}" ], @@ -13417,23 +14173,27 @@ "query": [ { "key": "assetId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetType", - "value": "xyz" + "value": "Message", + "disabled": true }, { "key": "careplanId", - "value": "xyz" + "value": "2" }, { "key": "day", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "timeSlot", - "value": "xyz" + "value": "xyz", + "disabled": true } ] } @@ -13448,18 +14208,26 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CAREPLAN_SCHEDULE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New careplan schedule record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('Careplan schedule record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.Day).equals(15);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", + "});\r", + "" ] } } @@ -13475,12 +14243,12 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetId\": \"{{ASSET_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"Day\": 15,\r\n\"TimeSlot\": \"Morning\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"Day\": 15,\r\n\"TimeSlot\": \"Morning\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", @@ -13497,6 +14265,28 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan schedule record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "" + ] + } + } + ], "request": { "method": "DELETE", "header": [ @@ -13508,9 +14298,13 @@ { "key": "Authorization", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", "host": [ @@ -13535,6 +14329,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -13544,12 +14339,26 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New enrollment record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ], - "type": "text/javascript" + "pm.test('New enrollment record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + "});\r", + "\r", + "" + ] } } ], @@ -13562,14 +14371,14 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{OWNER_USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/enrollments", @@ -13585,6 +14394,36 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Enrollment record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + "\r", + "});\r", + "\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -13594,9 +14433,9 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "url": { @@ -13614,6 +14453,28 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Enrollment record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -13623,13 +14484,13 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "url": { - "raw": "{{BASE_URL}}/enrollments/search?careplanId=xyz&progressStatus=xyz", + "raw": "{{BASE_URL}}/enrollments/search?careplanId={{CARE_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], @@ -13640,11 +14501,17 @@ "query": [ { "key": "careplanId", - "value": "xyz" + "value": "{{CARE_PLAN_ID}}" }, { "key": "progressStatus", - "value": "xyz" + "value": "xyz", + "disabled": true + }, + { + "key": "startDate", + "value": "2022-06-29", + "disabled": true } ] } @@ -13659,18 +14526,25 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ENROLLMENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Enrollment record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + "});\r", "\r", - "pm.test('New enrollment record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "" ] } } @@ -13684,14 +14558,14 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"StartDate\": \"\",\r\n\"EndDate\": \"\",\r\n\"EnrollmentDate\": \"\"\r\n\r\n}\r\n" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/enrollments/{{ENROLLMENT_ID}}", @@ -13708,6 +14582,27 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Enrollment record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});" + ] + } + } + ], "request": { "method": "DELETE", "header": [ @@ -13717,11 +14612,15 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/enrollments/{{ENROLLMENT_ID}}", "host": [ @@ -13734,14 +14633,9 @@ } }, "response": [] - } - ] - }, - { - "name": "Enrollment schedule", - "item": [ + }, { - "name": "Create", + "name": "Create again", "event": [ { "listen": "test", @@ -13750,16 +14644,31 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"ENROLLMENT_SCHEDULE_ID\", respData.Data.id);\r", + " pm.environment.set(\"ENROLLMENT_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New enrollment record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + "});\r", "\r", - "pm.test('New enrollment schedule record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "" ] } } @@ -13773,58 +14682,61 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetType\": \"Message\"\r\n\r\n}\r\n" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/enrollment-schedules", + "raw": "{{BASE_URL}}/enrollments", "host": [ "{{BASE_URL}}" ], "path": [ - "enrollment-schedules" + "enrollments" ] } }, "response": [] - }, + } + ] + }, + { + "name": "Enrollment schedule", + "item": [ { - "name": "Get by id", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ENROLLMENT_SCHEDULE_ID\", respData.Data.Items[0].id);\r", + "}\r", + "pm.test('Request is successfull', function () {\r", + "pm.globals.get(\"variable_key\");\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Enrollment schedule record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } - ], - "url": { - "raw": "{{BASE_URL}}/enrollment-schedules/{{ENROLLMENT_SCHEDULE_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "enrollment-schedules", - "{{ENROLLMENT_SCHEDULE_ID}}" - ] } - }, - "response": [] - }, - { - "name": "Search with filters", + ], "request": { "method": "GET", "header": [ @@ -13834,13 +14746,13 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "url": { - "raw": "{{BASE_URL}}/enrollment-schedules/search?assetId=xyz&assetType=xyz&careplanId=xyz&timeSlot=xyz", + "raw": "{{BASE_URL}}/enrollment-schedules/search?assetType=Message", "host": [ "{{BASE_URL}}" ], @@ -13851,84 +14763,65 @@ "query": [ { "key": "assetId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetType", - "value": "xyz" + "value": "Message" }, { "key": "careplanId", - "value": "xyz" + "value": "xyz", + "disabled": true }, - { - "key": "timeSlot", - "value": "xyz" - } - ] - } - }, - "response": [] - }, - { - "name": "Update", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ENROLLMENT_SCHEDULE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", - "\r", - "pm.test('New enrollment schedule record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] - } - } - ], - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n\"AssetType\": \"Message\"\r\n\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/enrollment-schedules/{{ENROLLMENT_SCHEDULE_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "enrollment-schedules", - "{{ENROLLMENT_SCHEDULE_ID}}" + { + "key": "timeSlot", + "value": "xyz", + "disabled": true + } ] } }, "response": [] }, { - "name": "Delete", + "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Enrollment schedule record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " pm.expect(jsonRes.Data).to.have.property('ScheduledDate');\r", + " \r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + "\r", + "});\r", + "\r", + "" + ] + } + } + ], "request": { - "method": "DELETE", + "method": "GET", "header": [ { "key": "Content-Type", @@ -13936,9 +14829,9 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{USER_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "url": { @@ -13968,7 +14861,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -13978,11 +14870,24 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user activity response record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('Response');\r", + " \r", + "});\r", "\r", - "pm.test('New user activity response record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "" + ], + "type": "text/javascript" } } ], @@ -14002,15 +14907,15 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{Answer : 118 mg/dL}\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses", + "raw": "{{BASE_URL}}/participant-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses" + "participant-activity-responses" ] } }, @@ -14018,6 +14923,33 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(' User activity response is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('Response');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -14033,12 +14965,12 @@ } ], "url": { - "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", + "participant-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -14047,6 +14979,29 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(' User activity response is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "GET", "header": [ @@ -14062,38 +15017,48 @@ } ], "url": { - "raw": "{{BASE_URL}}/user-activity-responses/search?careplanId=xyz&assetId=xyz&assetType=xyz&response=xyz&timeResponded=xyz&progressStatus=xyz", + "raw": "{{BASE_URL}}/participant-activity-responses/search?participantId={{PARTICIPANT_USER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", + "participant-activity-responses", "search" ], "query": [ { "key": "careplanId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetType", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "response", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "timeResponded", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "progressStatus", - "value": "xyz" + "value": "xyz", + "disabled": true + }, + { + "key": "participantId", + "value": "{{PARTICIPANT_USER_ID}}" } ] } @@ -14106,21 +15071,26 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_ACTIVITY_RESPONSE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.test('New user activity response record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] + "pm.test(' User activity response is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('Response');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" } } ], @@ -14140,15 +15110,15 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{Answer: 99 F}\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", + "participant-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -14157,6 +15127,31 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User activity response is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "DELETE", "header": [ @@ -14171,18 +15166,88 @@ "value": "Bearer {{USER_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", + "participant-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"USER_ACTIVITY_RESPONSE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user activity response record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('Response');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"323e19fd-3858-484b-8b8a-08d9699c65b1\",\r\n\"Response\": \"{Answer : 120 mg/dL}\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/participant-activity-responses", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participant-activity-responses" + ] + } + }, + "response": [] } ] }, @@ -14205,10 +15270,32 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user selected action plan record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "});\r", "\r", - "pm.test('New user selected action plan record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "" ] } } @@ -14229,7 +15316,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/user-selected-action-plans", @@ -14245,6 +15332,44 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User selected action plan is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "});\r", + "\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -14274,6 +15399,28 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(' User selected action plans are retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -14347,18 +15494,33 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User selected action plan record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "});\r", "\r", - "pm.test('New user selected action plan record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "" ] } } @@ -14379,7 +15541,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", @@ -14396,6 +15558,31 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User selected action plan is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ] + } + } + ], "request": { "method": "DELETE", "header": [ @@ -14410,6 +15597,10 @@ "value": "Bearer {{USER_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ @@ -14422,6 +15613,85 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user selected action plan record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " \r", + " pm.expect(jsonRes.Data.UserId).equals('USER_ID');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.CareplanId).equals('CAREPLAN_ID');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "});\r", + "\r", + "" + ] + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/user-selected-action-plans", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "user-selected-action-plans" + ] + } + }, + "response": [] } ] }, @@ -14444,10 +15714,32 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user selected goal record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Blood Glucose');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "});\r", "\r", - "pm.test('New user selected goal record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "" ] } } @@ -14484,6 +15776,43 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User selected goal record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "});\r", + "\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -14513,6 +15842,29 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(' User selected goals are retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -14586,24 +15938,98 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_GOAL_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", "\r", - "pm.test('New user selected goal record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User selected goal record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "});\r", + "\r", + "" + ] + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "user-selected-goals", + "{{USER_SELECTED_GOAL_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User selected goal is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" ] } } ], "request": { - "method": "PUT", + "method": "DELETE", "header": [ { "key": "Content-Type", @@ -14618,7 +16044,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "" }, "url": { "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", @@ -14634,9 +16060,56 @@ "response": [] }, { - "name": "Delete", + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"USER_SELECTED_GOAL_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user selected goal record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " \r", + " pm.expect(jsonRes.Data.UserId).equals('USER_ID');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.CareplanId).equals('CAREPLAN_ID');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "});\r", + "\r", + "" + ] + } + } + ], "request": { - "method": "DELETE", + "method": "POST", "header": [ { "key": "Content-Type", @@ -14649,14 +16122,17 @@ "value": "Bearer {{USER_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "raw": "{{BASE_URL}}/user-selected-goals", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals", - "{{USER_SELECTED_GOAL_ID}}" + "user-selected-goals" ] } }, @@ -14665,7 +16141,7 @@ ] }, { - "name": "User selected priorityl", + "name": "User selected priority", "item": [ { "name": "Create", @@ -14683,10 +16159,29 @@ " console.log(error.message);\r", "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user selected priority record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + "\r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", "\r", - "pm.test('New user selected priorityl record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "});\r", + "\r", + "" ] } } @@ -14723,6 +16218,40 @@ }, { "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User selected priority record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + "\r", + "});\r", + "\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -14752,6 +16281,29 @@ }, { "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(' User selected priority! is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "" + ] + } + } + ], "request": { "method": "GET", "header": [ @@ -14767,7 +16319,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/user-selected-priorities/search?name=xyz&description=xyz&careplanId=xyz&assetId=xyz&assetType=xyz&startDate=xyz", + "raw": "{{BASE_URL}}/user-selected-priorities/search?name=Stress management", "host": [ "{{BASE_URL}}" ], @@ -14778,27 +16330,32 @@ "query": [ { "key": "name", - "value": "xyz" + "value": "Stress management" }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "careplanId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetType", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "startDate", - "value": "xyz" + "value": "xyz", + "disabled": true } ] } @@ -14813,18 +16370,29 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User selected priority record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + "});\r", "\r", - "pm.test('New user selected priorityl record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" + "" ] } } @@ -14862,6 +16430,31 @@ }, { "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User selected priority is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ] + } + } + ], "request": { "method": "DELETE", "header": [ @@ -14876,6 +16469,10 @@ "value": "Bearer {{USER_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ @@ -14888,6 +16485,80 @@ } }, "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user selected priority record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data.CareplanId).equals('CAREPLAN_ID');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + "\r", + "});\r", + "\r", + "" + ] + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/user-selected-priorities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "user-selected-priorities" + ] + } + }, + "response": [] } ] } From 8858a5653806b2a627b84a5dffbc0c27f0dc12d3 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Thu, 28 Jul 2022 13:47:10 +0530 Subject: [PATCH 017/169] Fixed issues with the upload/download pipeline --- docs/ServiceUserModel.png | Bin 0 -> 19974 bytes package-lock.json | 440 ++---------------- postman/test.data/documents/drug_order_x.pdf | Bin 0 -> 21591 bytes postman/test.data/documents/lab_order_x.pdf | Bin 0 -> 21556 bytes postman/test.data/images/2.jpg | Bin 0 -> 27653 bytes postman/test.data/images/23.jpg | Bin 0 -> 27173 bytes postman/test.data/images/6.jpg | Bin 0 -> 26990 bytes seed.data/default.users.seed.sample.json | 2 +- seed.data/role.privileges.json | 2 +- .../careplan/careplan/careplan.validator.ts | 2 +- .../file.resource.controller.delegate.ts | 29 +- .../file.resource/file.resource.controller.ts | 5 +- src/api/types/types.controller.delegate.ts | 19 + src/api/types/types.controller.ts | 174 +++---- src/api/types/types.routes.ts | 12 +- src/api/user/user.controller.delegate.ts | 1 + src/api/user/user.validator.ts | 1 - src/common/error.handler.ts | 2 +- src/common/helper.ts | 4 + src/common/response.handler.ts | 4 +- src/domain.types/miscellaneous/role.types.ts | 8 +- .../file.storage.service.interface.ts | 8 +- .../providers/aws.s3.file.storage.service.ts | 36 +- .../providers/custom.file.storage.service.ts | 43 +- 24 files changed, 252 insertions(+), 540 deletions(-) create mode 100644 docs/ServiceUserModel.png create mode 100644 postman/test.data/documents/drug_order_x.pdf create mode 100644 postman/test.data/documents/lab_order_x.pdf create mode 100644 postman/test.data/images/2.jpg create mode 100644 postman/test.data/images/23.jpg create mode 100644 postman/test.data/images/6.jpg create mode 100644 src/api/types/types.controller.delegate.ts diff --git a/docs/ServiceUserModel.png b/docs/ServiceUserModel.png new file mode 100644 index 0000000000000000000000000000000000000000..054e5fdf0affce158cc364d4aeb6333e085d2f4c GIT binary patch literal 19974 zcmeHvXIPV2v~HA96ctnuP$>#3q7*?SNC_6IGyxHiCcRgwfdm{y1f)rqrc?##CA5Hs z-X%y4#fX&9NuiV64`)QiVa|{9oO|y%_s$QV?+MAb%i3$N^{#iVz5VYh%O0UQMFRqX zj>yYNsewRLy&%w@p#yt?|HK?)6#yQ49;wOR0_C)`;D8Umncq~p2?FJZ9NIA42Yf#0 zAgBEZ1fs3k`rFfB|JDQqQi_w8x_QrCe|AX8?wd@>(xQGNtMJ0yO@+xYthB`*Hs-`3 zUJIiSH$15mt&RG8z*zrJv-_Cc9=dKt4L0zEr?RgbWQe@URPFpamX-r?^>wN9i>+5#Zrq zo$3HQzV!T`eKC{*CoNOfld35rnv%F{Aka`KYR}+@Y6>Cb{1-hi@kJ8XHLvK-=V_Qo|D72QT_ zort2WcSlv%l#qwcAbYBH(ihmP_4$Y-Z_+8yLMI>{XGDF!WR*_g3KL~DdMe9lX%iUB z>L`5PT>VsV0jWCuGFxr4@f*A zJLGZnm-SvZg-ONR3$tqOqWEEHnvuj5*|;Mos#X$hTFR)oy*69qi&!^?fK`eHmS^q3 z)wk$OCkK35gwTxLh+LgnNA(V|LfD*7DD0|ME+NJ<|8EF-{V6zr1*jSAB&snlLNs>-SrdO(eJ1p+!Q8i6iS#dta_G zkdLP{O)jB^vQDgCTpG(@hxg>%?@`dD)$w4y;!^{%-Qx@+dSVzL+DV4|HSHJ@<;mun zlORPu0_}f-+iN}Hl7b`rw<^Wkk=2yNkm3WNm5Xv%7d%6i%?LafnM;}mw;ULm9GgLu zyX$%MnO|-_3T&*lP}KCf{@&z;qRny!ed~=E3cy};Uc?g@5dEWtG=UQhX)6oF3Q zpsfO~Pu1SJ4CEGjLW@B)g*Y3X+3F|V(b!Axy*b;3aNUUdQVd(gEl)PCoLy${?JfKY zb?OtH5kd*QS2|O*hOJdr5r2i9m-Oqb+LVz7f%G3U&>rBfRAvkdXCN1nS?skff~RFq zf-7qIRiXL_QkkbyjPJTl*KoLhLZVh8)~*QbeU=)u;0UPwS>N8Kf?TJmQ!3u;#Fk~k z?XhltoZIyhsr4+@E8OrA&a$V{!wz-)D(a^$IJ~d&vYLAWuVO=7@&aBXXx5W;0L@Uv zT2`)z4X9j-5sx}-VF=wcYBlkctCm@+@t;+0O?Qq#Wu%hFG7Qj|J)qb3m1ugi9x6;! zNQBoU5Y7kt?HxW1%r^>^aqd*2ZFJSjVk~#1`-iC$+#4oFxhh!t6SkQ4eZYItG`(j< zzmBcqZg%#&YK11UKa!QT^Iu==f4PLc`(d5ax0m}FF0$aA1fm^3jZt$CH^-XOdjfjv zJ29Px+XHe)hxn@Sv$G|Y++gi~bf@RkIkr`ciw{Am3!=TizD+ob0T)`UxxX?B=X4u6 zL>W^!KW;?Rdl%Q;ap8U}D&?edqMN-t3|Bya zV2on)Z9|g6XN7#ZMo#3X#<7-BSh>x)#fN&3=JXYJuWpvib$M)f=-ujgZx6ZnyCKSlGy3?4huPnaSP9y8QVih& zzLevems{PR*7)nCFKiz64jiwUKLo6u>dMRKFzIudJie>ZuWSt1{Zop`;>f%+$fwpV z-M$QP5rze_95!bbB?JPch^?44ErkxCT&0@Iyv8kQ4DJZr5|Oz{uly^MaJIusA_}vrvC~P~T57Z=Y3c*ddL~Qu;B3eq&Dp4@Pkte|;B% zUNn>uN<;m)(`mNt;lu}JcLOKu<0bX>9`UZ`;@pR#l4r!A;Q)L#GX&}(NEb!xDHIXYk_Q)xY0uV{Js7MXuvz*c` z0#XzC^c6Twc8~SnPW~0w|Bu?0yAi7V#k+cgSkp1k-2;82`~;zPRh|iqej-|1f-T!+ z&n;Z`pfM=1ukIZ-gP-QBB(JqO6#@Xn2Hf<@7!tgi{rsO^lTR;te%-d3&sXfeT%Xvr z1}_$CW1AfY<4We2V;=Pj+#BYb*N2_I*+uUqs!AX~y(+7@YSuCqK%Sss0U`BXFREL0qA50juhr2evUGFREtFTis17a&3bkLl z2z})EP2-jQOH{{%1K!S^Va~4q*~AZ9ywi*t#G*1PMI^85M^=Ts%+SK%^D45;_khW2 z&E?h-_(ZjpZ-6u}R)txfPW-#EUBIfZr17}bN1Q3V5i5gU$P-s;T8Fxx9qZ*L=4y}7 zVx|@?q?u%g1$_rznYqf7g?$FI1>a#L$7Ai`Y^!9 zM16Cs`;FI|SB}eP=#9YbAEVh~DNx;{Z%hRdm1LT*1z$_C%Mg6DY2V;#SR}W2P~8{< z{D%a4R_!qh_0M_uRp?s08M=t+a?1b?MroDQu0F%T+RHdOeKj8pr{DPLFRGnhqFM|P zc?{&tH52c%FmBWSuenyWB-_iW3k1$wwH3y|i8d!!NK=5Z^7xi8x0C_sflYly!S*HJ zxvr^4$g{gO%5_#2ew`8!vPx$ited!E)yp7?7~PX~O~{x2OnnIX%oARyS6-@PPANm(Jh1`0nS7rJ~9i$oP$wJT~wN z_HY|Ao@n7&0GmD&(orsT9nBtZ7xEqvUJ`n}x}DzK5-NJ((_LKI^kBN4AscS5@ zg50OO1vmoL9!Bw;z@fjKvWay>m^+m|V%P6bR=E&ms*#Yfr={z%CgIWSrPxg5M{?;{ zD0;TPY_+ObUzF4PwqU;x)WZo!aCGGw7_)xSiDq&(_|=0OOEI>XFpl4EHnQH^b(ZmK zViH?KtBv1S(JHr<^Ebvx+NvioM`%o~bKRHRi;{7uAGjO*0Wjdb#WV9%n<+6=0gvO-N)v78L%%O9&}% zx!+QW%kS;U`JVPHhN{z?F-A5U$k5n!ens1gFkQUyf$03vUIF|bI)3Eo42PDkxuH01 ztPJm_N6$LuEzN7LY;ejHNDh00a~MjJ36nml@bxo7E+xKGUPrC#wzjH=g3a|={@>dA zx^aaT_{A%$jdeI)Qd(&1nd}4^G@2ni|9)B)PZ4KY4GouG<=KjN1B=tlI3KQPNcGsN zsd$ismhb6e;zVcA$zOmG?Q!jhk1vZN$HfQ*;`(~7JhJm&b<>Xu8EaSk&!es#8cBDPS0GrFl|BEE`MT z`}b~mT9hmmPF@8ffQbe_TZ7~M#0i}5SP{wkXxfaXgCkTf(Dh3cb$A$E1_C+I9+xH? zFM}p^_z^}X<8h6q5jei65#E9$*EA7vav4#F6N9e$kA%)NIEj8)N_O~G$ID(7dt$#O z?oo@xzMuZ)JM3h=P++sjS6nA_$nn^|LVT?2SJUTW5)#)j>96wx);TceM`3A>9h^A$ z#7xWAO-3=r+p6Di1eTA^^#RT zpqXSfZGWk=U)H{TalK6G+Mu0R?y8SpGz2-;1ty^7cwutOW`9S$t&UU2c;S0Wq{Eeejzbp)ZzS(uwNTI8TPBnpD>;f5v z>+vav|K8spaDJx?`EQQIr6;P(20qRg%di82v1@;xx$JxGc_&X6@7*8qg{YQEC-w3- ze4*zzh8#*wOG6;VEupz);nI_0=YISXx_d6K`)MQ^&^PE5H1}=!C|aSf*_sUjJXlWh zT8(D}L)F+mWMbuK)91}K5FNv3%Qo+$AbA^7do>z*?R*oyw+7)<(@A+X^+@DNUJgL2pPRrwWUW4iiLdcSQBiv<0V=K z?UE4p_0MgPZ*GsB3>)I-gDhs^A@d3~S~2a*5|H`e9@0Go{c^PKa;hKF!^oVAt#!fT z>+-|bQIK@R&|A^cV(X~;9-A~0ljs)@2A*X;ICX>9C3riw6IC|xhkOlW$1feLhR6*= zqFowShqX%VJriyDlM)jRoY5`nFZa#J=}FyFI)3wk!bFKU|DRm}+|Y@c+S%c*mR9Fy zdhYO3melKDWrZXyILG5mW1V%mgk;8m_4-pKmHP=xCDGGZkFIoy(+N5=4zJtM;K$pZ z>@*-`AAM;LheEb|Sk4?UQTEEFV-ueA6%tFw*aa;&+CpNNCOP_N6uMJg#UqKI!74Ux zM#5>Ehi$)AOSBrW^tH7hwv4Lw2stS8whqQ(x*#P7L&~LDUG&gQ&+XFGWTpMAJ#b-L z;h-sv$tp_RUhe7CzxlBb;J65@!?kuHG}BFW9u|E=(u`?VYL}CQ6_zVKj4J30FEeuG z!5+J*x+e{mt15W2A?Ibf!%m!bC@5~vX+u}FRtQOo!xE~>r?w_0{BvSAIRYUX3h0or zg`4qSf=TmAGfQvtbT6Lf+RRfih*i7xj#cHn1gVW4lMtiC?RnBeJ298v^HA3#tI#M2 zqH+RgNS!|NZGHh`+q&R9y7F>YFD@&KmU@cEmVOJv|6x-(3m7EtY254Pcvq!n%TH?Z zsse{4#p;^HHNty4WverrBGH^RS6a>zdh>b>7DBg_5?6cWiL*ZNzC8|KZi>hF%PUVBbqW}#$4quc#yvQ5N8qbJdz~St;*_B zHQToo|Ndj80zqI)kkho(Ryzd=80c36u;dVYtp3f_mzL*u;P4 z%l~m~2>SjK1>QzExs>48iB{P3wG~$qfs&QjTyy1QYFY=cWc#nk z4M38cBQj=lyuM61L^Y<|%XI5D_Hcf?+iQrlK*ZyTZ>h)WLR2uE*lT17i1kxkX)zgJ$qI>WKcEs;SnJMm zhMy0q%TZR}^xir0#?>JMn5gq<(nmIU#-CQR?MmF;(ihjoRj;bLTwi4zd3zGr5|g|F zzxZ)h&Vq~CY_iw{p4;|O(AD^vh$qou1ciCj#JSUt2rHFhhv3sWp+o2oZY-3qMbRvg32MwYU874Zr~0_H>PI$WELA*O0ZTQ@ zS1PXpBhwE9#RITktu`jpOcL*}yqFEHz0t>8IEU5bcqy~K>^H&c(Q zsu^CzTn8iJAbIho#I1#B5j*w^+IM-;=yd!O-|xm}!2=J~9j}|O4>+$zpbiuqDbg2b zH5aq3p0-fb2xo|6JNc}$HHoMokFFUO&kqE5>C0S=_m*s4Qi_wo1;WNjZB~Oei z=mRtAqvy*M=|(<* z$leiYr)yab0s9BoPqvA-ib>40(N`z}`G#lq$%<&OV19LRnfr$Nq&eVzGL~z9>7!fP z#DlA%RW!hmOZYb?UJ1$u$1i#XSkU2v+=J);Q(ykUM}PQxr+>2Azl6UUOkw-p0+u*( z?~BY2UsssG*g_tA>urPw40iiHj z)yJeey7?@)Jm=?P9bchlDQ+e5G%9{%izrXJZBVv@DVLUVT*SU19(vr9FyJ=NUCFKH zF0~syE>%)m+7YxS+-%p2_a>IZRLAV;LUf!BI%1N&R;nKbEhWZ_$dlP0n#L)vdDF!u zF0<4tF4v+{h(%%*xwo7km2>?GR`DOmcIx16vDcnL+b~#93P=U8o0W#9m^U6;EsmV)e@Zug?^^fz>(hU2 z4NrGz{rZt5g@w7ZX z`dc^e+;~)=jVC)BTeOI7Ufkykae8?CM)~^9j`|0m6-oND<+*Sc!OBd;6~%U|UMxeE<8{No8rFpF8SwsbD89DW=B-N)p==fsCLX3qpQnLOk26E!iS*;&(48WLG~4*e@Iy7_8VcS~X-RuE zj>&6U7hOzoiD99qeSUtu**r1f?db2TEnOIIp*s`Vy?qHxL-Kj-XRl-08}$?QmN%4B zdIQJamcJXO9!lC?VgS+?tXmxDnGk95rVoNp;X^{?R|)0?!Ic#+SgV7>=-l0LEh>U9 zroa0tSDJg$CWvu#U1eiP=SUM*mjS-FTB|pEGKGHjRqX8V1a%*W+K5kG6J42HVuGE$ z(7zjff`i9d&7-nyqFCR2%$Td!- zO4MCj3qM@56+0xRCG6D@h;bQGDZ7`;`{5Zy@I&OPAJbo^5m=n;Y)vv!3{IKv6v4k@ zfV*0%l^TPsa2aQ>DPjN{STbrko$zXr|^S!J_BX;vO12F^Qd}xWYnC9$sFQcnM zC-}5^0X*AeQ>*Axc1Tm#9t4vwr#v=zC^Jp61+Dxzlev9^s6$bWl~APgmyhz>3`%S= z2W>}Yanez|XY9vcROGhbdD9=!(Wvg;EF-sHyrO6+3?)&nt>7KJHJ`s`_<&u(Kw(8Q zI3SGH=rUv42fY-sAKI%3oe9{*l`FYlibbfo?S6i$OZM%&f=wUN7g43KXq~p^5MZ4s2TJ8;vCxIuYi~eJ^l`r5SsBqzXskXIp&J7L{m{C#PYXVd6Dyd7s6*++dXNG z(>+^-vsUr0Uxe_)2j*rI($vc72_5|;R4|N2GI4567y{wy+?U%Us-e6+=f~q9~d~(ey(>Fgms(^Eei{Y8voiv5k?kvQlj1bkf zf7_wjQ+^TS!pP$-)@iRb2csv3Oy>LjrvoRGj*c6=Eqxx$-$Fk|8XO9Hkx8r+wZ7k5Jt`SpA&PRE(ErJHJ-S=v!EBALpA(0&_dYsh=u%u`^# zh+o5cgwLap2~v@{wM-%fwS`so_k(zXZv%i^Q?5ZYH>BtL*Ft|Ttjj1ty7C3;{U!)+bnqWLT`HTw+4smm`ZPt+S| z^;ek*_`6BrwP)?QU=j&O>j#gVa&7lk)oP#xdkF%aGWyw%+pyX8gPCk!hvOpoR0)hj z&o3D6W;yD_vHs`^cuwKCg$4k}7eTPgH4s_3yBZ#^gb9Ti)bH1O~V; zk^)cDEBR5lT(X>%L=?>vKd6(T`#jxce(QSVyJm~Z62R?j3l{Cy6+ND z#~Z%_6f8s0qP|JW_TTH8vy`zqpF-?^J2J^-wEIY+8w+H*fx_mRx$lL|8fzH~1YFwn z^%0$m6hg!1u+~cyWo<5S?7il&*roT9!M3{(Xg4#oI%$c3(W4Gmy_;W2|Q`e?d7@=6yXuio?$qPb$pe0Sx3(1zXgBzzPb$`70x2n2f z;eu}mJ>Mjs?+v{_@w8mxT)VnE%Wa*sg;%(1@>pz@O*{6|(x=T4%I4g(WU~3f8m6&a z+QkG_QDn300!D?^Ihn8p&mJtAk{=u_2^HhbYsb8*!=x@WNgyVoRe_%-s{O5PqL1%JA9cSCG*R)Y|6Rt|gK;CT*)Fpx8BIh5*ZMXw|`c zzo^bTwj$ch?MYSqPLw$fv&cx$b=id&c9+10x6kth53 zZb87Ba)dEE+Z{uXt#HVpw4~_HZlv*)SijQ@h-OA9MR7T=j@a}0RC zFJmEkW-!kj`Dygg@u6tz6Uv|7|LzbJjyu8sIOHMOLv}Y92ID$wIHB!%2)oKQ+t@d( zC!%j-i6~lkm=HI^Jso>c!Fp=krK?bME)o89H~iJ@mVEEjnBExrD5{V(%9y>Ex|JU~ zkbN|MZs@q4Ex0rBO+V>b^ylrh5gkyzLp9mA^rL+x)UCTAM%Dp1($T zsdfYMt`8r+xW68R3DM&PF6nV zx~b01!enG~Z(w$Fh9T!cGl28&GIMZ8@;#VJBgRcIwdi_dfRk%Dt$_4V)Yk~uP{fkd+okVO=^}KMNox;CIQSb3{!3| za@r1)MWKE@`!MK4aB*lQd?+c0_zI=>*mBe}AZfBsR$-tG1> z1AVmSc2Qe!zHVG2r)RyZAJ&+QyV46d0^xNnNbMRBKsOZrlPH?_A|K2IIZZ*z(yQ_7 zXE$M-h7%hV$lk>g2JuQcl2;jep(EA9c$AJE_@H|L6?ARVD8&55--Qr5V=Zl6J!eD_3fO9|ciOOZ zuOassH;hACFYiF}10UrWsUgE9*LC6e(b> z&GZlk8gaAgD|D*lU<3hky~0s#<()%ei?H~PZLan7DJ!{X;Ff!pte9Yl8xsqY4wPpW zGI%{iThy?u$IkD_BdC8LS*9mW1o;u)-VuY2+fTfqF8sZa{bA6v>i1#97M1EO-Ld`L zUN97ELqCtNHLYX$Chs?VxMlp%iYZM9L!rxN7@LyYG5eZFKh8w~}ksv|I3?(gKz)X8OqpTEbO@NtwL1Cl~9~7GbFK zWJb8X<17s&^jYVf>6I>#X`gB=1^zEZ5%%j-cx zZ!SC52NDe4RE>XFIpe=HzjVns$CuY(+}X?NjnWTiK6U)2U}59xkvWx?@r5aFB>V=~ zpDL(d0Fl$LF^bO{yQ=11f; znAD-0KFU9&VbbPn{Zu14$avb4CMn*F)AZCtuVvpzvqzCk<9p$8(I6w55wp_HL0Ywy zx*+f!Y+Voo{LzlRxc=$d{?`Zf#gJNg@Qo!x;)o^9Aup=>B zSZ3<@$Ih?{9XUG(?|}(r9EnOaUr}reRxTiCbxuwz1SVq3@aCxtwg4+|sM{9PFex&W zbJGK9_k;oNF`Bxd-p~3M!Gp_NE712YnVjs{J7Lq}y9GnA)1Q|_0S5912x%;X4@qfW z`mH@%h&@dI@=Orb9H1cmVT9%CiCnv+k=L`dqn68Y8N_FMU|N4}Y~`pY2;S6ILx2Nt z5`76nQg&p}vJ{bATIZdV@*G^gFpLW_^*zuDMoX>nKT~T}aI+Lsi?AmI{mz ze(md8eW1Xa(5rA1_4tm%D}my8TYrH7RE2T+ldlGFR!Z`${F-NO?_x4><@jd6+|0L4 zU$eC!j&NKbDLPfE>xk#5Y@1(nqZIfhi>ud@=r^my>d;Z2(XNQ^xYXSBpr@Ji`8pvt zJGw-K!@H+?Ycejtv2)d;AoZ1{Rxya+nv!qRP_~tw_$k+QZ_2?)Vwo6Fyt!ljw=XtLE$@I+eDQ2aq_sj@sw$XS1~_9e zI$<#hd?_7aQV9Lr{=2LFN5402?Yr?Hq7g??21yBshgrShhUzOV!e8RdUE%hpyocf{ zwcZK&&soOZ>#Mj;<9!YJXjeia>^*KCi&MgSw1h$>PA+S&n0IBfw#m`!&kvIA=xIxu z&sAPebF;2Iy=?A5y(@D-ZFF`cEhdq0gPA=Q_7OVe+DIUz7){g|3tFUwUs=O%m>8?1 zV@De>{EHCn{qoeh6J>+$W8x|oiax=SPoV52HM1lm&*Rm5=*4eRWKgnb+WkUxJq0j{{8fhxb>C?%FG~YT&&4_ce*UKl zEn>{O%I(Fq1@4RW$8_*FV%XIVywE9!X(ispAo535r&*q=MrN#u;>`8z%Y69k)@Qmm zIM^483F0xz=YaYpW0=4!hJ58j;lXB7q=V@{NJaJ-7s~&ZA%heF=s@+ri;A1Ux6-Bx zI^xF&_kzZm*-PsNOzjz+y7pvEl!=a1G-jk<=9zf!o#--t@jBx31Rk$6eWt zn-}M1S-85y%Nh3?yOb;CR&BLP(_L!P1TJ8GmH0rSqYkIsDPUOZaB!15@hfqH^wgp9 zv+kjZD7P!Sac?e%?|7b%0s$kH?Y;HTORro)6{6C8v3%BrM^e#L^DXUWA+aXz`P zCi<(|u%Foy6QlG*hxY4u^C~%)-qSmr@lOpOsLRVp*0_yINJ&Q0G&!=18${c6M08-r z^I-hqiHmDrzo-Gt#!fWlJP!^SIUISvzhWtmtY;``G1To~_79?^K8i1*U4Du6SR24#)rVH9))i{6b;jCCAfE7DzjjAV4S59`wAu yJ@(_KkgfY!{_@)Y?MuY|>#i-stPyb(Dl+6G^qJEDA8>6GNM2f5D(BY2-~ShV3;`(s literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index 9c7847a..e286163 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2756,47 +2756,6 @@ "resolved": "https://registry.npmjs.org/approx-string-match/-/approx-string-match-1.1.0.tgz", "integrity": "sha512-j1yQB9XhfGWsvTfHEuNsR/SrUT4XQDkAc0PEjMifyi97931LmNQyLsO6HbuvZ3HeMx+3Dvk8m8XGkUF+8lCeqw==" }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/are-we-there-yet/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -3414,14 +3373,6 @@ "node": ">= 0.12.0" } }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/codepage": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", @@ -3510,11 +3461,6 @@ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", "dev": true }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -3562,11 +3508,6 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, "node_modules/cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", @@ -3743,11 +3684,6 @@ "node": ">=0.4.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, "node_modules/denque": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", @@ -4908,40 +4844,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gaxios": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.3.tgz", @@ -5053,7 +4955,7 @@ "node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" }, "node_modules/glob": { "version": "7.2.0", @@ -5269,11 +5171,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, "node_modules/helmet": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/helmet/-/helmet-5.0.2.tgz", @@ -5551,17 +5448,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-generator-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", @@ -6916,9 +6802,9 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "node_modules/moment": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", "engines": { "node": "*" } @@ -7058,9 +6944,9 @@ } }, "node_modules/node-abi": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.15.0.tgz", - "integrity": "sha512-Ic6z/j6I9RLm4ov7npo1I48UQr2BEyFCqh6p7S1dhEx9jPO0GPGq/e2Rb7x7DroQrmiVMz/Bw1vJm9sPAl2nxA==", + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.22.0.tgz", + "integrity": "sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==", "dependencies": { "semver": "^7.3.5" }, @@ -7069,9 +6955,9 @@ } }, "node_modules/node-addon-api": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", - "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", + "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" }, "node_modules/node-cron": { "version": "3.0.0", @@ -7177,25 +7063,6 @@ "node": ">=8" } }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", @@ -7690,9 +7557,9 @@ } }, "node_modules/prebuild-install": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.0.tgz", - "integrity": "sha512-CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", @@ -7701,7 +7568,6 @@ "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", "node-abi": "^3.3.0", - "npmlog": "^4.0.1", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", @@ -7770,11 +7636,6 @@ "node": ">=0.8" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -7935,7 +7796,7 @@ "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "engines": { "node": ">=0.10.0" } @@ -8338,26 +8199,21 @@ "node": ">= 0.8.0" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sharp": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.4.tgz", - "integrity": "sha512-3Onig53Y6lji4NIZo69s14mERXXY/GV++6CzOYx/Rd8bnTwbhFbL09WZd7Ag/CCnA0WxFID8tkY0QReyfL6v0Q==", + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz", + "integrity": "sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==", "hasInstallScript": true, "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.1", - "node-addon-api": "^4.3.0", - "prebuild-install": "^7.0.1", + "node-addon-api": "^5.0.0", + "prebuild-install": "^7.1.1", "semver": "^7.3.7", "simple-get": "^4.0.1", "tar-fs": "^2.1.1", @@ -8407,7 +8263,8 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, "node_modules/simple-concat": { "version": "1.0.1", @@ -8628,38 +8485,6 @@ "node": ">=10" } }, - "node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/string.prototype.trimend": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", @@ -9176,7 +9001,7 @@ "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -9349,7 +9174,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/utils-merge": { "version": "1.0.1", @@ -9544,14 +9369,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/wkx": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz", @@ -11971,49 +11788,6 @@ "resolved": "https://registry.npmjs.org/approx-string-match/-/approx-string-match-1.1.0.tgz", "integrity": "sha512-j1yQB9XhfGWsvTfHEuNsR/SrUT4XQDkAc0PEjMifyi97931LmNQyLsO6HbuvZ3HeMx+3Dvk8m8XGkUF+8lCeqw==" }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", @@ -12482,11 +12256,6 @@ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, "codepage": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", @@ -12560,11 +12329,6 @@ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", "dev": true }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, "content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -12605,11 +12369,6 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, "cors": { "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", @@ -12741,11 +12500,6 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, "denque": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz", @@ -13639,36 +13393,6 @@ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, "gaxios": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.3.tgz", @@ -13750,7 +13474,7 @@ "github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" }, "glob": { "version": "7.2.0", @@ -13903,11 +13627,6 @@ "has-symbols": "^1.0.2" } }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, "helmet": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/helmet/-/helmet-5.0.2.tgz", @@ -14107,14 +13826,6 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, "is-generator-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", @@ -15177,9 +14888,9 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "moment": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" }, "moment-timezone": { "version": "0.5.34", @@ -15298,17 +15009,17 @@ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, "node-abi": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.15.0.tgz", - "integrity": "sha512-Ic6z/j6I9RLm4ov7npo1I48UQr2BEyFCqh6p7S1dhEx9jPO0GPGq/e2Rb7x7DroQrmiVMz/Bw1vJm9sPAl2nxA==", + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.22.0.tgz", + "integrity": "sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==", "requires": { "semver": "^7.3.5" } }, "node-addon-api": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", - "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", + "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" }, "node-cron": { "version": "3.0.0", @@ -15387,22 +15098,6 @@ "path-key": "^3.0.0" } }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, "nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", @@ -15765,9 +15460,9 @@ } }, "prebuild-install": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.0.tgz", - "integrity": "sha512-CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", "requires": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", @@ -15776,7 +15471,6 @@ "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", "node-abi": "^3.3.0", - "npmlog": "^4.0.1", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", @@ -15820,11 +15514,6 @@ "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -15940,7 +15629,7 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" } } }, @@ -16209,25 +15898,20 @@ "send": "0.18.0" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sharp": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.4.tgz", - "integrity": "sha512-3Onig53Y6lji4NIZo69s14mERXXY/GV++6CzOYx/Rd8bnTwbhFbL09WZd7Ag/CCnA0WxFID8tkY0QReyfL6v0Q==", + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz", + "integrity": "sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==", "requires": { "color": "^4.2.3", "detect-libc": "^2.0.1", - "node-addon-api": "^4.3.0", - "prebuild-install": "^7.0.1", + "node-addon-api": "^5.0.0", + "prebuild-install": "^7.1.1", "semver": "^7.3.7", "simple-get": "^4.0.1", "tar-fs": "^2.1.1", @@ -16262,7 +15946,8 @@ "signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true }, "simple-concat": { "version": "1.0.1", @@ -16418,31 +16103,6 @@ "strip-ansi": "^6.0.0" } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, "string.prototype.trimend": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", @@ -16816,7 +16476,7 @@ "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "requires": { "safe-buffer": "^5.0.1" } @@ -16954,7 +16614,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "utils-merge": { "version": "1.0.1", @@ -17111,14 +16771,6 @@ "is-symbol": "^1.0.3" } }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "wkx": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz", diff --git a/postman/test.data/documents/drug_order_x.pdf b/postman/test.data/documents/drug_order_x.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9a61f950b5e6504233a2f00fc92af80564c505d4 GIT binary patch literal 21591 zcmeIaby$>J*Ep=lKoP{FBB8>VlrS?4oeBa1(lB%kFd#JpL$?Je2q-Nn1|8B30s<1! z-Hmj2efvhwIX<4}IoJDr-}}e!`dtr~GWYCQYwfjHZuY%y$leuYMzWwtZw!w#w2%_B z!4NRKt}!VeAN;-%4vQfeIbii+NcepiE0UcX373I!!bM<6P7XFUxHM>21nnqpR`@-b zI*bFw0YkELXbK3BVsZKq6xhG{AtkmWU=1KlNKR5>#E%~&2khVphWoRPlbiK#ZCo6H zKA_P_pfcNoUB}bZ{z$M4puJY-)Ldw;`$XY zk`)m13p^wW$%^{5jSYqPl@=r$itFz@fLQ-0U#tiiBU3Dalo)KH0@y#WMR0jM-UvEsVU&c}Ijzgqu@HREQmcM4{MFY#et{0-A7H0@enS1TI#v`NWo17=qRJT}F@+ z-?$+nBT7pAt0<5XLp=CH*hGy?t*`{Rs42z@dl##R*T=%eVO-qs`&gWz)dLtOCtLxB z;t~+Bv?5?JW~9Uq`gL`52K97wc*+hP_2DOpdwBAhDkT^7%ZiORA&>5m-px2hkDx^I zogmS%(lH1z$QgPkNm?G@e^TdI9SO;u_S>PqKkGPhl=4vYms7N)#6VtuK>i`Q5UYOZ zffUvXqmQw|z`)i5o=IcOu$C~uZtyINF$B**48XIZy*U;x491z_4gb;rXxtAtcd?dM zmS9T`0H^~k`D+vqkUvHV<8fA4oE3oj9jq_`Z!UzlQ-^rP&dtsO1d)pk$->30375j^ z8)5!KpDcy|p!^_B9&3rWCg=fDffNH$a!NIx0$xu6Yo!hcHU_SUwX=eY zn*m%x-#>)Ee~4?sRb+IHv3d{~ae(B9kODXmSAdM7V8{d5KQjz!_(7!*#u5ur0l$Ye zwZU2$>0#g^I3PeqI77Iy5$+Do(&*3c3f8(-&^AGP1#B1e2u=NK^#`>7N5ITNcvJoV zKhU8q{Q>>o2>cION3wGKBQoe7+XoK&4Xt!IP zUh?ql1Wy$|=fJV`HQynRq4C+dhJlzq-}(OBN!$r(LED!3GiM#r2YTzLODzVG7i?~P ze#M`sesA}Juc2)Lt&79gTbUNs1s$0^xk>NvCFk%Ou=`5__-eYc2b?9uC%xFc-iMFw zR&GZ1&90Yo=6qa^ntfj3`~0!LT9u!DnwWv*O{X`)tIc;KbMD_~ph>>Vl9;AwS9Q{L zS)ouy&Nc00@@uBR1pYA2lyCf)k+(jJ_Xy+NXcodV6YA#?0eq~1<79c=JI}AkC#C7= zJE6vh?(JFV?%vxRZHOqaxp|2|bAwmhCEz3F#hu^WFFm#NyvL|+g|Uq``}_=Fc8_k& zmFB^5r08d!jqZn%{DT4|uF+4^ZW7Ke6Wgi{6@O(weY*Iyh4}vbLo@hM`l?IF$4<3@ z*JRE;z19%r{<+P7)|%rteMLX!>#I?AM`Mp(G7>BuDK)q;bF?#*Ns5TYO>f-#T^~i}|l#INpqy zX`Q^){_<(KHLpNnE@$hMNRix`PbQ|zMTn28zlW|j!a{ReXUy7!5;RJ`C_22-$z_mh z_c`0Aukj!rp>obw9mRn43OpXt`tYq~2(>b+32c#cnc3_qO;&=Wr3YO2QGMbB$HD}Ey)aJBhCTU~t=Ez!6onI(S+1lpiS|x?$fQvKE4cd9 zSzP-WlW*>#h6cv|u*MM1`5VD4(ubiJeop(aLfok|lg5_7m2}=*u|ij$(>}YkvxB-h z^?b@i6x-Nw*RNSEwy9@i_ImS7CW;-KROCfD*^k#t($`MT9libjNZC>EXO(lM7rS?d zkmsJg($#Nq+AlvnG+e^Z?~~>8xk9dE>ccap_f*eMKIAmfvS*@pU?RFlWgdO9^fLYL z64WeTGPL4@3dI$?l&zRKCYys7m3(L1W!)g$5`|Lybmi<JInK8O#)3(!T6D|H|Y3f>aw{u4Fi}Ypom+C~q>{U+p(5fhe&aGX9wFnpM z7_x5Cle!++;DHnU8-IM@dw!VC1H1jFbAsz(Ukdc+8 zES4aQH#5iMAkWDK7si|736?Mv^k8j<10I!=SOqKm538ujj+>qEXodx+!c|PHI+T1|KLHs^LjK{V0nB>OKd{H znaPQQ$g#HxYhBwUyIxUQ>s|YVYO2{o&`-J$^c!}S=_vGh_5bv*Q*X^h(>_FZ^6@+{ zq0+p?c0qxZz<4(z^Rg1jzVt3JSOUov)hmb2>$KvQy2Q3n*7u&ne!G6$+Q=D zH{B}NBp;_&2A-$(JXcwlzqNCWQ**`q+h|ObpwlYZz5wR_igUsZ00(hh-|f>G6C--9 z%_p0vSi$|di@f<{>rR_v!P-v!t2>_Su`-h(cI`=uBND{k6}1gvmIKT(C5t;%L}XST z()p*YO4erD9dQm*OZczx_CZ$x%$Il2CrBO%={YXP4R8FOJR%)tzv_D-Np;T!kDm{& zQto(E?pmsDQvNnGr?m2KvPEMJp0YWZS#h=B}Fb>d6p~!&IT=CvV-J= zgaK4a)^s7AkD+4ZbdlWCF;Vb5v!$gTI=HJrR{=l&!s4>hO z*!P$yo+^Net@4S?qTwSVmNXM9bnA##6PT$|0D}3=F)kuHZEEq26^kA?vE%mhRWuyIN zuX7EdH&}o?KD^^c{u?_ZTeb|JC3^aDLshiqTs~{}xx8V=<5j*7ibfIwEn1wcbEm(| zmdu18ZuXG_e6r-KS7hIf%b9WR?hJXST30^TEbcCuUmza{i$W5a?>uW4+)KZ<&R3Be zslB<^wEL>1=rEYJSxx+i+MBk?VSCi)T3_1-htxg2>9L8gUr(%tie>e&;wHyQqbi9; z6N{p3rK(@Rz?_GN|Clq;Hd#?Nt=(OW`5~Eumx9 zLo!~P$8nI~D@-g))3UT|A_(u}dmlX?yl*#J6y&ZOaF0e?dG9v*1c3AesIhS?9-TWH zZ7sOlvF(a->008(o9&z9Wn|dO7aB|FY_;Z1OQtJk+N#8v-+6Utp*yqoIWlt_t|hxw zyRLR?{o4GiVT-ju@6@Tgs~3IGQ+r8WQ?H7ku|B(Zaj!4< zcnvXN{Tmv6x7*(78D;rELV&FDe*wE!4fPD3zXr&(lE=C^3h*Mv3YH1Da4_P~iX{3( z>$lNr;waUvIoIr4VF&|s0u|`^E-(I9m}chYjP~b)Q+7&sf|`_OK9c-7i>aPid-FQU z`ls0jO^3N~7i|T~VpAjf>=!9tF&V;ARu_}9=QO3FJ@ldQMhwXfj??OOP;(OhGPLO>em(G66GSx@2ir@eBb zbz9rZ-vn~^7Yrk|qf|aFDwn8qvkm8dsQG%WCxzR!6j+e8MIuL`jJQQPUV%N`wzuA# zFEqoaXu)cw&7i%|#-J(h^I5h(MOHbtG|PrB7PJ-E&IuCU(+Py>uddB?S(^_HXoZ=N zCkg4LHBvJ3L?X?sC$fvgT=~0i%JK6T5v^a2v>jmbuMds5bPNKEIRI;h4r%7gHyhH{ z=Iyn(Fbi?peJ7jFUawDmwz{Pf+1*m%Z^+nl-Pua|aDwHfAos03s` zRPaqY6W0XH^uG0&Czm8I+BdTZIhW}n&paK6>~7ZI_K2z~?@0E!G$~F-3NXiBg2;_| zm7F7`<+8DH(z$lR>;cW?S=Ml44LVGcI-Nka?Ru%*h6CF80T|A;3dtGK zda7`865YtG_!Dqqc(ng76=BLeE9ipdoZ26p= zjW@$rKUe|~4;2EzE@?(b+X1&o>LdWa%I1A(INlAcb(t)fzaQyZjt>nA zzUT&4& zoFB)pv769nhFh)8xZZNkiH%*K3yYG*W%2EWB`@zUNvua-TU-#myDZ}-UMK`1cw17A4H0S0Pg2$7xtX8~UAyx3 zd&LfLo28d^Ct6PTx8C0MRPTs3t|vAe*d_FesD2H}=4s1iw8vR1DV!S7tC2w4rBeyM zU3HJT(s2f9vulHEIWcRW}z0} z&<7Y~;dQ5DjcjelxcBUxD}dYO9!ci1fpp1UVeJrJ&g20qTRHT_cAN}*ibTD7gsU;e z>9%S$v5XK2}874}~SNgG$(#^NjHJfj1#m{zq zZqAT;CNVLmf5BfQzDS|0%E(R3HsF{Sdu!>DzV-f{l^fo(uRfmvB$yNXlb_B$-aB<2 zr|gly%oNUJW8viFY8{uz+g8lTjkn&5cUwG+We-U*ugq*4;^WPk>jQhz+t)-qV5(MP z3Dko_HAN~K**!5j7ZwS&+~sY4xu#gZy>nIXc6OlF< zmWiM`%CN(-mNT&A`0o%!Csi@|79}x0n&H1w7{G;nE(W$K`;iC58tkIKPN0?0ov-z- zP39V@jx`V~T+B1=%XIv7osI2YAN};JM5PC}IDA>4AgP^KyR!%c1GGeP>iv5wKtl6p z)Ge1{?S?LuoxBy1$1-@BEyiymYjI-P#xF&CB7lUBVqLegvM3x`FqtAYA% zfm(-x6T(kDtyKyncc(@ydG!P;)h8jS&bym5p#0PH0pC7wyK7gM^Be;*17i0zC_|bn zGO?XdsUN^QFAYUz7ibmkRe9YEZ_=XF)bvz-U|KS~y-dqoOtl`U3Qyh|jEUm^P6L-e zpuzB&FGJ!?(UTETto86n?2Fut!UVNZb$K&1*I;W|uBPf3cM*{4k#?~tIYNbnOSHeS zu&5ugchg*Da3pFw^wfpIj1-g$&1OPQ&iZTYycWoV{p%w&EuT_UxDABmZ0vQ6NHevD zlFtty+Fu-mUc3;?-Cuk~$}{^9UjS$`%96uus`Mt}4zJtJDSuFpu$WF)C;@^?8bU4| zm421`dGpobRCIJ2*WAi$N%fA)Q#@w{{VuI;#uDvqZ5z5;bPIR&gpdF+aIhWPDJeX= zu8wZF<+u(q9nm{Ow^Q#x`JO^p5~7bwxRU9V!gsWfGs-46ZP*#wqEqH(b|bcxCegOI zzAy*8PQ0;tDZdUn$@I#&9*mBQv+w)?|S-CXn9VKO8efgW#Mn^|w z1P7{3{425d?78{}B@;2R5{}82=BBiEKA8kZpd4Q=Ux1>|fGbS*Ia5Zbi*v+3+%}i0 z8kbl%?C{x*mp&fwirihh+;ya(O1YBsg?fOJ4LT%TQKd(BinmDylX?evM*Z1Kp*HVNFh4J8S$A z7~vNbtU<;tTM^vB)^vEqNr~XB;#Y+!`pJ`>8a&w=+GQ$}o$_vyT!-=2x7g0RwiG5= z_VoAH_@645!542>to&BWXv?2c^AtIW2lN~|Fa&i`Pv2Vg7t7UKd{w19nd#4< zlCV|ey@JodQvLsOH zgVn8j^{EmrC>mWR!=tLs>LKPWy4XcWLXShX8Zc1mQxw*!fZIg|P#UmbF< ztlma&FH{muu(i3Rc3o*EoP4K0K>B^oCK!=K|;De2LX4 z=KZIod@W=|0d!0xOESzaT5s9K{~T;{zmFWwVN1X?GkT{1O{KR8~2-DFBi zTbrG%$=hHP(D}yL=9(>U5Rl+Pk%?Aw4;QqmeNBFx8_3N-kWysQN2kVAG=YkcD;KZr zFRzN(OUjm6T9|oMb3=x;p=RvP*7W=yw|`n{ziJ0JrY@;WHuV$>+xhu?oDyGUn%a7q z7&w1W^fh_`_^`l!gDL4lHm*CuwMNOQu2CsrpQO5%PAUG_7iZR>D-$H5%Z6_8T(?xK zxvdtJv8&c~#LHrK)j@430;m1_#S_FfZ>`KtQ?tqppN^O5c;c#on#+70 zAM~WDS+;P>)&vLPm!~5 zzBF!{c@;C4?F?{G^B_*^T4zqnVx6D>?Yc`+S=;XBK?)uaeI2aXsgHC$=_5!w-b;w9 zYAc1EU3*T(l8DgYN~3M>5X{euJ7RUXiD z_~N#gNo8ExHygaMTgFmV+rg2%vC@t#M?l)w(F!bw0yFButUI;-l3xNf>zjn6$$K&# zj7pV{hhOl%oS3y%!n)nr5WrbD1>&T4@{&MMbe-aNvUKS>(r|=9yH}#XGY>wrCQ(6@ z)>b_@RyGHziHXm0s93gUbEiwgR~gqrtW58G+LqOJu_MmKxYtOyGo-0!@v0?~

k+Ba-DD!c<=J(mL=X+j`L?~9i|mN%S&KD^%$@1w zF4?FQmU`Fyw$c2J?Wr}X>z4%ITJLbG;$P0C6BOZJs^~7Xd!oUG4K_S5;cnzxr?`8fYOH~ z1bZUOs!0T(5vifWr(Zl(kS`(ap0psVY)e{gX9kY@Xmg#VY;9%uY~I?;^L^CabKl0< zZv|OM-i+eRvA60G*+IQS%5ilG7jLd*e^JrtO>bB;C`|XC_s_Gb_IRjNRQlWQfRCx^^P{p@H#$?@K^Qr;7s$7=ti~@EY16C^m&woeIDSjc>e*lX z=2$yX1Um9>kgd))WpgSs_ii-%)0*~V@(QFUaTH}Ow~PCBHA60G>jsE;PRGco${Ah8 z#WgQ=h7Xt5By^L+F;YzkhESWUVM$dnFOgY@J!Ms_zFT!ghkbvVN(NO6I(E*I(gB1> z=D6KGw^5lx9_naHa4;Mk!E316b5ZQ{I;y}t&Uo2f1|L?aAq$;^2SVGlt$*n(6nn(4 zQ4Q-snCMF+P^<3m(>p$(^YLBLN|mi;8`_XV#;FwW;}pmI6KcTWivRBuDVMiV((w(? ztBL(<8;I&`WEh!ALpVPazhWfOA-G<; zz@vd34@+gmLBie!XX;h6KRiCj#Os{M%tVqtZ)1<`-5+&f@R-Uj5?_)4{y)kvVG>|^ zvhn3z;MU~z4pyG-rHzJ;REM$GWRBa~J{s0;E<8ET$oXRBlsuiGirAc+9zanK$?LmK zR^I5!SYAqvIz@HH8O^O1~eOQhwDirBr4nLti-x!_v~UL_0U9onuq^@(iwXQNve zEh55eTTVX}gKxKoFJ4nS<=yl`1dsqbNDvsPx&k`D@sm9|vNE|A+TrN^(r>mr>RDd) zCUGyUOcAOWKu7sl>}eSZsgz4gg|}YN*lK+Rry0i|F86j3u5cbimrJ8C^$UdCZ5vR*iT?%14fA5w=vybQN8w?ZYj-8fKT=Y z6#7aSyQ|rgQVLaoV~#NfdBUPmf^mp?PK=(VlewxHkm0u623SVfj>0LTx)OPN)%sbn z8n;KlkxOXemr}33@Y{*^1L{QA5Ss!t&FRdliW_vU91hOFCo9MNP^~r4$y@vygGB+4 zBBMwsh_7~pU6q98gI@WgiN65DyW>AkkY=t!DdWHqkj3;nC{aq_*g9dG6i^ft<+{X2 zREH6MqAyFy$b0yb6FS6GqTKC0HNbHw0Lo;8B`a9Q0wdHbyr*R2&ok)B_dk4OaAW9G zu2=dLC+s4aU}=nrOhVjSy%4F#Reo5n1z7c`2Gt&s`E7TWB!p`v81yL<2a@s%%iot8 zy4@jETgEM%I39lF;!}>Hr?s*2zX43;k3bfgt4+oKv^yu3sZD?Zr|2Q^;a&mbe0L#8 z=JjiL628(h^~LP~9vB*9K<<8`Bhu5Myh>`?)?HHam{W8E$fj#Yniiz&3n`1mBMb)& z*gqT}8h}pYPG80eO;Ta$9t!)BA0P9DYe<$*(9Fqm^^8WzD)~ZImx~>;JxtZ7KSFwu z1%IyI8tum*Pde?k91@zBlIIlJ{ZikJ>M%CmFTVF-nZ5hDXTC`>Wx@^5R1Gif6PL|Q zsUOqe@jmAd;L91+Q;+5Xpr1NkL5uR6IW!IY#fQLT3ojl;)~}Pc(I(oYOPbbHwJ&Q& z-b>`=DG6XP1|^y8aIzf3)d~^G`YDeas#ZFj%x2X;ih}Es_|ne z20=JMB%}1{qyqcrFYIf0NW|Qu5|{mY>gBfn)A!po7qrQg&>@Rowi3n>(7BKa4+mbY z1hvXmPD(QH)Ppi5M}9_K{2MCVoQrSs{FZ}cgdt_le8&uo)vA-zm)(l%OO^6j7Df`a z$+GhGq3mZTK)|IFa`A#H8-+%w_SHOk;a^wHIFl+|zTkdH>vh>N^ zc29Gk_VB|K;M)A(?hixv+5foe`9HZ3Bu2p4|F{tZuKFT1|LH0a0`bRHATAW^|KKJN z0`b#Dpzzt(n)ej%oUf{C%gnUC_FHXn^$WlE?8KhWJmYRn-FdrEF>$qy;|ycXw~;Gx zM6{j`^z`4nt~1Adt3Y@@Zq6(_^Yk|BJDZ-JF9cgnIui?i!}a=J-u3!Pqka5(xaEGy zP=Ca0lr5Dc!-s&R=U(8{zi*Meg;m#hUFxQxIZa#*%+S0){bgk7c1{z@E;l@~wEV*g ziNMEak)_(PEhxJ&SDm9X(xS(X3%+^u>SfI$&8|D;{3=Q`(2?SfCp~4I8%*gs$@nAR zX%5mSZ4V!#uewv5-*`@mlSSP9{N>oOCwE_*m2H&z%ypW$`vE15AbqZAnK}EX$IjQ6qwh)cbi_s;wIF`=F{CCRgif7;8Y?-U-VlCHbfNw6}ad zY4{S2*I(JQ=N8KDXutYS?WHQU`)jzu45~LuhhS&VH{|f>TfzM^&BgCYRN1T6G?y{r-O)9rzn%plUL|bbwoQcVQdaL1M*%iCXAu&&eHc9xe)l&bSAw={z zjiA3puE{UnQm#XmckfD=p_@MW&IP3OHz9=0{fFPe<9uIjmWHIs(LPSgx+eN;n&Kkk6S#^#sudw181rx2^=Y^+vtC(hUt@dnWsIOVomkJH>bz}#>Cm2vOJ?Nw8l9FEh<)2<5TX?W>5%bTW1 zH-@Z?P!%TkXc>yFa>>~`2F0z5Z0(o160K}5Ou-28GWQdmj+`;#5D@w*QJ3gcduEb` zI<{2s3GslwyadCIIKj2+uj&4ss{eF*|9_(D(A~d(xajwnb|Vo;aM4c+V`&0AFemc= z?{z&~64!$`<8B?B;`#RY4PJ)yFRZnPl0};CJiO&_MEjc8n>ao0JEt4Xe1hb&FXld? z-EX|^5ioINND1b+XD+(@M)CY(*a`6OH!`U%chytdMm15edpTufFFoZQG$FYPffopQpAp--ybcwRt3xSbrmNM^_*i-Ip-l+ukzR znqXQrb}i@7QM;^k&Z@*jQ^HBDgQmN3WJ#to!?r`qeX~o-D0i zXvz^d*<12wMOQr0uo#D<#bd3O?&NBh_lTPk9$Fq>yc6d2xWWfb74UQ@bIK;*F>9i9 zVrhnUfzY5PQ`nVTPq-80Sx&3GZ}P8x`-$Of)6`O=`tcJs(do~om^!okx{l_@A4lO1 zpI9)iFykl9z8okM;@}|`=Vb6W>@!6In)~Y*=W`H=UC0(1&F+kd3uE-ae5KLd)(ISA z$RdCChzQR5X#1p8Td0f=IVpx!{aDv0t<0$uh0D5|$PY-&A-Rc(I_3+Hf%Y}bup?-R)=RaAfUoJYM z{?kS0pWnRs4|k^j@uKthH<13p{;{I|h;C2_F695f-taxF0}elP}9-LL63=6h4_>l8R?}><$3Oj>>iKe(@+HXGKTUXkSsO3 zMic<@4se9W;0}GKLzF}la2L)1CO`#mRU)zcGCvv`BZBDI6l3DBZ0GC9c_SlLewR?PoissFN;+?lF`NmE!J5dg@A|0p4 zMm+#sp19M3x$F+hpie>d?yLTjb@RYb%(ji;eQ-52sQW z2=a1UcQ%*pDa-3D2~TS0WM;h1c6Q&6ZiqmxxqWqt z;)cn*shN?C*r%1w!l{MPXm(9rpHr4+Ga}V{nlFuO0{_=$pKF9=Z{J=$lj*vpcCZ zg@KHw;Ec~E!#+~5L}t>u;l`~xalXC8W7Q{p_Z><@92whL`lA@#4b>;UF8CbC|4M=> zMR_Z)dta(cT48#cFk?%_$GMHo*XPhYRnR4&Lk=zQ6iT0q@_D#w2S%`C-IeanGzdbUz}^Vr_Z)=AMll*&f8|Lksh}Wu8M1 z)8%Y~Wn6M&-e?!nb1n`qVAavI+|Dz-dGl(1lCuMH>vJol$DAd#sY(db`Ki;=;W7fL zg1fu@X0a3RQ*^Rjp-V1@TvD_(koOsD#IH-)>o4v_SXYar&KSFHnuaDE;t$Ny-6-{@C|A+y3UOpg?C+0Ec|`T@T~S8Ha<`V9{iUvsmuUwU zr%^$b!TsD^>Q?S}ExjjoiCN@!tjx0GmJbG}yVMw3)FU0Mpu<`9K~k=g2ZDTC2K$aO z$osO!W`804ExmD`xy4XVl%R#7cx5=Pasas6y6)wB+4O$wr#asj*3gWHk@=eyh#RS< z?EzVno;ldIS3|a|ZzwC5r{?5?3hkcib*4qt}z-3UNTZ(8;%q>pj&?C3R z#PtvAT0p(i3h&BSX3{!fI-9R;7cLoN+Vp$$#!$+byy4g z0$tUbjE{F-&Q-lTKOiXqLlGZQL7tKG!Ar}srDDpqn36ZwSYK=EeHqES<4X6PohGCC zS0}59Y}&@wnVDodflzR}hkh$u!wQGkgX-l&1K`M4=@VI^=o)~diee1* z13yxTIOasUm^D|)@aI10byfl*c+*vSL#i!6EVy+?PpoA#dnMeGlsO|NiMbBE%)>H6 z;cBswex#t`eM$b@1Cv?1*-2k7B7?ny-2w2^0Q@yynVs3UN~hMXGqv;OH{O2h!G~tM zI+*TmYnyF-Yb@nAN{t9uqF8n1r>;Rdd^oouNK^AKit z2bwz~wJgW=$C>G?+ZYY-7un<9^4caqEI8EnYE?Jn{6*QIfmo}uU8Rf4m-6MeQ!am{ zU@6}0&3|0{K_suk$Q4+C-LyiO_s_oS3K21S&1IZ{ThMb}-cjZR(pG}Q94IqRWuCme zb+-CRO>mWMPL@^%=Voh@C7hh4A;d|ueEybwyw2wKDVrjW&5_Qr-Fm8X5VD6+@#~%# zdCdNXKiRE>(2QLTVM!i}xn3vT%5T29d9P8aOhLh4<`r0h&8v<=Dn~$*ZeLh2hE!dO zkFZ@hn-<--x&Y#Gq$s@s$)4SqZOmdG0o&<}2vn_Yh|vGrfEHJR^gno(T{c zdQTfuJ^`D1V=|HVLc(SF-k3^#4W6u5VK;PK{6x5TVDATG3XWBLM9>M0HQlHpV;7Zc z?V@51$;*4Ay(9J(vy?dGEYTl|?vb^Sr?gKTsyEo;a`)Jy}#d` zdT~0eCC|Jg$iIOeD|<0S&{>PefxXwZ~yH)bm-qRVeoIE_&)2(s_Sob zZ6=@!#oy0l|2mQt##=+x5#W+W`j+Ykbp|xQzeIUZ(c!Q6I-!aOKVBvM@pe9_dBOf? zQlcVt|NFE*YDD~%i0}#8f%iR4uvRc#tf3K(|LS}}$yJz479QP06dk6Zt$pa3zS9gm%vxf!T90kbnR#aZ&$@n6M&QYu&;@C-G>ufh(7Sefu& zy#sZ?RHS5K!gvA}#?HdQtcL(q6S$EqNKl`JgY6cK6~T&tBRJqlc4j1khZVttVE>~I z$5jESBnKZs-+)K{uILYR;2Zzd2Ub?*JaD+Jtu2c!iUm(Fgd@4Rx#0*_I4dhN7{P35 zkF&zqG2<++eFyRf98lpxk6>hOWrWAUAh;M^ytNho)vNzf`{Vn%^!5J4V{T0_J;0)` z2gjOX&7kTRaIggUzncfR^XEjICCdSCSoH8_a661Sn1uMZlgxiw)xS&v9bgjb-%bLU zq@?~Cmzf#-PX<6d(AVQJz!S_cRstAvb5l@>0^$T5AmM}m)%6!Mpz(U3oC$cD_+T&o z*qQH}qJXvd*VaF{Y-%KMm%sv3#GAq7@%jWKLu;%99~|O0==lpeH2k3TUjZGE@^`Ed zEmlTWrr2K~Kw$5fTK#M5Uz9*%!()oU8S-DXW7fwSV6088t_nbfNxm;0240u`Qzrh2 z$bZFgK;*CF@PQrS5r+7My$k*e0NF+|BaqBUE=3^QNLC&cs~R8tmqCB=f+8Mo zDgdgINE%uFG~-A6FH@vIDG>wvzhPwOVPofE{5_n+`qvU$AJnzI6ds2a8U>(k`u|zjO1ozV`k&l z!!UERVzA7tx_bI3Zhd`L41)6yxIfMP0r$ID{A4>0gzbAPuuQ-x!vD02f0M&Mb>@Hb z;jab%Z$kYA)_;-w!jOOd`d@baGk<>R{V%(IVaPv!{V%)znLoeu{+C_9Fyx=V{+C_< z%%5L+|A}41f8|vmzvI7Z3$mtvlj=d`>3-yGcdV@*;0g493z-?<2eBlG(4nY|{w~Ol zSixW1kzC*xD+ncj^nn|~E~{G;t}1uUW3k|3jnexM?me=7#b V_PNkRy{C0@8bL z(xvy_-VQpW*O@!teeeDLc;EYOz8Q0J&faUSz4q$tvu?@W6Jdt2zzJ`Sjy1Ov;YaY6qw4hCg|{W=cD3g!6gJubvw?!h^^e!a)a{?~D=9B|IRjN{<=>s(I6uQUTv zIDe%D28VJ%e}M;MW99gjFEBPZ;xB81;#mJDU#u-rMy6;>LVU1^3Sj@h7D42(SZivq zR%&^O7{&lg4gYp|Pn{Ra3Wo~bgTgr3pdxHS_k;zZ_c*vjgrNu#b~a9gFoK_#6^h`1 zv)yGE7P-gHF2p7*$jN#S!O6*WPZ)L=aStlUuL+U0MBCydfsF%fKE9PT%F_DVE<*|N zZ`~4>5h29?RTK#ES;2b$5H=AbQ){#(M8p(jjlPH0!|J0UV$_^m5J@z~(E0&22M0uf z8qUejZ)I(XMwt=fKN!;0(fOjMqr+Ws>^I+Df`o@>pQ(~@QoO9%dK3ESF5$hbQ*=-= z81IsujNl`LmRNH^ti3vpR|qZy3o9ozCmW1~lS>mK zh1NGh{hMd9C`$n4J8AN0E3A#B9v~G+EFe`LYYo^;4gE$lZV^97!HxJ%u&}+gr~+;z zAX?N4Mh*MM08uMeYS@wd@bg1N0J-3?2#gvCJ^(EOp5aK92hU_Jv3d$KS6>M~^aodF3D`2~Dm$<1vR)0kMzXi-J zh&9#!zk!b1((lm!M&Q58I*b*L_#x=_5mhR+zE?Odlx!+5;SE$WkZ|a{c{1|pKIZHs z$+(W4#Pj3*k6?FJb{&*V6XVf0UX9n@d;BT3R!t?Hgq_Q8k+DMiB87xad;CcK1rt*u z{}(w1*vcF~gq^@kr`4LJcJobx!zoXr!`1$7jN{eM)0-AM1UEX~?eCyo)6(A5qZ`F{ zm*XwMlijE64{+inC>!wBA1e4d$hT<6Vl>;&S=V&&UBG!G11j=VW>?{h0f>pK3Jr_4 zO@}j-u2)N)9!4Cp$k4gIkYwrR4!$YsuyUj6Da4*mJF2IiiRo&k!R`C1?h`kho^LS~ zjbC`;d(*q|HA7JHycCbJHQ~HQ3%e;DZKByEgZumHS5*`KA|q{UDCKbeM<+Zf@YTx8 z-pE|pQLo&2)!tj9$!&N2syv02CD#tDT~1|16neAHU-zM0l{Bd(Y1B!zJ-8Zwz+wHz zbI)2wQ);_UYb+e!EbI2u@$m1Rc!|tk#owft({<)Ae3N$Y9>$~!ZgQfNMTgp@QXEy81L)f265Op!$waXr|=vFvkuKezW zEvrG5$`%cm`iH^61YH}wH4Dy5I)lk=i0$|hJC&yc+LeR-qLyWRuISXd%L-xy+ABF* z$0`FgeoOdFaF(w#`?t4G+H_)3Yf+suo}{93zAU>@p7(}tcy5bH!RE6x$RS@}aHcMB z7&e^|pwR9l(5vw>!aZv_3~nkS`rO~=cGx$r72bh z@7O<7F{yrw&>J*w(G;&RswjVJtP}l88}V$^dO?m|(x~v!x!CihEnQ*vGM=7knxRP@ zTvK}5sB)N2dj0K#X*#tLc$k21)kQV}Q57TkR%hc|U3rnm?;p$K3tuKovZm+DYt&`B z#*%Q$LXf1*fROVn!qZYxf-ry^vBC!~cWLD3$d^6NbjPpF ziQLQG36qdkW9YLm+WFX`k+hDg$$uZ%J`fN~*N<3`U#+WxW6$u)7gD=&DTp`lDQJa@ zCx zdlIG3oy~gNFo-B_vlq*2*F~KYr|bk>2obc!6EgFScj{C=(NFn~pKAWS$HYEin^m_G zi>LUSETiBXofEywqk^WhgpH>i z!N+)mLp3C6#JDLXRVCPs;_BuF$wJP>Ob2D#89Z&DC8!efz5dLCpKwl%taRN)F5H)TJ}WSJ)7AiAu8Sl~tXYA0FkcDJ)yJsr9u>s0%tKrZL1 zRDUI}C7h6B`)XTYb&=0;))EtcO~STn0=JV)&IItkakodV<-27(GRuGZ9*7=_8p;AZ z{~s~sk?Z-lLt#G+{3(_dG_tmmMOzAC&CIbFoMYsK2w_dJmR8ho+=Y!91~^;}5GR2^ zM&C%!8fyt0(NCa$3J3ljC##@SCBqj~ENA)f_RYCu95HS`Q;3-$TC78S>Z?+MGw zn#x|#fAFBtWiy5-s4_9FJwB=E!t_*8)WqAQjow{?eedX;&E7-HTJrg0xKE}a?qBK~ zjKAT&Z~VXhbLOqNNJeZ-4=?uv6LL)^HWCFwONM)q+1Hc^4yE_;!4e3rt6qn$sfm!% zM)K|Uog*1?ZuM8MW-eGZB+_2q-*&Iwka(O~9dwz(>r!N%|@ zjBZ^_9g_}sSob4IQ9W?QVi!Ydl)E2Qx)rVWJ~wQlFt0<6#i0FjZm^u75P(X?nklIBAxxB*Hi~ODE*er`wzASs3vn~(E#l*w ze)A!{@VxCIrs7>YSYL(i$wxiUWp5f%5!=AjFEC(u_wV`ppqFe3r5w#{6F z2td7K2G;*3o9%M?*3e!TPn4UX=F~_UjYX7l0a9RP2t6DY0L%H{pxEyt;AFpF-#>Pe zq5F}Gr?!jjY)Kw3-*iN;%UK#6AIUNW-`F<3^Hz3tbFJAUoM7~2?2KwYFS)%?{Nh2n zk^Zb%2t>g7!Iz$l^z(MtKnUY~sX6Qx3y{Z$cm0V^AQ;$kWq7TSv)7tyVl)>DS^F*( zj5?jJ@q17*mK0>s?rf7k`+2@>E);rukQm^TC04yI`)*RsjAMUq#3$XR`nhIlU)kak z@o;!F49|S;S(m^;Ce0>qReqHA_Cf3ZtM-!PVA^&q{v!$>s#eF{abKFj&RECv1HIXa zsm8`L>tUifgRGe8Ny6xAyz%6cXgjIe7t~Wg!5KT1h<0Zi!x`Fp8 zwUrO4aM#`yF09$1IaWr7t#YZQe8Em@(X?!~YOb?J zjQO2+w^sgx<&)`dTMKD4o=$?agPu<8W&6Dqo}y$)u8W|pER!tvOOU;dcXh4k*y)K#4SE3s{*ewotdzzMQ6YW{={1bYevy)E4F^c z?=pqA6peaKB&E&o2UiXTLr&M>1J=Kx)OWw*lbKaf2qXl^D&J?Yd$qVHUoO)CGOgv& z?oRwX(21f|OH2e9acoTjd8Xs*crAXk>dt~&E>k$v0GUJ%9()y z<$J-cN^>6w{+z|wgs;7QlVJ1Xe6yzGLWHZf0$Hi45nb*J--B?&bCU`Ct<_qNfd3yq z+yc1Qhz;BY4)gGaHS_eE1|c%sPPRMO+0c5co>wp6-Hi$L|4O3LF9Cm18*VqlB1t$mkhf#Ye%k)-(RyN|GO zPnLGNa4y~~@0;l~%!{oCWIt5!OSzEH3e5DO&4d@H1P{_Ly9Bn7?J3VZn*i%;)8F-s zuBq%!^}RYRMnniO$6v*f8}}+TPfE*mYwN5_{gl}Q%4_qi5yl#{s1$Wt{#?7wa{Dbu zr11kVoO2x~vj`v4BAZb?C);Zw?R>jEaoVni7zrU*XTEd=*T8CW{N_C0Wg_inal#`E zlt&ok%*u?^Hd=RUQV%r`M{78=vv2MN0vtdz4E8YV2M~RC03Z4rPDOw|rtdCSghcI8 zH?{e8HTjk0&lW0?M)Sh~3Y=lHSg(WdFM4^V8^(H^{$tg0-)t6XgFOPw>Kt(D_N8hK z11Nxonm{!2ou(ey&;7iPKH>Cp#naO`EoV=2wVMbO(OGX5RfA zivU*ID0#yCyqTM0%&d+bud|EscEozD6#(&2Aqeb}W=xDdaEp|#4>SRYWYXv!OW;@8 ze6Efrx`VZ@5{2*$!Q3jbVZlM%5H^x{XTu>{V1f0zV}NTMX2lpyvjJFN6cJ3B6}@(4 zdwp5zcrytD4c$?L6o*uYUyO&N(kSGUw!UyHa=z|R*>+EU<|Nk9 zk>Rb-n1uL}n#TU>1rcNN-O2X^F~O}>jAa6cwVuPzqZ>1J?CYo8igkro6LQ;hN6H@< z(Rrlx9jsLh4dMw+F-~GbS0WuyUrV(sF9ekFZSE6ByY%*RY{_;lMDAiszmBxM2BdtX zmqe=AT$`CmV|edPlq^Jen{jS4DrLGS!Wfx)9J^l1r+iNl(O`m)%D)&8Y9vg zBawb$XsM32jIu1nsKo*mlR?J49epKwXS|Zng>P}tWobj(_GX@p5oNFK6hdb1a8y?N z$@LV^IDzN^@$bf>g2H4rZjj4xqzbPi=5zq@Lci63S8Hisj-FeRYR<~QOi~<4bxj}+ zZ5yyp_LFl}n`I;dQTI~ajCQf%@9fTXUCqmRfiVGQW79{*wRmDRzx`c~aVrll1hMq7 zBAXb&(^{M+uPbmjK^D99790+U9^p32tmsR&njPx6v+t$e9b?>tZ#cYfIUuas7@Eu7 zna|*Wu~AYuH>Ou7j|b4}0n z;zZWDO?NXU3Pf1;md2>1dTjF`V339P-R=#djXmRm-|t=r+^+OYF_#UZP4y1%!r|pe z9VWMvLtg2^$RN_ho75xSj8V>aRBQ2N1c92n3QR9=4)3tJ-hVzbkZY&fAKo2NhVz`^ zB80rj0Z96x~geD3LinVT48&m?BX2yR;oXJCvRa8?8(4jEB>&lTA3A44|dfwsTf$_)c8Vp6xedtw}q9OqC*ZYH3Pd{LtE`t zq%LDI7V*ud6ul&UH6{U9`p*$oEm`b6%Uv>Q|J(&k406A~gyVW}*I&4z1x~)#jXWL0cn*D<1VDt)+=3e9LfTq_jgYM@RiybG5 zce_g0#)JLxoLvE%_~*9zaKc}uL@nj^5 zI8JTDWG9fgcU#TYfRuwF*&LY|OnWCk*nX=a$>AdAAO+fy*~KC68R8uttfX{t$RnqJ ztkSm=&|Rq@ff;87Y;Ktf^KFb&Z=W^9+df}|N{GE4w!As(9a6INDR`lBKZQCi_58x3 z7XMW0tY7K74{a|h{9ANz`Oc1sfI8f;+p3-;sOx7+|zocAYu;+=!$oLkWy0$l>D-XNi#ekLm%)h zmdiuCwvzi4kQorWZ{RYdg%T6HDV3&Stjo$sRBn-0@j;FE?TA(_GEGe{A)}qp8oj6m^5B4` zC{3%Uq*d<2;dxsJ-DA>>9bv?a!_cl5N1+!Fj^!RN8e#Ix0iz@UZB|8UxNVKzRKoF1 zy9MP~^+=1^OocKaxP+m^($SeWxSqG&7)?jUWNecjQj`U0lAW5S{`Z1|sCeP>MC!rXr3uF^Ep4l@|;h}B6nRxjt%L55z%KzVrJiXhI3C#D?Cn$_7;wCvzX zx6|4j6K;IhFR$78rlrSqn#+oEZ!9eB$@GVn=clmRAf-PA$LZo7WT^3LX8yP`@f=An z^}x=vP51%lECX^(Y7WE$4va&+LtYU#0poulizF}C9(bDqat?i{BhYncNyHaM7;t;u zjCpHUr+uQO3~a7_)!ORru8w4fcZxOQ`^;ZzdQdhM7ccIVdUat&Ywx2;NF?0p(gMr!{`T~* z&q}iw$bjbgzQSoho9gu`{GgIg2#g{U1VYTSw0hFRYxIo%SxfRt^Dm0$Qp`67AvMwU zN%9+{hZ@LURTOJ#^2YDRAAk{lLCP9z+`bdZ6=Fk+Rh$+N$titRoTi^T-J`*stD#+? zGTkHZF2Q*mYs18L*{!`e#j1a3s4n1Kr3|)o%VOh(`vvEdv?xQfxdwr{c!UN7-HeMMvi* z^?>GZ6HO>UA7Nj~$4DT6?*CxB`%q3|qag<AgTVHRl5iyP&!&ja=-SQqP+{~|K2;Dio4C*r zcX&+k>yU-i;Rj3`<_E;CSHR;^&y$jsCR%d{J{f;Uba;LqkGInN`nvBqh|!B&?gEfJ zl+?&T_SOPix)1G9?VqprG~h~k3FYR^_;}hUJ?t!sVv-dPPu7L{BfXx+DQkIXh{vsv zK^X}u%EqvM>8|l4)n!3SvDQrYn_i{Nj3*QOS*$f=t&W=K);6#V#40`sY~jZ^T6Y;w z_lRdfc7yQoIZ_6rULEtOuH8j;zd%g4#Eiv}xMtd5vu7;^wWw7dm|~6SNFG;HJG#B? z^#-)Oyvcag6#W$GGHNTNoOpnzNFOdyVgPe~;l^2-Ib0p;Ps=EI8kNW(GcZb3$1s*# z!|aQ+eadma$aapX8$nYOHcHLKVGd&9j&%B3bwzbqvYT0DypS8X0A=On@xu>z*osh9 zknfZE*=5^e4o7FG_FX=2!l&UQ4XVofON$C_h4yuulT!THritOO)%wMTqO}OF4R)Z1 z4}Vu3dBY&%OTuxjP<%a_`S58uZ#xlQAT1-oiVX7$H@akTG31P+LYZrhznF$?g$iZ7 zhn|92=B;Rh1F^>=DWiHx4bM#AD9PQp_2}xcYpKlweCGY*6OHdYTnQ~>VmLtwBDmQl zc~)ohoQ$c1b=M9^)>A{vMtqZzM@bc~%upGe@?oQHb+mvQ!)F~dBhc^hseaerCSgwa z>4@6sa2GO0uI<5quWQXuhdCrb03p|iooT)mg}_fd?r)3?{Sy27CMU-}B(+8xmcWF4>UG%xOd|xyf zXq|v|*~}>RsJudbn=vJ0V}81>V2h1k=PN^}Tdur8V3I3oHd4(aLcqHIHSuXKAUDIo zN>M2voLkb7mgJWCa*5gj@~WtVlw6sWrMX9Sw`5qG>n85*%q|{q1!SZTsdjUr8d54` z)6cQ6U0y82DDhTjsBKn=g8GA^pV14zhb6=<#+2AxOkbp1osx4yi&D}dLG1voQsSx4 zF08@VrwBw=4c!wtnN(}Jte2J1>oyJetD^R`!JTRR=lui3k|SS+YJ74zVar*tQQ@ws zS!0IH#L9F(anpb=WWP=fe$v_|TRh`=PD>-_7Uh@+OrM-!hOso$C!W8^~aDX9`hr$CF)W#SN# z2KyHB9bZD56PPbgVe=5)3@*w=6*Je}EKsO6%i}xxamsf(ORj z1Z#F4B-~8-0FsXP;$o`WO5wk6JSSpFhH7wTP`uwszd5%5gnYG%b+n3CfxdFO3h%1+ zh^_+j6a5>(DdQ@D2TIebH+SdkTGC|?euKKzyH<&IIpU2zk?9~TcCi%2VzIpAtutJ0 zyQ7!XFU@g`CEa|2vuTh&5R@A}@hn7^?*w;^@&s=!;DJq~qj>4RDjq{#EXTlzc_ zRb!BfHDYp9xDF_M{}~WyC@Fz$2us=HIT7*+kf@ne@glhgq(WreLLyCoQ1X$b{ORSO zSKLYzEY`%XJ_3PCu_;hQGRwM2B%l$dp~I_RI#X0AF71)BB&%#kSZi+v%6(M%E>d=O zGQ75LZ5Mez=pK0NVjOmYEhKJ7bL2T#_X{6xmPa2t9kTG7O@4x9;i`F5@zxDHiy=ey zBk%G<#!LoRsWcA*gr#Uq-Ed~bD6_(P>`fcb?oLwQ+-?4pl%)B1hTafaD?q7)=`o;Z7Q+QR!?kk#&Fm{fG;+rGdL>6we;vS@c&Q{6Ar#1!5j-^#I`yi%e~ zxj9-PKi}{4H8rRIaQUlK{Zt8fPT(*H(2q z3}vWfk+&n`7p%w}L5O6I**|a}mpSICjwAzx;gCokL)HE(qUSf^Mdk^{s~$4g@L~;F zTqQgRw@thHSAWOF9*G;|qk1?@bY-slw)1fzWzRxi-ZI_##oN5> zAO?I0;lstRC<$aJW`H*6x1jEa<+5TRVef=64yZXCpZvnewq3O9CxMn zoXIT_TM-BTKiV*98en>|_4!@U&h*W0R_?x)t>*4@$BEZOPP^K^8aD2(+<7jr#Zu+8 z0-cen_`KVmKv9p$>$^`^-|Ed;T}fYfK}44f6qQ##+^ORot7V3Gp5w=UrFo6db1Cdx z*E6K+Uj~d!K2$GV<3g#TKnZ2Py85~@E;TYPTBr~v8YndYvSV{C#RcI4{u0H*-&ZtV zZc`S$w)H;CfWs&I^;v+A00hgJh(PC6O@|4B7+gXfp8_4z^-SurHkBq+lQ&x9Z8Zk< zk*utW@h+B;>v68viuI|(%MLFE6W@lENy{0PAbgA&K~8k7=xZ5PB?sgk+HM&2sa(i; zD(>I4l?>(wUCdY2qd`Jif``?%ntdt?+3kv0rcpcR)A~XfkU)KuAkdTd26lt;lLIoU zI<+3R!!d{DU+uWnbG#i)5?)xFLRC?Kj>?Jn^D^R6X;)W@nO;!ZX*LqHkIUIK;s@BV z9!^I-1=UYn^%WQa1-Hzv0_v0nE-NdCg~k(+-Mq{3_zT63X#2H1X~#LBf$2LVj|GKx zK{1$_P#%{cea7u{L>oxr2eQlR0>(Z`&B{)^qlL#Qf<&G;EtY{?-CI$uS8W>UIV8`# z8zk_xp$Y%V_<7n9K}(iPO^LZF(Cr&lb7c{C4crxKSfu%jjxTnKrM0vSS+cPKBZTm4 z$#hUuum7rBPI(*Plf8uteZ`GE)Eo%O1gk)qV}f4Za@i=!I8;3^PS48OT-6N7aA$rq zbymfm!a2N#GI)*-%Iod>O|Wdp9VC|`NF!2JFc!A0czmW z)f4{kjyhcBEpdb1qKI3OK{yP=S9?NkN<#9%uL6+xpMl}s3s|(2W^RBhV?YVWV)h*_ zQA%RpIb)X+SP~rVw!(|ofD(G5FH6S2bNs3^GSo}F()~RJz;P@Pm&t}mRIyA1MXFc% z%*ZBQrq`1ndicoT*2u?v@5~tv>MLM^l`$$R1$uv-BubC7^0;0*uysr9rxX-dzAra)ziU}*m9TW?bi~OkPuWMF*2l}A0GKKtfh;m#o1E`yUtT<8 zCqF$#(NjG3ei6fBUolAL_3QVN8mSlu6ZQZP42@ABcR$k|<>gpeBQW9|75IK9Y$JXi0C@u!z3oONFf4J$}1aE|JGsqapH9G&Q&IPkE-!Q;|1 zzm&KNq2_0*hF1^qE9Pd@Pib)bTnYg2<&2sr#`6KtkKM0ui}Ig4HVgbkY*4C&H@6~d z;L-`bLZXWEsK=nx-@Y$^zue${U;OV+z=i*E zg36_tpC*bHdjusMq7R?1~Fd@36kJ?ce)sX{SkRV!>y) z*)+hj*)(l*h~12^IxHI*ihK>XBbT6$4NQ6N4XXZw%f#)hy2hJQw++oH6Y8i9&4)5y zMwRd8wZiT5BcjSHW7i1yKRk;n*N$(8+fTUZ{5B^oa_Y3en@6u+)-6-+dyp-z!$pFe zNbh>lku|teE8QfReB?LFPWYtr;bY_t57Nt9&&e>d(0iXgpE~vA-izO5Tckd5p2zQd zKt?G*moHLbj`;Z47Wr6>eaH#lao&o)mbNK&q%xwVi5)ZdN*ANCTs27A)_unb$3YWerc;G z1BEG67bSW4h}Zu%S6@-SjK_sVs-Vx~ausH=bh}+&RMk-VS~tR3 z0~-#`ShXt2Kh>vV^8Kjchd0@D{lI}sFt@ww#yho_suUitAqsQwfoL5|dk5YT$46g_ zBrmj;z9&#c)NCe{&>i#;TwioqpvlUxGSj*s;>K)V9ST3zz7N-HRe$E(a~aiEsYFv$ z=$0Wx*Y#>5@Kvi9L7tySCby2hehF7a%CIK6`zcMX7m*?z^&}VK3ZF7Hf2g=_e=Rib z$;dVVA5A^Q#VkR*#~GITJH(oNV(pbWLG8=PYkpqul9pvcgmtJz``?cPb_38|W2xuCR4o<4m@;C7GeNOq7vKc0PH* zh@D@sQM@79x&Fd5B}II>z!UsoeR*;ETL}UiH(%5KovQzIIR8IUb==v%e>mv(L%U&6 z7&z!Bg|afCJ~Air|NFWgA%W?KUhuGqPxE?v`W6p;=4aOWW2wTecONo2p46uCev_cb zb@zOWnQyRs?v?yUREI4$Jp-psjwn$(9hi%(zEQmVnEDL(?*x%luZQZnU86cA5$V8f zN19ONAv0rNs^duRy2|JSbVzP=Qe=`c#(VI2T<2~Wfg0xBwdd)bZMUNH=WQPeCpX`+t<>PCP^mAv-QrULahWEawLxMp zMNO}3F6}rYiK4>1-UQLFnhPzel~~!qIGzp$J<=G-&XkN-P-F?ZJ90^p(VM(P2ScZp zTB>_-ME%Bvaxaz+ZzS0mgy=2tvy$sxNa{Gp-%2MstUQR-t{vdFCOxz|y?i&^`*D>o zl05L~NcN0v;A7Tg>E!Y(?IOW1nvCJsnVxVZ$+MhSdEXjP`}QOK@2xW{QR=79*v4c& zn_=w9@$dbuF!3}TbNtMbag`Y#VeYjcnNUYh(FA9M$KjtylaO4E6CBS$Bu0`eIG)=R znGnw4iE5#bn_5ME%b$z=6tCS zt9RPV40!2hWZzNu*7K=t0{Pu*rwOs$Eqp>{YQ%vb9}lE999!qtY${9EPGi-H+wQ`T z_)HV^Ad(`SISsi)(O!fkAvEcnn_nld8~He<|M1Kj{ESt^H9kDGugSVE8crCYMc@N% z;WL}TR3bf!uhdW@xq1A$CghwknVY3W-U6ca$1X}ICpuQ;Axo}@A>e=^-A9}@V-gcJb6_m#zf!NbWqf|ciu;F-%wC2&z2cOGkTZK zIhT1A(fvB-WQWyzDrEG~xYY%Dli5HQS*O~o($u*Dg?PKli&h?EC0M<6F4C$Zyaz8A z&3slTl@kmG^}nL#=Q?-!KX)?DV4ogz>T?QAXi;6?-U}g!Fd*vvV%Sr+F*UU=i|FmW z$5~kY*knn}YLfW8`2Asj$SqC@!rzSg5d8g?`ml0x7izk9X^}-Yat=7~npw_%)6p|-$LH2wF8!T_ z`stmWe`le7Ip_@kcL$w+ezE4?oSFW|gU;VxF!~4k#|r-=x`9JEVgG^2<6wpV6yJb@ z&eK+bN^d`+4r$6X35EOwa6#+Uod@n z=8V@vCOLM6LBeMXssbe$UeL zxCroN9NAGIS#Cyy7YOnWP{O14z8g%DS&U~bTl zjdbcdB%ZB}CU3^E%lJ3D&gG0Prc>}G@ai3v1X|8z$`j~0psP;SAMjdMwQU!b?!9Fx zG){ZSzc#FXj(fjJI7XIdq?}-yLVRYbwV_FaieEjX^G`EV#8NOx=e4+zaKbe#xv^SsQxl`%ob6A(J~aW+%^bOVW6f7Y*XRiYj&_5o9tj&*LM4%PMPtJF zZ1(HlAyX0$Eayk}(*?3_yAZD+R;?}t9Ap(bE=)x;@u=)?Hb=YYFV6_?wpA?+PG7l< zI}v{Dt5h$u2cZqAfsCfWobNXMAxxl5X4QjwNzDM%EmSjp=*}>y6nC_ZUoS7lS&|dXnVQc&KB_wwZ?vT(i$96~>neP?(0!*!P zykAuKYQ;{*6Gm^#OEf#d=gX3BmdVt1;!$h4YWX`yX%x>=;?86r`(n6*Ca!!HG7Mvi z&Y6c?QjRzIl2BBy9hvVq^g_xiu2b4Ie{!XC^4@`F?3jn*fmvJFVPuBI#_H_t16w(w z101W5EiLX>c#S;Fl(P$wam|l=qg_nLu{^qjR!35Cxy%g|EUNiS%n!?LF02ura*@y` zFSDF2OrMpGkl{}k*xw&Ai=TR*rjzT2JLGcAHBDOsCdp7Ic2mkhfB7KNrdBwOayYW! z!$!%z=SGKUNE)x0-#FDy|2Tqt7B}G-Ur>(jR=E#prHWQ>s1sxI&`?y`Bl36eO0u$6 z`?TyGuJ(4n%s8?*Eefji9+wuAWb)%%XPVWmcVbd{G$Pm6ouQe(87x9gdn< z3At)+9OOGP=yznnKG!t1hl(L@>5L1^Ek^pI1uP83sw1eB1HsYOO>e(zrjqd=7yMq> z;AT9GD%`Gu-by#^3e1`I%0qX)8nIh{Lsq>aUuE7Vgy7+bluU2gf0c0=H~5Ggcdlh4 znPRux7%s23mprc+zBovDqn*coo0N#jZR1r{#=xhqP7HNJJz)zE2e0C7b{VFC!=OO7 z6p>yiCJxxhBlqOw%~*9Upxzn9_vEXysT@%~Z8W>3%#=I)Ma}Qa3Kt%j%-hdT`+4IT931TqfS&>2Z}`dV&A(MTw`r5D zT`0fx_G>>jEZ5D^bbnXdZ0BoBIiDeSA5VKTMANG&!Z>VwuJEzzavCxIPBoC+neefx zb}Lqq-74Qxa1Ou1BIj|x1-qjyDWor|f+o^&yyAYf)Y(Yu$EIaEoA1Bl3T@)Zo$Il8 zo^gXPH=Hein%x_2>yFa0n$(|UrmO8_Fu-0xB)sLZOTw|>*x;*m-O$TdWP^v}ttDcuH6fDQ=Zn2QgbnvaRF{Y&t-K_nFB~$ z83uKv%ovqL;>wQs+9!1(HFkM9T3H<19j#UnVwUDmXU)n*CWl0w?cH;>CG6W{Jrny) zj_X=W6EdOFM$!Io{Xw~yQQxCPOJ@~gOM zUkqpFbwk+zq?|>n`=pfxZadlePV?BU$Xh@R`d5};Nihtljl(M#5pX5?0rVXQhLE^+)*D zJ_CGW+b-fEd&5m#!5hHX%!bzw4{#gHZeJ?XdN~}ge=oX?rPj#r(D*JB1ZKArPwV#{ zU(eF{!Z4q$Il4i(7Dx8WQ+aV@BolFIuwE^vl&n?x%feDq{k9lxIlj%+f_9FEsKV0v z;lrtby1d-O!@l$@v*GOp=H0;o&3w7pZ`^pl>FAfZd;}0oKzOexsax*ktnWsXHKC~) zMqt;>N=Q>7q#EAXC`H;ne7k0WnO2)Y;}tE^qjP9!91dw*0#tAh9&v3z-%K)EJAi4H3)59mo4@a18q_cU|r&zo*7$%e=T zQ|(b_OhpQ~a@+Lm>YY|5ndo_O#H?N$Z*P=56GYCQ>lAQbT)?EsXqgPS1cB(o+p<{g zC|DE~fVX0*aj{NnVZ%PKw^G{3z>dDO7s$9tW)h6dkX zCH?;LJ)8~xhum|sZnxL(zb{qt6zG(K<_6ce z+mIX7M?-~wx+{V)M2#dZR1Z|2o!!@^nfF(fwZXV#ypA#`wEJwUy(ZiZS>`~@m67+8;ng6t^ zf0+axfJyMbodhsRN&Pb}Gc(Aa48ZX~Uys`WYiWkE=0};En}S9YI8HzS5?;uUM?aW> z8?Ohtm4KItkM`n^o%yyY3TTUez5553O^x{PS+Yog;K>i@ zxZy{4{}s>?DSyR^qs7|D+7$f@1RU7Arq=&@_Xj07vEepFVGQ|h*fZ;+4Nx|w);IVi zQM%NMxMn8Q;BDzYMdF`m{8to5H2z8rFW3-nAsoBV_rU-BK(t}ZP#80eQxS+ZjFlUX zP~(OCGUx|8eoV(&Dq^vw{GjKEgpu`6Grr&dWr`GN6k_1;7mNsQHg;|p8zU6K4TpXM z^3%v)VSH~8^B+O^dF)ScfE00qekuAkdT7f(Y5$j-KMg*TUG95WJsX@hiQVJ3u`$x; zM(CsUzz5BYfI>N$*`VNxQyv9;tnYo~7v;hYi#){z7`vdMzbHBs=CKf-Ljw4z7b{7~X zU=tyK8pXee;h!q=KY8(E!T*y`e}VO1B)>4^pMUHZQi z(?gD8Nf4mpqB6RBAUR?Me{hF^FbLOQP3`-0F!fuYNDl$=-LFFtZ0tudAT1n9OOI=3 zcNCueIYSW_P}BW=G)(^^$^703k(%w#&X&0TmFx%v96=5GU>>z?JZh-{)bvR0{VaM;|PPX|Jlj$e*toq^1J{5 literal 0 HcmV?d00001 diff --git a/postman/test.data/images/2.jpg b/postman/test.data/images/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..09c08240a9d5270f996fb372f76c7eb24fc8e19b GIT binary patch literal 27653 zcmb5UWl&sA)HOP|5AGg3NRYujxDCOb0D}g12!!D7?lL$5f;$8mAh^2@4grD(2#}BG z{oZ?j-9PtKopY+XyLQi1t=?ztwb#Gpe`^3404g#HDhe_xDhetZ8Y(&_9wsIR1||^@ z7aNb1h>VPsh=hcKnu(Tzl7WhZgpPxbftiKvEgLy4CpRZ6Hxnxx>wiHI(9qB@(J=`z zF$q~INGMqUe_#K40r=>M07L*1!W#f0J^~Ux!ao>*3IG70At1ay|KAG%5$W~!qM^Ue z%HRPIkO9a@uYUju2@wSu>2)O{551t4kltuz1= zoydp?!I1aUjEC$Y0>piWjs$=*!Whh7IGg+j^*&!dH)=)u(o{SYev!qLEg(>BlKfjL zu!YO%P(I#9s%ZDV77K~SL3Z4B51~OFx+mUn-?~nS28=uNzCEJ)62Ij+D)imCt%b|& z{P}bmXAN)@v5EgoUl?Q${<4B$2bFN?~(1DfEY-Z&ng6bao6_Iz?+M34I|RY+u=RLp>5 z@V)92m1@#Y(N+z_psSN4_NhsJM!k+tz7!On^YaMN;KLKxLyGw_@#mCj0ut}hF792Dix$Zoo|$idaZ2aG{1;iaw&Il@#4;$cw+qo zT5!4*_=m9fhx&?^vbCMv;|}Js*lah;PyYc1X((ZqF}OSqZuyppxJ5PMxC_oMR9ZN3 z^_2erJU{p_=6#pc`FE@>)|aqLmUJq&Ou{*03CyfIP$K?O z+0%McgSCLiI*n#)$Y_h$Wb6Ju5jhxyhk%SHjfn0p4S2;HnIQ@R2!RPPiU2_l*@^%_ z7mSW5O~D9|Mt)s}iB7ix2uA0YM#coZktzg70zN}KnegdZcxn)8OG;2}u|zAhc99LT zc{9#E*A}$zel*?FOt}nO)Vnv=ipWknNl5!HwMr7y`)hTDL}1VlP*a^A@=a;UM?j5) zshwL2@bC4|9g<-1grTOSr1Gm(|0&69t3FY!wE(8UO9I7HnGlmlLtBIyt5Vn$-?ieQ z#xc}t>ZR8Im-hFxDZs-=hM4@n)JiL;!Cqeq7(>W?%W``kN>GL47yDKK4~#Tsk4^;+ zE5(5HlxEg(UL?5*hVgRV3_<;g+Y+R~nxrO=ngrRtf$oGkmF2i-H+)?Tk>`}6-{w#R zyQK>0H?7=`v;;V2z(U@YJFVCcJ4kuN{A;t8G7M_8#LpkF)glh-PxAVce`DP)_E9CZ z47MDF)URMi7%&K%)KlXDErm^Tl>e3&fmY;}$5I21cqWo@43YX4m|7?nH^cq`R%dxF zU0knF=Z#fG|&EIACW+>;|%pAB(q+zrU zoH4Bppvs8ei?EG9%ZZ z4Orf?dJnwgRa#+Cvz!&o&$s&IN53Y)u(EDs*>6E(&S(?b*$>}8sAo3e--053#G}hm zkv^m8ziY%;jVEIXT447`3Ot!x_>}FSPxqb3ORwqvWokDosuz5ei#|Tn81bI8+z(;x z3GLIxgryVS?&_L9no6zXNtM;J+VK4*V%k?Z8exPjNQGF+ggC!;O5__fS+79q57Ize zKrjmO|3%w>pri{#cY6gTT`&kCRdMtchCoF+L`K{H?!;HvN+IJN1OwQKcVbO@eU6HVQVj zxrD+CgFd5o@rRf< z<>M82*cqh(p`iRtuJ3QM({eBb8h%J3$~Nu(a_lfGS{78Sgfw-h=;0Lh5Y$#s)FY=H zn)RlIl5;-3xJt&5Hk$S@WrD=cwf}sS#Iu;J5dnEB>s(vng+)j{J??;e> z9nNK-?J20X6z!n8nz*bf{i&`kWyibVJdMiPLvBUU`XN3&F!It;k2A%|j`F-zJZ&;q zJroD!q1ZAWv~T-l#9wIWH@{S=^o1~Mat>;it`K0eB>PK$F@dl<*x{!fe-olW#xf(W zOW>EZ(hm}!#=}xM-Gf1m72G7$Cv6+<#Q_`Kd^Kzo-0lqr3LFjduX4G2OzRS zG}8fKx@;##|5^!1@+ls8sX4wA5*C3}bfgzoBB>krZ3&yrhg1*988UT$Vm;LaH?Y+R)(f`T6^1+M%nH6L_ zWUnPl)TIT?W#;`aYtpyk1c)9XhK)ycUkU!Y<5~%MnWrtUgvk)cAU#GNHEk5`T(~&l zL=8{<0~8@)1-=yj^vfen_zPLZxc@^^KpE}(E)5p)mG#&-Shq^nY5MZihHQs-r(Tm( zg}y;PNHfcEn1^(-Uy0P$7?VX*plQ}Om|saw)N$~fUv|Xg5liV<3B(%MkG>>h+mJzv zWfCBbzzQjMIz{$vMo5U87`->D-G`<^C?m@WW<`jQ+zLn{W@qOmSyUjY_a>%_p>B=) z60{8h=CDv5!Z9{zUgQ{ZssrwyI81a$&(`Z5ikJF^5B(xJjOs1tFKxgC<@=MwlvQeUzlpHkg>k7zEQWGdiD{-ZF0{hHy4h;OLF zAVVzIct4g}^Z^0W8+mIq7(WUcn$U^Y>|@2vflzDG3S9t3q-{_Uz9z z=2{@CM;!U4>bitBW8n}e8;nCGDlyslMJow2nkVysFw&)| zu0GjQzi6kU=Tb11 z$Jea0C7SQnsX$zhwY3_|wgUpiBT5f29PCIt>}Uv0M?4d?^3laT!L3Ler`N_Q-^qsz zWIh`A=Y3Ng1}a3ql~A;HrAS_4A}g`3-!wHB8OUlndzxvS3H&3x`F0$n=nv>PTFu$u zKO8KM;LZ;w6<$ac^AI6wsf=zA8neYy@zNy=py9zDo!R|H^Xca{Ln6{QlX|;@8X;ZM z&Y820h1w(S^(CRFhQkOk@v>&R=l5SSNry(TGXC9pVUjB(NvsIVDI6E$v zF)4d!!svI{;Z~Tp$AGT!uaZhQWB9`2OV{X9W4NGTq#nKDEbXyy$QZfWo0dl9AB^fd z)$x?*hJM31zPQ&TJOVUIG=>zPUV@w;+gD<-6Am`%8RgjoE)a4gHg~6qIQ2V)y^u>? zL}PM@w2Ocj25qQ&eBly*`_M&Owo0BnI7kD+y(h?e(L^1n!?(&ipv*@jPZGTZwG}Ug z;j2b3jgU@Pmya0Y8I%hA zdK!m*o6(;?2b}i$EL@%_N{ZB=Ec|O~`n&^+IuW2W3J$#zCyn<*SshofYU||r0K6i6 zuivQq%J@A`Oh>$8u!eoagsK_K^eyXT!u3Embau8wPhhQI$`c6G1i_!Ejl8_Ux@NxY zibFqVaJps+|EnVj(EHH=c(VT;r#OHWGUh9H`j5iDQYOV2Iz&pk$ZR_)Ml4qe5B$#0 zN0IkNN0HG^Wg`o87V6_J6UD;79{XT__p?qG_clSC{2e<~1$htGC6&XrzcpKf=L_*j zeetxobWhgwB_tsgHg^lYT9FneT=Y{+lZ_oYdMvXv+tfMlKPP8rE6`?3VcJbHCZevT zh9|?*7DWis)9S5+YrflEF|pOBycoKP@r?kmVK=&M9CUTF)0Te)m#R1k*e{m##MTT= zOem_MeZoVXP;ryz)TjEvkDz#}@Q}aAQ6(^Cwub$LM}0*E`MYl0EqE3g%67YxMAaR5 z0jwaQ@VKI^bC#o~%Zp)9HUT${j^Vy)-XrE>N4z@#Mrd@0%~|##@{8PV=;Fr@_nLo{$YA#FcU|0c>MV|!~#Z&((&XIq!Xf0&Z zN6ks=oDw@UCsWH9^DO5?Du1q)~XUP}Md$!JJf6tY{hM!(SY}eNK=vDdSGxe75it!d*^vdA$*+u-^&p zRmagklhir|=cqHe5((oS#+*UH^vpgZZK+UdrRR2zHnPq%(ae<_zqU z58cp6sfKkr&tO~$kyK(6eoSV7U}@Vcq6TZ!kR6wsQj(^WPfwx8+JqNUN@Y00ZIw7U zw5&Ac$tc@6;QWr%md|Sa&4sA4{34{~sw?ObKm^GJWh86AoRR8B#tuyduYuIg1Mg&I zMUQGoL!g!K{^3(4KJ1tR`>MSVhin6&24}0eK$!idS-tJJ_(h$$vRTvNgL&qRD#YRX zZ2%=QIvOk3d>K@u^p_JCv-c0oiE_N!Z44aCy()+U57*=@>((ts=+kEn3Q&-P475RH zq?yA{{^9`40fKTP1ZnoM{me2T`fLXwXAHki#vUP2nZN6)SAql?(Re(nP0V?2S?4ZBzkOr;}^6cN&{>hW>q~E6ec*(Jl8~ z!Qf9&uJ%wkW%_wyfTQ41wsfEnV6!D&)0X7e_^~9AYbc(wIPDQI>!BJ{JMJZrOM&N5 zhA=M8C1H19Y9be3fxq&Ca9Mj8H8x;r>+ciDyTtRMiPqlfKf%ng~eQGlaWbW6;4 zd0t#c0ZE7J=19})e)fX5D%|(Fy;mMOpG28l?0zp(m-FJ#!pYLVE)?%hRDj_1M``45 z271gwsLM1xDeNbhbrbK}JLAw#i0O_NC{)1a=4{*`;a5@gf6FEuWGkls^eVtXFuEb& zjl7p^Ak{Oz<9Aux$hyxZI9(*IS_it6O|gD$)z=>&IT3bIzd;O_1SU5qPAr#NzV71{-iT^~A!qF9y48h@QH3~dQK3Zjs;2&O0vT~VwP)$Jllh8`I(dtnF z;96Y==Sze55sEjI!_rzO{<3|GO6p_+h$)Yu4rlXMYTO49&*rrrG#m4U-&bZYh7I5A z@2BU$!v{jmu+LGY+~QTf_6r5*XS;t+Ik{*E0ONowW8>VMn;W6~ zz2E`(kWp2wm0DE06u^Fg5P$~z5}bs0r7!T7*|xx5Mm~2M;_Pv4VEHLfju5JA0s@C4 z`)X108bIkrF?Pg~?U1Y+pkuXFasaVe;nPHr0aOmLB)!B+m5f7)C+MWaO4gtXkuNhV zslXG|EO3ANDe$|W0$s5Rp1bX9xt+4242nIJ6H@kdsjm5ayP~_xt(ItCNl9FoE-G?f zG(k=HXZ!*;=k~+*J(TnQf$AyO&uwMf z|D6lHTw1Dg)ut;KkSR8=gzB-{OAw2hdjC5`z^`vqce_&w&AN9pJzqN<0zWlr7LW%|{(KV+JR$d?^OA!L6ZG%s2}f0~WUk7p~`{GjQNiP(afl|mA>n<#mehmpx| zpYP>be>@^0sEYH-!YCO16Qu}1Ca-l5^dMF9zk>gNs((d>gD8N=E1s1Y!#A88q{drQ zbBuR)1-Mv6X`>VHa1X?bg8z8^_+vui{>|ufTVUI}XL(o66>ciw_>0)NF5jo(GrNz< z`Rk$t`iI$GtqZcL!g0vgi~X)={m!u9?aU8u;aK9zW1?m2KIb(; z&bTbBfL}j3hf(2uaZc88Af&0PS~!`@Qj=~|vk%FqH6mf(S{l_~vpfB=Kk4jQ7uVRv ziQZ+Y4iSa(sq;@BaS1$&R5~~X@l)C<#cE2m2&7C9CBn8zvVgU>@@P=4_q-r=Ikj0L zf_6GIwUp@-!e1d?Ev`yBQ(nhh2)QY6rT8Usm39MEj`L*5;U{YOyT>cuTw-X&hw^JiQ3KA#n`ysyoOk@~ zJ|(=WQV>(FKi?KU7erjr!?-nu2XZ~lD6m|p-j(t#SO(MbjZbgyJkb?V&0{pzA~*Qk4V1y zKE(BgC$DCxP0hJVVSu%;-=b) zEhb>D0^AQizYQQKmS3gnX8Q=wQlrX1bygwD%z+a(Bu=0!#dUlDH?bNFeJZf9g9dx% z6w<_r5x$uV;uV>@QRq-)GfMr5PL(JP0I7zk9h1~j(xrNyB)(~&PpxB z^2yD}t*vv0n}$l-lW-|J1q|5XX4~!9w&-Ws-*?}w z291aHxyS*OX(SK!EFoN8-nyC`M~>JL*3n|KafrxX>VibSM{%y@hvN9Vekg8@m*{l4 zVJzt<2=rblh7vq`cjHmeU?O1|!)+3cUQkH9gFU^~;pRTvtr0l(QXMun+|P?tr2a6c zwuke)XED1v?83Dhy$?>rrj!Gz9+-1LJsfY?@=#PSzgh^?Gw@nT0RXPkl<`*QHbigv zt+W^#KI__1CIessAT&uaP;9LLUK@2yHKRHoRHIgCUK9bo#ShVDDTPWknv-z+`Qrwu zl{w1{YJ!bIC70Q0ml>*2CAR*=?WAnqE7dNR$$ij^E&3FuSnhmA#T0Vt2!-zQTTt%& z2nuT>&NT6IAo~2LO4rMXrf=g?Gder+CSy{@nSo9heeK5LWsqDOaxRJ0P31*aMFab;G%47&5U$6PYHdzbKvQQb0qgdNNH zbBdZHj`u;Snf^yQBqP?I(3~1?%ZoAth#g6M(@tuRNqrHl9wb?E@iYsLZU z6iA~oelX?v%VoDBFI+&UmaJ-7UiTX|&oqY#7W#bnaYytpAeSKKn=})sJZlfiE0quV zZMjFOVqMu=+@LOdO?|5_*VtAMl}$ApDxRXD^9O8@T+wpmrH!t zh9w8`v)!eSe6fedUMg-yI+|3>?ii$BBb^u6InWR(1z46(&WdqiMA06^;XtRR9EtsR zT|4r4K9npzmeU*73=Ux#v+8g-Q}*L6QBb%W`75?$Ym4b3Z~%)cj9mB2s2W|zgkn^f z#EA?mLI!=mNeGhY32D@iX!E|Gp7sP3K+lKH#nulhd1F^wEkYTa7W7#K6-d6|MGqZ1 zDNpD3%ktngsy47_O$Hd|3rm|n1y%=D1SDGh^Ks>E!`26@ah>ARq?`PHY*27Vgg$LGW zjRhjJeU>UsGeq?N735yC9wz|`GQxjdPP!mzfE+&m7mb1qreTXj!A>c$$#0^o532r1 z_!dKYfeQZsXnLFJ;aY0fB5zISxRnO1%mKkm0tuq#L?H>(mv$JiPWpGq8~6>?iHI1? zA-=$>xwzqV2+d+JYqsMCP`N>hRiFQ)!O3cVc5NL?^~82dl&WgoR^)L1K2hLXWohkmL37fH9l3WQlk4gLp{GqjV6i>XuqU}s%NOI-| z$W-U<&h;j7PIbQ0WpsJ>onMI5dYalG&&9>5pr7#fV`pAnKJp=-2*TuI``y?hluu0q z@q4lDqWTRO;kL zlzh0qtm=&VxG-TyyF*};y*(vp(WJzBPlG_&L1d!Xwdf?dNhkVNkxN$XFY~6oks{8y zYR?CLCc((OYCA3vV8g=aw_U7edt#!D$2AMI+Insnj?=Nss}FoBbhhv? z-l$Dswrl=c0FD$9wsLZ44p1=|jA5V17}|7NGTCE{sqxgwjGs|G%q{u*)&Up00PlhU z5@)BPGa$5NhbI{pB-p0`Z%v5 zRutV>{#!0YzWitHCS}`o`$1)}Ct4-~yLSW@=?s0w=SqAKNy~8F>Pm1w0ASUzF*V{T z8T#FyKn(`5>S5t8{V_lH@+E^Km|Hz!uiHNR_y>^3bvt)R(On*%ne?bgH}go8usiF6 zQCxsUmDI6%SBZ~1kx~|&64s%Z#RF+1+w|uzUYqw_Aa)IVBSnKwf2VXJ{3SgpO&QG@ zWE({uUSSfmz)L3m-wC%(L`vq4q5zDd6X78T|Ia7r19D`sDD)sv;LH?Zk5kJlHmQF< zRp4)HM1hp;bKGBc?@k7q=aJ=r(atype@bGS!*-XY{79iIG<)(5SG%wk``m%k9m%ll z)KBijRc8>~#~zMk3<4nvvD4~srbS~B;@G>*M+R=k9E^z0&!R;qIg8DP@*aB@>oX%B z;9gn3K94#f0c#gV3KRA^4ZJJ+5K3A>y=^;6g>wj6; z<*gXgkc@Vr0@B&zK>|0jIT8p?3p>N#AH;VMd(wWY`#y7pS^zo~)5D3Dz@Sj5n)9_7 z9d|RILLHJ}s1+pf{l-O3G_6Qss3;b_*gPSsfpJtE2eXD~_+q-MM^WJt+||c1Zp^N1 zGc)CL>Vnb9^GZ83x=B({nB)1Un~EZ?P|vS%Po)J+wEVE3L;vD#X@;k-vy zcX7J1-Q|qTP*(~rM#Dq>JMrc6h>*0xBSE8cwn|)z_Hru)F%JJJUq`|P=V6aw;T9Sv zN@hAO`Oc#PxENB$rE2f)=;)l-Fgkq=CSzOgScl=Ct=NA6s>etl4!#k0TJ&d5-DMi$ zpvZ(#AVW^GcB88oKa3A{9=AZ`?|TL^Px%M9XML_%%11!}yyiEjKR078`r@lh8J|D@&X3-smgtR{R|eU@PyGvF zu7QgLnvwid&}5{L24pfmHe{@(^0D%GRaA7dgN?=*tPqap;XL&`6qCih7#GpV=luK2l3qe+-ANe13kxgV}hI~bk&D~JNvl~$g7Qt;ppNV^T zuUNnlPrpsF7a16N_3~HV8i>C5RPdi?<0BYv-Uh zPh2xp5+~KZp9wk_HH!TSRLV7;GfsF{RdFha7I*Jk4*T>EkQS0iwIpFME@p;t6$V>?gTt%Ct!r*FAefTaEc!_VPROAL-}sgU9k;n!gB0HacTDDurdQ+5g|BY&$nIi8th=qj|?SLafZAcl0rKAQ0+JdKeZZF1LOlzxVp2 zX<5vO#mt=wot<3}ICx>KMIO`69gp0g{JfBk5l-rzD6;Iy*-gsAEK+;U(Ms{ES;`T6 z2f`5L(sKLrZ_@>J{lzEkZ;e+JRP8U~QNXlsE8*uYF}mXmF+wE<3H%0;iNT(_LV3|8 zJMTvO1CIN2GLMHKpJK>kmgqmbnd$#*{8*@-8!{_KrgyK znZsI=Wyi(y<-6fRT)sbhEX%?vV_c_=f)d*LLei#;b|vJ=P1NR9y@~oS;2d~En-3kR zK@%U8R;je=#dl4xu%r>n9korTU9Q7-%K;;%e+04*31!nrn>R9t?>=*2w;dTW4AzZc zg$AwkeiLzQGlIu%=62cbi~WNR;PZaV!(QW45ngXsE_>UYW}tHx}V;#McNq zy{kz8?pWBafxF*%4wokTQ%%}aod%xj#x!;*{YmU-w72I1zpI}aoVw}=97IH|JQ&OC zv40ma6w#6Gfbw1q5j^6hwUYTzMzewQO;8?5K!edKhi&CJd-t@9s(8e$%XUok zx1Wi3oI(yR9W^P_PTbRy?sn}Y7JOiS>g^T9HC&0OXX@le)>dLLj2D%hoyRHf{n1*o zT4o3?LoSNY=bB-QJu$(kKF|$=E1)fAtYSg);*>GLhr`L-zpu2!8aq-YX4pp<4?(jTRTnpp_T+=w`xuHk`Vk95-0)9kQ*LSGsB~CZ2;X4Y@>FlEgQ!_xZ~`_kHeG_KO<&n zt%!c?W5fPl-kP_|<_15NCaHzl`QI_Sg<5J|Z~S1h{x(DmyGu?qI8reu`LZH(BSyJ; z@M6U!fn&buS|5_$CDP8lmB*(RG?7VYRGYKh_6_?`$8cZ*iITyTYlMVU<}}3~69< zC9rth?R0%X3)w9nBr4jSkjnMB(l8AS=_($8 zoMx3CE7t7^HrWZScJzJ5qKahLyLJ4styaFlCtT`K4@MG`S%uFUw!kqu%T7}hgZJ|Q zM6;;A-@aGZxPItwgQ;t^(=_aoax_{){nZqgt)WDsCwBYKI z?2#L4opUqRv(TO6!ekOioJyI-gq=^wkXDg_6W#iGUGCjSqSzR*{)f~lnZ zMngfScWm+Y;#zH!G@HybZY28;ihH`9v&>n>%(#Rwo^hdGa&ie0(|p~I1e=SxMnpyZ|UB!zkqh*SpiFQn$JAI1E=D+G4>p zQvKa!>>Y8S+9jl?%n;3tHo}D3`TJt>Tr};IIn=Q0L8wj z;vv$<6&k^)OEF)L0Q%Ie>?(2&c9NE55!!LrbYw>`8$xvIR@zsh3NXfb$y zfC3LrbQZBf1VXZBG2d|&=8BeFNYK(llqfkPa0jda6>Zp}yEw#kdOogc#oSAt!})&R z=HW$^D{z5t`xY$)`%K#1LlYH)25k2^PUHwj?X<-4^}HZ=CeIf-C&8un?asvZCOq|% z8P2#7xEg}mJn-BSOro`=WH{eBz{LvL= zI!!sT5wY)yKwP2;SLo_W3&_IAG3mv93Ct1O8R;s{vAN^f4^+ z&j5E&(*csB9jQX*pQW`K&rOoMi2-_?OT3MDUr-CIdS57ZsU~@sLo%^8RJqppJeQW+ z{Ay=b3}P&7fv(dHQC+omHD9E$eqdfc*rdnxHdv?AVhtu}-^6p7F>2VM-M?sQg1mLC zcfBG;M49WlPNn|VkmXY)mF>P-WLXI5{;Q@4(A}lj2zdXqG0_F00A4MF3R>f-u~IZh z2YJtC9t(nzC^Ly$Ij$#o$Utubfs^7%G?zmH0L1C(kNP3?ie%}4%#5~IzFuR-<5(pfQA#?^@+o3Z-8egkL;0|hm6%KsTC(^JgoAG(Ah$q&<3z2PLlF= z^5+yE5+PbJiJ)==0Sw2kETN-Eh-7ON(}>&5f!OJpB3iNT+&zdvogadYQm8ZA7=zi@ zw(wTI85*d(U$oZ5MlK~-h0ty!Ep%A}btzjhSZxP+WBMy^#FKx1YfRsc*bb4lh^vLE zx?WIw7_93yI6{96MVmJl!2ECWB?fPzINnc$c8T%|C0*t9`%cv1IAvh*mzLd387W%& zW}~wayjO%yYgdc%#x)(!NT#}%9DM9wx|N9x?2tG;YZfw$itZa^u$zvqDkO=!2x-&U z3hT};@T9KK4M4-BlnYU3qEQut`~!f+eJKp}wnq*Eq8K7>pMyn@z2tQ=Ij*c-8fskH zl!=wkGD%t!A6at3arTNi?y6m8J2?1}57au?YOS1#$5&~T1-j`cigmOfg;tw$rwglG znd7bv&0?S4*5@4LYUfOs+?eZw-M)j>04zEykOZFAJg867+NzULQe$#@gKh-LagN#`{`2UKJfgs^3mK_x zzqyz42^);oP0#BcOHyOd#vRRMyvsbx$7-PD+0s#=%Q4c$IgXECmRX|rLAlsJ0DQ|x zp<0=KGGcVUxX6~W>`=Ub^!P*D*>@VqpW1v6 z&u=>HyWSKaNbW$)7AKm@pk@(~$`ef}q6525)E!Ub0V8C?NC^ajHkcYQs!uvC_^Y@& zRtV6_x`fpQ7@AbWL>Y}PkDHdoCCW#v7OicsF@bFHiSk?XO|@7M00<8o3+E0}c*^@DQjG8S2q_(_htaEia8jM`AOhvS{Et8K{gRc!L=N zS9vxpvv%o_V#j5(&s3iuLw}qVkNh z{G9(F``(CxCuM|bcSORLc~9{shHgVP=Yw{;Iuj7mf%8$)H2NFyWLg>By>cZiPk9N| zph_sIf=0&)4ROUN5=hJE@kk7THAe?73<`%L;fDEo!Am`yHKuqrwB)HtXz=SxOSZWM z6q<*ki(wxI2FsdA3L5d&$>Rs*!Leo#mouvOoBU&+-Hf*qMtQzebJ*7;#&-S#|s@6IiAv5~x$NqCZe*mOtp5ZBG+`;}2OrfJcBI%dd{R61`J+o*ObM0jT! ze7dN2XA?0&9oz8JK94j}>K4UCVodhy0@XUaXmS*n?+dBZY3|@g4r0hSAAt3xTv0M? zDemg}L0m9Po|Kp<8~p&Gwk9M(@=HLp+`J}t-n+978){nLe$z#fT>j1nwX!!SMmhDp|ziq|My7XD<(>#zIKlZUL8yf6#{{(@zYk_f0Q^Ey1}I! zLCv-)UJ4pTisY%E5SA(RUpB-V!=@-HXgOj>(Qcv}zN8O1s(`a8*>nBXcRmK4p7WoM zZSAn*QlBHtFV)j(e=mic9li+jQAcIVW12C7d{NT9Be!^!-Y&&R!VH$~bO^B9E3Wj1 zmlfViMjIc3-`miCDev%Q3 zs%(5Tkw^-CfH*D$2;cKOVNi>h;tDvTz(aQFpOFuh>O)u~=zen=G?8NibvQFuD z)VA2CD*)lQb{Sl0P(4i*rqOfSF`j6c7qh^8i{)-ZSh z@d-NV(W5w{%^|&^vlHJ!^sr&BYXSb|z<_=7gNRSD*OyYqUxk?QI+ljgNP_Q)-A4AI zM0~@vPklQVt@EodT`Qqw-sl{A$>r{?;W;Tsu&4wzNhb;xw>~#@q3wLd@-+<=PYVk5 zJe4W0gF`Uci^_t{hP^NGMiVUk&YqmPh8L6OSF+hIS3eqI1*mn4u>N_I0vpTZS}UPp zVw=1AD?&zB_Lnwd3RXBO&G{WtX(AbJ(d z24p7Vxm>W!MEm$R=XvA zx`ddo-jwTJRey{ncLRhP@q-7ffunQuwtL_puK+f->ez=6kH*KS!mfqOkI{UTtHvr& z_gL3(Sif(0H0{=gd_cDA6qjd|dr7{+#{P_gD-FX>P0vX$<5&imkTN#ljleGVvMD^?FOTQwom73MKbSq*m1;SB9=mWB zH#BGK>8R`MqqC;TeGF@l1)7cxQZr_I{U0sy!pbB)l0Phm$XHxUGV3qyziV)jb$E)sMSsH2G2n_f- z#{m|Z+mTL)>(y6Hx2ej}k0FD6^a7Qap;m9b*zvPR-X@Snkylbs%BB@$L0wPD<(NYQ z+fuiEMqiyKr`V+l?w^UhBQn%(4Z3*RV}e@;dMeq0T-m=cq@GiS7`vkbZf2AxNj(%@ z0Zz##??;wKK!?%v41zqJADFyOw9jXxvepX8k_LFAM4Q-Fs4G7l26V7Tj!<~NU6*e4 zt4z+D7sT>DZ5f=(NP=@_7M>8>OPy-PdJOGfV|FKoC)$6}T#15=*qby=ZY(B$qH`76 ziVP^(>%3Kt*01xiQM^L^pbpK5a@QYo+k5_TCY&^D#;tyF#t?DZwA+8^NjNqpbg`j% zR~$pbGGv`8vXYDX$UZs6ZQ*0e-$TcHd}#O&fQ72o-rfOvPVa2I77>b9X>GD4^&HmH z*!Nyjo1wxbAJ_j+0H!Kg)h=J~ z=t$lxgN@F}4k3iP`P~n?>ikkBcNnQl8*$4gkOVhCo|~f~7c>DK z51MWN069FVE&l*87rJ71<%&o0Yjj95U83SF!Qi-tHdnVKAhibmU7O@I&2$h2YV%I{vL7GaBe==%yQx9Z+7>8Peb(!DI2^+ z6lTHlD9ag?)hsi(S(JKtvEVVmvd& z9Cc{&D_w^8jfI{Umo`Q@pc*4}=V#OBJx8yHRmYUwx^xMg&i?>HH3~z1P**A8y}EWU zw3t{TjJFRX@;T4lb%tudX>~l4LRE$2)E*Fgrl3A$E$kEjLqOa>FR;#;l_{1p8e< zLy6ic0oo~9@hJs5$6AUCa6XU^NhXvOIbK|7XqO}ONr|>goPlXkiW;UdkY{74(Ia&* z3mYKj*iKy~hT`4(L!%|kJe<<0xMmNFL5wnte3C?e_TJ**^edubaEyJ}1wlMDvDu7e z@(W3nPKd%zasqU4+$oL43bhVsp2m{VWmm~Gjd5)eTv+S-!kB|nqSW6gv$Y2WQp;lLh;dqoz55(hUd%1@@MWBLG@)*ZC?&r}u?jGr1 za=XLOD;y>fu>cwdiCeRpka$=~s|vw~C35>928xi!>CGid zkmm!sY0ljdeeRljw@Gk`U7@uCS87z5UO6ap8!5PoAVwfrv+ zgzqNCLMH+b2jJhT-lxepg68 zh0bLq(w8{foNmeyxx~9MCeofPG==D6gu-e(jQKL;yQYEs~t~Vdr2H_vcg*M(lr+0ORe!dBPEj)00X(1v5;?b zRj0TslklMEyH$iUy~3|MtD(?(Y`Xsd5rqE$sNou1Ud9iW`8S`gr96EnKQx}tPUm3o z(z^4p<&OkxY0dq>TCf3yfNnHdOe8`#aV#?&TqAjvr#AKrtJs3H_*Vi6{;fi&&X~g= z{M!+iV#X8es5hM1l@TAcn{=Mb#QF zE~x`@9cXSsuj0}O@Ml_RZf6t74a%Q(UhZeY)r9z$#AJs7CL0WVaxmsMvm3wEkP@ns zZX@vzia(BV`Dx?2Z-7>m*8c#7VJ3CHP-=+qtGsN3CMn($^WbSal1{bf{nlu|$8OoZ zR({)hHH&x1!|I{97PZ5ok&4ygPDf=NoYA##U2b5?eU~p)JWA~7^8Ku9+TByp=!uQ6oDJD|_3C1i6O+wxQJADPMQIN) z-f3CrCW0v)K`p4GAT9u@EIgDb8eMNb%2PB21yAPWjWQexJn5veEg{SZX1$V2!16%Q zj7@deQ1Li69e}ks8yad;4|}ZIbHUs#M2iN-@=A0dIZA868Vf#&E+egZC%T@*GRh%2 z8*7qGuGFNmL4HZ1%^n9-uv0zYza*~ka!72q8$phvsVN|h(wy5C5>%y!Uo?lgG}jcO zQ(nzV<4PON5~WNS(M4d|`dWRWi+sZEdC8145GV4^UP%D# zjyuZn?vaauS*Ms<>mbG9Wa{UO)VbwdR~n1P}-& z0S;&&fKnuAAPb@e1P;XjIU*d1N69lQsg&QCnn)7oi}DvD}~ukw9o8@A{Yp0Ez;Ln_&tuz79$8;ZKOC4Rmx!7Ri^lB#eW0Z zb~VPCD9BWEW8H;~crxwISEAtgLVc~#MZ-HYK?-Dhh2&)(-X%4u#*I*|QkvV)C}|D= zqtACrWNpzkGc^Sz3=r1xOg?%vlZutGu%3%0j_pPh3yLh7R<*}qO1v?-UkJBNi)I|k zjfvur!(g})v9odWiX>s*L(7_uCM1(1^*vVei~7?HW%ks~$6jr*P*9(boz~*_6-oG* z+gp?8Y0t&Qm*o{*RZL{~-&5k=4khGIumhkT{N!^XOeQco3^1zqHg z%jTx>@6!yhkQ~-W$t*bvM%Iw$Fvn z`S@2z1F}j3t70@>h2c1W`vJn69CYDS-Oud2^}-@!@CDh2h0T7RM^)Uo3!|S031hdE zweEJ70|+1XMk6+^D7&5)1Dq_-cB9V!0Ai#x{{ZJLaM|r7k6@m~Hn?Mf{Sn{UKz4D( zVsl&z9NORC_W@|dW5RxUXb=O=``3S!y}(wy#%$JGQ@e)U$?6tkUovg;d_X1l4Qc3_jyJ7sSwh_aId^$4X zDUY3*PP*1&<6fq|iZ8aa(~EYBaO`}93Ts7G>=t7X>NkHgfc92=YGEU#csjV+tC(A( zy+-OIN^23}X(v&cGq5UNIitI4M?gx4C(3$_6N#{k2G1gcg~svjhyLS%+dzz1*y*uM zkeVsv9h8&efrpz-6vV8{DIHVrc;Rs8V5dp}@W*~ht{p3|_?YKmr#04}l7t+(D2&p^ z+Jc|L`tM=TNAKcbKXuq3eTC(7VcV6DYlA-g zC0Msm6OGWQ@i{+wE^6tC3`Z~-Q!%+bO^&H4TRa9}Th&qG`!R!=&UDc=#oa}%NM#>X z9Khz%yfV1@MpJHKjqJ;CQ#im3ZQK@`A4M4OiJUBATvtZoI8gY_4Ni+Aio-h(HkX%r zwb_R!ceUYUQa^#>Y+fQ}{Ri-t-V=#n0n^Ii(OwLDWOQwj+KniwxHmFlY-#>dt-7(t z8|9jB3_9i#A3IIW!=D)N34W_;%s9HX9Rd5Lx(@IY;Gh9dxc>kg{;-1sF=d8I-*mY6 zbKE~PIo?HWBZ0XlY07e)2G-&x6e4JL# z6mkp%M5Xf1Hzm`gRwFVH1Q+B@IS;#86%wb^>MXv1{w1|P))1u z6@meyN^)89cE>ha_?N=CHXjQdZGo9U8?6=|JdFS*@Ue!pDU>Rg7Fk@b>NTM-YD#Am zbSd|ER4LtLphQOtC_iMPn32k$Gb^`HF%I9Nl`&O#`9m1uPpZ=x&noAi6gZc2fEZSv z9M0F#a+9$2SKYPZf9ia4SG3$rIa}?`XWgJ)mmWR1>Em-}-<_gv_MMC8zhv7+zKQ6; z0MgN#OGQ~m!C+rh0Hzcp8wDypS(%Xm&-Kc zBLt7i5(XZi5x==hA7ejGnLAr14cea*X!;PTW^>tr!%Z7=J^(=%XTsoB=3C*_dgLv! z(N=Kh2_=z+gG1ia%I{y{Y{DnuBofJom7gn^Pt<~~Tg)u)1e?IzJ%ao^rZeU>rJ@@G zoGLVEy^tR1kRXBx1r$j|B%lG^05m9bMDLX#ZeI}Pw#kffaKgFm`I<9dvXE;gW4Y#< zmsr4X(CB>-9Mj^Io#WjcPAz+&j0TU@Z#o|>l@G+JMi;QyC>w3>T-HVh^tGgZ>R)Yf zABOD?8W~=Dmzeb*j27m^>zsi@#+SvG%tc;g6gpA!q^yTQQnCjKq>#~*mKZybDC;g(8X+9%+Zmls* ztUD-IgrB;pKQn;nj7uSg{##y65}Yi}et)_^Epvcq@U$l^<-UbgOhd*3Bx$ekrQtNr zJdxtZhz}%KU#8&u*TVo3kxnRo|k1 z%1a-m6;+0qIiQU}Q(F68U5{c^)*4Q<+KR`g*lj}2glBY{(HYq?H8Vqj1y*A4EtQ8) zMQY(`4sMFEx-U##GljZ07d5x$kqe7FFK*gjFt$=e$p)f|uf=fIJd)5a$!|G-tuW;6 z_N;4$OKhYHswe&vZI$3Tz4hB@4x88Roy2hWv``NA3K`+j<|JpYMWoI){J5+bKyf$W zB{hngFu)12I;NR{l8uL_nZq3FE@`hcUQ9*i#w#D*PHHefPGR_0h&oM`5xh&9(p)qe$d(KkB1M`&9)uJLnaI_=Uzs1BFT&@6C{9XuVd$9WZ20bBGNB z$y^JzoL$^ojLP7DDV`Pu)xn2#adkYMxcK^^mD!(tKuB@3NIdF3h?}Xk-t!A?pH(6) zv4*Y{emH^bu)aaqKAiAa#2P-?#GM9yQ7D>s5`qv9{iCFOgX zSbApD>{gARF)6~OjgaJs9TD#uDL2V$D3QQp$3; zSGu{yn{W)(rGwj&rN!FWD*y~R){Zy={3egr@3D7Jh z29I>f73@5dPHTbLSY*tV+=3NtI#y)9NV}uaS~?Dth`~+JBWI;vL(wJ7CqNaaaEQUq zli1RQxi!*ry&Yy zHBp@XQ91T^O*zW6TNH&wnc<+N%K8eYh+<1vKsue3;}MlmcFTyC@Z3uyHQ+Wv;gdTw z&UNm($7>yzg<_oJ`U>QivFcZ$)6doA^;dZV_ex;2hiaW*&@J4h4+uVq$g~9W-5`zq zQ?U;LzGygpKb6GoNmy$ox8?hw0ifS4Q@AntjVEArQnb)BNhR$`Q4=Jgppe?t4Ggbn z(#iTI#Z7CSwE&{7HQk0S{{T@L+nJ69qR%iv*XX+^0B3m|aAy=>Iji;`{;P}jEab() z%Wb*WuKI=9dkb<;hb%30O_QyXayTcCvdhzd4k53?K?ycV)bgh4e{Z^ThYt&1R2&Pn zAJlL5RoHnl!;52DL&jK}IuGNIQaj(gd9z zD_|5(BPfNE%6?Y2?xo2=)HZ0csJl~+{2vZ;@|QfCXzJsme&{&nyhj`{5Mr>cFNjHt zc#w^#R$KQaaegl29wKWQ^0>D@T}tTvt(n{^d`=WS#&@$j>~$@5pJKV!5h83(B7gw6 zn)S7gUfbd6MI?RL1dAtB%#_F9GBxs6Sh4Vtr*j6p0Uwsyy|3Dv72} zfRvGT2UMpUX+^Wa=$c(`;e?s^Gh6=v`N-z~04tz1g|tHE9}6ZSn3#^)gM#Y#a2*(4 zPe1F)Ue8bGjvm6|D2pn_IYH;Trj|0&OH$#)7MdzOwceTtWz-I8YYnOxrxp#XY&5~b z!p|wDnB=mI=$;KxBX-JLTq{JBTS9fM37}Jqw86jvR$Ch-#?GluYN->na?01DX~NW_ zLhVL-ha_m>hc~K2woW*Y?3!^>X5F#13ljQLWqmY`YPx6IawgMHe>D3Dc`FK-@R|U+*wmg@APyQZnRey4~PP2MVw{3YR0n4i0%uv+dov9FN(dwg* zlqcc5g(|3aJ#)L26)T5Ti{@;o(R{VkDL6wVPt!q{VpSR>boalB#tPdk~c^k$GXQ;WD6Zv7VP;MO9`W3 zw644G{f?7|$ogwr6N{WiwhOmERPnw>Q^TY1`yZ->%b$-EfPI5}{P40ZxPwm7b4cY1N zW78v3NX=Zq7}RHho8;45NNgx z*-q4&n0PF8OL)pb=2B!A7&}^|7|UQHcGu>dI!AuNHzv&-uG1>rd^MXV5t*OVz<%qp z;2mslqTzjmlt;%R7o*rh?c6oj8&{dt&1Us_JG>U9fVDxyLP56ftl<_lLRdqB<(E#Y z6w%IFXsbL1GMpQF6$2Lm2TjyA$mrey(z&fSDtyM`34sENnGDt`WO#oN*DKwsx{DAG zH5VN;nQe8Rig}Y#sEZN4sm}a$NlSL(k-HOWowIqT1mmixRXx*bx@fsY?=0?;>8n7B zB14^FHs|P6cgtH99!d4z*&#~A$*!D~DIcM@!0Gh=GnMw+Eljylp%tDO8rePH5m zSK8-edt2X#=SWAHSRuOf_&>wS>M!q3Gg}@>WL*T9#gXck-9y%_3mUghw4aMe&8A!b z0H*I$`+iTNRZ#RgHN^Fxq+mcefJxZqDl^8WxiuBX^HvxfH=xfo@V2X}H<)G^nn>CGwZ@26et!$;v-96@nu1dl2o z!o0r@s*8ZQWR1WO(qERgti@f)@YfJ_!rPRU19ldrl!96$t>9fq3c zxad=pc(Sl_-_asM14~_^4UO&oDE^bui|*486~$=b=cOQbw|Tk z$Ipnikiiy9yQdTX0Cg6&lfx^Dxg?5?+xa8KNuLlj(y!e~o-XebB>|S{M48tu4rg=~ zg}DB0gQijYC^&*cs0-yvZ1mUVXu8tW99f_U>WC^k*;#LUQ?TtL3$`B1 z;To{HwxSM8t8 zI~?P6oj9U54nFAHj}83?>Ysw$X}=L;MBI~sxeGdYpdX~tZQN0(^b~j-tGRJH8Y(OC z2UBXL+(f?ewvr68KXRXfw$$uSE`;}{5tnYAWFphqBC;Y*szV|GYM*N>V4P%5 zBqgzPcYu; zRYUP>mik(mg>_EXIA{Wg9{#`t`EdgIT`62k#t)D*k_oSLqDxsB0`^Q|UR)yp=pAX< ziM9cUC3yv`$>y9P8W)l3Xn3J z>U1A^R%1x+y!}=m;%5^WTnsD@%WpCsrzkWBzwDJ%o2q`uVcEoZ`pdf$_^kje@##yV5(&BM+tGv=Q7DWipsW%%v-AY0B)65VDQ?aOO&1=Eq8+V zIaE9_r?)pR5^$+_w-G2deAHQ=ovkEpoZ>DZk<5!KF(WGh=$uWd752#u|8Q)K}xWyo6NR!I9=s>F>*wk6LI9aBTFt~qY;dH!j4(ic|IbF+!3ITcjW%DD_=%%G;u%~5W!KJF)B^p+7 zi>1R|Zsz+fJ!)(vzTqYNacKmceFP7)i{3QKEw zluy%Sja`mD5*BM6xmrAV(PuH|LbS!6PG#Hud$a!Hv7aj2_T`ri^J%q*yI!9M_<0>i z`yV9aZlmF2-H%VxRD2l`X^=?VKulRBLv$T>hH%*><%IG z_Hzzi9%L*Hv$-`!{es$I8Uvlo4L-}B{366P{1+^a1<*a@{{Z({{{V&1@L-5D9nQX& zs^1Szeoq%i{{T#Ps!{oeLW#S9(J!x(re>HtQW4kq3B-tYC#fYYY?v8A1V{%R^4DDx zPUd-R6OI-_M7*eJvOt6K3l%|f4~RhVF4kbUeYwo=vDMJ{o&Nyh-@5C#fQRWKj_0A)3%AJ<4NI4%_MUmQ|oFMXXFO#nTI?6}4^66`J; zh)oxE<0TQ48x{?cdegOCn~jY8I}*?s@-3imnZ)G_gLZ}Qf(&RI68``Y8-ndC%fb}p z=~zwHKZ&>;JEIlidwg8(imt>vBQk@VA;<{kpPAxk#T`?_vu5k$pwD?}$Mq6@mTkVO z_=|H)8soXLn_(HiXuH$d9yFfxe^$vjU!0TrM>PH>`!kPzX^xs~qiAaU(($kHczUGL zq@2UFzI?430cqk!az?=-B3pTMB?q4c53&K)5CcWmhgBKP@f+%%euM$mk|wh1+*%-} zq<&b*t@crad_a`!#1aMQ5;vf#CXN=DybtO+r*qVgaoN^AkY|P`zpXTXDaaspCV1j# z)QwWK@tbQq0fEu@hYy&5-$APC+%>e;=&}8p!HhN?vDF5(ZFqZpE%IJpK3&;8ehfQt zUEzkx#uWz(uvRe*7d>uxY>y}?!&0duGFz=3(oB6*?`Sp1q?1}Wd!UWvJ8G5PSkxu8 z+W9A1=ACp*B0mm)t4~D3;CCkvqP8ptVwrpnJpQN~Q@aXpS}4Q~17NJo2KOIChd@U( z1$$x~f>?-jQoEgWDEqHEP8CHliqs}t%DPh?0Me~8=8Z{Aw2zdNrpaw+2}a4&WC;4B zXCW@~Ov$o*g&u7JMykghNLlQ5wpI2t>U30?!QnktxU$L5yIUES2}NqT=gMg5MweCN zu;-3J%$3e~#uK@hyaU4Hs`NU1ylLk3IQiNjsz%LSNdS#CN&=h;>2e+2vN(lnCskviXcEE&qQxD@#{)fm4YYmpk9WJdVk$SY5c=~)TQAW zaGicu{^3I2Ksvb~z2V?Vovz)jHLihm&do<0-G{|QK{7nFx690Xg~sqAlIBY1Xk7E4_6ux1G3EEPfynuwPHP=eoq!vnp+`?3v}6ND^rWMp z^hH`Dn_R|^LI@osGL#2zQLx8DqIdW<3l(E-<2x7 zK{7=lH?0K?P<4Fe$8)MCfHMpADaYJwaR6J6iaXs=923`qEnky`XZ`pvHzZ+FDdCER4ABbw9!ku-wlVzUn?BLP#~{r8tHcIE{85 zssRx_md2LBpZS_k+%Y(csxl0aRfcb2HChb$y3z zGzI76^y0$^J=LTN1`uc!gkfh?l+j@o(bWbNZ%74R$tT0}4HDU>qF#h*fwL6a@Q|Ek z4aTSzH0`=D+TAib($YBuZWc5myuuNVsnXHpnQa-(K1sJU=x8ZqCfw8wqPQfRy>w5w zRi+*g3`s!sNbbvpos;3CerS!I5NPfiP)RKTK3GlkO_Ai0nRzEh9S_jw=m=r!|e^I1cv@BP+};_YsVc?KN5cAq!mH zIxYC})1Q+Kxpfw}wZl=OatfsDx2G#kL`*j|PpVAMS zafe@PNaAE#Ywm;mO=0R%Sacp>gt)ILCv3;|NoRw*yw%J!QjK4n)6qGKv53;@k|w;u zxsZ@saJC1{5R#hGNGI8K--OeMcvP;?m}Sh{7pmnLc7}{KYnj$pMEF%T;qh^1EfUPu z>B^0%ioTj|2N}ZrO_CDNbm9h?tNiy|JBL0;d{4tjL2#26@nfD? ygMYg2SW%Y=6KL3IwXQ6=J|EauJ(7}6zJ(sj*#}f(ngI?;04O6N5uhyWfdAP<+R_~W literal 0 HcmV?d00001 diff --git a/postman/test.data/images/23.jpg b/postman/test.data/images/23.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ed79d4629d016895e7b5ce9b58502dd640e9cbe0 GIT binary patch literal 27173 zcmb4qV{m0n)b))uu_m@{+qN~Ccw*a_WHPaB+sTc2gNbch6Hol!=ly=XzrU_ib?Q`i z?dm?&yZ7E}t^Qp3Tn9)1V4-1PVW44QVPN6lVBrzb5D^g&5V25Dzo6k_ef^4yg@c1n zL`8y6KtYIuL&``>K}|zPPlrds#L7g=N<~XY`=1dAI5;>&ctlJ@L`+(I9DLgU@AlaT zK!=9}Kmwp3$N`Y(5K!n4pF;pb000680s;c?e+>c>3OrvpcyO;68UO+c3JMY$3J&~& zf`$SQ1oxto!CvIk81qwV09SR*F z0(c;0GjCOHl!Qst%}!m858LL8%B?Y z1O5QWLjvT3MWqsr2)g5GAz00m?hy=MVX)ZwCLx#315PSL5u}pvjJ(ZbwBqkM{iJb(j4b?C0&#ZvSz zQHNx0#u#vr{^TDgBm?3*ST5sBgob$*KdaC0*8=G2$%7Jn1&=mo9Pt3qvDkqvaQ^Fg zPV057OFgu+8e2lbG@9+-+#IJjU9e5iTgEex_WazQ4%jN~-JYU;=rydjL7CY$hXWQ& z?G!gTAl8th8lSgJ@NL=o2J}H9HDmQ!pkKDcfoC+RLbX{&!U@A8=n&Ua#{?10+5EARj?J1knoL3vJ&r_9|s&G1+{b^f3BPP*zX@@DG6L!jZ_DB znmd>MzG)6QM%{JJ{5izu_=CI4Uc~#lgJJTV3(qoPL?$WFT~*WmPuN@XTIY{xVq1=! zn2MC*J1hFxe`VT$G))JZ+GCS@h6ML-G{}vv3>z?Y&*imOc_3oas2X$~5&Ie|jNNDK z8igAkov0XWbd7O?r<^t$ij%J4mTQr&0O0a3VLN{ zH4@s#t*-{L!P||`aWXftRmHNfC+3PJ=E4_m=gucu0X^b5mGn2166qUr9@LAqFoe2+vqL!rdx&>`1%1*NshxI1_@du6Q=n556J#Ncit+h}rw>{afueY0} zONfll>hlvv{Fkko>|&&R7VpdAV+4$~7`PFki94ugS*j}l0!9+QG~$4$CS})gCz8jp zUUT@7-4maMWVYdD^3AB0MH2~!WmuAm0emS!^%3Qz=D=HxRx8#|fI2(V0#ew7L8$YE z=B%9AJG<#{c2tzOi7pMZgTM1FE&>(Kl(yRJ*;QT-=M zhn8FcLhRd~m>NwR4X!`TWL-EpwIoy*0Vp^7?zEX>gsaBeU4SM~hoedQTS^91oMP1L z@Fzfuln04Bwvx|dj39W#rLLhbI=mD`Og>YU{J)(kABKogjG!j28de@mgq8wHC7S|C z22YC)0|O68A(an;rxk}l0B>rv6hIgm_<^L{rI&;>@Kn17tS7DNR8{&)uVeu=`Yx}2 zB}{#B_T7M+F8s6TUQWB~d*CXe&%<}c3k9sH(vm2fRZ=rzMK<$H@MXz;^W3*_uPmFN z!u)H~u;mbiCnufRs0)Z0FqIJ0?->>U(ZcVV`>9O-fXu?-X+ldY$I0 z*GHE$BeolKI^jjMuc0n316xd0F9y zAKPEzbZD8x(9-ZconWz&y5ld=+n(vnlDXk>(jF+_j)X=y>xc?J0QbQK?-B9Q= zvv+}*Ubxq5y4bYNG`ih2N@x`RFstV0q@R~QBJiJIUqx4oVRqg$b@=ti9D~vIs-S+X zR|so%qHR7t)IcRUwIiz!?lrYYe^8PK10JV)e55d?40-s*Y|#$k>xmdM^7{M0lU_>& zwnb?ycOoT=@vHiZDiIqDu>9SrekcA_!1))~b|t&Le3M z`~?=wpLp~qqfN}8($^ZyLiLqtPp}henT@9I5%X@O|dEwnp*2^*g)JJH$+VWc#aiF3_tK_)w;dbAMaO zlyQz1{?(gD0r##TB>1yI*=h?a^Y4)-)RPu=aU|RB%qZZI2T`O=m?oG*%>LOCMo9z8 zlGvQx+Z9FZwN{HrjRSVo)Hd>r!#xW>+TtSJM^*$V?_E+@Zg+p}=fb*KXEUmqdDQY@ zZf1H>Gf0|Dkf)=S;=}XvgM19#YW8{5Udbmk;SMLw_kc z^z=PVVW$pL(|R$+%vh1~#@#}JL`8;KGyqj%rXr1Fx7#C6rx+z>-*eCY+M*XTS{7wg z5W5u;BcDJkN(L`V1_KX`MJY;JA{#8Ooep-Zv!`^g0E1s0L+Y) zd5@_*4kf$t?}Ql`0^!C_YXEacn}T>=L3tLY;q`rTIB;d|S^5c#$`-uTPo5fA8B7v~ z-P0v%ZlyAxfOiAV?&F(--BJ)gLo!oJ|__rd6tLWg5q;WT9zi%J{8OrV)po z)10oPCw>?^z6T6gX_l=G7~{l@>9NFG^AEukS{_d6VjyxI#k_ z0z&c~k5QtwMUh-xj^t-}62+8b6p@#<`PR!EL#?{>YT7h7dWQ>DjCy&vL3dlFtSjEZ4e_?Q#v^{H2plQYxP)^Ivcv&d3r9d*sC;8wJWlH z*>DM(W_q%|_s~R|x~#)#JE@USB`2%vFjX_siD-GLAunhWy*>E^U?TJ*ZN1U$@f%rY z#D;$YynEel=U4qk<-!a82uvUZKUUxYJY!61Ce4PwW zqu-l#@q(~iDu(F~<#XPlrKe=(?w$v`nwqD1AIy|E9m}^o+$v_`Q{-%DJH|bE=-u)QI3Xi-dA(mxj(2s6COW!hRn`pc$TPOMmgV1os>!%mQj2 zABn~-&`GIaj4|zP2c0=8+X4Da<=i}9*}~kp>-TN~^|>5|wr3?u!gUz)u`=%%(!tyV z7QKnKnBDoGZj$Z4<1$UC2HxS?jijV=4V>%Wr55RE73A*M54ve6rf#%3bRP+IW5+$} zfy22;%k-etY(7BjqpVr|aCIAdN_2SS7yyE_{t6b8y3CZ(&mQ;vLpI=OYv@u4V_@fK z9p_Q-6L4s2XM<_t`J#LkUKU@N%9d@aV1$`H&*+K4Q?5l(bth-rhvEJtrd>$54_5}P zT}7gV-r#k;YBq-yTibl0cO7=^N72HOvrypqBFq0IhYQOG6FK^%Y3f@jnBv1nz?Au+ z0@tWc8By>TW7&Ux9+(z)CXt$Ju&U`j7At19NkQ#L4Wf9`vvt(`XS0t$cTQeZligB# z4`PTT3hf5^>vXFwB1ZQ2xd$`#BJCG&)iCIbV+arc+DPa1pqQ7MbneJe8_$w&+3kRzRO)m0y4;T!54kh5qZx27RiVWBvYNP>M%NnSMw ziN&OnbIoqr(pc0iz2g8q=EI_rL*d`YP(DZg&@okS>$3mG9H6Y^<92fc zj+dFnxufK!YY3joB@TnKNE7Yr%l{CG1b64!gZ6}k2Z0-fC2q56Ym;~cz)wI5DAlOb zl0WMH%szQN&oVTNNnT&1Ip*5twyz$p4j89YYMw>JF$Qn~(hh!|7OQ`*u1vxD(heXr z3ol$k44aV#lX#=1O?w-i-jK z(WkAgPc35?af}3zj97D*qm!kg!cSSITc`1-ZdXB<&;(BmHK`fJ-x!}O-qLibF=3pPFstsI3|mx-k;7v0phD&rhzeqs?bOmdY=oq;?406kv$6wX}K#V&}2K z3M%G|)BZQN!w@ z8XE}@UH)H+_uoUV8A*&56b1nfP5oO;6xOe{vWx0zr=i&7(2R{-oA@E{QFa0+H^M0@)QRgnYvhF~x#O#n~d4 zh5)-@LT(NYV;bdpI77Dz^Px`sF`{$~aaHWtYA?Jsqs8b%yUMB)BR{D%L97?zpeXWq zBob1Y6;y?qWM?s1fvwHLH?AIwTZe-A9g-)?z9)URICeR&pG`Wc-u^PJU;US|3_ZDN z`?j3mEM{$*r;yFfn26vsHq~bCL4sFKJj2r(f$keNKvy%!fj^J< zM&y2RT_$|g(R*4?0@t3n=@3w{{B*GPE3_;77NkympjjXJ+xq=a0CRMn`HWIK8SdkF zYw0gXw={Vap?MVxtj;*a{H)s$Q6=hQ#EV&YdE_`Z7l*V1G&q`Y=<4=EMWb*8o(}bS z`8mmTf-mlx)X*3R4ev`?ar8N|FhA?RYS@+%7eHCrxDSIEQkUFD7Nn2lS)6~utO?qC zJn4qcO$fKbw&QXd5{oO8%nv>2)6vpLE5q}S!0Y;?Fj$$U3i7(()}OCQYBdj`2Y?#y zj5L(9R5JQ^)(hIm+?{V7KRUd<9zFqthSh5xy(d~$$h8JOF}$riu*>G?DM=IxPP^gj zF&j=6TpEMSN4nYN8-rPHg0$&7%h3!h9(#mSs*k^T4D|*H^+?>8gfQ9-uSitmk3i)E za05u@4KI53UY@G_4pl1Z0q2HDLGRiW%p|w!Y4Q43MO0F84Q~1oXKUuJ5~OZ55VO5K zydsUuC24+&&N%JU4aOvYRfgsyDT>O|+${gtPZPmizp&Vc!OEWdgRX^ z8ue%iS ze2&fGut9idwqb(k&-FOvfG?+tYB2h>G11f8d4(Jnd9p|8wlMc-b6F4~C<$;yLsOWj zE=s+m3gH}3N$2U%A%y*lSFsW4fgYCokwm@4dXL9pc5dmaA!Xjn444f9&emhj7*wA7 z2^9+c-uesCs%cC-H@HRR>mXJSLh30jL2ovLqH?;ueV3Wp+kY)7D6(S<0ss;$>Xg}q zD2T9m31v@Px`h_kJaTGXV|{83jMSOt>o*Lu%->RzRqib(gmIA=?0T4eHfR_1OS!k$ zrnOwid@*O$f5MDxRK;hlt!U*iHLT(cBnOWjiVnKd@QD;|crVmIJ`bq+Zb~Ef!P68j z&C5a6B+qa1xiY*P1zeBXrgkn-TEhg7`$_DQ}@^&X*s8n|ZDe zwd0!IA3XWbs7tVE(aF_m+j+R7q>Tuxz7wKbvjshsH-z_4s{sYZ-PgrOenV9G5?#95A1&8#Np5ug6`qCeZ;y?l+LI)>V?T$c?omH=)0{l)R^f3n)jJ3)U$lUke}gV?`)S46$gM_GYj*+?d_Q*8?I7a zMX^rl-*&Zs(~xu~$2+|fzR>g=@DAc9@JuVR5}wA>Y@kVYqND7rY6`*2(IS940bM90 z#j3?~bB?%Q`j$tp3xE%Upz_ZHN#?Ik8Js5w+b1LAq_U1{`;0`p#(Q}ccG=5i zDj$?+S$wF-{U<}ejZ9A`=j+zeEa?^9k>KFy8q>3nELc=3ZCksgh&(kN({DJ|B3y$G zn{zgl=$yK1?d^yHYZ{`U$=h-y-_F}sQoNLxP~Hq=IWBTd4p?ucz|-T25n&&5!a!F8GmXl5 zji0oN9k7o% zu1MHf>U{`pFb?L!!w1Gxb3_pA(!#cBt+M39KHHI}P`l1#-tLB`jqL_JCK5kIXrH_O zc`fQj*;aeeU0WYGX~0imt`7sTFaAn06IQcs&v{)H`Z}n$mArhbBwPovwhaD6I?4Ol zf}E#Owy|@xq|q=56&-O&bKCg5TH9SWAJUz*8{=&Oo50(BTIQxM&_pOo(kR}&7c+d* zE`Vy&)MKiPhe#*H#pLRh&?>@O@|8gm%jrM*6AerVkbx1<|5#A>|41zaL`_ohFsw-O z@(uy9mSvtgRDiiP1D63)8=!B58nPaUxDtc)qRZ0|C^Xo(6K5 z-@sgC;v+6GzT9(#HiK3?g(seSb=7>^g60F1YbHOWygRhi9SFU=jZJvlzNw;e51Ljofm_C@>XXf*B=l$|Tw)Msi=ftb4}vPS1*mv~ z=Q?hOu91~7QrF&Q=jXCK9IkvMvz3|v`n**CZbt1OQP}tKj26+AzqpyR|7zJU;y3Pm zYk+~6vny~4p-W@`E~s5PwH22M=%7Q(kkU(+DvqhD1FLTJ(U#x>7|>@`u-EMfg4A0E z$t*!yzX`$xsJo-(Q|Tw~l8=ofI@@0=cnndZ$p*U@9LA;*Jk3%tH(gg43P`zI88O@F zOO0A_2TXVkvWugBe7DOyeywa=WM}i_-`0{^t45)!@!~$HvEiO~3koO5g$Mo#C{twe z&d77hPtpn*nRBX*X(9frrALU+vMge>M{CNxndhFy6SdFdrrhi7TNYlH99wfe*9T}L zsQSU5SHM1p8SM-NamfO(EGVr#esYI6j^uuMjWy3;knu!EgNUbc_}= ze-0I$aJsIupYij%rtTdAiqibbt2DnmJ#NTR8s=CdzQ4I!V~qHe!y~Q}^5Pj>TFlgi zw)xe@-7`bHfVuY$4E?l)YpvW#i=Yr{hB};9;sA2r-g)_7H)DGF;S>r-9 z@;~hv%~pTRvp>?~OJACa&jzPj6HgrZ`m4x4G{T$p>@bZn#4J3Ru%_WLeSIzJo&90k zI9aX<%uPKa_1G@B$|(D1dgbLWmF)wt!)@gU0q-WfeO#V$OO|6V9iIe}A5ZTfI&FO8 z_V|$I=-gnXh4=NACO-jG`uK#BdKcb~O<>$}`OxY{u+ry8LI_CL19Y4C6=vi$#B19R zEK68a4n|pLm%({-0+z7+{N6!U^a%jf&HivH*>kcFE*<=~!H0M#D3#hOb~%1xISXxh z2{{<#RLDtS2-C1qmR&qB{KHW(1`hYN_5VU;M3aYITY-SuU}9;g%Z1{ zQex(NR~I@!a(mLU^!x-AW1XEFVfC5J&szS#PulZha)zekQp{a$2M$ydJ2^M>Al{E~ zBpT_cr7EztudV0Y>P}b2bG8duAE0cV$uwMhZ%4O+4hmAUQ(=RB@7st%wiUItjIB+UBt?9|e=26SzV0@3`Zj(78dSzun*TP#Z6u4O+k*s6%kCoX*zCzmx+1-J`$HwzZ2VO(wP_n$C6wJH}%I%VB5%-PI z@K$AbIk)oQ{|F7RH-n2>uw!Gv|5q2#iitz(^^hkI7f~>!XXMs(-1+nmaqRe*<;)L z7e@HFg`_b?T;K0_U)A8~HS6&_jMa1mN=xhnLwbkMWy84W#aE~=wQ6}T*{>7H0c6%#~P zubvM7+qIJ06QA{_qhAx+rINsnw4pa?X$;!^r;MogojLt+@8qi@HgbTI<0>a`6-KEx zZ6~2P__an}25nm_6&eG1;QV{~6#y!1&8CcCx?Tg)epNe?014Zi&>aF=eS?tRRX5Zu z<;Qm!*j?3}js0Z2hr+j;@rh*r3)k=xO$T`3c+L_ZgRhnB#!_cIR&{t?%RqQ6GoLmd zg&CrL4+EP`xgTAm$s0sKOwr`RZXk-rzyULs|jY zzkaDT>Y#=3jR!dTWX-pE9B-|cX1 zuXkpgv)W<2hKBP2^M;*$M0LSV(0zX?pXeh)kWhf_VgQ+F;Jo3h|1!*BEOF7D(I)`^ zqb~2(>MBCx9NuwT*{kzzhSt#vX68^g?%KkA>kG@PULEhQKy28Tu7Y{bLiL-rz;^m&y zs5kGn8zooth;8z<78glzF&eD-KqG?!!#-pX|A{=nkq=T53oQAFMdLbDU08p|4`@v( zt~y#mtg-Gi`ve?>@Xz@kwKJ9l(E^e{`I$r;#-ZA#`-`O5Fte4oS{KnOn}NaoFcuXZ~07 zn@z)dITGlUz+3dmcz)+7@P4I7A?eU$as7tIp)sK+x(emKEo|H)X!cf{aI#O=&5-%g zZJKFU$6X0{s8r5135Tbff@#-1p1U@523*a(X3lnu{}5x;H{yW$!SyRmc7C)wb30!b zzb=ZPO!}xF-gR_Jhlb$6$S1!gE?HdJ#UuP0H0*M@KQYO6dcyU=I&*KsJqP;I=VqoQ z*F)XWz;11=yQI4(4(X7x#{J-7GPX(2mGDRc^I#33&&;9I3OcC` z#e{mj{K4Z*voNE^?mj{Pk^D@~Phxjdms5VEVT#xJD~WM*%8hi)E)%Y3vAd8Ye~e~d z$hSOiX#J-(=gCw`ALcBT-Ewzc_w*biCYiL4+@-{m)$b0+&NFUjP5(-=XoS_faqXHZ z{*@sXhD!t#Fy_B?ey{HnO=#4XqIG}8 z)TjOBFwQ>7+7G}OAJ212?k6D1t#)Iy`9#8qLbfyfG1}zO z&@t$ZiY2ONRgJR7k29ZNn%|V@`bta}KL?vgx_#WAH=V)*-mi0Qe&M=}$OU+_8!Omx z>(klgU-ZYGi!vc;u?TUKD@BC9y(9VTnlLx=!0@-#-B-8l4*f=b&663tz|BRe#8; z0}=PVTAcV@k2l8~XTQ2zF$RY!Vy!V)nI3GJXo2v>HYz2wjp@WwL2l@p%xlJkm`?cT zwe89y(j?oaeuEbn(U4a58z2p@1JUq86^Xo;I#IH*#;95L3}_vPeBDsEa69qBx=FcD zDq1P7?G1R;#l2G1%=;GNH_gZwC*+t#l3>Jzen-yo6{V?W9k^gw)4C5`RvPM7fL1Ol z{~skPn^vh@4kkmOy z>vp~?HQOX~)^|5Imv5KdVL|N~C>g&tJV}0jl;f!4k5Z)uogcECWzzV9pQV?Q7Hd86 zv%cY7hiR`D_4I=@ZR$5LH{a#_TkYyttj2mMGhuyC>y1|tay&0rT?6dY&MUT~!hG36 z3++x>?5+GOpg%Zp*CWA?zrwBez0a3r#s$}Z*W`=T?xT0S_%z=j`{;RIp<&sk94KwU zoz=!!?Vk%67BDsx>o^ZTYHm(CUHj(-^^q!b;p@OBBx)Q^eH!?hIR|H%#ejwHki7~$ zK%>Aq>Uw9fJ2}CT%eFW;>~)>O&Cj~RJJ})k1(5C3T!}A%47`_9!44uyBf39NbN?Qk z>I7g~`3}>8M4i#x4sDG{dU_wuBj4> zO?1@yi?)a)QA@X4v!aBJj_&uxU%&X%Pyd+yT@byoTaPQe+&u&lx*Phv=~;P_Fmsbb zSYGDe3Y0eT{QkXi+if-^f|AF1RbC8>w(skLgDnzN+4bJEz?JYoYFMY2ciVAI^!keg zm2>QY1XI0-^)f!^+P$8!Cp2A#iDI7-1*c`1W_QKy6M(83Nmt|=^?K{>taHZYsmV4g zJus4+kN#5S%{F3d8;9a;w6Z6tQXyF$JNnCyII^kMnZ#Vd?))cS58zQrAs0bPge z)Vm2+_H2MQBTe8De1??9Yy>>Ujn0^}E{%*3OtP5Q(73ejrT^omWV0cyRXPN~F?{Ua z%gP8hmR`XwV338K;I|DPT;_X)yvqP>ZXQ9eMCZcXg6b z`*4KNFW+NUnq7)+FyV;vsWJ_bd;QVUCV(X-44G71OWPSl%aD+=ZAq2z@51+ z3Al{(GAFYpTY}r3%HRQ6-N$$*c1%o`GmjFXxpg|(;nZ{lbu!2TFe)XULM9r8K1&WG zn|eYEjTI?s#4XklOFT9vkpCyR^ats!EbNo@Sr@_n#M-enpdj(hW$n7XEpAB-h4!ewZ{ypFYcywzC>NRR`)MuUcY|Y zDU*w+iFgs`;E+@W?8uVdww_kzX~~nOZ@$4{Pj55=TNs;^EozwJp+YUr15wSlOE?5E zx~58@uw`MV#sE*o!GEt*UT~XUjq8NAzW8}pZzU)?h%c4#AmJqcZKaEa-1Fr8?uaPE zB?Fi!savk#3QTkGCM`dZPMllal7 ztN9P*K9cZ{Z-#P!8VLu(#!8MT{8`5V%nW41){Q+lm$qRJ2PftlFfYY_f&1(eFnoR~mRR3rTj)7@KzS>%>A@EB!h~aUIl^?WttVxX zvv`_@O-HkE9y=lZ)uVO%kJ}O-qBF)_i+hXu(DFA1P_x%D&!N>1acjTJsU{jtAp;*Ntxc} zQX}p4GdC@_OIJJt#rMh6?i`s}U(>v#!K7b%M>fT5 z3Iv%hbMT~ped{WFu>Zx|<`PH9LD;8!zL3)gbfRafB}oa z|5L|eb8RMWQq+ro8OM2MUmEh-?(!D}0}B(v9O}Yl;uWc|M(dfUMDNwmK_cwk!fk(k zs@XVhrrW>7iiqoQ?fam%o^UNx57l)VY($%YRsM0AMheHXX+eRdvoE);ZkC9XUy+b+ zh{6IUszb%?jkB=+)(dT^#(Iq)Kom|9?|z>z}SU=Snk91txnqTp0MhoooC7WSK(E)ikVNn1+mw$;);LR-oK z7FMg+A`S3Xk?)^((NyYAf-nuOnXzg2PU0rlJ;l?_q zQtIUl^yMqqC8{3|jX!ccQck0%X$bale~OQO0y;Jr`7=$CDJYmQ6SupmN39Y-=B8k$DEWxKNrDB9=@#2KG7i zY0s&doY!_9UpgV}16SRhJb`=9MtZoXrvBOuI#5uC&t@Kz8<_K_;{)a4FCO_s=xZli zNGcYyUf**TGZz&sHcrimQ{zBcy1s{o|H4Z~R`GO{+Ce;3f}#DulUSY}KLM~(c=;aw z2eC}_KaSs7HjMr!r6{j_Fd8^; z4TZzgqUD2~ib&lE08RB*!hlj{CyVJ+!i6pp|Ew@MH@Nbq$=m0OgSU+Co7{ z>^+#iW8Zh111v}D7-mjNXWx{#kZnOJY|K&1{pXI8D#E{(HOB~-{kT}W>$e4Dc|;Tg zqKj@~f4wV{ekWDJd>Yxk93ST5;7|!)6qVr;Kq7F6o?oEWg7nFG@9)md{$iYKo(D|CF#b5qQ-gqIz5wB)ohRU!&N-+a)HBDrM;gd@wsco z%VK%`{IAQ0p}-R%mw_L!541v1<9%9FHprm#M|ooo4p_EVNoQlpe%T6QLgsEotYNEm z4HDG#-KK!H_^QX(fKX zY7{jwdD1f&RBWk{(aS#pz;q! zqOLh6b=Ns`8vj$-&rAbPH_klgQ<#d2$J2RIRucEe;n+zlEnGO?wY#6h8VvMuX6&Vq4m&L0 zBO4sF^H*-{^I`OB(UzdTj=pQIE4ZobSlA9Y;1K6}a+TPL+C{d*xm~s)a;LBg=VD8F zvM;NlPd;ns*&6A1;px>3d&7)i>!DgW?=5Q{*@KYiYwyOZIO?kf^`C$h0`*!^nl$cL zjg`tuOUYM<-_Kld=En_^%p5Zx`VUjgY;H$Z4>FFKz27m;8M&w$zqGE zbf+0_a&yQ}bNWc*ycMu5+o>R{b$U4y=Os4nNh8o#*kmNiITHmLO!-si$hF7Mz}eOM z;6ZI_RBB;RSPMAL7FhY#nLHT=4*hDC;)2bdw_Xt(13d3PYj!adKLfQCw_g)us&QMw zpLORIcp?SG7_Xq8>-sKc``$tx@(^sk=ZX0ntXhAEZrLQho9tcVHIa!!B{cVQuzS00 zo`&|aq}C8o?O8ReXd<%REP~w!Yrbl3sAH0W==W=-c#rLFYZsx5m^-F}^*jOld}O54-VeT&J`9spgRV8cQs5wSsntW@y*}*hl}n0zxkyLit}Y zsu~go5QjvgS4gJXg|UL5EG7ZYAv~9#@3Tvt4sJ%|jt?^86MFHfb=ThEwXYz>qw67K z@Cr>^-wE$$*`cOQy7thQhCcwLmo8%2pPDK@0U1U{=Im%x(bl8~yz5RE9hs3PCORB` z^`|7Hwn`r-jv_S+TJ-p^X&jS)_nHWHCSTvcX$!e}d7Di%p30)cN#{3F=jRYy1r0^B zRPMM_s1y4aOxurEy|sKh{`7KF>zMuq+3hD3)W2QA(!{z~{`>(fG!Z_%c9YWd{*KBl zuZ<8beYZHUS-Vhp7fL3+w|%MlwOW=ihb*-)c;dwZsfcc>>J8GDPUicKf(u z%|=#kji7<);_X8JAjKux!m^Con3@Ovqp{>-KvSO6VC80+d!LS}%XoicB%lGT2x>7cXF1*BI9NJy#RS_;5%a_Tq+p1pEn5DFtpWt?KxX zF);UB+Q5ZZ-DpBjYkm2`b%4EAi)plq8Ot2^CeWu}O&+MtKNA{W`O5U?3e9qT;!#~JXZ8f;@BV(u(+M%y(gooX07odzh zfcx!+xmi1i{B&OuMjU67+&v02^|dcL>i16be)m?yK2&G1p9ws>9JB;RCgV#f9ZZ}YUQX< z)K~nu5)(7F+Ao~0@DJ9eC-JRbORK`GY(Y6R(;3G<@&L}q?+aG1rAs!#-XqPq6ML>( z(vf2Q@vf&dL5wXiJRX4--Py&$T9=`Gdtp$Y3;oWk=QER);>* zUpz~oq$(jxga;-%r`>0lmm4Dz^-%EppKAjZW{ztYc54>`ujJ*B30IsTPyf9c>x{p+ z`t>+|@v{Qf{p}sRs*3piim;om}^7?KIO7wM#@*9|X8#uWi=a3;xanA*gjp%cj&iJLx_$4RSx0F)z5*YY` z6l;BlW_dJfV^fNpY%`Cu{w^Jhm~6TY+Huz9s+m5GmldBLq%Fv=%kgc1HC;3GKj$@I z)dnV81sH`=lSFa3M|obT652c!zma7?;Xw|gGiWS0XTz|V!($YHLo}^8dx=` zH2+W#kcs5ZR(!*gzD^1}zN$XkZTjV7oG7sP2^exIb|qkv9w8BhsL&E`g;GOvEuxBv z=Z$Uc{RiBu2&ESkQ2QHu&(@DH=Pq?Gr8|fVee;%3KkYP$T^7MLUZrPl0nwr&l_ zMB4(hT9&FuPhoCU6|3IvJCxGC%9PS_g0(}kM@5}8 zuXSp7@~KMUVpgLyS^Q+ETM>MZE#zT7QgWi9t7n+|oLy?&MlqYM3OF4bL3u7zwY_4W zPN#FGb-Fd9CC9K;{6*qQT^5bgO5o>_W=0NNSCq@H$*F2AtgIlGzT0{Ro{M~3Ka%h1 zj&6U&)b{FXYbVuUsWSr{ZD@NNe#COUE{)z@OmAdC^R@uUVmS3UT#~r`BAJs-17c^G zC38bsICDmBdkh8WIwdpYo}#JNaU_lB0P%Z!FQ<%{%}2@4E1mMmr=;oeQBp@GLxbiQ zAoeFF-sNn;8{`G^05@>n!BnP=o?~A362Lh;4`8iSR2Ma@hTyo{aTWn>ie*>*WWpx@ z0N7y;koP?Tw!`TCm3meH($-O1@}0mzeEkNy@^rHYcvkwOKkU1Om|(a zHYW;<;O{q4o#NJsfr9?|Dt0ii`dm70Dk@f9N{fqK_P@1)w;hFt7s`r+#tC!WJwt`Y zR>ov&CB1;DcsA$@h+UiT#}MOS3gzmdY0+f^?@Mw8^KwZ+1hp-v9!soRZX6bEQ{|=w z>^tDT9y)ycDX#fo^XeD`v4CU;81MQls%p2ghF5O%`krsYLEtWaUMzVgtEY#XE*rRP z`kk0doCSiHL$8Lu7Z_e1V>?}C<{l@gll@@D5!(jlw1$&y$Jup14r%A4lC85}Y?dPZ z!sY(}=J1y7*?wHk$tIoqG4xiTb*!obfTfJvmEm0xr4#xqF}mwEH`uE&%X5|ITa6|; zOxG$gy-XkZsH=PIoY&ulR6n|KlGwuBtk|8-&F-Re@A6T;PzCOwbfIf|d94QvBYLK0 z8+}dyd#Y7h#XJ}XaZ^pnw%?cnM@)LIQ~v-`yUep#EUnXck~cg0(A~bt<6ggx>AWAf zrF-lxWzN=kmN9nILI=B+fBvJZ4jZbYGb_{rnwq@X^yt$8xsry~p9LToY-uvDCQOZjXKN zE-(u94K9_xV-Sae7)x5#oLF`J*M2SY2V?|smPhKg?Ltge5>Ap#@PD zkc%NeAqfyIl36H9P&9H;)hOhm$Qn(7Dj*5D9XV1w_egG9cJb7p&!%w_N*#^F5Un_W zO{yrP^IIlt;OrjOO4GO&y9K<2R5h{@MNsC9fOGU**#tpD9l(;nl223o1--7zRi$qN_y+;f#w&7WDNWPz=5 zE}j1X!tb-sLsOOCR>egmxayzf$f0RF#n&yaRBBZ& zF=?^ydFoCA<|onoNElsIVi!DuaJ{(jxjgc+T{^1&02E0)g|WK8d#a4ox4Zh14EwHn zpThdBLqU>#x9S4fr0^9?%>-0Dn_SxK-f`*ggtmVdSydPWhlBN289kyd1YGfz0PqcS z0oyd9-3`$TjO-7RXN&Rx zPM^VZhLUBN9{Y++YdLZ6?CG@~uDo(IpPJLsyg(ghNNjz|=O5sjnB3yYoG-~PD?Y11 z)Tl1zPF!2ii>q+kpFDhCn#%UbFSuD)hOwai<>d5Q#-|gueU?cN`&Q1Mt5!`Q^J(Oa z`>!mpvEwYY>G4#DHw3AfAtu>e{+Cc)8%wUWqj}|c*Q8u|xaC6Pnq*M9*-@go+}T%q zlb+=Zim{UTS(s=D_f>m^Mrrco@3r>I<1X&8duppL5& zzBt=kz9ao94aLQX_F9ZrY4FVLuaXk`37A?f(Ze9GZt&iqDBE zq>qBJvbDrmhTI+v##gpBXBG($GLJFcJC9()mH7XLS8WN!j05t`p{uH4juoV%Of=6_x0S@FO z+z57ZIw&Be7L1Y?;)+k=Y?Aj0uv(fL%dUfbVy zl5@0k{45P=(oYi^mNbt`NVe9FrBA9n)a&uI?vPTmq2b4ZRC={kY!wnr;K-x1cJ+0$ z`>9%rdfcXmN{$Fd+1%Z%xwg^WdDUTU4LrYSm9iTav*vj}!n5KHc3R4*p4)63mh)>{ z1!2)?wOZ|Sg*r`6&saou+fTfmS;aJ`Sc~t5q^&YFzWv@(0wp8>&Fia=ubtMzcKO~N+^$xp9;bc!!Bv%A(0d8{F zMj6jl)2p!R5ev>k?jr1B!W(GxVP&Y0S?^M$o0s>vPt$^{I%;QA5Q9?sga38 zLqlEAjsk+dy|NeW4d=4t&btw22?++ECVjzmmAr}i&g*KTZ#1|yzMqn=Xw1jf(ZJmH4~XL%8k+}cUa{y&-Yd;N64ak`;{A??xQX)Hd~P?TuDC2lAFwi z^TbS2V&@)}YfYkkZAR9$&SP@oKV`ZiuBHC~yB_$6;5Q+5e11RuR|m@F{{X~!)~f@w zc?+rE=1@zMe3ttrP{_#GTjzOn^N`0mx!Oi}_x@LDsp*t;`h3yC10}gT7~AbV9k;sk zipXj-I_JeZHvwYyG+nYY`-jnWdU4Lvc&A7;bpB)7-!>CwNgFn}j+b6>Sr?a6EERCx zMmq#x-FnorGwc_PyKBRCf^T;B9oHG+`X|W2E(>};ugIl|w>_u0wbB@_8bCI`{Oe`y zz8jg<{vM?}cRm|{dHOF7(^%m-Y5Uxa^1V;t&ZO8~H5;V?l7L%t!>+Shjo7sZ_-|Nc zRVZ_4svHE-bZI?DW$Ided{uF^&2@`~>~L2pKAi@oO8BQ{Y+Cj>enc$a3(rwYUp9|g z_c`%;;c&r`oe1|F6}i(lx1@t(pP@>rQ&k4EM^nA7<8#|!e!N{=VcalQm?`BVcT|=@ z1RfBP0*oa{g#x8Wg+ox0Dg;H4g#dztDg=(`f)bH*2y6%{3Y!L(jzB7JWeooS_Uw9) z6bjJhz{~OgRqEbaFL8iR3fr*Jb75u7c&f5WYGV{G+a$zBJKLNhxp&q?+N$@uM{bqm z*^R!?JD<<2Q`=xMh$COEmx4&(m-D{scSkJuRMICjKex$YtN+RyS=GvKcc z&Eh(+9@j@j1>Gc^dT;ubmWGd`)_97h2x+5xDFdut?l1hWaqzB%Po>hs3=sm?lEU&V zU2ae2jT1){wD3~V#~f{r&I6Khi~e_AG*ra07O-t>V#7C9O(nZBiWuXh4S4l6*ZJi# zXpE8xhyk&{iF{!QnF8VQt2A&70&5uMEvDj65(UVHI&Sk-9)WF zFqDOxjn!yhdn?d-l|^^LNFh+3gt(k8g^_MNDcMRN$U(zNqwjIt+o=YL4YL?s$NGD1 zdnEejIAHBZR8-p z2Sp8_XtQ}udA2U3c-w_mQ}2+XqmyKmEdPa{7(6zJD$mpJWw-@>MU6^y+da?8QIDEfpUEZap z)6_H=TrJQ7x+YUO)0*ROy}o+WwJE488>Z?}m|_!$S=ceS9FLON*0ko-I_z;Vy@kMV z9uEiIb^ibpd?w9ShFZE%(O(eU14dptuPX4)xM`>V08iH6D=9_VHk&zzz4^DYv!dPh z$C{Q+KC>i^r*J(-y4BOA4Xlo`7q}4bSncomu8UjIsq1OmE|DWDBV%&lZclZ{LB5it zwB4tNG2K>gO=H{WO&Y!}LYfMQ-q7;fJ)oy++H0TWYE;et0IH-r#lI6z-XBr>1?GMO z)>#c#*(E2+dAPB$Y3>)TQ&l=R!(~2XCjsO63sUWzrkgr-Lu+WGmA`TAxKmTaAtj(U zV92nt=e#jd_Ik>yDM$?6=0rc*fAYFmPW{g4P8Qfaf!HMtZ%`3y1R@lWnu3HnKMNMT$A7q5& z^>F^*uT|FSGM6;K!E5zahS{e)l_&wNvqvd}f!PFak+L+FI4pfrSEJJ6-BUY5x-=Y=?-ADhii%ky z1I!IJUpQ;p)m2qwuAXNTyn-&gIXQf8r?GV1~Q^GA^I!Okh39^ z11i*V+p4hBM)@WY@|&Wq)iD#XqfDvRBeg%UrqsUz~8EPyJKNpppCn>o+1Oufow#jfLE zlW}$i8~dueE1iE!PCB0GYG)(qQvf_MU0c{7K(fvrA9@4!Vz*>WK4IUR^ z-jQ|9_@0nIN}O1I(wXp5QtdpnpGzKDZ>smg^|wBAS5HW+reu+j=8dFqy!*sD^>2dp z7-ef8Jp_jW{Ch7{mNuB}kUfVhmGO>=9<8I)Q%KO~0lkN)A#V)4GI{5Zo;pq8uNUcF zEQAVo`88l>CwfW$04tpFzr*%xGCFzy*ejYo;lO&~sB}`va!MgN+4fxKY zj7LY}h@ANNZCDu}HQ6$i$#AjdOw#pl4%RSL38-ehnK>WRcd=S}on&>5Yc=XYPf!P@ zvJvTbzqc|Cej)gOt7&X}zhZ2$a_7?+d zOIH<*r-`q0azq`vCpzGp9y>2w@UQhWs&aB$7;VYtxm(8V=akb_q)%|MOj=-x64?kE zloTXIDiS3K5g|uJ6#$hY5C}pL2uPIzJ0Ub!bI~a%C^DS!_O?CUUg2+$URCiRI;xVg zYn|p{gVCTH1?v^DhM47O{{Y?3weY<2#c>bxDv6%JL9HS891cHYbXL#9=tRC9qjY&M zfsO;*6Mx}!m2~D>xTlDn+Z@|>$T?h>!l_*yJE$aZ-%WN4a9VQGKj%g05ySmlix4f3 z-2~LmWbui8R^w-HqM6RW0>M_2oW}1q8v;$--i1iXn>O2Y!p3 zl~#EJZp;JKV=Jk)v75Sc`t)X@l3$Az^AC!Il)CL~Jp_b-^Iuihw0TayRr6=YibJRP zo+;Wa%9yW@?il|73zALd?ca_rK1YX;*BlIzy=%b@Y4G(f%k3Ba*NZ~uO(R$?Uh`lA z_umas3OyR05G}QW>pb&Oz8kx>*GF)w%?~#VL^lX@TbCQIFq~Z(&QsYb84B%1H#k(J zgtXi%D%JW*pL=^Pcq%wtuqCGa5!qd(tlMV1{Zh^PNpAGtB5}qo}mJ?-gQnpfh*;U(N)i>$-piVlKmF8QLn(6F@+K-nBau5okuXra$*4j+etYpWBvllDPC7^}QC4ht7r-fpUeO`sl z`xc`!Kp1Pz;ct;z@@K_nPlZ(wY65x+*M>CM0_=}#^=;jy5EnP01@esyCbs7f&)zO>V=(UY!DP5D;pm4Itsqy!Rn-7@!g3;FE#3}Tz z5$O8M3$*I!rS`puTikiB*(X%-Ck_k(lwZxk^vlmm+`)f6zf!$VgVmZsLgUWSneI}a$lBQO&!>L|(;x8Oc zIFY(#qKIS7aLc|*+G*TZYK)FgCM!B(Fgp(AXHv}Rs>t1NGD+&WzYE1s?K|z2GCE1> z4&vk6pj{T0!Y3s4AIjzA%gZSpIAPQ42uNlJnX< zB25=ssG^V%Vw2KO;%`E|0)|b{kCO4`%gXK1#gB~A*l4nFY9e*{Dn{htbJwyNBe>yH zo)B+~EnTW9W4Jg`t-0A^w+gG;Mb_O!JwQ}thWEHuQ%bQ_K0IYyimKUDTYsGdr>B*O)Va-(cz#_lAkqlrw`Cea*m+l6K*?o*s}MvhVd?w zJ2jarn#;#CK)Ci6{uXhBAG{Z^!ATtS5eXU`2)f6w@WeAbx*!-&W$7)9-B+5jm5+As zOD)}1mYlk!#FFOpUV$%!9)9bG)l{3o)g{E4V~v1b{M~M3#l|@X)3`8@0150bWvLPQ8;JvTeUv{5W3?b7~lE(l;xPYF@??GsI)>`OXav_nEG^A-R`;dr$y~cY=I%% z2MXh?qaaydD?Zc4e-(w#L>9Wo(tjmj0GvkK5VbjM_LquZN~lPM(B}w35C}j@fh?2+ z0G`l+08eWHApy5m7#kFO7)6XK)^&N6^BgBts=1FkT@(W@w2vfzi^-grf zx!c2kCFpIZYZw|B0Qo94>}y8TY^>g=ZBFk@m?@hbG;Cu-Kmb?{73w%cUGA0*u5E@? z)WXgsbNjBJtu29p(J|}}c2c?fMU-Hd9Pp|*Ux;29`%Hi86l}drBh&}uZ)L^l^I&xL zUgawq`1X;4yyL~*8FduTuc2+=IgyS0KI_Mm9d{iZdGD&qjoG+XqJ7W0p-k(r5tVJD zgLThd>&!O^9^3T7jwdO>xWdY+OBg(1QkI#s~FJyUM$SSrx@TX*IcEmoaW<_jS1PzRz zlCa2B%!~r3jytF$hAS&kve~j$umhDdTWnbn(A6Vb?1r@2OvbAUK-?ezq_z`WFse9@ zi4xyWF$0%+N7oC|ybnkzv|4C@uxwy{i_5%NKHINp)MFv@G?DBL&+NUEMvKa%jf1t9 zwm(lC?@d;Lvnm+@wTZ&C=538ZAoPoJy?)*?y+X@TLOShImi11FyJBlcL1YndG0OLt zx$Z`6=KLm29_YyATa`al#|}VO$4TVis%ZSM_PMvY<#gIT6XBv{a<_D6EWT_NYS@UY zA+2!U>tFEwS3^x7mkT3zs>1~&?6sLbiAguASXsFC9HukFx^;&7W)-;BTOB`SyB4(1 zlPmo)h8WCn(#Ft5uWYUp!%+%<5bG2mSTu(L^Sbo88Qpo~{{ZQJCCCOFJURJ{{{Rb7 zn(1i2r%>je94@Xs$_l9VNgKyQWcQ1<>z|XV=)<@|;7=)pk(C^TghKX{VpcZZl5gQW z$Tp#|wZ%Quz_SYWohczGLhNyoB6X2u2oj>m4OBg%K(cT6AHQwCrWY$+l0-tr+5H=oNJ4Z6JINc?R5}kcPAq$mp*K z#?fTQixm|{R@iX4txe`ik^#eTx?1P$jmL~GRp7o-cXeJo_ft-e3EtCDH_JI6d#bav zwdUL=F{DN>m0^y*MdORtBMth5ebpUCsIoA0CO5K~t+lL(n{j}q4PGyEHr+MN{FJs$a3g}Ig>ukS9To44s|MXt z3wBXdq=y_R9RLF@TEVwWk)Q2aMmd7#gr8?1^jc45cuex!&9Z`3Eo+&ZxL~b%c|6)^ zq#QY*g_-Sdq@Z0WwUa^o(vC8;$&w3#yyL|K$nmb7KT>v+^SEA;?1ksPJ%qPVqo4a; zKXornW80^x8>x480H`+~EER4WOGjhXrDsOtunx<|mUp+e73)X2yV>rln};db`#6G! zuoH#jX5O=;ZI#X7slM3Y+}%TKB(UWrtEiYEC>Tp+^c)7IYi>|en8I>+?6a0$Gi_sz z>7~P_en{LH-OdKe$cp2H*&_{w_w2lXC9hw{KFp^+aRs*xQ&zD3oPeE07-Jeel=V&B z6Ph}O@AUBdL8Z!FVP&^rv=Xv3sKZ-st6XK4QY{StWj_3-4l~LwsFa)wC}cQK3OO(q zRh6p0Y%cd$(Zt+cXlrs29fh)NszlSY6WMce-Q?=xpQ+;84Zcbta7%^Njla{ffC3$I zyxxi7c#{VJb?%(z++!fBz`3U2VOXb_INR|pOSWv%ysK$LYBdeA^S*FV{_Q{fY3YHXf@4yMcaFRswgcXEX=n}ReelDyQ8{s*z+mfJ(vEe*5N*D@|M{ZR_0f*?9XaP#$`6eoe zoEI(Q3b7RIe5V7dKfN@FpOp|Z8ZA;4S}xj;*(p*FXqEaUFAm!!m4-=YUZr7^fA zy$(XtCpmJSG^g_^Jj-8UxLsM{Vt9%lHikj%buyhbkFse`52TFu0IIKOWYRR_I8k_J ze=>=npHnW=^iyhHik3WZ;Jmpz$8SzPveF;Lbn-w@xZGSIoMm%5G?CUL3MT>@RE=;A zxlzd@K*%XpEwo`fYLdVVCJ^TvG+eKs`Q?s1+32iB+nz9;6kA(k%9Vf&FAVbCd*L+= za2*BIH3Mxsh$_pi(O0Z%jWfXN7B=3FgxITXW%*dNbw*0);sBEDmC%-0E}U-Tn$1;c zni)NZ1zuvPT6eUCdLeeIhPYzkAjt$N>=aL7Yxg&fs#S+u3JJJYhFYss4pdm?^}NXt z=v)%SJs>DNLh})Y{XD=FwC}je<6D;l}TuA2lOg>FaNPRE~f+9iZFvDhV+B zjQsfdDd}fy%}-4abET&lKY4?%$zr-Iaz8cJwBG?&tDtQ_E*50H4@2`_S#itUdtu3E zRm&LABem668Pa`S7Sp!2rNO@1`?2x8}ZUHn5Cv%ReAL(hj(lWJ~ysCHSqM`8C zh}BnCY7!5{B)OZPy?I~WX&WW^$7_U0l&(QNkg|D$@)8itDl?!{H~`<)nh$t+-q9 zTVpN7u(0(hnv!!k2*m9DudMuD9l~G=L-3+|n#vaJqWvOX#Nq?`^pG zh3Bo~W7B%dRs>QG3YfO-#|t_cHxOD5a RMZ%7<66X@$68c%~|JnaXatiE4_d72+ zCz(ugCYi}(^2^7{$2ve7fC!I(hyag>h=7QMgouoajf#qbf{Krcg^o>xPfSdNPe@2g z@rjC*jFy~`5XcIorDtGbW+I_t<78vx{KUw__&*^qNJvPi$f$UzsCbN|grtoB-}KQ7 zz(Ixuzyjc4XaKM{FmO09AA z{FD4Y`hUXzjRp%3hw!h77Uy3zEG*o=>HJ>?7+4&*|B0rN)WGBZg8#7wK!^Lsg9C>H z5C@zF^lK;Yej;U7O8hS#r}$qHP>`|+T-X(m{#H~jpjm{omc=WS3=FsZu2~cW538LP zhbIsK!+^{%vdJ3+X(!xsk*7~=gkdq<9UU3Z%Y*Vt%3RoAYNSXE{DAWv=`SwJVE6#E zK3tMO$fg(OfIk)8;UF7XGY>kS7UiaUQQ-av>{GePm;e3%c!W1I<~Ui2)rl_QJ-4M; z!jT&TUY*eZZv92n0{|`F-oPK0hR%u<0hd`6Q^Wu)=xDS#WjRL9Z3xf9 zmo&HlVW8&tcK>ufBf^Fm>X$q?8|YX?KcdrvV$-;hbIH=@?#*~?N5lnan+#3&_9iFz zAPV?HV+;nnannPMWb$5utz`DgH(yC%QsufT*-74x&5e6WKKZs%hz;gJ5y=~!VY1Pg z9_gbd9Y{+8YXCj@>R$8vFcX^#kzr@bj69J(<@_rI4==8&Da}nB!AX({?UZ0huq#oX}FD zKI#3u`d?61lUs&0*9Rbs?Of`qR(ip7Da_`M0}Js#hvV~|j##9}WsSo4I5(POnSEV# z)WTIbZ@+Tv;QYm*iok}!>yyzw1bsmX20)%+gjAr0G&K-^?lUKHG%Ab=Fb!pL&OBZ~ zTL)zXB`F@62~dC^1fNBhg#fFT;1~$M3(ST^RZKXKh(qOYg!pM~H=te2w&pxiA(M(u z0W%&^lrDn3b9JtZ&)5(eMUxFEx1d{yh^jtG@Z9ZOopBf@&SjAAgHEC6hHP$!1jK{DMJTR|Xa7kNr1h>S9+t3|*SIrp~l15ql2S5*hPL!p>v*_$Lf!K`9 zlpLA;RVMbjE!*KoQ*83QSkxuHF@lbVv6W%i4}{igz}};BcEVq;d&BTdV>i;EQ?h)_A#_FY2?SCAtQ425wPx1nuJu*okub6b45#jQ63M(3L(XBI<|p^!RL<(CH$V zn{d30<3`dve{CX+8lYp<8M#$ThA-_L^7#Tr^PJ7L-MysAL+i^YW0)~nM|dj7;?gfJ z;Lly~HGDwYb5Y zlA|5sX_a|3gXX>CC*ty=pe;C)ngP|ZbNoWJp&@<(+vuRtmG#Mvq{ceIn?{iFf4hYl z&y`xk7NDccggSD^?c5}iDX6nu;^@`w=N1&KA}Bd(XCYCFQCrW^F1)_`p1=-}BgJrX zdh9``nAJXjd9nB61qQTziuw&X2fg9%YTgWTl{I1HK@#`xN7SSI?mSYiTS-^C?5Xl1H|}T92*jGsoY6R1Ua5J`Gmw=mWp2fTUnS3w$DU& z4>C?}T50}t1M!zZ4~h%O*3f$-P<(LzCCE~ig>+H|3QfMjIpS8XjkPpmnI=XvGk02b z6=l~`ZL1TXJHw2S4hmj;rC2CBSvvyL=RRb^_gtu8A+5xWyws{f`UnLC`=6GJAV;$b zkH-6G#*oM8jiu!C9L%#YvpK_6WAqs+*0z$qq2LGjPZUg#8q6?DTb`Pq>Bi<8$zk_u3rldY#k0o@VI|XS0e8ShxuV+2>lA| zl{32;Ut6a=tlq%Nm9|FI5lm^8;S@Il?V$oxZc}&L_~LR#m>Hb&y5!zi?KE5U=X0k; zX@ifGMkU^nv8yeTUg{CA`fgZ>>hr&%V#A2q$HYDWD6f`#KX{>UTSVDeozSa$W7$O7 zET`+L3~aitW3MJ6o*>biaAUYov9b;rLS&-L@*)fHrdvoEQ}fp3)iq~G!Tc3MYtMh~ zsl8Tq$!^=N3L2I`(OY>!j`{}`USZ?93fhC9u#7Z`|XHQkB4+=w_lF zfk8g`(Np(2H0gOwDLy4fUDNHLj8i%&=E@@#BQ>2l?op7$KCyNYJ3HOZn(!TmNNeIc zBNoCc92GOniiR7NtJK6%wM+n3e_8klVODF>>Uq(OZxFnq=U9(jeiqrNOy#2nTV0UG z=$=lt$YscK{C1>vFVJFP?I8$8cD-iaO_aSLmlYae^iG@psPOD=8oA@^YM-OOlllvi zM%mBhttNlgsYD^4@_P+y#G-u~{*Dja9_0;};jLABUNAC?JxW2$#~9uFN>jfavzdYv zc2}T_NY?Ds@$Ajk@Y_-BjB%qVy^}#k$WdDp6(uOSq;W_G1DGJGtBIJU-GSVgHd2x0sito3nSHJ)ydzBua#|54KNptIE_k(RJA0Xum2iY}YQenq9Af z3ogvZMr#O56|A$Te!h;wKWDel%$n$3C`cBO6UN`k(yV`dVBX4vWa&%tVHXhYDD{*C z7C0K1{|)R@2%8JzIu}L(E;HQ?!ZJ<4KL^tHgXwLO`z|opch>TSANaENRhjd&T3f%j zQI4v5iR&db!8dLNF8Z=>=;Ai47~{)WteKA5O^9dz__K2SnYtP7Ni(V z<6;S~*B zUn>iALMS3_atCMKXNNu=BG(0p)-u1^Z75SR1_obN`yEgeV|^j&Lus66=F9Ln!Z)29 zIcPJ(CIYOj{fWORq)ba~#4cG@stG@LuKFVrCtQ7@mQ+Wm%ZghjtZ>{_1yOWqrP6Uv zVH`rs+PsU|X3839-W)M+iNXOFmd-cBGJ3GkIFoZS8Mqr1Gt(8yEH$OSa_ z{X8(s#tJBKG*oo6;|a=S_z&GrIq*pVPM+vNMSpjc_f7?-(>ch;DX99S2{Y7P;g?{^ zqQu{UqxF9L}b|{mA8)`=|Ro9LCg+ZIL@L8UCmg^zI>&L_F)~n z!q9&wQPU-KKCR4ilvgoOq4*#ZK7n zHvJk9k$z29(T6TKm303O`z@-3A;Ic>z`aOuOl7P0{N7+1b*{5PF5&D} zNVsRx>*ACqG`2M5cM)V#T)^=IfYe?n;xtsd&K6z6<}Sd$YSXN%TIF%2Nij%K8g<{4 zy$DB>)|P;~Y##P4LAFp}2(!AMFN#v$=~kB^zHS`gcLHFuaU`5k`ek)3Y?*DoI*Oc8 zp7sV@yV9AZJj%x`^cT}ajX4ZKak`7C| zyxfUJoS)dOBgPIj!s6|m>tq67*dWrL0~=G}%ny@NAIp^I?tB~m@(V|9@UWrbRc^9N zsTfzORTLyR3qTChdH8LqDC$DxvueSHtS#|Hk>1z9N}Ir)3~rA{qc@F2#Y&&(=zeay zXI;#)05e+I#BW!+{(Nj5u>vQ?y$f|E)6 zsFoW^S77UIZ{@xcOzQ!7XkE#pKKRq%OQg1SXxdN|(}?hj_ws|hi$y8nCYDbb^7&_^ zPXH^AihvP^5M1{gL3Qz>nTs)<7F>r0;HCTJ8T>A%qqz3Q&6&i*2Oz0v*{5h}858_c zK%>(@~d^8MXUTQwg82+u%9Q)*ndG;!tVwG->)nSK(83fNy~KMh$=2Z%~{A z7ZQ`Ag?v$X>pR^fq3lse}?m~3s*JR6bm;T z!DA>ZNV_0I0kLt;`bm-lM>$C?2sw8z`PS2}eo!C@+=6s#jij0pom1q5Q({mk<#L!; z6!7JRMv=JwC+3CRqV!Q@hP#g*qh@Co5!bewHu)1=WEP5t^Ffve-&k$lp#%y0TM~2E ztTHlXzUdO=R=Q%ctn31*j@j;;towKj2l7ntI<-=L>3oxV^!>6uZTo6wm2zd|gv%9F zI-F39NSx|=6cbFC^pgw-(qTRAiWX~IKXA#SXk8Te`Z-hcm^*9l{NZ!j<)z;VNU=gs zv0<|XW)RED43sutzwD0PO#VeRK4TxXV4jo~Vyqg+iR2%`ct~kvZ9vSzdY_mm$EA15lYH{H;2IEpzy z)><#0`()~&bIMQj?F>DI0hH2wqi;treHLk|Xzn6=ziX7KbSk$u^7`;bU@=DQkML47 z>tT=}bBw2};~^&xtd_4I+|hVXBI1eL@%!yuZz(X0DknZ>%%#ygVu7!W;UsIT>sn@6 zBZt?_vTMjHl3So^0|rLDuyG@Y=Wr+L8`?bVEe29v3SQU*27Lg2nCSot!xoH!khSdS zgrZmW>vhQpqCigLNj2s+!m2Mp5fw)l_N~^D6%wAn41x3N&Q8vb6e>5>6|p>t^KcZ) zsgY=uQDA-D;^TAgBesIaM)^)`Avk$Nq)wcD*N-i9hlKwZ6q)fFobWL7wpl; zuu}@4bPP0L2;qz0I+a0c)OS*L5{b&ACT>1p6Z^sVwp-*jSK{XOR1+G1UCw-roZTB8YS#Au2)0H2s(~I+DsLa+)K+gL8ws|33+qC7+ z-Q^&U92kw>Rov*uxGR@YxJi>Y&_a=PPRSkqLq$7DiJA7l(=e2NYW`%-Jp2)4Y)zGH z>==Ml^6l)64U^i=3>I&4Ze{W?4YZP7G=q)cm*?Ng9*GMPA>UFx9%C{ePKyn{$haBN zxRb~+mpfds7OS`g4!kqDpJk_aD#EwB>n5M}vYh;FbsC@lQfYpfAAJkmBGbn#;KT*E zUDl$ry=_}kLa?f~yRvGCG|IPyM=jkG<3|m<>5|4Og*RL8X(RL{be2DX5xfnrSr8;= z3BN3xj;j=is)*asHUj)ZkMYi(^WYStjFiJhFMquBavMOGU!s`0<^-^nk$ga~m2E$T zs$0&%pZx`khkJ{$l_}j7Tb*GJF`~S~b~bDm!!2$C5==Sfgv+qV;G@b($!@g7Atuc% z>{OG+wA_MUDWP*l0|1!?M2S8!+uolh)9o|Ad|VaXwjl?3!pYyvjTNW14)tu)M* z#Ke8xWt$rE9{^cTn-#3CmzrO^JuHuRh}egG&0O(-LdI4W-UJ^-1_ z8yR?qu(Y2h-@pC2GjVyAHq<{^J;7(cO7eV`Mt1Ua67Ha!n7ZK?$Wp$gbdgV6^Ju-S zoSdgb5bWr#oH3Xygiw%2*Ud|0jx?m5Y9Q*E$NCuN{x0bmJ9Ktk7TKEI3@zp&uXF_%)>OYI5`U)Zw_iO zgK6&q`i7TDM+rx;Fps8>HzLk^?}81#taDwrG-v}YBQI;(k$9&dL2xTZ9{`puleU`? ziB?PrD!)<5MR!IgYi1We)}3n|Ya}bQXYY!sFrQd+Fx2QyjThZT!NpMWg+OtxEf4G9 zzEKd%(eH#+l}Gl1&Ic%@EVwK6up+=HWB&<`SZk|YO`7YutMwIEm5V*Jj{KhucYqlr8Bd_eG}-p#gI zcAezOk@WmxIXzl?$=z)d@BzRna^@y#d7u1V7;eQaG&sw4*Yk-`lr129-Ae$u zlaU7)vjkSKVl2{DN=N;K9Iy+F+ZCcl0OBzq|A0UEB3nMzkDBp>P~W0wl^gg02z1%B z);Y4_MF+EO%@fynRv3z!>_1$9=$7s?pQxUc(-+RDSa*h6oEETqJ?Sgoag1}-qZ1!} z+ZmqSyQaKj+-LLspEjLH$BKje89SSG|0-pof> zhdnn~GY~on>QkrouynT8*Ka{7iE0#7&c;6>noP17fISR03e1rC?`0R{fNHR-A0*_M zCg{A~Ux_*v>mJ6_Iwzah=^}Zq{o9Rw-pp&t%XewZ3X;k`Lm>({8rLbd4Zwa^wI~R{ z+srSV3LxS$xIY_-k&`juO1Nk^yF|H+BvQB2YPBzrBa$Rc12y&Y$b4mT-RY`*4?#EWWTv3YSN^uJSC%lj$3VOI z;7Hz0$XEfU%>&f%D(QkOJ%FP<#V%FNM}i;s2p4(sE5@_603jk`;zmt+JYU1wW)61o z9Ped^aQKe9mU0WvOD3Es*Cm~`ptez=LprVT9I3A~iHS-(15f1UZE-e;O(?W$QlL+x zl%w`EpnhrHp~o#)T+Jol5ouxD@Aqu+T>Z{D^)?cyuIW1u{CaP57IssN%Gbz=_LP9s z?jZq}f8HTyvG*R&5{XE8>HD%0D@m=js$BYS{Q;2w=$YjA<^}U!gVY~Cc~#McQ5BqiC#-%p z5i7O19c4M$jVtI*3)pFNWbO{%`SR_SX}Ge;=D4$+%X%A4wOP)KysT`_LUdtN!x;vC zSGGc$F$CPFloYHZ4O=Xi7*NO(;NV6u?pc5Ntw-Ws*glmrx0>DBq$-9D-|D;Z2nkk) zNk?uewJRk*@H8(mbcoT3|6V-b)M?M!)^)9CvyWSDX={f^e$#|ZdGMOTJ@7v}AnbiB zS(SM1)0xkdl*0yO?!R`@^cHA}kH=fdybY_JBx{%TfyWrNpS zRbwJO`+58LSxTQSdbQ&ssW5%=RjvI&S0xx`go;s)Z?$sz_JEnSugpGz<8`(;JSj5I@sl{04l2Gu&Ic zQPiV^OY0?=kK>`j2-4j)sG0f;Wa~R0|bz(eyjV>f;DAS*d+M68c_%+ zDz^|!{s9=q&|@)F4SVUZFUk>p(r`6!0tle{RAR)XM0T2IY5;TCRM}T=>ho5S&UO7N zRZJCjT!wXj&7^jsJu}Y@{~1L(W3m|Drx!qvPlbgGMK0FUDDnbB%70zTQ`-s_CtOxQ z+NhWW3tn&==HnJliz8j3Hr|57qxxOyCDB%ha-``w1Ib%ww-J-02+gpOzmU zo+{CHJM}%Xx_x!$tc&F6>nu%N(>4+UJnjZlx{EJZUF%oz~7D}$@9zMeDke#=y z3Rx5&zgs3zf5fwJ-=DNj!2-($!{Os|!p-LpM_G1oeC4p2FrX!c<{v4xyK&70H_`{=P>(vW~C*#ia_v|cvzcoXBcV*%{K3%_mTgHgB#q?LI`R8I& zNr{-rR81#{=%x*)ygC;HaoF?1YlDAo%=8( zbZp^}5{M=rv=CaG{Ee%rH1ghHMx-_1?D;{DmL?q7aR}v-t<0C)mdf4^!=MJfuKz$x z%9JhAit$~PP$r)@H@V661FS0~Az$KSK*gDP;aoDMp58|_zqblDY9ip1kgg4}E)^8j zJ8U51do!=Yd;z~oljt6L+3bhtOwmZ}F$yDiEd?g`4CIMQFemoXS^o@`yf@V32QE|0 zC@VVU-^;pmNz3u#5XQk5-sww5C)doMAt;EW#Xgx7%|huO^hM32jC~$6-5$ew#v6WG zMx2QX^#7$LGjcXE#@s(?!>phG56^2>cjVfeL(^{==1AkhZ>Pq;{FJnhmb_PARj?_x z;%-D#q@iE`@1(hFhI`v2gG13;{{kl(n7)Hx@lI8^(b-aJRbbW}wsTeZnd322 z+ZXV0y^38V`G0{7XJsf9b4Y?(aT-kko_^Rmj2_0iU3hH1*!C>Bv#uFpi|P8}c~6qb z*y=FhKYFE?Z6(2V)$CzR!4)=JC`gWA4KvAG^Q+sH90k5PO3|Ap*N!mFEZzmW=vt)r z{QofH3Ab{|7>zOzUMt(>>Yq<3H!wP6ef+m(4Y@=Vu^o?t#Jr2%v2UYm1u)@009WrC zltm^i!686xn11()AOv6@exQsBex}TUN!ePaZJf26i9qHA1O;EY=AGrW3PW8fa&(mz zEo)zwOs;ELy#gLqq5-zB0xP~~kvkgTtgVOqo=Dro!^d>M#^6vHYz*5#A7L%H)B4@< z7$-E=Ty!~Kh>I|A@VN!1zK5axFc*NGGTACMvgmL0a=gMOQ!DiQvz-3%qJX)X+b^QD ziEweWpMO;9RrXdK?95Yrz1itCp!~f|GU(0cb-s1Ea|*?TFh>9l0}>=b&3H~+U_Kcja@%>MoCLY^v>88qg)2J61ceqOm_jSH6EE z$}lpx5^;eKFVnHemc4`cIH@l={)>GE9AH9W(|{nEaUc+6c3UZTGfKTm1WpeUwX{vQYLLL>i_HyLK4T0bhk>^~sdH<0 zBsX-PJ{0Y*&)5;VOtq6OT}Erbx=kL0Sg<;Q>1GQdi%qjBqbIpWW_{;+2zzST2O@2G z5f_(4dW2@B4D3`b)B-E#2_k!GC%l_M0qn^^XjR&9{{U2m3z&#dEz0GpxGKUmqPtvOM;Hnr-wz&pIDG)lLX$DBZ?y zE`S&g^Z)eH)U8rimYl=cDDR|}QgC^%P-pn7Lm-bTDZ>OWlawSC_gTnMQ>B9BXvqB& ztlUn#&UuU+KAIh4m8#^;j!O(Ww7F&DM!fx~J?(8?!uU!@hA;6=zUP6Z`V6~i8k6Q^ z_1U{duX5C=I0jtB*=hgPhx8v>fvGgrty3%5!HI#P1;(Wz!+yDZByiRKuKZV`RvB3@ zMOO;bEA>di)eMV5FfBRat6^dYtn8t295)}x(Im$cwbfg72HssmXN(PMyTF)1+wO(z zBz909I#W3bB-1x`B%BJ9dNSNB7$vOi!)UdH4Z0P_a;;u-dxp@P#%G>x*osJglFbcpFUi*jQpxMWkq1E#a? zU+L@eEJ8NHYmzTGs}Ngf9Tce)_Kj)nc_Rf{igFhUOZAt*PqDRJ1w9W4Cqii+jR~ym zmK8Qx{rd^)%^fSR)w_w)BJO`KD@$*R-G%?0>w?njywGMv$j=h{~WgN91Q5B{gIoA(MiuduZ&k-6JZKrurJdglew_{0h|6hr>ZzW4bMDIr;0)7 z)wn|BuPyi2t#=p3qTY%n!wZc8lHqGnc~;)|-Rp^YDLv0NeVvwC))#FDT1;P?-*^1= zmklB8X@+9{R=6?$`IPy4bRD)bxopgxa{D~r)_$xqSn21^40$K{@hekn2y)+@nFj+C zf>Q{v0KdN~i-|D=7}%%2%B_I2E8URmM#4F7Tvk<6_4lQ`Q1$?;9>}gdbQ3zL41tik z$7UR#x7QTST_BbIf$>k+74a%#o3o|tXI6M^-tOJFdVN$7N!2OiNS|_-JEM~Mcf413 zBNBX8j*K-IAFn(9>^C1LKJvCui6OFH?A>94Rq!of3Fao~H@nTncvdSL+$KJKV``=2 zkp0HxlTL8Vjh_ummHR#1$dgih`D}quOfkHPnxpzcCv>=k@%|Wqnz>SMZT7h|f#kM_Ot9VlwX*4H_;?uX*M`cXR|$`c*idHIaJx;)*tX05nrk z-st^T9`Y+JqoHF@T7OBA+HWwB!rfF|q_=Liz4y=Cr!tpR`dU71lbE`TI(4}JQLI~6 z6OA|GG1jHe{cMUrKG%Yu1YP>3`rP;ci-%{7k2n_KyD(AjyVN|K06Di}Or2%?dcrMg z4Jmq^tUXTB9mPVhIJ>hC+Az7-H<2H_2>Fk%k8*sXVf36nyBfZ&m-RwkH%v{zB}3wv z<(E)P(OG>vWztP?#8O$nYou>h5Eb-tD zxHsZlFP%{ICeA}}^Zw8nmg#|Dk4DYp;hBu#BMEO`AfLD)#~SwON(T zFT0>h49WMVJ6Be!rwVJbXSa(d;(UO6WvWs=*bE+qy72YbS3Zm5fsbF+SNuGUJ4AR{ zLcAO-UkGx=)t64_#2~(+Sx7AWn*^MX?Er{oxRHVmk%IIoS_gQ_-FfUQAnF?~k3{3O~(-vqA4Z)z3x zgr>rW9Be*?;ddU_-tLoS9Yy`SiFf6eopz2EIkdj%p)K4>$#paMQCoBq)lz=@*$vgwF)l@%a}EbJkIT$7?gKxq(ns{e;$+gy zk_tX(*iavnkpHLBvXB=?4&ZETh z2_-N^l-1w|h3_gbkIe@aZYnV8(2W`D2GaYZjH!4^=9WQ^RQjeCk8&G{Glah7Pg!>T z19!ZquJp|K`@5aFa8HKx`pxdr7B83QrNTKv2FQ*SQY_rv0M_d`8q5k?n zGb-d&s{dB*#m01LW?dT1@bQZ&J6*=fFi+6}@;8`z-qxv5nbF;ZvP9`B|A>fIQ&c2N zY)f_#B5@S?~jPaO>vcH%#hOavNIvf7?m{I*OdAs^sN70 zg2PIIMPpD*VZB|pPpyM<6Yr)IWCpuVt)cs9vsS!QMmN}0hnc-S72Z52e{*jI^)dLV zRw_yL>E;EX@PYA??zPcHxw#>__QDhqD3{&gu9NC%vI2?97J}?4AkOd&_lReLLWG$D zU3-YCCpmJhmBl&pcTK4VPyCv>K~pub)`GySZf=ZHewj#c2p>3jA-DzG86$VhIa`X! zRKcb|6}Cgv*wiv?5$-`Z6|Yfqxie(M-xx%JGLKf6b>MQNo0Hpr?qUcS@iws%GDl>& z(JKh4CI&FQCw%|}22QsKXNQNwhRLCqsnUg~h6*S*yXF`D^^|Mmu=o#g!ppN}uD8k$ z0s#X6Dw%%bFbrw;{K-0KcLdu)uz|X>c~ab(al=i8~V(}gRnoy~R{OM&dCjt6|5L}sX%Oih@@6VL!xcUH$FV2Hf zGA|$u#TaYIY1@PPjNWY7jO%2QlaU{QWFiY))t3^H0+6-n-1>7x#22A(weUDWwY(x! zluwFDVaT`^@hU+ayUyZ`6kMqTh7H3B_kd^0-s9V*6=7K6eh$Yh0P-G5Q4uw z5$#Uc?|<=3nqtu1Vg`-W58qOGN$3a@&qz$W7KM0R>y`7Di0mNBv}uuc|IqJ@PUlBC zzyEo8<=hfmca?q)HqmfH{9Vedq^p5UGnsfZy|H7Uk8&>9{ACQC{6HjJO-`}rpy}5DT zD)QFNy-&=`URP$oXTJ6yUzzocm0j?E^;&trG*lJvO`WD>JteKh{HaWP_wI6sa1}l{ zqkq&K`n$*FVinb|bg|uLR{dpzC!LfI9NpWN3m=0utTR2FvB7y$b7y%vPzL4sq99sB z3=BEy#{HxHw?R}~J9<`4Hpr3U_UWJ3&edqesHxMV)Zc(swvcgWMgz}Tgj|wy$x}lL zOYGU=Q-oAt1n>M-haSaq#BX4wH2Y;91hO)|9-QjOf2RWm_6r6J|>N+Uh0&tT%Fr>$-sK4 z#V73&c)WCrdSW2o{2p34Ov*+M^`w{BdZgN@TJ5pTUJ~w zo>Ld#fZPjCf!LIXe1*$At@SW7b$Cp8_HnU?!#F{I)ZV`?$HtO-dFkEWm-X1-h~`iI z80uLVLGrg~Z1iK9fnY9;FLnQh)agzC>@YyPy;vabP0#au6f7YKlZ}Au~3@BB9_v%>JVR*oFrp4uSw+#wioO*cww*22a}aXCki074F^k3 zzOcI}q8%jX7v_kLU%U##JB8YolIhPkRg0G!zpkDMbwWiCHveV0!^&Nk>;Hfh$m|{M zvHgfrZEtVDyw2bwdxd4f4z#UKk(0ac&EerIl2i;kST~&$_vHno9QfmK(lSwyo`3Hs zXd}Z1EiBQlPn}vzU&*)PTWA3wl-E?tUC*BHOMQjwsiSCNbJLG#38%q6Q{61V=Urs? z>htSjwOZxLmyq;R>rxNV$Kti8`rkr~1BNp&B@zEjelEJvFGP2~S+1#g_rIu&Zk?61 zGxz|`LV39VUbKe*@j5AHR`&%0YB;zk^9Xb(3iK#5bR++r0&O)s>q_uVIrB!&a1aF) zj*#lsDd#t+{AV5g=&yTIRm(V!2r>3}CdBV^V;u@^S1mVurPgE#5^LtuR-raNmYJ90 ze_v=d{-$coiAz@{FzBy&IaVTz8LSy|V_9^m4^mRbmbuQdflFpu)emF(-oJ(C8ZuZBO%r!f$VUlrohf;){crYbQaTWFyO$nv&TD ztp)4zRXWR|iRt(PD^Pz2xCof0P33r*u6~b`0Kz;N;I(EV<%U#NyDOkED{uIw=9rnL zy=q&r`}~)K-4q|b@15m7+^hWKya`me9RKC3=ZK?lo&zufZc_Fef6#0wVKygO2LZ7I1ThI1QL#IZ~P&jB9IFc^^f^@>=FKbHLx8j zT$21WQk9hWre^x;lSt^*`gW|dXV%yq$*=f_J^!jJQDAf#=9%3=?t;#lgx8Tm5u*e& zCiU(oMl|#0QZTs;I%2a4{yZar=_0{!+2-Ll+1Sy`g%SNzN(Hv7mgA;Py#Iawmk-A* zmeFrcu4ZC#^5@-Zgzs13h-v@S$;df+&1g^jlH`}Y>omV&Q2Zml@vnStH4ElRtm8XN z_R~K^0|$LcPV4pMWoK&HZLE;gQT^`7PfyuXQq25P&srXv(c&|+Q>Qur@#Z!hg8uBS z`(;C)^3)9!{9EA8z3-${dk22#1K_Clbv{FqERf2|mtP&i9Ky!9%UT<<3t6QHVRQP^ zVMvQg%yq(63mg+`-v2tyt`UzCO)DZuM!e( z%-JC6AAEINJBTxlM{zIV1K}P&JFIZXF1XIVXANM^le?}%?Ok$6PtjegbB*tZFt+-g z|DJd0>7hH_0*OWC?Kx2a-t1yNEoSmVBO38L+`wf;g7}z;sJB+FP7Q2_4?thh`&W-{ z;sEg~MaEup3~H~i3q3>LEzZT1!+OF&u>tXN7BSH4{q5hH*4txhj;`o~0Iu_{%6mxZ zjq9x3DvY-!Fg~h-y7Y!+tes9}?iVjb`s{dF&H0Sf53h=`z*`U?So`|SB9G9g%0BZ+radt(@6a_*{!*}{ zoyu5xMn2a+C;uARy&o%EQm}-SxMc7Ijo8D-|M}KEF>4hG9dU%YgZUS)C6&n+!f9}M z3Y%UGcby>c&P}ZU!jiGW$gmFJgXwU$3(hTmTV^Vm{{TF|G8(w8@O5kx*pz$#3=$Y8 zg1^$`hVHB#8I;^K-TI0yM|CaBX_ejQ!nZic&&P(Woc86Pw_zcC0N(j>Nh(ZYa<6O1 zd(JxkJQ2|#@0cBgVE5|M+HV#a!e_X5l94=UGt9PM2U*#Ao%KS32urd z_bu1?DlN}})zE5!W+GK)9cnW~-PGqf64QIJsEEFxz&mMP$o1j&fEM9B6l(1o!Ds+};{A6zq zYyRXfO_<`N2Yn4n{wQcg4(j%=zWA#}5LH-0U+@Jnr%gwzW(Q#s`rN_|fI#uJd+@6& z`vSUzV{tVi<*ZiN#B^ffaE`*XM}wGzgN{9itdv7!Gpbd{H6tgX?KH!?pIA3ExD|1VB_LjLJi%dmK0u|Gb^Gu0Ly4=ed)I}X1)q@8RY12_^5w!A{es$_6 zZZrD%#$U6`rJwW3k1)WX`5fr8cEc}g!c6;r0@5fg*I$U5{VjWMhFAwj(Znv><&qDz z{{Y!_I3urP&+if52p}KGtqBEDwVNzt!pT~FK<@gER*R12iteJKctdccL&6)?MFGNe z!-U}xCaDDwQ;twbCsDNM5l)gw5^_@%$|(#eKMn;+F&3&B%(Mc~*PcM^Lb7b&p}oPP zs?T7exxWx-e|XpE8bBcK+y}_MSDkeTp50?!?ZM7=*L|`67p>}`-s?G#WLIu*xZe?U z@HEVL{CB+lY=iz6Hh+#z&N=UnoqvJk-O*sj7C%+mX)@5f{{X-ek<(on<&qKpS9zm- z0c(>#wb{r205PW@3d0&4K|K4a(PoOb5zZ8iti<1RLckPQQHAig9&{5Qa-*;XWxyue zj4d*%S~)6AW%3dHvQBIAMA?qYpaq}|AipM&--4^jMBz%*3BYoo^F(_olow^(tg7Cd zKUHjlvnU!C(4wqK_)o&zoiTp0b$qH&`>YB8HvV&PDQ*~+~RRm7u~ zj3i^+nlL^kT3L6RRlR0PHc36`386s;4`cITlua#N zbJsnolhkPUNL3D|;#%ykDh7u2Sl(y{JhZN}t4X#x9F>iw(h0SZFtc#nOR>uL$Efhn zy6K5q7Ej}`6l_R1elba3>C7f^da=LFKr=@IHfrVVq% zQaIpZ??3Xe_0nyW>Ux+B$OU!1KnC=kr{QLFPKxI1JjdV+txmA^?u$;^FLB{!e0tqm zBzb@BpH^Y;-iuB@6w~gZ>>7XMFC!2a>6mzFAPG4wFX0Ho+CpJQpAM z0bq393!l`P2d3jY{aG0n7t!IG!ahfnm$xMrZ4;%NO{Sslixo?`Zs!B-r>jfQAIck4pVZ0T4g~vNDL=XF6u!>l!6CIGH`*?NiqbSCM7kX za+=b##Zcym`9mOs$SQW4@k#+Xr+6pbQ|g^4Pp6WFmJ;gtD*pg+?ykDq9CDFu{0{mR z&E!tD?C~l)@Z4>a-%R!)Km#Avo1wFEdkCu`D0LtFc%j#U0 zxwmwZT{<{OAXf_1WoKz$YWoPFq-w3kXrr)_sP@;$Yz)4y9X+yi$)n8-i1?ejm2wR#`Y+z&xP6##1ovpLlJ7}gP1nzZO3!h`* zFH0bDy;POx(w}8kT&!2Dit{?{SCHVM$=z0vtXA|4jOi_+ajF`KHIeI}z)(7;HGarEblU8hdzp`AI~#Sk!iqV(t>VM1lrwE{vibC`9ig&(Y23xAW$|faKE+>5Id*z z88n(#AKrBUum`~mJ)rub?mME68ocg4ClIm41ollQQ`r^%@J zyY{=Tm!@f(8y?8pK*{Uxb$~z0+J&S`MOLHQKFuutfjyTSL!qm|gxsH(I zaj*(Rs||HUZpq;fPIk`Y*~9x42Dq2F4sOTC$|Gnwwe-JqWOtM@Q@E%StQAKI!eDTo z(GC(!odO9GoiYcs){;mb(KOn4Ka4pmaIC8iw z*H5V~`>kypoKaeFl)IhsMay@;d)JJ=XbVz;@VbR&D`a3 zd9pw%u=O}s3(mbF4ThU&PbMR{3@h(@LqH0)ptotIn%*Pn=M)^%g0!^SfO-8_HKLFS zp2BEywPBWx0;*Wuj%)cv5__z;rLk5%>cbu{=jyjIX5zHxgM=qJK)hXqCpcu^TY$P}H`X$Yc=Bb7;?K&)EUm32~3Ias=f*((02_6o|C+=Ycw)xSRL zCTzSdEkLq+s&8kjJ+Qqod1O(=ypMChTkz<-s2Tvt7k?{1rA8g8U_F;-94vHxs^MoX z-kQU%&C+(ZF@D|Ehep>;x|MjN^50Km?J&?!sv1}2_i@u!s6K61Bl{|KfNun zvNi%Mby-~T(dt^m6zvnRni59h3x3O52tziK$zJdJfv@;iOxn2v00qy+?4Okt612%Afh3(ZAW0`l10q9wlOXmyt;maJ(>aGAj#n2hKDj=R4s$#| z_A<1t$n3T>&sgnd$tYoHY2A>y?^V@}>8lw6k-_iov%`&o6{bHv>g}qvx`zmYPfD&G z`KM_;)!JxRA5E1~LSE_!?r|d(Nuy;OrJLFC86zSxsGUca@(vck7SbtV^=%{EH^M-0 z_wIzMoky?e^i3|+PaI9}y}$)ur*&O6y5{NnsPz#OM8@#oKPAfbuMfLjHS1$82e|C4 zbT16Y(#M;lE@!v}KDA_@9mHCzW==wPYOGN!5BHK9Kd5tfRi)Rvb!9qdO{^cp5KHLV4_Wga-+GlL=yaN_F$X8n3e(@Uo~&!}^U z94)rSTG2rRrRY3}TYUSiBFYN>n76RukhZz|D{;SY$oz_?S_XJhYpaBmUM{}qR2nI& z0pNt?*dQt*;(;To)Z{9(&cRaE23O@$)JZ`WSMsyweb`v4uc&b$QF}@It8;q}cu?7O z?4nk5vF&bs)j3;_y4KV%Qp?m(0{!s4F?nRg>%Jg^!`@ulhwTnEjFqF(zi9m{Q5%2t zap$phAIW(4?O&;W^VWu)j<&)p?zmBsx@V0uo8NA4{=0?Nw;xn${{U!R7flf|Ya$1* z+!q1j-`cx%5Izo$9Ot_pX%qtSg5OZP_C{!-g{*vBXLq#A&C1PVG`wV!Q$L$Dj&!ef z;^J~j?>r*!OPNk}N*q8JW0k;Z34E<+94|=lYeObuTGAZgNcz(0lTJH#UGA1R=JMYg zK?cdcbJ-I}*&vzBz-tYP9h6{UV`D7^ub>U^;o8-R2$xp-uTa?FJ=Gd6eTKA?ZZ%6v z85|izmo$EhGfK}f#m>&$1O8R`96@mTMpj(wZQa;R4YYj_>W{%w2!}iO(qNrHl1!4J(nutTaFR(NRH9Uq6%_=t%0(m)lZ^O`yh6T0l*daL|2}#ZnVa6q@eJ?SU~!GB6%ODCg*+?sB53%L54f zC__%x@X#-nb?4&Fu21hl{?41(W!q9YR z^v&N^@0DfxUC!guwi?hvXRv0~(py920Gi_h%hRW zaV0l=q)rNzU~ULz(H+8v=W8t-8VXyfL%tFrU5Lo#N_X>>ZcY^`!h)Q#D)nl{!s3X? zfaPUW#8z^K=H#o=w;1HAQu;xp6tyFex&Ey<)9L1w%t<78LAEMwtXj=29=`V;H ze3<($emT15-v+b>XXb#JKRoH2*tj=ku_FjaY2s5m(j=L<>lR4+F!H~C?*He zYu!w6DCH*OvZ%Mxnog;vtX^$*z8{^;)I>nrPO+N8;IvXYG6)xy)b#yZh-<2gGAT%} zU;*Ak99n%Nc28tL&9OALx9-XIvZ(ZV{{VQ>!@5h}z$*)HQqb6Gt?m^TU>i2IvANQg9V$)|K!Qor zC>bQ_l|oLLI6&bdnK}fRr%41zOhS@m5FrV{9PozVfc-7|WpjPSt(N7h15WQRP}B2E zeiMMWyosx~(D8EI(2Z{htQk-UjUJ`Q?TZnb2$m2+cK(Vg!(OBvSyjQ?^h1|W0HtMS zueJEHQx`1RHLQ+3&Tycy^`0h)gt8NETa#;#9$9>JvPjkgy}&9bsp-SW0OPvkW$Lb( z$8(N;Q2zjWCdmHlUa{AQk0;k_7P<-Dw|3L=tcElTE@&TB=f_s&xuiOXKI-hfN#Z5~ z@@y3Kjo%($j<#;4rqkd!z25}^-Bt&jSOsxy*Y6(z6l)7f+zkUsrf-dmc1)F$AK|2zvgOVPZj_m1&yzUg5StZ{=pk zkFB3tq}Wj^vu6gfkGvhFWj2sW#)5X`F&R;?o>e)$SPInGL2GX)2OB;V-r5MkxI&j1 z_C!>aDjJ#!^v+rOhh(b~vo&UemyiC^bw*c^KMw(Vw^o;AFC&_uykqu&{{Z%z{LVJL z_`b(CHR`xo21R|8hhQI~>`C8`oR6a9yg8 z$jXZ|${?j0*i#bFxgQjDS+q%Lepv-9O&9y-YhP5ex0R`z|%BWB9}%wza3l|ZO#7x z^#oA^PBrW@p(lvLg)}_hvr6l9x?Kjx6Q>TvVun?idUlP(0~2ntC@br?b{cS>>y_F- zfA*C>{-O?z%>FZtSK&Bbh5m`B+Fj+uXx0LA(6q)!w8p?JdVuUgdN=JJbst{x;{lP% z0RI4>Z9|VZZ7%yy(V~1zwzs&?)hG0bVrJ(xpo3ZN5@NR*e{VW(i8T+a z)6UX+If>oWbrU_Wc9K^&lZD?;pwq!2rp9=}t~SwOji6nM3hGCOc>d#un^@FWlXLy$;)(pg|5`k zr(vH>EKlwnx`?vD?xPl*HGq+nZJEkVw- zQgH!Poz#mX@TpAuLIE?C4NI%Kvoq)tv$YStR-+kKFIINu?YwflXZC|A{{UGG?ACr( zy^me$E+?|^{{R`w=XL#AJ)O7mUi=;8=I84dIQIJ-jHV}ZNbZxr5dlEkNVVM@6q@i4 zsG_yha)B)u5Qz!M4q9buKf`Npq3TATRUZ7XoUAyF7Z1s4Xuy4+V6fZRI$o!1VR$xM zl5es90OfVsLJmOSQu3b*YrN(NWG8fdUv=r75^*eVZTgyMt+QG(GMjC&p54`m6Z=n9ymn4$;SGJeTY2Tl@Bfh3-iK$4`Bpp7L; zRGN@AB}u?fNEtmO6QE>(PMjc%lxa+hDUK}>2MP%=kl;c@T3jXVsdUwW;IvXOD?3Xk z@|AV2UpJQzTc_3GpDN@|-p@?HIClR4vU4P?oyW{!yn8Gs!z?_w{LoNq-MHCt`z?FN zyyeFJ+YFt;LvjiR=qozjr2`=>VFw+?S3cI+$aR%s9V?!38NYH=xy8$y59$UaPj(ZRAjsqpk>1LTuK7lp>Xg!Q ztStt2-vv^bqR9N3L2xx{+Vf;}L*>Haya%jIX6ibrKdM5#)5OwwdI{a^(pP}KiM&`{=YzG8Y1-iT`b&n_e}!c%dQ3*|HnAQ;5^v2OOvm(MlY+pKypNNhHV{vOzs1NDxkt3RHoDUDT4K4N1UCl&c6MNf4z; zQV3E?befPxlc!99B$7&@D4q&?Oi)B(lXH~r7{6rgZ8b$E;Nz8cDJ`~DKor^Ob+0~7 zKX~=x~ z&j`R+rBDaN2vwzm`zMC?L!hK9$D!-cKu{YTtF}BlBKG(zbtiyRmVxUA$13TRt8{Rf^{(hoR3%EyItp_(%CGb4+?;cmyLZsOv*@SQ$> zSGS#bpQ5|>7m&fdqVPFf)EzTP*7|3Ys*R=W?_QzwUdPn5?UEwbG<+51U1vu(L+YbZ zr2xX`T^z%!k<9Km6Ao~>HW3p$oKChpDWvwzW304#!d9ugy zJNu%zD4~TUfKNz-kO}EZl@X+rsW@tB5Tx{{wJ``Hku;pBo9u!lsFx`S$x;xW>VaNx zl@hGBA7G{+9n(UqSV}7*_f|x8!kA~m0X2XHFcAc4!)Zkf1lv)mA`n)4P~6pN&9pZR z(NR^@T+PV)QxH2Mvh^)2aBww7)tII&cn1Xss1g(+x5mxf(&O@a)pmIMyN%5>z=eJ( zXmYvO+~$21*fn6_mCx05%VTyo;|fMllC;@2IZkFPG)e~wVr(n5 z((9(N&QuJz%BEycGX82>vM;tq+Jur@l`lGvDlXIk!Bc6axg@+=3!i0IGY@nLbs?=e zM5D_fXvtZ+olwmcTUD*+D<*AGk;F3Ge?@*0ZEsPkIn57sR2e6BEH~XW8h1V0q_TfN zwIG7ASy;J$7eVQ?`*;fcP@_Yqp>O<=_TvK!AUgwjNP#jY&S%GQf}foLBmh17U=q>i28ohFf=?m4YzADRB^J4Mq^S?g>L zAHjj!kIC%2o}CBpTK7B;;KS%=&$(URJ{@hxTNG{0Y zs?)`7$gsIizthm2+Op#j?et!?(zT457CEPTE4LwBack|SoYR69^(#Bm=g$r3UUlWO zHO+G{K^zt99VRWXGyzyuy3a<3Pt>H;z$wyEa91=wnzP0hb)wz0SZrkwa-k3uDHF0H zGB-9Z(HkIhGtYFyTaBT)rLX#+vKp4uaLgwWl7Jgj!xe_Z@QBz`W|c&0LL#k*iko3R z%52h~l2dslXn9}^s21M=AfevyE8o|=}}|`X#*R_a;2?E7K=(Xa+xK+DZCGL4Rct{SP_Z@aJn-SG};nqHij>< z;v(viYr5X17@xn&XtFr9%jD0+)8pUCtkzp_fh1&P8dl*rQ+#%~H>ZA?etfYWaE{KT zFdQU}u$&T%HB7(6umE`C(lR~2D*MCMxBmcnX}T&tc)nLY zb#HGC2vT(kdjOvCeQTjJbCRHE4Z&R5*UnB2D7t+^{{Wn<`^ELG+4ZfAWz@5E8uI){ zlBu>AyxWOCRdNj(HDODgUs)A{B$(WUpM`f%rK+&5L!}Muu0;VPQ2VL%HVhB|uR|Sh z5n+HdBeVg+C8&t;l=b;3{Zc$(0Eq0OT8c+*>L&ptOF@1D$LcP0ghL3qAAkbT)=U`E z2PJ8Ed!-1P?S8BlykrB|E{-lQd;b8B4qi`5{{W%%{+c>xPGk}P0QqzB;n;U8q3QZY z>9p-*MNmS~KxNcFQz*;72=*S!Pip#DJD*Nq+pr!N2R$aZ__lp7$@5ZDrXOXxsIQztfe|=`~SI!02Arv*99G zxy#B@HpUYN4czb%SS%6PDvd_NeUV!S!noLx1Yu^?(wkxUMPv%oV^Z5eMON~IR0}}i zSa7u+ipZN+*=cMF#>FPZYe=jZQJVoO+;D-)Ce%ei2m^%M6{6Jw)D?>pZB`2uOH@#H zrLhz>OKK{)YKdyKu|dpHRUFhZ2i;tBXhsprf~&9%3ql0@E2WeuAj;4=2&(d1s18cI z({w<~M}e0VJtTXiur0@rg}0}V%7Fg>QCa$~KlYE+2T$oT>@+B}5$?Hf40QJCI%b|y z+Lhyb$>fro_Lr&s_pkKsl@@ou%#y#PE#Vbun!$`N4sK25UHn*U5u-KlO2b8kU49PZ^My9T4=B4~ zjS;>P;?Wz({MO5190fMU(ZC;6(rup}j1J1vA`KiX0k`g^)@LHsO@kao+y!Zo28Aft z1qD!pqKdah@<}iWt{w!SDk~%gjV5_J0n2| zjerI8aKd9XA3HqmS9I)PYd{KAhyr34qs$^H0%JoQm0|eF?1aYdcH{O`Ga0p&+~lTf zEZ=lmB+y2RItT7#z1P&>qE6ZBqS!>;IkNxFSZuZ``E z%c1MQV0(!T{$?KED$KTAboCasOf@uUfGmjZQE;?Eq5|BE)HbED7L?k>qy@2~HGnCG zr=<}JN|dQRBB8Y+)jCoQKmx=v)oislmOYeJF@uy=fI^g!S`aQ_qrxhCLWA2#fZ9$9 z3gl%C!5P5~_(5I6lm~jBk?8`;vmvIahE#dw%QvX7UX=lSj+Nhsvb)qJ5NTw2Gy_qz zk@99qJAWb(d{{{Z!m8+9FHy-a`zSbw_h!xt6%Er6bz zHl^d$Jg$CztGz80zGk0KdQ)hkXz*zrpF}A=GoPHJN7+S#uwfHrg%$*M3@o&#EHr@V zfxJ@HEwPY;Bp{3?mR56HMv(x&baNGarCz~B+6`yPQXu^l!1zuqoP|&@->E7<8$=B! zo)q?u!Bn)GNm2nxjj@#~S4nCFd!zy-CMl%aH9-zXZNNm!oEp$ekFwOzbil_6CiOqt zuwMLJS2vF*EWt}b(u~h+nt@H^H~v=Cu51l!SO=NIQ6w#mw_lfa2;$uT05Sgni2jSe z3?!P49J99WpHCLix!G~aD#&gUXj1`tJdvdr1VhF-LzUY>C;=y}+d=xNRSItbCNP0# zl8DCIp`vAwQJN@Mx|=`=oj{<8;Q{84!YRO2+|u{_BA`Kk(4{8W+DRY)i1OAnl4u3y z{yFhmoY&~|4lV5I2lz{r#&(ihdN++cZx)tAqv_;6P-*TT%DI@K?-dUl-)Tw6P`o`p`kxDU=TW19lu)Sn+(CZ37DQ#10 zR?!xW7=APkK(UL(2k%F^UF2ogvib0GYWM(WjCfq2Nska3=0HOd|3W$sz$i#c3&=t^# zh*t?1z(xT+%POYTi&KXCBRQc$vY?GA0q&O_lu63EO`MeRMETws8*G(lL(}HgKhicv zIeGs83vLZ0T2}3g?oTCj@o@WhemVI$eR`i&bXpeag^{`E`Ms5=xG)3k38)LsnJfD@@jymc%?Z0S@ZujpuxA{l1u)&a`0xLq>2WZF9ObisjDc~X? zMFOi=nJ>eCx;CNYH_|e26G0x<3sg8^B@{3Y6q*$3yC@(=5TDH>IQ$@<>ZoqXLzV4` zh0Y)W$y1buG0r3aGD$T{&HPv5Q>&HQT^s5Fhe$u0=$7hilWF*~#E+Uor_sE&FmmDD zaot8AIh*-C)u~&#fz(Qq0DLa*?iW4YSGT;9M>boq(mWY(AR_9b^_mKo?=izJ(n)a6 z){7}6YjN0g{{Z4awDLtP{->dfu{Itj84Bz9$Be ixO*tc7" }, { - "Role": "ContentModerator", + "Role": "Moderator", "FirstName": "Content", "LastName": "Moderator", "CountryCode": "+91", diff --git a/seed.data/role.privileges.json b/seed.data/role.privileges.json index 6dff114..f162ae9 100644 --- a/seed.data/role.privileges.json +++ b/seed.data/role.privileges.json @@ -34,7 +34,7 @@ ] }, { - "Role": "ContentModerator", + "Role": "Moderator", "Privileges": [ "User.Create", "User.GetById", diff --git a/src/api/careplan/careplan/careplan.validator.ts b/src/api/careplan/careplan/careplan.validator.ts index 5753778..4a72f4b 100644 --- a/src/api/careplan/careplan/careplan.validator.ts +++ b/src/api/careplan/careplan/careplan.validator.ts @@ -10,7 +10,7 @@ export class CareplanValidator { const schema = joi.object({ Code : joi.string().max(256).optional(), CategoryId : joi.number().integer().optional(), - Name : joi.string().max(256).optional(), + Name : joi.string().max(256).required(), Description : joi.string().optional(), Version : joi.string().max(32).optional(), OwnerUserId : joi.string().guid({ diff --git a/src/api/file.resource/file.resource.controller.delegate.ts b/src/api/file.resource/file.resource.controller.delegate.ts index 93fe202..937fc6d 100644 --- a/src/api/file.resource/file.resource.controller.delegate.ts +++ b/src/api/file.resource/file.resource.controller.delegate.ts @@ -39,8 +39,10 @@ export class FileResourceControllerDelegate { filename = filename + '_' + timestamp + '.' + ext; var storageKey = 'uploaded/' + dateFolder + '/' + filename; - await this._storageService.upload( storageKey, originalFilename ); - + var key = await this._storageService.upload(request, storageKey); + if (!key) { + ErrorHandler.throwInternalServerError(`Unable to upload the file!`); + } var model: FileResourceCreateModel = { StorageKey : storageKey, MimeType : mimeType as string, @@ -54,6 +56,7 @@ export class FileResourceControllerDelegate { if (record === null) { throw new ApiError('Unable to create file resource!', 400); } + return this.getEnrichedDto(record); } @@ -68,17 +71,13 @@ export class FileResourceControllerDelegate { var mimeType = mime.lookup(originalFilename); response.setHeader('Content-type', mimeType as string); - setResponseHeaders(response, originalFilename, mimeType, disposition); - - await this._service.incrementDownloadCount(id); - - var s3 = getS3Client(); - const params = { - Bucket : process.env.STORAGE_BUCKET, - Key : storageKey - }; - - return s3.getObject(params).createReadStream(); + setResponseHeaders(response, originalFilename, disposition); + + var readStream = await this._storageService.download(storageKey); + if (!readStream) { + ErrorHandler.throwInternalServerError(`Unable to download the file!`); + } + return readStream; } getById = async (id: uuid) => { @@ -144,12 +143,12 @@ function getS3Client() { return s3; } -function setResponseHeaders(response, filename, mimeType, disposition = 'inline') { +function setResponseHeaders(response, filename, disposition = 'inline') { if (disposition === 'inline') { response.setHeader('Content-disposition', 'inline'); } else { - response.setHeader('Content-disposition', 'attachment; filename=' + filename); + response.setHeader('Content-disposition', 'attachment;filename=' + filename); } } diff --git a/src/api/file.resource/file.resource.controller.ts b/src/api/file.resource/file.resource.controller.ts index dbadfff..b2c9968 100644 --- a/src/api/file.resource/file.resource.controller.ts +++ b/src/api/file.resource/file.resource.controller.ts @@ -41,7 +41,10 @@ export class FileResourceController extends BaseController { } await this.authorize('FileResource.Download', request, response); } - const disposition = request.query.disposition as string; + var disposition = request.query.disposition as string; + if (!disposition) { + disposition = 'inline'; + } const downloadStream = await this._delegate.download(request.params.id, disposition, response); downloadStream.pipe(response); } catch (error) { diff --git a/src/api/types/types.controller.delegate.ts b/src/api/types/types.controller.delegate.ts new file mode 100644 index 0000000..663b918 --- /dev/null +++ b/src/api/types/types.controller.delegate.ts @@ -0,0 +1,19 @@ +import { RoleService } from "../../database/repository.services/role.service"; + +export class TypesControllerDelegate { + + //#region member variables and constructors + + _roleService: RoleService = null; + + constructor() { + this._roleService = new RoleService(); + } + + //#endregion + + getRoleTypes = async () => { + return await this._roleService.getAllRoles(); + } + +} diff --git a/src/api/types/types.controller.ts b/src/api/types/types.controller.ts index a6b1a27..fefc4f4 100644 --- a/src/api/types/types.controller.ts +++ b/src/api/types/types.controller.ts @@ -1,104 +1,70 @@ -// import express from 'express'; -// import { ApiError } from '../../common/api.error'; -// import { ResponseHandler } from '../../common/response.handler'; -// import { BloodGroupList, MaritalStatusList, SeverityList } from '../../domain.types/miscellaneous/system.types'; -// import { TypesControllerDelegate } from './types.controller.delegate'; -// import { Loader } from '../../startup/loader'; -// import { BaseController } from '../base.controller'; - -// /////////////////////////////////////////////////////////////////////////////////////// - -// export class TypesController extends BaseController { - -// //#region member variables and constructors - -// _delegate: TypesControllerDelegate = null; - -// constructor() { -// super(); -// this._delegate = new TypesControllerDelegate(); -// } - -// //#endregion - -// //#region Action methods - -// getRoleTypes = async (request: express.Request, response: express.Response): Promise => { -// try { -// await this.setContext('Types.GetPersonRoleTypes', request, response, false); - -// const types = await this._delegate.getPersonRoleTypes(); -// if (types === null || types.length === 0) { -// throw new ApiError('Cannot get person role types!'. 400); -// } - -// ResponseHandler.success(request, response, 'Person role types retrieved successfully!', 200, { -// PersonRoleTypes : types, -// }); - -// } catch (error) { -// ResponseHandler.handleError(request, response, error); -// } -// }; - -// getBloodGroups = async (request: express.Request, response: express.Response): Promise => { -// try { - -// await this.setContext('Types.GetBloodGroups', request, response, false); - -// ResponseHandler.success(request, response, 'Blood group types retrieved successfully!', 200, { -// BloodGroups : BloodGroupList, -// }); -// } catch (error) { -// ResponseHandler.handleError(request, response, error); -// } -// }; - -// getMaritalStatuses = async (request: express.Request, response: express.Response): Promise => { -// try { - -// await this.setContext('Types.GetMaritalStatuses', request, response, false); - -// ResponseHandler.success(request, response, 'Marital status types retrieved successfully!', 200, { -// MaritalStatuses : MaritalStatusList, -// }); - -// } catch (error) { -// ResponseHandler.handleError(request, response, error); -// } -// }; - -// getSeverities = async (request: express.Request, response: express.Response): Promise => { -// try { - -// await this.setContext('Types.GetSeverities', request, response, false); - -// ResponseHandler.success(request, response, 'Severity types retrieved successfully!', 200, { -// Severities : SeverityList, -// }); - -// } catch (error) { -// ResponseHandler.handleError(request, response, error); -// } -// }; - -// getPriorityTypes = async (request: express.Request, response: express.Response): Promise => { -// try { -// await this.setContext('HealthPriority.GetPrioritiesTypes', request, response); - -// const priorityTypes = await this._delegate.getPriorityTypes(); -// if (priorityTypes.length === 0) { -// throw new ApiError('Cannot fetch priorities types!', 400); -// } - -// ResponseHandler.success(request, response, 'Fetched priority types successfully!', 201, { -// PriorityTypes : priorityTypes, -// }); - -// } catch (error) { -// ResponseHandler.handleError(request, response, error); -// } -// }; -// //#endregion - -// } +import express from 'express'; +import { ResponseHandler } from '../../common/response.handler'; +import { ErrorHandler } from '../../common/error.handler'; +import { TypesControllerDelegate } from './types.controller.delegate'; +import { BaseController } from '../base.controller'; + +/////////////////////////////////////////////////////////////////////////////////////// + +export class TypesController extends BaseController { + + //#region member variables and constructors + + _delegate: TypesControllerDelegate = null; + + constructor() { + super(); + this._delegate = new TypesControllerDelegate(); + } + + //#endregion + + //#region Action methods + + getRoleTypes = async (request: express.Request, response: express.Response): Promise => { + try { + await this.authorize('Types.GetRoleTypes', request, response, false); + + const types = await this._delegate.getRoleTypes(); + if (types === null || types.length === 0) { + ErrorHandler.throwInternalServerError(`Unable to retrieve user role types!`); + } + + var roles = types.map(x => { + return { + id : x.id, + RoleName : x.RoleName, + Description : x.Description + }; + }); + + ResponseHandler.success(request, response, 'User role types retrieved successfully!', 200, { + RoleTypes : roles, + }); + + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + }; + + // getPriorityTypes = async (request: express.Request, response: express.Response): Promise => { + // try { + // await this.setContext('HealthPriority.GetPrioritiesTypes', request, response); + + // const priorityTypes = await this._delegate.getPriorityTypes(); + // if (priorityTypes.length === 0) { + // throw new ApiError('Cannot fetch priorities types!', 400); + // } + + // ResponseHandler.success(request, response, 'Fetched priority types successfully!', 201, { + // PriorityTypes : priorityTypes, + // }); + + // } catch (error) { + // ResponseHandler.handleError(request, response, error); + // } + // }; + + //#endregion + +} diff --git a/src/api/types/types.routes.ts b/src/api/types/types.routes.ts index db72f33..c9d3d43 100644 --- a/src/api/types/types.routes.ts +++ b/src/api/types/types.routes.ts @@ -1,20 +1,16 @@ import express from 'express'; -// import { -// TypesController -// } from './types.controller'; import { - Loader -} from '../../startup/loader'; + TypesController +} from './types.controller'; /////////////////////////////////////////////////////////////////////////////////// export const register = (app: express.Application): void => { const router = express.Router(); - const authenticator = Loader.Authenticator; - // const controller = new TypesController(); + const controller = new TypesController(); - // router.get('/', authenticator.authenticateUser, controller.create); + router.get('/roles', controller.getRoleTypes); app.use('/api/v1/types', router); }; diff --git a/src/api/user/user.controller.delegate.ts b/src/api/user/user.controller.delegate.ts index e7bb0aa..bad7505 100644 --- a/src/api/user/user.controller.delegate.ts +++ b/src/api/user/user.controller.delegate.ts @@ -44,6 +44,7 @@ export class UserControllerDelegate { // eslint-disable-next-line @typescript-eslint/no-unused-vars const { userCreateModel, password } = await UserHelper.getValidUserCreateModel(requestBody); + const record: UserDto = await this._service.create(userCreateModel); if (record === null) { throw new ApiError('Unable to create user!', 400); diff --git a/src/api/user/user.validator.ts b/src/api/user/user.validator.ts index 4408023..caa0301 100644 --- a/src/api/user/user.validator.ts +++ b/src/api/user/user.validator.ts @@ -16,7 +16,6 @@ export class UserValidator { CountryCode : joi.string().max(10).optional(), Phone : joi.string().max(16).min(6).required(), Email : joi.string().max(256).required(), - BiocubeId : joi.string().max(32).required(), Gender : joi.string().valid("Male", "Female", "Other").required(), BirthDate : joi.string().optional(), Password : joi.string().max(512).required(), diff --git a/src/common/error.handler.ts b/src/common/error.handler.ts index a7d39b9..3f0b00c 100644 --- a/src/common/error.handler.ts +++ b/src/common/error.handler.ts @@ -42,7 +42,7 @@ export class ErrorHandler { throw new ApiError(message, 412); } - static throwInternalServerError = (message, error) => { + static throwInternalServerError = (message, error = null) => { throw new ApiError(message, 500, error); } diff --git a/src/common/helper.ts b/src/common/helper.ts index f6f0b82..3018529 100644 --- a/src/common/helper.ts +++ b/src/common/helper.ts @@ -31,6 +31,10 @@ export class Helper { return null; }; + static getStoragePath = () => { + return path.join(process.env.STORAGE, process.env.NODE_ENV); + } + static compareHashedPassword = (password, hash) => { if (!password) { return false; diff --git a/src/common/response.handler.ts b/src/common/response.handler.ts index 59b4ef8..7c25da6 100644 --- a/src/common/response.handler.ts +++ b/src/common/response.handler.ts @@ -23,8 +23,8 @@ export class ResponseHandler { const msg = error ? error.message : (message ? message : 'An error has occurred.'); const errorStack = error ? error.stack : ''; - const tmp = errorStack.split('\n'); - const trace_path = tmp.map(x => x.trim()); + const tmp = errorStack?.split('\n'); + const trace_path = tmp?.map(x => x.trim()); const responseObject: ResponseDto = { Status : 'failure', diff --git a/src/domain.types/miscellaneous/role.types.ts b/src/domain.types/miscellaneous/role.types.ts index 6cb0f6a..9f1700b 100644 --- a/src/domain.types/miscellaneous/role.types.ts +++ b/src/domain.types/miscellaneous/role.types.ts @@ -1,11 +1,9 @@ export enum Roles { - Admin = 'Admin', - ContentModerator = 'ContentModerator', - Participant = 'Participant' + Admin = 'Admin', + Moderator = 'Moderator' } export const RoleList: Roles[] = [ Roles.Admin, - Roles.ContentModerator, - Roles.Participant + Roles.Moderator, ]; diff --git a/src/modules/storage/interfaces/file.storage.service.interface.ts b/src/modules/storage/interfaces/file.storage.service.interface.ts index e1696de..82c7afa 100644 --- a/src/modules/storage/interfaces/file.storage.service.interface.ts +++ b/src/modules/storage/interfaces/file.storage.service.interface.ts @@ -3,9 +3,13 @@ export interface IFileStorageService { exists(storageKey: string): Promise; - upload(storageKey: string, sourceFilePath: string): Promise; + upload(inputStream, storageKey: string): Promise; - download(storageKey: string, localFilePath: string): Promise; + download(storageKey: string): Promise; + + uploadLocally(storageKey: string, localFilePath?: string): Promise; + + downloadLocally(storageKey: string, localFilePath: string): Promise; rename(existingStorageKey: string, newFileName: string): Promise; diff --git a/src/modules/storage/providers/aws.s3.file.storage.service.ts b/src/modules/storage/providers/aws.s3.file.storage.service.ts index d0fe970..2c7d7dc 100644 --- a/src/modules/storage/providers/aws.s3.file.storage.service.ts +++ b/src/modules/storage/providers/aws.s3.file.storage.service.ts @@ -28,7 +28,24 @@ export class AWSS3FileStorageService implements IFileStorageService { } }; - upload = async (storageKey: string, localFilePath?: string): Promise => { + upload = async (inputStream: any, storageKey: string): Promise => { + try { + var s3 = this.getS3Client(); + const params = { + Bucket : process.env.STORAGE_BUCKET, + Key : storageKey, + Body : inputStream //Request stream piped directly + }; + var stored = await s3.upload(params).promise(); + Logger.instance().log(JSON.stringify(stored, null, 2)); + return storageKey; + } + catch (error) { + Logger.instance().log(error.message); + } + }; + + uploadLocally = async (storageKey: string, localFilePath: string): Promise => { try { const fileContent = fs.readFileSync(localFilePath); @@ -50,7 +67,22 @@ export class AWSS3FileStorageService implements IFileStorageService { } }; - download = async (storageKey: string, localFilePath: string): Promise => { + download = async (storageKey: string): Promise => { + try { + const s3 = this.getS3Client(); + const params = { + Bucket : process.env.STORAGE_BUCKET, + Key : storageKey, + }; + return s3.getObject(params).createReadStream(); + } + catch (error) { + Logger.instance().log(error.message); + return null; + } + }; + + downloadLocally = async (storageKey: string, localFilePath: string): Promise => { const s3 = this.getS3Client(); const params = { diff --git a/src/modules/storage/providers/custom.file.storage.service.ts b/src/modules/storage/providers/custom.file.storage.service.ts index e4e4e7b..aeb1851 100644 --- a/src/modules/storage/providers/custom.file.storage.service.ts +++ b/src/modules/storage/providers/custom.file.storage.service.ts @@ -1,6 +1,7 @@ import fs from 'fs'; import path from 'path'; import { Logger } from '../../../common/logger'; +import { Helper } from '../../../common/helper'; import { IFileStorageService } from '../interfaces/file.storage.service.interface'; /////////////////////////////////////////////////////////////////////////////////// @@ -26,7 +27,32 @@ export class CustomFileStorageService implements IFileStorageService { } }; - upload = async (storageKey: string, localFilePath?: string): Promise => { + upload = async (inputStream: any, storageKey: string): Promise => { + return new Promise((resolve, reject) => { + try { + var storagePath = Helper.getStoragePath(); + const fileLocation = path.join(storagePath, storageKey); + const fileDirectory = path.dirname(fileLocation); + if (!fs.existsSync(fileDirectory)){ + fs.mkdirSync(fileDirectory, { recursive: true }); + } + const writeStream = fs.createWriteStream(fileLocation); + inputStream.pipe(writeStream); + + writeStream.on('finish', async () => { + Logger.instance().log('wrote all data to file'); + writeStream.end(); + resolve(storageKey); + }); + } + catch (error) { + Logger.instance().log(error.message); + reject("Unable to create file resource!"); + } + }); + }; + + uploadLocally = async (storageKey: string, localFilePath: string): Promise => { try { const fileContent = fs.readFileSync(localFilePath); const location = path.join(this._storagePath, storageKey); @@ -43,7 +69,20 @@ export class CustomFileStorageService implements IFileStorageService { } }; - download = async (storageKey: string, localFilePath: string): Promise => { + download = async (storageKey: string): Promise => { + try { + var storagePath = Helper.getStoragePath(); + const fileLocation = path.join(storagePath, storageKey); + const stream = fs.createReadStream(fileLocation); + return stream; + } + catch (error) { + Logger.instance().log(error.message); + return null; + } + }; + + downloadLocally = async (storageKey: string, localFilePath: string): Promise => { try { const location = path.join(this._storagePath, storageKey); const fileContent = fs.readFileSync(location); From 957bd6cba99236151fc674d09528c1d843093c5a Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Fri, 29 Jul 2022 11:48:05 +0530 Subject: [PATCH 018/169] Fixed participant selected action plan --- ...elected.action.plan.controller.delegate.ts | 42 +++++++++++++--- .../user.selected.action.plan.routes.ts | 2 +- .../user.selected.action.plan.validator.ts | 21 +++++--- .../user.selected.action.plan.mapper.ts | 4 +- .../user.selected.action.plan.model.ts | 27 +++++++--- .../user.selected.action.plan.service.ts | 49 ++++++++++++++----- .../user.selected.action.plan.domain.types.ts | 16 ++++-- 7 files changed, 126 insertions(+), 35 deletions(-) diff --git a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.controller.delegate.ts b/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.controller.delegate.ts index 397da6f..cedb996 100644 --- a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.controller.delegate.ts +++ b/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.controller.delegate.ts @@ -22,6 +22,7 @@ import { UserSelectedActionPlanSearchFilters, UserSelectedActionPlanSearchResults } from '../../../domain.types/user.responses/user.selected.action.plan.domain.types'; +import { CareplanService } from '../../../database/repository.services/careplan/careplan.service'; /////////////////////////////////////////////////////////////////////////////////////// @@ -31,15 +32,19 @@ export class UserSelectedActionPlanControllerDelegate { _service: UserSelectedActionPlanService = null; + _careplanService: CareplanService = null; + constructor() { this._service = new UserSelectedActionPlanService(); + this._careplanService = new CareplanService(); } //#endregion create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); - var createModel: UserSelectedActionPlanCreateModel = this.getCreateModel(requestBody); + const careplan = await this._careplanService.getById(requestBody.CareplanId); + var createModel: UserSelectedActionPlanCreateModel = this.getCreateModel(requestBody, careplan); const record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create user selected action plan!', 400); @@ -97,6 +102,14 @@ export class UserSelectedActionPlanControllerDelegate { var filters = {}; + var enrollmentId = query.enrollmentId ? query.enrollmentId : null; + if (enrollmentId != null) { + filters['EnrollmentId'] = enrollmentId; + } + var participantId = query.participantId ? query.participantId : null; + if (participantId != null) { + filters['ParticipantId'] = participantId; + } var name = query.name ? query.name : null; if (name != null) { filters['Name'] = name; @@ -117,6 +130,10 @@ export class UserSelectedActionPlanControllerDelegate { if (assetType != null) { filters['AssetType'] = assetType; } + var assetCode = query.assetCode ? query.assetCode : null; + if (assetCode != null) { + filters['AssetCode'] = assetCode; + } var additionalDetails = query.additionalDetails ? query.additionalDetails : null; if (additionalDetails != null) { filters['AdditionalDetails'] = additionalDetails; @@ -147,8 +164,11 @@ export class UserSelectedActionPlanControllerDelegate { if (Helper.hasProperty(requestBody, 'Description')) { updateModel.Description = requestBody.Description; } - if (Helper.hasProperty(requestBody, 'UserId')) { - updateModel.UserId = requestBody.UserId; + if (Helper.hasProperty(requestBody, 'EnrollmentId')) { + updateModel.EnrollmentId = requestBody.EnrollmentId; + } + if (Helper.hasProperty(requestBody, 'ParticipantId')) { + updateModel.ParticipantId = requestBody.ParticipantId; } if (Helper.hasProperty(requestBody, 'CareplanId')) { updateModel.CareplanId = requestBody.CareplanId; @@ -166,12 +186,16 @@ export class UserSelectedActionPlanControllerDelegate { return updateModel; } - getCreateModel = (requestBody): UserSelectedActionPlanCreateModel => { + getCreateModel = (requestBody, careplan): UserSelectedActionPlanCreateModel => { return { Name : requestBody.Name ? requestBody.Name : null, Description : requestBody.Description ? requestBody.Description : null, - UserId : requestBody.UserId ? requestBody.UserId : null, + EnrollmentId : requestBody.EnrollmentId ? requestBody.EnrollmentId : null, + ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, + AssetId : careplan.AssetId ? careplan.AssetId : null, + AssetType : careplan.AssetType ? careplan.AssetType : null, + AssetCode : careplan.AssetCode ? careplan.AssetCode : null, AdditionalDetails : requestBody.AdditionalDetails ? requestBody.AdditionalDetails : null, StartDate : requestBody.StartDate ? requestBody.StartDate : null, EndDate : requestBody.EndDate ? requestBody.EndDate : null @@ -186,10 +210,12 @@ export class UserSelectedActionPlanControllerDelegate { id : record.id, Name : record.Name, Description : record.Description, - UserId : record.UserId, + EnrollmentId : record.EnrollmentId, + ParticipantId : record.ParticipantId, CareplanId : record.CareplanId, AssetId : record.AssetId, AssetType : record.AssetType, + AssetCode : record.AssetCode, AdditionalDetails : record.AdditionalDetails, StartDate : record.StartDate, EndDate : record.EndDate, @@ -205,10 +231,12 @@ export class UserSelectedActionPlanControllerDelegate { id : record.id, Name : record.Name, Description : record.Description, - UserId : record.UserId, + EnrollmentId : record.EnrollmentId, + ParticipantId : record.ParticipantId, CareplanId : record.CareplanId, AssetId : record.AssetId, AssetType : record.AssetType, + AssetCode : record.AssetCode, AdditionalDetails : record.AdditionalDetails, StartDate : record.StartDate, EndDate : record.EndDate, diff --git a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.routes.ts b/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.routes.ts index 8fdcbe1..bb41d04 100644 --- a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.routes.ts +++ b/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.routes.ts @@ -20,5 +20,5 @@ export const register = (app: express.Application): void => { router.put('/:id', authenticator.authenticateUser, controller.update); router.delete('/:id', authenticator.authenticateUser, controller.delete); - app.use('/api/v1/user-selected-action-plans', router); + app.use('/api/v1/participant-selected-action-plans', router); }; diff --git a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts b/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts index 945583e..da24732 100644 --- a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts +++ b/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts @@ -10,9 +10,12 @@ export class UserSelectedActionPlanValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - UserId : joi.string().guid({ + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + EnrollmentId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), @@ -29,9 +32,12 @@ export class UserSelectedActionPlanValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - UserId : joi.string().guid({ + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + EnrollmentId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), @@ -48,11 +54,14 @@ export class UserSelectedActionPlanValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ + participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), + enrollmentId : joi.string().guid({ version: ['uuidv4'] }).optional(), name : joi.string().max(256).optional(), description : joi.string().optional(), careplanId : joi.number().integer().optional(), assetId : joi.number().integer().optional(), assetType : joi.string().max(128).optional(), + assetCode : joi.string().max(128).optional(), additionalDetails : joi.string().optional(), startDate : joi.date().iso().optional(), endDate : joi.date().iso().optional(), diff --git a/src/database/mappers/user.responses/user.selected.action.plan.mapper.ts b/src/database/mappers/user.responses/user.selected.action.plan.mapper.ts index 7e254c5..6b0c705 100644 --- a/src/database/mappers/user.responses/user.selected.action.plan.mapper.ts +++ b/src/database/mappers/user.responses/user.selected.action.plan.mapper.ts @@ -14,10 +14,12 @@ export class UserSelectedActionPlanMapper { id : userSelectedActionPlan.id, Name : userSelectedActionPlan.Name, Description : userSelectedActionPlan.Description, - UserId : userSelectedActionPlan.UserId, + EnrollmentId : userSelectedActionPlan.EnrollmentId, + ParticipantId : userSelectedActionPlan.ParticipantId, CareplanId : userSelectedActionPlan.CareplanId, AssetId : userSelectedActionPlan.AssetId, AssetType : userSelectedActionPlan.AssetType, + AssetCode : userSelectedActionPlan.AssetCode, AdditionalDetails : userSelectedActionPlan.AdditionalDetails, StartDate : userSelectedActionPlan.StartDate, EndDate : userSelectedActionPlan.EndDate, diff --git a/src/database/models/user.responses/user.selected.action.plan.model.ts b/src/database/models/user.responses/user.selected.action.plan.model.ts index 65efe60..39f137c 100644 --- a/src/database/models/user.responses/user.selected.action.plan.model.ts +++ b/src/database/models/user.responses/user.selected.action.plan.model.ts @@ -26,7 +26,13 @@ export class UserSelectedActionPlanModel { type : DataTypes.TEXT, allowNull : false }, - UserId : { + EnrollmentId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + ParticipantId : { type : DataTypes.UUID, allowNull : false, foreignKey : true, @@ -40,13 +46,17 @@ export class UserSelectedActionPlanModel { }, AssetId : { type : DataTypes.INTEGER, - allowNull : false + allowNull : true }, AssetType : { type : DataTypes.STRING(128), - allowNull : false, + allowNull : true, defaultValue : 'Action plan' }, + AssetCode : { + type : DataTypes.STRING(128), + allowNull : true, + }, AdditionalDetails : { type : DataTypes.TEXT, allowNull : true @@ -87,10 +97,15 @@ export class UserSelectedActionPlanModel { //Add associations here... - models.UserSelectedActionPlan.belongsTo(models.User, { - sourceKey : 'UserId', + models.UserSelectedActionPlan.belongsTo(models.Enrollment, { + sourceKey : 'EnrollmentId', + targetKey : 'id', + as : 'Enrollment' + }); + models.UserSelectedActionPlan.belongsTo(models.Participant, { + sourceKey : 'ParticipantId', targetKey : 'id', - as : 'User' + as : 'Participant' }); models.UserSelectedActionPlan.belongsTo(models.Careplan, { diff --git a/src/database/repository.services/user.responses/user.selected.action.plan.service.ts b/src/database/repository.services/user.responses/user.selected.action.plan.service.ts index da3bfd3..798f615 100644 --- a/src/database/repository.services/user.responses/user.selected.action.plan.service.ts +++ b/src/database/repository.services/user.responses/user.selected.action.plan.service.ts @@ -2,8 +2,8 @@ import { UserSelectedActionPlanModel } from '../../models/user.responses/user.selected.action.plan.model'; import { - UserModel -} from '../../models/user/user.model'; + ParticipantModel +} from '../../models/enrollment/participant.model'; import { CareplanModel } from '../../models/careplan/careplan.model'; @@ -19,6 +19,7 @@ import { import { Op } from 'sequelize'; +import { EnrollmentModel } from '../../../database/models/enrollment/enrollment.model'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -28,7 +29,9 @@ export class UserSelectedActionPlanService { UserSelectedActionPlan = UserSelectedActionPlanModel.Model; - User = UserModel.Model; + Enrollment = EnrollmentModel.Model; + + Participant = ParticipantModel.Model; Careplan = CareplanModel.Model; @@ -41,7 +44,7 @@ export class UserSelectedActionPlanService { var record = await this.UserSelectedActionPlan.create(createModel); return await this.getById(record.id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to create user selected action plan!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to participant user selected action plan!', error); } } @@ -52,16 +55,21 @@ export class UserSelectedActionPlanService { id : id }, include : [{ - model : this.User, + model : this.Participant, required : false, - as : 'User', + as : 'Participant', //through: { attributes: [] } }, { model : this.Careplan, required : false, as : 'Careplan', //through: { attributes: [] } - }, + }, { + model : this.Enrollment, + required : false, + as : 'Enrollment', + //through: { attributes: [] } + } ] }); @@ -153,6 +161,12 @@ export class UserSelectedActionPlanService { include : [] }; + if (filters.EnrollmentId) { + search.where['EnrollmentId'] = filters.EnrollmentId; + } + if (filters.ParticipantId) { + search.where['ParticipantId'] = filters.ParticipantId; + } if (filters.Name) { search.where['Name'] = { [Op.like] : '%' + filters.Name + '%' @@ -172,6 +186,9 @@ export class UserSelectedActionPlanService { if (filters.AssetType) { search.where['AssetType'] = filters.AssetType; } + if (filters.AssetCode) { + search.where['AssetCode'] = filters.AssetCode; + } if (filters.AdditionalDetails) { search.where['AdditionalDetails'] = { [Op.like] : '%' + filters.AdditionalDetails + '%' @@ -186,16 +203,26 @@ export class UserSelectedActionPlanService { if (filters.ProgressStatus) { search.where['ProgressStatus'] = filters.ProgressStatus; } - const includeUserAsUser = { - model : this.User, + const includeEnrollmentAsEnrollment = { + model : this.Enrollment, + required : false, + as : 'Enrollment', + where : {} + }; + //if (filters.Xyz != undefined) { + // includeUser.where['Xyz'] = filters.Xyz; + //} + search.include.push(includeEnrollmentAsEnrollment); + const includeParticipantAsParticipant = { + model : this.Participant, required : false, - as : 'User', + as : 'Participant', where : {} }; //if (filters.Xyz != undefined) { // includeUser.where['Xyz'] = filters.Xyz; //} - search.include.push(includeUserAsUser); + search.include.push(includeParticipantAsParticipant); const includeCareplanAsCareplan = { model : this.Careplan, required : false, diff --git a/src/domain.types/user.responses/user.selected.action.plan.domain.types.ts b/src/domain.types/user.responses/user.selected.action.plan.domain.types.ts index 84c2d06..71c9b3c 100644 --- a/src/domain.types/user.responses/user.selected.action.plan.domain.types.ts +++ b/src/domain.types/user.responses/user.selected.action.plan.domain.types.ts @@ -10,8 +10,12 @@ import { export interface UserSelectedActionPlanCreateModel { Name ?: string; Description ?: string; - UserId ?: uuid; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; CareplanId ?: number; + AssetId ?: number; + AssetType ?: string; + AssetCode ?: string; AdditionalDetails ?: string; StartDate ?: Date; EndDate ?: Date; @@ -20,7 +24,8 @@ export interface UserSelectedActionPlanCreateModel { export interface UserSelectedActionPlanUpdateModel { Name ?: string; Description ?: string; - UserId ?: uuid; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; CareplanId ?: number; AdditionalDetails ?: string; StartDate ?: Date; @@ -31,10 +36,12 @@ export interface UserSelectedActionPlanDto { id : uuid; Name : string; Description : string; - UserId : uuid; + EnrollmentId : uuid; + ParticipantId : uuid; CareplanId : number; AssetId : number; AssetType : string; + AssetCode : string; AdditionalDetails: string; StartDate : Date; EndDate : Date; @@ -45,9 +52,12 @@ export interface UserSelectedActionPlanDto { export interface UserSelectedActionPlanSearchFilters extends BaseSearchFilters { Name ?: string; Description ?: string; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; CareplanId ?: number; AssetId ?: number; AssetType ?: string; + AssetCode ?: string; AdditionalDetails ?: string; StartDate ?: Date; EndDate ?: Date; From ce4b2d76aab3e09d924af8ffaea4519055af965a Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Fri, 29 Jul 2022 11:49:17 +0530 Subject: [PATCH 019/169] Fixed participant selected goal pipeline --- .../user.selected.goal.controller.delegate.ts | 42 ++++++++++++++--- .../user.selected.goal.routes.ts | 2 +- .../user.selected.goal.validator.ts | 21 ++++++--- .../user.selected.goal.mapper.ts | 4 +- .../user.selected.goal.model.ts | 28 ++++++++--- .../user.selected.goal.service.ts | 47 +++++++++++++++---- .../user.selected.goal.domain.types.ts | 16 +++++-- 7 files changed, 126 insertions(+), 34 deletions(-) diff --git a/src/api/user.responses/user.selected.goal/user.selected.goal.controller.delegate.ts b/src/api/user.responses/user.selected.goal/user.selected.goal.controller.delegate.ts index 42aed41..7e43c9c 100644 --- a/src/api/user.responses/user.selected.goal/user.selected.goal.controller.delegate.ts +++ b/src/api/user.responses/user.selected.goal/user.selected.goal.controller.delegate.ts @@ -22,6 +22,7 @@ import { UserSelectedGoalSearchFilters, UserSelectedGoalSearchResults } from '../../../domain.types/user.responses/user.selected.goal.domain.types'; +import { CareplanService } from '../../../database/repository.services/careplan/careplan.service'; /////////////////////////////////////////////////////////////////////////////////////// @@ -31,15 +32,19 @@ export class UserSelectedGoalControllerDelegate { _service: UserSelectedGoalService = null; + _careplanService: CareplanService = null; + constructor() { this._service = new UserSelectedGoalService(); + this._careplanService = new CareplanService(); } //#endregion create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); - var createModel: UserSelectedGoalCreateModel = this.getCreateModel(requestBody); + const careplan = await this._careplanService.getById(requestBody.CareplanId); + var createModel: UserSelectedGoalCreateModel = this.getCreateModel(requestBody, careplan); const record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create user selected goal!', 400); @@ -97,6 +102,14 @@ export class UserSelectedGoalControllerDelegate { var filters = {}; + var enrollmentId = query.enrollmentId ? query.enrollmentId : null; + if (enrollmentId != null) { + filters['EnrollmentId'] = enrollmentId; + } + var participantId = query.participantId ? query.participantId : null; + if (participantId != null) { + filters['ParticipantId'] = participantId; + } var name = query.name ? query.name : null; if (name != null) { filters['Name'] = name; @@ -117,6 +130,10 @@ export class UserSelectedGoalControllerDelegate { if (assetType != null) { filters['AssetType'] = assetType; } + var assetCode = query.assetCode ? query.assetCode : null; + if (assetCode != null) { + filters['AssetCode'] = assetCode; + } var additionalDetails = query.additionalDetails ? query.additionalDetails : null; if (additionalDetails != null) { filters['AdditionalDetails'] = additionalDetails; @@ -147,8 +164,11 @@ export class UserSelectedGoalControllerDelegate { if (Helper.hasProperty(requestBody, 'Description')) { updateModel.Description = requestBody.Description; } - if (Helper.hasProperty(requestBody, 'UserId')) { - updateModel.UserId = requestBody.UserId; + if (Helper.hasProperty(requestBody, 'EnrollmentId')) { + updateModel.EnrollmentId = requestBody.EnrollmentId; + } + if (Helper.hasProperty(requestBody, 'ParticipantId')) { + updateModel.ParticipantId = requestBody.ParticipantId; } if (Helper.hasProperty(requestBody, 'CareplanId')) { updateModel.CareplanId = requestBody.CareplanId; @@ -166,12 +186,16 @@ export class UserSelectedGoalControllerDelegate { return updateModel; } - getCreateModel = (requestBody): UserSelectedGoalCreateModel => { + getCreateModel = (requestBody, careplan): UserSelectedGoalCreateModel => { return { Name : requestBody.Name ? requestBody.Name : null, Description : requestBody.Description ? requestBody.Description : null, - UserId : requestBody.UserId ? requestBody.UserId : null, + EnrollmentId : requestBody.EnrollmentId ? requestBody.EnrollmentId : null, + ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, + AssetId : careplan.AssetId ? careplan.AssetId : null, + AssetType : careplan.AssetType ? careplan.AssetType : null, + AssetCode : careplan.AssetCode ? careplan.AssetCode : null, AdditionalDetails : requestBody.AdditionalDetails ? requestBody.AdditionalDetails : null, StartDate : requestBody.StartDate ? requestBody.StartDate : null, EndDate : requestBody.EndDate ? requestBody.EndDate : null @@ -186,10 +210,12 @@ export class UserSelectedGoalControllerDelegate { id : record.id, Name : record.Name, Description : record.Description, - UserId : record.UserId, + EnrollmentId : record.EnrollmentId, + ParticipantId : record.ParticipantId, CareplanId : record.CareplanId, AssetId : record.AssetId, AssetType : record.AssetType, + AssetCode : record.AssetCode, AdditionalDetails : record.AdditionalDetails, StartDate : record.StartDate, EndDate : record.EndDate, @@ -205,10 +231,12 @@ export class UserSelectedGoalControllerDelegate { id : record.id, Name : record.Name, Description : record.Description, - UserId : record.UserId, + EnrollmentId : record.EnrollmentId, + ParticipantId : record.ParticipantId, CareplanId : record.CareplanId, AssetId : record.AssetId, AssetType : record.AssetType, + AssetCode : record.AssetCode, AdditionalDetails : record.AdditionalDetails, StartDate : record.StartDate, EndDate : record.EndDate, diff --git a/src/api/user.responses/user.selected.goal/user.selected.goal.routes.ts b/src/api/user.responses/user.selected.goal/user.selected.goal.routes.ts index b7fd1cf..1799b90 100644 --- a/src/api/user.responses/user.selected.goal/user.selected.goal.routes.ts +++ b/src/api/user.responses/user.selected.goal/user.selected.goal.routes.ts @@ -20,5 +20,5 @@ export const register = (app: express.Application): void => { router.put('/:id', authenticator.authenticateUser, controller.update); router.delete('/:id', authenticator.authenticateUser, controller.delete); - app.use('/api/v1/user-selected-goals', router); + app.use('/api/v1/participant-selected-goals', router); }; diff --git a/src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts b/src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts index f26b295..fd75254 100644 --- a/src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts +++ b/src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts @@ -10,9 +10,12 @@ export class UserSelectedGoalValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - UserId : joi.string().guid({ + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + EnrollmentId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), @@ -29,9 +32,12 @@ export class UserSelectedGoalValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - UserId : joi.string().guid({ + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + EnrollmentId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), @@ -48,11 +54,14 @@ export class UserSelectedGoalValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ + participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), + enrollmentId : joi.string().guid({ version: ['uuidv4'] }).optional(), name : joi.string().max(256).optional(), description : joi.string().optional(), careplanId : joi.number().integer().optional(), assetId : joi.number().integer().optional(), assetType : joi.string().max(128).optional(), + assetCode : joi.string().max(128).optional(), additionalDetails : joi.string().optional(), startDate : joi.date().iso().optional(), endDate : joi.date().iso().optional(), diff --git a/src/database/mappers/user.responses/user.selected.goal.mapper.ts b/src/database/mappers/user.responses/user.selected.goal.mapper.ts index 737c081..16cd4b8 100644 --- a/src/database/mappers/user.responses/user.selected.goal.mapper.ts +++ b/src/database/mappers/user.responses/user.selected.goal.mapper.ts @@ -14,10 +14,12 @@ export class UserSelectedGoalMapper { id : userSelectedGoal.id, Name : userSelectedGoal.Name, Description : userSelectedGoal.Description, - UserId : userSelectedGoal.UserId, + EnrollmentId : userSelectedGoal.EnrollmentId, + ParticipantId : userSelectedGoal.ParticipantId, CareplanId : userSelectedGoal.CareplanId, AssetId : userSelectedGoal.AssetId, AssetType : userSelectedGoal.AssetType, + AssetCode : userSelectedGoal.AssetCode, AdditionalDetails : userSelectedGoal.AdditionalDetails, StartDate : userSelectedGoal.StartDate, EndDate : userSelectedGoal.EndDate, diff --git a/src/database/models/user.responses/user.selected.goal.model.ts b/src/database/models/user.responses/user.selected.goal.model.ts index 33c4bd9..34341ad 100644 --- a/src/database/models/user.responses/user.selected.goal.model.ts +++ b/src/database/models/user.responses/user.selected.goal.model.ts @@ -26,7 +26,13 @@ export class UserSelectedGoalModel { type : DataTypes.TEXT, allowNull : false }, - UserId : { + EnrollmentId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + ParticipantId : { type : DataTypes.UUID, allowNull : false, foreignKey : true, @@ -40,13 +46,17 @@ export class UserSelectedGoalModel { }, AssetId : { type : DataTypes.INTEGER, - allowNull : false + allowNull : true }, AssetType : { type : DataTypes.STRING(128), - allowNull : false, + allowNull : true, defaultValue : 'Goal' }, + AssetCode : { + type : DataTypes.STRING(128), + allowNull : true, + }, AdditionalDetails : { type : DataTypes.TEXT, allowNull : true @@ -87,10 +97,16 @@ export class UserSelectedGoalModel { //Add associations here... - models.UserSelectedGoal.belongsTo(models.User, { - sourceKey : 'UserId', + models.UserSelectedGoal.belongsTo(models.Enrollment, { + sourceKey : 'EnrollmentId', + targetKey : 'id', + as : 'Enrollment' + }); + + models.UserSelectedGoal.belongsTo(models.Participant, { + sourceKey : 'ParticipantId', targetKey : 'id', - as : 'User' + as : 'Participant' }); models.UserSelectedGoal.belongsTo(models.Careplan, { diff --git a/src/database/repository.services/user.responses/user.selected.goal.service.ts b/src/database/repository.services/user.responses/user.selected.goal.service.ts index 5cb9cda..23b85f2 100644 --- a/src/database/repository.services/user.responses/user.selected.goal.service.ts +++ b/src/database/repository.services/user.responses/user.selected.goal.service.ts @@ -2,8 +2,8 @@ import { UserSelectedGoalModel } from '../../models/user.responses/user.selected.goal.model'; import { - UserModel -} from '../../models/user/user.model'; + ParticipantModel +} from '../../models/enrollment/participant.model'; import { CareplanModel } from '../../models/careplan/careplan.model'; @@ -19,6 +19,7 @@ import { import { Op } from 'sequelize'; +import { EnrollmentModel } from '../../../database/models/enrollment/enrollment.model'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -28,7 +29,9 @@ export class UserSelectedGoalService { UserSelectedGoal = UserSelectedGoalModel.Model; - User = UserModel.Model; + Enrollment = EnrollmentModel.Model; + + Participant = ParticipantModel.Model; Careplan = CareplanModel.Model; @@ -52,16 +55,21 @@ export class UserSelectedGoalService { id : id }, include : [{ - model : this.User, + model : this.Participant, required : false, - as : 'User', + as : 'Participant', //through: { attributes: [] } }, { model : this.Careplan, required : false, as : 'Careplan', //through: { attributes: [] } - }, + }, { + model : this.Enrollment, + required : false, + as : 'Enrollment', + //through: { attributes: [] } + } ] }); @@ -153,6 +161,12 @@ export class UserSelectedGoalService { include : [] }; + if (filters.EnrollmentId) { + search.where['EnrollmentId'] = filters.EnrollmentId; + } + if (filters.ParticipantId) { + search.where['ParticipantId'] = filters.ParticipantId; + } if (filters.Name) { search.where['Name'] = { [Op.like] : '%' + filters.Name + '%' @@ -172,6 +186,9 @@ export class UserSelectedGoalService { if (filters.AssetType) { search.where['AssetType'] = filters.AssetType; } + if (filters.AssetCode) { + search.where['AssetCode'] = filters.AssetCode; + } if (filters.AdditionalDetails) { search.where['AdditionalDetails'] = { [Op.like] : '%' + filters.AdditionalDetails + '%' @@ -186,16 +203,26 @@ export class UserSelectedGoalService { if (filters.ProgressStatus) { search.where['ProgressStatus'] = filters.ProgressStatus; } - const includeUserAsUser = { - model : this.User, + const includeEnrollmentAsEnrollment = { + model : this.Enrollment, + required : false, + as : 'Enrollment', + where : {} + }; + //if (filters.Xyz != undefined) { + // includeUser.where['Xyz'] = filters.Xyz; + //} + search.include.push(includeEnrollmentAsEnrollment); + const includeParticipantAsParticipant = { + model : this.Participant, required : false, - as : 'User', + as : 'Participant', where : {} }; //if (filters.Xyz != undefined) { // includeUser.where['Xyz'] = filters.Xyz; //} - search.include.push(includeUserAsUser); + search.include.push(includeParticipantAsParticipant); const includeCareplanAsCareplan = { model : this.Careplan, required : false, diff --git a/src/domain.types/user.responses/user.selected.goal.domain.types.ts b/src/domain.types/user.responses/user.selected.goal.domain.types.ts index e4fe1da..8d66312 100644 --- a/src/domain.types/user.responses/user.selected.goal.domain.types.ts +++ b/src/domain.types/user.responses/user.selected.goal.domain.types.ts @@ -10,8 +10,12 @@ import { export interface UserSelectedGoalCreateModel { Name ?: string; Description ?: string; - UserId ?: uuid; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; CareplanId ?: number; + AssetId ?: number; + AssetType ?: string; + AssetCode ?: string; AdditionalDetails ?: string; StartDate ?: Date; EndDate ?: Date; @@ -20,7 +24,8 @@ export interface UserSelectedGoalCreateModel { export interface UserSelectedGoalUpdateModel { Name ?: string; Description ?: string; - UserId ?: uuid; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; CareplanId ?: number; AdditionalDetails ?: string; StartDate ?: Date; @@ -31,10 +36,12 @@ export interface UserSelectedGoalDto { id : uuid; Name : string; Description : string; - UserId : uuid; + EnrollmentId : uuid; + ParticipantId : uuid; CareplanId : number; AssetId : number; AssetType : string; + AssetCode : string; AdditionalDetails: string; StartDate : Date; EndDate : Date; @@ -44,9 +51,12 @@ export interface UserSelectedGoalDto { export interface UserSelectedGoalSearchFilters extends BaseSearchFilters { Name ?: string; Description ?: string; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; CareplanId ?: number; AssetId ?: number; AssetType ?: string; + AssetCode ?: string; AdditionalDetails ?: string; StartDate ?: Date; EndDate ?: Date; From d4a1c53fa4dfd65e04fbc06bb2c1d1a75cb53b57 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Fri, 29 Jul 2022 12:57:10 +0530 Subject: [PATCH 020/169] Fixed multiple issues with api client, participant, types, careplan category pipelines. --- ...n.service.workflow.postman_collection.json | 5089 +++++++++-------- .../api.client.controller.delegate.ts | 2 +- .../careplan.category.controller.delegate.ts | 4 + .../participant.controller.delegate.ts | 78 +- .../participant/participant.validator.ts | 54 +- .../file.resource.controller.delegate.ts | 1 + src/api/types/types.controller.ts | 25 +- src/api/types/types.routes.ts | 1 + src/api/user.helper.ts | 4 +- .../mappers/enrollment/participant.mapper.ts | 2 +- src/database/models/api.client.model.ts | 5 + .../models/enrollment/participant.model.ts | 2 +- .../repository.services/api.client.service.ts | 25 +- .../careplan/careplan.category.service.ts | 34 +- .../enrollment/participant.service.ts | 6 +- .../enrollment/participant.domain.types.ts | 6 +- src/startup/seeder.ts | 33 + 17 files changed, 3033 insertions(+), 2338 deletions(-) diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index 1663922..bf87962 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -1,9 +1,9 @@ { "info": { - "_postman_id": "872309a9-df94-4eb3-830c-edc2e170fe5f", + "_postman_id": "4a2978a1-594c-4f4a-af37-fbe5583ba546", "name": "careplan.service.workflow", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "15905052" + "_exporter_id": "5510218" }, "item": [ { @@ -15,7 +15,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test(\"Request is successfull\", function () {\r", " pm.response.to.have.status(200);\r", @@ -23,7 +22,8 @@ " pm.expect(jsonRes).to.have.property('message');\r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -50,220 +50,151 @@ "description": "API to check the health of the service." }, { - "name": "Admin login", + "name": "Types", "item": [ { - "name": "Admin logs in", + "name": "Get user roles", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"ADMIN_JWT\", jsonRes.Data.AccessToken);\r", + " var roles = jsonRes.Data.RoleTypes;\r", + " for (var i = 0; i < roles.length; i++) {\r", + " var role = roles[i];\r", + " var roleName = role.RoleName;\r", + " pm.environment.set(roleName.toUpperCase() + \"_ROLE_ID\", role.id);\r", + " }\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", "}\r", "\r", - "pm.test(\"Request is successfull\", function () {\r", + "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"Admin login: Access token is returned\", function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", - " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", - "});\r", - "" - ] - } - }, - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "exec": [ - " //pm.environment.set(\"ADMIN_PASSWORD\", jsonRes.Data.Client.id);" - ] - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"UserName\": \"admin\",\r\n \"Password\": \"{{ADMIN_PASSWORD}}\"\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/users/login-password", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users", - "login-password" - ] - }, - "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." - }, - "response": [] - }, - { - "name": "Admin logs out", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", + "pm.test('Api client record is returned', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", + " pm.expect(jsonRes.Data).to.have.property('RoleTypes');\r", + " pm.expect(jsonRes.Data.RoleTypes.length).to.be.greaterThan(0);\r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], "request": { - "method": "POST", + "method": "GET", "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { "key": "Authorization", - "value": "Bearer {{ADMIN_JWT}}", - "type": "text" + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"UserName\": \"admin\",\r\n \"Password\": \"{{ADMIN_PASSWORD}}\"\r\n}" - }, "url": { - "raw": "{{BASE_URL}}/users/logout", + "raw": "{{BASE_URL}}/types/roles", "host": [ "{{BASE_URL}}" ], "path": [ - "users", - "logout" + "types", + "roles" ] - }, - "description": "Biocube admin logs in with username and password." + } }, "response": [] }, { - "name": "Admin logs in again", + "name": "Get careplan categories", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"ADMIN_JWT\", jsonRes.Data.AccessToken);\r", + " var roles = jsonRes.Data.RoleTypes;\r", + " for (var i = 0; i < roles.length; i++) {\r", + " var role = roles[i];\r", + " var roleName = role.RoleName;\r", + " pm.environment.set(roleName.toUpperCase() + \"_ROLE_ID\", role.id);\r", + " }\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", "}\r", "\r", - "pm.test(\"Request is successfull\", function () {\r", + "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"Admin login: Access token is returned\", function () {\r", + "pm.test('Api client record is returned', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", - " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanCategories');\r", + " pm.expect(jsonRes.Data.CareplanCategories.length).to.be.greaterThan(0);\r", "});\r", "" - ] - } - }, - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "exec": [ - " //pm.environment.set(\"ADMIN_PASSWORD\", jsonRes.Data.Client.id);" - ] + ], + "type": "text/javascript" } } ], "request": { - "method": "POST", + "method": "GET", "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"UserName\": \"admin\",\r\n \"Password\": \"{{ADMIN_PASSWORD}}\"\r\n}\r\n" - }, "url": { - "raw": "{{BASE_URL}}/users/login-password", + "raw": "{{BASE_URL}}/types/careplan-categories", "host": [ "{{BASE_URL}}" ], "path": [ - "users", - "login-password" + "types", + "careplan-categories" ] - }, - "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + } }, "response": [] } ] }, { - "name": "Moderator login", + "name": "Admin login", "item": [ { - "name": "Moderator logs in", + "name": "Admin log-in", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"MODERATOR_JWT\", jsonRes.Data.AccessToken);\r", + " pm.environment.set(\"ADMIN_JWT\", jsonRes.Data.AccessToken);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -275,22 +206,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"Moderator login: Access token is returned\", function () {\r", + "pm.test(\"Admin login: Access token is returned\", function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", "});\r", "" - ] + ], + "type": "text/javascript" } }, { "listen": "prerequest", "script": { - "type": "text/javascript", "exec": [ - " //pm.environment.set(\"ADMIN_PASSWORD\", jsonRes.Data.Client.id);" - ] + "pm.environment.set(\"ADMIN_PASSWORD\", \"$FG&2*(CV!X\");\r", + "" + ], + "type": "text/javascript" } } ], @@ -310,7 +243,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"UserName\": \"moderator\",\r\n \"Password\": \"{{MODERATOR_PASSWORD}}\"\r\n}\r\n" + "raw": "{\r\n \"UserName\": \"admin\",\r\n \"Password\": \"{{ADMIN_PASSWORD}}\"\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/users/login-password", @@ -325,64 +258,18 @@ "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." }, "response": [] - }, - { - "name": "Moderator logs out", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "" - ] - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "Authorization", - "value": "Bearer {{MODERATOR_JWT}}", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"UserName\": \"moderator\",\r\n \"Password\": \"{{MODERATOR_PASSWORD}}\"\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/users/logout", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users", - "logout" - ] - }, - "description": "Biocube admin logs in with username and password." - }, - "response": [] - }, + } + ] + }, + { + "name": "Default moderator login", + "item": [ { - "name": "Moderator logs in again", + "name": "Moderator logs in with password", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", @@ -398,22 +285,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"Moderator login: Access token is returned\", function () {\r", + "pm.test(\"Admin login: Access token is returned\", function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", "});\r", "" - ] + ], + "type": "text/javascript" } }, { "listen": "prerequest", "script": { - "type": "text/javascript", "exec": [ - " //pm.environment.set(\"ADMIN_PASSWORD\", jsonRes.Data.Client.id);" - ] + "pm.environment.set(\"ADMIN_PASSWORD\", \"X*)#43%$QWY\");" + ], + "type": "text/javascript" } } ], @@ -452,63 +340,930 @@ ] }, { - "name": "Api client", + "name": "User (Moderator) management", "item": [ { - "name": "Create", - "event": [ + "name": "Create / get / search / delete", + "item": [ { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"API_CLIENT_ID\", respData.Data.id);\r", - " pm.environment.set(\"API_CLIENT_CODE\", respData.Data.ClientCode);\r", - "\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('New api client record is created', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('ClientName');\r", - " pm.expect(jsonRes.Data).to.have.property('ClientCode');\r", - " pm.expect(jsonRes.Data).to.have.property('IsPrivileged');\r", - " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Phone');\r", - " pm.expect(jsonRes.Data).to.have.property('Email');\r", - " \r", - " pm.expect(jsonRes.Data.ClientName).equals('Rean Patient App');\r", - " pm.expect(jsonRes.Data.IsPrivileged).equals(false);\r", - " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", - " pm.expect(jsonRes.Data.Phone).equals('1234567890');\r", - " pm.expect(jsonRes.Data.Email).equals('johndoe@inflectionzone.com');\r", - "\r", - "});\r", - "\r", - "" - ] - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, + "name": "Create new moderator", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_ID\", jsonRes.Data.id);\r", + " pm.environment.set(\"USER_NAME\", jsonRes.Data.UserName);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"New user record is created\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data.Phone).to.not.be.null;\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data).to.have.property('UserName');\r", + "\r", + " pm.expect(jsonRes.Data.FirstName).equals(pm.environment.get(\"FIRST_NAME\"));\r", + " pm.expect(jsonRes.Data.LastName).equals(pm.environment.get(\"LAST_NAME\"));\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Phone).equals(pm.environment.get(\"PHONE_NUMBER\"));\r", + " pm.expect(jsonRes.Data.Email).equals(pm.environment.get(\"EMAIL\"));\r", + "\r", + "});\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "//Randomly generated user details\r", + "\r", + "var first_names = ['Jerry', 'Tom', 'Garfield', 'Jerome', 'Hobbes', 'Calvin', 'Nate', 'Peanuts', 'John', 'Abigale', 'Erin'];\r", + "\r", + "var last_names = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall'];\r", + "\r", + "var first = first_names[Math.floor(Math.random() * first_names.length)];\r", + "var last = last_names[Math.floor(Math.random() * last_names.length)];\r", + "\r", + "var random_postfix = (Math.floor(Math.random() * 90000) + 10000).toString();\r", + "var email = first + \".\" + random_postfix + \".\" + last + \"@gmail.com\";\r", + "var password = \"Test@123\";\r", + "\r", + "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"PHONE_NUMBER\", phonenumber);\r", + "pm.environment.set(\"PHONE_COUNTRY_CODE\", \"+91\");\r", + "\r", + "pm.environment.set(\"FIRST_NAME\", first);\r", + "pm.environment.set(\"LAST_NAME\", last);\r", + "pm.environment.set(\"EMAIL\", email);\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{USER_JWT}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"RoleId\": \"{{MODERATOR_ROLE_ID}}\",\r\n \"FirstName\": \"{{FIRST_NAME}}\",\r\n \"LastName\": \"{{LAST_NAME}}\",\r\n \"Email\": \"{{EMAIL}}\",\r\n \"Gender\": \"Male\",\r\n \"CountryCode\": \"+91\",\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"Password\": \"Apple@1234\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/users", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + }, + { + "name": "Get user by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User record is retrived\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email')\r", + " pm.expect(jsonRes.Data).to.have.property('UserName')\r", + "\r", + " pm.expect(jsonRes.Data.FirstName).equals(pm.environment.get(\"FIRST_NAME\"));\r", + " pm.expect(jsonRes.Data.LastName).equals(pm.environment.get(\"LAST_NAME\"));\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Phone).equals(pm.environment.get(\"PHONE_NUMBER\"));\r", + " pm.expect(jsonRes.Data.Email).equals(pm.environment.get(\"EMAIL\"));\r", + "\r", + "});" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{ADMIN_JWT}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/users/{{USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "{{USER_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Api client search results are returned', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "\r", + "});" + ] + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/users/search?gender=Male", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "search" + ], + "query": [ + { + "key": "firstName", + "value": "", + "disabled": true + }, + { + "key": "lastName", + "value": "", + "disabled": true + }, + { + "key": "userName", + "value": "", + "disabled": true + }, + { + "key": "countryCode", + "value": "xyz", + "disabled": true + }, + { + "key": "phone", + "value": "xyz", + "disabled": true + }, + { + "key": "email", + "value": "xyz", + "disabled": true + }, + { + "key": "validFrom", + "value": "xyz", + "disabled": true + }, + { + "key": "validTill", + "value": "xyz", + "disabled": true + }, + { + "key": "gender", + "value": "Male" + } + ] + } + }, + "response": [] + }, + { + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User record is deleted \", function () {\r", + "\r", + " var expectedValue = true;\r", + " \r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(expectedValue);\r", + "\r", + "});" + ] + } + } + ], + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/users/{{USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "{{USER_ID}}" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Moderator log in", + "item": [ + { + "name": "Create new moderator again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_ID\", jsonRes.Data.id);\r", + " pm.environment.set(\"USER_NAME\", jsonRes.Data.UserName);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"New user record is created\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data.Phone).to.not.be.null;\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data).to.have.property('UserName');\r", + "\r", + " pm.expect(jsonRes.Data.FirstName).equals(pm.environment.get(\"FIRST_NAME\"));\r", + " pm.expect(jsonRes.Data.LastName).equals(pm.environment.get(\"LAST_NAME\"));\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Phone).equals(pm.environment.get(\"PHONE_NUMBER\"));\r", + " pm.expect(jsonRes.Data.Email).equals(pm.environment.get(\"EMAIL\"));\r", + "});\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "//Randomly generated user details\r", + "\r", + "var first_names = ['Jerry', 'Tom', 'Garfield', 'Jerome', 'Hobbes', 'Calvin', 'Nate', 'Peanuts', 'John', 'Abigale', 'Erin'];\r", + "\r", + "var last_names = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall'];\r", + "\r", + "var first = first_names[Math.floor(Math.random() * first_names.length)];\r", + "var last = last_names[Math.floor(Math.random() * last_names.length)];\r", + "\r", + "var random_postfix = (Math.floor(Math.random() * 90000) + 10000).toString();\r", + "var email = first + \".\" + random_postfix + \".\" + last + \"@gmail.com\";\r", + "var password = \"Test@123\";\r", + "\r", + "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"PHONE_NUMBER\", phonenumber);\r", + "pm.environment.set(\"PHONE_COUNTRY_CODE\", \"+91\");\r", + "\r", + "pm.environment.set(\"FIRST_NAME\", first);\r", + "pm.environment.set(\"LAST_NAME\", last);\r", + "pm.environment.set(\"EMAIL\", email);\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{USER_JWT}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"RoleId\": \"{{MODERATOR_ROLE_ID}}\",\r\n \"FirstName\": \"{{FIRST_NAME}}\",\r\n \"LastName\": \"{{LAST_NAME}}\",\r\n \"Email\": \"{{EMAIL}}\",\r\n \"Gender\": \"Male\",\r\n \"CountryCode\": \"+91\",\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"Password\": \"Apple@1234\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/users", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + }, + { + "name": "User log-in with password", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", + " pm.environment.set(\"MODERATOR_JWT\", jsonRes.Data.AccessToken);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User login: Access token is returned\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", + " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", + "});\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"UserName\": \"{{USER_NAME}}\",\r\n \"Password\": \"Apple@1234\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/users/login-password", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "login-password" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + }, + { + "name": "Update moderator profile", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user profile record is updated', function () {\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data).to.have.property('UserName');\r", + "\r", + " pm.expect(jsonRes.Data.Email).equals(pm.environment.get(\"EMAIL\"));\r", + " pm.expect(jsonRes.Data.Phone).equals(pm.environment.get(\"PHONE_NUMBER\"));\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"PHONE_NUMBER\", phonenumber);\r", + "\r", + "var email = pm.environment.get(\"EMAIL\");\r", + "email = email.replace(\"@gmail.com\", \"@inflectionzone.com\");\r", + "pm.environment.set(\"EMAIL\", email);\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{MODERATOR_JWT}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"Email\": \"{{EMAIL}}\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/users/{{USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "{{USER_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "User logs out", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{USER_JWT}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/users/logout", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "logout" + ] + }, + "description": "Biocube admin logs in with username and password." + }, + "response": [] + }, + { + "name": "Generate otp", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "description": "API key for client app authentication", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"CountryCode\": \"+91\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/users/generate-otp", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "generate-otp" + ] + } + }, + "response": [] + }, + { + "name": "User log-in with otp", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "// try {\r", + "// var jsonRes = pm.response.json();\r", + "// pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", + "// }\r", + "// catch (error) {\r", + "// console.log(error.message);\r", + "// }\r", + "\r", + "// pm.test(\"Request is successfull\", function () {\r", + "// pm.response.to.have.status(200);\r", + "// var jsonRes = pm.response.json();\r", + "// pm.expect(jsonRes.Status).to.eql('success');\r", + "// });\r", + "\r", + "// pm.test(\"User login: Access token is returned\", function () {\r", + "// var jsonRes = pm.response.json();\r", + "// pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", + "// pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", + "// });\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "description": "API key for client app authentication", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Phone\": \"7309963207\",\r\n \"CountryCode\": \"+91\",\r\n \"Otp\": \"490606\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/users/login-otp", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "login-otp" + ] + } + }, + "response": [] + }, + { + "name": "User log-in with password again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", + " pm.environment.set(\"MODERATOR_JWT\", jsonRes.Data.AccessToken);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"User login: Access token is returned\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", + " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", + "});\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"UserName\": \"{{USER_NAME}}\",\r\n \"Password\": \"Apple@1234\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/users/login-password", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "users", + "login-password" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + } + ] + } + ] + }, + { + "name": "Api client", + "item": [ + { + "name": "Create", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"API_CLIENT_ID\", respData.Data.id);\r", + " pm.environment.set(\"API_CLIENT_CODE\", respData.Data.ClientCode);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New api client record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('ClientName');\r", + " pm.expect(jsonRes.Data).to.have.property('ClientCode');\r", + " pm.expect(jsonRes.Data).to.have.property('IsPrivileged');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data.ClientName).equals(\"Rean Patient App\");\r", + "\r", + " pm.expect(jsonRes.Data.IsPrivileged).equals(true);\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Phone).equals(pm.environment.get(\"PHONE_NUMBER\"));\r", + " pm.expect(jsonRes.Data.Email).equals(pm.environment.get(\"EMAIL\"));\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "var rand = (Math.floor(Math.random() * 900000) + 100000).toString();\r", + "var password = \"Test@123\";\r", + "pm.environment.set(\"API_CLIENT_PASSWORD\", password);\r", + "pm.environment.set(\"PHONE_NUMBER\", phonenumber);\r", + "pm.environment.set(\"EMAIL\", `client.${rand}@nodomain.com`);\r", + "pm.environment.set(\"PASSWORD\", password);\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, { "key": "Authorization", "type": "text", @@ -517,7 +1272,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"ClientName\": \"Rean Patient App\",\r\n \"ClientInterfaceType\": \"Web App\",\r\n \"ClientCode\": \"REANWORLD\",\r\n \"IsPrivileged\": false,\r\n \"CountryCode\": \"+91\",\r\n \"Phone\":\"1234567890\",\r\n \"Email\":\"johndoe@inflectionzone.com\",\r\n \"Password\": \"abc#123XYZ\",\r\n \"ApiKey\": \"004V41E-6JX4ZYM-MAKN1N6-DAY4V6A\"\r\n}" + "raw": "{\r\n \"ClientName\": \"Rean Patient App\",\r\n \"ClientInterfaceType\": \"Web App\",\r\n \"CountryCode\": \"+91\",\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"Email\": \"{{EMAIL}}\",\r\n \"IsPrivileged\": true,\r\n \"Password\": \"{{API_CLIENT_PASSWORD}}\"\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/api-clients", @@ -537,7 +1292,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -555,16 +1309,10 @@ " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", " pm.expect(jsonRes.Data).to.have.property('Phone');\r", " pm.expect(jsonRes.Data).to.have.property('Email');\r", - " \r", - " pm.expect(jsonRes.Data.ClientName).equals('Rean Patient App');\r", - " pm.expect(jsonRes.Data.IsPrivileged).equals(false);\r", - " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", - " pm.expect(jsonRes.Data.Phone).equals('1234567890');\r", - " pm.expect(jsonRes.Data.Email).equals('johndoe@inflectionzone.com');\r", - "\r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -697,7 +1445,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -714,220 +1461,117 @@ " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", " pm.expect(jsonRes.Data).to.have.property('Phone');\r", " pm.expect(jsonRes.Data).to.have.property('Email');\r", - " // pm.expect(jsonRes.Data).to.have.property('ValidFrom');\r", - " // pm.expect(jsonRes.Data).to.have.property('ValidTo');\r", " \r", - " pm.expect(jsonRes.Data.ClientName).equals('Rean Patient App');\r", + " pm.expect(jsonRes.Data.ClientName).equals('Rean Patient App X');\r", " pm.expect(jsonRes.Data.IsPrivileged).equals(false);\r", " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", - " pm.expect(jsonRes.Data.Phone).equals('1234567890');\r", - " pm.expect(jsonRes.Data.Email).equals('johndoe@inflectionzone.com');\r", - " // pm.expect(jsonRes.Data.ValidFrom).equals(2022-01-01);\r", - " // pm.expect(jsonRes.Data.ValidTo).equals(2023-01-01);\r", + " pm.expect(jsonRes.Data.Phone).equals(pm.environment.get(\"PHONE_NUMBER\"));\r", + " pm.expect(jsonRes.Data.Email).equals(pm.environment.get(\"EMAIL\"));\r", "});\r", "\r", "" - ] - } - } - ], - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{ADMIN_JWT}}" + ], + "type": "text/javascript" } - ], - "body": { - "mode": "raw", - "raw": "{\r\n\"ClientName\": \"Rean Patient App\",\r\n\"ClientInterfaceType\": \"Mobile App\",\r\n\"IsPrivileged\": false,\r\n\"CountryCode\": \"+91\",\r\n\"Phone\": \"1234567890\",\r\n\"Email\": \"johndoe@inflectionzone.com\",\r\n\"ApiKey\": \"004V41E-6JX4ZYM-MAKN1N6-DAY4V6A\",\r\n\"ValidFrom\": \"2022-01-01\",\r\n\"ValidTill\": \"2023-01-01\"\r\n}\r\n" }, - "url": { - "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "api-clients", - "{{API_CLIENT_ID}}" - ] - } - }, - "response": [] - }, - { - "name": "Delete", - "event": [ { - "listen": "test", + "listen": "prerequest", "script": { - "type": "text/javascript", "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", + "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"PHONE_NUMBER\", phonenumber);\r", "\r", - "pm.test('Api client record is deleted', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(true); \r", - "});\r", - "" - ] - } - } - ], - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{ADMIN_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "api-clients", - "{{API_CLIENT_ID}}" - ] - } - }, - "response": [] - }, - { - "name": "Get current API key", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var jsonRes = pm.response.json();\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", + "var email = pm.environment.get(\"EMAIL\");\r", + "email = email.replace(\"@gmail.com\", \"@inflectionzone.com\");\r", + "pm.environment.set(\"EMAIL\", email);\r", + "\r", + "var today = (new Date()).toISOString().split('T')[0];\r", + "pm.environment.set(\"TODAY\", today);\r", + "\r", + "Date.prototype.addDays = function(days) {\r", + " var date = new Date(this.valueOf());\r", + " date.setDate(date.getDate() + days);\r", + " return date;\r", "}\r", "\r", - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", + "function formatDate(date) {\r", + " var d = new Date(date),\r", + " month = '' + (d.getMonth() + 1),\r", + " day = '' + d.getDate(),\r", + " year = d.getFullYear();\r", + "\r", + " if (month.length < 2) \r", + " month = '0' + month;\r", + " if (day.length < 2) \r", + " day = '0' + day;\r", + "\r", + " return [year, month, day].join('-');\r", + "}\r", "\r", - "pm.test(\"Api key is returned\", function () {\r", + "var toDate = formatDate((new Date()).addDays(365));\r", "\r", - " var expectedClientCode = pm.environment.get(\"API_CLIENT_CODE\");\r", + "pm.environment.set(\"TO_DATE\", toDate);\r", "\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('ApiKeyDetails');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.not.be.empty;\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('id');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('ClientCode');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails.ClientCode).equals(expectedClientCode);\r", - " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).to.not.be.empty;\r", - "});\r", "" - ] + ], + "type": "text/javascript" } } ], "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "{{API_CLIENT_CODE}}", - "type": "string" - }, - { - "key": "password", - "value": "{{API_CLIENT_PASSWORD}}", - "type": "string" - }, - { - "key": "showPassword", - "value": false, - "type": "boolean" - } - ] - }, - "method": "GET", + "method": "PUT", "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ClientName\": \"Rean Patient App X\",\r\n \"ClientInterfaceType\": \"Mobile App\",\r\n \"IsPrivileged\": false,\r\n \"CountryCode\": \"+91\",\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"Email\": \"{{EMAIL}}\",\r\n \"ValidFrom\": \"{{TODAY}}\",\r\n \"ValidTill\": \"{{TO_DATE}}\"\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, "url": { - "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_CODE}}/current-api-key", + "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "api-clients", - "{{API_CLIENT_CODE}}", - "current-api-key" + "{{API_CLIENT_ID}}" ] - }, - "description": "Get the current valid API key for a given client. \n\nThis API uses basic authentication with Username and Password. As a username, one has to add 'Client code' generated during the registration." + } }, "response": [] }, { - "name": "Renew API key", + "name": "Delete", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ - "\r", - "pm.test(\"Request is successfull\", function () {\r", + "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"New api key is returned\", function () {\r", - "\r", - " var currentApiKey = pm.environment.get(\"API_KEY\");\r", - "\r", + "pm.test('Api client record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('ApiKeyDetails');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.not.be.empty;\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('id');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('ClientCode');\r", - " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).to.not.be.empty;\r", - " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).not.equals(currentApiKey);\r", - " \r", - " //set the new key to env\r", - " pm.environment.set(\"API_KEY\", jsonRes.Data.ApiKeyDetails.ApiKey);\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true); \r", "});\r", "" ] @@ -935,762 +1579,745 @@ } ], "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "{{API_CLIENT_CODE}}", - "type": "string" - }, - { - "key": "password", - "value": "{{API_CLIENT_PASSWORD}}", - "type": "string" - }, - { - "key": "showPassword", - "value": false, - "type": "boolean" - } - ] - }, - "method": "PUT", + "method": "DELETE", "header": [ { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"ValidFrom\": \"2021-07-21\",\r\n \"ValidTill\": \"2024-07-20\"\r\n}" - }, - "url": { - "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_CODE}}/renew-api-key", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "api-clients", - "{{API_CLIENT_CODE}}", - "renew-api-key" - ] - }, - "description": "Renew API key with a given validity period. If not added, the key will be valid for 1 year.\n\nThis API uses basic authentication with Username and Password. As a username, one has to add 'Client code' generated during the registration." - }, - "response": [] - } - ] - }, - { - "name": "User management", - "item": [ - { - "name": "Register user", - "item": [ - { - "name": "create", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "try {\r", - " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"USER_ID\", jsonRes.Data.id);\r", - " pm.environment.set(\"USER_NAME\", jsonRes.Data.UserName); \r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test(\"New user record is created\", function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", - " pm.expect(jsonRes.Data).to.have.property('LastName');\r", - " pm.expect(jsonRes.Data).to.have.property('Gender');\r", - " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Phone');\r", - " pm.expect(jsonRes.Data).to.have.property('Email');\r", - " pm.expect(jsonRes.Data).to.have.property('UserName');\r", - "\r", - " pm.expect(jsonRes.Data.FirstName).equals('Cris');\r", - " pm.expect(jsonRes.Data.LastName).equals('evans');\r", - " pm.expect(jsonRes.Data.Gender).equals('Male');\r", - " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", - " pm.expect(jsonRes.Data.Phone).equals('7309963207');\r", - " pm.expect(jsonRes.Data.Email).equals('bbcdef@xybz.com');\r", - " pm.expect(jsonRes.Data.UserName).equals('hecris');\r", - "});\r", - "" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "Authorization", - "value": "Bearer {{USER_JWT}}", - "type": "text", - "disabled": true - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"RoleId\": \"3\",\r\n \"FirstName\": \"Cris\",\r\n \"LastName\": \"evans\",\r\n \"Gender\": \"Male\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"bbodef@xybz.com\",\r\n \"BiocubeId\": \"he\",\r\n \"Phone\": \"7309963220\",\r\n \"UserName\": \"hecris2\",\r\n \"Password\": \"Apple@1234\",\r\n \"State\":\"Maharashtra\",\r\n \"Country\":\"India\"\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/users", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users" - ] - }, - "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." - }, - "response": [] - }, - { - "name": "Get by id", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test(\"User record is retrived\", function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", - " pm.expect(jsonRes.Data).to.have.property('LastName');\r", - " pm.expect(jsonRes.Data).to.have.property('Gender');\r", - " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Phone');\r", - " pm.expect(jsonRes.Data).to.have.property('Email')\r", - " pm.expect(jsonRes.Data).to.have.property('UserName')\r", - "\r", - " pm.expect(jsonRes.Data.FirstName).equals('Cris');\r", - " pm.expect(jsonRes.Data.LastName).equals('evans');\r", - " pm.expect(jsonRes.Data.Gender).equals('Male');\r", - " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", - " pm.expect(jsonRes.Data.Phone).equals('7309963207');\r", - " pm.expect(jsonRes.Data.Email).equals('bbcdef@xybz.com');\r", - " pm.expect(jsonRes.Data.UserName).equals('hecris');\r", - "});" - ] - } - } - ], - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "Authorization", - "value": "Bearer {{ADMIN_JWT}}", - "type": "text" - } - ], - "url": { - "raw": "{{BASE_URL}}/users/{{USER_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users", - "{{USER_ID}}" - ] - } + "key": "Content-Type", + "type": "text", + "value": "application/json" }, - "response": [] - }, - { - "name": "Search with filters", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Api client search results are returned', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - "\r", - "});" - ] - } - } + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_ID}}", + "host": [ + "{{BASE_URL}}" ], - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{ADMIN_JWT}}" - } + "path": [ + "api-clients", + "{{API_CLIENT_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Create API client again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"API_CLIENT_ID\", respData.Data.id);\r", + " pm.environment.set(\"API_CLIENT_CODE\", respData.Data.ClientCode);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New api client record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('ClientName');\r", + " pm.expect(jsonRes.Data).to.have.property('ClientCode');\r", + " pm.expect(jsonRes.Data).to.have.property('IsPrivileged');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data.ClientName).equals(\"Rean Patient App\");\r", + "});\r", + "\r", + "" ], - "url": { - "raw": "{{BASE_URL}}/users/search?gender=Male", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users", - "search" - ], - "query": [ - { - "key": "firstName", - "value": "", - "disabled": true - }, - { - "key": "lastName", - "value": "", - "disabled": true - }, - { - "key": "userName", - "value": "", - "disabled": true - }, - { - "key": "countryCode", - "value": "xyz", - "disabled": true - }, - { - "key": "phone", - "value": "xyz", - "disabled": true - }, - { - "key": "email", - "value": "xyz", - "disabled": true - }, - { - "key": "validFrom", - "value": "xyz", - "disabled": true - }, - { - "key": "validTill", - "value": "xyz", - "disabled": true - }, - { - "key": "gender", - "value": "Male" - } - ] - } + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" }, - "response": [] + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{ADMIN_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ClientName\": \"Rean Patient App\",\r\n \"ClientInterfaceType\": \"Web App\",\r\n \"CountryCode\": \"+91\",\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"Email\": \"{{EMAIL}}\",\r\n \"IsPrivileged\": true,\r\n \"Password\": \"{{API_CLIENT_PASSWORD}}\"\r\n}" }, + "url": { + "raw": "{{BASE_URL}}/api-clients", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "api-clients" + ] + } + }, + "response": [] + }, + { + "name": "Get current API key", + "event": [ { - "name": "Update", - "event": [ + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"API_KEY\", respData.Data.ApiKeyDetails.ApiKey);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"Api key is returned\", function () {\r", + "\r", + " var expectedClientCode = pm.environment.get(\"API_CLIENT_CODE\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('ApiKeyDetails');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.not.be.empty;\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('id');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('ClientCode');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails.ClientCode).equals(expectedClientCode);\r", + " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).to.not.be.empty;\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "auth": { + "type": "basic", + "basic": [ { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "\r", - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test(\"User record is updated\", function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", - " pm.expect(jsonRes.Data).to.have.property('LastName');\r", - " pm.expect(jsonRes.Data).to.have.property('Gender');\r", - " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Phone');\r", - " pm.expect(jsonRes.Data).to.have.property('Email');\r", - " pm.expect(jsonRes.Data).to.have.property('UserName');\r", - " \r", - " pm.expect(jsonRes.Data.FirstName).equals('Cris');\r", - " pm.expect(jsonRes.Data.LastName).equals('evans');\r", - " pm.expect(jsonRes.Data.Gender).equals('Male');\r", - " pm.expect(jsonRes.Data.Email).equals('bbcdef@xybz.com');\r", - " pm.expect(jsonRes.Data.UserName).equals('hecris');\r", - " \r", - "});\r", - "" - ] - } + "key": "username", + "value": "{{API_CLIENT_CODE}}", + "type": "string" + }, + { + "key": "password", + "value": "{{API_CLIENT_PASSWORD}}", + "type": "string" + }, + { + "key": "showPassword", + "value": false, + "type": "boolean" } + ] + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_CODE}}/current-api-key", + "host": [ + "{{BASE_URL}}" ], - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "Authorization", - "value": "Bearer {{ADMIN_JWT}}", - "type": "text" - } + "path": [ + "api-clients", + "{{API_CLIENT_CODE}}", + "current-api-key" + ] + }, + "description": "Get the current valid API key for a given client. \n\nThis API uses basic authentication with Username and Password. As a username, one has to add 'Client code' generated during the registration." + }, + "response": [] + }, + { + "name": "Renew API key", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"API_KEY\", respData.Data.ApiKeyDetails.ApiKey);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"New api key is returned\", function () {\r", + "\r", + " var currentApiKey = pm.environment.get(\"API_KEY\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('ApiKeyDetails');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.not.be.empty;\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('id');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails).to.have.property('ClientCode');\r", + " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).to.not.be.empty;\r", + " pm.expect(jsonRes.Data.ApiKeyDetails.ApiKey).not.equals(currentApiKey);\r", + " \r", + " //set the new key to env\r", + " pm.environment.set(\"API_KEY\", jsonRes.Data.ApiKeyDetails.ApiKey);\r", + "});\r", + "" ], - "body": { - "mode": "raw", - "raw": "{\r\n \"RoleId\": \"2\",\r\n \"FirstName\": \"Cris\",\r\n \"LastName\": \"evans\",\r\n \"Gender\": \"Male\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"bbcdef@xybz.com\",\r\n \"BiocubeId\": \"he\"\r\n \r\n}\r\n" + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "username", + "value": "{{API_CLIENT_CODE}}", + "type": "string" }, - "url": { - "raw": "{{BASE_URL}}/users/{{USER_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users", - "{{USER_ID}}" - ] + { + "key": "password", + "value": "{{API_CLIENT_PASSWORD}}", + "type": "string" }, - "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." - }, - "response": [] - }, - { - "name": "Delete", - "event": [ { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test(\"User record is deleted \", function () {\r", - "\r", - " var expectedValue = true;\r", - " \r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(expectedValue);\r", - "\r", - "});" - ] - } + "key": "showPassword", + "value": false, + "type": "boolean" } + ] + }, + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ValidFrom\": \"2021-07-21\",\r\n \"ValidTill\": \"2024-07-20\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/api-clients/{{API_CLIENT_CODE}}/renew-api-key", + "host": [ + "{{BASE_URL}}" ], - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{ADMIN_JWT}}" - } + "path": [ + "api-clients", + "{{API_CLIENT_CODE}}", + "renew-api-key" + ] + }, + "description": "Renew API key with a given validity period. If not added, the key will be valid for 1 year.\n\nThis API uses basic authentication with Username and Password. As a username, one has to add 'Client code' generated during the registration." + }, + "response": [] + } + ] + }, + { + "name": "Participant management", + "item": [ + { + "name": "create", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"PARTICIPANT_USER_ID\", jsonRes.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"New participant is created\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('ParticipantReferenceId');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Country');\r", + " \r", + " pm.expect(jsonRes.Data.FirstName).equals(pm.environment.get(\"FIRST_NAME\"));\r", + " pm.expect(jsonRes.Data.LastName).equals(pm.environment.get(\"LAST_NAME\"));\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.ParticipantReferenceId).equals('66fce627-18fb');\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Email).equals(pm.environment.get(\"EMAIL\"));\r", + " pm.expect(jsonRes.Data.Phone).equals(pm.environment.get(\"PHONE_NUMBER\"));\r", + " pm.expect(jsonRes.Data.Country).equals('India');\r", + "});\r", + "\r", + "\r", + "" ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{BASE_URL}}/users/{{USER_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users", - "{{USER_ID}}" - ] - } + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "//Randomly generated user details\r", + "\r", + "var first_names = ['Jerry', 'Tom', 'Garfield', 'Jerome', 'Hobbes', 'Calvin', 'Nate', 'Peanuts', 'John', 'Abigale', 'Erin'];\r", + "\r", + "var last_names = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall'];\r", + "\r", + "var first = first_names[Math.floor(Math.random() * first_names.length)];\r", + "var last = last_names[Math.floor(Math.random() * last_names.length)];\r", + "\r", + "var random_postfix = (Math.floor(Math.random() * 90000) + 10000).toString();\r", + "var email = first + \".\" + random_postfix + \".\" + last + \"@gmail.com\";\r", + "var password = \"Test@123\";\r", + "\r", + "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"PHONE_NUMBER\", phonenumber);\r", + "pm.environment.set(\"PHONE_COUNTRY_CODE\", \"+91\");\r", + "\r", + "pm.environment.set(\"FIRST_NAME\", first);\r", + "pm.environment.set(\"LAST_NAME\", last);\r", + "pm.environment.set(\"EMAIL\", email);\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" }, - "response": [] + { + "key": "x-api-key", + "value": "{{API_KEY}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"FirstName\": \"{{FIRST_NAME}}\",\r\n \"LastName\": \"{{LAST_NAME}}\",\r\n \"Gender\": \"Male\",\r\n \"ParticipantReferenceId\": \"66fce627-18fb\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"{{EMAIL}}\",\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"Country\": \"India\"\r\n}\r\n" }, - { - "name": "create User again", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"USER_ID\", jsonRes.Data.id);\r", - " pm.environment.set(\"USER_NAME\", jsonRes.Data.UserName); \r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test(\"New user record is created\", function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", - " pm.expect(jsonRes.Data).to.have.property('LastName');\r", - " pm.expect(jsonRes.Data).to.have.property('Gender');\r", - " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Phone');\r", - " pm.expect(jsonRes.Data).to.have.property('Email');\r", - " pm.expect(jsonRes.Data).to.have.property('UserName');\r", - "\r", - " pm.expect(jsonRes.Data.FirstName).equals('Cris');\r", - " pm.expect(jsonRes.Data.LastName).equals('evans');\r", - " pm.expect(jsonRes.Data.Gender).equals('Male');\r", - " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", - " pm.expect(jsonRes.Data.Phone).equals('7309963207');\r", - " pm.expect(jsonRes.Data.Email).equals('bbcdef@xybz.com');\r", - " pm.expect(jsonRes.Data.UserName).equals('hecris');\r", - "});\r", - "" - ] - } - } + "url": { + "raw": "{{BASE_URL}}/participants", + "host": [ + "{{BASE_URL}}" ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "Authorization", - "value": "Bearer {{USER_JWT}}", - "type": "text", - "disabled": true - } + "path": [ + "participants" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + }, + { + "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"Participant record is retrived\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data).to.have.property('LastName');\r", + " pm.expect(jsonRes.Data).to.have.property('Gender');\r", + " pm.expect(jsonRes.Data).to.have.property('ParticipantReferenceId');\r", + " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Email');\r", + " pm.expect(jsonRes.Data).to.have.property('Phone');\r", + " pm.expect(jsonRes.Data).to.have.property('Country');\r", + " \r", + " pm.expect(jsonRes.Data.FirstName).equals(pm.environment.get(\"FIRST_NAME\"));\r", + " pm.expect(jsonRes.Data.LastName).equals(pm.environment.get(\"LAST_NAME\"));\r", + " pm.expect(jsonRes.Data.Gender).equals('Male');\r", + " pm.expect(jsonRes.Data.ParticipantReferenceId).equals('66fce627-18fb');\r", + " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", + " pm.expect(jsonRes.Data.Email).equals(pm.environment.get(\"EMAIL\"));\r", + " pm.expect(jsonRes.Data.Phone).equals(pm.environment.get(\"PHONE_NUMBER\"));\r", + " pm.expect(jsonRes.Data.Country).equals('India');\r", + "});\r", + " \r", + "" ], - "body": { - "mode": "raw", - "raw": "{\r\n \"RoleId\": \"2\",\r\n \"FirstName\": \"Cris\",\r\n \"LastName\": \"evans\",\r\n \"Gender\": \"Male\",\r\n \"BiocubeId\": \"he\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"bbcdef@xybz.com\",\r\n \"Phone\": \"7309963207\",\r\n \"UserName\": \"hecris\",\r\n \"Password\": \"Apple@1234\"\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/users", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users" - ] - }, - "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" }, - "response": [] + { + "key": "x-api-key", + "value": "{{API_KEY}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participants", + "{{PARTICIPANT_USER_ID}}" + ] } - ] + }, + "response": [] }, { - "name": "User login", - "item": [ + "name": "Search with filters", + "event": [ { - "name": "User logs in", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test(\"User login: Access token is returned\", function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", - " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", - "});\r", - "" - ] - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text", - "disabled": true - } + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"List of participants is returned\", function () {\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Items');\r", + " pm.expect(jsonRes.Data.Items.length).to.be.greaterThan(0);\r", + "\r", + "});\r", + "\r", + "" ], - "body": { - "mode": "raw", - "raw": "{\r\n \"UserName\": \"{{USER_NAME}}\",\r\n \"Password\": \"Apple@1234\"\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/users/login-password", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users", - "login-password" - ] - }, - "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + "type": "text/javascript" + } + } + ], + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text", + "description": "User login session token (JWT). Format : Bearer JWT_TOKEN" }, - "response": [] + { + "key": "x-api-key", + "value": "{{API_KEY}}", + "type": "text", + "description": "API key for client app authentication" + } + ], + "body": { + "mode": "raw", + "raw": "" }, - { - "name": "Generate otp", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var jsonRes = pm.response.json();\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "// pm.test(\"Request is successfull\", function () {\r", - "// pm.response.to.have.status(200);\r", - "// var jsonRes = pm.response.json();\r", - "// pm.expect(jsonRes.Status).to.eql('success');\r", - "// });\r", - "" - ] - } - } + "url": { + "raw": "{{BASE_URL}}/participants/search?firstName={{FIRST_NAME}}", + "host": [ + "{{BASE_URL}}" ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "description": "API key for client app authentication", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"Phone\": \"7309963207\",\r\n \"CountryCode\": \"+91\"\r\n}" + "path": [ + "participants", + "search" + ], + "query": [ + { + "key": "phone", + "value": "{{PATIENT_PHONE_NUMBER}}", + "description": "Search by patient phone", + "disabled": true }, - "url": { - "raw": "{{BASE_URL}}/users/generate-otp", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users", - "generate-otp" - ] + { + "key": "email", + "value": "{{PATIENT_EMAIL}}", + "description": "Search by patient email", + "disabled": true + }, + { + "key": "gender", + "value": "{{PATIENT_GENDER}}", + "description": "Search by patient gender", + "disabled": true + }, + { + "key": "participantReferenceId", + "value": "66fce627-18fb", + "disabled": true + }, + { + "key": "firstName", + "value": "{{FIRST_NAME}}" + }, + { + "key": "lastName", + "value": "Rai", + "disabled": true + }, + { + "key": "country", + "value": "India", + "disabled": true } - }, - "response": [] + ] }, + "description": "Search addresses using query parameters." + }, + "response": [] + }, + { + "name": "Update", + "event": [ { - "name": "User log-in with otp", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"USER_JWT\", jsonRes.Data.AccessToken);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test(\"User login: Access token is returned\", function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('AccessToken');\r", - " pm.expect(jsonRes.Data.AccessToken).to.not.be.null;\r", - "});\r", - "" - ] - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "description": "API key for client app authentication", - "type": "text" - } + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var jsonRes = pm.response.json();\r", + " pm.environment.set(\"PATIENT_FIRST_NAME\", jsonRes.Data.FirstName);\r", + " pm.environment.set(\"PATIENT_PHONE\", jsonRes.Data.Phone);\r", + " pm.environment.set(\"PATIENT_GENDER\", jsonRes.Data.Gender);\r", + " pm.environment.set(\"PATIENT_EMAIL\", jsonRes.Data.Email);\r", + "\r", + " var phone = jsonRes.Data.Patient.User.Person.Phone;\r", + "\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "\r", + "pm.test(\"Request is successfull\", function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test(\"Participant is updated\", function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data.id).to.not.be.empty;\r", + " pm.expect(jsonRes.Data.Phone).to.not.be.empty;\r", + " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", + " pm.expect(jsonRes.Data.Gender).to.not.be.empty;\r", + "\r", + " pm.expect(jsonRes.Data.FirstName).equals(pm.environment.get(\"FIRST_NAME\"));\r", + " pm.expect(jsonRes.Data.LastName).equals(pm.environment.get(\"LAST_NAME\"));\r", + "});\r", + "" ], - "body": { - "mode": "raw", - "raw": "{\r\n \"Phone\": \"7309963207\",\r\n \"CountryCode\": \"+91\",\r\n \"Otp\": \"713139\"\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/users/login-otp", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users", - "login-otp" - ] - } + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "//Randomly generated user details\r", + "\r", + "var first_names = ['Jerry', 'Tom', 'Garfield', 'Jerome', 'Hobbes', 'Calvin', 'Nate', 'Peanuts', 'John', 'Abigale', 'Erin'];\r", + "\r", + "var last_names = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall'];\r", + "\r", + "var first = first_names[Math.floor(Math.random() * first_names.length)];\r", + "var last = last_names[Math.floor(Math.random() * last_names.length)];\r", + "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "var random_postfix = (Math.floor(Math.random() * 90000) + 10000).toString();\r", + "var email = first + \".\" + random_postfix + \".\" + last + \"@gmail.com\";\r", + "var password = \"Test@123\";\r", + "\r", + "pm.environment.set(\"FIRST_NAME\", first);\r", + "pm.environment.set(\"LAST_NAME\", last);\r", + "pm.environment.set(\"EMAIL\", email);\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text", + "description": "User login session token (JWT). Format : Bearer JWT_TOKEN" }, - "response": [] + { + "key": "x-api-key", + "value": "{{API_KEY}}", + "type": "text", + "description": "API key for client app authentication" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"FirstName\": \"{{FIRST_NAME}}\",\r\n \"LastName\": \"{{LAST_NAME}}\",\r\n \"Gender\": \"Male\",\r\n \"ParticipantReferenceId\": \"66fce627-18fb\"\r\n}\r\n" }, - { - "name": "User logs out", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "" - ] - } - } + "url": { + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "host": [ + "{{BASE_URL}}" ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "Authorization", - "value": "Bearer {{USER_JWT}}", - "type": "text" - } + "path": [ + "participants", + "{{PARTICIPANT_USER_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test(\"Request is successfull\", function () {", + " pm.response.to.have.status(200);", + " var jsonRes = pm.response.json();", + " pm.expect(jsonRes.Status).to.eql('success');", + "});", + "", + "pm.test(\"Participant is deleted\", function () {", + "", + " var expectedValue = true;", + " ", + " var jsonRes = pm.response.json();", + " pm.expect(jsonRes.Data).to.have.property('Deleted');", + " pm.expect(jsonRes.Data.Deleted).equals(expectedValue);", + "", + "});", + "" ], - "body": { - "mode": "raw", - "raw": "{\r\n \"UserName\": \"{{USER_NAME}}\",\r\n \"Password\": \"Apple@1234\"\r\n}" - }, - "url": { - "raw": "{{BASE_URL}}/users/logout", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "users", - "logout" - ] - }, - "description": "Biocube admin logs in with username and password." + "type": "text/javascript" + } + } + ], + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" }, - "response": [] + { + "key": "x-api-key", + "value": "{{API_KEY}}", + "type": "text" + } + ], + "url": { + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participants", + "{{PARTICIPANT_USER_ID}}" + ] } - ] - } - ] - }, - { - "name": "Participant management", - "item": [ + }, + "response": [] + }, { - "name": "create", + "name": "create again", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", @@ -1712,30 +2339,191 @@ " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", " pm.expect(jsonRes.Data).to.have.property('LastName');\r", " pm.expect(jsonRes.Data).to.have.property('Gender');\r", - " pm.expect(jsonRes.Data).to.have.property('SystemId');\r", + " pm.expect(jsonRes.Data).to.have.property('ParticipantReferenceId');\r", " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", " pm.expect(jsonRes.Data).to.have.property('Email');\r", " pm.expect(jsonRes.Data).to.have.property('Phone');\r", " pm.expect(jsonRes.Data).to.have.property('Country');\r", " \r", - " pm.expect(jsonRes.Data.FirstName).equals('Robert');\r", - " pm.expect(jsonRes.Data.LastName).equals('crook');\r", + " pm.expect(jsonRes.Data.FirstName).equals(pm.environment.get(\"FIRST_NAME\"));\r", + " pm.expect(jsonRes.Data.LastName).equals(pm.environment.get(\"LAST_NAME\"));\r", " pm.expect(jsonRes.Data.Gender).equals('Male');\r", - " pm.expect(jsonRes.Data.SystemId).equals('66fce627-18fb');\r", + " pm.expect(jsonRes.Data.ParticipantReferenceId).equals('66fce627-18fb');\r", " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", - " pm.expect(jsonRes.Data.Email).equals('nbdcrf@abz.com');\r", - " pm.expect(jsonRes.Data.Phone).equals('7329964202');\r", + " pm.expect(jsonRes.Data.Email).equals(pm.environment.get(\"EMAIL\"));\r", + " pm.expect(jsonRes.Data.Phone).equals(pm.environment.get(\"PHONE_NUMBER\"));\r", " pm.expect(jsonRes.Data.Country).equals('India');\r", "});\r", - " \r", + "\r", "\r", "" - ] + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "//Randomly generated user details\r", + "\r", + "var first_names = ['Jerry', 'Tom', 'Garfield', 'Jerome', 'Hobbes', 'Calvin', 'Nate', 'Peanuts', 'John', 'Abigale', 'Erin'];\r", + "\r", + "var last_names = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall'];\r", + "\r", + "var first = first_names[Math.floor(Math.random() * first_names.length)];\r", + "var last = last_names[Math.floor(Math.random() * last_names.length)];\r", + "\r", + "var random_postfix = (Math.floor(Math.random() * 90000) + 10000).toString();\r", + "var email = first + \".\" + random_postfix + \".\" + last + \"@gmail.com\";\r", + "var password = \"Test@123\";\r", + "\r", + "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"PHONE_NUMBER\", phonenumber);\r", + "pm.environment.set(\"PHONE_COUNTRY_CODE\", \"+91\");\r", + "\r", + "pm.environment.set(\"FIRST_NAME\", first);\r", + "pm.environment.set(\"LAST_NAME\", last);\r", + "pm.environment.set(\"EMAIL\", email);\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_KEY}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"FirstName\": \"{{FIRST_NAME}}\",\r\n \"LastName\": \"{{LAST_NAME}}\",\r\n \"Gender\": \"Male\",\r\n \"ParticipantReferenceId\": \"66fce627-18fb\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"{{EMAIL}}\",\r\n \"Phone\": \"{{PHONE_NUMBER}}\",\r\n \"Country\": \"India\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/participants", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participants" + ] + }, + "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + }, + "response": [] + } + ] + }, + { + "name": "File resources - upload and download", + "item": [ + { + "name": "Upload file", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"FILE_RESOURCE_ID\", respData.Data.id);\r", + " pm.environment.set(\"FILE_RESOURCE_URL\", respData.Data.Url);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New file resource record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('OriginalFilename');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('MimeType');\r", + " pm.expect(jsonRes.Data).to.have.property('Public');\r", + " pm.expect(jsonRes.Data).to.have.property('Size');\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/octet-stream", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{MODERATOR_JWT}}", + "type": "text" + }, + { + "key": "Filename", + "value": "2.jpg", + "type": "text" + }, + { + "key": "Public", + "value": "true", + "type": "text" + } + ], + "body": { + "mode": "file", + "file": { + "src": "/D:/current_projects/rean/code/careplan-service/postman/test.data/images/2.jpg" + } + }, + "url": { + "raw": "{{BASE_URL}}/file-resources/upload", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "file-resources", + "upload" + ] + } + }, + "response": [] + }, + { + "name": "Download", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + "});" + ], + "type": "text/javascript" } } ], "request": { - "method": "POST", + "method": "GET", "header": [ { "key": "Content-Type", @@ -1743,67 +2531,58 @@ "type": "text" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "value": "Bearer {{MODERATOR_JWT}}", + "type": "text", + "disabled": true } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"FirstName\": \"Robert\",\r\n \"LastName\": \"crook\",\r\n \"Gender\": \"Male\",\r\n \"SystemId\": \"66fce627-18fb\",\r\n \"CountryCode\": \"+91\",\r\n \"Email\": \"nbdcrf@abz.com\",\r\n \"Phone\": \"7329964202\",\r\n \"Country\": \"India\"\r\n}\r\n" - }, "url": { - "raw": "{{BASE_URL}}/participants", + "raw": "{{BASE_URL}}/file-resources/download/{{FILE_RESOURCE_ID}}?disposition=attachment", "host": [ "{{BASE_URL}}" ], "path": [ - "participants" + "file-resources", + "download", + "{{FILE_RESOURCE_ID}}" + ], + "query": [ + { + "key": "disposition", + "value": "attachment" + } ] - }, - "description": "User login with username/phone/email and password.\n\n'LoginRoleId' is the role id through which user wants to log into the system provided the user has the role." + } }, "response": [] }, { - "name": "Get by id", + "name": "Get by id", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", - "pm.test(\"Request is successfull\", function () {\r", + "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"Participant record is retrived\", function () {\r", + "pm.test('New file resource record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", - " pm.expect(jsonRes.Data).to.have.property('LastName');\r", - " pm.expect(jsonRes.Data).to.have.property('Gender');\r", - " pm.expect(jsonRes.Data).to.have.property('SystemId');\r", - " pm.expect(jsonRes.Data).to.have.property('CountryCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Email');\r", - " pm.expect(jsonRes.Data).to.have.property('Phone');\r", - " pm.expect(jsonRes.Data).to.have.property('Country');\r", - " \r", - " pm.expect(jsonRes.Data.FirstName).equals('Robert');\r", - " pm.expect(jsonRes.Data.LastName).equals('crook');\r", - " pm.expect(jsonRes.Data.Gender).equals('Male');\r", - " pm.expect(jsonRes.Data.SystemId).equals('66fce627-18fb');\r", - " pm.expect(jsonRes.Data.CountryCode).equals('+91');\r", - " pm.expect(jsonRes.Data.Email).equals('nbdcrf@abz.com');\r", - " pm.expect(jsonRes.Data.Phone).equals('7329964202');\r", - " pm.expect(jsonRes.Data.Country).equals('India');\r", + " pm.expect(jsonRes.Data).to.have.property('OriginalFilename');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('MimeType');\r", + " pm.expect(jsonRes.Data).to.have.property('Public');\r", + " pm.expect(jsonRes.Data).to.have.property('Size');\r", "});\r", - " \r", "" - ] + ], + "type": "text/javascript" } } ], @@ -1816,457 +2595,466 @@ "type": "text" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", + "key": "Authorization", + "value": "Bearer {{MODERATOR_JWT}}", "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "raw": "{{BASE_URL}}/file-resources/{{FILE_RESOURCE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participants", - "{{PARTICIPANT_USER_ID}}" + "file-resources", + "{{FILE_RESOURCE_ID}}" ] } }, "response": [] - }, + } + ] + }, + { + "name": "Careplan category", + "item": [ { - "name": "Search with filters", + "name": "Create", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_CATEGORY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"List of participants is returned\", function () {\r", - "\r", + "pm.test('New careplan category record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Items');\r", - " pm.expect(jsonRes.Data.Items.length).to.be.greaterThan(0);\r", - "\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " \r", + " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", "});\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var rand = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"CAREPLAN_CATEGORY\", 'Sports Rehab - ' + rand);\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", - "value": "application/json", "type": "text", - "description": "User login session token (JWT). Format : Bearer JWT_TOKEN" + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", + "key": "Authorization", "type": "text", - "description": "API key for client app authentication" + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\"\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/participants/search?firstName=Robert", + "raw": "{{BASE_URL}}/careplan-categories", "host": [ "{{BASE_URL}}" ], "path": [ - "participants", - "search" - ], - "query": [ - { - "key": "phone", - "value": "{{PATIENT_PHONE_NUMBER}}", - "description": "Search by patient phone", - "disabled": true - }, - { - "key": "email", - "value": "{{PATIENT_EMAIL}}", - "description": "Search by patient email", - "disabled": true - }, - { - "key": "gender", - "value": "{{PATIENT_GENDER}}", - "description": "Search by patient gender", - "disabled": true - }, - { - "key": "systemId", - "value": "66fce627-18fb", - "disabled": true - }, - { - "key": "firstName", - "value": "Robert" - }, - { - "key": "lastName", - "value": "Rai", - "disabled": true - }, - { - "key": "country", - "value": "India", - "disabled": true - } + "careplan-categories" ] - }, - "description": "Search addresses using query parameters." + } }, "response": [] }, { - "name": "Update", + "name": "Try creating with same type - should fail", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "try {\r", - " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"PATIENT_FIRST_NAME\", jsonRes.Data.FirstName);\r", - " pm.environment.set(\"PATIENT_PHONE\", jsonRes.Data.Phone);\r", - " pm.environment.set(\"PATIENT_GENDER\", jsonRes.Data.Gender);\r", - " pm.environment.set(\"PATIENT_EMAIL\", jsonRes.Data.Email);\r", - "\r", - " var phone = jsonRes.Data.Patient.User.Person.Phone;\r", - "\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "\r", - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", "\r", - "pm.test(\"Participant is updated\", function () {\r", + "pm.test('Request is failure', function () {\r", + " pm.response.to.have.status(409);\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data.id).to.not.be.empty;\r", - " pm.expect(jsonRes.Data.Phone).to.not.be.empty;\r", - " pm.expect(jsonRes.Data).to.have.property('FirstName');\r", - " pm.expect(jsonRes.Data.Gender).to.not.be.empty;\r", + " pm.expect(jsonRes.Status).to.eql('failure');\r", "});\r", "" - ] + ], + "type": "text/javascript" } }, { "listen": "prerequest", "script": { - "type": "text/javascript", "exec": [ - "//Randomly generated user details\r", - "\r", - "var first_names = ['Jerry', 'Tom', 'Garfield', 'Jerome', 'Hobbes', 'Calvin', 'Nate', 'Peanuts', 'John', 'Abigale', 'Erin'];\r", "\r", - "var last_names = ['Smith', 'Johnson', 'Williams', 'Jones', 'Brown', 'Davis', 'Miller', 'Wilson', 'Moore', 'Taylor', 'Anderson', 'Thomas', 'Jackson', 'White', 'Harris', 'Martin', 'Thompson', 'Garcia', 'Martinez', 'Robinson', 'Clark', 'Rodriguez', 'Lewis', 'Lee', 'Walker', 'Hall'];\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-categories", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-categories" + ] + } + }, + "response": [] + }, + { + "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ "\r", - "var first = first_names[Math.floor(Math.random() * first_names.length)];\r", - "var last = last_names[Math.floor(Math.random() * last_names.length)];\r", - "var phonenumber = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", - "var random_postfix = (Math.floor(Math.random() * 90000) + 10000).toString();\r", - "var email = first + \".\" + random_postfix + \".\" + last + \"@gmail.com\";\r", - "var password = \"Test@123\";\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", "\r", - "pm.environment.set(\"FIRST_NAME\", first);\r", - "pm.environment.set(\"LAST_NAME\", last);\r", - "pm.environment.set(\"EMAIL\", email);\r", - "" - ] + "pm.test('Careplan category record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", + "});" + ], + "type": "text/javascript" } } ], "request": { - "method": "PUT", + "method": "GET", "header": [ { "key": "Content-Type", - "value": "application/json", "type": "text", - "description": "User login session token (JWT). Format : Bearer JWT_TOKEN" + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", + "key": "Authorization", "type": "text", - "description": "API key for client app authentication" + "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"FirstName\": \"{{FIRST_NAME}}\",\r\n \"LastName\": \"{{LAST_NAME}}\",\r\n \"Gender\": \"Male\",\r\n \"SystemId\": \"66fce627-18fb\"\r\n}\r\n" - }, "url": { - "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participants", - "{{PARTICIPANT_USER_ID}}" + "careplan-categories", + "{{CAREPLAN_CATEGORY_ID}}" ] } }, "response": [] }, { - "name": "Delete", + "name": "Search with filters", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "pm.test(\"Request is successfull\", function () {", - " pm.response.to.have.status(200);", - " var jsonRes = pm.response.json();", - " pm.expect(jsonRes.Status).to.eql('success');", - "});", - "", - "pm.test(\"Participant is deleted\", function () {", - "", - " var expectedValue = true;", - " ", - " var jsonRes = pm.response.json();", - " pm.expect(jsonRes.Data).to.have.property('Deleted');", - " pm.expect(jsonRes.Data.Deleted).equals(expectedValue);", - "", - "});", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan category search results are returned', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", "" - ] + ], + "type": "text/javascript" } } ], "request": { - "method": "DELETE", + "method": "GET", "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "raw": "{{BASE_URL}}/careplan-categories/search?type=sports", "host": [ "{{BASE_URL}}" ], "path": [ - "participants", - "{{PARTICIPANT_USER_ID}}" + "careplan-categories", + "search" + ], + "query": [ + { + "key": "type", + "value": "sports" + } ] } }, "response": [] - } - ] - }, - { - "name": "File resources", - "item": [ + }, { - "name": "Upload file resources", + "name": "Update", "event": [ { "listen": "test", "script": { "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"FILE_RESOURCE_ID\", respData.Data.id);\r", - " pm.environment.set(\"FILE_RESOURCE_URL\", respData.Data.Url);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", + " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New file resource record is created', function () {\r", + "pm.test('Careplan category record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('OriginalFilename');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", - " pm.expect(jsonRes.Data).to.have.property('MimeType');\r", - " pm.expect(jsonRes.Data).to.have.property('Public');\r", - " pm.expect(jsonRes.Data).to.have.property('Size');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " \r", + " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", + " pm.expect(jsonRes.Data.Description).equals('Some other category...');\r", "});\r", "" ], "type": "text/javascript" } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var rand = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"CAREPLAN_CATEGORY\", 'Sports Rehab - ' + rand);\r", + "" + ], + "type": "text/javascript" + } } ], "request": { - "method": "POST", + "method": "PUT", "header": [ - { - "key": "Public", - "value": "true", - "type": "text" - }, - { - "key": "Authorization", - "value": "Bearer {{MODERATOR_JWT}}", - "type": "text" - }, { "key": "Content-Type", - "value": "application/octet-stream", - "type": "text" - }, - { - "key": "Filename", - "value": "2.jpg", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "Content-Length", - "value": "", + "key": "Authorization", "type": "text", - "disabled": true + "value": "Bearer {{MODERATOR_JWT}}" } ], "body": { - "mode": "formdata", - "formdata": [ - { - "key": "", - "type": "file", - "src": "2.jpg" - } - ] + "mode": "raw", + "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\",\r\n \"Description\": \"Some other category...\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/file-resources/upload", + "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "file-resources", - "upload" + "careplan-categories", + "{{CAREPLAN_CATEGORY_ID}}" ] } }, "response": [] }, { - "name": "Download", + "name": "Delete", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "pm.test(\"Request is successfull\", function () {\r", + "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", - "});" - ], - "type": "text/javascript" + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan category record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "" + ] } } ], "request": { - "method": "GET", - "header": [], + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], "url": { - "raw": "{{BASE_URL}}/file-resources/download/{{FILE_RESOURCE_ID}}", + "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "file-resources", - "download", - "{{FILE_RESOURCE_ID}}" + "careplan-categories", + "{{CAREPLAN_CATEGORY_ID}}" ] } }, "response": [] }, { - "name": "Get file resource by id", + "name": "Create again", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_CATEGORY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", "\r", - "pm.test(\"Request is successfull\", function () {\r", - " pm.response.to.have.status(200);\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(\"Get file resource metadata\", function () {\r", + "pm.test('New careplan category record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('OriginalFilename');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", - " pm.expect(jsonRes.Data).to.have.property('MimeType');\r", - " pm.expect(jsonRes.Data).to.have.property('Public');\r", - " pm.expect(jsonRes.Data).to.have.property('Size');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " \r", + " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", "});\r", "" - ] + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var rand = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"CAREPLAN_CATEGORY\", 'Sports Rehab - ' + rand);\r", + "\r", + "" + ], + "type": "text/javascript" } } ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { "key": "Authorization", - "value": "Bearer {{MODERATOR_JWT}}", - "type": "text" + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\"\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/file-resources/{{FILE_RESOURCE_ID}}", + "raw": "{{BASE_URL}}/careplan-categories", "host": [ "{{BASE_URL}}" ], "path": [ - "file-resources", - "{{FILE_RESOURCE_ID}}" + "careplan-categories" ] } }, @@ -2286,7 +3074,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2316,11 +3103,12 @@ " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -2340,7 +3128,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n\"Name\": \"Join the gym\",\r\n\"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Exercise\",\r\n \"Physical activity\"\r\n ]\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/action-plans", @@ -2384,7 +3172,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -2461,7 +3249,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/action-plans/search?version=V1", + "raw": "{{BASE_URL}}/assets/action-plans/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -2498,7 +3286,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -2511,7 +3299,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -2535,11 +3322,12 @@ " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", " pm.expect(jsonRes.Data.Description).equals('Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.');\r", " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -2559,7 +3347,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n\"Name\": \"Join the gym\",\r\n\"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-2\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/action-plans/{{ACTION_PLAN_ID}}", @@ -2615,10 +3403,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/action-plans/{{ACTION_PLAN_ID}}", "host": [ @@ -2639,7 +3423,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -2657,11 +3440,24 @@ "\r", "pm.test('New action plan record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " CountryCode \r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -2681,7 +3477,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n\"Name\": \"Join the gym\",\r\n\"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Exercise\",\r\n \"Physical activity\"\r\n ]\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/action-plans", @@ -2737,7 +3533,7 @@ " \r", " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", " " ] @@ -2760,7 +3556,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/animations", @@ -2803,7 +3599,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -2879,7 +3675,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/animations/search?version=V1", + "raw": "{{BASE_URL}}/assets/animations/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -2921,7 +3717,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -2956,7 +3752,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -2980,7 +3776,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"ANIMATION-MT-3\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", @@ -3036,10 +3832,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", "host": [ @@ -3089,7 +3881,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", " " ] @@ -3112,7 +3904,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/animations", @@ -3169,7 +3961,7 @@ " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", " \r", "});\r", "\r", @@ -3194,7 +3986,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"AppointmentType\": \"Doctor\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/appointments", @@ -3240,7 +4032,7 @@ " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", " \r", "});\r", "\r", @@ -3318,7 +4110,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/appointments/search?version=V1", + "raw": "{{BASE_URL}}/assets/appointments/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -3360,7 +4152,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -3399,7 +4191,7 @@ " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", " \r", "});\r", "\r", @@ -3424,7 +4216,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"APPOINTMENT-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"AppointmentType\": \"Doctor\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", @@ -3488,10 +4280,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", "host": [ @@ -3543,7 +4331,7 @@ " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", " \r", "});\r", "" @@ -3567,7 +4355,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"AppointmentType\": \"Doctor\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/appointments", @@ -3622,7 +4410,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -3646,7 +4434,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Summary\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/articles", @@ -3689,7 +4477,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -3765,7 +4553,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/articles/search?version=V1", + "raw": "{{BASE_URL}}/assets/articles/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -3807,7 +4595,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -3842,7 +4630,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -3866,7 +4654,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"ARTICLE-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Summary\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/articles/{{ARTICLE_ID}}", @@ -3922,10 +4710,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/articles/{{ARTICLE_ID}}", "host": [ @@ -3975,7 +4759,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -3999,7 +4783,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Summary\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/articles", @@ -4056,7 +4840,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -4080,7 +4864,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Template\": \"{}\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/assessments", @@ -4124,7 +4908,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -4200,7 +4984,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/assessments/search?version=V1", + "raw": "{{BASE_URL}}/assets/assessments/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -4242,7 +5026,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -4278,7 +5062,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -4302,7 +5086,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"ASSESSMENT-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Template\": \"{}\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/assessments/{{ASSESSMENT_ID}}", @@ -4359,10 +5143,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/assessments/{{ASSESSMENT_ID}}", "host": [ @@ -4413,7 +5193,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -4437,7 +5217,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Template\": \"{}\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/assessments", @@ -4492,7 +5272,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -4516,7 +5296,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/audio", @@ -4559,7 +5339,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -4635,7 +5415,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/audio/search?version=V1", + "raw": "{{BASE_URL}}/assets/audio/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -4677,7 +5457,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -4719,7 +5499,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -4743,7 +5523,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"AUDIO-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/audio/{{AUDIO_ID}}", @@ -4806,10 +5586,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/audio/{{AUDIO_ID}}", "host": [ @@ -4859,7 +5635,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -4883,7 +5659,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/audio", @@ -4967,7 +5743,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"BiometricsType\": \"Blood pressure\",\r\n\"MeasurementUnit\": \"mmHg\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/biometrics", @@ -5014,7 +5790,7 @@ " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "\r", "});\r", "\r", @@ -5091,7 +5867,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/biometrics/search?version=V1", + "raw": "{{BASE_URL}}/assets/biometrics/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -5138,7 +5914,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -5202,7 +5978,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"BIOMETRICS-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"BiometricsType\": \"Blood pressure\",\r\n\"MeasurementUnit\": \"mmHg\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/biometrics/{{BIOMETRICS_ID}}", @@ -5259,10 +6035,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/biometrics/{{BIOMETRICS_ID}}", "host": [ @@ -5341,7 +6113,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"BiometricsType\": \"Blood pressure\",\r\n\"MeasurementUnit\": \"mmHg\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/biometrics", @@ -5396,7 +6168,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -5420,7 +6192,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/challenges", @@ -5462,7 +6234,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -5537,7 +6309,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/challenges/search?version=V1", + "raw": "{{BASE_URL}}/assets/challenges/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -5574,7 +6346,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -5608,7 +6380,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -5632,7 +6404,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", @@ -5687,10 +6459,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", "host": [ @@ -5740,7 +6508,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -5764,7 +6532,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/challenges", @@ -5819,7 +6587,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -5843,7 +6611,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/checkups", @@ -5885,7 +6653,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -5960,7 +6728,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/checkups/search?version=V1", + "raw": "{{BASE_URL}}/assets/checkups/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -5997,7 +6765,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -6031,7 +6799,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -6055,7 +6823,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", @@ -6110,10 +6878,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", "host": [ @@ -6163,7 +6927,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -6187,7 +6951,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n\"Name\": \"Chest X-ray\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/checkups", @@ -6244,7 +7008,7 @@ " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -6268,7 +7032,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/consultations", @@ -6312,7 +7076,7 @@ " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -6387,7 +7151,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/consultations/search?version=V1", + "raw": "{{BASE_URL}}/assets/consultations/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -6429,7 +7193,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -6465,7 +7229,7 @@ " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -6489,7 +7253,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", @@ -6544,10 +7308,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", "host": [ @@ -6599,7 +7359,7 @@ " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -6623,7 +7383,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ConsultationType\": \"Tele-consultation\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/consultations", @@ -6684,7 +7444,7 @@ " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -6708,7 +7468,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/exercises", @@ -6756,7 +7516,7 @@ " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -6831,7 +7591,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/exercises/search?version=V1", + "raw": "{{BASE_URL}}/assets/exercises/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -6883,7 +7643,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -6923,7 +7683,7 @@ " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -6947,7 +7707,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", @@ -7002,10 +7762,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", "host": [ @@ -7061,7 +7817,7 @@ " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -7085,7 +7841,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"ExerciseType\": \"Aerobic\",\r\n\"IntensityLevel\": \"Moderate\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/exercises", @@ -7140,7 +7896,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -7164,7 +7920,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\", \r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/goals", @@ -7206,7 +7962,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -7281,7 +8037,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/goals/search?version=V1", + "raw": "{{BASE_URL}}/assets/goals/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -7318,7 +8074,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -7352,7 +8108,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -7376,7 +8132,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", @@ -7431,10 +8187,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", "host": [ @@ -7484,7 +8236,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -7508,7 +8260,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/goals", @@ -7562,7 +8314,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -7586,7 +8338,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/infographics", @@ -7627,7 +8379,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -7702,7 +8454,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/infographics/search?version=V1", + "raw": "{{BASE_URL}}/assets/infographics/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -7744,7 +8496,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -7777,7 +8529,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -7801,7 +8553,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", @@ -7856,10 +8608,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", "host": [ @@ -7908,7 +8656,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -7932,7 +8680,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/infographics", @@ -7987,7 +8735,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -8011,7 +8759,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/medications", @@ -8053,7 +8801,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -8128,7 +8876,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/medications/search?version=V1", + "raw": "{{BASE_URL}}/assets/medications/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -8165,7 +8913,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -8199,7 +8947,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -8223,7 +8971,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Medication adherence\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Medication adherence\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", @@ -8278,10 +9026,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", "host": [ @@ -8331,7 +9075,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -8355,7 +9099,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n\"Name\": \"Take your medication\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/medications", @@ -8414,7 +9158,7 @@ " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -8438,7 +9182,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/meditations", @@ -8484,7 +9228,7 @@ " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -8559,7 +9303,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/meditations/search?version=V1", + "raw": "{{BASE_URL}}/assets/meditations/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -8606,7 +9350,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -8644,7 +9388,7 @@ " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -8668,7 +9412,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Peaceful mind\", \"Bliss\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Tags\": [\"Peaceful mind\", \"Bliss\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", @@ -8723,10 +9467,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", "host": [ @@ -8780,7 +9520,7 @@ " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -8804,7 +9544,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n\"Name\": \"Mindfulness meditation\",\r\n\"Description\": \".....\",\r\n\"MeditationType\": \"Mindfulness\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/meditations", @@ -8861,7 +9601,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", " pm.expect(jsonRes.Data.Category).equals('Educational');\r", " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -8885,7 +9625,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/messages", @@ -8937,7 +9677,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", " pm.expect(jsonRes.Data.Category).equals('Educational');\r", " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -9020,7 +9760,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/messages/search?version=V1", + "raw": "{{BASE_URL}}/assets/messages/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -9062,7 +9802,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -9077,14 +9817,6 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", @@ -9106,7 +9838,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", " pm.expect(jsonRes.Data.Category).equals('Educational');\r", " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -9130,7 +9862,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Url\": \"https://www.appname.com/\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n\"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Url\": \"https://www.appname.com/\",\r\n\"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", @@ -9154,14 +9886,6 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", @@ -9193,10 +9917,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", "host": [ @@ -9248,7 +9968,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", " pm.expect(jsonRes.Data.Category).equals('Educational');\r", " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -9272,7 +9992,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/messages", @@ -9327,7 +10047,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -9351,7 +10071,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/nutritions", @@ -9394,7 +10114,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -9470,7 +10190,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/nutritions/search?version=V1", + "raw": "{{BASE_URL}}/assets/nutritions/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -9507,7 +10227,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -9544,7 +10264,7 @@ " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -9568,7 +10288,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Nutrients\", \"Vitamins\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Nutrients\", \"Vitamins\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", @@ -9624,10 +10344,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", "host": [ @@ -9677,7 +10393,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -9701,7 +10417,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n\"Name\": \"Breakfast\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/nutritions", @@ -9759,7 +10475,7 @@ " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", " \r", "});\r", "\r", @@ -9784,7 +10500,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/physiotherapy", @@ -9829,7 +10545,7 @@ " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", " \r", "});\r", "\r", @@ -9907,7 +10623,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/search?version=V1", + "raw": "{{BASE_URL}}/assets/physiotherapy/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -9949,7 +10665,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -9987,7 +10703,7 @@ " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", " \r", "});\r", "\r", @@ -10012,7 +10728,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Tags\": [\"Flexibility\", \"Muscle movement\", \"Post trauma recovery\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Tags\": [\"Flexibility\", \"Muscle movement\", \"Post trauma recovery\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", @@ -10069,10 +10785,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", "host": [ @@ -10124,7 +10836,7 @@ " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", " \r", "});\r", "\r", @@ -10149,7 +10861,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n\"Name\": \"Joint Flexibility\",\r\n\"Description\": \".....\",\r\n\"RecommendedDurationMin\": 20,\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/physiotherapy", @@ -10204,7 +10916,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -10228,7 +10940,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/priorities", @@ -10271,7 +10983,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -10347,7 +11059,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/priorities/search?version=V1", + "raw": "{{BASE_URL}}/assets/priorities/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -10384,7 +11096,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -10421,7 +11133,7 @@ " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -10445,7 +11157,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", @@ -10501,10 +11213,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", "host": [ @@ -10554,7 +11262,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -10578,7 +11286,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n\"Name\": \"Weight management\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/priorities", @@ -10634,7 +11342,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -10658,7 +11366,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/reflections", @@ -10708,7 +11416,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -10784,7 +11492,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reflections/search?version=V1", + "raw": "{{BASE_URL}}/assets/reflections/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -10821,7 +11529,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -10858,7 +11566,7 @@ " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -10882,7 +11590,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Reflection\", \"Retrospection\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Reflection\", \"Retrospection\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", @@ -10938,10 +11646,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", "host": [ @@ -10991,7 +11695,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -11015,7 +11719,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n\"Name\": \"Progress in the last week\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/reflections", @@ -11071,7 +11775,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -11095,7 +11799,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/reminders", @@ -11139,7 +11843,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -11215,7 +11919,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reminders/search?version=V1", + "raw": "{{BASE_URL}}/assets/reminders/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -11252,7 +11956,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -11289,7 +11993,7 @@ " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -11313,7 +12017,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Tags\": [\"Schedule\", \"Tasks\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Schedule\", \"Tasks\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", @@ -11369,10 +12073,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", "host": [ @@ -11422,7 +12122,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -11446,7 +12146,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n\"Name\": \"Take a walk\",\r\n\"Description\": \".....\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/reminders", @@ -11502,7 +12202,7 @@ " \r", " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -11526,7 +12226,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/video", @@ -11570,7 +12270,7 @@ " \r", " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -11646,7 +12346,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/video/search?version=V1", + "raw": "{{BASE_URL}}/assets/video/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -11688,7 +12388,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -11725,7 +12425,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -11749,7 +12449,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", @@ -11806,10 +12506,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", "host": [ @@ -11859,7 +12555,7 @@ " pm.expect(jsonRes.Data).to.have.property('Version');\r", " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -11883,7 +12579,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/video", @@ -11939,7 +12635,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -11963,7 +12659,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/web-links", @@ -12006,7 +12702,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -12081,7 +12777,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-links/search?version=V1", + "raw": "{{BASE_URL}}/assets/web-links/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -12123,7 +12819,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -12158,7 +12854,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -12182,7 +12878,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", @@ -12237,10 +12933,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", "host": [ @@ -12291,7 +12983,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -12315,7 +13007,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/web-links", @@ -12371,7 +13063,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -12395,7 +13087,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/web-newsfeeds", @@ -12438,7 +13130,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -12513,7 +13205,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds/search?version=V1", + "raw": "{{BASE_URL}}/assets/web-newsfeeds/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -12555,7 +13247,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -12590,7 +13282,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -12614,7 +13306,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", @@ -12669,10 +13361,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", "host": [ @@ -12723,7 +13411,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -12747,7 +13435,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n\"Name\": \"Know your condition!\",\r\n\"Description\": \"Studies confirm that working out with a partner ...\",\r\n\"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/web-newsfeeds", @@ -12803,7 +13491,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -12827,7 +13515,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n \"Word\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/word-power", @@ -12870,7 +13558,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -12945,7 +13633,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/word-power/search?version=V1", + "raw": "{{BASE_URL}}/assets/word-power/search?version=1.0", "host": [ "{{BASE_URL}}" ], @@ -12987,7 +13675,7 @@ }, { "key": "version", - "value": "V1" + "value": "1.0" } ] } @@ -13022,7 +13710,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -13046,7 +13734,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"AdditionalResources\": [\"https://en.wikipedia.org/wiki/Nutrition\", \"https://en.wikipedia.org/wiki/Micronutrient\"],\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n \"Word\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"AdditionalResources\": [\"https://en.wikipedia.org/wiki/Nutrition\", \"https://en.wikipedia.org/wiki/Micronutrient\"],\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", @@ -13101,10 +13789,6 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", "host": [ @@ -13155,7 +13839,7 @@ " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -13179,7 +13863,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n\"Word\": \"Nutrition\",\r\n\"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n\"Version\": \"V1\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n \"Word\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/word-power", @@ -13199,7 +13883,7 @@ ] }, { - "name": "Careplan category", + "name": "Care plan", "item": [ { "name": "Create", @@ -13211,7 +13895,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CAREPLAN_CATEGORY_ID\", respData.Data.id);\r", + " pm.environment.set(\"CARE_PLAN_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -13223,13 +13907,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New careplan category record is created', function () {\r", + "pm.test('New care plan record is created', function () {\r", + "\r", + " var expectedCategoryId = pm.environment.get(\"CAREPLAN_CATEGORY_ID\");\r", + "\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Type');\r", - " \r", - " pm.expect(jsonRes.Data.Type).equals('Upcoming class reminder');\r", + " pm.expect(jsonRes.Data).to.have.property('Code');\r", + " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " \r", + " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", + " pm.expect(jsonRes.Data.CategoryId).equals(expectedCategoryId);\r", + " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" @@ -13253,15 +13949,15 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"Type\": \"Upcoming class reminder\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Code\": \"REAN-Maternity-2\",\r\n \"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n \"Name\": \"Maternity Care Plan for Remote Population\",\r\n \"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n \"Tags\": [\"Maternity\",\"Child-Care\",\"Malnutrition\"],\r\n \"Version\": \"V1\"\r\n\r\n}" }, "url": { - "raw": "{{BASE_URL}}/careplan-categories", + "raw": "{{BASE_URL}}/careplans", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-categories" + "careplans" ] } }, @@ -13282,13 +13978,21 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan category record is retrived', function () {\r", + "pm.test('Care plan record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Type');\r", - " \r", - " pm.expect(jsonRes.Data.Type).equals('Upcoming class reminder');\r", + " pm.expect(jsonRes.Data).to.have.property('Code');\r", + " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " \r", + " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", + " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});" ] } @@ -13309,13 +14013,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", + "raw": "{{BASE_URL}}/careplans/{{CARE_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-categories", - "{{CAREPLAN_CATEGORY_ID}}" + "careplans", + "{{CARE_PLAN_ID}}" ] } }, @@ -13336,7 +14040,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan category search results are returned', function () {\r", + "pm.test('Careplan search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -13360,21 +14064,46 @@ } ], "url": { - "raw": "{{BASE_URL}}/careplan-categories/search?type=Upcoming class reminder", + "raw": "{{BASE_URL}}/careplans/search?version=V1", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-categories", + "careplans", "search" ], "query": [ { - "key": "type", - "value": "Upcoming class reminder" + "key": "code", + "value": "xyz", + "disabled": true + }, + { + "key": "categoryId", + "value": "xyz", + "disabled": true + }, + { + "key": "name", + "value": "xyz", + "disabled": true + }, + { + "key": "version", + "value": "V1" + }, + { + "key": "ownerUserId", + "value": "xyz", + "disabled": true + }, + { + "key": "tags", + "value": "xyz", + "disabled": true }, { - "key": "description", + "key": "isActive", "value": "xyz", "disabled": true } @@ -13391,7 +14120,6 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -13399,15 +14127,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan category record is updated', function () {\r", + "pm.test('Care plan record is updated', function () {\r", + " var expectedCategoryId = pm.environment.get(\"CAREPLAN_CATEGORY_ID\");\r", + "\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " pm.expect(jsonRes.Data).to.have.property('Code');\r", + " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " \r", - " pm.expect(jsonRes.Data.Type).equals('Upcoming class reminder');\r", - " pm.expect(jsonRes.Data.Description).equals('Notification type description');\r", + " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", + " pm.expect(jsonRes.Data.CategoryId).equals(expectedCategoryId);\r", + " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", + "\r", "" ] } @@ -13429,16 +14168,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"Type\": \"Upcoming class reminder\",\r\n\"Description\": \"Notification type description\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Code\": \"REAN-Maternity-2\",\r\n \"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n \"Name\": \"Maternity Care Plan for Remote Population\",\r\n \"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n \"Version\": \"V1\",\r\n \"Tags\": [\"Maternity\", \"Child-Care\", \"Malnutrition\"]\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", + "raw": "{{BASE_URL}}/careplans/{{CARE_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-categories", - "{{CAREPLAN_CATEGORY_ID}}" + "careplans", + "{{CARE_PLAN_ID}}" ] } }, @@ -13458,7 +14197,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan category record is deleted', function () {\r", + "pm.test('Careplan record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -13482,18 +14221,14 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", + "raw": "{{BASE_URL}}/careplans/{{CARE_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-categories", - "{{CAREPLAN_CATEGORY_ID}}" + "careplans", + "{{CARE_PLAN_ID}}" ] } }, @@ -13509,7 +14244,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CAREPLAN_CATEGORY_ID\", respData.Data.id);\r", + " pm.environment.set(\"CARE_PLAN_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -13521,13 +14256,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New careplan category record is created', function () {\r", + "pm.test('New care plan record is created', function () {\r", + " \r", + " var expectedCategoryId = pm.environment.get(\"CAREPLAN_CATEGORY_ID\");\r", + "\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Type');\r", - " \r", - " pm.expect(jsonRes.Data.Type).equals('Upcoming class reminder');\r", + " pm.expect(jsonRes.Data).to.have.property('Code');\r", + " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " \r", + " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", + " pm.expect(jsonRes.Data.CategoryId).equals(expectedCategoryId);\r", + " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", + " pm.expect(jsonRes.Data.Version).equals('V1');\r", "});\r", "\r", "" @@ -13551,15 +14298,15 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"Type\": \"Upcoming class reminder\"\r\n\r\n}\r\n" + "raw": "{\r\n\"Code\": \"REAN-Maternity-2\",\r\n\"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n\"Name\": \"Maternity Care Plan for Remote Population\",\r\n\"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n\"Tags\": [\"Maternity\",\"Child-Care\",\"Malnutrition\"],\r\n\"Version\": \"V1\"\r\n\r\n}" }, "url": { - "raw": "{{BASE_URL}}/careplan-categories", + "raw": "{{BASE_URL}}/careplans", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-categories" + "careplans" ] } }, @@ -13568,7 +14315,7 @@ ] }, { - "name": "Care plan", + "name": "Careplan schedule", "item": [ { "name": "Create", @@ -13580,7 +14327,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CARE_PLAN_ID\", respData.Data.id);\r", + " pm.environment.set(\"CAREPLAN_SCHEDULE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -13592,21 +14339,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New care plan record is created', function () {\r", + "pm.test('New careplan schedule record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"ACTION_PLAN_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Code');\r", - " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " \r", - " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", - " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", - " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.Day).equals(15);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", "});\r", "\r", "" @@ -13630,15 +14380,15 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"Code\": \"REAN-Maternity-2\",\r\n\"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n\"Name\": \"Maternity Care Plan for Remote Population\",\r\n\"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n\"Tags\": [\"Maternity\",\"Child-Care\",\"Malnutrition\"],\r\n\"Version\": \"V1\"\r\n\r\n}" + "raw": "{\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Message\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 15,\r\n \"TimeSlot\": \"Morning\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/careplans", + "raw": "{{BASE_URL}}/careplan-schedules", "host": [ "{{BASE_URL}}" ], "path": [ - "careplans" + "careplan-schedules" ] } }, @@ -13659,21 +14409,18 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Care plan record is retrived', function () {\r", + "pm.test('Careplan schedule record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Code');\r", - " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " \r", - " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", - " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", - " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.Day).equals(15);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", "});" ] } @@ -13694,13 +14441,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/careplans/{{CARE_PLAN_ID}}", + "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "careplans", - "{{CARE_PLAN_ID}}" + "careplan-schedules", + "{{CAREPLAN_SCHEDULE_ID}}" ] } }, @@ -13714,18 +14461,16 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan search results are returned', function () {\r", + "pm.test('Careplan schedule record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - "});\r", - "" + "});" ] } } @@ -13745,46 +14490,36 @@ } ], "url": { - "raw": "{{BASE_URL}}/careplans/search?version=V1", + "raw": "{{BASE_URL}}/careplan-schedules/search?assetType=Message", "host": [ "{{BASE_URL}}" ], "path": [ - "careplans", + "careplan-schedules", "search" ], "query": [ { - "key": "code", - "value": "xyz", - "disabled": true - }, - { - "key": "categoryId", - "value": "xyz", - "disabled": true - }, - { - "key": "name", + "key": "assetId", "value": "xyz", "disabled": true }, { - "key": "version", - "value": "V1" + "key": "assetType", + "value": "Message" }, { - "key": "ownerUserId", + "key": "careplanId", "value": "xyz", "disabled": true }, { - "key": "tags", + "key": "day", "value": "xyz", "disabled": true }, { - "key": "isActive", + "key": "timeSlot", "value": "xyz", "disabled": true } @@ -13801,30 +14536,25 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Care plan record is updated', function () {\r", - "var jsonRes = pm.response.json();\r", + "pm.test('Careplan schedule record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Code');\r", - " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " \r", - " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", - " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", - " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.Day).equals(15);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", "});\r", - "\r", "" ] } @@ -13846,16 +14576,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"Code\": \"REAN-Maternity-2\",\r\n\"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n\"Name\": \"Maternity Care Plan for Remote Population\",\r\n\"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n\"Version\": \"V1\",\r\n\"Tags\": [\"Maternity\", \"Child-Care\", \"Malnutrition\"]\r\n}\r\n" + "raw": "{\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Message\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 15,\r\n \"TimeSlot\": \"Morning\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/careplans/{{CARE_PLAN_ID}}", + "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "careplans", - "{{CARE_PLAN_ID}}" + "careplan-schedules", + "{{CAREPLAN_SCHEDULE_ID}}" ] } }, @@ -13875,7 +14605,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan record is deleted', function () {\r", + "pm.test('Careplan schedule record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -13899,18 +14629,14 @@ "value": "Bearer {{MODERATOR_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{BASE_URL}}/careplans/{{CARE_PLAN_ID}}", + "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "careplans", - "{{CARE_PLAN_ID}}" + "careplan-schedules", + "{{CAREPLAN_SCHEDULE_ID}}" ] } }, @@ -13926,7 +14652,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CARE_PLAN_ID\", respData.Data.id);\r", + " pm.environment.set(\"CAREPLAN_SCHEDULE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -13938,21 +14664,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New care plan record is created', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Code');\r", - " pm.expect(jsonRes.Data).to.have.property('CategoryId');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " \r", - " pm.expect(jsonRes.Data.Code).equals('REAN-Maternity-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", - " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", - " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + "pm.test('New careplan schedule record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"ACTION_PLAN_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.Day).equals(15);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", "});\r", "\r", "" @@ -13976,15 +14705,15 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"Code\": \"REAN-Maternity-2\",\r\n\"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n\"Name\": \"Maternity Care Plan for Remote Population\",\r\n\"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n\"Tags\": [\"Maternity\",\"Child-Care\",\"Malnutrition\"],\r\n\"Version\": \"V1\"\r\n\r\n}" + "raw": "{\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Message\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 15,\r\n \"TimeSlot\": \"Morning\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/careplans", + "raw": "{{BASE_URL}}/careplan-schedules", "host": [ "{{BASE_URL}}" ], "path": [ - "careplans" + "careplan-schedules" ] } }, @@ -13993,7 +14722,7 @@ ] }, { - "name": "Careplan schedule", + "name": "Enrollment", "item": [ { "name": "Create", @@ -14005,7 +14734,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CAREPLAN_SCHEDULE_ID\", respData.Data.id);\r", + " pm.environment.set(\"ENROLLMENT_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -14017,18 +14746,16 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New careplan schedule record is created', function () {\r", + "pm.test('New enrollment record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('Day');\r", - " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", - " \r", - " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", - " pm.expect(jsonRes.Data.Day).equals(15);\r", - " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", "});\r", "\r", "" @@ -14045,22 +14772,22 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"Day\": 15,\r\n\"TimeSlot\": \"Morning\"\r\n}\r\n" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/careplan-schedules", + "raw": "{{BASE_URL}}/enrollments", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-schedules" + "enrollments" ] } }, @@ -14074,26 +14801,26 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan schedule record is retrived', function () {\r", + "pm.test('Enrollment record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('Day');\r", - " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", " \r", - " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", - " pm.expect(jsonRes.Data.Day).equals(15);\r", - " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", - "});" + "\r", + "});\r", + "\r", + "" ] } } @@ -14107,19 +14834,19 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "url": { - "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", + "raw": "{{BASE_URL}}/enrollments/{{ENROLLMENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-schedules", - "{{CAREPLAN_SCHEDULE_ID}}" + "enrollments", + "{{ENROLLMENT_ID}}" ] } }, @@ -14131,6 +14858,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -14138,12 +14866,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan schedule record is retrived', function () {\r", + "pm.test('Enrollment record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - "});" - ], - "type": "text/javascript" + "});\r", + "\r", + "" + ] } } ], @@ -14156,43 +14885,33 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "url": { - "raw": "{{BASE_URL}}/careplan-schedules/search?careplanId=2", + "raw": "{{BASE_URL}}/enrollments/search?careplanId={{CARE_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-schedules", + "enrollments", "search" ], "query": [ - { - "key": "assetId", - "value": "xyz", - "disabled": true - }, - { - "key": "assetType", - "value": "Message", - "disabled": true - }, { "key": "careplanId", - "value": "2" + "value": "{{CARE_PLAN_ID}}" }, { - "key": "day", + "key": "progressStatus", "value": "xyz", "disabled": true }, { - "key": "timeSlot", - "value": "xyz", + "key": "startDate", + "value": "2022-06-29", "disabled": true } ] @@ -14214,19 +14933,18 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan schedule record is updated', function () {\r", + "pm.test('Enrollment record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('Day');\r", - " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", " \r", - " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", - " pm.expect(jsonRes.Data.Day).equals(15);\r", - " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", "});\r", + "\r", "" ] } @@ -14241,23 +14959,23 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"Day\": 15,\r\n\"TimeSlot\": \"Morning\"\r\n\r\n}\r\n" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", + "raw": "{{BASE_URL}}/enrollments/{{ENROLLMENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-schedules", - "{{CAREPLAN_SCHEDULE_ID}}" + "enrollments", + "{{ENROLLMENT_ID}}" ] } }, @@ -14277,12 +14995,11 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan schedule record is deleted', function () {\r", + "pm.test('Enrollment record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - "});\r", - "" + "});" ] } } @@ -14296,35 +15013,26 @@ "value": "application/json" }, { - "key": "Authorization", + "key": "x-api-key", "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" + "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", + "raw": "{{BASE_URL}}/enrollments/{{ENROLLMENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "careplan-schedules", - "{{CAREPLAN_SCHEDULE_ID}}" + "enrollments", + "{{ENROLLMENT_ID}}" ] } }, "response": [] - } - ] - }, - { - "name": "Enrollment", - "item": [ + }, { - "name": "Create", + "name": "Create again", "event": [ { "listen": "test", @@ -14378,7 +15086,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/enrollments", @@ -14391,92 +15099,38 @@ } }, "response": [] - }, - { - "name": "Get by id", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Enrollment record is retrived', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - "\r", - "});\r", - "\r", - "" - ] - } - } - ], - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "x-api-key", - "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" - } - ], - "url": { - "raw": "{{BASE_URL}}/enrollments/{{ENROLLMENT_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "enrollments", - "{{ENROLLMENT_ID}}" - ] - } - }, - "response": [] - }, + } + ] + }, + { + "name": "Enrollment schedule", + "item": [ { - "name": "Search with filters", + "name": "Create", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ENROLLMENT_SCHEDULE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", "\r", - "pm.test('Enrollment record is retrived', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - "});\r", + "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", "\r", - "" + "pm.test('New enrollment schedule record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", + "\r" ] } } ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", @@ -14484,42 +15138,29 @@ "value": "application/json" }, { - "key": "x-api-key", + "key": "Authorization", "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" + "value": "Bearer {{USER_JWT}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetType\": \"Message\"\r\n\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/enrollments/search?careplanId={{CARE_PLAN_ID}}", + "raw": "{{BASE_URL}}/enrollment-schedules", "host": [ "{{BASE_URL}}" ], "path": [ - "enrollments", - "search" - ], - "query": [ - { - "key": "careplanId", - "value": "{{CARE_PLAN_ID}}" - }, - { - "key": "progressStatus", - "value": "xyz", - "disabled": true - }, - { - "key": "startDate", - "value": "2022-06-29", - "disabled": true - } + "enrollment-schedules" ] } }, "response": [] }, { - "name": "Update", + "name": "Get by id", "event": [ { "listen": "test", @@ -14532,16 +15173,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Enrollment record is updated', function () {\r", + "pm.test('Enrollment schedule record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " pm.expect(jsonRes.Data).to.have.property('ScheduledDate');\r", " \r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + "\r", "});\r", "\r", "" @@ -14550,7 +15195,7 @@ } ], "request": { - "method": "PUT", + "method": "GET", "header": [ { "key": "Content-Type", @@ -14563,25 +15208,21 @@ "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" - }, "url": { - "raw": "{{BASE_URL}}/enrollments/{{ENROLLMENT_ID}}", + "raw": "{{BASE_URL}}/enrollment-schedules/{{ENROLLMENT_SCHEDULE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "enrollments", - "{{ENROLLMENT_ID}}" + "enrollment-schedules", + "{{ENROLLMENT_SCHEDULE_ID}}" ] } }, "response": [] }, { - "name": "Delete", + "name": "Search with filters", "event": [ { "listen": "test", @@ -14594,17 +15235,18 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Enrollment record is deleted', function () {\r", + "pm.test('Enrollment schedule record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - "});" + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "\r", + "" ] } } ], "request": { - "method": "DELETE", + "method": "GET", "header": [ { "key": "Content-Type", @@ -14617,64 +15259,73 @@ "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{BASE_URL}}/enrollments/{{ENROLLMENT_ID}}", + "raw": "{{BASE_URL}}/enrollment-schedules/search?assetId=xyz&assetType=xyz&careplanId=xyz&timeSlot=xyz", "host": [ "{{BASE_URL}}" ], "path": [ - "enrollments", - "{{ENROLLMENT_ID}}" + "enrollment-schedules", + "search" + ], + "query": [ + { + "key": "assetId", + "value": "xyz" + }, + { + "key": "assetType", + "value": "xyz" + }, + { + "key": "careplanId", + "value": "xyz" + }, + { + "key": "timeSlot", + "value": "xyz" + } ] } }, "response": [] }, { - "name": "Create again", + "name": "Update", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ENROLLMENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", + " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New enrollment record is created', function () {\r", + "pm.test('Enrollment schedule record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - "});\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " pm.expect(jsonRes.Data).to.have.property('ScheduledDate');\r", + " \r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", "\r", + "});\r", "" - ] + ], + "type": "text/javascript" } } ], "request": { - "method": "POST", + "method": "PUT", "header": [ { "key": "Content-Type", @@ -14682,63 +15333,53 @@ "value": "application/json" }, { - "key": "x-api-key", + "key": "Authorization", "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}\r\n" + "raw": "{\r\n\"AssetType\": \"Message\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/enrollments", + "raw": "{{BASE_URL}}/enrollment-schedules/{{ENROLLMENT_SCHEDULE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "enrollments" + "enrollment-schedules", + "{{ENROLLMENT_SCHEDULE_ID}}" ] } }, "response": [] - } - ] - }, - { - "name": "Enrollment schedule", - "item": [ + }, { - "name": "Search with filters", + "name": "Delete", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ENROLLMENT_SCHEDULE_ID\", respData.Data.Items[0].id);\r", - "}\r", "pm.test('Request is successfull', function () {\r", - "pm.globals.get(\"variable_key\");\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Enrollment schedule record is retrived', function () {\r", + "pm.test('Enrollment schedule record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - "});\r", - "\r", - "" - ], - "type": "text/javascript" + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});" + ] } } ], "request": { - "method": "GET", + "method": "DELETE", "header": [ { "key": "Content-Type", @@ -14752,54 +15393,41 @@ } ], "url": { - "raw": "{{BASE_URL}}/enrollment-schedules/search?assetType=Message", + "raw": "{{BASE_URL}}/enrollment-schedules/{{ENROLLMENT_SCHEDULE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "enrollment-schedules", - "search" - ], - "query": [ - { - "key": "assetId", - "value": "xyz", - "disabled": true - }, - { - "key": "assetType", - "value": "Message" - }, - { - "key": "careplanId", - "value": "xyz", - "disabled": true - }, - { - "key": "timeSlot", - "value": "xyz", - "disabled": true - } + "{{ENROLLMENT_SCHEDULE_ID}}" ] } }, "response": [] }, { - "name": "Get by id", + "name": "Create again", "event": [ { "listen": "test", "script": { "type": "text/javascript", "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ENROLLMENT_SCHEDULE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Enrollment schedule record is retrived', function () {\r", + "pm.test('New enrollment schedule record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", @@ -14821,7 +15449,7 @@ } ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", @@ -14834,14 +15462,17 @@ "value": "{{API_CLIENT_INTERNAL_KEY}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetType\": \"Message\"\r\n\r\n}\r\n" + }, "url": { - "raw": "{{BASE_URL}}/enrollment-schedules/{{ENROLLMENT_SCHEDULE_ID}}", + "raw": "{{BASE_URL}}/enrollment-schedules", "host": [ "{{BASE_URL}}" ], "path": [ - "enrollment-schedules", - "{{ENROLLMENT_SCHEDULE_ID}}" + "enrollment-schedules" ] } }, @@ -14861,6 +15492,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -14886,8 +15518,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -14907,15 +15538,15 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{Answer : 118 mg/dL}\"\r\n}\r\n" + "raw": "{\r\n \"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-activity-responses", + "raw": "{{BASE_URL}}/user-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses" + "user-activity-responses" ] } }, @@ -14927,6 +15558,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -14945,8 +15577,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -14965,12 +15596,12 @@ } ], "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses", + "user-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -14983,6 +15614,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -14997,8 +15629,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15017,48 +15648,38 @@ } ], "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/search?participantId={{PARTICIPANT_USER_ID}}", + "raw": "{{BASE_URL}}/user-activity-responses/search?careplanId=xyz&assetId=xyz&assetType=xyz&response=xyz&timeResponded=xyz&progressStatus=xyz", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses", + "user-activity-responses", "search" ], "query": [ { "key": "careplanId", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "assetId", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "assetType", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "response", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "timeResponded", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "progressStatus", - "value": "xyz", - "disabled": true - }, - { - "key": "participantId", - "value": "{{PARTICIPANT_USER_ID}}" + "value": "xyz" } ] } @@ -15071,6 +15692,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -15089,8 +15711,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15110,15 +15731,15 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{Answer: 99 F}\"\r\n\r\n}\r\n" + "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses", + "user-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -15131,6 +15752,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "\r", @@ -15147,8 +15769,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15166,17 +15787,13 @@ "value": "Bearer {{USER_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses", + "user-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -15189,6 +15806,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -15214,8 +15832,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15235,15 +15852,15 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"323e19fd-3858-484b-8b8a-08d9699c65b1\",\r\n\"Response\": \"{Answer : 120 mg/dL}\"\r\n}\r\n" + "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-activity-responses", + "raw": "{{BASE_URL}}/user-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses" + "user-activity-responses" ] } }, @@ -15597,10 +16214,6 @@ "value": "Bearer {{USER_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ @@ -16042,10 +16655,6 @@ "value": "Bearer {{USER_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", "host": [ @@ -16469,10 +17078,6 @@ "value": "Bearer {{USER_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ diff --git a/src/api/api.client/api.client.controller.delegate.ts b/src/api/api.client/api.client.controller.delegate.ts index ecb22e6..40635a1 100644 --- a/src/api/api.client/api.client.controller.delegate.ts +++ b/src/api/api.client/api.client.controller.delegate.ts @@ -238,10 +238,10 @@ export class ApiClientControllerDelegate { ClientName : record.ClientName, ClientCode : record.ClientCode, IsPrivileged : record.IsPrivileged, + IsActive : record.IsActive, CountryCode : record.CountryCode, Phone : record.Phone, Email : record.Email, - ApiKey : record.ApiKey, ValidFrom : record.ValidFrom, ValidTill : record.ValidTill }; diff --git a/src/api/careplan/careplan.category/careplan.category.controller.delegate.ts b/src/api/careplan/careplan.category/careplan.category.controller.delegate.ts index f924d5b..b03bf06 100644 --- a/src/api/careplan/careplan.category/careplan.category.controller.delegate.ts +++ b/src/api/careplan/careplan.category/careplan.category.controller.delegate.ts @@ -25,6 +25,10 @@ export class CareplanCategoryControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); + var exists = await this._service.existsByName(requestBody.Type); + if (exists) { + ErrorHandler.throwConflictError(`Category with same name exists!`); + } var createModel: CareplanCategoryCreateModel = this.getCreateModel(requestBody); const record: CareplanCategoryDto = await this._service.create(createModel); if (record === null) { diff --git a/src/api/enrollment/participant/participant.controller.delegate.ts b/src/api/enrollment/participant/participant.controller.delegate.ts index d9f96a3..64d2435 100644 --- a/src/api/enrollment/participant/participant.controller.delegate.ts +++ b/src/api/enrollment/participant/participant.controller.delegate.ts @@ -32,16 +32,16 @@ export class ParticipantControllerDelegate { const birthDate = requestBody.BirthDate ? Date.parse(requestBody.BirthDate) : null; const participantCreateModel: ParticipantModel = { - Prefix : requestBody.Prefix ? requestBody.Prefix : 'Mr', - FirstName : requestBody.FirstName ? requestBody.FirstName : null, - LastName : requestBody.LastName ? requestBody.LastName : null, - CountryCode : requestBody.CountryCode ? requestBody.CountryCode : '+91', - Phone : requestBody.Phone ? requestBody.Phone : null, - Email : requestBody.Email ? requestBody.Email : null, - Country : requestBody.Country ? requestBody.Country : null, - SystemId : requestBody.SystemId ? requestBody.SystemId : null, - Gender : requestBody.Gender ? requestBody.Gender : 'Male', - BirthDate : new Date(birthDate), + Prefix : requestBody.Prefix ? requestBody.Prefix : 'Mr', + FirstName : requestBody.FirstName ? requestBody.FirstName : null, + LastName : requestBody.LastName ? requestBody.LastName : null, + CountryCode : requestBody.CountryCode ? requestBody.CountryCode : '+91', + Phone : requestBody.Phone ? requestBody.Phone : null, + Email : requestBody.Email ? requestBody.Email : null, + Country : requestBody.Country ? requestBody.Country : null, + ParticipantReferenceId : requestBody.ParticipantReferenceId ? requestBody.ParticipantReferenceId : null, + Gender : requestBody.Gender ? requestBody.Gender : 'Male', + BirthDate : new Date(birthDate), }; await UserHelper.getValidParticipantCreateModel(requestBody); @@ -113,9 +113,9 @@ export class ParticipantControllerDelegate { if (lastName != null) { filters['LastName'] = lastName; } - var systemId = query.systemId ? query.systemId : null; - if (systemId != null) { - filters['SystemId'] = systemId; + var participantReferenceId = query.participantReferenceId ? query.participantReferenceId : null; + if (participantReferenceId != null) { + filters['ParticipantReferenceId'] = participantReferenceId; } var gender = query.gender ? query.gender : null; if (gender != null) { @@ -143,20 +143,20 @@ export class ParticipantControllerDelegate { return null; } return { - id : record.id, - DisplayId : record.DisplayId, - Prefix : record.Prefix, - FirstName : record.FirstName, - LastName : record.LastName, - SystemId : record.SystemId, - CountryCode : record.CountryCode, - Phone : record.Phone, - Email : record.Email, - Gender : record.Gender, - BirthDate : record.BirthDate, - Country : record.Country, - AddedByUserId : record.AddedByUserId, - LastUpdatedByUserId : record.LastUpdatedByUserId + id : record.id, + DisplayId : record.DisplayId, + Prefix : record.Prefix, + FirstName : record.FirstName, + LastName : record.LastName, + ParticipantReferenceId : record.ParticipantReferenceId, + CountryCode : record.CountryCode, + Phone : record.Phone, + Email : record.Email, + Gender : record.Gender, + BirthDate : record.BirthDate, + Country : record.Country, + AddedByUserId : record.AddedByUserId, + LastUpdatedByUserId : record.LastUpdatedByUserId }; } @@ -167,18 +167,18 @@ export class ParticipantControllerDelegate { return null; } return { - id : record.id, - DisplayId : record.DisplayId, - Prefix : record.Prefix, - FirstName : record.FirstName, - LastName : record.LastName, - CountryCode : record.CountryCode, - Phone : record.Phone, - Email : record.Email, - SystemId : record.SystemId, - Gender : record.Gender, - BirthDate : record.BirthDate, - Country : record.Country, + id : record.id, + DisplayId : record.DisplayId, + Prefix : record.Prefix, + FirstName : record.FirstName, + LastName : record.LastName, + CountryCode : record.CountryCode, + Phone : record.Phone, + Email : record.Email, + ParticipantReferenceId : record.ParticipantReferenceId, + Gender : record.Gender, + BirthDate : record.BirthDate, + Country : record.Country, }; } diff --git a/src/api/enrollment/participant/participant.validator.ts b/src/api/enrollment/participant/participant.validator.ts index 4a2d05f..7cf27f4 100644 --- a/src/api/enrollment/participant/participant.validator.ts +++ b/src/api/enrollment/participant/participant.validator.ts @@ -8,16 +8,16 @@ export class ParticipantValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - Prefix : joi.string().max(16).optional(), - FirstName : joi.string().max(64).required(), - LastName : joi.string().max(64).required(), - CountryCode : joi.string().max(10).required(), - Phone : joi.string().max(16).min(6).required(), - Email : joi.string().max(256).required(), - SystemId : joi.string().max(256).optional(), - Gender : joi.string().valid("Male", "Female", "Other").required(), - BirthDate : joi.string().optional(), - Country : joi.string().max(64).optional() + Prefix : joi.string().max(16).optional(), + FirstName : joi.string().max(64).required(), + LastName : joi.string().max(64).required(), + CountryCode : joi.string().max(10).required(), + Phone : joi.string().max(16).min(6).required(), + Email : joi.string().max(256).required(), + ParticipantReferenceId : joi.string().max(256).optional(), + Gender : joi.string().valid("Male", "Female", "Other").required(), + BirthDate : joi.string().optional(), + Country : joi.string().max(64).optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -28,15 +28,15 @@ export class ParticipantValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - systemId : joi.string().max(256).optional(), - prefix : joi.string().max(16).optional(), - firstName : joi.string().max(64).optional(), - lastName : joi.string().max(64).optional(), - phone : joi.string().max(16).min(6).optional(), - email : joi.string().max(256).optional(), - gender : joi.string().valid("Male", "Female", "Other").optional(), - country : joi.string().max(64).optional(), - addedByUserId : joi.string().guid({ + participantReferenceId : joi.string().max(256).optional(), + prefix : joi.string().max(16).optional(), + firstName : joi.string().max(64).optional(), + lastName : joi.string().max(64).optional(), + phone : joi.string().max(16).min(6).optional(), + email : joi.string().max(256).optional(), + gender : joi.string().valid("Male", "Female", "Other").optional(), + country : joi.string().max(64).optional(), + addedByUserId : joi.string().guid({ version : ['uuidv4'] }).optional(), lastUpdatedByUserId : joi.string().guid({ @@ -53,14 +53,14 @@ export class ParticipantValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - FirstName : joi.string().max(64).optional(), - LastName : joi.string().max(64).optional(), - CountryCode : joi.string().max(10).optional(), - Phone : joi.string().max(16).min(6).optional(), - Email : joi.string().max(256).optional(), - SystemId : joi.string().max(256).optional(), - Gender : joi.string().valid("Male", "Female", "Other").optional(), - Country : joi.string().max(64).optional(), + FirstName : joi.string().max(64).optional(), + LastName : joi.string().max(64).optional(), + CountryCode : joi.string().max(10).optional(), + Phone : joi.string().max(16).min(6).optional(), + Email : joi.string().max(256).optional(), + ParticipantReferenceId : joi.string().max(256).optional(), + Gender : joi.string().valid("Male", "Female", "Other").optional(), + Country : joi.string().max(64).optional(), }); return await schema.validateAsync(requestBody); } catch (error) { diff --git a/src/api/file.resource/file.resource.controller.delegate.ts b/src/api/file.resource/file.resource.controller.delegate.ts index 937fc6d..8c0c2ab 100644 --- a/src/api/file.resource/file.resource.controller.delegate.ts +++ b/src/api/file.resource/file.resource.controller.delegate.ts @@ -120,6 +120,7 @@ export class FileResourceControllerDelegate { MimeType : record.MimeType, Public : record.Public, OriginalFilename : record.OriginalFilename, + Url : process.env.BASE_URL + `/api/v1/file-resources/download/${record.id}?disposition=attachment`, Tags : record.Tags ? JSON.parse(record.Tags) : [], Size : record.Size, UserId : record.UserId, diff --git a/src/api/types/types.controller.ts b/src/api/types/types.controller.ts index fefc4f4..4228d0e 100644 --- a/src/api/types/types.controller.ts +++ b/src/api/types/types.controller.ts @@ -1,8 +1,9 @@ import express from 'express'; import { ResponseHandler } from '../../common/response.handler'; import { ErrorHandler } from '../../common/error.handler'; -import { TypesControllerDelegate } from './types.controller.delegate'; import { BaseController } from '../base.controller'; +import { RoleService } from '../../database/repository.services/role.service'; +import { CareplanCategoryService } from '../../database/repository.services/careplan/careplan.category.service'; /////////////////////////////////////////////////////////////////////////////////////// @@ -10,11 +11,14 @@ export class TypesController extends BaseController { //#region member variables and constructors - _delegate: TypesControllerDelegate = null; + _roleService: RoleService = null; + + _careplanCategoryService: CareplanCategoryService = null; constructor() { super(); - this._delegate = new TypesControllerDelegate(); + this._roleService = new RoleService(); + this._careplanCategoryService = new CareplanCategoryService(); } //#endregion @@ -25,7 +29,7 @@ export class TypesController extends BaseController { try { await this.authorize('Types.GetRoleTypes', request, response, false); - const types = await this._delegate.getRoleTypes(); + const types = await this._roleService.getAllRoles(); if (types === null || types.length === 0) { ErrorHandler.throwInternalServerError(`Unable to retrieve user role types!`); } @@ -47,6 +51,19 @@ export class TypesController extends BaseController { } }; + getCareplanCategories = async (request: express.Request, response: express.Response): Promise => { + try { + await this.authorize('Types.GetCareplanCategories', request, response, false); + const categories = await this._careplanCategoryService.getCareplanCategories(); + ResponseHandler.success(request, response, 'Careplan categories retrieved successfully!', 200, { + CareplanCategories : categories, + }); + + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + }; + // getPriorityTypes = async (request: express.Request, response: express.Response): Promise => { // try { // await this.setContext('HealthPriority.GetPrioritiesTypes', request, response); diff --git a/src/api/types/types.routes.ts b/src/api/types/types.routes.ts index c9d3d43..cbc9049 100644 --- a/src/api/types/types.routes.ts +++ b/src/api/types/types.routes.ts @@ -11,6 +11,7 @@ export const register = (app: express.Application): void => { const controller = new TypesController(); router.get('/roles', controller.getRoleTypes); + router.get('/careplan-categories', controller.getCareplanCategories); app.use('/api/v1/types', router); }; diff --git a/src/api/user.helper.ts b/src/api/user.helper.ts index 10d59c2..ebdd256 100644 --- a/src/api/user.helper.ts +++ b/src/api/user.helper.ts @@ -136,8 +136,8 @@ export class UserHelper { } updateModel.Email = requestBody.Email; } - if (Helper.hasProperty(requestBody, 'SystemId')) { - updateModel.SystemId = requestBody.SystemId; + if (Helper.hasProperty(requestBody, 'ParticipantReferenceId')) { + updateModel.ParticipantReferenceId = requestBody.ParticipantReferenceId; } if (Helper.hasProperty(requestBody, 'Gender')) { updateModel.Gender = requestBody.Gender; diff --git a/src/database/mappers/enrollment/participant.mapper.ts b/src/database/mappers/enrollment/participant.mapper.ts index ac3a21b..c111ae2 100644 --- a/src/database/mappers/enrollment/participant.mapper.ts +++ b/src/database/mappers/enrollment/participant.mapper.ts @@ -19,7 +19,7 @@ export class ParticipantMapper { CountryCode : enrollment.CountryCode, Phone : enrollment.Phone, Email : enrollment.Email, - SystemId : enrollment.SystemId, + ParticipantReferenceId : enrollment.ParticipantReferenceId, Gender : enrollment.Gender, BirthDate : enrollment.BirthDate, Country : enrollment.Country diff --git a/src/database/models/api.client.model.ts b/src/database/models/api.client.model.ts index a3e04d3..d377525 100644 --- a/src/database/models/api.client.model.ts +++ b/src/database/models/api.client.model.ts @@ -42,6 +42,11 @@ export class ApiClientModel { type : DataTypes.STRING(512), allowNull : true }, + IsPrivileged : { + type : DataTypes.BOOLEAN, + allowNull : false, + defaultValue : false + }, ApiKey : { type : DataTypes.STRING(256), allowNull : false diff --git a/src/database/models/enrollment/participant.model.ts b/src/database/models/enrollment/participant.model.ts index b378745..2eae885 100644 --- a/src/database/models/enrollment/participant.model.ts +++ b/src/database/models/enrollment/participant.model.ts @@ -50,7 +50,7 @@ export class ParticipantModel { type : DataTypes.STRING(256), allowNull : false }, - SystemId : { + ParticipantReferenceId : { type : DataTypes.STRING(64), allowNull : true }, diff --git a/src/database/repository.services/api.client.service.ts b/src/database/repository.services/api.client.service.ts index 6563ff5..7980563 100644 --- a/src/database/repository.services/api.client.service.ts +++ b/src/database/repository.services/api.client.service.ts @@ -17,14 +17,15 @@ export class ApiClientService { create = async (clientDomainModel: ApiClientCreateModel): Promise => { try { const entity = { - ClientName : clientDomainModel.ClientName, - ClientCode : clientDomainModel.ClientCode, - Phone : clientDomainModel.Phone, - Email : clientDomainModel.Email, - Password : clientDomainModel.Password ?? null, - ApiKey : clientDomainModel.ApiKey ?? apikeyGenerator.default.create().apiKey, - ValidFrom : clientDomainModel.ValidFrom ?? null, - ValidTill : clientDomainModel.ValidTill ?? null, + ClientName : clientDomainModel.ClientName, + ClientCode : clientDomainModel.ClientCode, + IsPrivileged : clientDomainModel.IsPrivileged, + Phone : clientDomainModel.Phone, + Email : clientDomainModel.Email, + Password : clientDomainModel.Password ?? null, + ApiKey : clientDomainModel.ApiKey ?? apikeyGenerator.default.create().apiKey, + ValidFrom : clientDomainModel.ValidFrom ?? null, + ValidTill : clientDomainModel.ValidTill ?? null, }; entity.Password = Helper.hash(clientDomainModel.Password); const client = await this.ApiClient.create(entity); @@ -219,9 +220,15 @@ export class ApiClientService { if (clientDomainModel.Phone != null) { client.Phone = clientDomainModel.Phone; } + if (clientDomainModel.IsPrivileged != null) { + client.IsPrivileged = clientDomainModel.IsPrivileged; + } if (clientDomainModel.Email != null) { client.Email = clientDomainModel.Email; } + if (clientDomainModel.ValidFrom != null) { + client.ValidFrom = clientDomainModel.ValidFrom; + } if (clientDomainModel.ValidTill != null) { client.ValidTill = clientDomainModel.ValidTill; } @@ -261,7 +268,7 @@ export class ApiClientService { Email : client.Email, IsActive : active, CountryCode : client.CountryCode, - IsPrivileged : false + IsPrivileged : client.IsPrivileged, }; return dto; } diff --git a/src/database/repository.services/careplan/careplan.category.service.ts b/src/database/repository.services/careplan/careplan.category.service.ts index 5029ab9..969c419 100644 --- a/src/database/repository.services/careplan/careplan.category.service.ts +++ b/src/database/repository.services/careplan/careplan.category.service.ts @@ -2,6 +2,8 @@ import { CareplanCategoryModel } from '../../models/careplan/careplan.category.m import { ErrorHandler } from '../../../common/error.handler'; import { CareplanCategoryCreateModel } from '../../../domain.types/careplan/careplan.category.domain.types'; import { CareplanCategoryDto, CareplanCategorySearchFilters, CareplanCategorySearchResults } from '../../../domain.types/careplan/careplan.category.domain.types'; +import { Op } from 'sequelize'; +import sequelize from 'sequelize'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -23,10 +25,7 @@ export class CareplanCategoryService { var record = await this.CareplanCategory.findOne({ where : { id : id - }, - include : [ - - ] + } }); return record; } catch (error) { @@ -43,6 +42,27 @@ export class CareplanCategoryService { } } + existsByName = async (typeName): Promise < boolean > => { + try { + const record = await this.CareplanCategory.findOne({ + where : sequelize.where(sequelize.fn('lower', sequelize.col('Type')), sequelize.fn('lower', typeName)) + }); + return record !== null; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of careplan category!', error); + } + } + + getCareplanCategories = async (): Promise < string[] > => { + try { + const records = await this.CareplanCategory.findAll(); + var categories = records.map(x => x.Type).sort(); + return categories; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to find careplan categories!', error); + } + } + search = async (filters: CareplanCategorySearchFilters): Promise < CareplanCategorySearchResults > => { try { @@ -52,7 +72,9 @@ export class CareplanCategoryService { }; if (filters.Type) { - search.where['Type'] = filters.Type; + search.where['Type'] = { + [Op.like] : '%' + filters.Type + '%' + }; } //Sorting @@ -117,7 +139,7 @@ export class CareplanCategoryService { throw new Error('Unable to update careplan category!'); } } - return await exports.getById(id); + return await this.getById(id); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update careplan category!', error); } diff --git a/src/database/repository.services/enrollment/participant.service.ts b/src/database/repository.services/enrollment/participant.service.ts index 975eb9f..919ea87 100644 --- a/src/database/repository.services/enrollment/participant.service.ts +++ b/src/database/repository.services/enrollment/participant.service.ts @@ -63,9 +63,9 @@ export class ParticipantService { [Op.like] : '%' + filters.LastName + '%' }; } - if (filters.SystemId) { - search.where['SystemId'] = { - [Op.like] : '%' + filters.SystemId + '%' + if (filters.ParticipantReferenceId) { + search.where['ParticipantReferenceId'] = { + [Op.like] : '%' + filters.ParticipantReferenceId + '%' }; } if (filters.Gender) { diff --git a/src/domain.types/enrollment/participant.domain.types.ts b/src/domain.types/enrollment/participant.domain.types.ts index 07908fb..e8fcef6 100644 --- a/src/domain.types/enrollment/participant.domain.types.ts +++ b/src/domain.types/enrollment/participant.domain.types.ts @@ -8,7 +8,7 @@ export interface ParticipantModel { CountryCode: string; Phone : string; Email : string; - SystemId? : string; + ParticipantReferenceId? : string; Gender : Gender; BirthDate : Date; Country? : string; @@ -23,7 +23,7 @@ export interface ParticipantDto { CountryCode: string; Phone : string; Email : string; - SystemId : string; + ParticipantReferenceId : string; Gender : Gender; BirthDate : Date; Country : string; @@ -34,7 +34,7 @@ export interface ParticipantSearchFilters extends BaseSearchFilters { LastName? : string; Phone? : string; Email? : string; - SystemId? : string; + ParticipantReferenceId? : string; DisplayId?: number; } diff --git a/src/startup/seeder.ts b/src/startup/seeder.ts index e1ff746..7d9bbfe 100644 --- a/src/startup/seeder.ts +++ b/src/startup/seeder.ts @@ -8,6 +8,7 @@ import { UserRoleService } from '../database/repository.services/user/user.role. import { RolePrivilegeService } from '../database/repository.services/role.privilege.service'; import { UserService } from '../database/repository.services/user/user.service'; import { ApiClientService } from '../database/repository.services/api.client.service'; +import { CareplanCategoryService } from '../database/repository.services/careplan/careplan.category.service'; import { RoleList } from '../domain.types/miscellaneous/role.types'; import { UserCreateModel } from "../domain.types/user/user.domain.types"; import { Gender } from "../domain.types/miscellaneous/system.types"; @@ -27,6 +28,8 @@ export class Seeder { _userRoleService: UserRoleService = new UserRoleService(); + _careplanCategoryService: CareplanCategoryService = new CareplanCategoryService(); + // _fileResourceService: FileResourceService = null; public seed = async (): Promise => { @@ -36,6 +39,7 @@ export class Seeder { await this.seedRolePrivileges(); await this.seedInternalClients(); await this.seedDefaultUsers(); + await this.seedDefaultCareplanCategories(); } catch (error) { Logger.instance().log(error.message); } @@ -164,4 +168,33 @@ export class Seeder { Logger.instance().log('Seeded default roles successfully!'); }; + private seedDefaultCareplanCategories = async () => { + + const defaultCareplanCategories = [ + { + Type : "Heart", + Description : "Category representing all heart related careplans" + }, + { + Type : "Maternity and Neonatal", + Description : "Category representing all maternity and neonatal related careplans" + }, + { + Type : "Post Injury Rehab", + Description : "Category representing all careplans which involve rehabilitation post injury/trauma." + }, + ]; + + for await (var cc of defaultCareplanCategories) { + + var exists = await this._careplanCategoryService.existsByName(cc.Type); + if (exists) { + continue; + } + await this._careplanCategoryService.create(cc); + } + + Logger.instance().log('Seeded default careplan categories successfully!'); + }; + } From c849294b2d81b16add969ce22472579d87398a22 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Fri, 29 Jul 2022 16:59:48 +0530 Subject: [PATCH 021/169] Fixed participant selected priority pipeline --- ...t.selected.priority.controller.delegate.ts | 224 ++++++++++++++++++ ...rticipant.selected.priority.controller.ts} | 32 +-- .../participant.selected.priority.routes.ts | 24 ++ ...articipant.selected.priority.validator.ts} | 35 ++- ...r.selected.priority.controller.delegate.ts | 196 --------------- .../user.selected.priority.routes.ts | 24 -- .../participant.selected.priorityl.mapper.ts | 29 +++ .../user.selected.priorityl.mapper.ts | 27 --- ...=> participant.selected.priority.model.ts} | 42 ++-- ... participant.selected.priority.service.ts} | 97 +++++--- ...ticipant.selected.priority.domain.types.ts | 58 +++++ .../user.selected.priority.domain.types.ts | 48 ---- src/startup/router.ts | 4 +- 13 files changed, 465 insertions(+), 375 deletions(-) create mode 100644 src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts rename src/api/user.responses/{user.selected.priority/user.selected.priority.controller.ts => participant.selected.priority/participant.selected.priority.controller.ts} (64%) create mode 100644 src/api/user.responses/participant.selected.priority/participant.selected.priority.routes.ts rename src/api/user.responses/{user.selected.priority/user.selected.priority.validator.ts => participant.selected.priority/participant.selected.priority.validator.ts} (53%) delete mode 100644 src/api/user.responses/user.selected.priority/user.selected.priority.controller.delegate.ts delete mode 100644 src/api/user.responses/user.selected.priority/user.selected.priority.routes.ts create mode 100644 src/database/mappers/user.responses/participant.selected.priorityl.mapper.ts delete mode 100644 src/database/mappers/user.responses/user.selected.priorityl.mapper.ts rename src/database/models/user.responses/{user.selected.priority.model.ts => participant.selected.priority.model.ts} (62%) rename src/database/repository.services/user.responses/{user.selected.priority.service.ts => participant.selected.priority.service.ts} (64%) create mode 100644 src/domain.types/user.responses/participant.selected.priority.domain.types.ts delete mode 100644 src/domain.types/user.responses/user.selected.priority.domain.types.ts diff --git a/src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts b/src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts new file mode 100644 index 0000000..0c6fceb --- /dev/null +++ b/src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts @@ -0,0 +1,224 @@ +import { + ParticipantSelectedPriorityService +} from '../../../database/repository.services/user.responses/participant.selected.priority.service'; +import { + ErrorHandler +} from '../../../common/error.handler'; +import { + Helper +} from '../../../common/helper'; +import { + ApiError +} from '../../../common/api.error'; +import { + ParticipantSelectedPriorityValidator as validator +} from './participant.selected.priority.validator'; +import { + uuid +} from '../../../domain.types/miscellaneous/system.types'; +import { + ParticipantSelectedPriorityCreateModel, + ParticipantSelectedPriorityUpdateModel, + ParticipantSelectedPrioritySearchFilters, + ParticipantSelectedPrioritySearchResults +} from '../../../domain.types/user.responses/participant.selected.priority.domain.types'; +import { CareplanService } from '../../../database/repository.services/careplan/careplan.service'; + +/////////////////////////////////////////////////////////////////////////////////////// + +export class ParticipantSelectedPriorityControllerDelegate { + + //#region member variables and constructors + + _service: ParticipantSelectedPriorityService = null; + + _careplanService: CareplanService = null; + + constructor() { + this._service = new ParticipantSelectedPriorityService(); + this._careplanService = new CareplanService(); + } + + //#endregion + + create = async (requestBody: any) => { + await validator.validateCreateRequest(requestBody); + const careplan = await this._careplanService.getById(requestBody.CareplanId); + var createModel: ParticipantSelectedPriorityCreateModel = this.getCreateModel(requestBody, careplan); + const record = await this._service.create(createModel); + if (record === null) { + throw new ApiError('Unable to create participant selected priority!', 400); + } + return this.getEnrichedDto(record); + } + + getById = async (id: uuid) => { + const record = await this._service.getById(id); + if (record === null) { + ErrorHandler.throwNotFoundError('Participant selected priority with id ' + id.toString() + ' cannot be found!'); + } + return this.getEnrichedDto(record); + } + + search = async (query: any) => { + await validator.validateSearchRequest(query); + var filters: ParticipantSelectedPrioritySearchFilters = this.getSearchFilters(query); + var searchResults: ParticipantSelectedPrioritySearchResults = await this._service.search(filters); + var items = searchResults.Items.map(x => this.getSearchDto(x)); + searchResults.Items = items; + return searchResults; + } + + update = async (id: uuid, requestBody: any) => { + await validator.validateUpdateRequest(requestBody); + const record = await this._service.getById(id); + if (record === null) { + ErrorHandler.throwNotFoundError('Participant selected priority with id ' + id.toString() + ' cannot be found!'); + } + const updateModel: ParticipantSelectedPriorityUpdateModel = this.getUpdateModel(requestBody); + const updated = await this._service.update(id, updateModel); + if (updated == null) { + throw new ApiError('Unable to update participant selected priority!', 400); + } + return this.getEnrichedDto(updated); + } + + delete = async (id: uuid) => { + const record = await this._service.getById(id); + if (record == null) { + ErrorHandler.throwNotFoundError('Participant selected priority with id ' + id.toString() + ' cannot be found!'); + } + const participantSelectedPriorityDeleted: boolean = await this._service.delete(id); + return { + Deleted : participantSelectedPriorityDeleted + }; + } + + /////////////////////////////////////////////////////////////////////////////////////////////// + + //#region Privates + + getSearchFilters = (query) => { + + var filters = {}; + + var enrollmentId = query.enrollmentId ? query.enrollmentId : null; + if (enrollmentId != null) { + filters['EnrollmentId'] = enrollmentId; + } + var participantId = query.participantId ? query.participantId : null; + if (participantId != null) { + filters['ParticipantId'] = participantId; + } + var name = query.name ? query.name : null; + if (name != null) { + filters['Name'] = name; + } + var description = query.description ? query.description : null; + if (description != null) { + filters['Description'] = description; + } + var careplanId = query.careplanId ? query.careplanId : null; + if (careplanId != null) { + filters['CareplanId'] = careplanId; + } + var assetId = query.assetId ? query.assetId : null; + if (assetId != null) { + filters['AssetId'] = assetId; + } + var assetType = query.assetType ? query.assetType : null; + if (assetType != null) { + filters['AssetType'] = assetType; + } + var assetCode = query.assetCode ? query.assetCode : null; + if (assetCode != null) { + filters['AssetCode'] = assetCode; + } + var startDate = query.startDate ? query.startDate : null; + if (startDate != null) { + filters['StartDate'] = startDate; + } + + return filters; + } + + getUpdateModel = (requestBody): ParticipantSelectedPriorityUpdateModel => { + + const updateModel: ParticipantSelectedPriorityUpdateModel = {}; + + if (Helper.hasProperty(requestBody, 'Name')) { + updateModel.Name = requestBody.Name; + } + if (Helper.hasProperty(requestBody, 'Description')) { + updateModel.Description = requestBody.Description; + } + if (Helper.hasProperty(requestBody, 'EnrollmentId')) { + updateModel.EnrollmentId = requestBody.EnrollmentId; + } + if (Helper.hasProperty(requestBody, 'ParticipantId')) { + updateModel.ParticipantId = requestBody.ParticipantId; + } + if (Helper.hasProperty(requestBody, 'CareplanId')) { + updateModel.CareplanId = requestBody.CareplanId; + } + if (Helper.hasProperty(requestBody, 'StartDate')) { + updateModel.StartDate = requestBody.StartDate; + } + + return updateModel; + } + + getCreateModel = (requestBody, careplan): ParticipantSelectedPriorityCreateModel => { + return { + Name : requestBody.Name ? requestBody.Name : null, + Description : requestBody.Description ? requestBody.Description : null, + EnrollmentId : requestBody.EnrollmentId ? requestBody.EnrollmentId : null, + ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, + CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, + AssetId : careplan.AssetId ? careplan.AssetId : null, + AssetType : careplan.AssetType ? careplan.AssetType : null, + AssetCode : careplan.AssetCode ? careplan.AssetCode : null, + StartDate : requestBody.StartDate ? requestBody.StartDate : null + }; + } + + getEnrichedDto = (record) => { + if (record == null) { + return null; + } + return { + id : record.id, + Name : record.Name, + Description : record.Description, + EnrollmentId : record.EnrollmentId, + ParticipantId : record.ParticipantId, + CareplanId : record.CareplanId, + AssetId : record.AssetId, + AssetType : record.AssetType, + AssetCode : record.AssetCode, + StartDate : record.StartDate + }; + } + + getSearchDto = (record) => { + if (record == null) { + return null; + } + return { + id : record.id, + Name : record.Name, + Description : record.Description, + EnrollmentId : record.EnrollmentId, + ParticipantId : record.ParticipantId, + CareplanId : record.CareplanId, + AssetId : record.AssetId, + AssetType : record.AssetType, + AssetCode : record.AssetCode, + StartDate : record.StartDate + }; + } + + //#endregion + +} +/////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/api/user.responses/user.selected.priority/user.selected.priority.controller.ts b/src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.ts similarity index 64% rename from src/api/user.responses/user.selected.priority/user.selected.priority.controller.ts rename to src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.ts index 7b9166b..d8f93ae 100644 --- a/src/api/user.responses/user.selected.priority/user.selected.priority.controller.ts +++ b/src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.ts @@ -3,32 +3,32 @@ import { ResponseHandler } from '../../../common/response.handler'; import { - UserSelectedPriorityControllerDelegate -} from './user.selected.priority.controller.delegate'; + ParticipantSelectedPriorityControllerDelegate +} from './participant.selected.priority.controller.delegate'; import { BaseController } from '../../base.controller'; /////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedPriorityController extends BaseController { +export class ParticipantSelectedPriorityController extends BaseController { //#region member variables and constructors - _delegate: UserSelectedPriorityControllerDelegate = null; + _delegate: ParticipantSelectedPriorityControllerDelegate = null; constructor() { super(); - this._delegate = new UserSelectedPriorityControllerDelegate(); + this._delegate = new ParticipantSelectedPriorityControllerDelegate(); } //#endregion create = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedPriority.Create', request, response); + await this.authorize('ParticipantSelectedPriority.Create', request, response, false); const record = await this._delegate.create(request.body); - const message = 'User selected priority added successfully!'; + const message = 'Participant selected priority added successfully!'; ResponseHandler.success(request, response, message, 201, record); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -37,9 +37,9 @@ export class UserSelectedPriorityController extends BaseController { getById = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedPriority.GetById', request, response); + await this.authorize('ParticipantSelectedPriority.GetById', request, response, false); const record = await this._delegate.getById(request.params.id); - const message = 'User selected priority retrieved successfully!'; + const message = 'Participant selected priority retrieved successfully!'; ResponseHandler.success(request, response, message, 200, record); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -48,9 +48,9 @@ export class UserSelectedPriorityController extends BaseController { search = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedPriority.Search', request, response); + await this.authorize('ParticipantSelectedPriority.Search', request, response, false); const searchResults = await this._delegate.search(request.query); - const message = 'User selected priority records retrieved successfully!'; + const message = 'Participant selected priority records retrieved successfully!'; ResponseHandler.success(request, response, message, 200, searchResults); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -59,9 +59,9 @@ export class UserSelectedPriorityController extends BaseController { update = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedPriority.Update', request, response); + await this.authorize('ParticipantSelectedPriority.Update', request, response, false); const updatedRecord = await this._delegate.update(request.params.id, request.body); - const message = 'User selected priority updated successfully!'; + const message = 'Participant selected priority updated successfully!'; ResponseHandler.success(request, response, message, 200, updatedRecord); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -70,13 +70,13 @@ export class UserSelectedPriorityController extends BaseController { delete = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedPriority.Delete', request, response); + await this.authorize('ParticipantSelectedPriority.Delete', request, response, false); const result = await this._delegate.delete(request.params.id); - const message = 'User selected priority deleted successfully!'; + const message = 'Participant selected priority deleted successfully!'; ResponseHandler.success(request, response, message, 200, result); } catch (error) { ResponseHandler.handleError(request, response, error); } }; -} \ No newline at end of file +} diff --git a/src/api/user.responses/participant.selected.priority/participant.selected.priority.routes.ts b/src/api/user.responses/participant.selected.priority/participant.selected.priority.routes.ts new file mode 100644 index 0000000..f67fe84 --- /dev/null +++ b/src/api/user.responses/participant.selected.priority/participant.selected.priority.routes.ts @@ -0,0 +1,24 @@ +import express from 'express'; +import { + ParticipantSelectedPriorityController +} from './participant.selected.priority.controller'; +import { + Loader +} from '../../../startup/loader'; + +/////////////////////////////////////////////////////////////////////////////////// + +export const register = (app: express.Application): void => { + + const router = express.Router(); + const authenticator = Loader.Authenticator; + const controller = new ParticipantSelectedPriorityController(); + + router.post('/', authenticator.authenticateClient, controller.create); + router.get('/search', authenticator.authenticateClient, controller.search); + router.get('/:id', authenticator.authenticateClient, controller.getById); + router.put('/:id', authenticator.authenticateClient, controller.update); + router.delete('/:id', authenticator.authenticateClient, controller.delete); + + app.use('/api/v1/participant-selected-priorities', router); +}; diff --git a/src/api/user.responses/user.selected.priority/user.selected.priority.validator.ts b/src/api/user.responses/participant.selected.priority/participant.selected.priority.validator.ts similarity index 53% rename from src/api/user.responses/user.selected.priority/user.selected.priority.validator.ts rename to src/api/user.responses/participant.selected.priority/participant.selected.priority.validator.ts index 083f51b..604e7b4 100644 --- a/src/api/user.responses/user.selected.priority/user.selected.priority.validator.ts +++ b/src/api/user.responses/participant.selected.priority/participant.selected.priority.validator.ts @@ -5,14 +5,17 @@ import { /////////////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedPriorityValidator { +export class ParticipantSelectedPriorityValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - UserId : joi.string().guid({ + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + EnrollmentId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), @@ -27,9 +30,12 @@ export class UserSelectedPriorityValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - UserId : joi.string().guid({ + Name : joi.string().max(256).optional(), + Description : joi.string().optional(), + EnrollmentId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), @@ -44,12 +50,15 @@ export class UserSelectedPriorityValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - name : joi.string().max(256).optional(), - description : joi.string().optional(), - careplanId : joi.number().integer().optional(), - assetId : joi.number().integer().optional(), - assetType : joi.string().max(128).optional(), - startDate : joi.date().iso().optional() + participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), + enrollmentId : joi.string().guid({ version: ['uuidv4'] }).optional(), + name : joi.string().max(256).optional(), + description : joi.string().optional(), + careplanId : joi.number().integer().optional(), + assetId : joi.number().integer().optional(), + assetType : joi.string().max(128).optional(), + assetCode : joi.string().max(128).optional(), + startDate : joi.date().iso().optional() }); return await schema.validateAsync(query); diff --git a/src/api/user.responses/user.selected.priority/user.selected.priority.controller.delegate.ts b/src/api/user.responses/user.selected.priority/user.selected.priority.controller.delegate.ts deleted file mode 100644 index 6f14807..0000000 --- a/src/api/user.responses/user.selected.priority/user.selected.priority.controller.delegate.ts +++ /dev/null @@ -1,196 +0,0 @@ -import { - UserSelectedPriorityService -} from '../../../database/repository.services/user.responses/user.selected.priority.service'; -import { - ErrorHandler -} from '../../../common/error.handler'; -import { - Helper -} from '../../../common/helper'; -import { - ApiError -} from '../../../common/api.error'; -import { - UserSelectedPriorityValidator as validator -} from './user.selected.priority.validator'; -import { - uuid -} from '../../../domain.types/miscellaneous/system.types'; -import { - UserSelectedPriorityCreateModel, - UserSelectedPriorityUpdateModel, - UserSelectedPrioritySearchFilters, - UserSelectedPrioritySearchResults -} from '../../../domain.types/user.responses/user.selected.priority.domain.types'; - -/////////////////////////////////////////////////////////////////////////////////////// - -export class UserSelectedPriorityControllerDelegate { - - //#region member variables and constructors - - _service: UserSelectedPriorityService = null; - - constructor() { - this._service = new UserSelectedPriorityService(); - } - - //#endregion - - create = async (requestBody: any) => { - await validator.validateCreateRequest(requestBody); - var createModel: UserSelectedPriorityCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); - if (record === null) { - throw new ApiError('Unable to create user selected priority!', 400); - } - return this.getEnrichedDto(record); - } - - getById = async (id: uuid) => { - const record = await this._service.getById(id); - if (record === null) { - ErrorHandler.throwNotFoundError('User selected priority with id ' + id.toString() + ' cannot be found!'); - } - return this.getEnrichedDto(record); - } - - search = async (query: any) => { - await validator.validateSearchRequest(query); - var filters: UserSelectedPrioritySearchFilters = this.getSearchFilters(query); - var searchResults: UserSelectedPrioritySearchResults = await this._service.search(filters); - var items = searchResults.Items.map(x => this.getSearchDto(x)); - searchResults.Items = items; - return searchResults; - } - - update = async (id: uuid, requestBody: any) => { - await validator.validateUpdateRequest(requestBody); - const record = await this._service.getById(id); - if (record === null) { - ErrorHandler.throwNotFoundError('User selected priority with id ' + id.toString() + ' cannot be found!'); - } - const updateModel: UserSelectedPriorityUpdateModel = this.getUpdateModel(requestBody); - const updated = await this._service.update(id, updateModel); - if (updated == null) { - throw new ApiError('Unable to update user selected priority!', 400); - } - return this.getEnrichedDto(updated); - } - - delete = async (id: uuid) => { - const record = await this._service.getById(id); - if (record == null) { - ErrorHandler.throwNotFoundError('User selected priority with id ' + id.toString() + ' cannot be found!'); - } - const userSelectedPriorityDeleted: boolean = await this._service.delete(id); - return { - Deleted : userSelectedPriorityDeleted - }; - } - - /////////////////////////////////////////////////////////////////////////////////////////////// - - //#region Privates - - getSearchFilters = (query) => { - - var filters = {}; - - var name = query.name ? query.name : null; - if (name != null) { - filters['Name'] = name; - } - var description = query.description ? query.description : null; - if (description != null) { - filters['Description'] = description; - } - var careplanId = query.careplanId ? query.careplanId : null; - if (careplanId != null) { - filters['CareplanId'] = careplanId; - } - var assetId = query.assetId ? query.assetId : null; - if (assetId != null) { - filters['AssetId'] = assetId; - } - var assetType = query.assetType ? query.assetType : null; - if (assetType != null) { - filters['AssetType'] = assetType; - } - var startDate = query.startDate ? query.startDate : null; - if (startDate != null) { - filters['StartDate'] = startDate; - } - - return filters; - } - - getUpdateModel = (requestBody): UserSelectedPriorityUpdateModel => { - - const updateModel: UserSelectedPriorityUpdateModel = {}; - - if (Helper.hasProperty(requestBody, 'Name')) { - updateModel.Name = requestBody.Name; - } - if (Helper.hasProperty(requestBody, 'Description')) { - updateModel.Description = requestBody.Description; - } - if (Helper.hasProperty(requestBody, 'UserId')) { - updateModel.UserId = requestBody.UserId; - } - if (Helper.hasProperty(requestBody, 'CareplanId')) { - updateModel.CareplanId = requestBody.CareplanId; - } - if (Helper.hasProperty(requestBody, 'StartDate')) { - updateModel.StartDate = requestBody.StartDate; - } - - return updateModel; - } - - getCreateModel = (requestBody): UserSelectedPriorityCreateModel => { - return { - Name : requestBody.Name ? requestBody.Name : null, - Description : requestBody.Description ? requestBody.Description : null, - UserId : requestBody.UserId ? requestBody.UserId : null, - CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, - StartDate : requestBody.StartDate ? requestBody.StartDate : null - }; - } - - getEnrichedDto = (record) => { - if (record == null) { - return null; - } - return { - id : record.id, - Name : record.Name, - Description : record.Description, - UserId : record.UserId, - CareplanId : record.CareplanId, - AssetId : record.AssetId, - AssetType : record.AssetType, - StartDate : record.StartDate - }; - } - - getSearchDto = (record) => { - if (record == null) { - return null; - } - return { - id : record.id, - Name : record.Name, - Description : record.Description, - UserId : record.UserId, - CareplanId : record.CareplanId, - AssetId : record.AssetId, - AssetType : record.AssetType, - StartDate : record.StartDate - }; - } - - //#endregion - -} -/////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/api/user.responses/user.selected.priority/user.selected.priority.routes.ts b/src/api/user.responses/user.selected.priority/user.selected.priority.routes.ts deleted file mode 100644 index 1789c88..0000000 --- a/src/api/user.responses/user.selected.priority/user.selected.priority.routes.ts +++ /dev/null @@ -1,24 +0,0 @@ -import express from 'express'; -import { - UserSelectedPriorityController -} from './user.selected.priority.controller'; -import { - Loader -} from '../../../startup/loader'; - -/////////////////////////////////////////////////////////////////////////////////// - -export const register = (app: express.Application): void => { - - const router = express.Router(); - const authenticator = Loader.Authenticator; - const controller = new UserSelectedPriorityController(); - - router.post('/', authenticator.authenticateUser, controller.create); - router.get('/search', authenticator.authenticateUser, controller.search); - router.get('/:id', authenticator.authenticateUser, controller.getById); - router.put('/:id', authenticator.authenticateUser, controller.update); - router.delete('/:id', authenticator.authenticateUser, controller.delete); - - app.use('/api/v1/user-selected-priorities', router); -}; \ No newline at end of file diff --git a/src/database/mappers/user.responses/participant.selected.priorityl.mapper.ts b/src/database/mappers/user.responses/participant.selected.priorityl.mapper.ts new file mode 100644 index 0000000..2dccf21 --- /dev/null +++ b/src/database/mappers/user.responses/participant.selected.priorityl.mapper.ts @@ -0,0 +1,29 @@ +import { + ParticipantSelectedPriorityDto +} from '../../../domain.types/user.responses/participant.selected.priority.domain.types'; + +/////////////////////////////////////////////////////////////////////////////////// + +export class ParticipantSelectedPriorityMapper { + + static toDto = (participantSelectedPriority: any): ParticipantSelectedPriorityDto => { + if (participantSelectedPriority == null) { + return null; + } + const dto: ParticipantSelectedPriorityDto = { + id : participantSelectedPriority.id, + Name : participantSelectedPriority.Name, + Description : participantSelectedPriority.Description, + EnrollmentId : participantSelectedPriority.EnrollmentId, + ParticipantId : participantSelectedPriority.ParticipantId, + CareplanId : participantSelectedPriority.CareplanId, + AssetId : participantSelectedPriority.AssetId, + AssetType : participantSelectedPriority.AssetType, + AssetCode : participantSelectedPriority.AssetCode, + StartDate : participantSelectedPriority.StartDate, + + }; + return dto; + }; + +} diff --git a/src/database/mappers/user.responses/user.selected.priorityl.mapper.ts b/src/database/mappers/user.responses/user.selected.priorityl.mapper.ts deleted file mode 100644 index a53842c..0000000 --- a/src/database/mappers/user.responses/user.selected.priorityl.mapper.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { - UserSelectedPriorityDto -} from '../../../domain.types/user.responses/user.selected.priority.domain.types'; - -/////////////////////////////////////////////////////////////////////////////////// - -export class UserSelectedPriorityMapper { - - static toDto = (userSelectedPriority: any): UserSelectedPriorityDto => { - if (userSelectedPriority == null) { - return null; - } - const dto: UserSelectedPriorityDto = { - id : userSelectedPriority.id, - Name : userSelectedPriority.Name, - Description : userSelectedPriority.Description, - UserId : userSelectedPriority.UserId, - CareplanId : userSelectedPriority.CareplanId, - AssetId : userSelectedPriority.AssetId, - AssetType : userSelectedPriority.AssetType, - StartDate : userSelectedPriority.StartDate, - - }; - return dto; - }; - -} diff --git a/src/database/models/user.responses/user.selected.priority.model.ts b/src/database/models/user.responses/participant.selected.priority.model.ts similarity index 62% rename from src/database/models/user.responses/user.selected.priority.model.ts rename to src/database/models/user.responses/participant.selected.priority.model.ts index e015288..adbeab4 100644 --- a/src/database/models/user.responses/user.selected.priority.model.ts +++ b/src/database/models/user.responses/participant.selected.priority.model.ts @@ -4,11 +4,11 @@ const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// -export class UserSelectedPriorityModel { +export class ParticipantSelectedPriorityModel { - static TableName = 'user_selected_priorities'; + static TableName = 'participant_selected_priorities'; - static ModelName = 'UserSelectedPriority'; + static ModelName = 'ParticipantSelectedPriority'; static Schema = { id : { @@ -25,7 +25,13 @@ export class UserSelectedPriorityModel { type : DataTypes.TEXT, allowNull : false }, - UserId : { + EnrollmentId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, + ParticipantId : { type : DataTypes.UUID, allowNull : false, foreignKey : true, @@ -39,13 +45,17 @@ export class UserSelectedPriorityModel { }, AssetId : { type : DataTypes.INTEGER, - allowNull : false + allowNull : true }, AssetType : { type : DataTypes.STRING(128), - allowNull : false, + allowNull : true, defaultValue : 'Priority' }, + AssetCode : { + type : DataTypes.STRING(128), + allowNull : true, + }, StartDate : { type : DataTypes.DATE, allowNull : false @@ -57,8 +67,8 @@ export class UserSelectedPriorityModel { }; static Model: any = sequelize.define( - UserSelectedPriorityModel.ModelName, - UserSelectedPriorityModel.Schema, + ParticipantSelectedPriorityModel.ModelName, + ParticipantSelectedPriorityModel.Schema, { createdAt : 'CreatedAt', updatedAt : 'UpdatedAt', @@ -66,20 +76,24 @@ export class UserSelectedPriorityModel { freezeTableName : true, timestamps : true, paranoid : true, - tableName : UserSelectedPriorityModel.TableName, + tableName : ParticipantSelectedPriorityModel.TableName, }); static associate = (models) => { //Add associations here... - models.UserSelectedPriority.belongsTo(models.User, { - sourceKey : 'UserId', + models.ParticipantSelectedPriority.belongsTo(models.Enrollment, { + sourceKey : 'EnrollmentId', targetKey : 'id', - as : 'User' + as : 'Enrollment' }); - - models.UserSelectedPriority.belongsTo(models.Careplan, { + models.ParticipantSelectedPriority.belongsTo(models.Participant, { + sourceKey : 'ParticipantId', + targetKey : 'id', + as : 'Participant' + }); + models.ParticipantSelectedPriority.belongsTo(models.Careplan, { sourceKey : 'CareplanId', targetKey : 'id', as : 'Careplan' diff --git a/src/database/repository.services/user.responses/user.selected.priority.service.ts b/src/database/repository.services/user.responses/participant.selected.priority.service.ts similarity index 64% rename from src/database/repository.services/user.responses/user.selected.priority.service.ts rename to src/database/repository.services/user.responses/participant.selected.priority.service.ts index 095567b..c6abd31 100644 --- a/src/database/repository.services/user.responses/user.selected.priority.service.ts +++ b/src/database/repository.services/user.responses/participant.selected.priority.service.ts @@ -1,9 +1,9 @@ import { - UserSelectedPriorityModel -} from '../../models/user.responses/user.selected.priority.model'; + ParticipantSelectedPriorityModel +} from '../../models/user.responses/participant.selected.priority.model'; import { - UserModel -} from '../../models/user/user.model'; + ParticipantModel +} from '../../models/enrollment/participant.model'; import { CareplanModel } from '../../models/careplan/careplan.model'; @@ -12,23 +12,26 @@ import { ErrorHandler } from '../../../common/error.handler'; import { - UserSelectedPriorityCreateModel, - UserSelectedPrioritySearchFilters, - UserSelectedPrioritySearchResults -} from '../../../domain.types/user.responses/user.selected.priority.domain.types'; + ParticipantSelectedPriorityCreateModel, + ParticipantSelectedPrioritySearchFilters, + ParticipantSelectedPrioritySearchResults +} from '../../../domain.types/user.responses/participant.selected.priority.domain.types'; import { Op } from 'sequelize'; +import { EnrollmentModel } from '../../models/enrollment/enrollment.model'; /////////////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedPriorityService { +export class ParticipantSelectedPriorityService { //#region Models - UserSelectedPriority = UserSelectedPriorityModel.Model; + ParticipantSelectedPriority = ParticipantSelectedPriorityModel.Model; - User = UserModel.Model; + Enrollment = EnrollmentModel.Model; + + Participant = ParticipantModel.Model; Careplan = CareplanModel.Model; @@ -36,51 +39,56 @@ export class UserSelectedPriorityService { //#region Publics - create = async (createModel: UserSelectedPriorityCreateModel) => { + create = async (createModel: ParticipantSelectedPriorityCreateModel) => { try { - var record = await this.UserSelectedPriority.create(createModel); + var record = await this.ParticipantSelectedPriority.create(createModel); return await this.getById(record.id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to create user selected priority!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to create participant selected priority!', error); } } getById = async (id) => { try { - const record = await this.UserSelectedPriority.findOne({ + const record = await this.ParticipantSelectedPriority.findOne({ where : { id : id }, include : [{ - model : this.User, + model : this.Participant, required : false, - as : 'User', + as : 'Participant', //through: { attributes: [] } }, { model : this.Careplan, required : false, as : 'Careplan', //through: { attributes: [] } - }, - + }, { + model : this.Enrollment, + required : false, + as : 'Enrollment', + //through: { attributes: [] } + } ] }); return record; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve user selected priority!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve participant selected priority!', error); } } exists = async (id): Promise < boolean > => { try { - const record = await this.UserSelectedPriority.findByPk(id); + const record = await this.ParticipantSelectedPriority.findByPk(id); return record !== null; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of user selected priority!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of participant selected priority!', error); } } - search = async (filters: UserSelectedPrioritySearchFilters): Promise < UserSelectedPrioritySearchResults > => { + search = async (filters: ParticipantSelectedPrioritySearchFilters): + Promise < ParticipantSelectedPrioritySearchResults > => { try { var search = this.getSearchModel(filters); @@ -93,8 +101,8 @@ export class UserSelectedPriorityService { limit } = this.addPaginationToSearch(search, filters); - const foundResults = await this.UserSelectedPriority.findAndCountAll(search); - const searchResults: UserSelectedPrioritySearchResults = { + const foundResults = await this.ParticipantSelectedPriority.findAndCountAll(search); + const searchResults: ParticipantSelectedPrioritySearchResults = { TotalCount : foundResults.count, RetrievedCount : foundResults.rows.length, PageIndex : pageIndex, @@ -107,38 +115,38 @@ export class UserSelectedPriorityService { return searchResults; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to search user selected priority records!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to search participant selected priority records!', error); } } update = async (id, updateModel) => { try { if (Object.keys(updateModel).length > 0) { - var res = await this.UserSelectedPriority.update(updateModel, { + var res = await this.ParticipantSelectedPriority.update(updateModel, { where : { id : id } }); if (res.length !== 1) { - throw new Error('Unable to update user selected priority!'); + throw new Error('Unable to update participant selected priority!'); } } return await this.getById(id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to update user selected priority!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to update participant selected priority!', error); } } delete = async (id) => { try { - var result = await this.UserSelectedPriority.destroy({ + var result = await this.ParticipantSelectedPriority.destroy({ where : { id : id } }); return result === 1; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to delete user selected priority!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to delete participant selected priority!', error); } } @@ -153,6 +161,12 @@ export class UserSelectedPriorityService { include : [] }; + if (filters.EnrollmentId) { + search.where['EnrollmentId'] = filters.EnrollmentId; + } + if (filters.ParticipantId) { + search.where['ParticipantId'] = filters.ParticipantId; + } if (filters.Name) { search.where['Name'] = { [Op.like] : '%' + filters.Name + '%' @@ -172,19 +186,32 @@ export class UserSelectedPriorityService { if (filters.AssetType) { search.where['AssetType'] = filters.AssetType; } + if (filters.AssetCode) { + search.where['AssetCode'] = filters.AssetCode; + } if (filters.StartDate) { search.where['StartDate'] = filters.StartDate; } - const includeUserAsUser = { - model : this.User, + const includeEnrollmentAsEnrollment = { + model : this.Enrollment, + required : false, + as : 'Enrollment', + where : {} + }; + //if (filters.Xyz != undefined) { + // includeUser.where['Xyz'] = filters.Xyz; + //} + search.include.push(includeEnrollmentAsEnrollment); + const includeParticipantAsParticipant = { + model : this.Participant, required : false, - as : 'User', + as : 'Participant', where : {} }; //if (filters.Xyz != undefined) { // includeUser.where['Xyz'] = filters.Xyz; //} - search.include.push(includeUserAsUser); + search.include.push(includeParticipantAsParticipant); const includeCareplanAsCareplan = { model : this.Careplan, required : false, diff --git a/src/domain.types/user.responses/participant.selected.priority.domain.types.ts b/src/domain.types/user.responses/participant.selected.priority.domain.types.ts new file mode 100644 index 0000000..8d2d1d5 --- /dev/null +++ b/src/domain.types/user.responses/participant.selected.priority.domain.types.ts @@ -0,0 +1,58 @@ +import { + BaseSearchFilters, + BaseSearchResults +} from "../miscellaneous/base.search.types"; +import { + uuid +} from "../miscellaneous/system.types"; + +export interface ParticipantSelectedPriorityCreateModel { + Name ?: string; + Description ?: string; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; + CareplanId ?: number; + AssetId ?: number; + AssetType ?: string; + AssetCode ?: string; + StartDate ?: Date; +} + +export interface ParticipantSelectedPriorityUpdateModel { + Name ?: string; + Description ?: string; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; + CareplanId ?: number; + StartDate ?: Date; +} + +export interface ParticipantSelectedPriorityDto { + id : uuid; + Name : string; + Description : string; + EnrollmentId : uuid; + ParticipantId : uuid; + CareplanId : number; + AssetId : number; + AssetType : string; + AssetCode : string; + StartDate : Date; + +} + +export interface ParticipantSelectedPrioritySearchFilters extends BaseSearchFilters { + Name ?: string; + Description ?: string; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; + CareplanId ?: number; + AssetId ?: number; + AssetType ?: string; + AssetCode ?: string; + StartDate ?: Date; +} + +export interface ParticipantSelectedPrioritySearchResults extends BaseSearchResults { + Items: ParticipantSelectedPriorityDto[]; +} diff --git a/src/domain.types/user.responses/user.selected.priority.domain.types.ts b/src/domain.types/user.responses/user.selected.priority.domain.types.ts deleted file mode 100644 index d4693f3..0000000 --- a/src/domain.types/user.responses/user.selected.priority.domain.types.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { - BaseSearchFilters, - BaseSearchResults -} from "../miscellaneous/base.search.types"; -import { - uuid -} from "../miscellaneous/system.types"; - -export interface UserSelectedPriorityCreateModel { - Name ? : string; - Description ? : string; - UserId ? : uuid; - CareplanId ? : number; - StartDate ? : Date; -} - -export interface UserSelectedPriorityUpdateModel { - Name ? : string; - Description ? : string; - UserId ? : uuid; - CareplanId ? : number; - StartDate ? : Date; -} - -export interface UserSelectedPriorityDto { - id: uuid; - Name: string; - Description: string; - UserId: uuid; - CareplanId: number; - AssetId: number; - AssetType: string; - StartDate: Date; - -} - -export interface UserSelectedPrioritySearchFilters extends BaseSearchFilters { - Name ? : string; - Description ? : string; - CareplanId ? : number; - AssetId ? : number; - AssetType ? : string; - StartDate ? : Date; -} - -export interface UserSelectedPrioritySearchResults extends BaseSearchResults { - Items: UserSelectedPriorityDto[]; -} \ No newline at end of file diff --git a/src/startup/router.ts b/src/startup/router.ts index fa02d25..c492a27 100644 --- a/src/startup/router.ts +++ b/src/startup/router.ts @@ -37,7 +37,7 @@ import { register as registerUserRoutes } from "../api/user/user.r import { register as registerUserActivityResponseRoutes } from "../api/user.responses/user.activity.response/user.activity.response.routes"; import { register as registerUserSelectedActionPlanRoutes } from "../api/user.responses/user.selected.action.plan/user.selected.action.plan.routes"; import { register as registerUserSelectedGoalRoutes } from "../api/user.responses/user.selected.goal/user.selected.goal.routes"; -import { register as registerUserSelectedPriorityRoutes } from "../api/user.responses/user.selected.priority/user.selected.priority.routes"; +import { register as registerParticipantSelectedPriorityRoutes } from "../api/user.responses/participant.selected.priority/participant.selected.priority.routes"; import { register as registerUserRoleRoutes } from "../api/user.role/user.role.routes"; import { register as registerParticipantRoutes } from "../api/enrollment/participant/participant.routes"; @@ -101,7 +101,7 @@ export class Router { registerUserActivityResponseRoutes(this._app); registerUserSelectedActionPlanRoutes(this._app); registerUserSelectedGoalRoutes(this._app); - registerUserSelectedPriorityRoutes(this._app); + registerParticipantSelectedPriorityRoutes(this._app); registerUserRoleRoutes(this._app); registerParticipantRoutes(this._app); From da24f5312b0041dc4d46516fcd6a496fce6e8d90 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Fri, 29 Jul 2022 19:14:43 +0530 Subject: [PATCH 022/169] Fixing careplan tags --- src/api/careplan/careplan/careplan.controller.delegate.ts | 8 ++++---- src/domain.types/careplan/careplan.domain.types.ts | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/api/careplan/careplan/careplan.controller.delegate.ts b/src/api/careplan/careplan/careplan.controller.delegate.ts index 4557106..c0b64b2 100644 --- a/src/api/careplan/careplan/careplan.controller.delegate.ts +++ b/src/api/careplan/careplan/careplan.controller.delegate.ts @@ -132,7 +132,7 @@ export class CareplanControllerDelegate { updateModel.OwnerUserId = requestBody.OwnerUserId; } if (Helper.hasProperty(requestBody, 'Tags')) { - updateModel.Tags = requestBody.Tags; + updateModel.Tags = JSON.stringify(requestBody.Tags); } return updateModel; } @@ -145,7 +145,7 @@ export class CareplanControllerDelegate { Description : requestBody.Description ? requestBody.Description : null, Version : requestBody.Version ? requestBody.Version : '1.0.0', OwnerUserId : requestBody.OwnerUserId ? requestBody.OwnerUserId : null, - Tags : requestBody.Tags ? requestBody.Tags.toString() : '[]' + Tags : requestBody.Tags ? JSON.stringify(requestBody.Tags) as string : JSON.stringify([]), }; } @@ -163,7 +163,7 @@ export class CareplanControllerDelegate { Description : record.Description, Version : record.Version, OwnerUserId : record.OwnerUserId, - Tags : record.Tags, + Tags : JSON.parse(record.Tags), IsActive : record.IsActive }; } @@ -182,7 +182,7 @@ export class CareplanControllerDelegate { Description : record.Description, Version : record.Version, OwnerUserId : record.OwnerUserId, - Tags : record.Tags, + Tags : JSON.parse(record.Tags), IsActive : record.IsActive }; } diff --git a/src/domain.types/careplan/careplan.domain.types.ts b/src/domain.types/careplan/careplan.domain.types.ts index d9e9998..4eeb939 100644 --- a/src/domain.types/careplan/careplan.domain.types.ts +++ b/src/domain.types/careplan/careplan.domain.types.ts @@ -10,7 +10,7 @@ export interface CareplanCreateModel { Description?: string; Version?: string; OwnerUserId: uuid; - Tags?: string[]; + Tags?: string; IsActive?: boolean; } @@ -21,7 +21,7 @@ export interface CareplanUpdateModel { Description?: string; Version?: string; OwnerUserId?: uuid; - Tags?: string[]; + Tags?: string; IsActive?: boolean; } From e271dd6d4c6aa0fc83abc81bc4720ae7dfd9c8b8 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Fri, 29 Jul 2022 19:46:54 +0530 Subject: [PATCH 023/169] Changed nomenclature from careplan schedule to careplan activity. --- ...n.service.workflow.postman_collection.json | 6 +- seed.data/role.privileges.json | 10 +-- .../careplan.activity.controller.delegate.ts} | 42 +++++------ .../careplan.activity.controller.ts} | 20 +++--- .../careplan.activity.routes.ts} | 6 +- .../careplan.activity.validator.ts} | 2 +- ...enrollment.schedule.controller.delegate.ts | 4 +- .../enrollment.controller.delegate.ts | 20 +++--- ...r.activity.response.controller.delegate.ts | 6 +- .../careplan/careplan.schedule.mapper.ts | 24 +++---- .../enrollment/enrollment.schedule.mapper.ts | 2 +- .../user.activity.response.mapper.ts | 2 +- ...le.model.ts => careplan.activity.model.ts} | 14 ++-- .../enrollment/enrollment.schedule.model.ts | 8 +-- .../user.activity.response.model.ts | 8 +-- ...ervice.ts => careplan.activity.service.ts} | 34 ++++----- .../enrollment/enrollment.schedule.service.ts | 20 +++--- .../user.activity.response.service.ts | 20 +++--- ...s.ts => careplan.activity.domain.types.ts} | 12 ++-- .../enrollment.schedule.domain.types.ts | 4 +- .../user.activity.response.domain.types.ts | 4 +- src/startup/router.ts | 4 +- tests/test-suite/careplan.schedule.test.js | 72 +++++++++---------- tests/test-suite/enrollment.schedule.test.js | 16 ++--- .../test-suite/user.activity.response.test.js | 16 ++--- 25 files changed, 188 insertions(+), 188 deletions(-) rename src/api/careplan/{careplan.schedule/careplan.schedule.controller.delegate.ts => careplan.activity/careplan.activity.controller.delegate.ts} (83%) rename src/api/careplan/{careplan.schedule/careplan.schedule.controller.ts => careplan.activity/careplan.activity.controller.ts} (82%) rename src/api/careplan/{careplan.schedule/careplan.schedule.routes.ts => careplan.activity/careplan.activity.routes.ts} (85%) rename src/api/careplan/{careplan.schedule/careplan.schedule.validator.ts => careplan.activity/careplan.activity.validator.ts} (98%) rename src/database/models/careplan/{careplan.schedule.model.ts => careplan.activity.model.ts} (84%) rename src/database/repository.services/careplan/{careplan.schedule.service.ts => careplan.activity.service.ts} (85%) rename src/domain.types/careplan/{careplan.schedule.domain.types.ts => careplan.activity.domain.types.ts} (72%) diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index bf87962..0be2a3a 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -15178,7 +15178,7 @@ " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanActivityId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", @@ -15308,7 +15308,7 @@ " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanActivityId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", @@ -15432,7 +15432,7 @@ " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanActivityId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", diff --git a/seed.data/role.privileges.json b/seed.data/role.privileges.json index f162ae9..e8266a8 100644 --- a/seed.data/role.privileges.json +++ b/seed.data/role.privileges.json @@ -106,11 +106,11 @@ "Biometrics.Update", "Biometrics.Delete", - "CareplanSchedule.Create", - "CareplanSchedule.Search", - "CareplanSchedule.GetById", - "CareplanSchedule.Update", - "CareplanSchedule.Delete", + "CareplanActivity.Create", + "CareplanActivity.Search", + "CareplanActivity.GetById", + "CareplanActivity.Update", + "CareplanActivity.Delete", "Challenge.Create", "Challenge.Search", diff --git a/src/api/careplan/careplan.schedule/careplan.schedule.controller.delegate.ts b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts similarity index 83% rename from src/api/careplan/careplan.schedule/careplan.schedule.controller.delegate.ts rename to src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts index 6720de6..e575e99 100644 --- a/src/api/careplan/careplan.schedule/careplan.schedule.controller.delegate.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts @@ -1,6 +1,6 @@ import { - CareplanScheduleService -} from '../../../database/repository.services/careplan/careplan.schedule.service'; + CareplanActivityService +} from '../../../database/repository.services/careplan/careplan.activity.service'; import { ErrorHandler } from '../../../common/error.handler'; @@ -11,35 +11,35 @@ import { ApiError } from '../../../common/api.error'; import { - CareplanScheduleValidator as validator -} from './careplan.schedule.validator'; + CareplanActivityValidator as validator +} from './careplan.activity.validator'; import { uuid } from '../../../domain.types/miscellaneous/system.types'; import { - CareplanScheduleCreateModel, - CareplanScheduleUpdateModel, - CareplanScheduleSearchFilters, - CareplanScheduleSearchResults -} from '../../../domain.types/careplan/careplan.schedule.domain.types'; + CareplanActivityCreateModel, + CareplanActivityUpdateModel, + CareplanActivitySearchFilters, + CareplanActivitySearchResults +} from '../../../domain.types/careplan/careplan.activity.domain.types'; /////////////////////////////////////////////////////////////////////////////////////// -export class CareplanScheduleControllerDelegate { +export class CareplanActivityControllerDelegate { //#region member variables and constructors - _service: CareplanScheduleService = null; + _service: CareplanActivityService = null; constructor() { - this._service = new CareplanScheduleService(); + this._service = new CareplanActivityService(); } //#endregion create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); - var createModel: CareplanScheduleCreateModel = this.getCreateModel(requestBody); + var createModel: CareplanActivityCreateModel = this.getCreateModel(requestBody); const record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create careplan schedule!', 400); @@ -57,8 +57,8 @@ export class CareplanScheduleControllerDelegate { search = async (query: any) => { await validator.validateSearchRequest(query); - var filters: CareplanScheduleSearchFilters = this.getSearchFilters(query); - var searchResults: CareplanScheduleSearchResults = await this._service.search(filters); + var filters: CareplanActivitySearchFilters = this.getSearchFilters(query); + var searchResults: CareplanActivitySearchResults = await this._service.search(filters); var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; @@ -70,7 +70,7 @@ export class CareplanScheduleControllerDelegate { if (record === null) { ErrorHandler.throwNotFoundError('Careplan schedule with id ' + id.toString() + ' cannot be found!'); } - const updateModel: CareplanScheduleUpdateModel = this.getUpdateModel(requestBody); + const updateModel: CareplanActivityUpdateModel = this.getUpdateModel(requestBody); const updated = await this._service.update(id, updateModel); if (updated == null) { throw new ApiError('Unable to update careplan schedule!', 400); @@ -83,9 +83,9 @@ export class CareplanScheduleControllerDelegate { if (record == null) { ErrorHandler.throwNotFoundError('Careplan schedule with id ' + id.toString() + ' cannot be found!'); } - const careplanScheduleDeleted: boolean = await this._service.delete(id); + const careplanActivityDeleted: boolean = await this._service.delete(id); return { - Deleted : careplanScheduleDeleted + Deleted : careplanActivityDeleted }; } @@ -121,9 +121,9 @@ export class CareplanScheduleControllerDelegate { return filters; } - getUpdateModel = (requestBody): CareplanScheduleUpdateModel => { + getUpdateModel = (requestBody): CareplanActivityUpdateModel => { - const updateModel: CareplanScheduleUpdateModel = {}; + const updateModel: CareplanActivityUpdateModel = {}; if (Helper.hasProperty(requestBody, 'AssetId')) { updateModel.AssetId = requestBody.AssetId; @@ -144,7 +144,7 @@ export class CareplanScheduleControllerDelegate { return updateModel; } - getCreateModel = (requestBody): CareplanScheduleCreateModel => { + getCreateModel = (requestBody): CareplanActivityCreateModel => { return { AssetId : requestBody.AssetId ? requestBody.AssetId : null, AssetType : requestBody.AssetType ? requestBody.AssetType : null, diff --git a/src/api/careplan/careplan.schedule/careplan.schedule.controller.ts b/src/api/careplan/careplan.activity/careplan.activity.controller.ts similarity index 82% rename from src/api/careplan/careplan.schedule/careplan.schedule.controller.ts rename to src/api/careplan/careplan.activity/careplan.activity.controller.ts index 1fec621..2e03c85 100644 --- a/src/api/careplan/careplan.schedule/careplan.schedule.controller.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.controller.ts @@ -3,30 +3,30 @@ import { ResponseHandler } from '../../../common/response.handler'; import { - CareplanScheduleControllerDelegate -} from './careplan.schedule.controller.delegate'; + CareplanActivityControllerDelegate +} from './careplan.activity.controller.delegate'; import { BaseController } from '../../base.controller'; /////////////////////////////////////////////////////////////////////////////////////// -export class CareplanScheduleController extends BaseController { +export class CareplanActivityController extends BaseController { //#region member variables and constructors - _delegate: CareplanScheduleControllerDelegate = null; + _delegate: CareplanActivityControllerDelegate = null; constructor() { super(); - this._delegate = new CareplanScheduleControllerDelegate(); + this._delegate = new CareplanActivityControllerDelegate(); } //#endregion create = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('CareplanSchedule.Create', request, response); + await this.authorize('CareplanActivity.Create', request, response); const record = await this._delegate.create(request.body); const message = 'Careplan schedule added successfully!'; ResponseHandler.success(request, response, message, 201, record); @@ -37,7 +37,7 @@ export class CareplanScheduleController extends BaseController { getById = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('CareplanSchedule.GetById', request, response); + await this.authorize('CareplanActivity.GetById', request, response); const record = await this._delegate.getById(request.params.id); const message = 'Careplan schedule retrieved successfully!'; ResponseHandler.success(request, response, message, 200, record); @@ -48,7 +48,7 @@ export class CareplanScheduleController extends BaseController { search = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('CareplanSchedule.Search', request, response); + await this.authorize('CareplanActivity.Search', request, response); const searchResults = await this._delegate.search(request.query); const message = 'Careplan schedule records retrieved successfully!'; ResponseHandler.success(request, response, message, 200, searchResults); @@ -59,7 +59,7 @@ export class CareplanScheduleController extends BaseController { update = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('CareplanSchedule.Update', request, response); + await this.authorize('CareplanActivity.Update', request, response); const updatedRecord = await this._delegate.update(request.params.id, request.body); const message = 'Careplan schedule updated successfully!'; ResponseHandler.success(request, response, message, 200, updatedRecord); @@ -70,7 +70,7 @@ export class CareplanScheduleController extends BaseController { delete = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('CareplanSchedule.Delete', request, response); + await this.authorize('CareplanActivity.Delete', request, response); const result = await this._delegate.delete(request.params.id); const message = 'Careplan schedule deleted successfully!'; ResponseHandler.success(request, response, message, 200, result); diff --git a/src/api/careplan/careplan.schedule/careplan.schedule.routes.ts b/src/api/careplan/careplan.activity/careplan.activity.routes.ts similarity index 85% rename from src/api/careplan/careplan.schedule/careplan.schedule.routes.ts rename to src/api/careplan/careplan.activity/careplan.activity.routes.ts index daab03d..cc3365a 100644 --- a/src/api/careplan/careplan.schedule/careplan.schedule.routes.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.routes.ts @@ -1,7 +1,7 @@ import express from 'express'; import { - CareplanScheduleController -} from './careplan.schedule.controller'; + CareplanActivityController +} from './careplan.activity.controller'; import { Loader } from '../../../startup/loader'; @@ -12,7 +12,7 @@ export const register = (app: express.Application): void => { const router = express.Router(); const authenticator = Loader.Authenticator; - const controller = new CareplanScheduleController(); + const controller = new CareplanActivityController(); router.post('/', authenticator.authenticateUser, controller.create); router.get('/search', authenticator.authenticateUser, controller.search); diff --git a/src/api/careplan/careplan.schedule/careplan.schedule.validator.ts b/src/api/careplan/careplan.activity/careplan.activity.validator.ts similarity index 98% rename from src/api/careplan/careplan.schedule/careplan.schedule.validator.ts rename to src/api/careplan/careplan.activity/careplan.activity.validator.ts index bb07930..8d7a57d 100644 --- a/src/api/careplan/careplan.schedule/careplan.schedule.validator.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.validator.ts @@ -5,7 +5,7 @@ import { /////////////////////////////////////////////////////////////////////////////////////////////// -export class CareplanScheduleValidator { +export class CareplanActivityValidator { static validateCreateRequest = async (requestBody) => { try { diff --git a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts b/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts index 778c0d0..4e23024 100644 --- a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts +++ b/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts @@ -89,7 +89,7 @@ export class EnrollmentScheduleControllerDelegate { id : record.id, EnrollmentId : record.EnrollmentId, UserId : record.UserId, - CareplanScheduleId : record.CareplanScheduleId, + CareplanActivityId : record.CareplanActivityId, AssetId : record.AssetId, AssetType : record.AssetType, CareplanId : record.CareplanId, @@ -106,7 +106,7 @@ export class EnrollmentScheduleControllerDelegate { id : record.id, EnrollmentId : record.EnrollmentId, ParticipantId : record.ParticipantId, - CareplanScheduleId : record.CareplanScheduleId, + CareplanActivityId : record.CareplanActivityId, AssetId : record.AssetId, AssetType : record.AssetType, CareplanId : record.CareplanId, diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index f9e0b93..b27977c 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -21,8 +21,8 @@ import { uuid } from '../../../domain.types/miscellaneous/system.types'; import { - CareplanScheduleControllerDelegate -} from '../../careplan/careplan.schedule/careplan.schedule.controller.delegate'; + CareplanActivityControllerDelegate +} from '../../careplan/careplan.activity/careplan.activity.controller.delegate'; import { EnrollmentCreateModel, EnrollmentUpdateModel, @@ -42,13 +42,13 @@ export class EnrollmentControllerDelegate { _service: EnrollmentService = null; - _careplanScheduleDelegate: CareplanScheduleControllerDelegate = null; + _careplanActivityDelegate: CareplanActivityControllerDelegate = null; _scheduleService: EnrollmentScheduleService = null; constructor() { this._service = new EnrollmentService(); - this._careplanScheduleDelegate = new CareplanScheduleControllerDelegate(); + this._careplanActivityDelegate = new CareplanActivityControllerDelegate(); this._scheduleService = new EnrollmentScheduleService(); } @@ -62,10 +62,10 @@ export class EnrollmentControllerDelegate { throw new ApiError('Unable to create enrollment!', 400); } - const careplanSchedule = await this._careplanScheduleDelegate.search({ careplanId : record.CareplanId }); + const careplanActivity = await this._careplanActivityDelegate.search({ careplanId : record.CareplanId }); const scheduleDate = TimeHelper.addDuration( record.StartDate, - careplanSchedule.Items[0].Day - 1, + careplanActivity.Items[0].Day - 1, DurationType.Day ); @@ -74,10 +74,10 @@ export class EnrollmentControllerDelegate { EnrollmentId : record.id, ParticipantId : record.ParticipantId, CareplanId : record.CareplanId, - CareplanScheduleId : careplanSchedule.Items[0].id, - AssetId : careplanSchedule.Items[0].AssetId, - AssetType : careplanSchedule.Items[0].AssetType, - TimeSlot : careplanSchedule.Items[0].TimeSlot, + CareplanActivityId : careplanActivity.Items[0].id, + AssetId : careplanActivity.Items[0].AssetId, + AssetType : careplanActivity.Items[0].AssetType, + TimeSlot : careplanActivity.Items[0].TimeSlot, ScheduledDate : scheduleDate }; diff --git a/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts b/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts index eb1bb75..ac77353 100644 --- a/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts +++ b/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts @@ -158,7 +158,7 @@ export class UserActivityResponseControllerDelegate { return { ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, EnrollmentScheduleId : requestBody.EnrollmentScheduleId ? requestBody.EnrollmentScheduleId : null, - CareplanScheduleId : enrollmentSchedule.CareplanScheduleId ? enrollmentSchedule.CareplanScheduleId : null, + CareplanActivityId : enrollmentSchedule.CareplanActivityId ? enrollmentSchedule.CareplanActivityId : null, CareplanId : enrollmentSchedule.CareplanId ? enrollmentSchedule.CareplanId : null , AssetId : enrollmentSchedule.AssetId ? enrollmentSchedule.AssetId : null, AssetType : enrollmentSchedule.AssetType ? enrollmentSchedule.AssetType : null, @@ -176,7 +176,7 @@ export class UserActivityResponseControllerDelegate { id : record.id, ParticipantId : record.ParticipantId, EnrollmentScheduleId : record.EnrollmentScheduleId, - CareplanScheduleId : record.CareplanScheduleId, + CareplanActivityId : record.CareplanActivityId, CareplanId : record.CareplanId, AssetId : record.AssetId, AssetType : record.AssetType, @@ -194,7 +194,7 @@ export class UserActivityResponseControllerDelegate { id : record.id, ParticipantId : record.ParticipantId, EnrollmentScheduleId : record.EnrollmentScheduleId, - CareplanScheduleId : record.CareplanScheduleId, + CareplanActivityId : record.CareplanActivityId, CareplanId : record.CareplanId, AssetId : record.AssetId, AssetType : record.AssetType, diff --git a/src/database/mappers/careplan/careplan.schedule.mapper.ts b/src/database/mappers/careplan/careplan.schedule.mapper.ts index 0656263..31dae4d 100644 --- a/src/database/mappers/careplan/careplan.schedule.mapper.ts +++ b/src/database/mappers/careplan/careplan.schedule.mapper.ts @@ -1,22 +1,22 @@ import { - CareplanScheduleDto -} from '../../../domain.types/careplan/careplan.schedule.domain.types'; + CareplanActivityDto +} from '../../../domain.types/careplan/careplan.activity.domain.types'; /////////////////////////////////////////////////////////////////////////////////// -export class CareplanScheduleMapper { +export class CareplanActivityMapper { - static toDto = (careplanSchedule: any): CareplanScheduleDto => { - if (careplanSchedule == null) { + static toDto = (careplanActivity: any): CareplanActivityDto => { + if (careplanActivity == null) { return null; } - const dto: CareplanScheduleDto = { - id: careplanSchedule.id, - AssetId: careplanSchedule.AssetId, - AssetType: careplanSchedule.AssetType, - CareplanId: careplanSchedule.CareplanId, - Day: careplanSchedule.Day, - TimeSlot: careplanSchedule.TimeSlot, + const dto: CareplanActivityDto = { + id: careplanActivity.id, + AssetId: careplanActivity.AssetId, + AssetType: careplanActivity.AssetType, + CareplanId: careplanActivity.CareplanId, + Day: careplanActivity.Day, + TimeSlot: careplanActivity.TimeSlot, }; return dto; diff --git a/src/database/mappers/enrollment/enrollment.schedule.mapper.ts b/src/database/mappers/enrollment/enrollment.schedule.mapper.ts index 4d00ecd..6becc52 100644 --- a/src/database/mappers/enrollment/enrollment.schedule.mapper.ts +++ b/src/database/mappers/enrollment/enrollment.schedule.mapper.ts @@ -14,7 +14,7 @@ export class EnrollmentScheduleMapper { id: enrollmentSchedule.id, EnrollmentId: enrollmentSchedule.EnrollmentId, ParticipantId: enrollmentSchedule.ParticipantId, - CareplanScheduleId: enrollmentSchedule.CareplanScheduleId, + CareplanActivityId: enrollmentSchedule.CareplanActivityId, AssetId: enrollmentSchedule.AssetId, AssetType: enrollmentSchedule.AssetType, CareplanId: enrollmentSchedule.CareplanId, diff --git a/src/database/mappers/user.responses/user.activity.response.mapper.ts b/src/database/mappers/user.responses/user.activity.response.mapper.ts index a17a527..136293d 100644 --- a/src/database/mappers/user.responses/user.activity.response.mapper.ts +++ b/src/database/mappers/user.responses/user.activity.response.mapper.ts @@ -14,7 +14,7 @@ export class UserActivityResponseMapper { id : userActivityResponse.id, ParticipantId : userActivityResponse.ParticipantId, EnrollmentScheduleId : userActivityResponse.EnrollmentScheduleId, - CareplanScheduleId : userActivityResponse.CareplanScheduleId, + CareplanActivityId : userActivityResponse.CareplanActivityId, CareplanId : userActivityResponse.CareplanId, AssetId : userActivityResponse.AssetId, AssetType : userActivityResponse.AssetType, diff --git a/src/database/models/careplan/careplan.schedule.model.ts b/src/database/models/careplan/careplan.activity.model.ts similarity index 84% rename from src/database/models/careplan/careplan.schedule.model.ts rename to src/database/models/careplan/careplan.activity.model.ts index fc209b0..8a7f5e1 100644 --- a/src/database/models/careplan/careplan.schedule.model.ts +++ b/src/database/models/careplan/careplan.activity.model.ts @@ -5,11 +5,11 @@ const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// -export class CareplanScheduleModel { +export class CareplanActivityModel { - static TableName = 'careplan_schedules'; + static TableName = 'careplan_activities'; - static ModelName = 'CareplanSchedule'; + static ModelName = 'CareplanActivity'; static Schema = { id : { @@ -48,8 +48,8 @@ export class CareplanScheduleModel { }; static Model: any = sequelize.define( - CareplanScheduleModel.ModelName, - CareplanScheduleModel.Schema, + CareplanActivityModel.ModelName, + CareplanActivityModel.Schema, { createdAt : 'CreatedAt', updatedAt : 'UpdatedAt', @@ -57,14 +57,14 @@ export class CareplanScheduleModel { freezeTableName : true, timestamps : true, paranoid : true, - tableName : CareplanScheduleModel.TableName, + tableName : CareplanActivityModel.TableName, }); static associate = (models) => { //Add associations here... - models.CareplanSchedule.belongsTo(models.Careplan, { + models.CareplanActivity.belongsTo(models.Careplan, { sourceKey : 'CareplanId', targetKey : 'id', as : 'Careplan' diff --git a/src/database/models/enrollment/enrollment.schedule.model.ts b/src/database/models/enrollment/enrollment.schedule.model.ts index 0f3bf43..4343c61 100644 --- a/src/database/models/enrollment/enrollment.schedule.model.ts +++ b/src/database/models/enrollment/enrollment.schedule.model.ts @@ -31,7 +31,7 @@ export class EnrollmentScheduleModel { foreignKey : true, unique : false }, - CareplanScheduleId : { + CareplanActivityId : { type : DataTypes.UUID, allowNull : false, foreignKey : true, @@ -95,10 +95,10 @@ export class EnrollmentScheduleModel { as : 'Participant' }); - models.EnrollmentSchedule.belongsTo(models.CareplanSchedule, { - sourceKey : 'CareplanScheduleId', + models.EnrollmentSchedule.belongsTo(models.CareplanActivity, { + sourceKey : 'CareplanActivityId', targetKey : 'id', - as : 'CareplanSchedule' + as : 'CareplanActivity' }); models.EnrollmentSchedule.belongsTo(models.Careplan, { diff --git a/src/database/models/user.responses/user.activity.response.model.ts b/src/database/models/user.responses/user.activity.response.model.ts index 6be8e6d..91e26e8 100644 --- a/src/database/models/user.responses/user.activity.response.model.ts +++ b/src/database/models/user.responses/user.activity.response.model.ts @@ -31,7 +31,7 @@ export class UserActivityResponseModel { foreignKey : true, unique : false }, - CareplanScheduleId : { + CareplanActivityId : { type : DataTypes.UUID, allowNull : false, foreignKey : true, @@ -100,10 +100,10 @@ export class UserActivityResponseModel { as : 'EnrollmentSchedule' }); - models.UserActivityResponse.belongsTo(models.CareplanSchedule, { - sourceKey : 'CareplanScheduleId', + models.UserActivityResponse.belongsTo(models.CareplanActivity, { + sourceKey : 'CareplanActivityId', targetKey : 'id', - as : 'CareplanSchedule' + as : 'CareplanActivity' }); models.UserActivityResponse.belongsTo(models.Careplan, { diff --git a/src/database/repository.services/careplan/careplan.schedule.service.ts b/src/database/repository.services/careplan/careplan.activity.service.ts similarity index 85% rename from src/database/repository.services/careplan/careplan.schedule.service.ts rename to src/database/repository.services/careplan/careplan.activity.service.ts index 4174f92..6caedd2 100644 --- a/src/database/repository.services/careplan/careplan.schedule.service.ts +++ b/src/database/repository.services/careplan/careplan.activity.service.ts @@ -1,6 +1,6 @@ import { - CareplanScheduleModel -} from '../../models/careplan/careplan.schedule.model'; + CareplanActivityModel +} from '../../models/careplan/careplan.activity.model'; import { CareplanModel } from '../../models/careplan/careplan.model'; @@ -9,18 +9,18 @@ import { ErrorHandler } from '../../../common/error.handler'; import { - CareplanScheduleCreateModel, - CareplanScheduleSearchFilters, - CareplanScheduleSearchResults -} from '../../../domain.types/careplan/careplan.schedule.domain.types'; + CareplanActivityCreateModel, + CareplanActivitySearchFilters, + CareplanActivitySearchResults +} from '../../../domain.types/careplan/careplan.activity.domain.types'; /////////////////////////////////////////////////////////////////////////////////////////////// -export class CareplanScheduleService { +export class CareplanActivityService { //#region Models - CareplanSchedule = CareplanScheduleModel.Model; + CareplanActivity = CareplanActivityModel.Model; Careplan = CareplanModel.Model; @@ -28,9 +28,9 @@ export class CareplanScheduleService { //#region Publics - create = async (createModel: CareplanScheduleCreateModel) => { + create = async (createModel: CareplanActivityCreateModel) => { try { - var record = await this.CareplanSchedule.create(createModel); + var record = await this.CareplanActivity.create(createModel); return await this.getById(record.id); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create careplan schedule!', error); @@ -39,7 +39,7 @@ export class CareplanScheduleService { getById = async (id) => { try { - const record = await this.CareplanSchedule.findOne({ + const record = await this.CareplanActivity.findOne({ where : { id : id }, @@ -60,14 +60,14 @@ export class CareplanScheduleService { exists = async (id): Promise < boolean > => { try { - const record = await this.CareplanSchedule.findByPk(id); + const record = await this.CareplanActivity.findByPk(id); return record !== null; } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of careplan schedule!', error); } } - search = async (filters: CareplanScheduleSearchFilters): Promise < CareplanScheduleSearchResults > => { + search = async (filters: CareplanActivitySearchFilters): Promise < CareplanActivitySearchResults > => { try { var search = this.getSearchModel(filters); @@ -80,8 +80,8 @@ export class CareplanScheduleService { limit } = this.addPaginationToSearch(search, filters); - const foundResults = await this.CareplanSchedule.findAndCountAll(search); - const searchResults: CareplanScheduleSearchResults = { + const foundResults = await this.CareplanActivity.findAndCountAll(search); + const searchResults: CareplanActivitySearchResults = { TotalCount : foundResults.count, RetrievedCount : foundResults.rows.length, PageIndex : pageIndex, @@ -101,7 +101,7 @@ export class CareplanScheduleService { update = async (id, updateModel) => { try { if (Object.keys(updateModel).length > 0) { - var res = await this.CareplanSchedule.update(updateModel, { + var res = await this.CareplanActivity.update(updateModel, { where : { id : id } @@ -118,7 +118,7 @@ export class CareplanScheduleService { delete = async (id) => { try { - var result = await this.CareplanSchedule.destroy({ + var result = await this.CareplanActivity.destroy({ where : { id : id } diff --git a/src/database/repository.services/enrollment/enrollment.schedule.service.ts b/src/database/repository.services/enrollment/enrollment.schedule.service.ts index 91267e4..a54454f 100644 --- a/src/database/repository.services/enrollment/enrollment.schedule.service.ts +++ b/src/database/repository.services/enrollment/enrollment.schedule.service.ts @@ -8,8 +8,8 @@ import { ParticipantModel } from '../../models/enrollment/participant.model'; import { - CareplanScheduleModel -} from '../../models/careplan/careplan.schedule.model'; + CareplanActivityModel +} from '../../models/careplan/careplan.activity.model'; import { CareplanModel } from '../../models/careplan/careplan.model'; @@ -35,7 +35,7 @@ export class EnrollmentScheduleService { Participant = ParticipantModel.Model; - CareplanSchedule = CareplanScheduleModel.Model; + CareplanActivity = CareplanActivityModel.Model; Careplan = CareplanModel.Model; @@ -69,9 +69,9 @@ export class EnrollmentScheduleService { as : 'Participant', //through: { attributes: [] } }, { - model : this.CareplanSchedule, + model : this.CareplanActivity, required : false, - as : 'CareplanSchedule', + as : 'CareplanActivity', //through: { attributes: [] } }, { model : this.Careplan, @@ -171,16 +171,16 @@ export class EnrollmentScheduleService { // includeUser.where['Xyz'] = filters.Xyz; //} search.include.push(includeUserAsUser); - const includeCareplanScheduleAsCareplanSchedule = { - model : this.CareplanSchedule, + const includeCareplanActivityAsCareplanActivity = { + model : this.CareplanActivity, required : false, - as : 'CareplanSchedule', + as : 'CareplanActivity', where : {} }; //if (filters.Xyz != undefined) { - // includeCareplanSchedule.where['Xyz'] = filters.Xyz; + // includeCareplanActivity.where['Xyz'] = filters.Xyz; //} - search.include.push(includeCareplanScheduleAsCareplanSchedule); + search.include.push(includeCareplanActivityAsCareplanActivity); const includeCareplanAsCareplan = { model : this.Careplan, required : false, diff --git a/src/database/repository.services/user.responses/user.activity.response.service.ts b/src/database/repository.services/user.responses/user.activity.response.service.ts index 6401519..9a5c975 100644 --- a/src/database/repository.services/user.responses/user.activity.response.service.ts +++ b/src/database/repository.services/user.responses/user.activity.response.service.ts @@ -8,8 +8,8 @@ import { EnrollmentScheduleModel } from '../../models/enrollment/enrollment.schedule.model'; import { - CareplanScheduleModel -} from '../../models/careplan/careplan.schedule.model'; + CareplanActivityModel +} from '../../models/careplan/careplan.activity.model'; import { CareplanModel } from '../../models/careplan/careplan.model'; @@ -38,7 +38,7 @@ export class UserActivityResponseService { EnrollmentSchedule = EnrollmentScheduleModel.Model; - CareplanSchedule = CareplanScheduleModel.Model; + CareplanActivity = CareplanActivityModel.Model; Careplan = CareplanModel.Model; @@ -72,9 +72,9 @@ export class UserActivityResponseService { as : 'EnrollmentSchedule', //through: { attributes: [] } }, { - model : this.CareplanSchedule, + model : this.CareplanActivity, required : false, - as : 'CareplanSchedule', + as : 'CareplanActivity', //through: { attributes: [] } }, { model : this.Careplan, @@ -216,16 +216,16 @@ export class UserActivityResponseService { // includeEnrollmentSchedule.where['Xyz'] = filters.Xyz; //} search.include.push(includeEnrollmentScheduleAsEnrollmentSchedule); - const includeCareplanScheduleAsCareplanSchedule = { - model : this.CareplanSchedule, + const includeCareplanActivityAsCareplanActivity = { + model : this.CareplanActivity, required : false, - as : 'CareplanSchedule', + as : 'CareplanActivity', where : {} }; //if (filters.Xyz != undefined) { - // includeCareplanSchedule.where['Xyz'] = filters.Xyz; + // includeCareplanActivity.where['Xyz'] = filters.Xyz; //} - search.include.push(includeCareplanScheduleAsCareplanSchedule); + search.include.push(includeCareplanActivityAsCareplanActivity); const includeCareplanAsCareplan = { model : this.Careplan, required : false, diff --git a/src/domain.types/careplan/careplan.schedule.domain.types.ts b/src/domain.types/careplan/careplan.activity.domain.types.ts similarity index 72% rename from src/domain.types/careplan/careplan.schedule.domain.types.ts rename to src/domain.types/careplan/careplan.activity.domain.types.ts index b5ca1dd..01fb313 100644 --- a/src/domain.types/careplan/careplan.schedule.domain.types.ts +++ b/src/domain.types/careplan/careplan.activity.domain.types.ts @@ -5,7 +5,7 @@ import { } from "../miscellaneous/base.search.types"; import { uuid } from "../miscellaneous/system.types"; -export interface CareplanScheduleCreateModel { +export interface CareplanActivityCreateModel { AssetId? : number; AssetType? : AssetType; CareplanId?: number; @@ -13,7 +13,7 @@ export interface CareplanScheduleCreateModel { TimeSlot? : TimeSlot; } -export interface CareplanScheduleUpdateModel { +export interface CareplanActivityUpdateModel { AssetId? : number; AssetType? : AssetType; CareplanId?: number; @@ -21,7 +21,7 @@ export interface CareplanScheduleUpdateModel { TimeSlot? : TimeSlot; } -export interface CareplanScheduleDto { +export interface CareplanActivityDto { id : uuid; AssetId : number; AssetType : AssetType; @@ -31,7 +31,7 @@ export interface CareplanScheduleDto { } -export interface CareplanScheduleSearchFilters extends BaseSearchFilters { +export interface CareplanActivitySearchFilters extends BaseSearchFilters { AssetId? : number; AssetType? : AssetType; CareplanId?: number; @@ -39,6 +39,6 @@ export interface CareplanScheduleSearchFilters extends BaseSearchFilters { TimeSlot? : TimeSlot; } -export interface CareplanScheduleSearchResults extends BaseSearchResults { - Items: CareplanScheduleDto[]; +export interface CareplanActivitySearchResults extends BaseSearchResults { + Items: CareplanActivityDto[]; } diff --git a/src/domain.types/enrollment/enrollment.schedule.domain.types.ts b/src/domain.types/enrollment/enrollment.schedule.domain.types.ts index 505b28f..1abe231 100644 --- a/src/domain.types/enrollment/enrollment.schedule.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.schedule.domain.types.ts @@ -10,7 +10,7 @@ import { export interface EnrollmentScheduleCreateModel { EnrollmentId : uuid; ParticipantId : uuid; - CareplanScheduleId: uuid; + CareplanActivityId: uuid; AssetId : number; AssetType : AssetType; CareplanId : number; @@ -26,7 +26,7 @@ export interface EnrollmentScheduleDto { id : uuid; EnrollmentId : uuid; ParticipantId : uuid; - CareplanScheduleId: uuid; + CareplanActivityId: uuid; AssetId : number; AssetType : AssetType; CareplanId : number; diff --git a/src/domain.types/user.responses/user.activity.response.domain.types.ts b/src/domain.types/user.responses/user.activity.response.domain.types.ts index e052722..0666130 100644 --- a/src/domain.types/user.responses/user.activity.response.domain.types.ts +++ b/src/domain.types/user.responses/user.activity.response.domain.types.ts @@ -11,7 +11,7 @@ import { export interface UserActivityResponseCreateModel { ParticipantId : uuid; EnrollmentScheduleId: uuid; - CareplanScheduleId : uuid; + CareplanActivityId : uuid; CareplanId : number; AssetId : number; AssetType : AssetType; @@ -31,7 +31,7 @@ export interface UserActivityResponseDto { id : uuid; ParticipantId : uuid; EnrollmentScheduleId: uuid; - CareplanScheduleId : uuid; + CareplanActivityId : uuid; CareplanId : number; AssetId : number; AssetType : AssetType; diff --git a/src/startup/router.ts b/src/startup/router.ts index c492a27..d9fe26c 100644 --- a/src/startup/router.ts +++ b/src/startup/router.ts @@ -2,7 +2,7 @@ import express from "express"; import { Logger } from "../common/logger"; import { register as registerCareplanRoutes } from "../api/careplan/careplan/careplan.routes"; import { register as registerCareplanCategoryRoutes } from "../api/careplan/careplan.category/careplan.category.routes"; -import { register as registerCareplanScheduleRoutes } from "../api/careplan/careplan.schedule/careplan.schedule.routes"; +import { register as registerCareplanActivityRoutes } from "../api/careplan/careplan.activity/careplan.activity.routes"; import { register as registerApiClientRoutes } from "../api/api.client/api.client.routes"; import { register as registerActionPlanRoutes } from "../api/assets/action.plan/action.plan.routes"; import { register as registerAnimationRoutes } from "../api/assets/animation/animation.routes"; @@ -66,7 +66,7 @@ export class Router { registerCareplanCategoryRoutes(this._app); registerApiClientRoutes(this._app); registerCareplanCategoryRoutes(this._app); - registerCareplanScheduleRoutes(this._app); + registerCareplanActivityRoutes(this._app); registerApiClientRoutes(this._app); registerActionPlanRoutes(this._app); registerAnimationRoutes(this._app); diff --git a/tests/test-suite/careplan.schedule.test.js b/tests/test-suite/careplan.schedule.test.js index 0274f1e..5f6d67b 100644 --- a/tests/test-suite/careplan.schedule.test.js +++ b/tests/test-suite/careplan.schedule.test.js @@ -12,8 +12,8 @@ describe('Careplan schedule tests', function() { var agent = request.agent(infra.app); it('Create careplan schedule', function(done) { - loadCareplanScheduleCreateModel(); - const createModel = TestCache.CareplanScheduleCreateModel; + loadCareplanActivityCreateModel(); + const createModel = TestCache.CareplanActivityCreateModel; agent .post(`/api/v1/careplan-schedules/`) .set('Content-Type', 'application/json') @@ -29,12 +29,12 @@ describe('Careplan schedule tests', function() { expect(response.body.Data).to.have.property('Day'); expect(response.body.Data).to.have.property('TimeSlot'); - expect(response.body.Data.id).to.equal(TestCache.CareplanScheduleCreateModel.id); - expect(response.body.Data.AssetId).to.equal(TestCache.CareplanScheduleCreateModel.AssetId); - expect(response.body.Data.AssetType).to.equal(TestCache.CareplanScheduleCreateModel.AssetType); - expect(response.body.Data.CareplanId).to.equal(TestCache.CareplanScheduleCreateModel.CareplanId); - expect(response.body.Data.Day).to.equal(TestCache.CareplanScheduleCreateModel.Day); - expect(response.body.Data.TimeSlot).to.equal(TestCache.CareplanScheduleCreateModel.TimeSlot); + expect(response.body.Data.id).to.equal(TestCache.CareplanActivityCreateModel.id); + expect(response.body.Data.AssetId).to.equal(TestCache.CareplanActivityCreateModel.AssetId); + expect(response.body.Data.AssetType).to.equal(TestCache.CareplanActivityCreateModel.AssetType); + expect(response.body.Data.CareplanId).to.equal(TestCache.CareplanActivityCreateModel.CareplanId); + expect(response.body.Data.Day).to.equal(TestCache.CareplanActivityCreateModel.Day); + expect(response.body.Data.TimeSlot).to.equal(TestCache.CareplanActivityCreateModel.TimeSlot); }) .expect(201, done); @@ -54,20 +54,20 @@ describe('Careplan schedule tests', function() { expect(response.body.Data).to.have.property('Day'); expect(response.body.Data).to.have.property('TimeSlot'); - expect(response.body.Data.id).to.equal(TestCache.CareplanScheduleCreateModel.id); - expect(response.body.Data.AssetId).to.equal(TestCache.CareplanScheduleCreateModel.AssetId); - expect(response.body.Data.AssetType).to.equal(TestCache.CareplanScheduleCreateModel.AssetType); - expect(response.body.Data.CareplanId).to.equal(TestCache.CareplanScheduleCreateModel.CareplanId); - expect(response.body.Data.Day).to.equal(TestCache.CareplanScheduleCreateModel.Day); - expect(response.body.Data.TimeSlot).to.equal(TestCache.CareplanScheduleCreateModel.TimeSlot); + expect(response.body.Data.id).to.equal(TestCache.CareplanActivityCreateModel.id); + expect(response.body.Data.AssetId).to.equal(TestCache.CareplanActivityCreateModel.AssetId); + expect(response.body.Data.AssetType).to.equal(TestCache.CareplanActivityCreateModel.AssetType); + expect(response.body.Data.CareplanId).to.equal(TestCache.CareplanActivityCreateModel.CareplanId); + expect(response.body.Data.Day).to.equal(TestCache.CareplanActivityCreateModel.Day); + expect(response.body.Data.TimeSlot).to.equal(TestCache.CareplanActivityCreateModel.TimeSlot); }) .expect(200, done); }); it('Search careplan schedule records', function(done) { - loadCareplanScheduleQueryString(); - const queryString = TestCache.CareplanScheduleQueryString; + loadCareplanActivityQueryString(); + const queryString = TestCache.CareplanActivityQueryString; agent .get(`/api/v1/careplan-schedules/search${queryString}`) .set('Content-Type', 'application/json') @@ -87,8 +87,8 @@ describe('Careplan schedule tests', function() { }); it('Update careplan schedule', function(done) { - loadCareplanScheduleUpdateModel(); - const updateModel = TestCache.CareplanScheduleUpdateModel; + loadCareplanActivityUpdateModel(); + const updateModel = TestCache.CareplanActivityUpdateModel; const id = `${TestCache.CAREPLAN_SCHEDULE_ID}` agent .put(`/api/v1/careplan-schedules/${TestCache.CAREPLAN_SCHEDULE_ID}`) @@ -103,12 +103,12 @@ describe('Careplan schedule tests', function() { expect(response.body.Data).to.have.property('Day'); expect(response.body.Data).to.have.property('TimeSlot'); - expect(response.body.Data.id).to.equal(TestCache.CareplanScheduleCreateModel.id); - expect(response.body.Data.AssetId).to.equal(TestCache.CareplanScheduleCreateModel.AssetId); - expect(response.body.Data.AssetType).to.equal(TestCache.CareplanScheduleCreateModel.AssetType); - expect(response.body.Data.CareplanId).to.equal(TestCache.CareplanScheduleCreateModel.CareplanId); - expect(response.body.Data.Day).to.equal(TestCache.CareplanScheduleCreateModel.Day); - expect(response.body.Data.TimeSlot).to.equal(TestCache.CareplanScheduleCreateModel.TimeSlot); + expect(response.body.Data.id).to.equal(TestCache.CareplanActivityCreateModel.id); + expect(response.body.Data.AssetId).to.equal(TestCache.CareplanActivityCreateModel.AssetId); + expect(response.body.Data.AssetType).to.equal(TestCache.CareplanActivityCreateModel.AssetType); + expect(response.body.Data.CareplanId).to.equal(TestCache.CareplanActivityCreateModel.CareplanId); + expect(response.body.Data.Day).to.equal(TestCache.CareplanActivityCreateModel.Day); + expect(response.body.Data.TimeSlot).to.equal(TestCache.CareplanActivityCreateModel.TimeSlot); }) .expect(200, done); @@ -136,7 +136,7 @@ describe('Careplan schedule tests', function() { .expect(404, done); //Recreate it again because we need it again - const createModel = TestCache.CareplanScheduleCreateModel; + const createModel = TestCache.CareplanActivityCreateModel; agent .post(`/api/v1/careplan-schedules/`) .set('Content-Type', 'application/json') @@ -152,12 +152,12 @@ describe('Careplan schedule tests', function() { expect(response.body.Data).to.have.property('Day'); expect(response.body.Data).to.have.property('TimeSlot'); - expect(response.body.Data.id).to.equal(TestCache.CareplanScheduleCreateModel.id); - expect(response.body.Data.AssetId).to.equal(TestCache.CareplanScheduleCreateModel.AssetId); - expect(response.body.Data.AssetType).to.equal(TestCache.CareplanScheduleCreateModel.AssetType); - expect(response.body.Data.CareplanId).to.equal(TestCache.CareplanScheduleCreateModel.CareplanId); - expect(response.body.Data.Day).to.equal(TestCache.CareplanScheduleCreateModel.Day); - expect(response.body.Data.TimeSlot).to.equal(TestCache.CareplanScheduleCreateModel.TimeSlot); + expect(response.body.Data.id).to.equal(TestCache.CareplanActivityCreateModel.id); + expect(response.body.Data.AssetId).to.equal(TestCache.CareplanActivityCreateModel.AssetId); + expect(response.body.Data.AssetType).to.equal(TestCache.CareplanActivityCreateModel.AssetType); + expect(response.body.Data.CareplanId).to.equal(TestCache.CareplanActivityCreateModel.CareplanId); + expect(response.body.Data.Day).to.equal(TestCache.CareplanActivityCreateModel.Day); + expect(response.body.Data.TimeSlot).to.equal(TestCache.CareplanActivityCreateModel.TimeSlot); }) .expect(201, done); @@ -167,7 +167,7 @@ describe('Careplan schedule tests', function() { /////////////////////////////////////////////////////////////////////////// -function loadCareplanScheduleCreateModel() { +function loadCareplanActivityCreateModel() { const model = { AssetId: TestCache.ASSET_ID, AssetType: "Message", @@ -176,10 +176,10 @@ function loadCareplanScheduleCreateModel() { TimeSlot: "Morning", }; - TestCache.CareplanScheduleCreateModel = model; + TestCache.CareplanActivityCreateModel = model; } -function loadCareplanScheduleUpdateModel() { +function loadCareplanActivityUpdateModel() { const model = { AssetId: TestCache.ASSET_ID, AssetType: "Message", @@ -188,10 +188,10 @@ function loadCareplanScheduleUpdateModel() { TimeSlot: "Morning", }; - TestCache.CareplanScheduleUpdateModel = model; + TestCache.CareplanActivityUpdateModel = model; } -function loadCareplanScheduleQueryString() { +function loadCareplanActivityQueryString() { //This is raw query. Please modify to suit the test const queryString = '?assetId=xyz&assetType=xyz&careplanId=xyz&day=xyz&timeSlot=xyz' return queryString; diff --git a/tests/test-suite/enrollment.schedule.test.js b/tests/test-suite/enrollment.schedule.test.js index 37b1073..4a70235 100644 --- a/tests/test-suite/enrollment.schedule.test.js +++ b/tests/test-suite/enrollment.schedule.test.js @@ -25,7 +25,7 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('EnrollmentId'); expect(response.body.Data).to.have.property('UserId'); - expect(response.body.Data).to.have.property('CareplanScheduleId'); + expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('AssetId'); expect(response.body.Data).to.have.property('AssetType'); expect(response.body.Data).to.have.property('CareplanId'); @@ -35,7 +35,7 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data.id).to.equal(TestCache.EnrollmentScheduleCreateModel.id); expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentScheduleCreateModel.EnrollmentId); expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentScheduleCreateModel.UserId); - expect(response.body.Data.CareplanScheduleId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanScheduleId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanActivityId); expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetId); expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetType); expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanId); @@ -56,7 +56,7 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('EnrollmentId'); expect(response.body.Data).to.have.property('UserId'); - expect(response.body.Data).to.have.property('CareplanScheduleId'); + expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('AssetId'); expect(response.body.Data).to.have.property('AssetType'); expect(response.body.Data).to.have.property('CareplanId'); @@ -66,7 +66,7 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data.id).to.equal(TestCache.EnrollmentScheduleCreateModel.id); expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentScheduleCreateModel.EnrollmentId); expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentScheduleCreateModel.UserId); - expect(response.body.Data.CareplanScheduleId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanScheduleId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanActivityId); expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetId); expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetType); expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanId); @@ -111,7 +111,7 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('EnrollmentId'); expect(response.body.Data).to.have.property('UserId'); - expect(response.body.Data).to.have.property('CareplanScheduleId'); + expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('AssetId'); expect(response.body.Data).to.have.property('AssetType'); expect(response.body.Data).to.have.property('CareplanId'); @@ -121,7 +121,7 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data.id).to.equal(TestCache.EnrollmentScheduleCreateModel.id); expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentScheduleCreateModel.EnrollmentId); expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentScheduleCreateModel.UserId); - expect(response.body.Data.CareplanScheduleId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanScheduleId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanActivityId); expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetId); expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetType); expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanId); @@ -166,7 +166,7 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('EnrollmentId'); expect(response.body.Data).to.have.property('UserId'); - expect(response.body.Data).to.have.property('CareplanScheduleId'); + expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('AssetId'); expect(response.body.Data).to.have.property('AssetType'); expect(response.body.Data).to.have.property('CareplanId'); @@ -176,7 +176,7 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data.id).to.equal(TestCache.EnrollmentScheduleCreateModel.id); expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentScheduleCreateModel.EnrollmentId); expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentScheduleCreateModel.UserId); - expect(response.body.Data.CareplanScheduleId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanScheduleId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanActivityId); expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetId); expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetType); expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanId); diff --git a/tests/test-suite/user.activity.response.test.js b/tests/test-suite/user.activity.response.test.js index 0ac114a..addcab5 100644 --- a/tests/test-suite/user.activity.response.test.js +++ b/tests/test-suite/user.activity.response.test.js @@ -25,7 +25,7 @@ describe('User activity response tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('UserId'); expect(response.body.Data).to.have.property('EnrollmentScheduleId'); - expect(response.body.Data).to.have.property('CareplanScheduleId'); + expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('CareplanId'); expect(response.body.Data).to.have.property('AssetId'); expect(response.body.Data).to.have.property('AssetType'); @@ -36,7 +36,7 @@ describe('User activity response tests', function() { expect(response.body.Data.id).to.equal(TestCache.UserActivityResponseCreateModel.id); expect(response.body.Data.UserId).to.equal(TestCache.UserActivityResponseCreateModel.UserId); expect(response.body.Data.EnrollmentScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentScheduleId); - expect(response.body.Data.CareplanScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanScheduleId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanActivityId); expect(response.body.Data.CareplanId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanId); expect(response.body.Data.AssetId).to.equal(TestCache.UserActivityResponseCreateModel.AssetId); expect(response.body.Data.AssetType).to.equal(TestCache.UserActivityResponseCreateModel.AssetType); @@ -58,7 +58,7 @@ describe('User activity response tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('UserId'); expect(response.body.Data).to.have.property('EnrollmentScheduleId'); - expect(response.body.Data).to.have.property('CareplanScheduleId'); + expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('CareplanId'); expect(response.body.Data).to.have.property('AssetId'); expect(response.body.Data).to.have.property('AssetType'); @@ -69,7 +69,7 @@ describe('User activity response tests', function() { expect(response.body.Data.id).to.equal(TestCache.UserActivityResponseCreateModel.id); expect(response.body.Data.UserId).to.equal(TestCache.UserActivityResponseCreateModel.UserId); expect(response.body.Data.EnrollmentScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentScheduleId); - expect(response.body.Data.CareplanScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanScheduleId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanActivityId); expect(response.body.Data.CareplanId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanId); expect(response.body.Data.AssetId).to.equal(TestCache.UserActivityResponseCreateModel.AssetId); expect(response.body.Data.AssetType).to.equal(TestCache.UserActivityResponseCreateModel.AssetType); @@ -115,7 +115,7 @@ describe('User activity response tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('UserId'); expect(response.body.Data).to.have.property('EnrollmentScheduleId'); - expect(response.body.Data).to.have.property('CareplanScheduleId'); + expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('CareplanId'); expect(response.body.Data).to.have.property('AssetId'); expect(response.body.Data).to.have.property('AssetType'); @@ -126,7 +126,7 @@ describe('User activity response tests', function() { expect(response.body.Data.id).to.equal(TestCache.UserActivityResponseCreateModel.id); expect(response.body.Data.UserId).to.equal(TestCache.UserActivityResponseCreateModel.UserId); expect(response.body.Data.EnrollmentScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentScheduleId); - expect(response.body.Data.CareplanScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanScheduleId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanActivityId); expect(response.body.Data.CareplanId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanId); expect(response.body.Data.AssetId).to.equal(TestCache.UserActivityResponseCreateModel.AssetId); expect(response.body.Data.AssetType).to.equal(TestCache.UserActivityResponseCreateModel.AssetType); @@ -172,7 +172,7 @@ describe('User activity response tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('UserId'); expect(response.body.Data).to.have.property('EnrollmentScheduleId'); - expect(response.body.Data).to.have.property('CareplanScheduleId'); + expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('CareplanId'); expect(response.body.Data).to.have.property('AssetId'); expect(response.body.Data).to.have.property('AssetType'); @@ -183,7 +183,7 @@ describe('User activity response tests', function() { expect(response.body.Data.id).to.equal(TestCache.UserActivityResponseCreateModel.id); expect(response.body.Data.UserId).to.equal(TestCache.UserActivityResponseCreateModel.UserId); expect(response.body.Data.EnrollmentScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentScheduleId); - expect(response.body.Data.CareplanScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanScheduleId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanActivityId); expect(response.body.Data.CareplanId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanId); expect(response.body.Data.AssetId).to.equal(TestCache.UserActivityResponseCreateModel.AssetId); expect(response.body.Data.AssetType).to.equal(TestCache.UserActivityResponseCreateModel.AssetType); From a6edc258e20f34d14def6c2959637b3a7d839151 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Fri, 29 Jul 2022 20:01:39 +0530 Subject: [PATCH 024/169] Renamed enrollment schedule to enrollment task --- ...n.service.workflow.postman_collection.json | 14 +-- seed.data/role.privileges.json | 10 +- .../careplan.activity.routes.ts | 2 +- .../enrollment.task.controller.delegate.ts} | 31 +++--- .../enrollment.task.controller.ts} | 14 +-- .../enrollment.task.routes.ts} | 8 +- .../enrollment.task.validator.ts} | 2 +- .../enrollment.controller.delegate.ts | 16 ++-- ...r.activity.response.controller.delegate.ts | 30 +++--- .../user.activity.response.validator.ts | 4 +- .../enrollment/enrollment.schedule.mapper.ts | 32 +++---- .../user.activity.response.mapper.ts | 20 ++-- ...dule.model.ts => enrollment.task.model.ts} | 20 ++-- .../user.activity.response.model.ts | 8 +- ....service.ts => enrollment.task.service.ts} | 30 +++--- .../user.activity.response.service.ts | 20 ++-- ...pes.ts => enrollment.task.domain.types.ts} | 12 +-- .../user.activity.response.domain.types.ts | 6 +- src/startup/router.ts | 4 +- tests/test-suite/enrollment.schedule.test.js | 96 +++++++++---------- .../test-suite/user.activity.response.test.js | 20 ++-- 21 files changed, 196 insertions(+), 203 deletions(-) rename src/api/enrollment/{enrollment.schedule/enrollment.schedule.controller.delegate.ts => enrollment.task/enrollment.task.controller.delegate.ts} (80%) rename src/api/enrollment/{enrollment.schedule/enrollment.schedule.controller.ts => enrollment.task/enrollment.task.controller.ts} (73%) rename src/api/enrollment/{enrollment.schedule/enrollment.schedule.routes.ts => enrollment.task/enrollment.task.routes.ts} (72%) rename src/api/enrollment/{enrollment.schedule/enrollment.schedule.validator.ts => enrollment.task/enrollment.task.validator.ts} (98%) rename src/database/models/enrollment/{enrollment.schedule.model.ts => enrollment.task.model.ts} (83%) rename src/database/repository.services/enrollment/{enrollment.schedule.service.ts => enrollment.task.service.ts} (87%) rename src/domain.types/enrollment/{enrollment.schedule.domain.types.ts => enrollment.task.domain.types.ts} (73%) diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index 0be2a3a..6be0514 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -15512,7 +15512,7 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentTaskId');\r", " pm.expect(jsonRes.Data).to.have.property('Response');\r", " \r", "});\r", @@ -15538,7 +15538,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n \"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentTaskId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/user-activity-responses", @@ -15571,7 +15571,7 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentTaskId');\r", " pm.expect(jsonRes.Data).to.have.property('Response');\r", " \r", "});\r", @@ -15705,7 +15705,7 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentTaskId');\r", " pm.expect(jsonRes.Data).to.have.property('Response');\r", " \r", "});\r", @@ -15731,7 +15731,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentTaskId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", @@ -15826,7 +15826,7 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentTaskId');\r", " pm.expect(jsonRes.Data).to.have.property('Response');\r", " \r", "});\r", @@ -15852,7 +15852,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentTaskId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/user-activity-responses", diff --git a/seed.data/role.privileges.json b/seed.data/role.privileges.json index e8266a8..c4ad1b6 100644 --- a/seed.data/role.privileges.json +++ b/seed.data/role.privileges.json @@ -246,11 +246,11 @@ "Enrollment.Update", "Enrollment.Delete", - "EnrollmentSchedule.Create", - "EnrollmentSchedule.Search", - "EnrollmentSchedule.GetById", - "EnrollmentSchedule.Update", - "EnrollmentSchedule.Delete", + "EnrollmentTask.Create", + "EnrollmentTask.Search", + "EnrollmentTask.GetById", + "EnrollmentTask.Update", + "EnrollmentTask.Delete", "UserActivityResponse.Create", "UserActivityResponse.Search", diff --git a/src/api/careplan/careplan.activity/careplan.activity.routes.ts b/src/api/careplan/careplan.activity/careplan.activity.routes.ts index cc3365a..c6c8140 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.routes.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.routes.ts @@ -20,5 +20,5 @@ export const register = (app: express.Application): void => { router.put('/:id', authenticator.authenticateUser, controller.update); router.delete('/:id', authenticator.authenticateUser, controller.delete); - app.use('/api/v1/careplan-schedules', router); + app.use('/api/v1/careplan-activities', router); }; diff --git a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts similarity index 80% rename from src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts rename to src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index 4e23024..5d9bb99 100644 --- a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -1,37 +1,30 @@ import { - EnrollmentScheduleService -} from '../../../database/repository.services/enrollment/enrollment.schedule.service'; + EnrollmentTaskService +} from '../../../database/repository.services/enrollment/enrollment.task.service'; import { ErrorHandler } from '../../../common/error.handler'; import { - Helper -} from '../../../common/helper'; -import { - ApiError -} from '../../../common/api.error'; -import { - EnrollmentScheduleValidator as validator -} from './enrollment.schedule.validator'; + EnrollmentTaskValidator as validator +} from './enrollment.task.validator'; import { uuid } from '../../../domain.types/miscellaneous/system.types'; import { - EnrollmentScheduleUpdateModel, - EnrollmentScheduleSearchFilters, - EnrollmentScheduleSearchResults -} from '../../../domain.types/enrollment/enrollment.schedule.domain.types'; + EnrollmentTaskSearchFilters, + EnrollmentTaskSearchResults +} from '../../../domain.types/enrollment/enrollment.task.domain.types'; /////////////////////////////////////////////////////////////////////////////////////// -export class EnrollmentScheduleControllerDelegate { +export class EnrollmentTaskControllerDelegate { //#region member variables and constructors - _service: EnrollmentScheduleService = null; + _service: EnrollmentTaskService = null; constructor() { - this._service = new EnrollmentScheduleService(); + this._service = new EnrollmentTaskService(); } //#endregion @@ -46,8 +39,8 @@ export class EnrollmentScheduleControllerDelegate { search = async (query: any) => { await validator.validateSearchRequest(query); - var filters: EnrollmentScheduleSearchFilters = this.getSearchFilters(query); - var searchResults: EnrollmentScheduleSearchResults = await this._service.search(filters); + var filters: EnrollmentTaskSearchFilters = this.getSearchFilters(query); + var searchResults: EnrollmentTaskSearchResults = await this._service.search(filters); var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; diff --git a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.ts similarity index 73% rename from src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts rename to src/api/enrollment/enrollment.task/enrollment.task.controller.ts index 49f0113..ad2a20d 100644 --- a/src/api/enrollment/enrollment.schedule/enrollment.schedule.controller.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.ts @@ -3,30 +3,30 @@ import { ResponseHandler } from '../../../common/response.handler'; import { - EnrollmentScheduleControllerDelegate -} from './enrollment.schedule.controller.delegate'; + EnrollmentTaskControllerDelegate +} from './enrollment.task.controller.delegate'; import { BaseController } from '../../base.controller'; /////////////////////////////////////////////////////////////////////////////////////// -export class EnrollmentScheduleController extends BaseController { +export class EnrollmentTaskController extends BaseController { //#region member variables and constructors - _delegate: EnrollmentScheduleControllerDelegate = null; + _delegate: EnrollmentTaskControllerDelegate = null; constructor() { super(); - this._delegate = new EnrollmentScheduleControllerDelegate(); + this._delegate = new EnrollmentTaskControllerDelegate(); } //#endregion getById = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('EnrollmentSchedule.GetById', request, response, false); + await this.authorize('EnrollmentTask.GetById', request, response, false); const record = await this._delegate.getById(request.params.id); const message = 'Enrollment schedule retrieved successfully!'; ResponseHandler.success(request, response, message, 200, record); @@ -37,7 +37,7 @@ export class EnrollmentScheduleController extends BaseController { search = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('EnrollmentSchedule.Search', request, response, false); + await this.authorize('EnrollmentTask.Search', request, response, false); const searchResults = await this._delegate.search(request.query); const message = 'Enrollment schedule records retrieved successfully!'; ResponseHandler.success(request, response, message, 200, searchResults); diff --git a/src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts b/src/api/enrollment/enrollment.task/enrollment.task.routes.ts similarity index 72% rename from src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts rename to src/api/enrollment/enrollment.task/enrollment.task.routes.ts index ab5bdd8..8160e79 100644 --- a/src/api/enrollment/enrollment.schedule/enrollment.schedule.routes.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.routes.ts @@ -1,7 +1,7 @@ import express from 'express'; import { - EnrollmentScheduleController -} from './enrollment.schedule.controller'; + EnrollmentTaskController +} from './enrollment.task.controller'; import { Loader } from '../../../startup/loader'; @@ -12,10 +12,10 @@ export const register = (app: express.Application): void => { const router = express.Router(); const authenticator = Loader.Authenticator; - const controller = new EnrollmentScheduleController(); + const controller = new EnrollmentTaskController(); router.get('/search', authenticator.authenticateClient, controller.search); router.get('/:id', authenticator.authenticateClient, controller.getById); - app.use('/api/v1/enrollment-schedules', router); + app.use('/api/v1/enrollment-tasks', router); }; diff --git a/src/api/enrollment/enrollment.schedule/enrollment.schedule.validator.ts b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts similarity index 98% rename from src/api/enrollment/enrollment.schedule/enrollment.schedule.validator.ts rename to src/api/enrollment/enrollment.task/enrollment.task.validator.ts index d5591c0..d85e5f0 100644 --- a/src/api/enrollment/enrollment.schedule/enrollment.schedule.validator.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts @@ -5,7 +5,7 @@ import { /////////////////////////////////////////////////////////////////////////////////////////////// -export class EnrollmentScheduleValidator { +export class EnrollmentTaskValidator { static validateCreateRequest = async (requestBody) => { try { diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index b27977c..0960b01 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -3,8 +3,8 @@ import { EnrollmentService } from '../../../database/repository.services/enrollment/enrollment.service'; import { - EnrollmentScheduleService -} from '../../../database/repository.services/enrollment/enrollment.schedule.service'; + EnrollmentTaskService +} from '../../../database/repository.services/enrollment/enrollment.task.service'; import { ErrorHandler } from '../../../common/error.handler'; @@ -29,7 +29,7 @@ import { EnrollmentSearchFilters, EnrollmentSearchResults } from '../../../domain.types/enrollment/enrollment.domain.types'; -import { EnrollmentScheduleCreateModel } from '../../../domain.types/enrollment/enrollment.schedule.domain.types'; +import { EnrollmentTaskCreateModel } from '../../../domain.types/enrollment/enrollment.task.domain.types'; import { TimeHelper } from '../../../common/time.helper'; import { DurationType } from '../../../domain.types/miscellaneous/time.types'; import { Logger } from '../../../common/logger'; @@ -44,12 +44,12 @@ export class EnrollmentControllerDelegate { _careplanActivityDelegate: CareplanActivityControllerDelegate = null; - _scheduleService: EnrollmentScheduleService = null; + _scheduleService: EnrollmentTaskService = null; constructor() { this._service = new EnrollmentService(); this._careplanActivityDelegate = new CareplanActivityControllerDelegate(); - this._scheduleService = new EnrollmentScheduleService(); + this._scheduleService = new EnrollmentTaskService(); } //#endregion @@ -69,7 +69,7 @@ export class EnrollmentControllerDelegate { DurationType.Day ); - var enrollmentScheduleModel: EnrollmentScheduleCreateModel = { + var enrollmentTaskModel: EnrollmentTaskCreateModel = { EnrollmentId : record.id, ParticipantId : record.ParticipantId, @@ -82,8 +82,8 @@ export class EnrollmentControllerDelegate { }; try { - const enrollmentScheduleRecord = await this._scheduleService.create(enrollmentScheduleModel); - Logger.instance().log(JSON.stringify(enrollmentScheduleRecord, null, 2)); + const enrollmentTaskRecord = await this._scheduleService.create(enrollmentTaskModel); + Logger.instance().log(JSON.stringify(enrollmentTaskRecord, null, 2)); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment schedule!', error); } diff --git a/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts b/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts index ac77353..c4f52a2 100644 --- a/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts +++ b/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts @@ -22,7 +22,7 @@ import { UserActivityResponseSearchFilters, UserActivityResponseSearchResults } from '../../../domain.types/user.responses/user.activity.response.domain.types'; -import { EnrollmentScheduleService } from '../../../database/repository.services/enrollment/enrollment.schedule.service'; +import { EnrollmentTaskService } from '../../../database/repository.services/enrollment/enrollment.task.service'; /////////////////////////////////////////////////////////////////////////////////////// @@ -32,19 +32,19 @@ export class UserActivityResponseControllerDelegate { _service: UserActivityResponseService = null; - _enrollmentScheduleService: EnrollmentScheduleService = null + _enrollmentTaskService: EnrollmentTaskService = null constructor() { this._service = new UserActivityResponseService(); - this._enrollmentScheduleService = new EnrollmentScheduleService(); + this._enrollmentTaskService = new EnrollmentTaskService(); } //#endregion create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); - const enrollmentSchedule = await this._enrollmentScheduleService.getById(requestBody.EnrollmentScheduleId); - var createModel: UserActivityResponseCreateModel = this.getCreateModel(requestBody, enrollmentSchedule); + const enrollmentTask = await this._enrollmentTaskService.getById(requestBody.EnrollmentTaskId); + var createModel: UserActivityResponseCreateModel = this.getCreateModel(requestBody, enrollmentTask); const record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create user activity response!', 400); @@ -141,8 +141,8 @@ export class UserActivityResponseControllerDelegate { if (Helper.hasProperty(requestBody, 'ParticipantId')) { updateModel.ParticipantId = requestBody.ParticipantId; } - if (Helper.hasProperty(requestBody, 'EnrollmentScheduleId')) { - updateModel.EnrollmentScheduleId = requestBody.EnrollmentScheduleId; + if (Helper.hasProperty(requestBody, 'EnrollmentTaskId')) { + updateModel.EnrollmentTaskId = requestBody.EnrollmentTaskId; } if (Helper.hasProperty(requestBody, 'Response')) { updateModel.Response = requestBody.Response; @@ -154,14 +154,14 @@ export class UserActivityResponseControllerDelegate { return updateModel; } - getCreateModel = (requestBody, enrollmentSchedule): UserActivityResponseCreateModel => { + getCreateModel = (requestBody, enrollmentTask): UserActivityResponseCreateModel => { return { ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, - EnrollmentScheduleId : requestBody.EnrollmentScheduleId ? requestBody.EnrollmentScheduleId : null, - CareplanActivityId : enrollmentSchedule.CareplanActivityId ? enrollmentSchedule.CareplanActivityId : null, - CareplanId : enrollmentSchedule.CareplanId ? enrollmentSchedule.CareplanId : null , - AssetId : enrollmentSchedule.AssetId ? enrollmentSchedule.AssetId : null, - AssetType : enrollmentSchedule.AssetType ? enrollmentSchedule.AssetType : null, + EnrollmentTaskId : requestBody.EnrollmentTaskId ? requestBody.EnrollmentTaskId : null, + CareplanActivityId : enrollmentTask.CareplanActivityId ? enrollmentTask.CareplanActivityId : null, + CareplanId : enrollmentTask.CareplanId ? enrollmentTask.CareplanId : null , + AssetId : enrollmentTask.AssetId ? enrollmentTask.AssetId : null, + AssetType : enrollmentTask.AssetType ? enrollmentTask.AssetType : null, Response : requestBody.Response ? requestBody.Response : '{}', TimeResponded : new Date(), ProgressStatus : requestBody.ProgressStatus ? requestBody.ProgressStatus : 'Completed' @@ -175,7 +175,7 @@ export class UserActivityResponseControllerDelegate { return { id : record.id, ParticipantId : record.ParticipantId, - EnrollmentScheduleId : record.EnrollmentScheduleId, + EnrollmentTaskId : record.EnrollmentTaskId, CareplanActivityId : record.CareplanActivityId, CareplanId : record.CareplanId, AssetId : record.AssetId, @@ -193,7 +193,7 @@ export class UserActivityResponseControllerDelegate { return { id : record.id, ParticipantId : record.ParticipantId, - EnrollmentScheduleId : record.EnrollmentScheduleId, + EnrollmentTaskId : record.EnrollmentTaskId, CareplanActivityId : record.CareplanActivityId, CareplanId : record.CareplanId, AssetId : record.AssetId, diff --git a/src/api/user.responses/user.activity.response/user.activity.response.validator.ts b/src/api/user.responses/user.activity.response/user.activity.response.validator.ts index 76733f0..c191650 100644 --- a/src/api/user.responses/user.activity.response/user.activity.response.validator.ts +++ b/src/api/user.responses/user.activity.response/user.activity.response.validator.ts @@ -13,7 +13,7 @@ export class UserActivityResponseValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), - EnrollmentScheduleId : joi.string().guid({ + EnrollmentTaskId : joi.string().guid({ version : ['uuidv4'] }).optional(), Response : joi.string().optional(), @@ -31,7 +31,7 @@ export class UserActivityResponseValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), - EnrollmentScheduleId : joi.string().guid({ + EnrollmentTaskId : joi.string().guid({ version : ['uuidv4'] }).optional(), Response : joi.string().optional(), diff --git a/src/database/mappers/enrollment/enrollment.schedule.mapper.ts b/src/database/mappers/enrollment/enrollment.schedule.mapper.ts index 6becc52..8a42e48 100644 --- a/src/database/mappers/enrollment/enrollment.schedule.mapper.ts +++ b/src/database/mappers/enrollment/enrollment.schedule.mapper.ts @@ -1,28 +1,28 @@ import { - EnrollmentScheduleDto -} from '../../../domain.types/enrollment/enrollment.schedule.domain.types'; + EnrollmentTaskDto +} from '../../../domain.types/enrollment/enrollment.task.domain.types'; /////////////////////////////////////////////////////////////////////////////////// -export class EnrollmentScheduleMapper { +export class EnrollmentTaskMapper { - static toDto = (enrollmentSchedule: any): EnrollmentScheduleDto => { - if (enrollmentSchedule == null) { + static toDto = (enrollmentTask: any): EnrollmentTaskDto => { + if (enrollmentTask == null) { return null; } - const dto: EnrollmentScheduleDto = { - id: enrollmentSchedule.id, - EnrollmentId: enrollmentSchedule.EnrollmentId, - ParticipantId: enrollmentSchedule.ParticipantId, - CareplanActivityId: enrollmentSchedule.CareplanActivityId, - AssetId: enrollmentSchedule.AssetId, - AssetType: enrollmentSchedule.AssetType, - CareplanId: enrollmentSchedule.CareplanId, - TimeSlot: enrollmentSchedule.TimeSlot, - ScheduledDate: enrollmentSchedule.ScheduledDate, + const dto: EnrollmentTaskDto = { + id : enrollmentTask.id, + EnrollmentId : enrollmentTask.EnrollmentId, + ParticipantId : enrollmentTask.ParticipantId, + CareplanActivityId : enrollmentTask.CareplanActivityId, + AssetId : enrollmentTask.AssetId, + AssetType : enrollmentTask.AssetType, + CareplanId : enrollmentTask.CareplanId, + TimeSlot : enrollmentTask.TimeSlot, + ScheduledDate : enrollmentTask.ScheduledDate, }; return dto; }; -} \ No newline at end of file +} diff --git a/src/database/mappers/user.responses/user.activity.response.mapper.ts b/src/database/mappers/user.responses/user.activity.response.mapper.ts index 136293d..5a4b1c8 100644 --- a/src/database/mappers/user.responses/user.activity.response.mapper.ts +++ b/src/database/mappers/user.responses/user.activity.response.mapper.ts @@ -11,16 +11,16 @@ export class UserActivityResponseMapper { return null; } const dto: UserActivityResponseDto = { - id : userActivityResponse.id, - ParticipantId : userActivityResponse.ParticipantId, - EnrollmentScheduleId : userActivityResponse.EnrollmentScheduleId, - CareplanActivityId : userActivityResponse.CareplanActivityId, - CareplanId : userActivityResponse.CareplanId, - AssetId : userActivityResponse.AssetId, - AssetType : userActivityResponse.AssetType, - Response : userActivityResponse.Response, - TimeResponded : userActivityResponse.TimeResponded, - ProgressStatus : userActivityResponse.ProgressStatus, + id : userActivityResponse.id, + ParticipantId : userActivityResponse.ParticipantId, + EnrollmentTaskId : userActivityResponse.EnrollmentTaskId, + CareplanActivityId : userActivityResponse.CareplanActivityId, + CareplanId : userActivityResponse.CareplanId, + AssetId : userActivityResponse.AssetId, + AssetType : userActivityResponse.AssetType, + Response : userActivityResponse.Response, + TimeResponded : userActivityResponse.TimeResponded, + ProgressStatus : userActivityResponse.ProgressStatus, }; return dto; diff --git a/src/database/models/enrollment/enrollment.schedule.model.ts b/src/database/models/enrollment/enrollment.task.model.ts similarity index 83% rename from src/database/models/enrollment/enrollment.schedule.model.ts rename to src/database/models/enrollment/enrollment.task.model.ts index 4343c61..4b7bb79 100644 --- a/src/database/models/enrollment/enrollment.schedule.model.ts +++ b/src/database/models/enrollment/enrollment.task.model.ts @@ -6,11 +6,11 @@ import { TimeSlotList } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// -export class EnrollmentScheduleModel { +export class EnrollmentTaskModel { - static TableName = 'enrollment_schedules'; + static TableName = 'enrollment_tasks'; - static ModelName = 'EnrollmentSchedule'; + static ModelName = 'EnrollmentTask'; static Schema = { id : { @@ -67,8 +67,8 @@ export class EnrollmentScheduleModel { }; static Model: any = sequelize.define( - EnrollmentScheduleModel.ModelName, - EnrollmentScheduleModel.Schema, + EnrollmentTaskModel.ModelName, + EnrollmentTaskModel.Schema, { createdAt : 'CreatedAt', updatedAt : 'UpdatedAt', @@ -76,32 +76,32 @@ export class EnrollmentScheduleModel { freezeTableName : true, timestamps : true, paranoid : true, - tableName : EnrollmentScheduleModel.TableName, + tableName : EnrollmentTaskModel.TableName, }); static associate = (models) => { //Add associations here... - models.EnrollmentSchedule.belongsTo(models.Enrollment, { + models.EnrollmentTask.belongsTo(models.Enrollment, { sourceKey : 'EnrollmentId', targetKey : 'id', as : 'Enrollment' }); - models.EnrollmentSchedule.belongsTo(models.Participant, { + models.EnrollmentTask.belongsTo(models.Participant, { sourceKey : 'ParticipantId', targetKey : 'id', as : 'Participant' }); - models.EnrollmentSchedule.belongsTo(models.CareplanActivity, { + models.EnrollmentTask.belongsTo(models.CareplanActivity, { sourceKey : 'CareplanActivityId', targetKey : 'id', as : 'CareplanActivity' }); - models.EnrollmentSchedule.belongsTo(models.Careplan, { + models.EnrollmentTask.belongsTo(models.Careplan, { sourceKey : 'CareplanId', targetKey : 'id', as : 'Careplan' diff --git a/src/database/models/user.responses/user.activity.response.model.ts b/src/database/models/user.responses/user.activity.response.model.ts index 91e26e8..c4991fb 100644 --- a/src/database/models/user.responses/user.activity.response.model.ts +++ b/src/database/models/user.responses/user.activity.response.model.ts @@ -25,7 +25,7 @@ export class UserActivityResponseModel { foreignKey : true, unique : false }, - EnrollmentScheduleId : { + EnrollmentTaskId : { type : DataTypes.UUID, allowNull : false, foreignKey : true, @@ -94,10 +94,10 @@ export class UserActivityResponseModel { as : 'Participant' }); - models.UserActivityResponse.belongsTo(models.EnrollmentSchedule, { - sourceKey : 'EnrollmentScheduleId', + models.UserActivityResponse.belongsTo(models.EnrollmentTask, { + sourceKey : 'EnrollmentTaskId', targetKey : 'id', - as : 'EnrollmentSchedule' + as : 'EnrollmentTask' }); models.UserActivityResponse.belongsTo(models.CareplanActivity, { diff --git a/src/database/repository.services/enrollment/enrollment.schedule.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts similarity index 87% rename from src/database/repository.services/enrollment/enrollment.schedule.service.ts rename to src/database/repository.services/enrollment/enrollment.task.service.ts index a54454f..7c54795 100644 --- a/src/database/repository.services/enrollment/enrollment.schedule.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -1,6 +1,6 @@ import { - EnrollmentScheduleModel -} from '../../models/enrollment/enrollment.schedule.model'; + EnrollmentTaskModel +} from '../../models/enrollment/enrollment.task.model'; import { EnrollmentModel } from '../../models/enrollment/enrollment.model'; @@ -18,18 +18,18 @@ import { ErrorHandler } from '../../../common/error.handler'; import { - EnrollmentScheduleCreateModel, - EnrollmentScheduleSearchFilters, - EnrollmentScheduleSearchResults -} from '../../../domain.types/enrollment/enrollment.schedule.domain.types'; + EnrollmentTaskCreateModel, + EnrollmentTaskSearchFilters, + EnrollmentTaskSearchResults +} from '../../../domain.types/enrollment/enrollment.task.domain.types'; /////////////////////////////////////////////////////////////////////////////////////////////// -export class EnrollmentScheduleService { +export class EnrollmentTaskService { //#region Models - EnrollmentSchedule = EnrollmentScheduleModel.Model; + EnrollmentTask = EnrollmentTaskModel.Model; Enrollment = EnrollmentModel.Model; @@ -43,9 +43,9 @@ export class EnrollmentScheduleService { //#region Publics - create = async (createModel: EnrollmentScheduleCreateModel) => { + create = async (createModel: EnrollmentTaskCreateModel) => { try { - var record = await this.EnrollmentSchedule.create(createModel); + var record = await this.EnrollmentTask.create(createModel); return await this.getById(record.id); } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment schedule!', error); @@ -54,7 +54,7 @@ export class EnrollmentScheduleService { getById = async (id) => { try { - const record = await this.EnrollmentSchedule.findOne({ + const record = await this.EnrollmentTask.findOne({ where : { id : id }, @@ -90,14 +90,14 @@ export class EnrollmentScheduleService { exists = async (id): Promise < boolean > => { try { - const record = await this.EnrollmentSchedule.findByPk(id); + const record = await this.EnrollmentTask.findByPk(id); return record !== null; } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of enrollment schedule!', error); } } - search = async (filters: EnrollmentScheduleSearchFilters): Promise < EnrollmentScheduleSearchResults > => { + search = async (filters: EnrollmentTaskSearchFilters): Promise < EnrollmentTaskSearchResults > => { try { var search = this.getSearchModel(filters); @@ -110,8 +110,8 @@ export class EnrollmentScheduleService { limit } = this.addPaginationToSearch(search, filters); - const foundResults = await this.EnrollmentSchedule.findAndCountAll(search); - const searchResults: EnrollmentScheduleSearchResults = { + const foundResults = await this.EnrollmentTask.findAndCountAll(search); + const searchResults: EnrollmentTaskSearchResults = { TotalCount : foundResults.count, RetrievedCount : foundResults.rows.length, PageIndex : pageIndex, diff --git a/src/database/repository.services/user.responses/user.activity.response.service.ts b/src/database/repository.services/user.responses/user.activity.response.service.ts index 9a5c975..eb89e43 100644 --- a/src/database/repository.services/user.responses/user.activity.response.service.ts +++ b/src/database/repository.services/user.responses/user.activity.response.service.ts @@ -5,8 +5,8 @@ import { ParticipantModel } from '../../models/enrollment/participant.model'; import { - EnrollmentScheduleModel -} from '../../models/enrollment/enrollment.schedule.model'; + EnrollmentTaskModel +} from '../../models/enrollment/enrollment.task.model'; import { CareplanActivityModel } from '../../models/careplan/careplan.activity.model'; @@ -36,7 +36,7 @@ export class UserActivityResponseService { Participant = ParticipantModel.Model; - EnrollmentSchedule = EnrollmentScheduleModel.Model; + EnrollmentTask = EnrollmentTaskModel.Model; CareplanActivity = CareplanActivityModel.Model; @@ -67,9 +67,9 @@ export class UserActivityResponseService { as : 'Participant', //through: { attributes: [] } }, { - model : this.EnrollmentSchedule, + model : this.EnrollmentTask, required : false, - as : 'EnrollmentSchedule', + as : 'EnrollmentTask', //through: { attributes: [] } }, { model : this.CareplanActivity, @@ -206,16 +206,16 @@ export class UserActivityResponseService { // includeUser.where['Xyz'] = filters.Xyz; //} search.include.push(includeUserAsUser); - const includeEnrollmentScheduleAsEnrollmentSchedule = { - model : this.EnrollmentSchedule, + const includeEnrollmentTaskAsEnrollmentTask = { + model : this.EnrollmentTask, required : false, - as : 'EnrollmentSchedule', + as : 'EnrollmentTask', where : {} }; //if (filters.Xyz != undefined) { - // includeEnrollmentSchedule.where['Xyz'] = filters.Xyz; + // includeEnrollmentTask.where['Xyz'] = filters.Xyz; //} - search.include.push(includeEnrollmentScheduleAsEnrollmentSchedule); + search.include.push(includeEnrollmentTaskAsEnrollmentTask); const includeCareplanActivityAsCareplanActivity = { model : this.CareplanActivity, required : false, diff --git a/src/domain.types/enrollment/enrollment.schedule.domain.types.ts b/src/domain.types/enrollment/enrollment.task.domain.types.ts similarity index 73% rename from src/domain.types/enrollment/enrollment.schedule.domain.types.ts rename to src/domain.types/enrollment/enrollment.task.domain.types.ts index 1abe231..315f116 100644 --- a/src/domain.types/enrollment/enrollment.schedule.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.task.domain.types.ts @@ -7,7 +7,7 @@ import { uuid } from "../miscellaneous/system.types"; -export interface EnrollmentScheduleCreateModel { +export interface EnrollmentTaskCreateModel { EnrollmentId : uuid; ParticipantId : uuid; CareplanActivityId: uuid; @@ -18,11 +18,11 @@ export interface EnrollmentScheduleCreateModel { ScheduledDate : Date; } -export interface EnrollmentScheduleUpdateModel { +export interface EnrollmentTaskUpdateModel { AssetType ?: AssetType; } -export interface EnrollmentScheduleDto { +export interface EnrollmentTaskDto { id : uuid; EnrollmentId : uuid; ParticipantId : uuid; @@ -34,13 +34,13 @@ export interface EnrollmentScheduleDto { ScheduledDate : Date; } -export interface EnrollmentScheduleSearchFilters extends BaseSearchFilters { +export interface EnrollmentTaskSearchFilters extends BaseSearchFilters { AssetId ?: number; AssetType ?: AssetType; CareplanId ?: number; TimeSlot ?: TimeSlot; } -export interface EnrollmentScheduleSearchResults extends BaseSearchResults { - Items: EnrollmentScheduleDto[]; +export interface EnrollmentTaskSearchResults extends BaseSearchResults { + Items: EnrollmentTaskDto[]; } diff --git a/src/domain.types/user.responses/user.activity.response.domain.types.ts b/src/domain.types/user.responses/user.activity.response.domain.types.ts index 0666130..84943ec 100644 --- a/src/domain.types/user.responses/user.activity.response.domain.types.ts +++ b/src/domain.types/user.responses/user.activity.response.domain.types.ts @@ -10,7 +10,7 @@ import { export interface UserActivityResponseCreateModel { ParticipantId : uuid; - EnrollmentScheduleId: uuid; + EnrollmentTaskId: uuid; CareplanActivityId : uuid; CareplanId : number; AssetId : number; @@ -22,7 +22,7 @@ export interface UserActivityResponseCreateModel { export interface UserActivityResponseUpdateModel { ParticipantId ?: uuid; - EnrollmentScheduleId ?: uuid; + EnrollmentTaskId ?: uuid; Response ?: string; ProgressStatus ?: ProgressStatus; } @@ -30,7 +30,7 @@ export interface UserActivityResponseUpdateModel { export interface UserActivityResponseDto { id : uuid; ParticipantId : uuid; - EnrollmentScheduleId: uuid; + EnrollmentTaskId: uuid; CareplanActivityId : uuid; CareplanId : number; AssetId : number; diff --git a/src/startup/router.ts b/src/startup/router.ts index d9fe26c..2b5ce0d 100644 --- a/src/startup/router.ts +++ b/src/startup/router.ts @@ -30,7 +30,7 @@ import { register as registerWebLinkRoutes } from "../api/assets/web.li import { register as registerWebNewsFeedRoutes } from "../api/assets/web.newsfeed/web.newsfeed.routes"; import { register as registerWordPowerRoutes } from "../api/assets/word.power/word.power.routes"; import { register as registerEnrollmentRoutes } from "../api/enrollment/enrollment/enrollment.routes"; -import { register as registerEnrollmentScheduleRoutes } from "../api/enrollment/enrollment.schedule/enrollment.schedule.routes"; +import { register as registerEnrollmentTaskRoutes } from "../api/enrollment/enrollment.task/enrollment.task.routes"; import { register as registerFileREsourceRoutes } from "../api/file.resource/file.resource.routes"; import { register as registerTypesRoutes } from "../api/types/types.routes"; import { register as registerUserRoutes } from "../api/user/user.routes"; @@ -94,7 +94,7 @@ export class Router { registerWebNewsFeedRoutes(this._app); registerWordPowerRoutes(this._app); registerEnrollmentRoutes(this._app); - registerEnrollmentScheduleRoutes(this._app); + registerEnrollmentTaskRoutes(this._app); registerFileREsourceRoutes(this._app); registerTypesRoutes(this._app); registerUserRoutes(this._app); diff --git a/tests/test-suite/enrollment.schedule.test.js b/tests/test-suite/enrollment.schedule.test.js index 4a70235..b265973 100644 --- a/tests/test-suite/enrollment.schedule.test.js +++ b/tests/test-suite/enrollment.schedule.test.js @@ -12,8 +12,8 @@ describe('Enrollment schedule tests', function() { var agent = request.agent(infra.app); it('Create enrollment schedule', function(done) { - loadEnrollmentScheduleCreateModel(); - const createModel = TestCache.EnrollmentScheduleCreateModel; + loadEnrollmentTaskCreateModel(); + const createModel = TestCache.EnrollmentTaskCreateModel; agent .post(`/api/v1/enrollment-schedules/`) .set('Content-Type', 'application/json') @@ -32,15 +32,15 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data).to.have.property('TimeSlot'); expect(response.body.Data).to.have.property('ScheduledDate'); - expect(response.body.Data.id).to.equal(TestCache.EnrollmentScheduleCreateModel.id); - expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentScheduleCreateModel.EnrollmentId); - expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentScheduleCreateModel.UserId); - expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanActivityId); - expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetId); - expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetType); - expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanId); - expect(response.body.Data.TimeSlot).to.equal(TestCache.EnrollmentScheduleCreateModel.TimeSlot); - expect(response.body.Data.ScheduledDate).to.equal(TestCache.EnrollmentScheduleCreateModel.ScheduledDate); + expect(response.body.Data.id).to.equal(TestCache.EnrollmentTaskCreateModel.id); + expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentTaskCreateModel.EnrollmentId); + expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentTaskCreateModel.UserId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentTaskCreateModel.CareplanActivityId); + expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentTaskCreateModel.AssetId); + expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentTaskCreateModel.AssetType); + expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentTaskCreateModel.CareplanId); + expect(response.body.Data.TimeSlot).to.equal(TestCache.EnrollmentTaskCreateModel.TimeSlot); + expect(response.body.Data.ScheduledDate).to.equal(TestCache.EnrollmentTaskCreateModel.ScheduledDate); }) .expect(201, done); @@ -63,23 +63,23 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data).to.have.property('TimeSlot'); expect(response.body.Data).to.have.property('ScheduledDate'); - expect(response.body.Data.id).to.equal(TestCache.EnrollmentScheduleCreateModel.id); - expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentScheduleCreateModel.EnrollmentId); - expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentScheduleCreateModel.UserId); - expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanActivityId); - expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetId); - expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetType); - expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanId); - expect(response.body.Data.TimeSlot).to.equal(TestCache.EnrollmentScheduleCreateModel.TimeSlot); - expect(response.body.Data.ScheduledDate).to.equal(TestCache.EnrollmentScheduleCreateModel.ScheduledDate); + expect(response.body.Data.id).to.equal(TestCache.EnrollmentTaskCreateModel.id); + expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentTaskCreateModel.EnrollmentId); + expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentTaskCreateModel.UserId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentTaskCreateModel.CareplanActivityId); + expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentTaskCreateModel.AssetId); + expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentTaskCreateModel.AssetType); + expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentTaskCreateModel.CareplanId); + expect(response.body.Data.TimeSlot).to.equal(TestCache.EnrollmentTaskCreateModel.TimeSlot); + expect(response.body.Data.ScheduledDate).to.equal(TestCache.EnrollmentTaskCreateModel.ScheduledDate); }) .expect(200, done); }); it('Search enrollment schedule records', function(done) { - loadEnrollmentScheduleQueryString(); - const queryString = TestCache.EnrollmentScheduleQueryString; + loadEnrollmentTaskQueryString(); + const queryString = TestCache.EnrollmentTaskQueryString; agent .get(`/api/v1/enrollment-schedules/search${queryString}`) .set('Content-Type', 'application/json') @@ -99,8 +99,8 @@ describe('Enrollment schedule tests', function() { }); it('Update enrollment schedule', function(done) { - loadEnrollmentScheduleUpdateModel(); - const updateModel = TestCache.EnrollmentScheduleUpdateModel; + loadEnrollmentTaskUpdateModel(); + const updateModel = TestCache.EnrollmentTaskUpdateModel; const id = `${TestCache.ENROLLMENT_SCHEDULE_ID}` agent .put(`/api/v1/enrollment-schedules/${TestCache.ENROLLMENT_SCHEDULE_ID}`) @@ -118,15 +118,15 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data).to.have.property('TimeSlot'); expect(response.body.Data).to.have.property('ScheduledDate'); - expect(response.body.Data.id).to.equal(TestCache.EnrollmentScheduleCreateModel.id); - expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentScheduleCreateModel.EnrollmentId); - expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentScheduleCreateModel.UserId); - expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanActivityId); - expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetId); - expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetType); - expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanId); - expect(response.body.Data.TimeSlot).to.equal(TestCache.EnrollmentScheduleCreateModel.TimeSlot); - expect(response.body.Data.ScheduledDate).to.equal(TestCache.EnrollmentScheduleCreateModel.ScheduledDate); + expect(response.body.Data.id).to.equal(TestCache.EnrollmentTaskCreateModel.id); + expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentTaskCreateModel.EnrollmentId); + expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentTaskCreateModel.UserId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentTaskCreateModel.CareplanActivityId); + expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentTaskCreateModel.AssetId); + expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentTaskCreateModel.AssetType); + expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentTaskCreateModel.CareplanId); + expect(response.body.Data.TimeSlot).to.equal(TestCache.EnrollmentTaskCreateModel.TimeSlot); + expect(response.body.Data.ScheduledDate).to.equal(TestCache.EnrollmentTaskCreateModel.ScheduledDate); }) .expect(200, done); @@ -154,7 +154,7 @@ describe('Enrollment schedule tests', function() { .expect(404, done); //Recreate it again because we need it again - const createModel = TestCache.EnrollmentScheduleCreateModel; + const createModel = TestCache.EnrollmentTaskCreateModel; agent .post(`/api/v1/enrollment-schedules/`) .set('Content-Type', 'application/json') @@ -173,15 +173,15 @@ describe('Enrollment schedule tests', function() { expect(response.body.Data).to.have.property('TimeSlot'); expect(response.body.Data).to.have.property('ScheduledDate'); - expect(response.body.Data.id).to.equal(TestCache.EnrollmentScheduleCreateModel.id); - expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentScheduleCreateModel.EnrollmentId); - expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentScheduleCreateModel.UserId); - expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanActivityId); - expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetId); - expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentScheduleCreateModel.AssetType); - expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentScheduleCreateModel.CareplanId); - expect(response.body.Data.TimeSlot).to.equal(TestCache.EnrollmentScheduleCreateModel.TimeSlot); - expect(response.body.Data.ScheduledDate).to.equal(TestCache.EnrollmentScheduleCreateModel.ScheduledDate); + expect(response.body.Data.id).to.equal(TestCache.EnrollmentTaskCreateModel.id); + expect(response.body.Data.EnrollmentId).to.equal(TestCache.EnrollmentTaskCreateModel.EnrollmentId); + expect(response.body.Data.UserId).to.equal(TestCache.EnrollmentTaskCreateModel.UserId); + expect(response.body.Data.CareplanActivityId).to.equal(TestCache.EnrollmentTaskCreateModel.CareplanActivityId); + expect(response.body.Data.AssetId).to.equal(TestCache.EnrollmentTaskCreateModel.AssetId); + expect(response.body.Data.AssetType).to.equal(TestCache.EnrollmentTaskCreateModel.AssetType); + expect(response.body.Data.CareplanId).to.equal(TestCache.EnrollmentTaskCreateModel.CareplanId); + expect(response.body.Data.TimeSlot).to.equal(TestCache.EnrollmentTaskCreateModel.TimeSlot); + expect(response.body.Data.ScheduledDate).to.equal(TestCache.EnrollmentTaskCreateModel.ScheduledDate); }) .expect(201, done); @@ -191,23 +191,23 @@ describe('Enrollment schedule tests', function() { /////////////////////////////////////////////////////////////////////////// -function loadEnrollmentScheduleCreateModel() { +function loadEnrollmentTaskCreateModel() { const model = { AssetType: "Message", }; - TestCache.EnrollmentScheduleCreateModel = model; + TestCache.EnrollmentTaskCreateModel = model; } -function loadEnrollmentScheduleUpdateModel() { +function loadEnrollmentTaskUpdateModel() { const model = { AssetType: "Message", }; - TestCache.EnrollmentScheduleUpdateModel = model; + TestCache.EnrollmentTaskUpdateModel = model; } -function loadEnrollmentScheduleQueryString() { +function loadEnrollmentTaskQueryString() { //This is raw query. Please modify to suit the test const queryString = '?assetId=xyz&assetType=xyz&careplanId=xyz&timeSlot=xyz' return queryString; diff --git a/tests/test-suite/user.activity.response.test.js b/tests/test-suite/user.activity.response.test.js index addcab5..e99be17 100644 --- a/tests/test-suite/user.activity.response.test.js +++ b/tests/test-suite/user.activity.response.test.js @@ -24,7 +24,7 @@ describe('User activity response tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('UserId'); - expect(response.body.Data).to.have.property('EnrollmentScheduleId'); + expect(response.body.Data).to.have.property('EnrollmentTaskId'); expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('CareplanId'); expect(response.body.Data).to.have.property('AssetId'); @@ -35,7 +35,7 @@ describe('User activity response tests', function() { expect(response.body.Data.id).to.equal(TestCache.UserActivityResponseCreateModel.id); expect(response.body.Data.UserId).to.equal(TestCache.UserActivityResponseCreateModel.UserId); - expect(response.body.Data.EnrollmentScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentScheduleId); + expect(response.body.Data.EnrollmentTaskId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentTaskId); expect(response.body.Data.CareplanActivityId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanActivityId); expect(response.body.Data.CareplanId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanId); expect(response.body.Data.AssetId).to.equal(TestCache.UserActivityResponseCreateModel.AssetId); @@ -57,7 +57,7 @@ describe('User activity response tests', function() { .expect(response => { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('UserId'); - expect(response.body.Data).to.have.property('EnrollmentScheduleId'); + expect(response.body.Data).to.have.property('EnrollmentTaskId'); expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('CareplanId'); expect(response.body.Data).to.have.property('AssetId'); @@ -68,7 +68,7 @@ describe('User activity response tests', function() { expect(response.body.Data.id).to.equal(TestCache.UserActivityResponseCreateModel.id); expect(response.body.Data.UserId).to.equal(TestCache.UserActivityResponseCreateModel.UserId); - expect(response.body.Data.EnrollmentScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentScheduleId); + expect(response.body.Data.EnrollmentTaskId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentTaskId); expect(response.body.Data.CareplanActivityId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanActivityId); expect(response.body.Data.CareplanId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanId); expect(response.body.Data.AssetId).to.equal(TestCache.UserActivityResponseCreateModel.AssetId); @@ -114,7 +114,7 @@ describe('User activity response tests', function() { .expect(response => { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('UserId'); - expect(response.body.Data).to.have.property('EnrollmentScheduleId'); + expect(response.body.Data).to.have.property('EnrollmentTaskId'); expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('CareplanId'); expect(response.body.Data).to.have.property('AssetId'); @@ -125,7 +125,7 @@ describe('User activity response tests', function() { expect(response.body.Data.id).to.equal(TestCache.UserActivityResponseCreateModel.id); expect(response.body.Data.UserId).to.equal(TestCache.UserActivityResponseCreateModel.UserId); - expect(response.body.Data.EnrollmentScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentScheduleId); + expect(response.body.Data.EnrollmentTaskId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentTaskId); expect(response.body.Data.CareplanActivityId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanActivityId); expect(response.body.Data.CareplanId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanId); expect(response.body.Data.AssetId).to.equal(TestCache.UserActivityResponseCreateModel.AssetId); @@ -171,7 +171,7 @@ describe('User activity response tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('UserId'); - expect(response.body.Data).to.have.property('EnrollmentScheduleId'); + expect(response.body.Data).to.have.property('EnrollmentTaskId'); expect(response.body.Data).to.have.property('CareplanActivityId'); expect(response.body.Data).to.have.property('CareplanId'); expect(response.body.Data).to.have.property('AssetId'); @@ -182,7 +182,7 @@ describe('User activity response tests', function() { expect(response.body.Data.id).to.equal(TestCache.UserActivityResponseCreateModel.id); expect(response.body.Data.UserId).to.equal(TestCache.UserActivityResponseCreateModel.UserId); - expect(response.body.Data.EnrollmentScheduleId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentScheduleId); + expect(response.body.Data.EnrollmentTaskId).to.equal(TestCache.UserActivityResponseCreateModel.EnrollmentTaskId); expect(response.body.Data.CareplanActivityId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanActivityId); expect(response.body.Data.CareplanId).to.equal(TestCache.UserActivityResponseCreateModel.CareplanId); expect(response.body.Data.AssetId).to.equal(TestCache.UserActivityResponseCreateModel.AssetId); @@ -202,7 +202,7 @@ describe('User activity response tests', function() { function loadUserActivityResponseCreateModel() { const model = { UserId: TestCache.USER_ID, - EnrollmentScheduleId: TestCache.ENROLLMENT_SCHEDULE_ID, + EnrollmentTaskId: TestCache.ENROLLMENT_SCHEDULE_ID, Response: "{}", }; @@ -212,7 +212,7 @@ function loadUserActivityResponseCreateModel() { function loadUserActivityResponseUpdateModel() { const model = { UserId: TestCache.USER_ID, - EnrollmentScheduleId: TestCache.ENROLLMENT_SCHEDULE_ID, + EnrollmentTaskId: TestCache.ENROLLMENT_SCHEDULE_ID, Response: "{}", }; From dbdac243812cecbb140e834aaaec6e7965c815ed Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Fri, 29 Jul 2022 20:02:07 +0530 Subject: [PATCH 025/169] linting fixes --- ...r.activity.response.controller.delegate.ts | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts b/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts index c4f52a2..d18a5b2 100644 --- a/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts +++ b/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts @@ -156,15 +156,15 @@ export class UserActivityResponseControllerDelegate { getCreateModel = (requestBody, enrollmentTask): UserActivityResponseCreateModel => { return { - ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, - EnrollmentTaskId : requestBody.EnrollmentTaskId ? requestBody.EnrollmentTaskId : null, - CareplanActivityId : enrollmentTask.CareplanActivityId ? enrollmentTask.CareplanActivityId : null, - CareplanId : enrollmentTask.CareplanId ? enrollmentTask.CareplanId : null , - AssetId : enrollmentTask.AssetId ? enrollmentTask.AssetId : null, - AssetType : enrollmentTask.AssetType ? enrollmentTask.AssetType : null, - Response : requestBody.Response ? requestBody.Response : '{}', - TimeResponded : new Date(), - ProgressStatus : requestBody.ProgressStatus ? requestBody.ProgressStatus : 'Completed' + ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, + EnrollmentTaskId : requestBody.EnrollmentTaskId ? requestBody.EnrollmentTaskId : null, + CareplanActivityId : enrollmentTask.CareplanActivityId ? enrollmentTask.CareplanActivityId : null, + CareplanId : enrollmentTask.CareplanId ? enrollmentTask.CareplanId : null , + AssetId : enrollmentTask.AssetId ? enrollmentTask.AssetId : null, + AssetType : enrollmentTask.AssetType ? enrollmentTask.AssetType : null, + Response : requestBody.Response ? requestBody.Response : '{}', + TimeResponded : new Date(), + ProgressStatus : requestBody.ProgressStatus ? requestBody.ProgressStatus : 'Completed' }; } @@ -173,16 +173,16 @@ export class UserActivityResponseControllerDelegate { return null; } return { - id : record.id, - ParticipantId : record.ParticipantId, - EnrollmentTaskId : record.EnrollmentTaskId, - CareplanActivityId : record.CareplanActivityId, - CareplanId : record.CareplanId, - AssetId : record.AssetId, - AssetType : record.AssetType, - Response : record.Response, - TimeResponded : record.TimeResponded, - ProgressStatus : record.ProgressStatus + id : record.id, + ParticipantId : record.ParticipantId, + EnrollmentTaskId : record.EnrollmentTaskId, + CareplanActivityId : record.CareplanActivityId, + CareplanId : record.CareplanId, + AssetId : record.AssetId, + AssetType : record.AssetType, + Response : record.Response, + TimeResponded : record.TimeResponded, + ProgressStatus : record.ProgressStatus }; } @@ -191,16 +191,16 @@ export class UserActivityResponseControllerDelegate { return null; } return { - id : record.id, - ParticipantId : record.ParticipantId, - EnrollmentTaskId : record.EnrollmentTaskId, - CareplanActivityId : record.CareplanActivityId, - CareplanId : record.CareplanId, - AssetId : record.AssetId, - AssetType : record.AssetType, - Response : record.Response, - TimeResponded : record.TimeResponded, - ProgressStatus : record.ProgressStatus + id : record.id, + ParticipantId : record.ParticipantId, + EnrollmentTaskId : record.EnrollmentTaskId, + CareplanActivityId : record.CareplanActivityId, + CareplanId : record.CareplanId, + AssetId : record.AssetId, + AssetType : record.AssetType, + Response : record.Response, + TimeResponded : record.TimeResponded, + ProgressStatus : record.ProgressStatus }; } From 8c3b60ffdf3f3c7e7bce64abceeb5b49da8537b5 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Fri, 29 Jul 2022 20:03:36 +0530 Subject: [PATCH 026/169] Updated postman collection --- ...n.service.workflow.postman_collection.json | 4472 +++++++++-------- 1 file changed, 2245 insertions(+), 2227 deletions(-) diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index 6be0514..a79e2c0 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -1869,7 +1869,7 @@ "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"PARTICIPANT_USER_ID\", jsonRes.Data.id);\r", + " pm.environment.set(\"PARTICIPANT_ID\", jsonRes.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -2039,13 +2039,13 @@ } }, "url": { - "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "participants", - "{{PARTICIPANT_USER_ID}}" + "{{PARTICIPANT_ID}}" ] } }, @@ -2245,13 +2245,13 @@ "raw": "{\r\n \"FirstName\": \"{{FIRST_NAME}}\",\r\n \"LastName\": \"{{LAST_NAME}}\",\r\n \"Gender\": \"Male\",\r\n \"ParticipantReferenceId\": \"66fce627-18fb\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "participants", - "{{PARTICIPANT_USER_ID}}" + "{{PARTICIPANT_ID}}" ] } }, @@ -2300,13 +2300,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_USER_ID}}", + "raw": "{{BASE_URL}}/participants/{{PARTICIPANT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "participants", - "{{PARTICIPANT_USER_ID}}" + "{{PARTICIPANT_ID}}" ] } }, @@ -2321,7 +2321,7 @@ "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"PARTICIPANT_USER_ID\", jsonRes.Data.id);\r", + " pm.environment.set(\"PARTICIPANT_ID\", jsonRes.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -2616,532 +2616,513 @@ ] }, { - "name": "Careplan category", + "name": "Asset management", "item": [ { - "name": "Create", - "event": [ + "name": "Action plan", + "item": [ { - "listen": "test", - "script": { - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CAREPLAN_CATEGORY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('New careplan category record is created', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Type');\r", - " \r", - " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", - "});\r", - "" + "name": "Create", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New action plan record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } ], - "type": "text/javascript" - } + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Exercise\",\r\n \"Physical activity\"\r\n ]\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/assets/action-plans", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "action-plans" + ] + } + }, + "response": [] }, { - "listen": "prerequest", - "script": { - "exec": [ - "var rand = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", - "pm.environment.set(\"CAREPLAN_CATEGORY\", 'Sports Rehab - ' + rand);\r", - "\r", - "" + "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Action plan record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + "});\r", + "\r", + "" + ] + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" + "url": { + "raw": "{{BASE_URL}}/assets/action-plans/{{ACTION_PLAN_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "action-plans", + "{{ACTION_PLAN_ID}}" + ] + } }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\"\r\n}\r\n" + "response": [] }, - "url": { - "raw": "{{BASE_URL}}/careplan-categories", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-categories" - ] - } - }, - "response": [] - }, - { - "name": "Try creating with same type - should fail", - "event": [ { - "listen": "test", - "script": { - "exec": [ - "\r", - "pm.test('Request is failure', function () {\r", - " pm.response.to.have.status(409);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('failure');\r", - "});\r", - "" + "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Action plan search results are returned', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "\r", + "});\r", + "\r", + "" + ] + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } ], - "type": "text/javascript" - } + "url": { + "raw": "{{BASE_URL}}/assets/action-plans/search?version=1.0", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "action-plans", + "search" + ], + "query": [ + { + "key": "assetCode", + "value": "xyz", + "disabled": true + }, + { + "key": "name", + "value": "xyz", + "disabled": true + }, + { + "key": "description", + "value": "xyz", + "disabled": true + }, + { + "key": "assetCategory", + "value": "xyz", + "disabled": true + }, + { + "key": "tags", + "value": "xyz", + "disabled": true + }, + { + "key": "version", + "value": "1.0" + } + ] + } + }, + "response": [] }, { - "listen": "prerequest", - "script": { - "exec": [ - "\r", - "" + "name": "Update", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Action plan record is updated ', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", + " pm.expect(jsonRes.Data.Description).equals('Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-2\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/action-plans/{{ACTION_PLAN_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "action-plans", + "{{ACTION_PLAN_ID}}" + ] + } }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\"\r\n}\r\n" + "response": [] }, - "url": { - "raw": "{{BASE_URL}}/careplan-categories", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-categories" - ] - } - }, - "response": [] - }, - { - "name": "Get by id", - "event": [ { - "listen": "test", - "script": { - "exec": [ - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Careplan category record is retrived', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Type');\r", - " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", - "});" + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Action plan record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true); \r", + "});\r", + "\r", + "" + ] + } + } + ], + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" + "url": { + "raw": "{{BASE_URL}}/assets/action-plans/{{ACTION_PLAN_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "action-plans", + "{{ACTION_PLAN_ID}}" + ] + } }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "url": { - "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-categories", - "{{CAREPLAN_CATEGORY_ID}}" - ] - } - }, - "response": [] - }, - { - "name": "Search with filters", - "event": [ + "response": [] + }, { - "listen": "test", - "script": { - "exec": [ - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Careplan category search results are returned', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - "});\r", - "" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "url": { - "raw": "{{BASE_URL}}/careplan-categories/search?type=sports", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-categories", - "search" - ], - "query": [ + "name": "Create again", + "event": [ { - "key": "type", - "value": "sports" + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New action plan record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } } - ] + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Exercise\",\r\n \"Physical activity\"\r\n ]\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/assets/action-plans", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "action-plans" + ] + } + }, + "response": [] } - }, - "response": [] + ] }, { - "name": "Update", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Careplan category record is updated', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Type');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " \r", - " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", - " pm.expect(jsonRes.Data.Description).equals('Some other category...');\r", - "});\r", - "" - ], - "type": "text/javascript" - } - }, + "name": "Animation", + "item": [ { - "listen": "prerequest", - "script": { - "exec": [ - "var rand = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", - "pm.environment.set(\"CAREPLAN_CATEGORY\", 'Sports Rehab - ' + rand);\r", - "" + "name": "Create", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New animation record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Version');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + "});\r", + " " + ] + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/assets/animations", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "assets", + "animations" + ] + } }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\",\r\n \"Description\": \"Some other category...\"\r\n}" - }, - "url": { - "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-categories", - "{{CAREPLAN_CATEGORY_ID}}" - ] - } - }, - "response": [] - }, - { - "name": "Delete", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Careplan category record is deleted', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - "});\r", - "" - ] - } - } - ], - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "url": { - "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-categories", - "{{CAREPLAN_CATEGORY_ID}}" - ] - } - }, - "response": [] - }, - { - "name": "Create again", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CAREPLAN_CATEGORY_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('New careplan category record is created', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('Type');\r", - " \r", - " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", - "});\r", - "" - ], - "type": "text/javascript" - } - }, - { - "listen": "prerequest", - "script": { - "exec": [ - "var rand = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", - "pm.environment.set(\"CAREPLAN_CATEGORY\", 'Sports Rehab - ' + rand);\r", - "\r", - "" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\"\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/careplan-categories", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-categories" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Asset management", - "item": [ - { - "name": "Action plan", - "item": [ - { - "name": "Create", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('New action plan record is created', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", - " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - "});\r", - "\r", - "" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Exercise\",\r\n \"Physical activity\"\r\n ]\r\n}" - }, - "url": { - "raw": "{{BASE_URL}}/assets/action-plans", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "assets", - "action-plans" - ] - } - }, - "response": [] + "response": [] }, { "name": "Get by id", @@ -3158,20 +3139,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Action plan record is retrived', function () {\r", + "pm.test('Animation record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -3195,14 +3175,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/action-plans/{{ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "action-plans", - "{{ACTION_PLAN_ID}}" + "animations", + "{{ANIMATION_ID}}" ] } }, @@ -3223,10 +3203,9 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Action plan search results are returned', function () {\r", + "pm.test('Animation search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - "\r", "});\r", "\r", "" @@ -3249,13 +3228,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/action-plans/search?version=1.0", + "raw": "{{BASE_URL}}/assets/animations/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "action-plans", + "animations", "search" ], "query": [ @@ -3270,7 +3249,12 @@ "disabled": true }, { - "key": "description", + "key": "transcript", + "value": "xyz", + "disabled": true + }, + { + "key": "url", "value": "xyz", "disabled": true }, @@ -3299,6 +3283,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -3307,27 +3292,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Action plan record is updated ', function () {\r", + "pm.test('Animation record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", - " pm.expect(jsonRes.Data.Description).equals('Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.');\r", - " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -3347,17 +3329,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-2\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/action-plans/{{ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "action-plans", - "{{ACTION_PLAN_ID}}" + "animations", + "{{ANIMATION_ID}}" ] } }, @@ -3378,10 +3360,10 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Action plan record is deleted', function () {\r", + "pm.test('Animation record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(true); \r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" @@ -3404,14 +3386,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/action-plans/{{ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "action-plans", - "{{ACTION_PLAN_ID}}" + "animations", + "{{ANIMATION_ID}}" ] } }, @@ -3423,10 +3405,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", + " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -3438,26 +3421,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New action plan record is created', function () {\r", + "pm.test('New animation record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", - "\r", - "" - ], - "type": "text/javascript" + " " + ] } } ], @@ -3477,16 +3457,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Exercise\",\r\n \"Physical activity\"\r\n ]\r\n}" + "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/action-plans", + "raw": "{{BASE_URL}}/assets/animations", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "action-plans" + "animations" ] } }, @@ -3495,7 +3475,7 @@ ] }, { - "name": "Animation", + "name": "Appointment", "item": [ { "name": "Create", @@ -3507,7 +3487,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -3519,23 +3499,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New animation record is created', function () {\r", + "pm.test('New appointment record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + " \r", "});\r", - " " + "\r", + "" ] } } @@ -3556,16 +3539,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/animations", + "raw": "{{BASE_URL}}/assets/appointments", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "animations" + "appointments" ] } }, @@ -3579,6 +3562,7 @@ "script": { "type": "text/javascript", "exec": [ + "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -3586,20 +3570,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Animation record is retrived', function () {\r", + "pm.test('Appointment record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + " \r", "});\r", "\r", "" @@ -3622,14 +3609,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", + "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "animations", - "{{ANIMATION_ID}}" + "appointments", + "{{APPOINTMENT_ID}}" ] } }, @@ -3650,9 +3637,10 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Animation search results are returned', function () {\r", + "pm.test('Appointment search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + " \r", "});\r", "\r", "" @@ -3675,13 +3663,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/animations/search?version=1.0", + "raw": "{{BASE_URL}}/assets/appointments/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "animations", + "appointments", "search" ], "query": [ @@ -3696,13 +3684,13 @@ "disabled": true }, { - "key": "transcript", + "key": "description", "value": "xyz", "disabled": true }, { - "key": "url", - "value": "xyz", + "key": "appointmentType", + "value": "Lab", "disabled": true }, { @@ -3739,20 +3727,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Animation record is updated', function () {\r", + "pm.test('New appointment record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + "\r", + " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + " \r", "});\r", "\r", "" @@ -3776,17 +3769,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", + "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "animations", - "{{ANIMATION_ID}}" + "appointments", + "{{APPOINTMENT_ID}}" ] } }, @@ -3800,6 +3793,13 @@ "script": { "type": "text/javascript", "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -3807,10 +3807,11 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Animation record is deleted', function () {\r", + "pm.test('Appointment record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + " \r", "});\r", "\r", "" @@ -3833,14 +3834,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", + "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "animations", - "{{ANIMATION_ID}}" + "appointments", + "{{APPOINTMENT_ID}}" ] } }, @@ -3856,7 +3857,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -3868,22 +3869,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New animation record is created', function () {\r", + "pm.test('New appointment record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + " \r", "});\r", - " " + "" ] } } @@ -3904,16 +3908,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/animations", + "raw": "{{BASE_URL}}/assets/appointments", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "animations" + "appointments" ] } }, @@ -3922,7 +3926,7 @@ ] }, { - "name": "Appointment", + "name": "Article", "item": [ { "name": "Create", @@ -3934,7 +3938,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", + " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -3946,23 +3950,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New appointment record is created', function () {\r", + "pm.test('New article record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", + " pm.expect(jsonRes.Data).to.have.property('Summary');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - " \r", "});\r", "\r", "" @@ -3986,16 +3987,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/appointments", + "raw": "{{BASE_URL}}/assets/articles", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "appointments" + "articles" ] } }, @@ -4009,7 +4010,6 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -4017,23 +4017,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Appointment record is retrived', function () {\r", + "pm.test('Article record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", + " pm.expect(jsonRes.Data).to.have.property('Summary');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - " \r", "});\r", "\r", "" @@ -4056,14 +4053,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", + "raw": "{{BASE_URL}}/assets/articles/{{ARTICLE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "appointments", - "{{APPOINTMENT_ID}}" + "articles", + "{{ARTICLE_ID}}" ] } }, @@ -4084,10 +4081,9 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Appointment search results are returned', function () {\r", + "pm.test('Article search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - " \r", "});\r", "\r", "" @@ -4110,13 +4106,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/appointments/search?version=1.0", + "raw": "{{BASE_URL}}/assets/articles/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "appointments", + "articles", "search" ], "query": [ @@ -4131,13 +4127,13 @@ "disabled": true }, { - "key": "description", + "key": "summary", "value": "xyz", "disabled": true }, { - "key": "appointmentType", - "value": "Lab", + "key": "url", + "value": "xyz", "disabled": true }, { @@ -4174,25 +4170,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New appointment record is updated', function () {\r", + "pm.test('Article record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", + " pm.expect(jsonRes.Data).to.have.property('Summary');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - "\r", - " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", - " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - " \r", "});\r", "\r", "" @@ -4216,17 +4207,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", + "raw": "{{BASE_URL}}/assets/articles/{{ARTICLE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "appointments", - "{{APPOINTMENT_ID}}" + "articles", + "{{ARTICLE_ID}}" ] } }, @@ -4240,13 +4231,6 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -4254,11 +4238,10 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Appointment record is deleted', function () {\r", + "pm.test('Article record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - " \r", "});\r", "\r", "" @@ -4281,14 +4264,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/appointments/{{APPOINTMENT_ID}}", + "raw": "{{BASE_URL}}/assets/articles/{{ARTICLE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "appointments", - "{{APPOINTMENT_ID}}" + "articles", + "{{ARTICLE_ID}}" ] } }, @@ -4304,7 +4287,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"APPOINTMENT_ID\", respData.Data.id);\r", + " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -4316,24 +4299,22 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New appointment record is created', function () {\r", + "pm.test('New article record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AppointmentType');\r", + " pm.expect(jsonRes.Data).to.have.property('Summary');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - " \r", "});\r", + "\r", "" ] } @@ -4355,16 +4336,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/appointments", + "raw": "{{BASE_URL}}/assets/articles", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "appointments" + "articles" ] } }, @@ -4373,7 +4354,7 @@ ] }, { - "name": "Article", + "name": "Assessment", "item": [ { "name": "Create", @@ -4385,7 +4366,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", + " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -4397,19 +4378,21 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New article record is created', function () {\r", + "pm.test('New assessment record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Summary');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Template');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -4434,16 +4417,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/articles", + "raw": "{{BASE_URL}}/assets/assessments", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "articles" + "assessments" ] } }, @@ -4464,19 +4447,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Article record is retrived', function () {\r", + "pm.test('Assessment record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Summary');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Template');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -4500,14 +4484,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/articles/{{ARTICLE_ID}}", + "raw": "{{BASE_URL}}/assets/assessments/{{ASSESSMENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "articles", - "{{ARTICLE_ID}}" + "assessments", + "{{ASSESSMENT_ID}}" ] } }, @@ -4528,7 +4512,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Article search results are returned', function () {\r", + "pm.test('Assessment search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -4553,13 +4537,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/articles/search?version=1.0", + "raw": "{{BASE_URL}}/assets/assessments/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "articles", + "assessments", "search" ], "query": [ @@ -4574,17 +4558,17 @@ "disabled": true }, { - "key": "summary", + "key": "description", "value": "xyz", "disabled": true }, { - "key": "url", + "key": "assetCategory", "value": "xyz", "disabled": true }, { - "key": "assetCategory", + "key": "template", "value": "xyz", "disabled": true }, @@ -4617,19 +4601,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Article record is updated', function () {\r", + "pm.test('Assessment record is updated', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Summary');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Template');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -4654,17 +4639,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/articles/{{ARTICLE_ID}}", + "raw": "{{BASE_URL}}/assets/assessments/{{ASSESSMENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "articles", - "{{ARTICLE_ID}}" + "assessments", + "{{ASSESSMENT_ID}}" ] } }, @@ -4678,6 +4663,7 @@ "script": { "type": "text/javascript", "exec": [ + "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -4685,7 +4671,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Article record is deleted', function () {\r", + "pm.test('Assessment record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -4711,14 +4697,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/articles/{{ARTICLE_ID}}", + "raw": "{{BASE_URL}}/assets/assessments/{{ASSESSMENT_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "articles", - "{{ARTICLE_ID}}" + "assessments", + "{{ASSESSMENT_ID}}" ] } }, @@ -4734,7 +4720,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"ARTICLE_ID\", respData.Data.id);\r", + " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -4746,19 +4732,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New article record is created', function () {\r", + "pm.test('New assessment record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Summary');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Template');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -4783,16 +4770,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/articles", + "raw": "{{BASE_URL}}/assets/assessments", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "articles" + "assessments" ] } }, @@ -4801,7 +4788,7 @@ ] }, { - "name": "Assessment", + "name": "Audio", "item": [ { "name": "Create", @@ -4813,7 +4800,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", + " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -4825,21 +4812,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New assessment record is created', function () {\r", + "pm.test('New audio record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Template');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -4864,16 +4849,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/assessments", + "raw": "{{BASE_URL}}/assets/audio", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "assessments" + "audio" ] } }, @@ -4894,20 +4879,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Assessment record is retrived', function () {\r", + "pm.test('Audio record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Template');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -4931,14 +4915,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/assessments/{{ASSESSMENT_ID}}", + "raw": "{{BASE_URL}}/assets/audio/{{AUDIO_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "assessments", - "{{ASSESSMENT_ID}}" + "audio", + "{{AUDIO_ID}}" ] } }, @@ -4959,7 +4943,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Assessment search results are returned', function () {\r", + "pm.test('Audio search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -4984,13 +4968,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/assessments/search?version=1.0", + "raw": "{{BASE_URL}}/assets/audio/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "assessments", + "audio", "search" ], "query": [ @@ -5005,17 +4989,17 @@ "disabled": true }, { - "key": "description", + "key": "transcript", "value": "xyz", "disabled": true }, { - "key": "assetCategory", + "key": "url", "value": "xyz", "disabled": true }, { - "key": "template", + "key": "assetCategory", "value": "xyz", "disabled": true }, @@ -5041,6 +5025,13 @@ "script": { "type": "text/javascript", "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -5048,20 +5039,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Assessment record is updated', function () {\r", + "pm.test('Audio record is updated', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Template');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -5086,17 +5076,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/assessments/{{ASSESSMENT_ID}}", + "raw": "{{BASE_URL}}/assets/audio/{{AUDIO_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "assessments", - "{{ASSESSMENT_ID}}" + "audio", + "{{AUDIO_ID}}" ] } }, @@ -5110,7 +5100,13 @@ "script": { "type": "text/javascript", "exec": [ - "\r", + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -5118,7 +5114,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Assessment record is deleted', function () {\r", + "pm.test('Audio record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -5144,14 +5140,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/assessments/{{ASSESSMENT_ID}}", + "raw": "{{BASE_URL}}/assets/audio/{{AUDIO_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "assessments", - "{{ASSESSMENT_ID}}" + "audio", + "{{AUDIO_ID}}" ] } }, @@ -5167,7 +5163,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"ASSESSMENT_ID\", respData.Data.id);\r", + " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -5179,20 +5175,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New assessment record is created', function () {\r", + "pm.test('New audio record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Template');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -5217,16 +5212,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/assessments", + "raw": "{{BASE_URL}}/assets/audio", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "assessments" + "audio" ] } }, @@ -5235,7 +5230,7 @@ ] }, { - "name": "Audio", + "name": "Biometrics", "item": [ { "name": "Create", @@ -5243,11 +5238,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", + " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -5259,24 +5253,30 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New audio record is created', function () {\r", + "pm.test('New biometrics record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", + " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", + " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", + " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + "\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -5296,16 +5296,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/audio", + "raw": "{{BASE_URL}}/assets/biometrics", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "audio" + "biometrics" ] } }, @@ -5326,20 +5326,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Audio record is retrived', function () {\r", + "pm.test('Biometrics record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", + " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", + " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", + " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + "\r", "});\r", "\r", "" @@ -5362,14 +5367,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/audio/{{AUDIO_ID}}", + "raw": "{{BASE_URL}}/assets/biometrics/{{BIOMETRICS_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "audio", - "{{AUDIO_ID}}" + "biometrics", + "{{BIOMETRICS_ID}}" ] } }, @@ -5390,7 +5395,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Audio search results are returned', function () {\r", + "pm.test('Biometrics search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -5415,13 +5420,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/audio/search?version=1.0", + "raw": "{{BASE_URL}}/assets/biometrics/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "audio", + "biometrics", "search" ], "query": [ @@ -5436,17 +5441,22 @@ "disabled": true }, { - "key": "transcript", + "key": "description", "value": "xyz", "disabled": true }, { - "key": "url", + "key": "assetCategory", "value": "xyz", "disabled": true }, { - "key": "assetCategory", + "key": "biometricsType", + "value": "Blood pressure", + "disabled": true + }, + { + "key": "measurementUnit", "value": "xyz", "disabled": true }, @@ -5470,15 +5480,7 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -5486,24 +5488,30 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Audio record is updated', function () {\r", + "pm.test('Biometrics record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", + " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", + " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", + " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + "\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -5523,17 +5531,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/audio/{{AUDIO_ID}}", + "raw": "{{BASE_URL}}/assets/biometrics/{{BIOMETRICS_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "audio", - "{{AUDIO_ID}}" + "biometrics", + "{{BIOMETRICS_ID}}" ] } }, @@ -5547,13 +5555,6 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -5561,10 +5562,11 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Audio record is deleted', function () {\r", + "pm.test('Biometrics record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "\r", "});\r", "\r", "" @@ -5587,14 +5589,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/audio/{{AUDIO_ID}}", + "raw": "{{BASE_URL}}/assets/biometrics/{{BIOMETRICS_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "audio", - "{{AUDIO_ID}}" + "biometrics", + "{{BIOMETRICS_ID}}" ] } }, @@ -5606,11 +5608,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"AUDIO_ID\", respData.Data.id);\r", + " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -5622,24 +5623,30 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New audio record is created', function () {\r", + "pm.test('New biometrics record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", + " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", + " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", + " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + "\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -5659,16 +5666,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/audio", + "raw": "{{BASE_URL}}/assets/biometrics", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "audio" + "biometrics" ] } }, @@ -5677,7 +5684,7 @@ ] }, { - "name": "Biometrics", + "name": "Challenge", "item": [ { "name": "Create", @@ -5689,7 +5696,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", + " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -5701,25 +5708,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New biometrics record is created', function () {\r", + "pm.test('New challenge record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", - " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", - " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", - " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", - "\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -5743,16 +5745,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/biometrics", + "raw": "{{BASE_URL}}/assets/challenges", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "biometrics" + "challenges" ] } }, @@ -5766,32 +5768,26 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Biometrics record is retrived', function () {\r", + "pm.test('Challenge record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", - " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", - " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", - " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - "\r", "});\r", "\r", "" @@ -5814,14 +5810,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/biometrics/{{BIOMETRICS_ID}}", + "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "biometrics", - "{{BIOMETRICS_ID}}" + "challenges", + "{{CHALLENGE_ID}}" ] } }, @@ -5835,14 +5831,13 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Biometrics search results are returned', function () {\r", + "pm.test('Challenge record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -5867,13 +5862,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/biometrics/search?version=1.0", + "raw": "{{BASE_URL}}/assets/challenges/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "biometrics", + "challenges", "search" ], "query": [ @@ -5897,16 +5892,6 @@ "value": "xyz", "disabled": true }, - { - "key": "biometricsType", - "value": "Blood pressure", - "disabled": true - }, - { - "key": "measurementUnit", - "value": "xyz", - "disabled": true - }, { "key": "tags", "value": "xyz", @@ -5929,32 +5914,26 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Biometrics record is updated', function () {\r", + "pm.test('Challenge record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", - " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", - " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", - " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", - "\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -5978,17 +5957,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/biometrics/{{BIOMETRICS_ID}}", + "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "biometrics", - "{{BIOMETRICS_ID}}" + "challenges", + "{{CHALLENGE_ID}}" ] } }, @@ -6002,18 +5981,16 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Biometrics record is deleted', function () {\r", + "pm.test('Challenge record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - "\r", "});\r", "\r", "" @@ -6036,14 +6013,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/biometrics/{{BIOMETRICS_ID}}", + "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "biometrics", - "{{BIOMETRICS_ID}}" + "challenges", + "{{CHALLENGE_ID}}" ] } }, @@ -6059,7 +6036,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"BIOMETRICS_ID\", respData.Data.id);\r", + " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -6071,25 +6048,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New biometrics record is created', function () {\r", + "pm.test('New challenge record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('BiometricsType');\r", - " pm.expect(jsonRes.Data).to.have.property('MeasurementUnit');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", - " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", - " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", - "\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" @@ -6113,16 +6085,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/biometrics", + "raw": "{{BASE_URL}}/assets/challenges", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "biometrics" + "challenges" ] } }, @@ -6131,7 +6103,7 @@ ] }, { - "name": "Challenge", + "name": "Checkup", "item": [ { "name": "Create", @@ -6143,7 +6115,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", + " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -6155,7 +6127,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New challenge record is created', function () {\r", + "pm.test('New checkup record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -6165,9 +6137,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -6192,16 +6164,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/challenges", + "raw": "{{BASE_URL}}/assets/checkups", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges" + "checkups" ] } }, @@ -6221,7 +6193,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Challenge record is retrived', function () {\r", + "pm.test('Checkup record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -6231,9 +6203,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -6257,14 +6229,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", + "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges", - "{{CHALLENGE_ID}}" + "checkups", + "{{CHECKUP_ID}}" ] } }, @@ -6284,7 +6256,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Challenge record is retrived', function () {\r", + "pm.test('Checkup record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -6309,13 +6281,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/challenges/search?version=1.0", + "raw": "{{BASE_URL}}/assets/checkups/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges", + "checkups", "search" ], "query": [ @@ -6367,7 +6339,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Challenge record is updated', function () {\r", + "pm.test('Checkup record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -6377,9 +6349,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -6404,17 +6376,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", + "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges", - "{{CHALLENGE_ID}}" + "checkups", + "{{CHECKUP_ID}}" ] } }, @@ -6434,7 +6406,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Challenge record is deleted', function () {\r", + "pm.test('Checkup record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -6460,14 +6432,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", + "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges", - "{{CHALLENGE_ID}}" + "checkups", + "{{CHECKUP_ID}}" ] } }, @@ -6483,7 +6455,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CHALLENGE_ID\", respData.Data.id);\r", + " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -6495,7 +6467,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New challenge record is created', function () {\r", + "pm.test('New checkup record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -6505,9 +6477,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", + " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -6532,16 +6504,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/challenges", + "raw": "{{BASE_URL}}/assets/checkups", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "challenges" + "checkups" ] } }, @@ -6550,7 +6522,7 @@ ] }, { - "name": "Checkup", + "name": "Consultation", "item": [ { "name": "Create", @@ -6562,7 +6534,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", + " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -6574,19 +6546,21 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New checkup record is created', function () {\r", + "pm.test('New consultation record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -6611,16 +6585,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/checkups", + "raw": "{{BASE_URL}}/assets/consultations", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups" + "consultations" ] } }, @@ -6640,19 +6614,21 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Checkup record is retrived', function () {\r", + "pm.test('Consultation record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -6676,14 +6652,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", + "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups", - "{{CHECKUP_ID}}" + "consultations", + "{{CONSULTATION_ID}}" ] } }, @@ -6703,7 +6679,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Checkup record is retrived', function () {\r", + "pm.test('Consultation record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -6728,13 +6704,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/checkups/search?version=1.0", + "raw": "{{BASE_URL}}/assets/consultations/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups", + "consultations", "search" ], "query": [ @@ -6753,6 +6729,11 @@ "value": "xyz", "disabled": true }, + { + "key": "consultationType", + "value": "Other", + "disabled": true + }, { "key": "assetCategory", "value": "xyz", @@ -6786,19 +6767,21 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Checkup record is updated', function () {\r", + "pm.test('Consultation record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -6823,17 +6806,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", + "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups", - "{{CHECKUP_ID}}" + "consultations", + "{{CONSULTATION_ID}}" ] } }, @@ -6853,7 +6836,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Checkup record is deleted', function () {\r", + "pm.test('Consultation record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -6879,14 +6862,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/checkups/{{CHECKUP_ID}}", + "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups", - "{{CHECKUP_ID}}" + "consultations", + "{{CONSULTATION_ID}}" ] } }, @@ -6902,7 +6885,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CHECKUP_ID\", respData.Data.id);\r", + " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -6914,19 +6897,21 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New checkup record is created', function () {\r", + "pm.test('New consultation record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -6951,16 +6936,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/checkups", + "raw": "{{BASE_URL}}/assets/consultations", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "checkups" + "consultations" ] } }, @@ -6969,7 +6954,7 @@ ] }, { - "name": "Consultation", + "name": "Exercise", "item": [ { "name": "Create", @@ -6981,7 +6966,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -6993,21 +6978,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New consultation record is created', function () {\r", + "pm.test('New exercise record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -7032,16 +7021,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/consultations", + "raw": "{{BASE_URL}}/assets/exercises", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations" + "exercises" ] } }, @@ -7061,21 +7050,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Consultation record is retrived', function () {\r", + "pm.test('Exercise record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -7099,14 +7092,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", + "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations", - "{{CONSULTATION_ID}}" + "exercises", + "{{EXERCISE_ID}}" ] } }, @@ -7126,7 +7119,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Consultation record is retrived', function () {\r", + "pm.test('Exercise record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -7151,13 +7144,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/consultations/search?version=1.0", + "raw": "{{BASE_URL}}/assets/exercises/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations", + "exercises", "search" ], "query": [ @@ -7177,8 +7170,18 @@ "disabled": true }, { - "key": "consultationType", - "value": "Other", + "key": "exerciseType", + "value": "Balance", + "disabled": true + }, + { + "key": "intensityLevel", + "value": "None", + "disabled": true + }, + { + "key": "recommendedDurationMin", + "value": "20", "disabled": true }, { @@ -7214,21 +7217,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Consultation record is updated', function () {\r", + "pm.test('Exercise record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -7253,17 +7260,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", + "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations", - "{{CONSULTATION_ID}}" + "exercises", + "{{EXERCISE_ID}}" ] } }, @@ -7283,7 +7290,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Consultation record is deleted', function () {\r", + "pm.test('Exercise record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -7309,14 +7316,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/consultations/{{CONSULTATION_ID}}", + "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations", - "{{CONSULTATION_ID}}" + "exercises", + "{{EXERCISE_ID}}" ] } }, @@ -7332,7 +7339,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"CONSULTATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -7344,21 +7351,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New consultation record is created', function () {\r", + "pm.test('New exercise record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ConsultationType');\r", + " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", + " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", + " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", + " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -7383,16 +7394,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/consultations", + "raw": "{{BASE_URL}}/assets/exercises", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "consultations" + "exercises" ] } }, @@ -7401,7 +7412,7 @@ ] }, { - "name": "Exercise", + "name": "Goal", "item": [ { "name": "Create", @@ -7413,7 +7424,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", + " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -7425,25 +7436,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New exercise record is created', function () {\r", + "pm.test('New goal record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", - " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", - " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -7468,16 +7473,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\", \r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/exercises", + "raw": "{{BASE_URL}}/assets/goals", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises" + "goals" ] } }, @@ -7497,25 +7502,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Exercise record is retrived', function () {\r", + "pm.test('Goal record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", - " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", - " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -7539,14 +7538,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", + "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises", - "{{EXERCISE_ID}}" + "goals", + "{{GOAL_ID}}" ] } }, @@ -7566,7 +7565,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Exercise record is retrived', function () {\r", + "pm.test('Goal record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -7591,13 +7590,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/exercises/search?version=1.0", + "raw": "{{BASE_URL}}/assets/goals/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises", + "goals", "search" ], "query": [ @@ -7616,21 +7615,6 @@ "value": "xyz", "disabled": true }, - { - "key": "exerciseType", - "value": "Balance", - "disabled": true - }, - { - "key": "intensityLevel", - "value": "None", - "disabled": true - }, - { - "key": "recommendedDurationMin", - "value": "20", - "disabled": true - }, { "key": "assetCategory", "value": "xyz", @@ -7664,25 +7648,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Exercise record is updated', function () {\r", + "pm.test('Goal record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", - " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", - " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -7707,17 +7685,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", + "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises", - "{{EXERCISE_ID}}" + "goals", + "{{GOAL_ID}}" ] } }, @@ -7737,7 +7715,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Exercise record is deleted', function () {\r", + "pm.test('Goal record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -7763,14 +7741,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/exercises/{{EXERCISE_ID}}", + "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises", - "{{EXERCISE_ID}}" + "goals", + "{{GOAL_ID}}" ] } }, @@ -7786,7 +7764,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"EXERCISE_ID\", respData.Data.id);\r", + " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -7798,25 +7776,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New exercise record is created', function () {\r", + "pm.test('New goal record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('ExerciseType');\r", - " pm.expect(jsonRes.Data).to.have.property('IntensityLevel');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", - " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -7841,16 +7813,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/exercises", + "raw": "{{BASE_URL}}/assets/goals", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "exercises" + "goals" ] } }, @@ -7859,7 +7831,7 @@ ] }, { - "name": "Goal", + "name": "Infographics", "item": [ { "name": "Create", @@ -7867,11 +7839,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", + " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -7883,7 +7854,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New goal record is created', function () {\r", + "pm.test('New infographics record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -7893,14 +7864,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -7920,16 +7891,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\", \r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/goals", + "raw": "{{BASE_URL}}/assets/infographics", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals" + "infographics" ] } }, @@ -7941,7 +7912,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -7949,7 +7919,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Goal record is retrived', function () {\r", + "pm.test('Infographics record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -7959,14 +7929,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -7985,14 +7955,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", + "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals", - "{{GOAL_ID}}" + "infographics", + "{{INFOGRAPHICS_ID}}" ] } }, @@ -8012,7 +7982,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Goal record is retrived', function () {\r", + "pm.test('Infographics record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -8037,13 +8007,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/goals/search?version=1.0", + "raw": "{{BASE_URL}}/assets/infographics/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals", + "infographics", "search" ], "query": [ @@ -8062,6 +8032,11 @@ "value": "xyz", "disabled": true }, + { + "key": "url", + "value": "xyz", + "disabled": true + }, { "key": "assetCategory", "value": "xyz", @@ -8087,7 +8062,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -8095,7 +8069,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Goal record is updated', function () {\r", + "pm.test('Infographics record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -8105,14 +8079,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -8132,17 +8106,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-2\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", + "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals", - "{{GOAL_ID}}" + "infographics", + "{{INFOGRAPHICS_ID}}" ] } }, @@ -8162,7 +8136,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Goal record is deleted', function () {\r", + "pm.test('Infographics record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -8188,14 +8162,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/goals/{{GOAL_ID}}", + "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals", - "{{GOAL_ID}}" + "infographics", + "{{INFOGRAPHICS_ID}}" ] } }, @@ -8207,11 +8181,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", + " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8223,7 +8196,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New goal record is created', function () {\r", + "pm.test('New infographics record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -8233,14 +8206,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -8260,16 +8233,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/assets/goals", + "raw": "{{BASE_URL}}/assets/infographics", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "goals" + "infographics" ] } }, @@ -8278,7 +8251,7 @@ ] }, { - "name": "Infographics", + "name": "Medication", "item": [ { "name": "Create", @@ -8290,7 +8263,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", + " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8302,7 +8275,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New infographics record is created', function () {\r", + "pm.test('New medication record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -8312,8 +8285,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -8338,16 +8312,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/infographics", + "raw": "{{BASE_URL}}/assets/medications", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics" + "medications" ] } }, @@ -8367,7 +8341,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Infographics record is retrived', function () {\r", + "pm.test('Medication record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -8377,8 +8351,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -8402,14 +8377,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", + "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics", - "{{INFOGRAPHICS_ID}}" + "medications", + "{{MEDICATION_ID}}" ] } }, @@ -8429,7 +8404,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Infographics record is retrived', function () {\r", + "pm.test('Medication record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -8454,13 +8429,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/infographics/search?version=1.0", + "raw": "{{BASE_URL}}/assets/medications/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics", + "medications", "search" ], "query": [ @@ -8479,11 +8454,6 @@ "value": "xyz", "disabled": true }, - { - "key": "url", - "value": "xyz", - "disabled": true - }, { "key": "assetCategory", "value": "xyz", @@ -8517,7 +8487,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Infographics record is updated', function () {\r", + "pm.test('Medication record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -8527,8 +8497,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -8553,17 +8524,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Medication adherence\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", + "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics", - "{{INFOGRAPHICS_ID}}" + "medications", + "{{MEDICATION_ID}}" ] } }, @@ -8583,7 +8554,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Infographics record is deleted', function () {\r", + "pm.test('Medication record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -8609,14 +8580,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/infographics/{{INFOGRAPHICS_ID}}", + "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics", - "{{INFOGRAPHICS_ID}}" + "medications", + "{{MEDICATION_ID}}" ] } }, @@ -8632,7 +8603,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"INFOGRAPHICS_ID\", respData.Data.id);\r", + " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8644,7 +8615,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New infographics record is created', function () {\r", + "pm.test('New medication record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -8654,8 +8625,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -8680,16 +8652,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/infographics", + "raw": "{{BASE_URL}}/assets/medications", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "infographics" + "medications" ] } }, @@ -8698,7 +8670,7 @@ ] }, { - "name": "Medication", + "name": "Meditation", "item": [ { "name": "Create", @@ -8710,7 +8682,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -8722,19 +8694,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New medication record is created', function () {\r", + "pm.test('New meditation record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -8759,16 +8735,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/medications", + "raw": "{{BASE_URL}}/assets/meditations", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications" + "meditations" ] } }, @@ -8788,19 +8764,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Medication record is retrived', function () {\r", + "pm.test('Meditation record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -8824,14 +8804,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", + "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications", - "{{MEDICATION_ID}}" + "meditations", + "{{MEDITATION_ID}}" ] } }, @@ -8851,7 +8831,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Medication record is retrived', function () {\r", + "pm.test('Meditation record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -8876,13 +8856,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/medications/search?version=1.0", + "raw": "{{BASE_URL}}/assets/meditations/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications", + "meditations", "search" ], "query": [ @@ -8901,6 +8881,16 @@ "value": "xyz", "disabled": true }, + { + "key": "meditationType", + "value": "Mantra", + "disabled": true + }, + { + "key": "recommendedDurationMin", + "value": "20", + "disabled": true + }, { "key": "assetCategory", "value": "xyz", @@ -8934,19 +8924,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Medication record is updated', function () {\r", + "pm.test('Meditation record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -8971,17 +8965,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Medication adherence\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Tags\": [\"Peaceful mind\", \"Bliss\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", + "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications", - "{{MEDICATION_ID}}" + "meditations", + "{{MEDITATION_ID}}" ] } }, @@ -9001,7 +8995,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Medication record is deleted', function () {\r", + "pm.test('Meditation record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -9027,14 +9021,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/medications/{{MEDICATION_ID}}", + "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications", - "{{MEDICATION_ID}}" + "meditations", + "{{MEDITATION_ID}}" ] } }, @@ -9050,7 +9044,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDICATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -9062,19 +9056,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New medication record is created', function () {\r", + "pm.test('New meditation record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", + " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -9099,16 +9097,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/medications", + "raw": "{{BASE_URL}}/assets/meditations", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "medications" + "meditations" ] } }, @@ -9117,7 +9115,7 @@ ] }, { - "name": "Meditation", + "name": "Message", "item": [ { "name": "Create", @@ -9129,7 +9127,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -9141,23 +9139,21 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New meditation record is created', function () {\r", + "pm.test('New message record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", - " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -9182,16 +9178,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/meditations", + "raw": "{{BASE_URL}}/assets/messages", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations" + "messages" ] } }, @@ -9203,7 +9199,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9211,28 +9206,27 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Meditation record is retrived', function () {\r", + "pm.test('Message record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", - " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -9251,14 +9245,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", + "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations", - "{{MEDITATION_ID}}" + "messages", + "{{MESSAGE_ID}}" ] } }, @@ -9270,21 +9264,22 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ + "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Meditation record is retrived', function () {\r", + "pm.test('Message record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -9303,13 +9298,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/meditations/search?version=1.0", + "raw": "{{BASE_URL}}/assets/messages/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations", + "messages", "search" ], "query": [ @@ -9329,18 +9324,13 @@ "disabled": true }, { - "key": "meditationType", - "value": "Mantra", + "key": "category", + "value": "xyz", "disabled": true }, { - "key": "recommendedDurationMin", - "value": "20", - "disabled": true - }, - { - "key": "assetCategory", - "value": "xyz", + "key": "messageType", + "value": "Status", "disabled": true }, { @@ -9363,7 +9353,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9371,28 +9360,27 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Meditation record is updated', function () {\r", + "pm.test('Message record is updated', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", - " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -9412,17 +9400,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Tags\": [\"Peaceful mind\", \"Bliss\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Tags\": [\r\n \"Maternity\",\r\n \"Neo-natal-care\"\r\n ],\r\n \"Url\": \"https://www.appname.com/\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", + "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations", - "{{MEDITATION_ID}}" + "messages", + "{{MESSAGE_ID}}" ] } }, @@ -9442,7 +9430,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Meditation record is deleted', function () {\r", + "pm.test('Message record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -9468,14 +9456,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/meditations/{{MEDITATION_ID}}", + "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations", - "{{MEDITATION_ID}}" + "messages", + "{{MESSAGE_ID}}" ] } }, @@ -9487,11 +9475,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MEDITATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -9503,28 +9490,27 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New meditation record is created', function () {\r", + "pm.test('New message record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('MeditationType');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", + " pm.expect(jsonRes.Data).to.have.property('Category');\r", + " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", - " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Stress management');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", + " pm.expect(jsonRes.Data.Category).equals('Educational');\r", + " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -9544,16 +9530,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/meditations", + "raw": "{{BASE_URL}}/assets/messages", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "meditations" + "messages" ] } }, @@ -9562,7 +9548,7 @@ ] }, { - "name": "Message", + "name": "Nutrition", "item": [ { "name": "Create", @@ -9574,7 +9560,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", + " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -9586,21 +9572,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New message record is created', function () {\r", + "pm.test('New nutrition record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Category');\r", - " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", - " pm.expect(jsonRes.Data.Category).equals('Educational');\r", - " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -9625,16 +9609,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/messages", + "raw": "{{BASE_URL}}/assets/nutritions", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages" + "nutritions" ] } }, @@ -9648,13 +9632,6 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9662,21 +9639,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Message record is retrived', function () {\r", + "pm.test('Nutrition record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Category');\r", - " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", - " pm.expect(jsonRes.Data.Category).equals('Educational');\r", - " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -9700,14 +9675,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", + "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages", - "{{MESSAGE_ID}}" + "nutritions", + "{{NUTRITION_ID}}" ] } }, @@ -9721,13 +9696,6 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -9735,7 +9703,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Message record is retrived', function () {\r", + "pm.test('Nutrition search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -9760,13 +9728,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/messages/search?version=1.0", + "raw": "{{BASE_URL}}/assets/nutritions/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages", + "nutritions", "search" ], "query": [ @@ -9786,15 +9754,10 @@ "disabled": true }, { - "key": "category", + "key": "assetCategory", "value": "xyz", "disabled": true }, - { - "key": "messageType", - "value": "Status", - "disabled": true - }, { "key": "tags", "value": "xyz", @@ -9817,27 +9780,28 @@ "script": { "type": "text/javascript", "exec": [ + "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Message record is updated', function () {\r", + "pm.test('Nutrition record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Category');\r", - " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", - " pm.expect(jsonRes.Data.Category).equals('Educational');\r", - " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + "\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -9862,17 +9826,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"AssetCode\": \"MESSAGE-CC-1\",\r\n\"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n\"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n\"MessageType\": \"Educational\",\r\n\"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n\"Url\": \"https://www.appname.com/\",\r\n\"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Nutrients\", \"Vitamins\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", + "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages", - "{{MESSAGE_ID}}" + "nutritions", + "{{NUTRITION_ID}}" ] } }, @@ -9886,13 +9850,14 @@ "script": { "type": "text/javascript", "exec": [ + "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Message record is deleted', function () {\r", + "pm.test('Nutrition record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -9918,14 +9883,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/messages/{{MESSAGE_ID}}", + "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages", - "{{MESSAGE_ID}}" + "nutritions", + "{{NUTRITION_ID}}" ] } }, @@ -9941,7 +9906,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"MESSAGE_ID\", respData.Data.id);\r", + " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -9953,21 +9918,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New message record is created', function () {\r", + "pm.test('New nutrition record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Category');\r", - " pm.expect(jsonRes.Data).to.have.property('MessageType');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", - " pm.expect(jsonRes.Data.Category).equals('Educational');\r", - " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -9992,16 +9955,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/messages", + "raw": "{{BASE_URL}}/assets/nutritions", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "messages" + "nutritions" ] } }, @@ -10010,7 +9973,7 @@ ] }, { - "name": "Nutrition", + "name": "Physiotherapy", "item": [ { "name": "Create", @@ -10022,7 +9985,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", + " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10034,20 +9997,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New nutrition record is created', function () {\r", + "pm.test('New physiotherapy record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + " \r", "});\r", "\r", "" @@ -10071,16 +10038,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/nutritions", + "raw": "{{BASE_URL}}/assets/physiotherapy", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions" + "physiotherapy" ] } }, @@ -10101,20 +10068,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Nutrition record is retrived', function () {\r", + "pm.test('Physiotherapy record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + " \r", "});\r", "\r", "" @@ -10137,14 +10107,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", + "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions", - "{{NUTRITION_ID}}" + "physiotherapy", + "{{PHYSIOTHERAPY_ID}}" ] } }, @@ -10165,9 +10135,10 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Nutrition search results are returned', function () {\r", + "pm.test('Physiotherapy search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + " \r", "});\r", "\r", "" @@ -10190,13 +10161,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/nutritions/search?version=1.0", + "raw": "{{BASE_URL}}/assets/physiotherapy/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions", + "physiotherapy", "search" ], "query": [ @@ -10215,6 +10186,11 @@ "value": "xyz", "disabled": true }, + { + "key": "recommendedDurationMin", + "value": "20", + "disabled": true + }, { "key": "assetCategory", "value": "xyz", @@ -10249,22 +10225,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Nutrition record is updated', function () {\r", + "pm.test('Physiotherapy record is updated', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - "\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + " \r", "});\r", "\r", "" @@ -10288,17 +10266,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Nutrients\", \"Vitamins\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Tags\": [\"Flexibility\", \"Muscle movement\", \"Post trauma recovery\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", + "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions", - "{{NUTRITION_ID}}" + "physiotherapy", + "{{PHYSIOTHERAPY_ID}}" ] } }, @@ -10319,10 +10297,11 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Nutrition record is deleted', function () {\r", + "pm.test('Physiotherapy record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + " \r", "});\r", "\r", "" @@ -10345,14 +10324,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/nutritions/{{NUTRITION_ID}}", + "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions", - "{{NUTRITION_ID}}" + "physiotherapy", + "{{PHYSIOTHERAPY_ID}}" ] } }, @@ -10368,7 +10347,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"NUTRITION_ID\", respData.Data.id);\r", + " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10380,20 +10359,23 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New nutrition record is created', function () {\r", + "pm.test('New physiotherapy record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", + " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", + " \r", "});\r", "\r", "" @@ -10417,16 +10399,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/nutritions", + "raw": "{{BASE_URL}}/assets/physiotherapy", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "nutritions" + "physiotherapy" ] } }, @@ -10435,7 +10417,7 @@ ] }, { - "name": "Physiotherapy", + "name": "Priority", "item": [ { "name": "Create", @@ -10447,7 +10429,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", + " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10459,24 +10441,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New physiotherapy record is created', function () {\r", + "pm.test('New priority record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - " \r", "});\r", "\r", "" @@ -10500,16 +10478,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy", + "raw": "{{BASE_URL}}/assets/priorities", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy" + "priorities" ] } }, @@ -10530,23 +10508,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Physiotherapy record is retrived', function () {\r", + "pm.test('Priority record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - " \r", "});\r", "\r", "" @@ -10569,14 +10544,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", + "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy", - "{{PHYSIOTHERAPY_ID}}" + "priorities", + "{{PRIORITY_ID}}" ] } }, @@ -10597,10 +10572,9 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Physiotherapy search results are returned', function () {\r", + "pm.test('Priority search results are returned', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - " \r", "});\r", "\r", "" @@ -10623,13 +10597,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/search?version=1.0", + "raw": "{{BASE_URL}}/assets/priorities/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy", + "priorities", "search" ], "query": [ @@ -10648,11 +10622,6 @@ "value": "xyz", "disabled": true }, - { - "key": "recommendedDurationMin", - "value": "20", - "disabled": true - }, { "key": "assetCategory", "value": "xyz", @@ -10687,24 +10656,22 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Physiotherapy record is updated', function () {\r", + "pm.test('Priority record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", - " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", + "\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - " \r", "});\r", "\r", "" @@ -10728,17 +10695,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Tags\": [\"Flexibility\", \"Muscle movement\", \"Post trauma recovery\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", + "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy", - "{{PHYSIOTHERAPY_ID}}" + "priorities", + "{{PRIORITY_ID}}" ] } }, @@ -10759,11 +10726,10 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Physiotherapy record is deleted', function () {\r", + "pm.test('Priority record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - " \r", "});\r", "\r", "" @@ -10786,14 +10752,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy/{{PHYSIOTHERAPY_ID}}", + "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy", - "{{PHYSIOTHERAPY_ID}}" + "priorities", + "{{PRIORITY_ID}}" ] } }, @@ -10809,7 +10775,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"PHYSIOTHERAPY_ID\", respData.Data.id);\r", + " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10821,23 +10787,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New physiotherapy record is created', function () {\r", + "pm.test('New priority record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('RecommendedDurationMin');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", - " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - " \r", "});\r", "\r", "" @@ -10861,16 +10824,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/physiotherapy", + "raw": "{{BASE_URL}}/assets/priorities", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "physiotherapy" + "priorities" ] } }, @@ -10879,7 +10842,7 @@ ] }, { - "name": "Priority", + "name": "Reflection", "item": [ { "name": "Create", @@ -10891,7 +10854,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", + " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -10903,7 +10866,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New priority record is created', function () {\r", + "pm.test('New reflection record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -10913,9 +10876,10 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -10940,16 +10904,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/priorities", + "raw": "{{BASE_URL}}/assets/reflections", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities" + "reflections" ] } }, @@ -10963,6 +10927,13 @@ "script": { "type": "text/javascript", "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -10970,7 +10941,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Priority record is retrived', function () {\r", + "pm.test('Reflection record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -10980,9 +10951,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -11006,14 +10977,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", + "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities", - "{{PRIORITY_ID}}" + "reflections", + "{{REFLECTION_ID}}" ] } }, @@ -11034,7 +11005,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Priority search results are returned', function () {\r", + "pm.test('Reflection record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -11059,13 +11030,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/priorities/search?version=1.0", + "raw": "{{BASE_URL}}/assets/reflections/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities", + "reflections", "search" ], "query": [ @@ -11118,7 +11089,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Priority record is updated', function () {\r", + "pm.test('Reflection record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -11129,9 +11100,9 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", "\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", @@ -11157,17 +11128,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Reflection\", \"Retrospection\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", + "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities", - "{{PRIORITY_ID}}" + "reflections", + "{{REFLECTION_ID}}" ] } }, @@ -11188,7 +11159,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Priority record is deleted', function () {\r", + "pm.test('Reflection record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -11214,14 +11185,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/priorities/{{PRIORITY_ID}}", + "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities", - "{{PRIORITY_ID}}" + "reflections", + "{{REFLECTION_ID}}" ] } }, @@ -11237,7 +11208,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", + " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -11249,7 +11220,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New priority record is created', function () {\r", + "pm.test('New reflection record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -11259,9 +11230,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -11286,16 +11257,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/priorities", + "raw": "{{BASE_URL}}/assets/reflections", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "priorities" + "reflections" ] } }, @@ -11304,7 +11275,7 @@ ] }, { - "name": "Reflection", + "name": "Reminder", "item": [ { "name": "Create", @@ -11316,7 +11287,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", + " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -11328,7 +11299,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New reflection record is created', function () {\r", + "pm.test('New reminder record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -11339,9 +11310,9 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -11366,16 +11337,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reflections", + "raw": "{{BASE_URL}}/assets/reminders", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections" + "reminders" ] } }, @@ -11389,13 +11360,6 @@ "script": { "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -11403,7 +11367,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reflection record is retrived', function () {\r", + "pm.test('Reminder record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -11413,9 +11377,10 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + "\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -11439,14 +11404,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", + "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections", - "{{REFLECTION_ID}}" + "reminders", + "{{REMINDER_ID}}" ] } }, @@ -11467,7 +11432,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reflection record is retrived', function () {\r", + "pm.test('Reminder record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -11492,13 +11457,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reflections/search?version=1.0", + "raw": "{{BASE_URL}}/assets/reminders/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections", + "reminders", "search" ], "query": [ @@ -11551,7 +11516,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reflection record is updated', function () {\r", + "pm.test('Reminder record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -11562,9 +11527,9 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", "\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", @@ -11590,17 +11555,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Reflection\", \"Retrospection\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Schedule\", \"Tasks\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", + "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections", - "{{REFLECTION_ID}}" + "reminders", + "{{REMINDER_ID}}" ] } }, @@ -11621,7 +11586,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reflection record is deleted', function () {\r", + "pm.test('Reminder record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -11647,14 +11612,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reflections/{{REFLECTION_ID}}", + "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections", - "{{REFLECTION_ID}}" + "reminders", + "{{REMINDER_ID}}" ] } }, @@ -11670,7 +11635,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"REFLECTION_ID\", respData.Data.id);\r", + " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -11682,7 +11647,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New reflection record is created', function () {\r", + "pm.test('New reminder record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -11692,9 +11657,9 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", + " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -11719,16 +11684,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reflections", + "raw": "{{BASE_URL}}/assets/reminders", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reflections" + "reminders" ] } }, @@ -11737,7 +11702,7 @@ ] }, { - "name": "Reminder", + "name": "Video", "item": [ { "name": "Create", @@ -11749,7 +11714,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", + " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -11761,20 +11726,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New reminder record is created', function () {\r", + "pm.test('New video record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -11799,16 +11764,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reminders", + "raw": "{{BASE_URL}}/assets/video", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders" + "video" ] } }, @@ -11829,20 +11794,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reminder record is retrived', function () {\r", + "pm.test('Video record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - "\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " \r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -11866,14 +11831,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", + "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders", - "{{REMINDER_ID}}" + "video", + "{{VIDEO_ID}}" ] } }, @@ -11894,7 +11859,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reminder record is retrived', function () {\r", + "pm.test('Video record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -11919,13 +11884,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reminders/search?version=1.0", + "raw": "{{BASE_URL}}/assets/video/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders", + "video", "search" ], "query": [ @@ -11940,7 +11905,12 @@ "disabled": true }, { - "key": "description", + "key": "transcript", + "value": "xyz", + "disabled": true + }, + { + "key": "url", "value": "xyz", "disabled": true }, @@ -11978,20 +11948,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reminder record is updated', function () {\r", + "pm.test('Video record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", "\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", @@ -12017,17 +11987,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Schedule\", \"Tasks\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", + "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders", - "{{REMINDER_ID}}" + "video", + "{{VIDEO_ID}}" ] } }, @@ -12048,10 +12018,11 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Reminder record is deleted', function () {\r", + "pm.test('Video record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + " \r", "});\r", "\r", "" @@ -12074,14 +12045,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/reminders/{{REMINDER_ID}}", + "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders", - "{{REMINDER_ID}}" + "video", + "{{VIDEO_ID}}" ] } }, @@ -12097,7 +12068,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"REMINDER_ID\", respData.Data.id);\r", + " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -12109,19 +12080,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New reminder record is created', function () {\r", + "pm.test('New video record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", + " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -12146,16 +12117,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/reminders", + "raw": "{{BASE_URL}}/assets/video", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "reminders" + "video" ] } }, @@ -12164,7 +12135,7 @@ ] }, { - "name": "Video", + "name": "Web link", "item": [ { "name": "Create", @@ -12176,7 +12147,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", + " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -12188,20 +12159,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New video record is created', function () {\r", + "pm.test('New web link record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -12226,16 +12197,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/video", + "raw": "{{BASE_URL}}/assets/web-links", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video" + "web-links" ] } }, @@ -12249,27 +12220,26 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Video record is retrived', function () {\r", + "pm.test('Web link record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -12293,14 +12263,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", + "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video", - "{{VIDEO_ID}}" + "web-links", + "{{WEB_LINK_ID}}" ] } }, @@ -12314,14 +12284,13 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Video record is retrived', function () {\r", + "pm.test('Web link record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -12346,13 +12315,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/video/search?version=1.0", + "raw": "{{BASE_URL}}/assets/web-links/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video", + "web-links", "search" ], "query": [ @@ -12367,7 +12336,7 @@ "disabled": true }, { - "key": "transcript", + "key": "description", "value": "xyz", "disabled": true }, @@ -12403,28 +12372,26 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Video record is updated', function () {\r", + "pm.test('Web link record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - "\r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.Tags.length).equals(2);\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -12449,17 +12416,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", + "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video", - "{{VIDEO_ID}}" + "web-links", + "{{WEB_LINK_ID}}" ] } }, @@ -12473,18 +12440,16 @@ "script": { "type": "text/javascript", "exec": [ - "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Video record is deleted', function () {\r", + "pm.test('Web link record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - " \r", "});\r", "\r", "" @@ -12507,14 +12472,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/video/{{VIDEO_ID}}", + "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video", - "{{VIDEO_ID}}" + "web-links", + "{{WEB_LINK_ID}}" ] } }, @@ -12530,7 +12495,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"VIDEO_ID\", respData.Data.id);\r", + " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -12542,19 +12507,20 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New video record is created', function () {\r", + "pm.test('New web link record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Transcript');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", + " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", @@ -12579,16 +12545,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/video", + "raw": "{{BASE_URL}}/assets/web-links", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "video" + "web-links" ] } }, @@ -12597,7 +12563,7 @@ ] }, { - "name": "Web link", + "name": "Web newsfeed", "item": [ { "name": "Create", @@ -12609,7 +12575,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", + " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -12621,7 +12587,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New web link record is created', function () {\r", + "pm.test('New web newsfeed record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -12632,7 +12598,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", @@ -12659,16 +12625,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-links", + "raw": "{{BASE_URL}}/assets/web-newsfeeds", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links" + "web-newsfeeds" ] } }, @@ -12688,7 +12654,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web link record is retrived', function () {\r", + "pm.test('Web newsfeed record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -12699,7 +12665,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", @@ -12725,14 +12691,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", + "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links", - "{{WEB_LINK_ID}}" + "web-newsfeeds", + "{{WEB_NEWSFEED_ID}}" ] } }, @@ -12752,7 +12718,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web link record is retrived', function () {\r", + "pm.test('Web newsfeed record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -12777,13 +12743,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-links/search?version=1.0", + "raw": "{{BASE_URL}}/assets/web-newsfeeds/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links", + "web-newsfeeds", "search" ], "query": [ @@ -12840,7 +12806,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web link record is updated', function () {\r", + "pm.test('Web newsfeed record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -12851,7 +12817,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", @@ -12878,17 +12844,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", + "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links", - "{{WEB_LINK_ID}}" + "web-newsfeeds", + "{{WEB_NEWSFEED_ID}}" ] } }, @@ -12908,7 +12874,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web link record is deleted', function () {\r", + "pm.test('Web newsfeed record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -12934,14 +12900,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-links/{{WEB_LINK_ID}}", + "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links", - "{{WEB_LINK_ID}}" + "web-newsfeeds", + "{{WEB_NEWSFEED_ID}}" ] } }, @@ -12957,7 +12923,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_LINK_ID\", respData.Data.id);\r", + " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -12969,7 +12935,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New web link record is created', function () {\r", + "pm.test('New web newsfeed record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", @@ -12980,7 +12946,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", @@ -13007,16 +12973,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-links", + "raw": "{{BASE_URL}}/assets/web-newsfeeds", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-links" + "web-newsfeeds" ] } }, @@ -13025,7 +12991,7 @@ ] }, { - "name": "Web newsfeed", + "name": "Word power", "item": [ { "name": "Create", @@ -13037,7 +13003,7 @@ "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", + " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -13049,19 +13015,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New web newsfeed record is created', function () {\r", + "pm.test('New word power record is created', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", @@ -13087,16 +13053,16 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n \"Word\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds", + "raw": "{{BASE_URL}}/assets/word-power", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds" + "word-power" ] } }, @@ -13116,19 +13082,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web newsfeed record is retrived', function () {\r", + "pm.test('Word power record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", @@ -13153,14 +13119,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", + "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds", - "{{WEB_NEWSFEED_ID}}" + "word-power", + "{{WORD_POWER_ID}}" ] } }, @@ -13180,7 +13146,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web newsfeed record is retrived', function () {\r", + "pm.test('Word power record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", @@ -13205,13 +13171,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds/search?version=1.0", + "raw": "{{BASE_URL}}/assets/word-power/search?version=1.0", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds", + "word-power", "search" ], "query": [ @@ -13221,7 +13187,7 @@ "disabled": true }, { - "key": "name", + "key": "word", "value": "xyz", "disabled": true }, @@ -13231,7 +13197,7 @@ "disabled": true }, { - "key": "url", + "key": "additionalResources", "value": "xyz", "disabled": true }, @@ -13268,19 +13234,19 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web newsfeed record is updated', function () {\r", + "pm.test('Word power record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Word');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", + " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", + " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", @@ -13306,17 +13272,17 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n \"Word\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"AdditionalResources\": [\"https://en.wikipedia.org/wiki/Nutrition\", \"https://en.wikipedia.org/wiki/Micronutrient\"],\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", + "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds", - "{{WEB_NEWSFEED_ID}}" + "word-power", + "{{WORD_POWER_ID}}" ] } }, @@ -13336,7 +13302,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Web newsfeed record is deleted', function () {\r", + "pm.test('Word power record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -13362,14 +13328,14 @@ } ], "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds/{{WEB_NEWSFEED_ID}}", + "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "assets", - "web-newsfeeds", - "{{WEB_NEWSFEED_ID}}" + "word-power", + "{{WORD_POWER_ID}}" ] } }, @@ -13377,86 +13343,6 @@ }, { "name": "Create again", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"WEB_NEWSFEED_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('New web newsfeed record is created', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('Url');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", - " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - "});\r", - "\r", - "" - ] - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/assets/web-newsfeeds", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "assets", - "web-newsfeeds" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Word power", - "item": [ - { - "name": "Create", "event": [ { "listen": "test", @@ -13529,356 +13415,455 @@ } }, "response": [] - }, + } + ] + } + ] + }, + { + "name": "Careplan category", + "item": [ + { + "name": "Create", + "event": [ { - "name": "Get by id", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Word power record is retrived', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Word');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", - " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - "});\r", - "\r", - "" - ] - } - } - ], - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_CATEGORY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan category record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " \r", + " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", + "});\r", + "" ], - "url": { - "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "assets", - "word-power", - "{{WORD_POWER_ID}}" - ] - } - }, - "response": [] + "type": "text/javascript" + } }, { - "name": "Search with filters", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Word power record is retrived', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - "});\r", - "\r", - "" - ] - } - } - ], - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } + "listen": "prerequest", + "script": { + "exec": [ + "var rand = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"CAREPLAN_CATEGORY\", 'Sports Rehab - ' + rand);\r", + "\r", + "" ], - "url": { - "raw": "{{BASE_URL}}/assets/word-power/search?version=1.0", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "assets", - "word-power", - "search" - ], - "query": [ - { - "key": "assetCode", - "value": "xyz", - "disabled": true - }, - { - "key": "word", - "value": "xyz", - "disabled": true - }, - { - "key": "description", - "value": "xyz", - "disabled": true - }, - { - "key": "additionalResources", - "value": "xyz", - "disabled": true - }, - { - "key": "assetCategory", - "value": "xyz", - "disabled": true - }, - { - "key": "tags", - "value": "xyz", - "disabled": true - }, - { - "key": "version", - "value": "1.0" - } - ] - } + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" }, - "response": [] + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\"\r\n}\r\n" }, - { - "name": "Update", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Word power record is updated', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Word');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", - " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - "});\r", - "\r", - "" - ] - } - } + "url": { + "raw": "{{BASE_URL}}/careplan-categories", + "host": [ + "{{BASE_URL}}" ], - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } + "path": [ + "careplan-categories" + ] + } + }, + "response": [] + }, + { + "name": "Try creating with same type - should fail", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "pm.test('Request is failure', function () {\r", + " pm.response.to.have.status(409);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('failure');\r", + "});\r", + "" ], - "body": { - "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n \"Word\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"AdditionalResources\": [\"https://en.wikipedia.org/wiki/Nutrition\", \"https://en.wikipedia.org/wiki/Micronutrient\"],\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "assets", - "word-power", - "{{WORD_POWER_ID}}" - ] + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-categories", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-categories" + ] + } + }, + "response": [] + }, + { + "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan category record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-categories", + "{{CAREPLAN_CATEGORY_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan category search results are returned', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/careplan-categories/search?type=sports", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-categories", + "search" + ], + "query": [ + { + "key": "type", + "value": "sports" } + ] + } + }, + "response": [] + }, + { + "name": "Update", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan category record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " \r", + " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", + " pm.expect(jsonRes.Data.Description).equals('Some other category...');\r", + "});\r", + "" + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var rand = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"CAREPLAN_CATEGORY\", 'Sports Rehab - ' + rand);\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" }, - "response": [] + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\",\r\n \"Description\": \"Some other category...\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-categories", + "{{CAREPLAN_CATEGORY_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan category record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "" + ] + } + } + ], + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/careplan-categories/{{CAREPLAN_CATEGORY_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-categories", + "{{CAREPLAN_CATEGORY_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_CATEGORY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan category record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('Type');\r", + " \r", + " pm.expect(jsonRes.Data.Type).equals(pm.environment.get(\"CAREPLAN_CATEGORY\"));\r", + "});\r", + "" + ], + "type": "text/javascript" + } }, { - "name": "Delete", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Word power record is deleted', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - "});\r", - "\r", - "" - ] - } - } - ], - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } + "listen": "prerequest", + "script": { + "exec": [ + "var rand = (Math.floor(Math.random() * 9000000000) + 1000000000).toString();\r", + "pm.environment.set(\"CAREPLAN_CATEGORY\", 'Sports Rehab - ' + rand);\r", + "\r", + "" ], - "url": { - "raw": "{{BASE_URL}}/assets/word-power/{{WORD_POWER_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "assets", - "word-power", - "{{WORD_POWER_ID}}" - ] - } + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" }, - "response": [] + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"Type\": \"{{CAREPLAN_CATEGORY}}\"\r\n}\r\n" }, - { - "name": "Create again", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"WORD_POWER_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('New word power record is created', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Word');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", - " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", - " pm.expect(jsonRes.Data).to.have.property('Tags');\r", - " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", - " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", - " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", - " pm.expect(jsonRes.Data.Version).equals('1.0');\r", - "});\r", - "\r", - "" - ] - } - } + "url": { + "raw": "{{BASE_URL}}/careplan-categories", + "host": [ + "{{BASE_URL}}" ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n \"Word\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/assets/word-power", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "assets", - "word-power" - ] - } - }, - "response": [] + "path": [ + "careplan-categories" + ] } - ] + }, + "response": [] } ] }, @@ -13891,7 +13876,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -13925,11 +13909,12 @@ " pm.expect(jsonRes.Data.CategoryId).equals(expectedCategoryId);\r", " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -13949,7 +13934,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"Code\": \"REAN-Maternity-2\",\r\n \"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n \"Name\": \"Maternity Care Plan for Remote Population\",\r\n \"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n \"Tags\": [\"Maternity\",\"Child-Care\",\"Malnutrition\"],\r\n \"Version\": \"V1\"\r\n\r\n}" + "raw": "{\r\n \"Code\": \"REAN-Maternity-2\",\r\n \"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n \"Name\": \"Maternity Care Plan for Remote Population\",\r\n \"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n \"Tags\": [\r\n \"Maternity\",\r\n \"Child-Care\",\r\n \"Malnutrition\"\r\n ],\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/careplans", @@ -13969,7 +13954,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -13992,9 +13976,10 @@ " pm.expect(jsonRes.Data.Name).equals('Maternity Care Plan for Remote Population');\r", " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});" - ] + ], + "type": "text/javascript" } } ], @@ -14031,7 +14016,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -14045,7 +14029,8 @@ " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -14064,7 +14049,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/careplans/search?version=V1", + "raw": "{{BASE_URL}}/careplans/search", "host": [ "{{BASE_URL}}" ], @@ -14090,7 +14075,8 @@ }, { "key": "version", - "value": "V1" + "value": "V1", + "disabled": true }, { "key": "ownerUserId", @@ -14240,7 +14226,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -14274,11 +14259,12 @@ " pm.expect(jsonRes.Data.CategoryId).equals(expectedCategoryId);\r", " pm.expect(jsonRes.Data.Description).equals('This is maternity care plan specifically designed for remote areas with low resource settings.');\r", " pm.expect(jsonRes.Data.Tags.length).equals(3);\r", - " pm.expect(jsonRes.Data.Version).equals('V1');\r", + " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -14298,7 +14284,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"Code\": \"REAN-Maternity-2\",\r\n\"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n\"Name\": \"Maternity Care Plan for Remote Population\",\r\n\"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n\"Tags\": [\"Maternity\",\"Child-Care\",\"Malnutrition\"],\r\n\"Version\": \"V1\"\r\n\r\n}" + "raw": "{\r\n \"Code\": \"REAN-Maternity-2\",\r\n \"CategoryId\": \"{{CAREPLAN_CATEGORY_ID}}\",\r\n \"Name\": \"Maternity Care Plan for Remote Population\",\r\n \"Description\": \"This is maternity care plan specifically designed for remote areas with low resource settings.\",\r\n \"Tags\": [\r\n \"Maternity\",\r\n \"Child-Care\",\r\n \"Malnutrition\"\r\n ],\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/careplans", @@ -14730,7 +14716,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -14750,7 +14735,7 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('ParticipantId');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", @@ -14759,7 +14744,43 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var today = (new Date()).toISOString().split('T')[0];\r", + "pm.environment.set(\"TODAY\", today);\r", + "\r", + "Date.prototype.addDays = function(days) {\r", + " var date = new Date(this.valueOf());\r", + " date.setDate(date.getDate() + days);\r", + " return date;\r", + "}\r", + "\r", + "function formatDate(date) {\r", + " var d = new Date(date),\r", + " month = '' + (d.getMonth() + 1),\r", + " day = '' + d.getDate(),\r", + " year = d.getFullYear();\r", + "\r", + " if (month.length < 2) \r", + " month = '0' + month;\r", + " if (day.length < 2) \r", + " day = '0' + day;\r", + "\r", + " return [year, month, day].join('-');\r", + "}\r", + "\r", + "var toDate = formatDate((new Date()).addDays(365));\r", + "\r", + "pm.environment.set(\"TO_DATE\", toDate);\r", + "" + ], + "type": "text/javascript" } } ], @@ -14774,12 +14795,12 @@ { "key": "x-api-key", "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" + "value": "{{API_KEY}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TO_DATE}}\",\r\n \"EnrollmentDate\": \"{{TODAY}}\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/enrollments", @@ -14799,7 +14820,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -14811,17 +14831,15 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('ParticipantId');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - "\r", "});\r", - "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -14836,7 +14854,7 @@ { "key": "x-api-key", "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" + "value": "{{API_KEY}}" } ], "url": { @@ -14858,7 +14876,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -14872,7 +14889,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -14887,7 +14905,7 @@ { "key": "x-api-key", "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" + "value": "{{API_KEY}}" } ], "url": { @@ -14925,7 +14943,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -14937,7 +14954,7 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('ParticipantId');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", @@ -14946,7 +14963,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -14961,12 +14979,12 @@ { "key": "x-api-key", "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" + "value": "{{API_KEY}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/enrollments/{{ENROLLMENT_ID}}", @@ -14987,7 +15005,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -15000,7 +15017,8 @@ " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});" - ] + ], + "type": "text/javascript" } } ], @@ -15015,7 +15033,7 @@ { "key": "x-api-key", "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" + "value": "{{API_KEY}}" } ], "url": { @@ -15037,7 +15055,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -15066,7 +15083,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15081,7 +15099,7 @@ { "key": "x-api-key", "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" + "value": "{{API_KEY}}" } ], "body": { @@ -15178,7 +15196,7 @@ " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanActivityId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", @@ -15308,7 +15326,7 @@ " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanActivityId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", @@ -15432,7 +15450,7 @@ " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanActivityId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", @@ -15512,7 +15530,7 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentTaskId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", " pm.expect(jsonRes.Data).to.have.property('Response');\r", " \r", "});\r", @@ -15538,7 +15556,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentTaskId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n \"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/user-activity-responses", @@ -15571,7 +15589,7 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentTaskId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", " pm.expect(jsonRes.Data).to.have.property('Response');\r", " \r", "});\r", @@ -15705,7 +15723,7 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentTaskId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", " pm.expect(jsonRes.Data).to.have.property('Response');\r", " \r", "});\r", @@ -15731,7 +15749,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentTaskId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", @@ -15826,7 +15844,7 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentTaskId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", " pm.expect(jsonRes.Data).to.have.property('Response');\r", " \r", "});\r", @@ -15852,7 +15870,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentTaskId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/user-activity-responses", From 28fea70207385343f5ac3bcb2b0e29552ea32a60 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Fri, 29 Jul 2022 22:33:50 +0530 Subject: [PATCH 027/169] Added enrollment task scheduling --- .../careplan.activity.controller.delegate.ts | 45 +++-- .../careplan.activity.validator.ts | 33 ++-- .../enrollment.task.controller.delegate.ts | 43 ++--- .../enrollment.task.validator.ts | 15 +- .../enrollment.controller.delegate.ts | 161 +++++++++++++----- .../enrollment/enrollment.validator.ts | 7 +- ....mapper.ts => careplan.activity.mapper.ts} | 16 +- .../enrollment/enrollment.schedule.mapper.ts | 28 --- .../enrollment/enrollment.task.mapper.ts | 28 +++ .../careplan/careplan.activity.model.ts | 5 + .../enrollment/enrollment.task.model.ts | 7 +- .../careplan/careplan.activity.service.ts | 25 +++ .../enrollment/enrollment.task.service.ts | 3 + .../careplan.activity.domain.types.ts | 47 ++--- .../enrollment/enrollment.domain.types.ts | 6 + .../enrollment.task.domain.types.ts | 3 + 16 files changed, 314 insertions(+), 158 deletions(-) rename src/database/mappers/careplan/{careplan.schedule.mapper.ts => careplan.activity.mapper.ts} (50%) delete mode 100644 src/database/mappers/enrollment/enrollment.schedule.mapper.ts create mode 100644 src/database/mappers/enrollment/enrollment.task.mapper.ts diff --git a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts index e575e99..b25f15b 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts @@ -117,6 +117,10 @@ export class CareplanActivityControllerDelegate { if (timeSlot != null) { filters['TimeSlot'] = timeSlot; } + var isRegistrationActivity = query.isRegistrationActivity ? query.isRegistrationActivity : null; + if (isRegistrationActivity != null) { + filters['IsRegistrationActivity'] = isRegistrationActivity; + } return filters; } @@ -140,17 +144,20 @@ export class CareplanActivityControllerDelegate { if (Helper.hasProperty(requestBody, 'TimeSlot')) { updateModel.TimeSlot = requestBody.TimeSlot; } - + if (Helper.hasProperty(requestBody, 'IsRegistrationActivity')) { + updateModel.IsRegistrationActivity = requestBody.IsRegistrationActivity; + } return updateModel; } getCreateModel = (requestBody): CareplanActivityCreateModel => { return { - AssetId : requestBody.AssetId ? requestBody.AssetId : null, - AssetType : requestBody.AssetType ? requestBody.AssetType : null, - CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, - Day : requestBody.Day ? requestBody.Day : null, - TimeSlot : requestBody.TimeSlot ? requestBody.TimeSlot : 'Unspecified' + AssetId : requestBody.AssetId ? requestBody.AssetId : null, + AssetType : requestBody.AssetType ? requestBody.AssetType : null, + CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, + Day : requestBody.Day ? requestBody.Day : null, + TimeSlot : requestBody.TimeSlot ? requestBody.TimeSlot : 'Unspecified', + IsRegistrationActivity : requestBody.IsRegistrationActivity ? requestBody.IsRegistrationActivity : false, }; } @@ -159,12 +166,13 @@ export class CareplanActivityControllerDelegate { return null; } return { - id : record.id, - AssetId : record.AssetId, - AssetType : record.AssetType, - CareplanId : record.CareplanId, - Day : record.Day, - TimeSlot : record.TimeSlot + id : record.id, + AssetId : record.AssetId, + AssetType : record.AssetType, + CareplanId : record.CareplanId, + Day : record.Day, + TimeSlot : record.TimeSlot, + IsRegistrationActivity : record.IsRegistrationActivity }; } @@ -173,12 +181,13 @@ export class CareplanActivityControllerDelegate { return null; } return { - id : record.id, - AssetId : record.AssetId, - AssetType : record.AssetType, - CareplanId : record.CareplanId, - Day : record.Day, - TimeSlot : record.TimeSlot + id : record.id, + AssetId : record.AssetId, + AssetType : record.AssetType, + CareplanId : record.CareplanId, + Day : record.Day, + TimeSlot : record.TimeSlot, + IsRegistrationActivity : record.IsRegistrationActivity }; } diff --git a/src/api/careplan/careplan.activity/careplan.activity.validator.ts b/src/api/careplan/careplan.activity/careplan.activity.validator.ts index 8d7a57d..0c9e14e 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.validator.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.validator.ts @@ -10,11 +10,12 @@ export class CareplanActivityValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetId : joi.number().integer().optional(), - AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), - CareplanId : joi.number().integer().optional(), - Day : joi.number().integer().optional(), - TimeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional() + AssetId : joi.number().integer().optional(), + AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + CareplanId : joi.number().integer().optional(), + Day : joi.number().integer().optional(), + TimeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), + IsRegistrationActivity : joi.boolean().optional(), }); return await schema.validateAsync(requestBody); } catch (error) { @@ -25,11 +26,12 @@ export class CareplanActivityValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetId : joi.number().integer().optional(), - AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), - CareplanId : joi.number().integer().optional(), - Day : joi.number().integer().optional(), - TimeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional() + AssetId : joi.number().integer().optional(), + AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + CareplanId : joi.number().integer().optional(), + Day : joi.number().integer().optional(), + TimeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), + IsRegistrationActivity : joi.boolean().optional(), }); return await schema.validateAsync(requestBody); } catch (error) { @@ -40,11 +42,12 @@ export class CareplanActivityValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - assetId : joi.number().integer().optional(), - assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), - careplanId : joi.number().integer().optional(), - day : joi.number().integer().optional(), - timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional() + assetId : joi.number().integer().optional(), + assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + careplanId : joi.number().integer().optional(), + day : joi.number().integer().optional(), + timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), + isRegistrationActivity : joi.boolean().optional(), }); return await schema.validateAsync(query); diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index 5d9bb99..3730819 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -70,7 +70,10 @@ export class EnrollmentTaskControllerDelegate { if (timeSlot != null) { filters['TimeSlot'] = timeSlot; } - + var isRegistrationActivity = query.isRegistrationActivity ? query.isRegistrationActivity : null; + if (isRegistrationActivity != null) { + filters['IsRegistrationActivity'] = isRegistrationActivity; + } return filters; } @@ -79,15 +82,16 @@ export class EnrollmentTaskControllerDelegate { return null; } return { - id : record.id, - EnrollmentId : record.EnrollmentId, - UserId : record.UserId, - CareplanActivityId : record.CareplanActivityId, - AssetId : record.AssetId, - AssetType : record.AssetType, - CareplanId : record.CareplanId, - TimeSlot : record.TimeSlot, - ScheduledDate : record.ScheduledDate + id : record.id, + EnrollmentId : record.EnrollmentId, + UserId : record.UserId, + CareplanActivityId : record.CareplanActivityId, + AssetId : record.AssetId, + AssetType : record.AssetType, + CareplanId : record.CareplanId, + TimeSlot : record.TimeSlot, + ScheduledDate : record.ScheduledDate, + IsRegistrationActivity : record.IsRegistrationActivity }; } @@ -96,15 +100,16 @@ export class EnrollmentTaskControllerDelegate { return null; } return { - id : record.id, - EnrollmentId : record.EnrollmentId, - ParticipantId : record.ParticipantId, - CareplanActivityId : record.CareplanActivityId, - AssetId : record.AssetId, - AssetType : record.AssetType, - CareplanId : record.CareplanId, - TimeSlot : record.TimeSlot, - ScheduledDate : record.ScheduledDate + id : record.id, + EnrollmentId : record.EnrollmentId, + ParticipantId : record.ParticipantId, + CareplanActivityId : record.CareplanActivityId, + AssetId : record.AssetId, + AssetType : record.AssetType, + CareplanId : record.CareplanId, + TimeSlot : record.TimeSlot, + ScheduledDate : record.ScheduledDate, + IsRegistrationActivity : record.IsRegistrationActivity }; } diff --git a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts index d85e5f0..2af7c2f 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts @@ -10,7 +10,8 @@ export class EnrollmentTaskValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional() + AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + IsRegistrationActivity : joi.boolean().optional(), }); return await schema.validateAsync(requestBody); } catch (error) { @@ -21,7 +22,8 @@ export class EnrollmentTaskValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional() + AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + IsRegistrationActivity : joi.boolean().optional(), }); return await schema.validateAsync(requestBody); } catch (error) { @@ -32,10 +34,11 @@ export class EnrollmentTaskValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - assetId : joi.number().integer().optional(), - assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), - careplanId : joi.number().integer().optional(), - timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional() + assetId : joi.number().integer().optional(), + assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + careplanId : joi.number().integer().optional(), + timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), + isRegistrationActivity : joi.boolean().optional(), }); return await schema.validateAsync(query); diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 0960b01..c0410bc 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -17,12 +17,7 @@ import { import { EnrollmentValidator as validator } from './enrollment.validator'; -import { - uuid -} from '../../../domain.types/miscellaneous/system.types'; -import { - CareplanActivityControllerDelegate -} from '../../careplan/careplan.activity/careplan.activity.controller.delegate'; +import { uuid } from '../../../domain.types/miscellaneous/system.types'; import { EnrollmentCreateModel, EnrollmentUpdateModel, @@ -33,6 +28,9 @@ import { EnrollmentTaskCreateModel } from '../../../domain.types/enrollment/enro import { TimeHelper } from '../../../common/time.helper'; import { DurationType } from '../../../domain.types/miscellaneous/time.types'; import { Logger } from '../../../common/logger'; +import { ParticipantService } from '../../../database/repository.services/enrollment/participant.service'; +import { CareplanService } from '../../../database/repository.services/careplan/careplan.service'; +import { CareplanActivityService } from '../../../database/repository.services/careplan/careplan.activity.service'; /////////////////////////////////////////////////////////////////////////////////////// @@ -42,51 +40,48 @@ export class EnrollmentControllerDelegate { _service: EnrollmentService = null; - _careplanActivityDelegate: CareplanActivityControllerDelegate = null; + _careplanActivityService: CareplanActivityService = null; + + _enrollmentTaskService: EnrollmentTaskService = null; - _scheduleService: EnrollmentTaskService = null; + _participantService: ParticipantService = null; + + _careplanService: CareplanService = null; constructor() { this._service = new EnrollmentService(); - this._careplanActivityDelegate = new CareplanActivityControllerDelegate(); - this._scheduleService = new EnrollmentTaskService(); + this._careplanActivityService = new CareplanActivityService(); + this._enrollmentTaskService = new EnrollmentTaskService(); + this._participantService = new ParticipantService(); + this._careplanService = new CareplanService(); } //#endregion create = async (requestBody: any) => { + await validator.validateCreateRequest(requestBody); + + var participantId = requestBody.ParticipantId; + const participant = await this._participantService.getById(participantId); + if (!participant) { + ErrorHandler.throwNotFoundError(`Participant not found!`); + } + + var careplanId = requestBody.CareplanId; + const careplan = await this._careplanService.getById(careplanId); + if (!careplan) { + ErrorHandler.throwNotFoundError(`Careplan not found!`); + } + var createModel: EnrollmentCreateModel = this.getCreateModel(requestBody); const record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create enrollment!', 400); } - const careplanActivity = await this._careplanActivityDelegate.search({ careplanId : record.CareplanId }); - const scheduleDate = TimeHelper.addDuration( - record.StartDate, - careplanActivity.Items[0].Day - 1, - DurationType.Day - ); - - var enrollmentTaskModel: EnrollmentTaskCreateModel = { - - EnrollmentId : record.id, - ParticipantId : record.ParticipantId, - CareplanId : record.CareplanId, - CareplanActivityId : careplanActivity.Items[0].id, - AssetId : careplanActivity.Items[0].AssetId, - AssetType : careplanActivity.Items[0].AssetType, - TimeSlot : careplanActivity.Items[0].TimeSlot, - ScheduledDate : scheduleDate - }; - - try { - const enrollmentTaskRecord = await this._scheduleService.create(enrollmentTaskModel); - Logger.instance().log(JSON.stringify(enrollmentTaskRecord, null, 2)); - } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment schedule!', error); - } + await this.generateRegistrationTasks(record); + await this.generateScheduledTasks(record); return this.getEnrichedDto(record); } @@ -137,6 +132,87 @@ export class EnrollmentControllerDelegate { //#region Privates + generateRegistrationTasks = async(record) => { + + try { + + const registrationActivities = + await this._careplanActivityService.getRegistrationActivities(record.CareplanId); + + const enrollmentDate = record.EnrollmentDate; + var count = 0; + const timeOffset = 30; //seconds + + for await (var act of registrationActivities) { + + count++; + var dt = TimeHelper.addDuration(enrollmentDate, count * timeOffset, DurationType.Second); + + var createModel: EnrollmentTaskCreateModel = { + EnrollmentId : record.id, + ParticipantId : record.ParticipantId, + CareplanId : record.CareplanId, + CareplanActivityId : act.id, + AssetId : act.AssetId, + AssetType : act.AssetType, + TimeSlot : act.TimeSlot, + IsRegistrationActivity : true, + ScheduledDate : dt + }; + + const activity = await this._enrollmentTaskService.create(createModel); + Logger.instance().log(`Registration activity: ${count} \n${JSON.stringify(activity, null, 2)}`); + } + + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment registration tasks!', error); + } + + } + + generateScheduledTasks = async(record) => { + + try { + + const scheduledActivities = + await this._careplanActivityService.getScheduledActivities(record.CareplanId); + + const startDate = record.StartDate; + + const calculatedOffset = + (record.WeekOffset ? (record.WeekOffset * 7) : 0) + (record.DayOffset ? record.DayOffset : 0); + + const filtered = scheduledActivities.filter( (x) => x.Day >= calculatedOffset); + + for await (var act of filtered) { + + var daysToAdd = act.Day - calculatedOffset; + if (daysToAdd < 0) { + daysToAdd = 0; + } + const dt = TimeHelper.addDuration(startDate, daysToAdd, DurationType.Day); + + var createModel: EnrollmentTaskCreateModel = { + EnrollmentId : record.id, + ParticipantId : record.ParticipantId, + CareplanId : record.CareplanId, + CareplanActivityId : act.id, + AssetId : act.AssetId, + AssetType : act.AssetType, + TimeSlot : act.TimeSlot, + IsRegistrationActivity : false, + ScheduledDate : dt + }; + + const activity = await this._enrollmentTaskService.create(createModel); + Logger.instance().log(`Scheduled activity for day: ${act.Day} \n${JSON.stringify(activity, null, 2)}`); + } + + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment scheduled tasks!', error); + } + } + getSearchFilters = (query) => { var filters = {}; @@ -145,6 +221,10 @@ export class EnrollmentControllerDelegate { if (careplanId != null) { filters['CareplanId'] = careplanId; } + var participantId = query.participantId ? query.participantId : null; + if (participantId != null) { + filters['ParticipantId'] = participantId; + } var progressStatus = query.progressStatus ? query.progressStatus : null; if (progressStatus != null) { filters['ProgressStatus'] = progressStatus; @@ -169,8 +249,11 @@ export class EnrollmentControllerDelegate { if (Helper.hasProperty(requestBody, 'EndDate')) { updateModel.EndDate = requestBody.EndDate; } - if (Helper.hasProperty(requestBody, 'EnrollmentDate')) { - updateModel.EnrollmentDate = requestBody.EnrollmentDate; + if (Helper.hasProperty(requestBody, 'WeekOffset')) { + updateModel.WeekOffset = requestBody.WeekOffset; + } + if (Helper.hasProperty(requestBody, 'DayOffset')) { + updateModel.DayOffset = requestBody.DayOffset; } return updateModel; @@ -182,7 +265,9 @@ export class EnrollmentControllerDelegate { ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, StartDate : requestBody.StartDate ? requestBody.StartDate : null, EndDate : requestBody.EndDate ? requestBody.EndDate : null, - EnrollmentDate : requestBody.EnrollmentDate ? requestBody.EnrollmentDate : null + WeekOffset : requestBody.WeekOffset ? requestBody.WeekOffset : 0, + DayOffset : requestBody.DayOffset ? requestBody.DayOffset : 0, + EnrollmentDate : requestBody.EnrollmentDate ? requestBody.EnrollmentDate : new Date() }; } diff --git a/src/api/enrollment/enrollment/enrollment.validator.ts b/src/api/enrollment/enrollment/enrollment.validator.ts index 3f0ad30..97253f0 100644 --- a/src/api/enrollment/enrollment/enrollment.validator.ts +++ b/src/api/enrollment/enrollment/enrollment.validator.ts @@ -16,6 +16,8 @@ export class EnrollmentValidator { }).optional(), StartDate : joi.date().iso().optional(), EndDate : joi.date().iso().optional(), + WeekOffset : joi.number().optional(), + DayOffset : joi.number().optional(), EnrollmentDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); @@ -31,9 +33,8 @@ export class EnrollmentValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), - StartDate : joi.date().iso().optional(), - EndDate : joi.date().iso().optional(), - EnrollmentDate : joi.date().iso().optional() + StartDate : joi.date().iso().optional(), + EndDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { diff --git a/src/database/mappers/careplan/careplan.schedule.mapper.ts b/src/database/mappers/careplan/careplan.activity.mapper.ts similarity index 50% rename from src/database/mappers/careplan/careplan.schedule.mapper.ts rename to src/database/mappers/careplan/careplan.activity.mapper.ts index 31dae4d..3d1d0e1 100644 --- a/src/database/mappers/careplan/careplan.schedule.mapper.ts +++ b/src/database/mappers/careplan/careplan.activity.mapper.ts @@ -11,15 +11,15 @@ export class CareplanActivityMapper { return null; } const dto: CareplanActivityDto = { - id: careplanActivity.id, - AssetId: careplanActivity.AssetId, - AssetType: careplanActivity.AssetType, - CareplanId: careplanActivity.CareplanId, - Day: careplanActivity.Day, - TimeSlot: careplanActivity.TimeSlot, - + id : careplanActivity.id, + AssetId : careplanActivity.AssetId, + AssetType : careplanActivity.AssetType, + CareplanId : careplanActivity.CareplanId, + Day : careplanActivity.Day, + TimeSlot : careplanActivity.TimeSlot, + IsRegistrationActivity : careplanActivity.IsRegistrationActivity, }; return dto; }; -} \ No newline at end of file +} diff --git a/src/database/mappers/enrollment/enrollment.schedule.mapper.ts b/src/database/mappers/enrollment/enrollment.schedule.mapper.ts deleted file mode 100644 index 8a42e48..0000000 --- a/src/database/mappers/enrollment/enrollment.schedule.mapper.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { - EnrollmentTaskDto -} from '../../../domain.types/enrollment/enrollment.task.domain.types'; - -/////////////////////////////////////////////////////////////////////////////////// - -export class EnrollmentTaskMapper { - - static toDto = (enrollmentTask: any): EnrollmentTaskDto => { - if (enrollmentTask == null) { - return null; - } - const dto: EnrollmentTaskDto = { - id : enrollmentTask.id, - EnrollmentId : enrollmentTask.EnrollmentId, - ParticipantId : enrollmentTask.ParticipantId, - CareplanActivityId : enrollmentTask.CareplanActivityId, - AssetId : enrollmentTask.AssetId, - AssetType : enrollmentTask.AssetType, - CareplanId : enrollmentTask.CareplanId, - TimeSlot : enrollmentTask.TimeSlot, - ScheduledDate : enrollmentTask.ScheduledDate, - - }; - return dto; - }; - -} diff --git a/src/database/mappers/enrollment/enrollment.task.mapper.ts b/src/database/mappers/enrollment/enrollment.task.mapper.ts new file mode 100644 index 0000000..9e51973 --- /dev/null +++ b/src/database/mappers/enrollment/enrollment.task.mapper.ts @@ -0,0 +1,28 @@ +import { + EnrollmentTaskDto +} from '../../../domain.types/enrollment/enrollment.task.domain.types'; + +/////////////////////////////////////////////////////////////////////////////////// + +export class EnrollmentTaskMapper { + + static toDto = (enrollmentTask: any): EnrollmentTaskDto => { + if (enrollmentTask == null) { + return null; + } + const dto: EnrollmentTaskDto = { + id : enrollmentTask.id, + EnrollmentId : enrollmentTask.EnrollmentId, + ParticipantId : enrollmentTask.ParticipantId, + CareplanActivityId : enrollmentTask.CareplanActivityId, + AssetId : enrollmentTask.AssetId, + AssetType : enrollmentTask.AssetType, + CareplanId : enrollmentTask.CareplanId, + TimeSlot : enrollmentTask.TimeSlot, + ScheduledDate : enrollmentTask.ScheduledDate, + IsRegistrationActivity : enrollmentTask.IsRegistrationActivity, + }; + return dto; + }; + +} diff --git a/src/database/models/careplan/careplan.activity.model.ts b/src/database/models/careplan/careplan.activity.model.ts index 8a7f5e1..f7ce428 100644 --- a/src/database/models/careplan/careplan.activity.model.ts +++ b/src/database/models/careplan/careplan.activity.model.ts @@ -41,6 +41,11 @@ export class CareplanActivityModel { allowNull : false, defaultValue : 'Unspecified' }, + IsRegistrationActivity : { + type : DataTypes.BOOLEAN, + allowNull : false, + defaultValue : false + }, CreatedAt : DataTypes.DATE, UpdatedAt : DataTypes.DATE, diff --git a/src/database/models/enrollment/enrollment.task.model.ts b/src/database/models/enrollment/enrollment.task.model.ts index 4b7bb79..4bf9233 100644 --- a/src/database/models/enrollment/enrollment.task.model.ts +++ b/src/database/models/enrollment/enrollment.task.model.ts @@ -60,7 +60,12 @@ export class EnrollmentTaskModel { type : DataTypes.DATE, allowNull : false }, - + IsRegistrationActivity : { + type : DataTypes.BOOLEAN, + allowNull : false, + defaultValue : false + }, + CreatedAt : DataTypes.DATE, UpdatedAt : DataTypes.DATE, DeletedAt : DataTypes.DATE diff --git a/src/database/repository.services/careplan/careplan.activity.service.ts b/src/database/repository.services/careplan/careplan.activity.service.ts index 6caedd2..8f85351 100644 --- a/src/database/repository.services/careplan/careplan.activity.service.ts +++ b/src/database/repository.services/careplan/careplan.activity.service.ts @@ -13,6 +13,7 @@ import { CareplanActivitySearchFilters, CareplanActivitySearchResults } from '../../../domain.types/careplan/careplan.activity.domain.types'; +import { uuid } from '../../../domain.types/miscellaneous/system.types'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -58,6 +59,27 @@ export class CareplanActivityService { } } + getRegistrationActivities = async (careplanId: uuid) => { + const records = await this.CareplanActivity.findAll({ + where : { + CareplanId : careplanId, + IsRegistrationActivity : true + } + }); + return records; + } + + getScheduledActivities = async (careplanId: uuid) => { + const records = await this.CareplanActivity.findAll({ + where : { + CareplanId : careplanId, + IsRegistrationActivity : false, + } + }); + var sorted = records.sort((a,b) => a.Day - b.Day); + return sorted; + } + exists = async (id): Promise < boolean > => { try { const record = await this.CareplanActivity.findByPk(id); @@ -155,6 +177,9 @@ export class CareplanActivityService { if (filters.TimeSlot) { search.where['TimeSlot'] = filters.TimeSlot; } + if (filters.IsRegistrationActivity) { + search.where['IsRegistrationActivity'] = filters.IsRegistrationActivity; + } const includeCareplanAsCareplan = { model : this.Careplan, required : false, diff --git a/src/database/repository.services/enrollment/enrollment.task.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts index 7c54795..f726b4a 100644 --- a/src/database/repository.services/enrollment/enrollment.task.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -151,6 +151,9 @@ export class EnrollmentTaskService { if (filters.TimeSlot) { search.where['TimeSlot'] = filters.TimeSlot; } + if (filters.IsRegistrationActivity) { + search.where['IsRegistrationActivity'] = filters.IsRegistrationActivity; + } const includeEnrollmentAsEnrollment = { model : this.Enrollment, required : false, diff --git a/src/domain.types/careplan/careplan.activity.domain.types.ts b/src/domain.types/careplan/careplan.activity.domain.types.ts index 01fb313..360c67d 100644 --- a/src/domain.types/careplan/careplan.activity.domain.types.ts +++ b/src/domain.types/careplan/careplan.activity.domain.types.ts @@ -6,37 +6,40 @@ import { import { uuid } from "../miscellaneous/system.types"; export interface CareplanActivityCreateModel { - AssetId? : number; - AssetType? : AssetType; - CareplanId?: number; - Day? : number; - TimeSlot? : TimeSlot; + AssetId? : number; + AssetType? : AssetType; + CareplanId? : number; + Day? : number; + TimeSlot? : TimeSlot; + IsRegistrationActivity: boolean; } export interface CareplanActivityUpdateModel { - AssetId? : number; - AssetType? : AssetType; - CareplanId?: number; - Day? : number; - TimeSlot? : TimeSlot; + AssetId? : number; + AssetType? : AssetType; + CareplanId? : number; + Day? : number; + TimeSlot? : TimeSlot; + IsRegistrationActivity?: boolean; } export interface CareplanActivityDto { - id : uuid; - AssetId : number; - AssetType : AssetType; - CareplanId: number; - Day : number; - TimeSlot : TimeSlot; - + id : uuid; + AssetId : number; + AssetType : AssetType; + CareplanId : number; + Day : number; + TimeSlot : TimeSlot; + IsRegistrationActivity: boolean; } export interface CareplanActivitySearchFilters extends BaseSearchFilters { - AssetId? : number; - AssetType? : AssetType; - CareplanId?: number; - Day? : number; - TimeSlot? : TimeSlot; + AssetId? : number; + AssetType? : AssetType; + CareplanId? : number; + Day? : number; + TimeSlot? : TimeSlot; + IsRegistrationActivity?: boolean; } export interface CareplanActivitySearchResults extends BaseSearchResults { diff --git a/src/domain.types/enrollment/enrollment.domain.types.ts b/src/domain.types/enrollment/enrollment.domain.types.ts index 0221714..aca5cd6 100644 --- a/src/domain.types/enrollment/enrollment.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.domain.types.ts @@ -12,6 +12,8 @@ export interface EnrollmentCreateModel { ParticipantId ?: uuid; StartDate ?: Date; EndDate ?: Date; + WeekOffset ?: number; + DayOffset ?: number; EnrollmentDate ?: Date; } @@ -20,6 +22,8 @@ export interface EnrollmentUpdateModel { ParticipantId ?: uuid; StartDate ?: Date; EndDate ?: Date; + WeekOffset ?: number; + DayOffset ?: number; EnrollmentDate ?: Date; } @@ -30,6 +34,8 @@ export interface EnrollmentDto { StartDate : Date; EndDate : Date; EnrollmentDate: Date; + WeekOffset ?: number; + DayOffset ?: number; ProgressStatus: ProgressStatus; } diff --git a/src/domain.types/enrollment/enrollment.task.domain.types.ts b/src/domain.types/enrollment/enrollment.task.domain.types.ts index 315f116..3a553f3 100644 --- a/src/domain.types/enrollment/enrollment.task.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.task.domain.types.ts @@ -14,6 +14,7 @@ export interface EnrollmentTaskCreateModel { AssetId : number; AssetType : AssetType; CareplanId : number; + IsRegistrationActivity : boolean; TimeSlot : TimeSlot; ScheduledDate : Date; } @@ -32,6 +33,7 @@ export interface EnrollmentTaskDto { CareplanId : number; TimeSlot : TimeSlot; ScheduledDate : Date; + IsRegistrationActivity : boolean, } export interface EnrollmentTaskSearchFilters extends BaseSearchFilters { @@ -39,6 +41,7 @@ export interface EnrollmentTaskSearchFilters extends BaseSearchFilters { AssetType ?: AssetType; CareplanId ?: number; TimeSlot ?: TimeSlot; + IsRegistrationActivity? : boolean, } export interface EnrollmentTaskSearchResults extends BaseSearchResults { From f15c3da0bbd592ab6411b1d95b92b0f231c17285 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Fri, 29 Jul 2022 22:43:21 +0530 Subject: [PATCH 028/169] Fixed participant selected goal --- ...pant.selected.goal.controller.delegate.ts} | 138 ++++++++++-------- .../participant.selected.goal.controller.ts} | 30 ++-- .../participant.selected.goal.routes.ts | 24 +++ .../participant.selected.goal.validator.ts} | 33 +++-- .../user.selected.goal.routes.ts | 24 --- .../user.selected.goal.mapper.ts | 37 ++--- ....ts => participant.selected.goal.model.ts} | 30 ++-- ...s => participant.selected.goal.service.ts} | 72 +++++---- .../participant.selected.goal.domain.types.ts | 72 +++++++++ .../user.selected.goal.domain.types.ts | 68 --------- src/startup/router.ts | 4 +- 11 files changed, 293 insertions(+), 239 deletions(-) rename src/api/user.responses/{user.selected.goal/user.selected.goal.controller.delegate.ts => participant.selected.goal/participant.selected.goal.controller.delegate.ts} (53%) rename src/api/user.responses/{user.selected.goal/user.selected.goal.controller.ts => participant.selected.goal/participant.selected.goal.controller.ts} (65%) create mode 100644 src/api/user.responses/participant.selected.goal/participant.selected.goal.routes.ts rename src/api/user.responses/{user.selected.goal/user.selected.goal.validator.ts => participant.selected.goal/participant.selected.goal.validator.ts} (63%) delete mode 100644 src/api/user.responses/user.selected.goal/user.selected.goal.routes.ts rename src/database/models/user.responses/{user.selected.goal.model.ts => participant.selected.goal.model.ts} (76%) rename src/database/repository.services/user.responses/{user.selected.goal.service.ts => participant.selected.goal.service.ts} (73%) create mode 100644 src/domain.types/user.responses/participant.selected.goal.domain.types.ts delete mode 100644 src/domain.types/user.responses/user.selected.goal.domain.types.ts diff --git a/src/api/user.responses/user.selected.goal/user.selected.goal.controller.delegate.ts b/src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts similarity index 53% rename from src/api/user.responses/user.selected.goal/user.selected.goal.controller.delegate.ts rename to src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts index 7e43c9c..20b2773 100644 --- a/src/api/user.responses/user.selected.goal/user.selected.goal.controller.delegate.ts +++ b/src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts @@ -1,6 +1,6 @@ import { - UserSelectedGoalService -} from '../../../database/repository.services/user.responses/user.selected.goal.service'; + ParticipantSelectedGoalService +} from '../../../database/repository.services/user.responses/participant.selected.goal.service'; import { ErrorHandler } from '../../../common/error.handler'; @@ -11,31 +11,31 @@ import { ApiError } from '../../../common/api.error'; import { - UserSelectedGoalValidator as validator -} from './user.selected.goal.validator'; + ParticipantSelectedGoalValidator as validator +} from './participant.selected.goal.validator'; import { uuid } from '../../../domain.types/miscellaneous/system.types'; import { - UserSelectedGoalCreateModel, - UserSelectedGoalUpdateModel, - UserSelectedGoalSearchFilters, - UserSelectedGoalSearchResults -} from '../../../domain.types/user.responses/user.selected.goal.domain.types'; + ParticipantSelectedGoalCreateModel, + ParticipantSelectedGoalUpdateModel, + ParticipantSelectedGoalSearchFilters, + ParticipantSelectedGoalSearchResults +} from '../../../domain.types/user.responses/participant.selected.goal.domain.types'; import { CareplanService } from '../../../database/repository.services/careplan/careplan.service'; /////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedGoalControllerDelegate { +export class ParticipantSelectedGoalControllerDelegate { //#region member variables and constructors - _service: UserSelectedGoalService = null; + _service: ParticipantSelectedGoalService = null; _careplanService: CareplanService = null; constructor() { - this._service = new UserSelectedGoalService(); + this._service = new ParticipantSelectedGoalService(); this._careplanService = new CareplanService(); } @@ -44,10 +44,10 @@ export class UserSelectedGoalControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); const careplan = await this._careplanService.getById(requestBody.CareplanId); - var createModel: UserSelectedGoalCreateModel = this.getCreateModel(requestBody, careplan); + var createModel: ParticipantSelectedGoalCreateModel = this.getCreateModel(requestBody, careplan); const record = await this._service.create(createModel); if (record === null) { - throw new ApiError('Unable to create user selected goal!', 400); + throw new ApiError('Unable to create participant selected goal!', 400); } return this.getEnrichedDto(record); } @@ -55,15 +55,15 @@ export class UserSelectedGoalControllerDelegate { getById = async (id: uuid) => { const record = await this._service.getById(id); if (record === null) { - ErrorHandler.throwNotFoundError('User selected goal with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Participant selected goal with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); } search = async (query: any) => { await validator.validateSearchRequest(query); - var filters: UserSelectedGoalSearchFilters = this.getSearchFilters(query); - var searchResults: UserSelectedGoalSearchResults = await this._service.search(filters); + var filters: ParticipantSelectedGoalSearchFilters = this.getSearchFilters(query); + var searchResults: ParticipantSelectedGoalSearchResults = await this._service.search(filters); var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; @@ -73,12 +73,12 @@ export class UserSelectedGoalControllerDelegate { await validator.validateUpdateRequest(requestBody); const record = await this._service.getById(id); if (record === null) { - ErrorHandler.throwNotFoundError('User selected goal with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Participant selected goal with id ' + id.toString() + ' cannot be found!'); } - const updateModel: UserSelectedGoalUpdateModel = this.getUpdateModel(requestBody); + const updateModel: ParticipantSelectedGoalUpdateModel = this.getUpdateModel(requestBody); const updated = await this._service.update(id, updateModel); if (updated == null) { - throw new ApiError('Unable to update user selected goal!', 400); + throw new ApiError('Unable to update participant selected goal!', 400); } return this.getEnrichedDto(updated); } @@ -86,11 +86,11 @@ export class UserSelectedGoalControllerDelegate { delete = async (id: uuid) => { const record = await this._service.getById(id); if (record == null) { - ErrorHandler.throwNotFoundError('User selected goal with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Participant selected goal with id ' + id.toString() + ' cannot be found!'); } - const userSelectedGoalDeleted: boolean = await this._service.delete(id); + const participantSelectedGoalDeleted: boolean = await this._service.delete(id); return { - Deleted : userSelectedGoalDeleted + Deleted : participantSelectedGoalDeleted }; } @@ -110,6 +110,10 @@ export class UserSelectedGoalControllerDelegate { if (participantId != null) { filters['ParticipantId'] = participantId; } + var selectedPriorityId = query.selectedPriorityId ? query.selectedPriorityId : null; + if (selectedPriorityId != null) { + filters['SelectedPriorityId'] = selectedPriorityId; + } var name = query.name ? query.name : null; if (name != null) { filters['Name'] = name; @@ -154,9 +158,9 @@ export class UserSelectedGoalControllerDelegate { return filters; } - getUpdateModel = (requestBody): UserSelectedGoalUpdateModel => { + getUpdateModel = (requestBody): ParticipantSelectedGoalUpdateModel => { - const updateModel: UserSelectedGoalUpdateModel = {}; + const updateModel: ParticipantSelectedGoalUpdateModel = {}; if (Helper.hasProperty(requestBody, 'Name')) { updateModel.Name = requestBody.Name; @@ -170,6 +174,9 @@ export class UserSelectedGoalControllerDelegate { if (Helper.hasProperty(requestBody, 'ParticipantId')) { updateModel.ParticipantId = requestBody.ParticipantId; } + if (Helper.hasProperty(requestBody, 'SelectedPriorityId')) { + updateModel.SelectedPriorityId = requestBody.SelectedPriorityId; + } if (Helper.hasProperty(requestBody, 'CareplanId')) { updateModel.CareplanId = requestBody.CareplanId; } @@ -186,19 +193,20 @@ export class UserSelectedGoalControllerDelegate { return updateModel; } - getCreateModel = (requestBody, careplan): UserSelectedGoalCreateModel => { + getCreateModel = (requestBody, careplan): ParticipantSelectedGoalCreateModel => { return { - Name : requestBody.Name ? requestBody.Name : null, - Description : requestBody.Description ? requestBody.Description : null, - EnrollmentId : requestBody.EnrollmentId ? requestBody.EnrollmentId : null, - ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, - CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, - AssetId : careplan.AssetId ? careplan.AssetId : null, - AssetType : careplan.AssetType ? careplan.AssetType : null, - AssetCode : careplan.AssetCode ? careplan.AssetCode : null, - AdditionalDetails : requestBody.AdditionalDetails ? requestBody.AdditionalDetails : null, - StartDate : requestBody.StartDate ? requestBody.StartDate : null, - EndDate : requestBody.EndDate ? requestBody.EndDate : null + Name : requestBody.Name ? requestBody.Name : null, + Description : requestBody.Description ? requestBody.Description : null, + EnrollmentId : requestBody.EnrollmentId ? requestBody.EnrollmentId : null, + ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, + SelectedPriorityId : requestBody.SelectedPriorityId ? requestBody.SelectedPriorityId : null, + CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, + AssetId : careplan.AssetId ? careplan.AssetId : null, + AssetType : careplan.AssetType ? careplan.AssetType : null, + AssetCode : careplan.AssetCode ? careplan.AssetCode : null, + AdditionalDetails : requestBody.AdditionalDetails ? requestBody.AdditionalDetails : null, + StartDate : requestBody.StartDate ? requestBody.StartDate : null, + EndDate : requestBody.EndDate ? requestBody.EndDate : null }; } @@ -207,19 +215,20 @@ export class UserSelectedGoalControllerDelegate { return null; } return { - id : record.id, - Name : record.Name, - Description : record.Description, - EnrollmentId : record.EnrollmentId, - ParticipantId : record.ParticipantId, - CareplanId : record.CareplanId, - AssetId : record.AssetId, - AssetType : record.AssetType, - AssetCode : record.AssetCode, - AdditionalDetails : record.AdditionalDetails, - StartDate : record.StartDate, - EndDate : record.EndDate, - ProgressStatus : record.ProgressStatus + id : record.id, + Name : record.Name, + Description : record.Description, + EnrollmentId : record.EnrollmentId, + ParticipantId : record.ParticipantId, + SelectedPriorityId : record.SelectedPriorityId, + CareplanId : record.CareplanId, + AssetId : record.AssetId, + AssetType : record.AssetType, + AssetCode : record.AssetCode, + AdditionalDetails : record.AdditionalDetails, + StartDate : record.StartDate, + EndDate : record.EndDate, + ProgressStatus : record.ProgressStatus }; } @@ -228,22 +237,23 @@ export class UserSelectedGoalControllerDelegate { return null; } return { - id : record.id, - Name : record.Name, - Description : record.Description, - EnrollmentId : record.EnrollmentId, - ParticipantId : record.ParticipantId, - CareplanId : record.CareplanId, - AssetId : record.AssetId, - AssetType : record.AssetType, - AssetCode : record.AssetCode, - AdditionalDetails : record.AdditionalDetails, - StartDate : record.StartDate, - EndDate : record.EndDate, - ProgressStatus : record.ProgressStatus + id : record.id, + Name : record.Name, + Description : record.Description, + EnrollmentId : record.EnrollmentId, + ParticipantId : record.ParticipantId, + SelectedPriorityId : record.SelectedPriorityId, + CareplanId : record.CareplanId, + AssetId : record.AssetId, + AssetType : record.AssetType, + AssetCode : record.AssetCode, + AdditionalDetails : record.AdditionalDetails, + StartDate : record.StartDate, + EndDate : record.EndDate, + ProgressStatus : record.ProgressStatus }; } - + //#endregion } diff --git a/src/api/user.responses/user.selected.goal/user.selected.goal.controller.ts b/src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.ts similarity index 65% rename from src/api/user.responses/user.selected.goal/user.selected.goal.controller.ts rename to src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.ts index a2b9dad..528e122 100644 --- a/src/api/user.responses/user.selected.goal/user.selected.goal.controller.ts +++ b/src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.ts @@ -3,32 +3,32 @@ import { ResponseHandler } from '../../../common/response.handler'; import { - UserSelectedGoalControllerDelegate -} from './user.selected.goal.controller.delegate'; + ParticipantSelectedGoalControllerDelegate +} from './participant.selected.goal.controller.delegate'; import { BaseController } from '../../base.controller'; /////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedGoalController extends BaseController { +export class ParticipantSelectedGoalController extends BaseController { //#region member variables and constructors - _delegate: UserSelectedGoalControllerDelegate = null; + _delegate: ParticipantSelectedGoalControllerDelegate = null; constructor() { super(); - this._delegate = new UserSelectedGoalControllerDelegate(); + this._delegate = new ParticipantSelectedGoalControllerDelegate(); } //#endregion create = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedGoal.Create', request, response); + await this.authorize('ParticipantSelectedGoal.Create', request, response, false); const record = await this._delegate.create(request.body); - const message = 'User selected goal added successfully!'; + const message = 'Participant selected goal added successfully!'; ResponseHandler.success(request, response, message, 201, record); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -37,9 +37,9 @@ export class UserSelectedGoalController extends BaseController { getById = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedGoal.GetById', request, response); + await this.authorize('ParticipantSelectedGoal.GetById', request, response, false); const record = await this._delegate.getById(request.params.id); - const message = 'User selected goal retrieved successfully!'; + const message = 'Participant selected goal retrieved successfully!'; ResponseHandler.success(request, response, message, 200, record); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -48,9 +48,9 @@ export class UserSelectedGoalController extends BaseController { search = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedGoal.Search', request, response); + await this.authorize('ParticipantSelectedGoal.Search', request, response, false); const searchResults = await this._delegate.search(request.query); - const message = 'User selected goal records retrieved successfully!'; + const message = 'Participant selected goal records retrieved successfully!'; ResponseHandler.success(request, response, message, 200, searchResults); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -59,9 +59,9 @@ export class UserSelectedGoalController extends BaseController { update = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedGoal.Update', request, response); + await this.authorize('ParticipantSelectedGoal.Update', request, response, false); const updatedRecord = await this._delegate.update(request.params.id, request.body); - const message = 'User selected goal updated successfully!'; + const message = 'Participant selected goal updated successfully!'; ResponseHandler.success(request, response, message, 200, updatedRecord); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -70,9 +70,9 @@ export class UserSelectedGoalController extends BaseController { delete = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedGoal.Delete', request, response); + await this.authorize('ParticipantSelectedGoal.Delete', request, response, false); const result = await this._delegate.delete(request.params.id); - const message = 'User selected goal deleted successfully!'; + const message = 'Participant selected goal deleted successfully!'; ResponseHandler.success(request, response, message, 200, result); } catch (error) { ResponseHandler.handleError(request, response, error); diff --git a/src/api/user.responses/participant.selected.goal/participant.selected.goal.routes.ts b/src/api/user.responses/participant.selected.goal/participant.selected.goal.routes.ts new file mode 100644 index 0000000..b04710b --- /dev/null +++ b/src/api/user.responses/participant.selected.goal/participant.selected.goal.routes.ts @@ -0,0 +1,24 @@ +import express from 'express'; +import { + ParticipantSelectedGoalController +} from './participant.selected.goal.controller'; +import { + Loader +} from '../../../startup/loader'; + +/////////////////////////////////////////////////////////////////////////////////// + +export const register = (app: express.Application): void => { + + const router = express.Router(); + const authenticator = Loader.Authenticator; + const controller = new ParticipantSelectedGoalController(); + + router.post('/', authenticator.authenticateClient, controller.create); + router.get('/search', authenticator.authenticateClient, controller.search); + router.get('/:id', authenticator.authenticateClient, controller.getById); + router.put('/:id', authenticator.authenticateClient, controller.update); + router.delete('/:id', authenticator.authenticateClient, controller.delete); + + app.use('/api/v1/participant-selected-goals', router); +}; diff --git a/src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts b/src/api/user.responses/participant.selected.goal/participant.selected.goal.validator.ts similarity index 63% rename from src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts rename to src/api/user.responses/participant.selected.goal/participant.selected.goal.validator.ts index fd75254..ffdf12a 100644 --- a/src/api/user.responses/user.selected.goal/user.selected.goal.validator.ts +++ b/src/api/user.responses/participant.selected.goal/participant.selected.goal.validator.ts @@ -5,7 +5,7 @@ import { /////////////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedGoalValidator { +export class ParticipantSelectedGoalValidator { static validateCreateRequest = async (requestBody) => { try { @@ -18,6 +18,9 @@ export class UserSelectedGoalValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), + SelectedPriorityId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), CareplanId : joi.number().integer().optional(), AdditionalDetails : joi.string().optional(), StartDate : joi.date().iso().optional(), @@ -40,6 +43,9 @@ export class UserSelectedGoalValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), + SelectedPriorityId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), CareplanId : joi.number().integer().optional(), AdditionalDetails : joi.string().optional(), StartDate : joi.date().iso().optional(), @@ -54,18 +60,19 @@ export class UserSelectedGoalValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), - enrollmentId : joi.string().guid({ version: ['uuidv4'] }).optional(), - name : joi.string().max(256).optional(), - description : joi.string().optional(), - careplanId : joi.number().integer().optional(), - assetId : joi.number().integer().optional(), - assetType : joi.string().max(128).optional(), - assetCode : joi.string().max(128).optional(), - additionalDetails : joi.string().optional(), - startDate : joi.date().iso().optional(), - endDate : joi.date().iso().optional(), - progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() + participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), + enrollmentId : joi.string().guid({ version: ['uuidv4'] }).optional(), + selectedPriorityId : joi.string().guid({ version: ['uuidv4'] }).optional(), + name : joi.string().max(256).optional(), + description : joi.string().optional(), + careplanId : joi.number().integer().optional(), + assetId : joi.number().integer().optional(), + assetType : joi.string().max(128).optional(), + assetCode : joi.string().max(128).optional(), + additionalDetails : joi.string().optional(), + startDate : joi.date().iso().optional(), + endDate : joi.date().iso().optional(), + progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() }); return await schema.validateAsync(query); diff --git a/src/api/user.responses/user.selected.goal/user.selected.goal.routes.ts b/src/api/user.responses/user.selected.goal/user.selected.goal.routes.ts deleted file mode 100644 index 1799b90..0000000 --- a/src/api/user.responses/user.selected.goal/user.selected.goal.routes.ts +++ /dev/null @@ -1,24 +0,0 @@ -import express from 'express'; -import { - UserSelectedGoalController -} from './user.selected.goal.controller'; -import { - Loader -} from '../../../startup/loader'; - -/////////////////////////////////////////////////////////////////////////////////// - -export const register = (app: express.Application): void => { - - const router = express.Router(); - const authenticator = Loader.Authenticator; - const controller = new UserSelectedGoalController(); - - router.post('/', authenticator.authenticateUser, controller.create); - router.get('/search', authenticator.authenticateUser, controller.search); - router.get('/:id', authenticator.authenticateUser, controller.getById); - router.put('/:id', authenticator.authenticateUser, controller.update); - router.delete('/:id', authenticator.authenticateUser, controller.delete); - - app.use('/api/v1/participant-selected-goals', router); -}; diff --git a/src/database/mappers/user.responses/user.selected.goal.mapper.ts b/src/database/mappers/user.responses/user.selected.goal.mapper.ts index 16cd4b8..6c92401 100644 --- a/src/database/mappers/user.responses/user.selected.goal.mapper.ts +++ b/src/database/mappers/user.responses/user.selected.goal.mapper.ts @@ -1,29 +1,30 @@ import { - UserSelectedGoalDto -} from '../../../domain.types/user.responses/user.selected.goal.domain.types'; + ParticipantSelectedGoalDto +} from '../../../domain.types/user.responses/participant.selected.goal.domain.types'; /////////////////////////////////////////////////////////////////////////////////// export class UserSelectedGoalMapper { - static toDto = (userSelectedGoal: any): UserSelectedGoalDto => { - if (userSelectedGoal == null) { + static toDto = (participantSelectedGoal: any): ParticipantSelectedGoalDto => { + if (participantSelectedGoal == null) { return null; } - const dto: UserSelectedGoalDto = { - id : userSelectedGoal.id, - Name : userSelectedGoal.Name, - Description : userSelectedGoal.Description, - EnrollmentId : userSelectedGoal.EnrollmentId, - ParticipantId : userSelectedGoal.ParticipantId, - CareplanId : userSelectedGoal.CareplanId, - AssetId : userSelectedGoal.AssetId, - AssetType : userSelectedGoal.AssetType, - AssetCode : userSelectedGoal.AssetCode, - AdditionalDetails : userSelectedGoal.AdditionalDetails, - StartDate : userSelectedGoal.StartDate, - EndDate : userSelectedGoal.EndDate, - ProgressStatus : userSelectedGoal.ProgressStatus, + const dto: ParticipantSelectedGoalDto = { + id : participantSelectedGoal.id, + Name : participantSelectedGoal.Name, + Description : participantSelectedGoal.Description, + EnrollmentId : participantSelectedGoal.EnrollmentId, + ParticipantId : participantSelectedGoal.ParticipantId, + SelectedPriorityId : participantSelectedGoal.SelectedPriorityId, + CareplanId : participantSelectedGoal.CareplanId, + AssetId : participantSelectedGoal.AssetId, + AssetType : participantSelectedGoal.AssetType, + AssetCode : participantSelectedGoal.AssetCode, + AdditionalDetails : participantSelectedGoal.AdditionalDetails, + StartDate : participantSelectedGoal.StartDate, + EndDate : participantSelectedGoal.EndDate, + ProgressStatus : participantSelectedGoal.ProgressStatus, }; return dto; diff --git a/src/database/models/user.responses/user.selected.goal.model.ts b/src/database/models/user.responses/participant.selected.goal.model.ts similarity index 76% rename from src/database/models/user.responses/user.selected.goal.model.ts rename to src/database/models/user.responses/participant.selected.goal.model.ts index 34341ad..c2e6b2e 100644 --- a/src/database/models/user.responses/user.selected.goal.model.ts +++ b/src/database/models/user.responses/participant.selected.goal.model.ts @@ -5,11 +5,11 @@ const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// -export class UserSelectedGoalModel { +export class ParticipantSelectedGoalModel { - static TableName = 'user_selected_goals'; + static TableName = 'participant_selected_goals'; - static ModelName = 'UserSelectedGoal'; + static ModelName = 'ParticipantSelectedGoal'; static Schema = { id : { @@ -38,6 +38,12 @@ export class UserSelectedGoalModel { foreignKey : true, unique : false }, + SelectedPriorityId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, CareplanId : { type : DataTypes.INTEGER, allowNull : false, @@ -81,8 +87,8 @@ export class UserSelectedGoalModel { }; static Model: any = sequelize.define( - UserSelectedGoalModel.ModelName, - UserSelectedGoalModel.Schema, + ParticipantSelectedGoalModel.ModelName, + ParticipantSelectedGoalModel.Schema, { createdAt : 'CreatedAt', updatedAt : 'UpdatedAt', @@ -90,26 +96,30 @@ export class UserSelectedGoalModel { freezeTableName : true, timestamps : true, paranoid : true, - tableName : UserSelectedGoalModel.TableName, + tableName : ParticipantSelectedGoalModel.TableName, }); static associate = (models) => { //Add associations here... - models.UserSelectedGoal.belongsTo(models.Enrollment, { + models.ParticipantSelectedGoal.belongsTo(models.Enrollment, { sourceKey : 'EnrollmentId', targetKey : 'id', as : 'Enrollment' }); - models.UserSelectedGoal.belongsTo(models.Participant, { + models.ParticipantSelectedGoal.belongsTo(models.Participant, { sourceKey : 'ParticipantId', targetKey : 'id', as : 'Participant' }); - - models.UserSelectedGoal.belongsTo(models.Careplan, { + models.ParticipantSelectedGoal.belongsTo(models.ParticipantSelectedPriority, { + sourceKey : 'SelectedPriorityId', + targetKey : 'id', + as : 'ParticipantSelectedPriority' + }); + models.ParticipantSelectedGoal.belongsTo(models.Careplan, { sourceKey : 'CareplanId', targetKey : 'id', as : 'Careplan' diff --git a/src/database/repository.services/user.responses/user.selected.goal.service.ts b/src/database/repository.services/user.responses/participant.selected.goal.service.ts similarity index 73% rename from src/database/repository.services/user.responses/user.selected.goal.service.ts rename to src/database/repository.services/user.responses/participant.selected.goal.service.ts index 23b85f2..dba4124 100644 --- a/src/database/repository.services/user.responses/user.selected.goal.service.ts +++ b/src/database/repository.services/user.responses/participant.selected.goal.service.ts @@ -1,6 +1,6 @@ import { - UserSelectedGoalModel -} from '../../models/user.responses/user.selected.goal.model'; + ParticipantSelectedGoalModel +} from '../../models/user.responses/participant.selected.goal.model'; import { ParticipantModel } from '../../models/enrollment/participant.model'; @@ -12,45 +12,48 @@ import { ErrorHandler } from '../../../common/error.handler'; import { - UserSelectedGoalCreateModel, - UserSelectedGoalSearchFilters, - UserSelectedGoalSearchResults -} from '../../../domain.types/user.responses/user.selected.goal.domain.types'; + ParticipantSelectedGoalCreateModel, + ParticipantSelectedGoalSearchFilters, + ParticipantSelectedGoalSearchResults +} from '../../../domain.types/user.responses/participant.selected.goal.domain.types'; import { Op } from 'sequelize'; -import { EnrollmentModel } from '../../../database/models/enrollment/enrollment.model'; +import { EnrollmentModel } from '../../models/enrollment/enrollment.model'; +import { ParticipantSelectedPriorityModel } from '../../../database/models/user.responses/participant.selected.priority.model'; /////////////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedGoalService { +export class ParticipantSelectedGoalService { //#region Models - UserSelectedGoal = UserSelectedGoalModel.Model; + ParticipantSelectedGoal = ParticipantSelectedGoalModel.Model; Enrollment = EnrollmentModel.Model; Participant = ParticipantModel.Model; + ParticipantSelectedPriority = ParticipantSelectedPriorityModel.Model; + Careplan = CareplanModel.Model; //#endregion //#region Publics - create = async (createModel: UserSelectedGoalCreateModel) => { + create = async (createModel: ParticipantSelectedGoalCreateModel) => { try { - var record = await this.UserSelectedGoal.create(createModel); + var record = await this.ParticipantSelectedGoal.create(createModel); return await this.getById(record.id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to create user selected goal!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to create participant selected goal!', error); } } getById = async (id) => { try { - const record = await this.UserSelectedGoal.findOne({ + const record = await this.ParticipantSelectedGoal.findOne({ where : { id : id }, @@ -69,26 +72,32 @@ export class UserSelectedGoalService { required : false, as : 'Enrollment', //through: { attributes: [] } + }, { + model : this.ParticipantSelectedPriority, + required : false, + as : 'ParticipantSelectedPriority', + //through: { attributes: [] } } ] }); return record; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve user selected goal!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve participant selected goal!', error); } } exists = async (id): Promise < boolean > => { try { - const record = await this.UserSelectedGoal.findByPk(id); + const record = await this.ParticipantSelectedGoal.findByPk(id); return record !== null; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of user selected goal!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of participant selected goal!', error); } } - search = async (filters: UserSelectedGoalSearchFilters): Promise < UserSelectedGoalSearchResults > => { + search = async (filters: ParticipantSelectedGoalSearchFilters): + Promise < ParticipantSelectedGoalSearchResults > => { try { var search = this.getSearchModel(filters); @@ -101,8 +110,8 @@ export class UserSelectedGoalService { limit } = this.addPaginationToSearch(search, filters); - const foundResults = await this.UserSelectedGoal.findAndCountAll(search); - const searchResults: UserSelectedGoalSearchResults = { + const foundResults = await this.ParticipantSelectedGoal.findAndCountAll(search); + const searchResults: ParticipantSelectedGoalSearchResults = { TotalCount : foundResults.count, RetrievedCount : foundResults.rows.length, PageIndex : pageIndex, @@ -115,38 +124,38 @@ export class UserSelectedGoalService { return searchResults; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to search user selected goal records!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to search participant selected goal records!', error); } } update = async (id, updateModel) => { try { if (Object.keys(updateModel).length > 0) { - var res = await this.UserSelectedGoal.update(updateModel, { + var res = await this.ParticipantSelectedGoal.update(updateModel, { where : { id : id } }); if (res.length !== 1) { - throw new Error('Unable to update user selected goal!'); + throw new Error('Unable to update participant selected goal!'); } } return await this.getById(id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to update user selected goal!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to update participant selected goal!', error); } } delete = async (id) => { try { - var result = await this.UserSelectedGoal.destroy({ + var result = await this.ParticipantSelectedGoal.destroy({ where : { id : id } }); return result === 1; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to delete user selected goal!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to delete participant selected goal!', error); } } @@ -167,6 +176,9 @@ export class UserSelectedGoalService { if (filters.ParticipantId) { search.where['ParticipantId'] = filters.ParticipantId; } + if (filters.SelectedPriorityId) { + search.where['SelectedPriorityId'] = filters.SelectedPriorityId; + } if (filters.Name) { search.where['Name'] = { [Op.like] : '%' + filters.Name + '%' @@ -223,6 +235,16 @@ export class UserSelectedGoalService { // includeUser.where['Xyz'] = filters.Xyz; //} search.include.push(includeParticipantAsParticipant); + const includePriorityAsPriority = { + model : this.ParticipantSelectedPriority, + required : false, + as : 'ParticipantSelectedPriority', + where : {} + }; + //if (filters.Xyz != undefined) { + // includeUser.where['Xyz'] = filters.Xyz; + //} + search.include.push(includePriorityAsPriority); const includeCareplanAsCareplan = { model : this.Careplan, required : false, diff --git a/src/domain.types/user.responses/participant.selected.goal.domain.types.ts b/src/domain.types/user.responses/participant.selected.goal.domain.types.ts new file mode 100644 index 0000000..410327f --- /dev/null +++ b/src/domain.types/user.responses/participant.selected.goal.domain.types.ts @@ -0,0 +1,72 @@ +import { + BaseSearchFilters, + BaseSearchResults +} from "../miscellaneous/base.search.types"; +import { + ProgressStatus, + uuid +} from "../miscellaneous/system.types"; + +export interface ParticipantSelectedGoalCreateModel { + Name ?: string; + Description ?: string; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; + SelectedPriorityId ?: uuid; + CareplanId ?: number; + AssetId ?: number; + AssetType ?: string; + AssetCode ?: string; + AdditionalDetails ?: string; + StartDate ?: Date; + EndDate ?: Date; +} + +export interface ParticipantSelectedGoalUpdateModel { + Name ?: string; + Description ?: string; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; + SelectedPriorityId ?: uuid; + CareplanId ?: number; + AdditionalDetails ?: string; + StartDate ?: Date; + EndDate ?: Date; +} + +export interface ParticipantSelectedGoalDto { + id : uuid; + Name : string; + Description : string; + EnrollmentId : uuid; + ParticipantId : uuid; + SelectedPriorityId : uuid; + CareplanId : number; + AssetId : number; + AssetType : string; + AssetCode : string; + AdditionalDetails : string; + StartDate : Date; + EndDate : Date; + ProgressStatus : ProgressStatus; +} + +export interface ParticipantSelectedGoalSearchFilters extends BaseSearchFilters { + Name ?: string; + Description ?: string; + EnrollmentId ?: uuid; + ParticipantId ?: uuid; + SelectedPriorityId ?: uuid; + CareplanId ?: number; + AssetId ?: number; + AssetType ?: string; + AssetCode ?: string; + AdditionalDetails ?: string; + StartDate ?: Date; + EndDate ?: Date; + ProgressStatus ?: ProgressStatus; +} + +export interface ParticipantSelectedGoalSearchResults extends BaseSearchResults { + Items: ParticipantSelectedGoalDto[]; +} diff --git a/src/domain.types/user.responses/user.selected.goal.domain.types.ts b/src/domain.types/user.responses/user.selected.goal.domain.types.ts deleted file mode 100644 index 8d66312..0000000 --- a/src/domain.types/user.responses/user.selected.goal.domain.types.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { - BaseSearchFilters, - BaseSearchResults -} from "../miscellaneous/base.search.types"; -import { - ProgressStatus, - uuid -} from "../miscellaneous/system.types"; - -export interface UserSelectedGoalCreateModel { - Name ?: string; - Description ?: string; - EnrollmentId ?: uuid; - ParticipantId ?: uuid; - CareplanId ?: number; - AssetId ?: number; - AssetType ?: string; - AssetCode ?: string; - AdditionalDetails ?: string; - StartDate ?: Date; - EndDate ?: Date; -} - -export interface UserSelectedGoalUpdateModel { - Name ?: string; - Description ?: string; - EnrollmentId ?: uuid; - ParticipantId ?: uuid; - CareplanId ?: number; - AdditionalDetails ?: string; - StartDate ?: Date; - EndDate ?: Date; -} - -export interface UserSelectedGoalDto { - id : uuid; - Name : string; - Description : string; - EnrollmentId : uuid; - ParticipantId : uuid; - CareplanId : number; - AssetId : number; - AssetType : string; - AssetCode : string; - AdditionalDetails: string; - StartDate : Date; - EndDate : Date; - ProgressStatus : ProgressStatus; -} - -export interface UserSelectedGoalSearchFilters extends BaseSearchFilters { - Name ?: string; - Description ?: string; - EnrollmentId ?: uuid; - ParticipantId ?: uuid; - CareplanId ?: number; - AssetId ?: number; - AssetType ?: string; - AssetCode ?: string; - AdditionalDetails ?: string; - StartDate ?: Date; - EndDate ?: Date; - ProgressStatus ?: ProgressStatus; -} - -export interface UserSelectedGoalSearchResults extends BaseSearchResults { - Items: UserSelectedGoalDto[]; -} diff --git a/src/startup/router.ts b/src/startup/router.ts index c492a27..b8b8298 100644 --- a/src/startup/router.ts +++ b/src/startup/router.ts @@ -36,7 +36,7 @@ import { register as registerTypesRoutes } from "../api/types/types import { register as registerUserRoutes } from "../api/user/user.routes"; import { register as registerUserActivityResponseRoutes } from "../api/user.responses/user.activity.response/user.activity.response.routes"; import { register as registerUserSelectedActionPlanRoutes } from "../api/user.responses/user.selected.action.plan/user.selected.action.plan.routes"; -import { register as registerUserSelectedGoalRoutes } from "../api/user.responses/user.selected.goal/user.selected.goal.routes"; +import { register as registerParticipantSelectedGoalRoutes } from "../api/user.responses/participant.selected.goal/participant.selected.goal.routes"; import { register as registerParticipantSelectedPriorityRoutes } from "../api/user.responses/participant.selected.priority/participant.selected.priority.routes"; import { register as registerUserRoleRoutes } from "../api/user.role/user.role.routes"; import { register as registerParticipantRoutes } from "../api/enrollment/participant/participant.routes"; @@ -100,7 +100,7 @@ export class Router { registerUserRoutes(this._app); registerUserActivityResponseRoutes(this._app); registerUserSelectedActionPlanRoutes(this._app); - registerUserSelectedGoalRoutes(this._app); + registerParticipantSelectedGoalRoutes(this._app); registerParticipantSelectedPriorityRoutes(this._app); registerUserRoleRoutes(this._app); registerParticipantRoutes(this._app); From 0d46a58527cc696fe3a3dee74265074a5dbe2259 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Sat, 30 Jul 2022 00:20:40 +0530 Subject: [PATCH 029/169] Fixed participant selectected action plan --- ...lected.action.plan.controller.delegate.ts} | 60 +++++++++------- ...cipant.selected.action.plan.controller.ts} | 30 ++++---- ...participant.selected.action.plan.routes.ts | 24 +++++++ ...icipant.selected.action.plan.validator.ts} | 15 +++- .../user.selected.action.plan.routes.ts | 24 ------- ...participant.selected.action.plan.mapper.ts | 33 +++++++++ .../user.selected.action.plan.mapper.ts | 32 --------- ...participant.selected.action.plan.model.ts} | 29 +++++--- ...rticipant.selected.action.plan.service.ts} | 72 ++++++++++++------- ...pant.selected.action.plan.domain.types.ts} | 16 +++-- src/startup/router.ts | 4 +- 11 files changed, 200 insertions(+), 139 deletions(-) rename src/api/user.responses/{user.selected.action.plan/user.selected.action.plan.controller.delegate.ts => participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts} (76%) rename src/api/user.responses/{user.selected.action.plan/user.selected.action.plan.controller.ts => participant.selected.action.plan/participant.selected.action.plan.controller.ts} (63%) create mode 100644 src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.routes.ts rename src/api/user.responses/{user.selected.action.plan/user.selected.action.plan.validator.ts => participant.selected.action.plan/participant.selected.action.plan.validator.ts} (80%) delete mode 100644 src/api/user.responses/user.selected.action.plan/user.selected.action.plan.routes.ts create mode 100644 src/database/mappers/user.responses/participant.selected.action.plan.mapper.ts delete mode 100644 src/database/mappers/user.responses/user.selected.action.plan.mapper.ts rename src/database/models/user.responses/{user.selected.action.plan.model.ts => participant.selected.action.plan.model.ts} (75%) rename src/database/repository.services/user.responses/{user.selected.action.plan.service.ts => participant.selected.action.plan.service.ts} (73%) rename src/domain.types/user.responses/{user.selected.action.plan.domain.types.ts => participant.selected.action.plan.domain.types.ts} (75%) diff --git a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.controller.delegate.ts b/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts similarity index 76% rename from src/api/user.responses/user.selected.action.plan/user.selected.action.plan.controller.delegate.ts rename to src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts index cedb996..888b0b0 100644 --- a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.controller.delegate.ts +++ b/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts @@ -1,6 +1,6 @@ import { - UserSelectedActionPlanService -} from '../../../database/repository.services/user.responses/user.selected.action.plan.service'; + ParticipantSelectedActionPlanService +} from '../../../database/repository.services/user.responses/participant.selected.action.plan.service'; import { ErrorHandler } from '../../../common/error.handler'; @@ -11,31 +11,31 @@ import { ApiError } from '../../../common/api.error'; import { - UserSelectedActionPlanValidator as validator -} from './user.selected.action.plan.validator'; + ParticipantSelectedActionPlanValidator as validator +} from './participant.selected.action.plan.validator'; import { uuid } from '../../../domain.types/miscellaneous/system.types'; import { - UserSelectedActionPlanCreateModel, - UserSelectedActionPlanUpdateModel, - UserSelectedActionPlanSearchFilters, - UserSelectedActionPlanSearchResults -} from '../../../domain.types/user.responses/user.selected.action.plan.domain.types'; + ParticipantSelectedActionPlanCreateModel, + ParticipantSelectedActionPlanUpdateModel, + ParticipantSelectedActionPlanSearchFilters, + ParticipantSelectedActionPlanSearchResults +} from '../../../domain.types/user.responses/participant.selected.action.plan.domain.types'; import { CareplanService } from '../../../database/repository.services/careplan/careplan.service'; /////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedActionPlanControllerDelegate { +export class ParticipantSelectedActionPlanControllerDelegate { //#region member variables and constructors - _service: UserSelectedActionPlanService = null; + _service: ParticipantSelectedActionPlanService = null; _careplanService: CareplanService = null; constructor() { - this._service = new UserSelectedActionPlanService(); + this._service = new ParticipantSelectedActionPlanService(); this._careplanService = new CareplanService(); } @@ -44,10 +44,10 @@ export class UserSelectedActionPlanControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); const careplan = await this._careplanService.getById(requestBody.CareplanId); - var createModel: UserSelectedActionPlanCreateModel = this.getCreateModel(requestBody, careplan); + var createModel: ParticipantSelectedActionPlanCreateModel = this.getCreateModel(requestBody, careplan); const record = await this._service.create(createModel); if (record === null) { - throw new ApiError('Unable to create user selected action plan!', 400); + throw new ApiError('Unable to create participant selected action plan!', 400); } return this.getEnrichedDto(record); } @@ -62,8 +62,8 @@ export class UserSelectedActionPlanControllerDelegate { search = async (query: any) => { await validator.validateSearchRequest(query); - var filters: UserSelectedActionPlanSearchFilters = this.getSearchFilters(query); - var searchResults: UserSelectedActionPlanSearchResults = await this._service.search(filters); + var filters: ParticipantSelectedActionPlanSearchFilters = this.getSearchFilters(query); + var searchResults: ParticipantSelectedActionPlanSearchResults = await this._service.search(filters); var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; @@ -73,12 +73,12 @@ export class UserSelectedActionPlanControllerDelegate { await validator.validateUpdateRequest(requestBody); const record = await this._service.getById(id); if (record === null) { - ErrorHandler.throwNotFoundError('User selected action plan with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Participant selected action plan with id ' + id.toString() + ' cannot be found!'); } - const updateModel: UserSelectedActionPlanUpdateModel = this.getUpdateModel(requestBody); + const updateModel: ParticipantSelectedActionPlanUpdateModel = this.getUpdateModel(requestBody); const updated = await this._service.update(id, updateModel); if (updated == null) { - throw new ApiError('Unable to update user selected action plan!', 400); + throw new ApiError('Unable to update participant selected action plan!', 400); } return this.getEnrichedDto(updated); } @@ -86,11 +86,11 @@ export class UserSelectedActionPlanControllerDelegate { delete = async (id: uuid) => { const record = await this._service.getById(id); if (record == null) { - ErrorHandler.throwNotFoundError('User selected action plan with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Participant selected action plan with id ' + id.toString() + ' cannot be found!'); } - const userSelectedActionPlanDeleted: boolean = await this._service.delete(id); + const participantSelectedActionPlanDeleted: boolean = await this._service.delete(id); return { - Deleted : userSelectedActionPlanDeleted + Deleted : participantSelectedActionPlanDeleted }; } @@ -110,6 +110,10 @@ export class UserSelectedActionPlanControllerDelegate { if (participantId != null) { filters['ParticipantId'] = participantId; } + var goalId = query.goalId ? query.goalId : null; + if (goalId != null) { + filters['GoalId'] = goalId; + } var name = query.name ? query.name : null; if (name != null) { filters['Name'] = name; @@ -154,9 +158,9 @@ export class UserSelectedActionPlanControllerDelegate { return filters; } - getUpdateModel = (requestBody): UserSelectedActionPlanUpdateModel => { + getUpdateModel = (requestBody): ParticipantSelectedActionPlanUpdateModel => { - const updateModel: UserSelectedActionPlanUpdateModel = {}; + const updateModel: ParticipantSelectedActionPlanUpdateModel = {}; if (Helper.hasProperty(requestBody, 'Name')) { updateModel.Name = requestBody.Name; @@ -170,6 +174,9 @@ export class UserSelectedActionPlanControllerDelegate { if (Helper.hasProperty(requestBody, 'ParticipantId')) { updateModel.ParticipantId = requestBody.ParticipantId; } + if (Helper.hasProperty(requestBody, 'GoalId')) { + updateModel.GoalId = requestBody.GoalId; + } if (Helper.hasProperty(requestBody, 'CareplanId')) { updateModel.CareplanId = requestBody.CareplanId; } @@ -186,12 +193,13 @@ export class UserSelectedActionPlanControllerDelegate { return updateModel; } - getCreateModel = (requestBody, careplan): UserSelectedActionPlanCreateModel => { + getCreateModel = (requestBody, careplan): ParticipantSelectedActionPlanCreateModel => { return { Name : requestBody.Name ? requestBody.Name : null, Description : requestBody.Description ? requestBody.Description : null, EnrollmentId : requestBody.EnrollmentId ? requestBody.EnrollmentId : null, ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, + GoalId : requestBody.GoalId ? requestBody.GoalId : null, CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, AssetId : careplan.AssetId ? careplan.AssetId : null, AssetType : careplan.AssetType ? careplan.AssetType : null, @@ -212,6 +220,7 @@ export class UserSelectedActionPlanControllerDelegate { Description : record.Description, EnrollmentId : record.EnrollmentId, ParticipantId : record.ParticipantId, + GoalId : record.GoalId, CareplanId : record.CareplanId, AssetId : record.AssetId, AssetType : record.AssetType, @@ -233,6 +242,7 @@ export class UserSelectedActionPlanControllerDelegate { Description : record.Description, EnrollmentId : record.EnrollmentId, ParticipantId : record.ParticipantId, + GoalId : record.GoalId, CareplanId : record.CareplanId, AssetId : record.AssetId, AssetType : record.AssetType, diff --git a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.controller.ts b/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts similarity index 63% rename from src/api/user.responses/user.selected.action.plan/user.selected.action.plan.controller.ts rename to src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts index 9bcf70d..b4fa651 100644 --- a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.controller.ts +++ b/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts @@ -3,32 +3,32 @@ import { ResponseHandler } from '../../../common/response.handler'; import { - UserSelectedActionPlanControllerDelegate -} from './user.selected.action.plan.controller.delegate'; + ParticipantSelectedActionPlanControllerDelegate +} from './participant.selected.action.plan.controller.delegate'; import { BaseController } from '../../base.controller'; /////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedActionPlanController extends BaseController { +export class ParticipantSelectedActionPlanController extends BaseController { //#region member variables and constructors - _delegate: UserSelectedActionPlanControllerDelegate = null; + _delegate: ParticipantSelectedActionPlanControllerDelegate = null; constructor() { super(); - this._delegate = new UserSelectedActionPlanControllerDelegate(); + this._delegate = new ParticipantSelectedActionPlanControllerDelegate(); } //#endregion create = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedActionPlan.Create', request, response); + await this.authorize('ParticipantSelectedActionPlan.Create', request, response, false); const record = await this._delegate.create(request.body); - const message = 'User selected action plan added successfully!'; + const message = 'Participant selected action plan added successfully!'; ResponseHandler.success(request, response, message, 201, record); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -37,9 +37,9 @@ export class UserSelectedActionPlanController extends BaseController { getById = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedActionPlan.GetById', request, response); + await this.authorize('ParticipantSelectedActionPlan.GetById', request, response, false); const record = await this._delegate.getById(request.params.id); - const message = 'User selected action plan retrieved successfully!'; + const message = 'Participant selected action plan retrieved successfully!'; ResponseHandler.success(request, response, message, 200, record); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -48,9 +48,9 @@ export class UserSelectedActionPlanController extends BaseController { search = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedActionPlan.Search', request, response); + await this.authorize('ParticipantSelectedActionPlan.Search', request, response, false); const searchResults = await this._delegate.search(request.query); - const message = 'User selected action plan records retrieved successfully!'; + const message = 'Participant selected action plan records retrieved successfully!'; ResponseHandler.success(request, response, message, 200, searchResults); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -59,9 +59,9 @@ export class UserSelectedActionPlanController extends BaseController { update = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedActionPlan.Update', request, response); + await this.authorize('ParticipantSelectedActionPlan.Update', request, response, false); const updatedRecord = await this._delegate.update(request.params.id, request.body); - const message = 'User selected action plan updated successfully!'; + const message = 'Participant selected action plan updated successfully!'; ResponseHandler.success(request, response, message, 200, updatedRecord); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -70,9 +70,9 @@ export class UserSelectedActionPlanController extends BaseController { delete = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserSelectedActionPlan.Delete', request, response); + await this.authorize('ParticipantSelectedActionPlan.Delete', request, response, false); const result = await this._delegate.delete(request.params.id); - const message = 'User selected action plan deleted successfully!'; + const message = 'Participant selected action plan deleted successfully!'; ResponseHandler.success(request, response, message, 200, result); } catch (error) { ResponseHandler.handleError(request, response, error); diff --git a/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.routes.ts b/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.routes.ts new file mode 100644 index 0000000..eef5bed --- /dev/null +++ b/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.routes.ts @@ -0,0 +1,24 @@ +import express from 'express'; +import { + ParticipantSelectedActionPlanController +} from './participant.selected.action.plan.controller'; +import { + Loader +} from '../../../startup/loader'; + +/////////////////////////////////////////////////////////////////////////////////// + +export const register = (app: express.Application): void => { + + const router = express.Router(); + const authenticator = Loader.Authenticator; + const controller = new ParticipantSelectedActionPlanController(); + + router.post('/', authenticator.authenticateClient, controller.create); + router.get('/search', authenticator.authenticateClient, controller.search); + router.get('/:id', authenticator.authenticateClient, controller.getById); + router.put('/:id', authenticator.authenticateClient, controller.update); + router.delete('/:id', authenticator.authenticateClient, controller.delete); + + app.use('/api/v1/participant-selected-action-plans', router); +}; diff --git a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts b/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts similarity index 80% rename from src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts rename to src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts index da24732..6dcb7cd 100644 --- a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.validator.ts +++ b/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts @@ -5,7 +5,7 @@ import { /////////////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedActionPlanValidator { +export class ParticipantSelectedActionPlanValidator { static validateCreateRequest = async (requestBody) => { try { @@ -18,7 +18,13 @@ export class UserSelectedActionPlanValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), + GoalId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), CareplanId : joi.number().integer().optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().max(128).optional(), + AssetCode : joi.string().max(128).optional(), AdditionalDetails : joi.string().optional(), StartDate : joi.date().iso().optional(), EndDate : joi.date().iso().optional() @@ -40,7 +46,13 @@ export class UserSelectedActionPlanValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), + GoalId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), CareplanId : joi.number().integer().optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().max(128).optional(), + AssetCode : joi.string().max(128).optional(), AdditionalDetails : joi.string().optional(), StartDate : joi.date().iso().optional(), EndDate : joi.date().iso().optional() @@ -56,6 +68,7 @@ export class UserSelectedActionPlanValidator { const schema = joi.object({ participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), enrollmentId : joi.string().guid({ version: ['uuidv4'] }).optional(), + goalId : joi.string().guid({ version: ['uuidv4'] }).optional(), name : joi.string().max(256).optional(), description : joi.string().optional(), careplanId : joi.number().integer().optional(), diff --git a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.routes.ts b/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.routes.ts deleted file mode 100644 index bb41d04..0000000 --- a/src/api/user.responses/user.selected.action.plan/user.selected.action.plan.routes.ts +++ /dev/null @@ -1,24 +0,0 @@ -import express from 'express'; -import { - UserSelectedActionPlanController -} from './user.selected.action.plan.controller'; -import { - Loader -} from '../../../startup/loader'; - -/////////////////////////////////////////////////////////////////////////////////// - -export const register = (app: express.Application): void => { - - const router = express.Router(); - const authenticator = Loader.Authenticator; - const controller = new UserSelectedActionPlanController(); - - router.post('/', authenticator.authenticateUser, controller.create); - router.get('/search', authenticator.authenticateUser, controller.search); - router.get('/:id', authenticator.authenticateUser, controller.getById); - router.put('/:id', authenticator.authenticateUser, controller.update); - router.delete('/:id', authenticator.authenticateUser, controller.delete); - - app.use('/api/v1/participant-selected-action-plans', router); -}; diff --git a/src/database/mappers/user.responses/participant.selected.action.plan.mapper.ts b/src/database/mappers/user.responses/participant.selected.action.plan.mapper.ts new file mode 100644 index 0000000..772db58 --- /dev/null +++ b/src/database/mappers/user.responses/participant.selected.action.plan.mapper.ts @@ -0,0 +1,33 @@ +import { + ParticipantSelectedActionPlanDto +} from '../../../domain.types/user.responses/participant.selected.action.plan.domain.types'; + +/////////////////////////////////////////////////////////////////////////////////// + +export class ParticipantSelectedActionPlanMapper { + + static toDto = (participantSelectedActionPlan: any): ParticipantSelectedActionPlanDto => { + if (participantSelectedActionPlan == null) { + return null; + } + const dto: ParticipantSelectedActionPlanDto = { + id : participantSelectedActionPlan.id, + Name : participantSelectedActionPlan.Name, + Description : participantSelectedActionPlan.Description, + EnrollmentId : participantSelectedActionPlan.EnrollmentId, + ParticipantId : participantSelectedActionPlan.ParticipantId, + GoalId : participantSelectedActionPlan.GoalId, + CareplanId : participantSelectedActionPlan.CareplanId, + AssetId : participantSelectedActionPlan.AssetId, + AssetType : participantSelectedActionPlan.AssetType, + AssetCode : participantSelectedActionPlan.AssetCode, + AdditionalDetails : participantSelectedActionPlan.AdditionalDetails, + StartDate : participantSelectedActionPlan.StartDate, + EndDate : participantSelectedActionPlan.EndDate, + ProgressStatus : participantSelectedActionPlan.ProgressStatus, + + }; + return dto; + }; + +} diff --git a/src/database/mappers/user.responses/user.selected.action.plan.mapper.ts b/src/database/mappers/user.responses/user.selected.action.plan.mapper.ts deleted file mode 100644 index 6b0c705..0000000 --- a/src/database/mappers/user.responses/user.selected.action.plan.mapper.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { - UserSelectedActionPlanDto -} from '../../../domain.types/user.responses/user.selected.action.plan.domain.types'; - -/////////////////////////////////////////////////////////////////////////////////// - -export class UserSelectedActionPlanMapper { - - static toDto = (userSelectedActionPlan: any): UserSelectedActionPlanDto => { - if (userSelectedActionPlan == null) { - return null; - } - const dto: UserSelectedActionPlanDto = { - id : userSelectedActionPlan.id, - Name : userSelectedActionPlan.Name, - Description : userSelectedActionPlan.Description, - EnrollmentId : userSelectedActionPlan.EnrollmentId, - ParticipantId : userSelectedActionPlan.ParticipantId, - CareplanId : userSelectedActionPlan.CareplanId, - AssetId : userSelectedActionPlan.AssetId, - AssetType : userSelectedActionPlan.AssetType, - AssetCode : userSelectedActionPlan.AssetCode, - AdditionalDetails : userSelectedActionPlan.AdditionalDetails, - StartDate : userSelectedActionPlan.StartDate, - EndDate : userSelectedActionPlan.EndDate, - ProgressStatus : userSelectedActionPlan.ProgressStatus, - - }; - return dto; - }; - -} diff --git a/src/database/models/user.responses/user.selected.action.plan.model.ts b/src/database/models/user.responses/participant.selected.action.plan.model.ts similarity index 75% rename from src/database/models/user.responses/user.selected.action.plan.model.ts rename to src/database/models/user.responses/participant.selected.action.plan.model.ts index 39f137c..7ba5afc 100644 --- a/src/database/models/user.responses/user.selected.action.plan.model.ts +++ b/src/database/models/user.responses/participant.selected.action.plan.model.ts @@ -5,11 +5,11 @@ const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// -export class UserSelectedActionPlanModel { +export class ParticipantSelectedActionPlanModel { - static TableName = 'user_selected_action_plans'; + static TableName = 'participant_selected_action_plans'; - static ModelName = 'UserSelectedActionPlan'; + static ModelName = 'ParticipantSelectedActionPlan'; static Schema = { id : { @@ -38,6 +38,12 @@ export class UserSelectedActionPlanModel { foreignKey : true, unique : false }, + GoalId : { + type : DataTypes.UUID, + allowNull : false, + foreignKey : true, + unique : false + }, CareplanId : { type : DataTypes.INTEGER, allowNull : false, @@ -81,8 +87,8 @@ export class UserSelectedActionPlanModel { }; static Model: any = sequelize.define( - UserSelectedActionPlanModel.ModelName, - UserSelectedActionPlanModel.Schema, + ParticipantSelectedActionPlanModel.ModelName, + ParticipantSelectedActionPlanModel.Schema, { createdAt : 'CreatedAt', updatedAt : 'UpdatedAt', @@ -90,25 +96,30 @@ export class UserSelectedActionPlanModel { freezeTableName : true, timestamps : true, paranoid : true, - tableName : UserSelectedActionPlanModel.TableName, + tableName : ParticipantSelectedActionPlanModel.TableName, }); static associate = (models) => { //Add associations here... - models.UserSelectedActionPlan.belongsTo(models.Enrollment, { + models.ParticipantSelectedActionPlan.belongsTo(models.Enrollment, { sourceKey : 'EnrollmentId', targetKey : 'id', as : 'Enrollment' }); - models.UserSelectedActionPlan.belongsTo(models.Participant, { + models.ParticipantSelectedActionPlan.belongsTo(models.Participant, { sourceKey : 'ParticipantId', targetKey : 'id', as : 'Participant' }); + models.ParticipantSelectedActionPlan.belongsTo(models.ParticipantSelectedGoal, { + sourceKey : 'GoalId', + targetKey : 'id', + as : 'ParticipantSelectedGoal' + }); - models.UserSelectedActionPlan.belongsTo(models.Careplan, { + models.ParticipantSelectedActionPlan.belongsTo(models.Careplan, { sourceKey : 'CareplanId', targetKey : 'id', as : 'Careplan' diff --git a/src/database/repository.services/user.responses/user.selected.action.plan.service.ts b/src/database/repository.services/user.responses/participant.selected.action.plan.service.ts similarity index 73% rename from src/database/repository.services/user.responses/user.selected.action.plan.service.ts rename to src/database/repository.services/user.responses/participant.selected.action.plan.service.ts index 798f615..da00a1c 100644 --- a/src/database/repository.services/user.responses/user.selected.action.plan.service.ts +++ b/src/database/repository.services/user.responses/participant.selected.action.plan.service.ts @@ -1,6 +1,6 @@ import { - UserSelectedActionPlanModel -} from '../../models/user.responses/user.selected.action.plan.model'; + ParticipantSelectedActionPlanModel +} from '../../models/user.responses/participant.selected.action.plan.model'; import { ParticipantModel } from '../../models/enrollment/participant.model'; @@ -12,45 +12,48 @@ import { ErrorHandler } from '../../../common/error.handler'; import { - UserSelectedActionPlanCreateModel, - UserSelectedActionPlanSearchFilters, - UserSelectedActionPlanSearchResults -} from '../../../domain.types/user.responses/user.selected.action.plan.domain.types'; + ParticipantSelectedActionPlanCreateModel, + ParticipantSelectedActionPlanSearchFilters, + ParticipantSelectedActionPlanSearchResults +} from '../../../domain.types/user.responses/participant.selected.action.plan.domain.types'; import { Op } from 'sequelize'; -import { EnrollmentModel } from '../../../database/models/enrollment/enrollment.model'; +import { EnrollmentModel } from '../../models/enrollment/enrollment.model'; +import { ParticipantSelectedGoalModel } from '../../../database/models/user.responses/participant.selected.goal.model'; /////////////////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedActionPlanService { +export class ParticipantSelectedActionPlanService { //#region Models - UserSelectedActionPlan = UserSelectedActionPlanModel.Model; + ParticipantSelectedActionPlan = ParticipantSelectedActionPlanModel.Model; Enrollment = EnrollmentModel.Model; Participant = ParticipantModel.Model; + ParticipantSelectedGoal = ParticipantSelectedGoalModel.Model; + Careplan = CareplanModel.Model; //#endregion //#region Publics - create = async (createModel: UserSelectedActionPlanCreateModel) => { + create = async (createModel: ParticipantSelectedActionPlanCreateModel) => { try { - var record = await this.UserSelectedActionPlan.create(createModel); + var record = await this.ParticipantSelectedActionPlan.create(createModel); return await this.getById(record.id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to participant user selected action plan!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to get participant selected action plan!', error); } } getById = async (id) => { try { - const record = await this.UserSelectedActionPlan.findOne({ + const record = await this.ParticipantSelectedActionPlan.findOne({ where : { id : id }, @@ -69,26 +72,32 @@ export class UserSelectedActionPlanService { required : false, as : 'Enrollment', //through: { attributes: [] } + }, { + model : this.ParticipantSelectedGoal, + required : false, + as : 'ParticipantSelectedGoal', + //through: { attributes: [] } } ] }); return record; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve user selected action plan!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve participant selected action plan!', error); } } exists = async (id): Promise < boolean > => { try { - const record = await this.UserSelectedActionPlan.findByPk(id); + const record = await this.ParticipantSelectedActionPlan.findByPk(id); return record !== null; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of user selected action plan!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of participant selected action plan!', error); } } - search = async (filters: UserSelectedActionPlanSearchFilters): Promise < UserSelectedActionPlanSearchResults > => { + search = async (filters: ParticipantSelectedActionPlanSearchFilters): + Promise < ParticipantSelectedActionPlanSearchResults > => { try { var search = this.getSearchModel(filters); @@ -101,8 +110,8 @@ export class UserSelectedActionPlanService { limit } = this.addPaginationToSearch(search, filters); - const foundResults = await this.UserSelectedActionPlan.findAndCountAll(search); - const searchResults: UserSelectedActionPlanSearchResults = { + const foundResults = await this.ParticipantSelectedActionPlan.findAndCountAll(search); + const searchResults: ParticipantSelectedActionPlanSearchResults = { TotalCount : foundResults.count, RetrievedCount : foundResults.rows.length, PageIndex : pageIndex, @@ -115,38 +124,38 @@ export class UserSelectedActionPlanService { return searchResults; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to search user selected action plan records!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to search participant selected action plan records!', error); } } update = async (id, updateModel) => { try { if (Object.keys(updateModel).length > 0) { - var res = await this.UserSelectedActionPlan.update(updateModel, { + var res = await this.ParticipantSelectedActionPlan.update(updateModel, { where : { id : id } }); if (res.length !== 1) { - throw new Error('Unable to update user selected action plan!'); + throw new Error('Unable to update participant selected action plan!'); } } return await this.getById(id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to update user selected action plan!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to update participant selected action plan!', error); } } delete = async (id) => { try { - var result = await this.UserSelectedActionPlan.destroy({ + var result = await this.ParticipantSelectedActionPlan.destroy({ where : { id : id } }); return result === 1; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to delete user selected action plan!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to delete participant selected action plan!', error); } } @@ -167,6 +176,9 @@ export class UserSelectedActionPlanService { if (filters.ParticipantId) { search.where['ParticipantId'] = filters.ParticipantId; } + if (filters.GoalId) { + search.where['GoalId'] = filters.GoalId; + } if (filters.Name) { search.where['Name'] = { [Op.like] : '%' + filters.Name + '%' @@ -223,6 +235,16 @@ export class UserSelectedActionPlanService { // includeUser.where['Xyz'] = filters.Xyz; //} search.include.push(includeParticipantAsParticipant); + const includeGoalAsGoal = { + model : this.ParticipantSelectedGoal, + required : false, + as : 'ParticipantSelectedGoal', + where : {} + }; + //if (filters.Xyz != undefined) { + // includeUser.where['Xyz'] = filters.Xyz; + //} + search.include.push(includeGoalAsGoal); const includeCareplanAsCareplan = { model : this.Careplan, required : false, diff --git a/src/domain.types/user.responses/user.selected.action.plan.domain.types.ts b/src/domain.types/user.responses/participant.selected.action.plan.domain.types.ts similarity index 75% rename from src/domain.types/user.responses/user.selected.action.plan.domain.types.ts rename to src/domain.types/user.responses/participant.selected.action.plan.domain.types.ts index 71c9b3c..2fb1800 100644 --- a/src/domain.types/user.responses/user.selected.action.plan.domain.types.ts +++ b/src/domain.types/user.responses/participant.selected.action.plan.domain.types.ts @@ -7,11 +7,12 @@ import { uuid } from "../miscellaneous/system.types"; -export interface UserSelectedActionPlanCreateModel { +export interface ParticipantSelectedActionPlanCreateModel { Name ?: string; Description ?: string; EnrollmentId ?: uuid; ParticipantId ?: uuid; + GoalId ?: uuid; CareplanId ?: number; AssetId ?: number; AssetType ?: string; @@ -21,23 +22,25 @@ export interface UserSelectedActionPlanCreateModel { EndDate ?: Date; } -export interface UserSelectedActionPlanUpdateModel { +export interface ParticipantSelectedActionPlanUpdateModel { Name ?: string; Description ?: string; EnrollmentId ?: uuid; ParticipantId ?: uuid; + GoalId ?: uuid; CareplanId ?: number; AdditionalDetails ?: string; StartDate ?: Date; EndDate ?: Date; } -export interface UserSelectedActionPlanDto { +export interface ParticipantSelectedActionPlanDto { id : uuid; Name : string; Description : string; EnrollmentId : uuid; ParticipantId : uuid; + GoalId : uuid; CareplanId : number; AssetId : number; AssetType : string; @@ -49,11 +52,12 @@ export interface UserSelectedActionPlanDto { } -export interface UserSelectedActionPlanSearchFilters extends BaseSearchFilters { +export interface ParticipantSelectedActionPlanSearchFilters extends BaseSearchFilters { Name ?: string; Description ?: string; EnrollmentId ?: uuid; ParticipantId ?: uuid; + GoalId ?: uuid; CareplanId ?: number; AssetId ?: number; AssetType ?: string; @@ -64,6 +68,6 @@ export interface UserSelectedActionPlanSearchFilters extends BaseSearchFilters { ProgressStatus ?: ProgressStatus; } -export interface UserSelectedActionPlanSearchResults extends BaseSearchResults { - Items: UserSelectedActionPlanDto[]; +export interface ParticipantSelectedActionPlanSearchResults extends BaseSearchResults { + Items: ParticipantSelectedActionPlanDto[]; } diff --git a/src/startup/router.ts b/src/startup/router.ts index b8b8298..1d127a5 100644 --- a/src/startup/router.ts +++ b/src/startup/router.ts @@ -35,7 +35,7 @@ import { register as registerFileREsourceRoutes } from "../api/file.resour import { register as registerTypesRoutes } from "../api/types/types.routes"; import { register as registerUserRoutes } from "../api/user/user.routes"; import { register as registerUserActivityResponseRoutes } from "../api/user.responses/user.activity.response/user.activity.response.routes"; -import { register as registerUserSelectedActionPlanRoutes } from "../api/user.responses/user.selected.action.plan/user.selected.action.plan.routes"; +import { register as registerParticipantSelectedActionPlanRoutes } from "../api/user.responses/participant.selected.action.plan/participant.selected.action.plan.routes"; import { register as registerParticipantSelectedGoalRoutes } from "../api/user.responses/participant.selected.goal/participant.selected.goal.routes"; import { register as registerParticipantSelectedPriorityRoutes } from "../api/user.responses/participant.selected.priority/participant.selected.priority.routes"; import { register as registerUserRoleRoutes } from "../api/user.role/user.role.routes"; @@ -99,7 +99,7 @@ export class Router { registerTypesRoutes(this._app); registerUserRoutes(this._app); registerUserActivityResponseRoutes(this._app); - registerUserSelectedActionPlanRoutes(this._app); + registerParticipantSelectedActionPlanRoutes(this._app); registerParticipantSelectedGoalRoutes(this._app); registerParticipantSelectedPriorityRoutes(this._app); registerUserRoleRoutes(this._app); From 9117543bee2a6ec4301472221004be169215548f Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Sat, 30 Jul 2022 11:42:05 +0530 Subject: [PATCH 030/169] Update in participant activity response pipeline --- ....activity.response.controller.delegate.ts} | 52 +++++++++---------- ...rticipant.activity.response.controller.ts} | 30 +++++------ .../participant.activity.response.routes.ts | 24 +++++++++ ...articipant.activity.response.validator.ts} | 2 +- .../user.activity.response.routes.ts | 24 --------- .../participant.activity.response.mapper.ts | 29 +++++++++++ ...ts => participant.selected.goal.mapper.ts} | 2 +- .../user.activity.response.mapper.ts | 29 ----------- ...=> participant.activity.response.model.ts} | 20 +++---- ... participant.activity.response.service.ts} | 49 ++++++++--------- ...icipant.activity.response.domain.types.ts} | 12 ++--- src/startup/router.ts | 4 +- 12 files changed, 139 insertions(+), 138 deletions(-) rename src/api/user.responses/{user.activity.response/user.activity.response.controller.delegate.ts => participant.activity.response/participant.activity.response.controller.delegate.ts} (75%) rename src/api/user.responses/{user.activity.response/user.activity.response.controller.ts => participant.activity.response/participant.activity.response.controller.ts} (64%) create mode 100644 src/api/user.responses/participant.activity.response/participant.activity.response.routes.ts rename src/api/user.responses/{user.activity.response/user.activity.response.validator.ts => participant.activity.response/participant.activity.response.validator.ts} (98%) delete mode 100644 src/api/user.responses/user.activity.response/user.activity.response.routes.ts create mode 100644 src/database/mappers/user.responses/participant.activity.response.mapper.ts rename src/database/mappers/user.responses/{user.selected.goal.mapper.ts => participant.selected.goal.mapper.ts} (96%) delete mode 100644 src/database/mappers/user.responses/user.activity.response.mapper.ts rename src/database/models/user.responses/{user.activity.response.model.ts => participant.activity.response.model.ts} (82%) rename src/database/repository.services/user.responses/{user.activity.response.service.ts => participant.activity.response.service.ts} (81%) rename src/domain.types/user.responses/{user.activity.response.domain.types.ts => participant.activity.response.domain.types.ts} (76%) diff --git a/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts b/src/api/user.responses/participant.activity.response/participant.activity.response.controller.delegate.ts similarity index 75% rename from src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts rename to src/api/user.responses/participant.activity.response/participant.activity.response.controller.delegate.ts index eb1bb75..a470b44 100644 --- a/src/api/user.responses/user.activity.response/user.activity.response.controller.delegate.ts +++ b/src/api/user.responses/participant.activity.response/participant.activity.response.controller.delegate.ts @@ -1,6 +1,6 @@ import { - UserActivityResponseService -} from '../../../database/repository.services/user.responses/user.activity.response.service'; + ParticipantActivityResponseService +} from '../../../database/repository.services/user.responses/participant.activity.response.service'; import { ErrorHandler } from '../../../common/error.handler'; @@ -11,31 +11,31 @@ import { ApiError } from '../../../common/api.error'; import { - UserActivityResponseValidator as validator -} from './user.activity.response.validator'; + ParticipantActivityResponseValidator as validator +} from './participant.activity.response.validator'; import { uuid } from '../../../domain.types/miscellaneous/system.types'; import { - UserActivityResponseCreateModel, - UserActivityResponseUpdateModel, - UserActivityResponseSearchFilters, - UserActivityResponseSearchResults -} from '../../../domain.types/user.responses/user.activity.response.domain.types'; + ParticipantActivityResponseCreateModel, + ParticipantActivityResponseUpdateModel, + ParticipantActivityResponseSearchFilters, + ParticipantActivityResponseSearchResults +} from '../../../domain.types/user.responses/participant.activity.response.domain.types'; import { EnrollmentScheduleService } from '../../../database/repository.services/enrollment/enrollment.schedule.service'; /////////////////////////////////////////////////////////////////////////////////////// -export class UserActivityResponseControllerDelegate { +export class ParticipantActivityResponseControllerDelegate { //#region member variables and constructors - _service: UserActivityResponseService = null; + _service: ParticipantActivityResponseService = null; _enrollmentScheduleService: EnrollmentScheduleService = null constructor() { - this._service = new UserActivityResponseService(); + this._service = new ParticipantActivityResponseService(); this._enrollmentScheduleService = new EnrollmentScheduleService(); } @@ -44,10 +44,10 @@ export class UserActivityResponseControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); const enrollmentSchedule = await this._enrollmentScheduleService.getById(requestBody.EnrollmentScheduleId); - var createModel: UserActivityResponseCreateModel = this.getCreateModel(requestBody, enrollmentSchedule); + var createModel: ParticipantActivityResponseCreateModel = this.getCreateModel(requestBody, enrollmentSchedule); const record = await this._service.create(createModel); if (record === null) { - throw new ApiError('Unable to create user activity response!', 400); + throw new ApiError('Unable to create participant activity response!', 400); } return this.getEnrichedDto(record); } @@ -55,15 +55,15 @@ export class UserActivityResponseControllerDelegate { getById = async (id: uuid) => { const record = await this._service.getById(id); if (record === null) { - ErrorHandler.throwNotFoundError('User activity response with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Participant activity response with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); } search = async (query: any) => { await validator.validateSearchRequest(query); - var filters: UserActivityResponseSearchFilters = this.getSearchFilters(query); - var searchResults: UserActivityResponseSearchResults = await this._service.search(filters); + var filters: ParticipantActivityResponseSearchFilters = this.getSearchFilters(query); + var searchResults: ParticipantActivityResponseSearchResults = await this._service.search(filters); var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; @@ -73,12 +73,12 @@ export class UserActivityResponseControllerDelegate { await validator.validateUpdateRequest(requestBody); const record = await this._service.getById(id); if (record === null) { - ErrorHandler.throwNotFoundError('User activity response with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Participant activity response with id ' + id.toString() + ' cannot be found!'); } - const updateModel: UserActivityResponseUpdateModel = this.getUpdateModel(requestBody); + const updateModel: ParticipantActivityResponseUpdateModel = this.getUpdateModel(requestBody); const updated = await this._service.update(id, updateModel); if (updated == null) { - throw new ApiError('Unable to update user activity response!', 400); + throw new ApiError('Unable to update participant activity response!', 400); } return this.getEnrichedDto(updated); } @@ -86,11 +86,11 @@ export class UserActivityResponseControllerDelegate { delete = async (id: uuid) => { const record = await this._service.getById(id); if (record == null) { - ErrorHandler.throwNotFoundError('User activity response with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Participant activity response with id ' + id.toString() + ' cannot be found!'); } - const userActivityResponseDeleted: boolean = await this._service.delete(id); + const participantActivityResponseDeleted: boolean = await this._service.delete(id); return { - Deleted : userActivityResponseDeleted + Deleted : participantActivityResponseDeleted }; } @@ -134,9 +134,9 @@ export class UserActivityResponseControllerDelegate { return filters; } - getUpdateModel = (requestBody): UserActivityResponseUpdateModel => { + getUpdateModel = (requestBody): ParticipantActivityResponseUpdateModel => { - const updateModel: UserActivityResponseUpdateModel = {}; + const updateModel: ParticipantActivityResponseUpdateModel = {}; if (Helper.hasProperty(requestBody, 'ParticipantId')) { updateModel.ParticipantId = requestBody.ParticipantId; @@ -154,7 +154,7 @@ export class UserActivityResponseControllerDelegate { return updateModel; } - getCreateModel = (requestBody, enrollmentSchedule): UserActivityResponseCreateModel => { + getCreateModel = (requestBody, enrollmentSchedule): ParticipantActivityResponseCreateModel => { return { ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, EnrollmentScheduleId : requestBody.EnrollmentScheduleId ? requestBody.EnrollmentScheduleId : null, diff --git a/src/api/user.responses/user.activity.response/user.activity.response.controller.ts b/src/api/user.responses/participant.activity.response/participant.activity.response.controller.ts similarity index 64% rename from src/api/user.responses/user.activity.response/user.activity.response.controller.ts rename to src/api/user.responses/participant.activity.response/participant.activity.response.controller.ts index ed495a6..fba41c4 100644 --- a/src/api/user.responses/user.activity.response/user.activity.response.controller.ts +++ b/src/api/user.responses/participant.activity.response/participant.activity.response.controller.ts @@ -3,32 +3,32 @@ import { ResponseHandler } from '../../../common/response.handler'; import { - UserActivityResponseControllerDelegate -} from './user.activity.response.controller.delegate'; + ParticipantActivityResponseControllerDelegate +} from './participant.activity.response.controller.delegate'; import { BaseController } from '../../base.controller'; /////////////////////////////////////////////////////////////////////////////////////// -export class UserActivityResponseController extends BaseController { +export class ParticipantActivityResponseController extends BaseController { //#region member variables and constructors - _delegate: UserActivityResponseControllerDelegate = null; + _delegate: ParticipantActivityResponseControllerDelegate = null; constructor() { super(); - this._delegate = new UserActivityResponseControllerDelegate(); + this._delegate = new ParticipantActivityResponseControllerDelegate(); } //#endregion create = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserActivityResponse.Create', request, response); + await this.authorize('ParticipantActivityResponse.Create', request, response, false); const record = await this._delegate.create(request.body); - const message = 'User activity response added successfully!'; + const message = 'Participant activity response added successfully!'; ResponseHandler.success(request, response, message, 201, record); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -37,9 +37,9 @@ export class UserActivityResponseController extends BaseController { getById = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserActivityResponse.GetById', request, response); + await this.authorize('ParticipantActivityResponse.GetById', request, response, false); const record = await this._delegate.getById(request.params.id); - const message = 'User activity response retrieved successfully!'; + const message = 'Participant activity response retrieved successfully!'; ResponseHandler.success(request, response, message, 200, record); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -48,9 +48,9 @@ export class UserActivityResponseController extends BaseController { search = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserActivityResponse.Search', request, response); + await this.authorize('ParticipantActivityResponse.Search', request, response, false); const searchResults = await this._delegate.search(request.query); - const message = 'User activity response records retrieved successfully!'; + const message = 'Participant activity response records retrieved successfully!'; ResponseHandler.success(request, response, message, 200, searchResults); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -59,9 +59,9 @@ export class UserActivityResponseController extends BaseController { update = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserActivityResponse.Update', request, response); + await this.authorize('ParticipantActivityResponse.Update', request, response, false); const updatedRecord = await this._delegate.update(request.params.id, request.body); - const message = 'User activity response updated successfully!'; + const message = 'Participant activity response updated successfully!'; ResponseHandler.success(request, response, message, 200, updatedRecord); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -70,9 +70,9 @@ export class UserActivityResponseController extends BaseController { delete = async (request: express.Request, response: express.Response): Promise < void > => { try { - await this.authorize('UserActivityResponse.Delete', request, response); + await this.authorize('ParticipantActivityResponse.Delete', request, response, false); const result = await this._delegate.delete(request.params.id); - const message = 'User activity response deleted successfully!'; + const message = 'Participant activity response deleted successfully!'; ResponseHandler.success(request, response, message, 200, result); } catch (error) { ResponseHandler.handleError(request, response, error); diff --git a/src/api/user.responses/participant.activity.response/participant.activity.response.routes.ts b/src/api/user.responses/participant.activity.response/participant.activity.response.routes.ts new file mode 100644 index 0000000..fa3e3a3 --- /dev/null +++ b/src/api/user.responses/participant.activity.response/participant.activity.response.routes.ts @@ -0,0 +1,24 @@ +import express from 'express'; +import { + ParticipantActivityResponseController +} from './participant.activity.response.controller'; +import { + Loader +} from '../../../startup/loader'; + +/////////////////////////////////////////////////////////////////////////////////// + +export const register = (app: express.Application): void => { + + const router = express.Router(); + const authenticator = Loader.Authenticator; + const controller = new ParticipantActivityResponseController(); + + router.post('/', authenticator.authenticateClient, controller.create); + router.get('/search', authenticator.authenticateClient, controller.search); + router.get('/:id', authenticator.authenticateClient, controller.getById); + router.put('/:id', authenticator.authenticateClient, controller.update); + router.delete('/:id', authenticator.authenticateClient, controller.delete); + + app.use('/api/v1/participant-activity-responses', router); +}; diff --git a/src/api/user.responses/user.activity.response/user.activity.response.validator.ts b/src/api/user.responses/participant.activity.response/participant.activity.response.validator.ts similarity index 98% rename from src/api/user.responses/user.activity.response/user.activity.response.validator.ts rename to src/api/user.responses/participant.activity.response/participant.activity.response.validator.ts index 76733f0..fc3a84b 100644 --- a/src/api/user.responses/user.activity.response/user.activity.response.validator.ts +++ b/src/api/user.responses/participant.activity.response/participant.activity.response.validator.ts @@ -5,7 +5,7 @@ import { /////////////////////////////////////////////////////////////////////////////////////////////// -export class UserActivityResponseValidator { +export class ParticipantActivityResponseValidator { static validateCreateRequest = async (requestBody) => { try { diff --git a/src/api/user.responses/user.activity.response/user.activity.response.routes.ts b/src/api/user.responses/user.activity.response/user.activity.response.routes.ts deleted file mode 100644 index c359000..0000000 --- a/src/api/user.responses/user.activity.response/user.activity.response.routes.ts +++ /dev/null @@ -1,24 +0,0 @@ -import express from 'express'; -import { - UserActivityResponseController -} from './user.activity.response.controller'; -import { - Loader -} from '../../../startup/loader'; - -/////////////////////////////////////////////////////////////////////////////////// - -export const register = (app: express.Application): void => { - - const router = express.Router(); - const authenticator = Loader.Authenticator; - const controller = new UserActivityResponseController(); - - router.post('/', authenticator.authenticateUser, controller.create); - router.get('/search', authenticator.authenticateUser, controller.search); - router.get('/:id', authenticator.authenticateUser, controller.getById); - router.put('/:id', authenticator.authenticateUser, controller.update); - router.delete('/:id', authenticator.authenticateUser, controller.delete); - - app.use('/api/v1/participant-activity-responses', router); -}; diff --git a/src/database/mappers/user.responses/participant.activity.response.mapper.ts b/src/database/mappers/user.responses/participant.activity.response.mapper.ts new file mode 100644 index 0000000..33afa61 --- /dev/null +++ b/src/database/mappers/user.responses/participant.activity.response.mapper.ts @@ -0,0 +1,29 @@ +import { + ParticipantActivityResponseDto +} from '../../../domain.types/user.responses/participant.activity.response.domain.types'; + +/////////////////////////////////////////////////////////////////////////////////// + +export class ParticipantActivityResponseMapper { + + static toDto = (participantActivityResponse: any): ParticipantActivityResponseDto => { + if (participantActivityResponse == null) { + return null; + } + const dto: ParticipantActivityResponseDto = { + id : participantActivityResponse.id, + ParticipantId : participantActivityResponse.ParticipantId, + EnrollmentScheduleId : participantActivityResponse.EnrollmentScheduleId, + CareplanScheduleId : participantActivityResponse.CareplanScheduleId, + CareplanId : participantActivityResponse.CareplanId, + AssetId : participantActivityResponse.AssetId, + AssetType : participantActivityResponse.AssetType, + Response : participantActivityResponse.Response, + TimeResponded : participantActivityResponse.TimeResponded, + ProgressStatus : participantActivityResponse.ProgressStatus, + + }; + return dto; + }; + +} diff --git a/src/database/mappers/user.responses/user.selected.goal.mapper.ts b/src/database/mappers/user.responses/participant.selected.goal.mapper.ts similarity index 96% rename from src/database/mappers/user.responses/user.selected.goal.mapper.ts rename to src/database/mappers/user.responses/participant.selected.goal.mapper.ts index 6c92401..1328824 100644 --- a/src/database/mappers/user.responses/user.selected.goal.mapper.ts +++ b/src/database/mappers/user.responses/participant.selected.goal.mapper.ts @@ -4,7 +4,7 @@ import { /////////////////////////////////////////////////////////////////////////////////// -export class UserSelectedGoalMapper { +export class ParticipantSelectedGoalMapper { static toDto = (participantSelectedGoal: any): ParticipantSelectedGoalDto => { if (participantSelectedGoal == null) { diff --git a/src/database/mappers/user.responses/user.activity.response.mapper.ts b/src/database/mappers/user.responses/user.activity.response.mapper.ts deleted file mode 100644 index a17a527..0000000 --- a/src/database/mappers/user.responses/user.activity.response.mapper.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { - UserActivityResponseDto -} from '../../../domain.types/user.responses/user.activity.response.domain.types'; - -/////////////////////////////////////////////////////////////////////////////////// - -export class UserActivityResponseMapper { - - static toDto = (userActivityResponse: any): UserActivityResponseDto => { - if (userActivityResponse == null) { - return null; - } - const dto: UserActivityResponseDto = { - id : userActivityResponse.id, - ParticipantId : userActivityResponse.ParticipantId, - EnrollmentScheduleId : userActivityResponse.EnrollmentScheduleId, - CareplanScheduleId : userActivityResponse.CareplanScheduleId, - CareplanId : userActivityResponse.CareplanId, - AssetId : userActivityResponse.AssetId, - AssetType : userActivityResponse.AssetType, - Response : userActivityResponse.Response, - TimeResponded : userActivityResponse.TimeResponded, - ProgressStatus : userActivityResponse.ProgressStatus, - - }; - return dto; - }; - -} diff --git a/src/database/models/user.responses/user.activity.response.model.ts b/src/database/models/user.responses/participant.activity.response.model.ts similarity index 82% rename from src/database/models/user.responses/user.activity.response.model.ts rename to src/database/models/user.responses/participant.activity.response.model.ts index 6be8e6d..41f4594 100644 --- a/src/database/models/user.responses/user.activity.response.model.ts +++ b/src/database/models/user.responses/participant.activity.response.model.ts @@ -6,11 +6,11 @@ const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// -export class UserActivityResponseModel { +export class ParticipantActivityResponseModel { - static TableName = 'user_activity_responses'; + static TableName = 'participant_activity_responses'; - static ModelName = 'UserActivityResponse'; + static ModelName = 'ParticipantActivityResponse'; static Schema = { id : { @@ -72,8 +72,8 @@ export class UserActivityResponseModel { }; static Model: any = sequelize.define( - UserActivityResponseModel.ModelName, - UserActivityResponseModel.Schema, + ParticipantActivityResponseModel.ModelName, + ParticipantActivityResponseModel.Schema, { createdAt : 'CreatedAt', updatedAt : 'UpdatedAt', @@ -81,32 +81,32 @@ export class UserActivityResponseModel { freezeTableName : true, timestamps : true, paranoid : true, - tableName : UserActivityResponseModel.TableName, + tableName : ParticipantActivityResponseModel.TableName, }); static associate = (models) => { //Add associations here... - models.UserActivityResponse.belongsTo(models.Participant, { + models.ParticipantActivityResponse.belongsTo(models.Participant, { sourceKey : 'ParticipantId', targetKey : 'id', as : 'Participant' }); - models.UserActivityResponse.belongsTo(models.EnrollmentSchedule, { + models.ParticipantActivityResponse.belongsTo(models.EnrollmentSchedule, { sourceKey : 'EnrollmentScheduleId', targetKey : 'id', as : 'EnrollmentSchedule' }); - models.UserActivityResponse.belongsTo(models.CareplanSchedule, { + models.ParticipantActivityResponse.belongsTo(models.CareplanSchedule, { sourceKey : 'CareplanScheduleId', targetKey : 'id', as : 'CareplanSchedule' }); - models.UserActivityResponse.belongsTo(models.Careplan, { + models.ParticipantActivityResponse.belongsTo(models.Careplan, { sourceKey : 'CareplanId', targetKey : 'id', as : 'Careplan' diff --git a/src/database/repository.services/user.responses/user.activity.response.service.ts b/src/database/repository.services/user.responses/participant.activity.response.service.ts similarity index 81% rename from src/database/repository.services/user.responses/user.activity.response.service.ts rename to src/database/repository.services/user.responses/participant.activity.response.service.ts index 6401519..822d906 100644 --- a/src/database/repository.services/user.responses/user.activity.response.service.ts +++ b/src/database/repository.services/user.responses/participant.activity.response.service.ts @@ -1,6 +1,6 @@ import { - UserActivityResponseModel -} from '../../models/user.responses/user.activity.response.model'; + ParticipantActivityResponseModel +} from '../../models/user.responses/participant.activity.response.model'; import { ParticipantModel } from '../../models/enrollment/participant.model'; @@ -18,21 +18,21 @@ import { ErrorHandler } from '../../../common/error.handler'; import { - UserActivityResponseCreateModel, - UserActivityResponseSearchFilters, - UserActivityResponseSearchResults -} from '../../../domain.types/user.responses/user.activity.response.domain.types'; + ParticipantActivityResponseCreateModel, + ParticipantActivityResponseSearchFilters, + ParticipantActivityResponseSearchResults +} from '../../../domain.types/user.responses/participant.activity.response.domain.types'; import { Op } from 'sequelize'; /////////////////////////////////////////////////////////////////////////////////////////////// -export class UserActivityResponseService { +export class ParticipantActivityResponseService { //#region Models - UserActivityResponse = UserActivityResponseModel.Model; + ParticipantActivityResponse = ParticipantActivityResponseModel.Model; Participant = ParticipantModel.Model; @@ -46,18 +46,18 @@ export class UserActivityResponseService { //#region Publics - create = async (createModel: UserActivityResponseCreateModel) => { + create = async (createModel: ParticipantActivityResponseCreateModel) => { try { - var record = await this.UserActivityResponse.create(createModel); + var record = await this.ParticipantActivityResponse.create(createModel); return await this.getById(record.id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to create user activity response!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to create participant activity response!', error); } } getById = async (id) => { try { - const record = await this.UserActivityResponse.findOne({ + const record = await this.ParticipantActivityResponse.findOne({ where : { id : id }, @@ -87,20 +87,21 @@ export class UserActivityResponseService { }); return record; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve user activity response!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve participant activity response!', error); } } exists = async (id): Promise < boolean > => { try { - const record = await this.UserActivityResponse.findByPk(id); + const record = await this.ParticipantActivityResponse.findByPk(id); return record !== null; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of user activity response!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of participant activity response!', error); } } - search = async (filters: UserActivityResponseSearchFilters): Promise < UserActivityResponseSearchResults > => { + // eslint-disable-next-line max-len + search = async (filters: ParticipantActivityResponseSearchFilters): Promise < ParticipantActivityResponseSearchResults > => { try { var search = this.getSearchModel(filters); @@ -113,8 +114,8 @@ export class UserActivityResponseService { limit } = this.addPaginationToSearch(search, filters); - const foundResults = await this.UserActivityResponse.findAndCountAll(search); - const searchResults: UserActivityResponseSearchResults = { + const foundResults = await this.ParticipantActivityResponse.findAndCountAll(search); + const searchResults: ParticipantActivityResponseSearchResults = { TotalCount : foundResults.count, RetrievedCount : foundResults.rows.length, PageIndex : pageIndex, @@ -127,38 +128,38 @@ export class UserActivityResponseService { return searchResults; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to search user activity response records!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to search participant activity response records!', error); } } update = async (id, updateModel) => { try { if (Object.keys(updateModel).length > 0) { - var res = await this.UserActivityResponse.update(updateModel, { + var res = await this.ParticipantActivityResponse.update(updateModel, { where : { id : id } }); if (res.length !== 1) { - throw new Error('Unable to update user activity response!'); + throw new Error('Unable to update participant activity response!'); } } return await this.getById(id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to update user activity response!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to update participant activity response!', error); } } delete = async (id) => { try { - var result = await this.UserActivityResponse.destroy({ + var result = await this.ParticipantActivityResponse.destroy({ where : { id : id } }); return result === 1; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to delete user activity response!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to delete participant activity response!', error); } } diff --git a/src/domain.types/user.responses/user.activity.response.domain.types.ts b/src/domain.types/user.responses/participant.activity.response.domain.types.ts similarity index 76% rename from src/domain.types/user.responses/user.activity.response.domain.types.ts rename to src/domain.types/user.responses/participant.activity.response.domain.types.ts index e052722..9a2817e 100644 --- a/src/domain.types/user.responses/user.activity.response.domain.types.ts +++ b/src/domain.types/user.responses/participant.activity.response.domain.types.ts @@ -8,7 +8,7 @@ import { uuid } from "../miscellaneous/system.types"; -export interface UserActivityResponseCreateModel { +export interface ParticipantActivityResponseCreateModel { ParticipantId : uuid; EnrollmentScheduleId: uuid; CareplanScheduleId : uuid; @@ -20,14 +20,14 @@ export interface UserActivityResponseCreateModel { ProgressStatus : ProgressStatus; } -export interface UserActivityResponseUpdateModel { +export interface ParticipantActivityResponseUpdateModel { ParticipantId ?: uuid; EnrollmentScheduleId ?: uuid; Response ?: string; ProgressStatus ?: ProgressStatus; } -export interface UserActivityResponseDto { +export interface ParticipantActivityResponseDto { id : uuid; ParticipantId : uuid; EnrollmentScheduleId: uuid; @@ -41,7 +41,7 @@ export interface UserActivityResponseDto { } -export interface UserActivityResponseSearchFilters extends BaseSearchFilters { +export interface ParticipantActivityResponseSearchFilters extends BaseSearchFilters { CareplanId ?: number; AssetId ?: number; AssetType ?: AssetType; @@ -50,6 +50,6 @@ export interface UserActivityResponseSearchFilters extends BaseSearchFilters { ProgressStatus ?: ProgressStatus; } -export interface UserActivityResponseSearchResults extends BaseSearchResults { - Items: UserActivityResponseDto[]; +export interface ParticipantActivityResponseSearchResults extends BaseSearchResults { + Items: ParticipantActivityResponseDto[]; } diff --git a/src/startup/router.ts b/src/startup/router.ts index 1d127a5..0bf9edc 100644 --- a/src/startup/router.ts +++ b/src/startup/router.ts @@ -34,7 +34,7 @@ import { register as registerEnrollmentScheduleRoutes } from "../api/enrollment/ import { register as registerFileREsourceRoutes } from "../api/file.resource/file.resource.routes"; import { register as registerTypesRoutes } from "../api/types/types.routes"; import { register as registerUserRoutes } from "../api/user/user.routes"; -import { register as registerUserActivityResponseRoutes } from "../api/user.responses/user.activity.response/user.activity.response.routes"; +import { register as registerParticipantActivityResponseRoutes } from "../api/user.responses/participant.activity.response/participant.activity.response.routes"; import { register as registerParticipantSelectedActionPlanRoutes } from "../api/user.responses/participant.selected.action.plan/participant.selected.action.plan.routes"; import { register as registerParticipantSelectedGoalRoutes } from "../api/user.responses/participant.selected.goal/participant.selected.goal.routes"; import { register as registerParticipantSelectedPriorityRoutes } from "../api/user.responses/participant.selected.priority/participant.selected.priority.routes"; @@ -98,7 +98,7 @@ export class Router { registerFileREsourceRoutes(this._app); registerTypesRoutes(this._app); registerUserRoutes(this._app); - registerUserActivityResponseRoutes(this._app); + registerParticipantActivityResponseRoutes(this._app); registerParticipantSelectedActionPlanRoutes(this._app); registerParticipantSelectedGoalRoutes(this._app); registerParticipantSelectedPriorityRoutes(this._app); From 7d69459ed8673d4ddaba8c32b06d8963ac2b9806 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Sat, 30 Jul 2022 14:17:52 +0530 Subject: [PATCH 031/169] Renamed files user to participant --- ...n.service.workflow.postman_collection.json | 1000 +++++++---------- ...t.activity.response.controller.delegate.ts | 4 +- ...articipant.activity.response.controller.ts | 0 .../participant.activity.response.routes.ts | 0 ...participant.activity.response.validator.ts | 0 ...elected.action.plan.controller.delegate.ts | 28 +- ...icipant.selected.action.plan.controller.ts | 0 ...participant.selected.action.plan.routes.ts | 0 ...ticipant.selected.action.plan.validator.ts | 0 ...ipant.selected.goal.controller.delegate.ts | 28 +- .../participant.selected.goal.controller.ts | 0 .../participant.selected.goal.routes.ts | 0 .../participant.selected.goal.validator.ts | 6 + ...t.selected.priority.controller.delegate.ts | 28 +- ...articipant.selected.priority.controller.ts | 0 .../participant.selected.priority.routes.ts | 0 ...participant.selected.priority.validator.ts | 6 + .../participant.activity.response.mapper.ts | 4 +- ...participant.selected.action.plan.mapper.ts | 4 +- .../participant.selected.goal.mapper.ts | 4 +- .../participant.selected.priorityl.mapper.ts | 4 +- .../participant.activity.response.model.ts | 0 .../participant.selected.action.plan.model.ts | 0 .../participant.selected.goal.model.ts | 0 .../participant.selected.priority.model.ts | 0 .../participant.activity.response.service.ts | 4 +- ...articipant.selected.action.plan.service.ts | 6 +- .../participant.selected.goal.service.ts | 6 +- .../participant.selected.priority.service.ts | 4 +- ...ticipant.activity.response.domain.types.ts | 0 ...ipant.selected.action.plan.domain.types.ts | 3 + .../participant.selected.goal.domain.types.ts | 3 + ...ticipant.selected.priority.domain.types.ts | 3 + src/startup/router.ts | 8 +- 34 files changed, 501 insertions(+), 652 deletions(-) rename src/api/{user.responses => participant.responses}/participant.activity.response/participant.activity.response.controller.delegate.ts (97%) rename src/api/{user.responses => participant.responses}/participant.activity.response/participant.activity.response.controller.ts (100%) rename src/api/{user.responses => participant.responses}/participant.activity.response/participant.activity.response.routes.ts (100%) rename src/api/{user.responses => participant.responses}/participant.activity.response/participant.activity.response.validator.ts (100%) rename src/api/{user.responses => participant.responses}/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts (90%) rename src/api/{user.responses => participant.responses}/participant.selected.action.plan/participant.selected.action.plan.controller.ts (100%) rename src/api/{user.responses => participant.responses}/participant.selected.action.plan/participant.selected.action.plan.routes.ts (100%) rename src/api/{user.responses => participant.responses}/participant.selected.action.plan/participant.selected.action.plan.validator.ts (100%) rename src/api/{user.responses => participant.responses}/participant.selected.goal/participant.selected.goal.controller.delegate.ts (91%) rename src/api/{user.responses => participant.responses}/participant.selected.goal/participant.selected.goal.controller.ts (100%) rename src/api/{user.responses => participant.responses}/participant.selected.goal/participant.selected.goal.routes.ts (100%) rename src/api/{user.responses => participant.responses}/participant.selected.goal/participant.selected.goal.validator.ts (90%) rename src/api/{user.responses => participant.responses}/participant.selected.priority/participant.selected.priority.controller.delegate.ts (89%) rename src/api/{user.responses => participant.responses}/participant.selected.priority/participant.selected.priority.controller.ts (100%) rename src/api/{user.responses => participant.responses}/participant.selected.priority/participant.selected.priority.routes.ts (100%) rename src/api/{user.responses => participant.responses}/participant.selected.priority/participant.selected.priority.validator.ts (87%) rename src/database/mappers/{user.responses => participant.responses}/participant.activity.response.mapper.ts (90%) rename src/database/mappers/{user.responses => participant.responses}/participant.selected.action.plan.mapper.ts (91%) rename src/database/mappers/{user.responses => participant.responses}/participant.selected.goal.mapper.ts (92%) rename src/database/mappers/{user.responses => participant.responses}/participant.selected.priorityl.mapper.ts (89%) rename src/database/models/{user.responses => participant.responses}/participant.activity.response.model.ts (100%) rename src/database/models/{user.responses => participant.responses}/participant.selected.action.plan.model.ts (100%) rename src/database/models/{user.responses => participant.responses}/participant.selected.goal.model.ts (100%) rename src/database/models/{user.responses => participant.responses}/participant.selected.priority.model.ts (100%) rename src/database/repository.services/{user.responses => participant.responses}/participant.activity.response.service.ts (98%) rename src/database/repository.services/{user.responses => participant.responses}/participant.selected.action.plan.service.ts (97%) rename src/database/repository.services/{user.responses => participant.responses}/participant.selected.goal.service.ts (97%) rename src/database/repository.services/{user.responses => participant.responses}/participant.selected.priority.service.ts (97%) rename src/domain.types/{user.responses => participant.responses}/participant.activity.response.domain.types.ts (100%) rename src/domain.types/{user.responses => participant.responses}/participant.selected.action.plan.domain.types.ts (95%) rename src/domain.types/{user.responses => participant.responses}/participant.selected.goal.domain.types.ts (95%) rename src/domain.types/{user.responses => participant.responses}/participant.selected.priority.domain.types.ts (94%) diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index bf87962..0d1de36 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -1,9 +1,9 @@ { "info": { - "_postman_id": "4a2978a1-594c-4f4a-af37-fbe5583ba546", + "_postman_id": "22cb4975-3599-4b7a-857c-f9c752694656", "name": "careplan.service.workflow", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "5510218" + "_exporter_id": "15905052" }, "item": [ { @@ -3503,11 +3503,11 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", + " pm.environment.set(\"ASSET_CODE\", respData.Data.AssetCode);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -3536,7 +3536,8 @@ " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", " " - ] + ], + "type": "text/javascript" } } ], @@ -15106,130 +15107,20 @@ "name": "Enrollment schedule", "item": [ { - "name": "Create", + "name": "Search with filters", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"ENROLLMENT_SCHEDULE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", - "\r", - "pm.test('New enrollment schedule record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", - "\r" - ] - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"AssetType\": \"Message\"\r\n\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/enrollment-schedules", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "enrollment-schedules" - ] - } - }, - "response": [] - }, - { - "name": "Get by id", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Enrollment schedule record is retrived', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", - " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", - " pm.expect(jsonRes.Data).to.have.property('ScheduledDate');\r", + " pm.environment.set(\"ENROLLMENT_SCHEDULE_ID\", respData.Data.Items[0].id);\r", + "} catch {\r", " \r", - " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", - "\r", - "});\r", - "\r", - "" - ] - } - } - ], - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "x-api-key", - "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" - } - ], - "url": { - "raw": "{{BASE_URL}}/enrollment-schedules/{{ENROLLMENT_SCHEDULE_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "enrollment-schedules", - "{{ENROLLMENT_SCHEDULE_ID}}" - ] - } - }, - "response": [] - }, - { - "name": "Search with filters", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ + "}\r", "pm.test('Request is successfull', function () {\r", + "pm.globals.get(\"variable_key\");\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", @@ -15241,7 +15132,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15260,7 +15152,7 @@ } ], "url": { - "raw": "{{BASE_URL}}/enrollment-schedules/search?assetId=xyz&assetType=xyz&careplanId=xyz&timeSlot=xyz", + "raw": "{{BASE_URL}}/enrollment-schedules/search?assetType=Message", "host": [ "{{BASE_URL}}" ], @@ -15271,19 +15163,22 @@ "query": [ { "key": "assetId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetType", - "value": "xyz" + "value": "Message" }, { "key": "careplanId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "timeSlot", - "value": "xyz" + "value": "xyz", + "disabled": true } ] } @@ -15291,11 +15186,12 @@ "response": [] }, { - "name": "Update", + "name": "Get by id", "event": [ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -15303,7 +15199,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Enrollment schedule record is updated', function () {\r", + "pm.test('Enrollment schedule record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", @@ -15318,68 +15214,14 @@ " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", "\r", "});\r", - "" - ], - "type": "text/javascript" - } - } - ], - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n\"AssetType\": \"Message\"\r\n\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/enrollment-schedules/{{ENROLLMENT_SCHEDULE_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "enrollment-schedules", - "{{ENROLLMENT_SCHEDULE_ID}}" - ] - } - }, - "response": [] - }, - { - "name": "Delete", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", "\r", - "pm.test('Enrollment schedule record is deleted', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - "});" + "" ] } } ], "request": { - "method": "DELETE", + "method": "GET", "header": [ { "key": "Content-Type", @@ -15404,87 +15246,14 @@ } }, "response": [] - }, - { - "name": "Create again", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ENROLLMENT_SCHEDULE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('New enrollment schedule record is created', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", - " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", - " pm.expect(jsonRes.Data).to.have.property('ScheduledDate');\r", - " \r", - " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", - "\r", - "});\r", - "\r", - "" - ] - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "x-api-key", - "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"AssetType\": \"Message\"\r\n\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/enrollment-schedules", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "enrollment-schedules" - ] - } - }, - "response": [] } ] }, { - "name": "User responses", + "name": "Participant responses", "item": [ { - "name": "User activity response", + "name": "Participant activity response", "item": [ { "name": "Create", @@ -15492,7 +15261,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -15518,7 +15286,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15527,26 +15296,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{Answer : 116 mg/dL}\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses", + "raw": "{{BASE_URL}}/participant-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses" + "participant-activity-responses" ] } }, @@ -15558,7 +15327,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -15577,7 +15345,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15586,22 +15355,22 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", + "participant-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -15614,7 +15383,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -15629,7 +15397,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15638,48 +15407,58 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-activity-responses/search?careplanId=xyz&assetId=xyz&assetType=xyz&response=xyz&timeResponded=xyz&progressStatus=xyz", + "raw": "{{BASE_URL}}/participant-activity-responses/search?participantId={{PARTICIPANT_USER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", + "participant-activity-responses", "search" ], "query": [ { "key": "careplanId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetType", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "response", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "timeResponded", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "progressStatus", - "value": "xyz" + "value": "xyz", + "disabled": true + }, + { + "key": "participantId", + "value": "{{PARTICIPANT_USER_ID}}" } ] } @@ -15692,7 +15471,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -15711,7 +15489,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15720,26 +15499,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{Answer: 99 F}\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", + "participant-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -15752,7 +15531,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -15769,7 +15547,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15778,22 +15557,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", + "participant-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -15806,7 +15589,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -15832,7 +15614,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15841,26 +15624,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{Answer : 120 mg/dL}\"\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses", + "raw": "{{BASE_URL}}/participant-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses" + "participant-activity-responses" ] } }, @@ -15869,7 +15652,7 @@ ] }, { - "name": "User selected action plan", + "name": "Participant selected priority", "item": [ { "name": "Create", @@ -15877,11 +15660,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_PRIORITY_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -15893,27 +15675,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected action plan record is created', function () {\r", + "pm.test('New user selected priority record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + "\r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15922,26 +15702,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n\"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans", + "raw": "{{BASE_URL}}/participant-selected-priorities", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans" + "participant-selected-priorities" ] } }, @@ -15953,9 +15733,7 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -15963,27 +15741,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected action plan is retrived', function () {\r", + "pm.test('User selected priority record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", + " \r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15992,23 +15768,23 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/participant-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans", - "{{USER_SELECTED_ACTION_PLAN_ID}}" + "participant-selected-priorities", + "{{USER_SELECTED_PRIORITYL_ID}}" ] } }, @@ -16020,8 +15796,8 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ + "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16029,12 +15805,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(' User selected action plans are retrived', function () {\r", + "pm.test(' User selected priority! is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16043,60 +15820,53 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans/search?name=xyz&description=xyz&careplanId=xyz&assetId=xyz&assetType=xyz&additionalDetails=xyz&startDate=xyz&endDate=xyz&progressStatus=xyz", + "raw": "{{BASE_URL}}/participant-selected-priorities/search?name=Stress management", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans", + "participant-selected-priorities", "search" ], "query": [ { "key": "name", - "value": "xyz" + "value": "Stress management" }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "careplanId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetType", - "value": "xyz" - }, - { - "key": "additionalDetails", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "startDate", - "value": "xyz" - }, - { - "key": "endDate", - "value": "xyz" - }, - { - "key": "progressStatus", - "value": "xyz" + "value": "xyz", + "disabled": true } ] } @@ -16109,7 +15879,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -16118,7 +15887,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected action plan record is updated', function () {\r", + "pm.test('User selected priority record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", @@ -16127,18 +15896,15 @@ " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16147,27 +15913,27 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n\"Name\": \"Stress management\",\r\n\"Description\": \"Sleep at least 6 hours a day\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/participant-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans", - "{{USER_SELECTED_ACTION_PLAN_ID}}" + "participant-selected-priorities", + "{{USER_SELECTED_PRIORITYL_ID}}" ] } }, @@ -16179,7 +15945,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -16189,14 +15954,15 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected action plan is deleted', function () {\r", + "pm.test('User selected priority is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16205,23 +15971,27 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/participant-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans", - "{{USER_SELECTED_ACTION_PLAN_ID}}" + "participant-selected-priorities", + "{{USER_SELECTED_PRIORITYL_ID}}" ] } }, @@ -16233,11 +16003,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -16249,30 +16018,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected action plan record is created', function () {\r", + "pm.test('New user selected priority record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - " \r", - " pm.expect(jsonRes.Data.UserId).equals('USER_ID');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", " pm.expect(jsonRes.Data.CareplanId).equals('CAREPLAN_ID');\r", - " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + "\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16281,26 +16046,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n\"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans", + "raw": "{{BASE_URL}}/participant-selected-priorities", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans" + "participant-selected-priorities" ] } }, @@ -16309,7 +16074,7 @@ ] }, { - "name": "User selected goal", + "name": "Participant selected goal", "item": [ { "name": "Create", @@ -16317,7 +16082,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -16353,7 +16117,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16362,26 +16127,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"SelectedPriorityId\": \"{{USER_SELECTED_PRIORITY_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/user-selected-goals", + "raw": "{{BASE_URL}}/participant-selected-goals", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals" + "participant-selected-goals" ] } }, @@ -16393,7 +16158,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -16422,7 +16186,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16431,22 +16196,22 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-goals/{{USER_SELECTED_GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals", + "participant-selected-goals", "{{USER_SELECTED_GOAL_ID}}" ] } @@ -16459,7 +16224,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -16474,7 +16238,8 @@ " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16483,60 +16248,68 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-goals/search?name=xyz&description=xyz&careplanId=xyz&assetId=xyz&assetType=xyz&additionalDetails=xyz&startDate=xyz&endDate=xyz&progressStatus=xyz", + "raw": "{{BASE_URL}}/participant-selected-goals/search?careplanId={{CARE_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals", + "participant-selected-goals", "search" ], "query": [ { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "careplanId", - "value": "xyz" + "value": "{{CARE_PLAN_ID}}" }, { "key": "assetId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetType", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "additionalDetails", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "startDate", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "endDate", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "progressStatus", - "value": "xyz" + "value": "xyz", + "disabled": true } ] } @@ -16549,7 +16322,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -16579,7 +16351,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16588,26 +16361,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \"Control your sugar intake\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"SelectedPriorityId\": \"{{USER_SELECTED_PRIORITY_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-goals/{{USER_SELECTED_GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals", + "participant-selected-goals", "{{USER_SELECTED_GOAL_ID}}" ] } @@ -16620,7 +16393,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -16637,7 +16409,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16646,22 +16419,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-goals/{{USER_SELECTED_GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals", + "participant-selected-goals", "{{USER_SELECTED_GOAL_ID}}" ] } @@ -16674,7 +16451,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -16713,7 +16489,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16722,26 +16499,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Blood Pressure\",\r\n\"Description\": \".....\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"SelectedPriorityId\": \"{{USER_SELECTED_PRIORITY_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/user-selected-goals", + "raw": "{{BASE_URL}}/participant-selected-goals", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals" + "participant-selected-goals" ] } }, @@ -16750,7 +16527,7 @@ ] }, { - "name": "User selected priority", + "name": "Participant selected action plan", "item": [ { "name": "Create", @@ -16758,11 +16535,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -16774,24 +16550,28 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected priority record is created', function () {\r", + "pm.test('New user selected action plan record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - "\r", - " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - "\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16800,26 +16580,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"GoalId\": \"{{USER_SELECTED_GOAL_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2024-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/user-selected-priorities", + "raw": "{{BASE_URL}}/participant-selected-action-plans", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities" + "participant-selected-action-plans" ] } }, @@ -16831,8 +16611,8 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ + "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16840,24 +16620,28 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected priority record is retrived', function () {\r", + "pm.test('User selected action plan is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " \r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - "\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16866,23 +16650,23 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities", - "{{USER_SELECTED_PRIORITYL_ID}}" + "participant-selected-action-plans", + "{{USER_SELECTED_ACTION_PLAN_ID}}" ] } }, @@ -16894,9 +16678,7 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16904,12 +16686,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(' User selected priority! is retrived', function () {\r", + "pm.test(' User selected action plans are retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16918,28 +16701,29 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-priorities/search?name=Stress management", + "raw": "{{BASE_URL}}/participant-selected-action-plans/search?careplanId=1", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities", + "participant-selected-action-plans", "search" ], "query": [ { "key": "name", - "value": "Stress management" + "value": "xyz", + "disabled": true }, { "key": "description", @@ -16948,8 +16732,7 @@ }, { "key": "careplanId", - "value": "xyz", - "disabled": true + "value": "1" }, { "key": "assetId", @@ -16961,10 +16744,30 @@ "value": "xyz", "disabled": true }, + { + "key": "additionalDetails", + "value": "xyz", + "disabled": true + }, { "key": "startDate", "value": "xyz", "disabled": true + }, + { + "key": "endDate", + "value": "xyz", + "disabled": true + }, + { + "key": "progressStatus", + "value": "xyz", + "disabled": true + }, + { + "key": "participantId", + "value": "{{PARTICIPANT_USER_ID}}", + "disabled": true } ] } @@ -16977,7 +16780,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -16986,7 +16788,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected priority record is updated', function () {\r", + "pm.test('User selected action plan record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", @@ -16995,14 +16797,19 @@ " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -17011,27 +16818,27 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \"We need to follow low carb and high protien diet\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"GoalId\": \"{{USER_SELECTED_GOAL_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2024-01-01\"\r\n\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities", - "{{USER_SELECTED_PRIORITYL_ID}}" + "participant-selected-action-plans", + "{{USER_SELECTED_ACTION_PLAN_ID}}" ] } }, @@ -17043,7 +16850,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -17053,14 +16859,15 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected priority is deleted', function () {\r", + "pm.test('User selected action plan is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -17069,23 +16876,27 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities", - "{{USER_SELECTED_PRIORITYL_ID}}" + "participant-selected-action-plans", + "{{USER_SELECTED_ACTION_PLAN_ID}}" ] } }, @@ -17097,11 +16908,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -17113,25 +16923,31 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected priority record is created', function () {\r", + "pm.test('New user selected action plan record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " \r", + " pm.expect(jsonRes.Data.UserId).equals('USER_ID');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.CareplanId).equals('CAREPLAN_ID');\r", - " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - "\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -17140,26 +16956,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \"Eat less carbs\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"GoalId\": \"{{USER_SELECTED_GOAL_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2024-01-01\"\r\n\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-priorities", + "raw": "{{BASE_URL}}/participant-selected-action-plans", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities" + "participant-selected-action-plans" ] } }, diff --git a/src/api/user.responses/participant.activity.response/participant.activity.response.controller.delegate.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts similarity index 97% rename from src/api/user.responses/participant.activity.response/participant.activity.response.controller.delegate.ts rename to src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts index a470b44..e7af432 100644 --- a/src/api/user.responses/participant.activity.response/participant.activity.response.controller.delegate.ts +++ b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts @@ -1,6 +1,6 @@ import { ParticipantActivityResponseService -} from '../../../database/repository.services/user.responses/participant.activity.response.service'; +} from '../../../database/repository.services/participant.responses/participant.activity.response.service'; import { ErrorHandler } from '../../../common/error.handler'; @@ -21,7 +21,7 @@ import { ParticipantActivityResponseUpdateModel, ParticipantActivityResponseSearchFilters, ParticipantActivityResponseSearchResults -} from '../../../domain.types/user.responses/participant.activity.response.domain.types'; +} from '../../../domain.types/participant.responses/participant.activity.response.domain.types'; import { EnrollmentScheduleService } from '../../../database/repository.services/enrollment/enrollment.schedule.service'; /////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/api/user.responses/participant.activity.response/participant.activity.response.controller.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.ts similarity index 100% rename from src/api/user.responses/participant.activity.response/participant.activity.response.controller.ts rename to src/api/participant.responses/participant.activity.response/participant.activity.response.controller.ts diff --git a/src/api/user.responses/participant.activity.response/participant.activity.response.routes.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.routes.ts similarity index 100% rename from src/api/user.responses/participant.activity.response/participant.activity.response.routes.ts rename to src/api/participant.responses/participant.activity.response/participant.activity.response.routes.ts diff --git a/src/api/user.responses/participant.activity.response/participant.activity.response.validator.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts similarity index 100% rename from src/api/user.responses/participant.activity.response/participant.activity.response.validator.ts rename to src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts diff --git a/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts similarity index 90% rename from src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts rename to src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts index 888b0b0..337bce2 100644 --- a/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts +++ b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts @@ -1,6 +1,6 @@ import { ParticipantSelectedActionPlanService -} from '../../../database/repository.services/user.responses/participant.selected.action.plan.service'; +} from '../../../database/repository.services/participant.responses/participant.selected.action.plan.service'; import { ErrorHandler } from '../../../common/error.handler'; @@ -21,8 +21,7 @@ import { ParticipantSelectedActionPlanUpdateModel, ParticipantSelectedActionPlanSearchFilters, ParticipantSelectedActionPlanSearchResults -} from '../../../domain.types/user.responses/participant.selected.action.plan.domain.types'; -import { CareplanService } from '../../../database/repository.services/careplan/careplan.service'; +} from '../../../domain.types/participant.responses/participant.selected.action.plan.domain.types'; /////////////////////////////////////////////////////////////////////////////////////// @@ -32,19 +31,15 @@ export class ParticipantSelectedActionPlanControllerDelegate { _service: ParticipantSelectedActionPlanService = null; - _careplanService: CareplanService = null; - constructor() { this._service = new ParticipantSelectedActionPlanService(); - this._careplanService = new CareplanService(); } //#endregion create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); - const careplan = await this._careplanService.getById(requestBody.CareplanId); - var createModel: ParticipantSelectedActionPlanCreateModel = this.getCreateModel(requestBody, careplan); + var createModel: ParticipantSelectedActionPlanCreateModel = this.getCreateModel(requestBody); const record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create participant selected action plan!', 400); @@ -180,6 +175,15 @@ export class ParticipantSelectedActionPlanControllerDelegate { if (Helper.hasProperty(requestBody, 'CareplanId')) { updateModel.CareplanId = requestBody.CareplanId; } + if (Helper.hasProperty(requestBody, 'AssetId')) { + updateModel.AssetId = requestBody.AssetId; + } + if (Helper.hasProperty(requestBody, 'AssetType')) { + updateModel.AssetType = requestBody.AssetType; + } + if (Helper.hasProperty(requestBody, 'AssetCode')) { + updateModel.AssetCode = requestBody.AssetCode; + } if (Helper.hasProperty(requestBody, 'AdditionalDetails')) { updateModel.AdditionalDetails = requestBody.AdditionalDetails; } @@ -193,7 +197,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { return updateModel; } - getCreateModel = (requestBody, careplan): ParticipantSelectedActionPlanCreateModel => { + getCreateModel = (requestBody): ParticipantSelectedActionPlanCreateModel => { return { Name : requestBody.Name ? requestBody.Name : null, Description : requestBody.Description ? requestBody.Description : null, @@ -201,9 +205,9 @@ export class ParticipantSelectedActionPlanControllerDelegate { ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, GoalId : requestBody.GoalId ? requestBody.GoalId : null, CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, - AssetId : careplan.AssetId ? careplan.AssetId : null, - AssetType : careplan.AssetType ? careplan.AssetType : null, - AssetCode : careplan.AssetCode ? careplan.AssetCode : null, + AssetId : requestBody.AssetId ? requestBody.AssetId : null, + AssetType : requestBody.AssetType ? requestBody.AssetType : null, + AssetCode : requestBody.AssetCode ? requestBody.AssetCode : null, AdditionalDetails : requestBody.AdditionalDetails ? requestBody.AdditionalDetails : null, StartDate : requestBody.StartDate ? requestBody.StartDate : null, EndDate : requestBody.EndDate ? requestBody.EndDate : null diff --git a/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts similarity index 100% rename from src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts rename to src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts diff --git a/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.routes.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.routes.ts similarity index 100% rename from src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.routes.ts rename to src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.routes.ts diff --git a/src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts similarity index 100% rename from src/api/user.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts rename to src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts diff --git a/src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts similarity index 91% rename from src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts rename to src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts index 20b2773..0a9a7cf 100644 --- a/src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts +++ b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts @@ -1,6 +1,6 @@ import { ParticipantSelectedGoalService -} from '../../../database/repository.services/user.responses/participant.selected.goal.service'; +} from '../../../database/repository.services/participant.responses/participant.selected.goal.service'; import { ErrorHandler } from '../../../common/error.handler'; @@ -21,8 +21,7 @@ import { ParticipantSelectedGoalUpdateModel, ParticipantSelectedGoalSearchFilters, ParticipantSelectedGoalSearchResults -} from '../../../domain.types/user.responses/participant.selected.goal.domain.types'; -import { CareplanService } from '../../../database/repository.services/careplan/careplan.service'; +} from '../../../domain.types/participant.responses/participant.selected.goal.domain.types'; /////////////////////////////////////////////////////////////////////////////////////// @@ -32,19 +31,15 @@ export class ParticipantSelectedGoalControllerDelegate { _service: ParticipantSelectedGoalService = null; - _careplanService: CareplanService = null; - constructor() { this._service = new ParticipantSelectedGoalService(); - this._careplanService = new CareplanService(); } //#endregion create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); - const careplan = await this._careplanService.getById(requestBody.CareplanId); - var createModel: ParticipantSelectedGoalCreateModel = this.getCreateModel(requestBody, careplan); + var createModel: ParticipantSelectedGoalCreateModel = this.getCreateModel(requestBody); const record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create participant selected goal!', 400); @@ -180,6 +175,15 @@ export class ParticipantSelectedGoalControllerDelegate { if (Helper.hasProperty(requestBody, 'CareplanId')) { updateModel.CareplanId = requestBody.CareplanId; } + if (Helper.hasProperty(requestBody, 'AssetId')) { + updateModel.AssetId = requestBody.AssetId; + } + if (Helper.hasProperty(requestBody, 'AssetType')) { + updateModel.AssetType = requestBody.AssetType; + } + if (Helper.hasProperty(requestBody, 'AssetCode')) { + updateModel.AssetCode = requestBody.AssetCode; + } if (Helper.hasProperty(requestBody, 'AdditionalDetails')) { updateModel.AdditionalDetails = requestBody.AdditionalDetails; } @@ -193,7 +197,7 @@ export class ParticipantSelectedGoalControllerDelegate { return updateModel; } - getCreateModel = (requestBody, careplan): ParticipantSelectedGoalCreateModel => { + getCreateModel = (requestBody): ParticipantSelectedGoalCreateModel => { return { Name : requestBody.Name ? requestBody.Name : null, Description : requestBody.Description ? requestBody.Description : null, @@ -201,9 +205,9 @@ export class ParticipantSelectedGoalControllerDelegate { ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, SelectedPriorityId : requestBody.SelectedPriorityId ? requestBody.SelectedPriorityId : null, CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, - AssetId : careplan.AssetId ? careplan.AssetId : null, - AssetType : careplan.AssetType ? careplan.AssetType : null, - AssetCode : careplan.AssetCode ? careplan.AssetCode : null, + AssetId : requestBody.AssetId ? requestBody.AssetId : null, + AssetType : requestBody.AssetType ? requestBody.AssetType : null, + AssetCode : requestBody.AssetCode ? requestBody.AssetCode : null, AdditionalDetails : requestBody.AdditionalDetails ? requestBody.AdditionalDetails : null, StartDate : requestBody.StartDate ? requestBody.StartDate : null, EndDate : requestBody.EndDate ? requestBody.EndDate : null diff --git a/src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.ts b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.ts similarity index 100% rename from src/api/user.responses/participant.selected.goal/participant.selected.goal.controller.ts rename to src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.ts diff --git a/src/api/user.responses/participant.selected.goal/participant.selected.goal.routes.ts b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.routes.ts similarity index 100% rename from src/api/user.responses/participant.selected.goal/participant.selected.goal.routes.ts rename to src/api/participant.responses/participant.selected.goal/participant.selected.goal.routes.ts diff --git a/src/api/user.responses/participant.selected.goal/participant.selected.goal.validator.ts b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts similarity index 90% rename from src/api/user.responses/participant.selected.goal/participant.selected.goal.validator.ts rename to src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts index ffdf12a..fcb2192 100644 --- a/src/api/user.responses/participant.selected.goal/participant.selected.goal.validator.ts +++ b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts @@ -22,6 +22,9 @@ export class ParticipantSelectedGoalValidator { version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().max(128).optional(), + AssetCode : joi.string().max(128).optional(), AdditionalDetails : joi.string().optional(), StartDate : joi.date().iso().optional(), EndDate : joi.date().iso().optional() @@ -47,6 +50,9 @@ export class ParticipantSelectedGoalValidator { version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().max(128).optional(), + AssetCode : joi.string().max(128).optional(), AdditionalDetails : joi.string().optional(), StartDate : joi.date().iso().optional(), EndDate : joi.date().iso().optional() diff --git a/src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts similarity index 89% rename from src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts rename to src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts index 0c6fceb..4e7b86e 100644 --- a/src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts +++ b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts @@ -1,6 +1,6 @@ import { ParticipantSelectedPriorityService -} from '../../../database/repository.services/user.responses/participant.selected.priority.service'; +} from '../../../database/repository.services/participant.responses/participant.selected.priority.service'; import { ErrorHandler } from '../../../common/error.handler'; @@ -21,8 +21,7 @@ import { ParticipantSelectedPriorityUpdateModel, ParticipantSelectedPrioritySearchFilters, ParticipantSelectedPrioritySearchResults -} from '../../../domain.types/user.responses/participant.selected.priority.domain.types'; -import { CareplanService } from '../../../database/repository.services/careplan/careplan.service'; +} from '../../../domain.types/participant.responses/participant.selected.priority.domain.types'; /////////////////////////////////////////////////////////////////////////////////////// @@ -32,19 +31,15 @@ export class ParticipantSelectedPriorityControllerDelegate { _service: ParticipantSelectedPriorityService = null; - _careplanService: CareplanService = null; - constructor() { this._service = new ParticipantSelectedPriorityService(); - this._careplanService = new CareplanService(); } //#endregion create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); - const careplan = await this._careplanService.getById(requestBody.CareplanId); - var createModel: ParticipantSelectedPriorityCreateModel = this.getCreateModel(requestBody, careplan); + var createModel: ParticipantSelectedPriorityCreateModel = this.getCreateModel(requestBody); const record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create participant selected priority!', 400); @@ -161,6 +156,15 @@ export class ParticipantSelectedPriorityControllerDelegate { if (Helper.hasProperty(requestBody, 'CareplanId')) { updateModel.CareplanId = requestBody.CareplanId; } + if (Helper.hasProperty(requestBody, 'AssetId')) { + updateModel.AssetId = requestBody.AssetId; + } + if (Helper.hasProperty(requestBody, 'AssetType')) { + updateModel.AssetType = requestBody.AssetType; + } + if (Helper.hasProperty(requestBody, 'AssetCode')) { + updateModel.AssetCode = requestBody.AssetCode; + } if (Helper.hasProperty(requestBody, 'StartDate')) { updateModel.StartDate = requestBody.StartDate; } @@ -168,16 +172,16 @@ export class ParticipantSelectedPriorityControllerDelegate { return updateModel; } - getCreateModel = (requestBody, careplan): ParticipantSelectedPriorityCreateModel => { + getCreateModel = (requestBody): ParticipantSelectedPriorityCreateModel => { return { Name : requestBody.Name ? requestBody.Name : null, Description : requestBody.Description ? requestBody.Description : null, EnrollmentId : requestBody.EnrollmentId ? requestBody.EnrollmentId : null, ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, - AssetId : careplan.AssetId ? careplan.AssetId : null, - AssetType : careplan.AssetType ? careplan.AssetType : null, - AssetCode : careplan.AssetCode ? careplan.AssetCode : null, + AssetId : requestBody.AssetId ? requestBody.AssetId : null, + AssetType : requestBody.AssetType ? requestBody.AssetType : null, + AssetCode : requestBody.AssetCode ? requestBody.AssetCode : null, StartDate : requestBody.StartDate ? requestBody.StartDate : null }; } diff --git a/src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.ts b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.ts similarity index 100% rename from src/api/user.responses/participant.selected.priority/participant.selected.priority.controller.ts rename to src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.ts diff --git a/src/api/user.responses/participant.selected.priority/participant.selected.priority.routes.ts b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.routes.ts similarity index 100% rename from src/api/user.responses/participant.selected.priority/participant.selected.priority.routes.ts rename to src/api/participant.responses/participant.selected.priority/participant.selected.priority.routes.ts diff --git a/src/api/user.responses/participant.selected.priority/participant.selected.priority.validator.ts b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts similarity index 87% rename from src/api/user.responses/participant.selected.priority/participant.selected.priority.validator.ts rename to src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts index 604e7b4..1ccf4a0 100644 --- a/src/api/user.responses/participant.selected.priority/participant.selected.priority.validator.ts +++ b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts @@ -19,6 +19,9 @@ export class ParticipantSelectedPriorityValidator { version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().max(128).optional(), + AssetCode : joi.string().max(128).optional(), StartDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); @@ -39,6 +42,9 @@ export class ParticipantSelectedPriorityValidator { version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().max(128).optional(), + AssetCode : joi.string().max(128).optional(), StartDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); diff --git a/src/database/mappers/user.responses/participant.activity.response.mapper.ts b/src/database/mappers/participant.responses/participant.activity.response.mapper.ts similarity index 90% rename from src/database/mappers/user.responses/participant.activity.response.mapper.ts rename to src/database/mappers/participant.responses/participant.activity.response.mapper.ts index 33afa61..404e3f6 100644 --- a/src/database/mappers/user.responses/participant.activity.response.mapper.ts +++ b/src/database/mappers/participant.responses/participant.activity.response.mapper.ts @@ -1,12 +1,12 @@ import { ParticipantActivityResponseDto -} from '../../../domain.types/user.responses/participant.activity.response.domain.types'; +} from '../../../domain.types/participant.responses/participant.activity.response.domain.types'; /////////////////////////////////////////////////////////////////////////////////// export class ParticipantActivityResponseMapper { - static toDto = (participantActivityResponse: any): ParticipantActivityResponseDto => { + static toDto = (participantActivityResponse: any): ParticipantActivityResponseDto | null => { if (participantActivityResponse == null) { return null; } diff --git a/src/database/mappers/user.responses/participant.selected.action.plan.mapper.ts b/src/database/mappers/participant.responses/participant.selected.action.plan.mapper.ts similarity index 91% rename from src/database/mappers/user.responses/participant.selected.action.plan.mapper.ts rename to src/database/mappers/participant.responses/participant.selected.action.plan.mapper.ts index 772db58..57f9a82 100644 --- a/src/database/mappers/user.responses/participant.selected.action.plan.mapper.ts +++ b/src/database/mappers/participant.responses/participant.selected.action.plan.mapper.ts @@ -1,12 +1,12 @@ import { ParticipantSelectedActionPlanDto -} from '../../../domain.types/user.responses/participant.selected.action.plan.domain.types'; +} from '../../../domain.types/participant.responses/participant.selected.action.plan.domain.types'; /////////////////////////////////////////////////////////////////////////////////// export class ParticipantSelectedActionPlanMapper { - static toDto = (participantSelectedActionPlan: any): ParticipantSelectedActionPlanDto => { + static toDto = (participantSelectedActionPlan: any): ParticipantSelectedActionPlanDto | null => { if (participantSelectedActionPlan == null) { return null; } diff --git a/src/database/mappers/user.responses/participant.selected.goal.mapper.ts b/src/database/mappers/participant.responses/participant.selected.goal.mapper.ts similarity index 92% rename from src/database/mappers/user.responses/participant.selected.goal.mapper.ts rename to src/database/mappers/participant.responses/participant.selected.goal.mapper.ts index 1328824..189458d 100644 --- a/src/database/mappers/user.responses/participant.selected.goal.mapper.ts +++ b/src/database/mappers/participant.responses/participant.selected.goal.mapper.ts @@ -1,12 +1,12 @@ import { ParticipantSelectedGoalDto -} from '../../../domain.types/user.responses/participant.selected.goal.domain.types'; +} from '../../../domain.types/participant.responses/participant.selected.goal.domain.types'; /////////////////////////////////////////////////////////////////////////////////// export class ParticipantSelectedGoalMapper { - static toDto = (participantSelectedGoal: any): ParticipantSelectedGoalDto => { + static toDto = (participantSelectedGoal: any): ParticipantSelectedGoalDto | null => { if (participantSelectedGoal == null) { return null; } diff --git a/src/database/mappers/user.responses/participant.selected.priorityl.mapper.ts b/src/database/mappers/participant.responses/participant.selected.priorityl.mapper.ts similarity index 89% rename from src/database/mappers/user.responses/participant.selected.priorityl.mapper.ts rename to src/database/mappers/participant.responses/participant.selected.priorityl.mapper.ts index 2dccf21..796756e 100644 --- a/src/database/mappers/user.responses/participant.selected.priorityl.mapper.ts +++ b/src/database/mappers/participant.responses/participant.selected.priorityl.mapper.ts @@ -1,12 +1,12 @@ import { ParticipantSelectedPriorityDto -} from '../../../domain.types/user.responses/participant.selected.priority.domain.types'; +} from '../../../domain.types/participant.responses/participant.selected.priority.domain.types'; /////////////////////////////////////////////////////////////////////////////////// export class ParticipantSelectedPriorityMapper { - static toDto = (participantSelectedPriority: any): ParticipantSelectedPriorityDto => { + static toDto = (participantSelectedPriority: any): ParticipantSelectedPriorityDto | null => { if (participantSelectedPriority == null) { return null; } diff --git a/src/database/models/user.responses/participant.activity.response.model.ts b/src/database/models/participant.responses/participant.activity.response.model.ts similarity index 100% rename from src/database/models/user.responses/participant.activity.response.model.ts rename to src/database/models/participant.responses/participant.activity.response.model.ts diff --git a/src/database/models/user.responses/participant.selected.action.plan.model.ts b/src/database/models/participant.responses/participant.selected.action.plan.model.ts similarity index 100% rename from src/database/models/user.responses/participant.selected.action.plan.model.ts rename to src/database/models/participant.responses/participant.selected.action.plan.model.ts diff --git a/src/database/models/user.responses/participant.selected.goal.model.ts b/src/database/models/participant.responses/participant.selected.goal.model.ts similarity index 100% rename from src/database/models/user.responses/participant.selected.goal.model.ts rename to src/database/models/participant.responses/participant.selected.goal.model.ts diff --git a/src/database/models/user.responses/participant.selected.priority.model.ts b/src/database/models/participant.responses/participant.selected.priority.model.ts similarity index 100% rename from src/database/models/user.responses/participant.selected.priority.model.ts rename to src/database/models/participant.responses/participant.selected.priority.model.ts diff --git a/src/database/repository.services/user.responses/participant.activity.response.service.ts b/src/database/repository.services/participant.responses/participant.activity.response.service.ts similarity index 98% rename from src/database/repository.services/user.responses/participant.activity.response.service.ts rename to src/database/repository.services/participant.responses/participant.activity.response.service.ts index 822d906..bf91821 100644 --- a/src/database/repository.services/user.responses/participant.activity.response.service.ts +++ b/src/database/repository.services/participant.responses/participant.activity.response.service.ts @@ -1,6 +1,6 @@ import { ParticipantActivityResponseModel -} from '../../models/user.responses/participant.activity.response.model'; +} from '../../models/participant.responses/participant.activity.response.model'; import { ParticipantModel } from '../../models/enrollment/participant.model'; @@ -21,7 +21,7 @@ import { ParticipantActivityResponseCreateModel, ParticipantActivityResponseSearchFilters, ParticipantActivityResponseSearchResults -} from '../../../domain.types/user.responses/participant.activity.response.domain.types'; +} from '../../../domain.types/participant.responses/participant.activity.response.domain.types'; import { Op } from 'sequelize'; diff --git a/src/database/repository.services/user.responses/participant.selected.action.plan.service.ts b/src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts similarity index 97% rename from src/database/repository.services/user.responses/participant.selected.action.plan.service.ts rename to src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts index da00a1c..35eb95f 100644 --- a/src/database/repository.services/user.responses/participant.selected.action.plan.service.ts +++ b/src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts @@ -1,6 +1,6 @@ import { ParticipantSelectedActionPlanModel -} from '../../models/user.responses/participant.selected.action.plan.model'; +} from '../../models/participant.responses/participant.selected.action.plan.model'; import { ParticipantModel } from '../../models/enrollment/participant.model'; @@ -15,12 +15,12 @@ import { ParticipantSelectedActionPlanCreateModel, ParticipantSelectedActionPlanSearchFilters, ParticipantSelectedActionPlanSearchResults -} from '../../../domain.types/user.responses/participant.selected.action.plan.domain.types'; +} from '../../../domain.types/participant.responses/participant.selected.action.plan.domain.types'; import { Op } from 'sequelize'; import { EnrollmentModel } from '../../models/enrollment/enrollment.model'; -import { ParticipantSelectedGoalModel } from '../../../database/models/user.responses/participant.selected.goal.model'; +import { ParticipantSelectedGoalModel } from '../../models/participant.responses/participant.selected.goal.model'; /////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/database/repository.services/user.responses/participant.selected.goal.service.ts b/src/database/repository.services/participant.responses/participant.selected.goal.service.ts similarity index 97% rename from src/database/repository.services/user.responses/participant.selected.goal.service.ts rename to src/database/repository.services/participant.responses/participant.selected.goal.service.ts index dba4124..c6a3e40 100644 --- a/src/database/repository.services/user.responses/participant.selected.goal.service.ts +++ b/src/database/repository.services/participant.responses/participant.selected.goal.service.ts @@ -1,6 +1,6 @@ import { ParticipantSelectedGoalModel -} from '../../models/user.responses/participant.selected.goal.model'; +} from '../../models/participant.responses/participant.selected.goal.model'; import { ParticipantModel } from '../../models/enrollment/participant.model'; @@ -15,12 +15,12 @@ import { ParticipantSelectedGoalCreateModel, ParticipantSelectedGoalSearchFilters, ParticipantSelectedGoalSearchResults -} from '../../../domain.types/user.responses/participant.selected.goal.domain.types'; +} from '../../../domain.types/participant.responses/participant.selected.goal.domain.types'; import { Op } from 'sequelize'; import { EnrollmentModel } from '../../models/enrollment/enrollment.model'; -import { ParticipantSelectedPriorityModel } from '../../../database/models/user.responses/participant.selected.priority.model'; +import { ParticipantSelectedPriorityModel } from '../../models/participant.responses/participant.selected.priority.model'; /////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/database/repository.services/user.responses/participant.selected.priority.service.ts b/src/database/repository.services/participant.responses/participant.selected.priority.service.ts similarity index 97% rename from src/database/repository.services/user.responses/participant.selected.priority.service.ts rename to src/database/repository.services/participant.responses/participant.selected.priority.service.ts index c6abd31..3cd4493 100644 --- a/src/database/repository.services/user.responses/participant.selected.priority.service.ts +++ b/src/database/repository.services/participant.responses/participant.selected.priority.service.ts @@ -1,6 +1,6 @@ import { ParticipantSelectedPriorityModel -} from '../../models/user.responses/participant.selected.priority.model'; +} from '../../models/participant.responses/participant.selected.priority.model'; import { ParticipantModel } from '../../models/enrollment/participant.model'; @@ -15,7 +15,7 @@ import { ParticipantSelectedPriorityCreateModel, ParticipantSelectedPrioritySearchFilters, ParticipantSelectedPrioritySearchResults -} from '../../../domain.types/user.responses/participant.selected.priority.domain.types'; +} from '../../../domain.types/participant.responses/participant.selected.priority.domain.types'; import { Op } from 'sequelize'; diff --git a/src/domain.types/user.responses/participant.activity.response.domain.types.ts b/src/domain.types/participant.responses/participant.activity.response.domain.types.ts similarity index 100% rename from src/domain.types/user.responses/participant.activity.response.domain.types.ts rename to src/domain.types/participant.responses/participant.activity.response.domain.types.ts diff --git a/src/domain.types/user.responses/participant.selected.action.plan.domain.types.ts b/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts similarity index 95% rename from src/domain.types/user.responses/participant.selected.action.plan.domain.types.ts rename to src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts index 2fb1800..60aeeb9 100644 --- a/src/domain.types/user.responses/participant.selected.action.plan.domain.types.ts +++ b/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts @@ -29,6 +29,9 @@ export interface ParticipantSelectedActionPlanUpdateModel { ParticipantId ?: uuid; GoalId ?: uuid; CareplanId ?: number; + AssetId ?: number; + AssetType ?: string; + AssetCode ?: string; AdditionalDetails ?: string; StartDate ?: Date; EndDate ?: Date; diff --git a/src/domain.types/user.responses/participant.selected.goal.domain.types.ts b/src/domain.types/participant.responses/participant.selected.goal.domain.types.ts similarity index 95% rename from src/domain.types/user.responses/participant.selected.goal.domain.types.ts rename to src/domain.types/participant.responses/participant.selected.goal.domain.types.ts index 410327f..87546cd 100644 --- a/src/domain.types/user.responses/participant.selected.goal.domain.types.ts +++ b/src/domain.types/participant.responses/participant.selected.goal.domain.types.ts @@ -29,6 +29,9 @@ export interface ParticipantSelectedGoalUpdateModel { ParticipantId ?: uuid; SelectedPriorityId ?: uuid; CareplanId ?: number; + AssetId ?: number; + AssetType ?: string; + AssetCode ?: string; AdditionalDetails ?: string; StartDate ?: Date; EndDate ?: Date; diff --git a/src/domain.types/user.responses/participant.selected.priority.domain.types.ts b/src/domain.types/participant.responses/participant.selected.priority.domain.types.ts similarity index 94% rename from src/domain.types/user.responses/participant.selected.priority.domain.types.ts rename to src/domain.types/participant.responses/participant.selected.priority.domain.types.ts index 8d2d1d5..5a4960b 100644 --- a/src/domain.types/user.responses/participant.selected.priority.domain.types.ts +++ b/src/domain.types/participant.responses/participant.selected.priority.domain.types.ts @@ -24,6 +24,9 @@ export interface ParticipantSelectedPriorityUpdateModel { EnrollmentId ?: uuid; ParticipantId ?: uuid; CareplanId ?: number; + AssetId ?: number; + AssetType ?: string; + AssetCode ?: string; StartDate ?: Date; } diff --git a/src/startup/router.ts b/src/startup/router.ts index 0bf9edc..3eb4df7 100644 --- a/src/startup/router.ts +++ b/src/startup/router.ts @@ -34,10 +34,10 @@ import { register as registerEnrollmentScheduleRoutes } from "../api/enrollment/ import { register as registerFileREsourceRoutes } from "../api/file.resource/file.resource.routes"; import { register as registerTypesRoutes } from "../api/types/types.routes"; import { register as registerUserRoutes } from "../api/user/user.routes"; -import { register as registerParticipantActivityResponseRoutes } from "../api/user.responses/participant.activity.response/participant.activity.response.routes"; -import { register as registerParticipantSelectedActionPlanRoutes } from "../api/user.responses/participant.selected.action.plan/participant.selected.action.plan.routes"; -import { register as registerParticipantSelectedGoalRoutes } from "../api/user.responses/participant.selected.goal/participant.selected.goal.routes"; -import { register as registerParticipantSelectedPriorityRoutes } from "../api/user.responses/participant.selected.priority/participant.selected.priority.routes"; +import { register as registerParticipantActivityResponseRoutes } from "../api/participant.responses/participant.activity.response/participant.activity.response.routes"; +import { register as registerParticipantSelectedActionPlanRoutes } from "../api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.routes"; +import { register as registerParticipantSelectedGoalRoutes } from "../api/participant.responses/participant.selected.goal/participant.selected.goal.routes"; +import { register as registerParticipantSelectedPriorityRoutes } from "../api/participant.responses/participant.selected.priority/participant.selected.priority.routes"; import { register as registerUserRoleRoutes } from "../api/user.role/user.role.routes"; import { register as registerParticipantRoutes } from "../api/enrollment/participant/participant.routes"; From ba99962a3673138a042b1865b38069509015c9c5 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Sun, 31 Jul 2022 11:45:40 +0530 Subject: [PATCH 032/169] Added asset helper and asset ingo in activity and tasks. --- ...eplan.service.crud.postman_collection.json | 6 +- ...n.service.workflow.postman_collection.json | 14 +- .../careplan.activity.controller.delegate.ts | 12 +- .../careplan.activity.controller.ts | 10 +- .../enrollment.controller.delegate.ts | 2 + .../assets/asset.helper.ts | 124 ++++++++++++++++++ .../careplan/careplan.activity.service.ts | 33 ++--- .../enrollment/enrollment.task.service.ts | 39 +++--- tests/test-suite/careplan.schedule.test.js | 12 +- 9 files changed, 193 insertions(+), 59 deletions(-) create mode 100644 src/database/repository.services/assets/asset.helper.ts diff --git a/postman/careplan.service.crud.postman_collection.json b/postman/careplan.service.crud.postman_collection.json index 64f7fde..fa0f908 100644 --- a/postman/careplan.service.crud.postman_collection.json +++ b/postman/careplan.service.crud.postman_collection.json @@ -1898,7 +1898,7 @@ ] }, { - "name": "Careplan schedule", + "name": "Careplan activity", "item": [ { "name": "Create", @@ -1918,7 +1918,7 @@ "\r", "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", "\r", - "pm.test('New careplan schedule record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", + "pm.test('New careplan activity record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" ] } @@ -2052,7 +2052,7 @@ "\r", "pm.test('Request is successfull', function () {\r pm.response.to.have.status(200);\r var jsonRes = pm.response.json();\r pm.expect(jsonRes.Status).to.eql('success');\r});\r", "\r", - "pm.test('New careplan schedule record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", + "pm.test('New careplan activity record is created', function () {\r var jsonRes = pm.response.json();\r //pm.expect(jsonRes.Data).to.have.property('xyz');\r //let expectedXyz = ;\r //pm.expect(jsonRes.Data.xyz).equals(expectedXyz);\r});\r", "\r" ] } diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index a79e2c0..91d7dcc 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -14301,7 +14301,7 @@ ] }, { - "name": "Careplan schedule", + "name": "Careplan activity", "item": [ { "name": "Create", @@ -14325,7 +14325,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New careplan schedule record is created', function () {\r", + "pm.test('New careplan activity record is created', function () {\r", "\r", " var expectedAssetId = pm.environment.get(\"ACTION_PLAN_ID\");\r", " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", @@ -14395,7 +14395,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan schedule record is retrived', function () {\r", + "pm.test('Careplan activity record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", @@ -14453,7 +14453,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan schedule record is retrived', function () {\r", + "pm.test('Careplan activity record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});" @@ -14528,7 +14528,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan schedule record is updated', function () {\r", + "pm.test('Careplan activity record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", @@ -14591,7 +14591,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('Careplan schedule record is deleted', function () {\r", + "pm.test('Careplan activity record is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", @@ -14650,7 +14650,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New careplan schedule record is created', function () {\r", + "pm.test('New careplan activity record is created', function () {\r", "\r", " var expectedAssetId = pm.environment.get(\"ACTION_PLAN_ID\");\r", " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", diff --git a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts index b25f15b..0ce7407 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts @@ -42,7 +42,7 @@ export class CareplanActivityControllerDelegate { var createModel: CareplanActivityCreateModel = this.getCreateModel(requestBody); const record = await this._service.create(createModel); if (record === null) { - throw new ApiError('Unable to create careplan schedule!', 400); + throw new ApiError('Unable to create careplan activity!', 400); } return this.getEnrichedDto(record); } @@ -50,7 +50,7 @@ export class CareplanActivityControllerDelegate { getById = async (id: uuid) => { const record = await this._service.getById(id); if (record === null) { - ErrorHandler.throwNotFoundError('Careplan schedule with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Careplan activity with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); } @@ -68,12 +68,12 @@ export class CareplanActivityControllerDelegate { await validator.validateUpdateRequest(requestBody); const record = await this._service.getById(id); if (record === null) { - ErrorHandler.throwNotFoundError('Careplan schedule with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Careplan activity with id ' + id.toString() + ' cannot be found!'); } const updateModel: CareplanActivityUpdateModel = this.getUpdateModel(requestBody); const updated = await this._service.update(id, updateModel); if (updated == null) { - throw new ApiError('Unable to update careplan schedule!', 400); + throw new ApiError('Unable to update careplan activity!', 400); } return this.getEnrichedDto(updated); } @@ -81,7 +81,7 @@ export class CareplanActivityControllerDelegate { delete = async (id: uuid) => { const record = await this._service.getById(id); if (record == null) { - ErrorHandler.throwNotFoundError('Careplan schedule with id ' + id.toString() + ' cannot be found!'); + ErrorHandler.throwNotFoundError('Careplan activity with id ' + id.toString() + ' cannot be found!'); } const careplanActivityDeleted: boolean = await this._service.delete(id); return { @@ -170,6 +170,7 @@ export class CareplanActivityControllerDelegate { AssetId : record.AssetId, AssetType : record.AssetType, CareplanId : record.CareplanId, + Asset : record.Asset, Day : record.Day, TimeSlot : record.TimeSlot, IsRegistrationActivity : record.IsRegistrationActivity @@ -185,6 +186,7 @@ export class CareplanActivityControllerDelegate { AssetId : record.AssetId, AssetType : record.AssetType, CareplanId : record.CareplanId, + Asset : record.Asset, Day : record.Day, TimeSlot : record.TimeSlot, IsRegistrationActivity : record.IsRegistrationActivity diff --git a/src/api/careplan/careplan.activity/careplan.activity.controller.ts b/src/api/careplan/careplan.activity/careplan.activity.controller.ts index 2e03c85..34f1651 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.controller.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.controller.ts @@ -28,7 +28,7 @@ export class CareplanActivityController extends BaseController { try { await this.authorize('CareplanActivity.Create', request, response); const record = await this._delegate.create(request.body); - const message = 'Careplan schedule added successfully!'; + const message = 'Careplan activity added successfully!'; ResponseHandler.success(request, response, message, 201, record); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -39,7 +39,7 @@ export class CareplanActivityController extends BaseController { try { await this.authorize('CareplanActivity.GetById', request, response); const record = await this._delegate.getById(request.params.id); - const message = 'Careplan schedule retrieved successfully!'; + const message = 'Careplan activity retrieved successfully!'; ResponseHandler.success(request, response, message, 200, record); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -50,7 +50,7 @@ export class CareplanActivityController extends BaseController { try { await this.authorize('CareplanActivity.Search', request, response); const searchResults = await this._delegate.search(request.query); - const message = 'Careplan schedule records retrieved successfully!'; + const message = 'Careplan activity records retrieved successfully!'; ResponseHandler.success(request, response, message, 200, searchResults); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -61,7 +61,7 @@ export class CareplanActivityController extends BaseController { try { await this.authorize('CareplanActivity.Update', request, response); const updatedRecord = await this._delegate.update(request.params.id, request.body); - const message = 'Careplan schedule updated successfully!'; + const message = 'Careplan activity updated successfully!'; ResponseHandler.success(request, response, message, 200, updatedRecord); } catch (error) { ResponseHandler.handleError(request, response, error); @@ -72,7 +72,7 @@ export class CareplanActivityController extends BaseController { try { await this.authorize('CareplanActivity.Delete', request, response); const result = await this._delegate.delete(request.params.id); - const message = 'Careplan schedule deleted successfully!'; + const message = 'Careplan activity deleted successfully!'; ResponseHandler.success(request, response, message, 200, result); } catch (error) { ResponseHandler.handleError(request, response, error); diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index c0410bc..be71599 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -279,6 +279,7 @@ export class EnrollmentControllerDelegate { id : record.id, CareplanId : record.CareplanId, ParticipantId : record.ParticipantId, + Asset : record.Asset, StartDate : record.StartDate, EndDate : record.EndDate, EnrollmentDate : record.EnrollmentDate, @@ -294,6 +295,7 @@ export class EnrollmentControllerDelegate { id : record.id, CareplanId : record.CareplanId, ParticipantId : record.ParticipantId, + Asset : record.Asset, StartDate : record.StartDate, EndDate : record.EndDate, EnrollmentDate : record.EnrollmentDate, diff --git a/src/database/repository.services/assets/asset.helper.ts b/src/database/repository.services/assets/asset.helper.ts new file mode 100644 index 0000000..760de58 --- /dev/null +++ b/src/database/repository.services/assets/asset.helper.ts @@ -0,0 +1,124 @@ +import { ActionPlanModel } from '../../models/assets/action.plan.model'; +import { AnimationModel } from '../../models/assets/animation.model'; +import { AppointmentModel } from '../../models/assets/appointment.model'; +import { ArticleModel } from '../../models/assets/article.model'; +import { AssessmentModel } from '../../models/assets/assessment.model'; +import { AudioModel } from '../../models/assets/audio.model'; +import { BiometricsModel } from '../../models/assets/biometrics.model'; +import { ChallengeModel } from '../../models/assets/challenge.model'; +import { CheckupModel } from '../../models/assets/checkup.model'; +import { ConsultationModel } from '../../models/assets/consultation.model'; +import { ExerciseModel } from '../../models/assets/exercise.model'; +import { GoalModel } from '../../models/assets/goal.model'; +import { InfographicsModel } from '../../models/assets/infographics.model'; +import { MedicationModel } from '../../models/assets/medication.model'; +import { MeditationModel } from '../../models/assets/meditation.model'; +import { MessageModel } from '../../models/assets/message.model'; +import { NutritionModel } from '../../models/assets/nutrition.model'; +import { PhysiotherapyModel } from '../../models/assets/physiotherapy.model'; +import { PriorityModel } from '../../models/assets/priority.model'; +import { ReflectionModel } from '../../models/assets/reflection.model'; +import { ReminderModel } from '../../models/assets/reminder.model'; +import { VideoModel } from '../../models/assets/video.model'; +import { WebLinkModel } from '../../models/assets/web.link.model'; +import { WebNewsfeedModel } from '../../models/assets/web.newsfeed.model'; +import { WordPowerModel } from '../../models/assets/word.power.model'; +import { ErrorHandler } from '../../../common/error.handler'; +import { uuid } from '../../../domain.types/miscellaneous/system.types'; +import { AssetType } from '../../../domain.types/assets/asset.types'; + +/////////////////////////////////////////////////////////////////////////////////////////////// + +export class AssetHelper { + + //#region Publics + + public static getAsset = async (id: uuid, assetType: AssetType) => { + try { + + switch (assetType) { + case AssetType.ActionPlan: { + return await ActionPlanModel.Model.findByPk(id); + } + case AssetType.Animation: { + return await AnimationModel.Model.findByPk(id); + } + case AssetType.Appointment: { + return await AppointmentModel.Model.findByPk(id); + } + case AssetType.Article: { + return await ArticleModel.Model.findByPk(id); + } + case AssetType.Assessment: { + return await AssessmentModel.Model.findByPk(id); + } + case AssetType.Audio: { + return await AudioModel.Model.findByPk(id); + } + case AssetType.Biometrics: { + return await BiometricsModel.Model.findByPk(id); + } + case AssetType.Challenge: { + return await ChallengeModel.Model.findByPk(id); + } + case AssetType.Checkup: { + return await CheckupModel.Model.findByPk(id); + } + case AssetType.Consultation: { + return await ConsultationModel.Model.findByPk(id); + } + case AssetType.Exercise: { + return await ExerciseModel.Model.findByPk(id); + } + case AssetType.Goal: { + return await GoalModel.Model.findByPk(id); + } + case AssetType.Infographics: { + return await InfographicsModel.Model.findByPk(id); + } + case AssetType.Medication: { + return await MedicationModel.Model.findByPk(id); + } + case AssetType.Meditation: { + return await MeditationModel.Model.findByPk(id); + } + case AssetType.Message: { + return await MessageModel.Model.findByPk(id); + } + case AssetType.Nutrition: { + return await NutritionModel.Model.findByPk(id); + } + case AssetType.Physiotherapy: { + return await PhysiotherapyModel.Model.findByPk(id); + } + case AssetType.Priority: { + return await PriorityModel.Model.findByPk(id); + } + case AssetType.Reflection: { + return await ReflectionModel.Model.findByPk(id); + } + case AssetType.Reminder: { + return await ReminderModel.Model.findByPk(id); + } + case AssetType.Video: { + return await VideoModel.Model.findByPk(id); + } + case AssetType.WebLink: { + return await WebLinkModel.Model.findByPk(id); + } + case AssetType.WebNewsfeed: { + return await WebNewsfeedModel.Model.findByPk(id); + } + case AssetType.WordPower: { + return await WordPowerModel.Model.findByPk(id); + } + default: { + ErrorHandler.throwNotFoundError(`Cannot find the asset type!`); + } + } + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + +} diff --git a/src/database/repository.services/careplan/careplan.activity.service.ts b/src/database/repository.services/careplan/careplan.activity.service.ts index 8f85351..ae88c7f 100644 --- a/src/database/repository.services/careplan/careplan.activity.service.ts +++ b/src/database/repository.services/careplan/careplan.activity.service.ts @@ -14,6 +14,7 @@ import { CareplanActivitySearchResults } from '../../../domain.types/careplan/careplan.activity.domain.types'; import { uuid } from '../../../domain.types/miscellaneous/system.types'; +import { AssetHelper } from '../assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -34,28 +35,30 @@ export class CareplanActivityService { var record = await this.CareplanActivity.create(createModel); return await this.getById(record.id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to create careplan schedule!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to create careplan activity!', error); } } getById = async (id) => { try { - const record = await this.CareplanActivity.findOne({ + var record = await this.CareplanActivity.findOne({ where : { id : id }, - include : [{ - model : this.Careplan, - required : false, - as : 'Careplan', - //through: { attributes: [] } - }, - + include : [ + { + model : this.Careplan, + required : false, + as : 'Careplan', + //through: { attributes: [] } + }, ] }); + const asset = await AssetHelper.getAsset(record.AssetId, record.AssetType); + record.Asset = asset; return record; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve careplan schedule!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve careplan activity!', error); } } @@ -85,7 +88,7 @@ export class CareplanActivityService { const record = await this.CareplanActivity.findByPk(id); return record !== null; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of careplan schedule!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of careplan activity!', error); } } @@ -116,7 +119,7 @@ export class CareplanActivityService { return searchResults; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to search careplan schedule records!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to search careplan activity records!', error); } } @@ -129,12 +132,12 @@ export class CareplanActivityService { } }); if (res.length !== 1) { - throw new Error('Unable to update careplan schedule!'); + throw new Error('Unable to update careplan activity!'); } } return await this.getById(id); } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to update careplan schedule!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to update careplan activity!', error); } } @@ -147,7 +150,7 @@ export class CareplanActivityService { }); return result === 1; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to delete careplan schedule!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to delete careplan activity!', error); } } diff --git a/src/database/repository.services/enrollment/enrollment.task.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts index f726b4a..bd00fec 100644 --- a/src/database/repository.services/enrollment/enrollment.task.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -22,6 +22,7 @@ import { EnrollmentTaskSearchFilters, EnrollmentTaskSearchResults } from '../../../domain.types/enrollment/enrollment.task.domain.types'; +import { AssetHelper } from '../assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -58,30 +59,32 @@ export class EnrollmentTaskService { where : { id : id }, - include : [{ - model : this.Enrollment, - required : false, - as : 'Enrollment', + include : [ + { + model : this.Enrollment, + required : false, + as : 'Enrollment', //through: { attributes: [] } - }, { - model : this.Participant, - required : false, - as : 'Participant', + }, { + model : this.Participant, + required : false, + as : 'Participant', //through: { attributes: [] } - }, { - model : this.CareplanActivity, - required : false, - as : 'CareplanActivity', + }, { + model : this.CareplanActivity, + required : false, + as : 'CareplanActivity', //through: { attributes: [] } - }, { - model : this.Careplan, - required : false, - as : 'Careplan', + }, { + model : this.Careplan, + required : false, + as : 'Careplan', //through: { attributes: [] } - }, - + }, ] }); + const asset = await AssetHelper.getAsset(record.AssetId, record.AssetType); + record.Asset = asset; return record; } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve enrollment schedule!', error); diff --git a/tests/test-suite/careplan.schedule.test.js b/tests/test-suite/careplan.schedule.test.js index 5f6d67b..f3e769a 100644 --- a/tests/test-suite/careplan.schedule.test.js +++ b/tests/test-suite/careplan.schedule.test.js @@ -7,11 +7,11 @@ const infra = require('../index'); /////////////////////////////////////////////////////////////////////////// -describe('Careplan schedule tests', function() { +describe('Careplan activity tests', function() { var agent = request.agent(infra.app); - it('Create careplan schedule', function(done) { + it('Create careplan activity', function(done) { loadCareplanActivityCreateModel(); const createModel = TestCache.CareplanActivityCreateModel; agent @@ -40,7 +40,7 @@ describe('Careplan schedule tests', function() { .expect(201, done); }); - it('Get careplan schedule by id', function(done) { + it('Get careplan activity by id', function(done) { const id = `${TestCache.CAREPLAN_SCHEDULE_ID}` agent .get(`/api/v1/careplan-schedules/${TestCache.CAREPLAN_SCHEDULE_ID}`) @@ -65,7 +65,7 @@ describe('Careplan schedule tests', function() { .expect(200, done); }); - it('Search careplan schedule records', function(done) { + it('Search careplan activity records', function(done) { loadCareplanActivityQueryString(); const queryString = TestCache.CareplanActivityQueryString; agent @@ -86,7 +86,7 @@ describe('Careplan schedule tests', function() { .expect(200, done); }); - it('Update careplan schedule', function(done) { + it('Update careplan activity', function(done) { loadCareplanActivityUpdateModel(); const updateModel = TestCache.CareplanActivityUpdateModel; const id = `${TestCache.CAREPLAN_SCHEDULE_ID}` @@ -114,7 +114,7 @@ describe('Careplan schedule tests', function() { .expect(200, done); }); - it('Delete careplan schedule', function(done) { + it('Delete careplan activity', function(done) { const id = `${TestCache.CAREPLAN_SCHEDULE_ID}` //Delete From 48de4da71aacbba103dc5bdeeace6b0588c44795 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Sun, 31 Jul 2022 11:59:45 +0530 Subject: [PATCH 033/169] Fixed compilation issues --- .../participant.activity.response.mapper.ts | 20 +++++++++---------- .../user.activity.response.mapper.ts | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/database/mappers/participant.responses/participant.activity.response.mapper.ts b/src/database/mappers/participant.responses/participant.activity.response.mapper.ts index 404e3f6..8a67c5a 100644 --- a/src/database/mappers/participant.responses/participant.activity.response.mapper.ts +++ b/src/database/mappers/participant.responses/participant.activity.response.mapper.ts @@ -11,16 +11,16 @@ export class ParticipantActivityResponseMapper { return null; } const dto: ParticipantActivityResponseDto = { - id : participantActivityResponse.id, - ParticipantId : participantActivityResponse.ParticipantId, - EnrollmentScheduleId : participantActivityResponse.EnrollmentScheduleId, - CareplanScheduleId : participantActivityResponse.CareplanScheduleId, - CareplanId : participantActivityResponse.CareplanId, - AssetId : participantActivityResponse.AssetId, - AssetType : participantActivityResponse.AssetType, - Response : participantActivityResponse.Response, - TimeResponded : participantActivityResponse.TimeResponded, - ProgressStatus : participantActivityResponse.ProgressStatus, + id : participantActivityResponse.id, + ParticipantId : participantActivityResponse.ParticipantId, + EnrollmentTaskId : participantActivityResponse.EnrollmentTaskId, + CareplanActivityId : participantActivityResponse.CareplanActivityId, + CareplanId : participantActivityResponse.CareplanId, + AssetId : participantActivityResponse.AssetId, + AssetType : participantActivityResponse.AssetType, + Response : participantActivityResponse.Response, + TimeResponded : participantActivityResponse.TimeResponded, + ProgressStatus : participantActivityResponse.ProgressStatus, }; return dto; diff --git a/src/database/mappers/user.responses/user.activity.response.mapper.ts b/src/database/mappers/user.responses/user.activity.response.mapper.ts index 5a4b1c8..bafb027 100644 --- a/src/database/mappers/user.responses/user.activity.response.mapper.ts +++ b/src/database/mappers/user.responses/user.activity.response.mapper.ts @@ -1,16 +1,16 @@ import { - UserActivityResponseDto -} from '../../../domain.types/user.responses/user.activity.response.domain.types'; + ParticipantActivityResponseDto +} from '../../../domain.types/participant.responses/participant.activity.response.domain.types'; /////////////////////////////////////////////////////////////////////////////////// export class UserActivityResponseMapper { - static toDto = (userActivityResponse: any): UserActivityResponseDto => { + static toDto = (userActivityResponse: any): ParticipantActivityResponseDto => { if (userActivityResponse == null) { return null; } - const dto: UserActivityResponseDto = { + const dto: ParticipantActivityResponseDto = { id : userActivityResponse.id, ParticipantId : userActivityResponse.ParticipantId, EnrollmentTaskId : userActivityResponse.EnrollmentTaskId, From e16fca64eb3c9c95f9f2b99b80411fcf22de2828 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Sun, 31 Jul 2022 23:41:09 +0530 Subject: [PATCH 034/169] Multiple fixes to assets and enrollment tasks. --- ...n.service.workflow.postman_collection.json | 2658 ++++++++++------- .../action.plan.controller.delegate.ts | 4 +- .../animation.controller.delegate.ts | 4 +- .../appointment.controller.delegate.ts | 4 +- .../article/article.controller.delegate.ts | 4 +- .../assessment.controller.delegate.ts | 4 +- .../assets/audio/audio.controller.delegate.ts | 4 +- .../biometrics.controller.delegate.ts | 4 +- .../challenge.controller.delegate.ts | 4 +- .../checkup/checkup.controller.delegate.ts | 4 +- .../consultation.controller.delegate.ts | 4 +- .../exercise/exercise.controller.delegate.ts | 4 +- .../assets/goal/goal.controller.delegate.ts | 4 +- .../infographics.controller.delegate.ts | 4 +- .../medication.controller.delegate.ts | 5 +- .../meditation.controller.delegate.ts | 4 +- .../message/message.controller.delegate.ts | 4 +- .../nutrition.controller.delegate.ts | 4 +- .../physiotherapy.controller.delegate.ts | 4 +- .../priority/priority.controller.delegate.ts | 4 +- .../reflection.controller.delegate.ts | 4 +- .../reminder/reminder.controller.delegate.ts | 4 +- .../assets/video/video.controller.delegate.ts | 4 +- .../web.link/web.link.controller.delegate.ts | 4 +- .../web.newsfeed.controller.delegate.ts | 4 +- .../word.power.controller.delegate.ts | 20 +- .../assets/word.power/word.power.validator.ts | 6 +- .../enrollment.task.controller.delegate.ts | 3 + .../enrollment.controller.delegate.ts | 6 +- src/common/helper.ts | 4 + .../mappers/assets/word.power.mapper.ts | 20 +- .../models/assets/action.plan.model.ts | 8 +- src/database/models/assets/animation.model.ts | 8 +- .../models/assets/appointment.model.ts | 8 +- src/database/models/assets/article.model.ts | 8 +- .../models/assets/assessment.model.ts | 8 +- src/database/models/assets/audio.model.ts | 8 +- .../models/assets/biometrics.model.ts | 8 +- src/database/models/assets/challenge.model.ts | 8 +- src/database/models/assets/checkup.model.ts | 14 +- .../models/assets/consultation.model.ts | 8 +- src/database/models/assets/exercise.model.ts | 8 +- src/database/models/assets/goal.model.ts | 8 +- .../models/assets/infographics.model.ts | 8 +- .../models/assets/medication.model.ts | 8 +- .../models/assets/meditation.model.ts | 8 +- src/database/models/assets/message.model.ts | 8 +- src/database/models/assets/nutrition.model.ts | 8 +- .../models/assets/physiotherapy.model.ts | 8 +- src/database/models/assets/priority.model.ts | 8 +- .../models/assets/reflection.model.ts | 8 +- src/database/models/assets/reminder.model.ts | 8 +- src/database/models/assets/video.model.ts | 8 +- src/database/models/assets/web.link.model.ts | 8 +- .../models/assets/web.newsfeed.model.ts | 8 +- .../models/assets/word.power.model.ts | 10 +- .../careplan/careplan.activity.model.ts | 2 +- .../models/enrollment/enrollment.model.ts | 11 +- .../assets/asset.helper.ts | 42 +- .../assets/word.power.service.ts | 6 +- .../enrollment/enrollment.task.service.ts | 9 +- src/domain.types/assets/asset.types.ts | 28 + .../assets/word.power.domain.types.ts | 60 +- .../enrollment.task.domain.types.ts | 1 + tests/test-suite/word.power.test.js | 22 +- 65 files changed, 2001 insertions(+), 1202 deletions(-) diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index 2050bfd..c4a35ae 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -1,9 +1,9 @@ { "info": { - "_postman_id": "22cb4975-3599-4b7a-857c-f9c752694656", + "_postman_id": "4a2978a1-594c-4f4a-af37-fbe5583ba546", "name": "careplan.service.workflow", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "15905052" + "_exporter_id": "5510218" }, "item": [ { @@ -1684,7 +1684,7 @@ "exec": [ "try {\r", " var jsonRes = pm.response.json();\r", - " pm.environment.set(\"API_KEY\", respData.Data.ApiKeyDetails.ApiKey);\r", + " pm.environment.set(\"API_KEY\", jsonRes.Data.ApiKeyDetails.ApiKey);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -2653,7 +2653,6 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", @@ -2681,7 +2680,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Exercise\",\r\n \"Physical activity\"\r\n ]\r\n}" + "raw": "{\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Exercise\",\r\n \"Physical activity\"\r\n ]\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/action-plans", @@ -2702,7 +2701,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -2722,14 +2720,14 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -3001,8 +2999,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ACTIONPLAN-HF-1');\r", + "\r", " pm.expect(jsonRes.Data.Name).equals('Join the gym');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('ActionPlan');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", @@ -3030,7 +3027,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ACTIONPLAN-HF-1\",\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Exercise\",\r\n \"Physical activity\"\r\n ]\r\n}" + "raw": "{\r\n \"Name\": \"Join the gym\",\r\n \"Description\": \"Studies confirm that working out with a partner significantly increases time spent exercising. A study by the Society of Behavioral Medicine showed that working with a partner, especially in a team format, improved performance, doubling the workout time of those who exercised alone.\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Exercise\",\r\n \"Physical activity\"\r\n ]\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/action-plans", @@ -3060,7 +3057,6 @@ "try {\r", " var respData = pm.response.json();\r", " pm.environment.set(\"ANIMATION_ID\", respData.Data.id);\r", - " pm.environment.set(\"ASSET_CODE\", respData.Data.AssetCode);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -3084,7 +3080,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", @@ -3110,7 +3105,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/animations", @@ -3131,7 +3126,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -3151,13 +3145,13 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -3284,7 +3278,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -3310,7 +3303,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -3330,7 +3324,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Tags\": [\r\n \"Maternity\",\r\n \"Neo-natal-care\"\r\n ],\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/animations/{{ANIMATION_ID}}", @@ -3406,7 +3400,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3433,12 +3426,12 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ANIMATION-MT-3');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", " " - ] + ], + "type": "text/javascript" } } ], @@ -3458,7 +3451,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ANIMATION-MT-3\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/animations", @@ -3484,7 +3477,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3511,8 +3503,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Name).equals('Meet your doctor');\r", " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", @@ -3520,7 +3511,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -3540,7 +3532,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Meet your doctor\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/appointments", @@ -3561,7 +3553,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -3582,8 +3573,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Name).equals('Meet your doctor');\r", " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", @@ -3591,7 +3581,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -3854,7 +3845,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3881,7 +3871,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('APPOINTMENT-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AppointmentType).equals('Doctor');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Appointment');\r", @@ -3889,7 +3878,8 @@ " \r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -3909,7 +3899,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"APPOINTMENT-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"AppointmentType\": \"Doctor\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/appointments", @@ -3935,7 +3925,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -3962,13 +3951,13 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -3988,7 +3977,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/articles", @@ -4009,7 +3998,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -4029,13 +4017,13 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -4284,7 +4272,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4311,13 +4298,13 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ARTICLE-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -4337,7 +4324,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ARTICLE-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Summary\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/articles", @@ -4363,7 +4350,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4390,15 +4376,15 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + "\r", + " pm.expect(jsonRes.Data.Name).equals('Preliminary Maternity Assessment');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -4418,7 +4404,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Preliminary Maternity Assessment\",\r\n \"Description\": \"This is preliminary health assessment of the mother. Basic information is collected as a part of this questionaire.\",\r\n \"Template\": \"Preliminary Maternity Assessment\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/assessments", @@ -4439,7 +4425,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -4459,14 +4444,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Name).equals('Preliminary Maternity Assessment');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -4717,7 +4702,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4744,14 +4728,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('ASSESSMENT-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Assessment');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -4771,7 +4755,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"ASSESSMENT-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Template\": \"{}\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/assessments", @@ -4797,7 +4781,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -4824,13 +4807,13 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -4850,7 +4833,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/audio", @@ -4871,7 +4854,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -4891,13 +4873,13 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -5160,7 +5142,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5187,13 +5168,13 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('AUDIO-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -5213,7 +5194,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"AUDIO-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/audio", @@ -5266,8 +5247,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Name).equals('Blood Pressure');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", @@ -5297,7 +5277,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Blood Pressure\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/biometrics", @@ -5318,7 +5298,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -5339,8 +5318,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Name).equals('Blood Pressure');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", @@ -5349,7 +5327,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -5636,8 +5615,7 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('BIOMETRICS-HF-12');\r", - " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Name).equals('Blood Pressure');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Biometrics');\r", " pm.expect(jsonRes.Data.BiometricsType).equals('Blood pressure');\r", " pm.expect(jsonRes.Data.MeasurementUnit).equals('mmHg');\r", @@ -5667,7 +5645,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"BIOMETRICS-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"BiometricsType\": \"Blood pressure\",\r\n \"MeasurementUnit\": \"mmHg\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/biometrics", @@ -5693,7 +5671,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -5719,14 +5696,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -5746,7 +5723,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/challenges", @@ -5767,7 +5744,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -5785,14 +5761,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -5913,7 +5889,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -5938,7 +5913,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -5958,7 +5934,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\"Maternity\", \"Neo-natal-care\"],\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Tags\": [\r\n \"Maternity\",\r\n \"Neo-natal-care\"\r\n ],\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/challenges/{{CHALLENGE_ID}}", @@ -6033,7 +6009,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6059,14 +6034,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHALLENGE-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Challenge');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -6086,7 +6061,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHALLENGE-HF-12\",\r\n\"Name\": \"Nutrition\",\r\n\"Description\": \".....\",\r\n\"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/challenges", @@ -6112,7 +6087,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6138,14 +6112,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -6165,7 +6139,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/checkups", @@ -6186,7 +6160,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -6204,14 +6177,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -6452,7 +6425,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6478,14 +6450,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CHECKUP-HF-12');\r", " pm.expect(jsonRes.Data.Name).equals('Chest X-ray');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Checkup');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -6505,7 +6477,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CHECKUP-HF-12\",\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Chest X-ray\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/checkups", @@ -6531,7 +6503,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6558,7 +6529,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", @@ -6566,7 +6536,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -6586,7 +6557,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/consultations", @@ -6607,7 +6578,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -6626,7 +6596,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", @@ -6634,7 +6603,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -6882,7 +6852,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6909,7 +6878,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('CONSULTATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.ConsultationType).equals('Tele-consultation');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Consultation');\r", @@ -6917,7 +6885,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -6937,7 +6906,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"CONSULTATION-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ConsultationType\": \"Tele-consultation\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/consultations", @@ -6963,7 +6932,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -6992,7 +6960,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", @@ -7002,7 +6969,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -7022,7 +6990,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/exercises", @@ -7043,7 +7011,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -7064,7 +7031,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", @@ -7074,7 +7040,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -7336,7 +7303,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -7365,7 +7331,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('EXERCISE-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.ExerciseType).equals('Aerobic');\r", " pm.expect(jsonRes.Data.IntensityLevel).equals('Moderate');\r", @@ -7375,7 +7340,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -7395,7 +7361,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"EXERCISE-CC-2\",\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \".....\",\r\n \"ExerciseType\": \"Aerobic\",\r\n \"IntensityLevel\": \"Moderate\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/exercises", @@ -7421,7 +7387,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -7447,14 +7412,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -7474,7 +7439,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\", \r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/goals", @@ -7495,7 +7460,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -7513,14 +7477,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -7761,7 +7725,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -7787,14 +7750,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('GOAL-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Goal');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -7814,7 +7777,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"GOAL-CC-2\",\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/goals", @@ -7865,7 +7828,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", @@ -7892,7 +7854,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/infographics", @@ -7930,7 +7892,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", @@ -8207,7 +8168,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('INFOGRAPHICS-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", @@ -8234,7 +8194,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"INFOGRAPHICS-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/infographics", @@ -8260,7 +8220,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -8286,14 +8245,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -8313,7 +8272,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/medications", @@ -8334,7 +8293,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -8352,14 +8310,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -8600,7 +8558,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -8626,14 +8583,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDICATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take your medication');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Medication');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -8653,7 +8610,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDICATION-CC-2\",\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Take your medication\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/medications", @@ -8679,7 +8636,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -8707,7 +8663,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", @@ -8716,7 +8671,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -8736,7 +8692,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/meditations", @@ -8757,7 +8713,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -8777,7 +8732,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", @@ -8786,7 +8740,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -9041,7 +8996,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -9069,7 +9023,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MEDITATION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Mindfulness meditation');\r", " pm.expect(jsonRes.Data.MeditationType).equals('Mindfulness');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", @@ -9078,7 +9031,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -9098,7 +9052,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MEDITATION-CC-2\",\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Mindfulness meditation\",\r\n \"Description\": \".....\",\r\n \"MeditationType\": \"Mindfulness\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/meditations", @@ -9124,7 +9078,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -9152,14 +9105,14 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", " pm.expect(jsonRes.Data.Category).equals('Educational');\r", " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -9179,7 +9132,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/messages", @@ -9219,7 +9172,6 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", " pm.expect(jsonRes.Data.Category).equals('Educational');\r", " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", @@ -9503,7 +9455,6 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Url');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('MESSAGE-CC-1');\r", " pm.expect(jsonRes.Data.Category).equals('Educational');\r", " pm.expect(jsonRes.Data.MessageType).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", @@ -9531,7 +9482,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"MESSAGE-CC-1\",\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Scheduling at the start of the day makes execution simpler!\",\r\n \"Description\": \"1) Write out your plan every day. 2) Plan at the same time every day. 3) Brainstorm a quick to-do list. 4) Divide your task list between Work and Life. ...\",\r\n \"MessageType\": \"Educational\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/messages", @@ -9557,7 +9508,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -9583,14 +9533,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -9610,7 +9560,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/nutritions", @@ -9631,7 +9581,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -9650,14 +9599,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -9903,7 +9852,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -9929,14 +9877,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NUTRITION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Breakfast');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Nutrition');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -9956,7 +9904,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NUTRITION-CC-2\",\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Breakfast\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/nutritions", @@ -9982,7 +9930,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -10009,8 +9956,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", @@ -10019,7 +9964,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -10039,7 +9985,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/physiotherapy", @@ -10060,7 +10006,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -10080,7 +10025,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", @@ -10089,7 +10033,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -10344,7 +10289,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -10371,7 +10315,6 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PHYSIOTHERAPY-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Joint Flexibility');\r", " pm.expect(jsonRes.Data.RecommendedDurationMin).equals(20);\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Exercise');\r", @@ -10380,7 +10323,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -10400,7 +10344,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PHYSIOTHERAPY-CC-2\",\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Joint Flexibility\",\r\n \"Description\": \".....\",\r\n \"RecommendedDurationMin\": 20,\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" }, "url": { "raw": "{{BASE_URL}}/assets/physiotherapy", @@ -10426,7 +10370,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -10452,14 +10395,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -10479,7 +10422,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/priorities", @@ -10500,7 +10443,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -10519,14 +10461,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -10772,7 +10714,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -10798,14 +10739,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('PRIORITY-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Weight management');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Prioritization');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -10825,7 +10766,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"PRIORITY-CC-2\",\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/priorities", @@ -10851,7 +10792,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -10877,15 +10817,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -10905,7 +10844,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/reflections", @@ -10926,7 +10865,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -10952,14 +10890,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -11205,7 +11143,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -11231,14 +11168,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REFLECTION-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Progress in the last week');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Personal reflection');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -11258,7 +11195,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REFLECTION-CC-2\",\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Progress in the last week\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/reflections", @@ -11284,7 +11221,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -11310,15 +11246,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -11338,7 +11273,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/reminders", @@ -11359,7 +11294,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -11378,15 +11312,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - "\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -11632,7 +11565,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -11658,14 +11590,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('REMINDER-CC-2');\r", " pm.expect(jsonRes.Data.Name).equals('Take a walk');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Message');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -11685,7 +11617,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"REMINDER-CC-2\",\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Take a walk\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/reminders", @@ -11711,7 +11643,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -11738,14 +11669,13 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -11765,7 +11695,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/video", @@ -11786,7 +11716,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -11806,14 +11735,13 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " \r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -12065,7 +11993,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -12092,13 +12019,13 @@ " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('VIDEO-AB-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -12118,7 +12045,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"VIDEO-AB-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Transcript\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/video", @@ -12144,7 +12071,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -12171,14 +12097,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -12198,7 +12124,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/web-links", @@ -12219,7 +12145,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -12238,14 +12163,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -12492,7 +12417,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -12519,14 +12443,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WEBLINK-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -12546,7 +12470,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WEBLINK-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/web-links", @@ -12572,7 +12496,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -12599,14 +12522,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -12626,7 +12549,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/web-newsfeeds", @@ -12647,7 +12570,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -12666,14 +12588,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -12920,7 +12842,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -12947,14 +12868,14 @@ " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('NEWSFEED-CC-1');\r", " pm.expect(jsonRes.Data.Name).equals('Know your condition!');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -12974,7 +12895,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"NEWSFEED-CC-1\",\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Know your condition!\",\r\n \"Description\": \"Studies confirm that working out with a partner ...\",\r\n \"Url\": \"http://watchlearnlive.heart.org/CVML_Player.php?moduleSelect=hrtflr\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/web-newsfeeds", @@ -13000,7 +12921,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -13020,21 +12940,21 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", - " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -13054,7 +12974,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n \"Word\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/word-power", @@ -13075,7 +12995,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -13087,21 +13006,21 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", - " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -13348,7 +13267,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -13368,21 +13286,21 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCode');\r", - " pm.expect(jsonRes.Data).to.have.property('Word');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AdditionalResources');\r", " pm.expect(jsonRes.Data).to.have.property('AssetCategory');\r", " pm.expect(jsonRes.Data).to.have.property('OwnerUserId');\r", " pm.expect(jsonRes.Data).to.have.property('Tags');\r", " pm.expect(jsonRes.Data).to.have.property('Version');\r", - " pm.expect(jsonRes.Data.AssetCode).equals('WORDPOWER-AB-1');\r", - " pm.expect(jsonRes.Data.Word).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.Name).equals('Nutrition');\r", " pm.expect(jsonRes.Data.AssetCategory).equals('Educational');\r", " pm.expect(jsonRes.Data.Version).equals('1.0');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -13402,7 +13320,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"AssetCode\": \"WORDPOWER-AB-1\",\r\n \"Word\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"Version\": \"1.0\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Nutrition\",\r\n \"Description\": \"Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.\",\r\n \"Version\": \"1.0\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/word-power", @@ -14302,409 +14220,1047 @@ ] }, { - "name": "Careplan activity", + "name": "Careplan activities", "item": [ { - "name": "Create", - "event": [ + "name": "Create / Get / Search / Update / Delete", + "item": [ { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CAREPLAN_SCHEDULE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('New careplan activity record is created', function () {\r", - "\r", - " var expectedAssetId = pm.environment.get(\"ACTION_PLAN_ID\");\r", - " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", - "\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('Day');\r", - " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", - " \r", - " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", - " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", - " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", - " pm.expect(jsonRes.Data.Day).equals(15);\r", - " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", - "});\r", - "\r", - "" - ] - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" + "name": "Create", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_ACTIVITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan activity record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"MESSAGE_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.Day).equals(1);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{MESSAGE_ID}}\",\r\n \"AssetType\": \"Message\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 1,\r\n \"TimeSlot\": \"Morning\",\r\n \"IsRegistrationActivity\": false\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities" + ] + } }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Message\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 15,\r\n \"TimeSlot\": \"Morning\"\r\n}\r\n" + "response": [] }, - "url": { - "raw": "{{BASE_URL}}/careplan-schedules", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-schedules" - ] - } - }, - "response": [] - }, - { - "name": "Get by id", - "event": [ { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Careplan activity record is retrived', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('Day');\r", - " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", - " \r", - " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", - " pm.expect(jsonRes.Data.Day).equals(15);\r", - " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", - "});" - ] - } - } - ], - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" + "name": "Get by id", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan schedule record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.Day).equals(1);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/careplan-activities/{{CAREPLAN_ACTIVITY_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities", + "{{CAREPLAN_ACTIVITY_ID}}" + ] + } }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "url": { - "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", - "host": [ - "{{BASE_URL}}" + "response": [] + }, + { + "name": "Search with filters", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan schedule record is retrived', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + "});" + ], + "type": "text/javascript" + } + } ], - "path": [ - "careplan-schedules", - "{{CAREPLAN_SCHEDULE_ID}}" - ] - } - }, - "response": [] - }, - { - "name": "Search with filters", - "event": [ + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/careplan-activities/search?assetType=Message", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities", + "search" + ], + "query": [ + { + "key": "assetId", + "value": "xyz", + "disabled": true + }, + { + "key": "assetType", + "value": "Message" + }, + { + "key": "careplanId", + "value": "xyz", + "disabled": true + }, + { + "key": "day", + "value": "xyz", + "disabled": true + }, + { + "key": "timeSlot", + "value": "xyz", + "disabled": true + } + ] + } + }, + "response": [] + }, { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Careplan activity record is retrived', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", - "});" - ] - } - } - ], - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" + "name": "Update", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan schedule record is updated', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.Day).equals(15);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Message\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 15,\r\n \"TimeSlot\": \"Morning\"\r\n\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities/{{CAREPLAN_ACTIVITY_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities", + "{{CAREPLAN_ACTIVITY_ID}}" + ] + } }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "url": { - "raw": "{{BASE_URL}}/careplan-schedules/search?assetType=Message", - "host": [ - "{{BASE_URL}}" + "response": [] + }, + { + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('Careplan schedule record is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } ], - "path": [ - "careplan-schedules", - "search" + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "url": { + "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_ACTIVITY_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-schedules", + "{{CAREPLAN_ACTIVITY_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_ACTIVITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan activity record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"MESSAGE_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.Day).equals(1);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } ], - "query": [ + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{MESSAGE_ID}}\",\r\n \"AssetType\": \"Message\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 1,\r\n \"TimeSlot\": \"Morning\"\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Registration activities", + "item": [ + { + "name": "Create welcome message activity", + "event": [ { - "key": "assetId", - "value": "xyz", - "disabled": true + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_ACTIVITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan activity record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"MESSAGE_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.IsRegistrationActivity).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{MESSAGE_ID}}\",\r\n \"AssetType\": \"Message\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"IsRegistrationActivity\": true\r\n}\r\n" }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities" + ] + } + }, + "response": [] + }, + { + "name": "Create preliminary assessment activity", + "event": [ { - "key": "assetType", - "value": "Message" + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_ACTIVITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan activity record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"ASSESSMENT_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Assessment');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.IsRegistrationActivity).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{ASSESSMENT_ID}}\",\r\n \"AssetType\": \"Assessment\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"IsRegistrationActivity\": true\r\n}\r\n" }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Scheduled activities", + "item": [ + { + "name": "Day 1", + "item": [ { - "key": "careplanId", - "value": "xyz", - "disabled": true + "name": "Create animation activity", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_ACTIVITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan activity record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"ANIMATION_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Animation');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.Day).equals(1);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{ANIMATION_ID}}\",\r\n \"AssetType\": \"Animation\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 1,\r\n \"TimeSlot\": \"Morning\",\r\n \"IsRegistrationActivity\": false\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities" + ] + } + }, + "response": [] }, { - "key": "day", - "value": "xyz", - "disabled": true + "name": "Create article activity", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_ACTIVITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan activity record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"ARTICLE_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Article');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.Day).equals(1);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Afternoon');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{ARTICLE_ID}}\",\r\n \"AssetType\": \"Article\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 1,\r\n \"TimeSlot\": \"Afternoon\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities" + ] + } + }, + "response": [] }, { - "key": "timeSlot", - "value": "xyz", - "disabled": true + "name": "Create appointment activity", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_ACTIVITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan activity record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"APPOINTMENT_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Appointment');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.Day).equals(1);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Evening');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{APPOINTMENT_ID}}\",\r\n \"AssetType\": \"Appointment\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 1,\r\n \"TimeSlot\": \"Evening\",\r\n \"IsRegistrationActivity\": false\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities" + ] + } + }, + "response": [] } ] - } - }, - "response": [] - }, - { - "name": "Update", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Careplan activity record is updated', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('Day');\r", - " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", - " \r", - " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", - " pm.expect(jsonRes.Data.Day).equals(15);\r", - " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", - "});\r", - "" - ] - } - } - ], - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Message\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 15,\r\n \"TimeSlot\": \"Morning\"\r\n\r\n}\r\n" }, - "url": { - "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-schedules", - "{{CAREPLAN_SCHEDULE_ID}}" - ] - } - }, - "response": [] - }, - { - "name": "Delete", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(200);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('Careplan activity record is deleted', function () {\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(true);\r", - "});\r", - "" - ] - } - } - ], - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "url": { - "raw": "{{BASE_URL}}/careplan-schedules/{{CAREPLAN_SCHEDULE_ID}}", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-schedules", - "{{CAREPLAN_SCHEDULE_ID}}" - ] - } - }, - "response": [] - }, - { - "name": "Create again", - "event": [ { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"CAREPLAN_SCHEDULE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", - "\r", - "pm.test('Request is successfull', function () {\r", - " pm.response.to.have.status(201);\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Status).to.eql('success');\r", - "});\r", - "\r", - "pm.test('New careplan activity record is created', function () {\r", - "\r", - " var expectedAssetId = pm.environment.get(\"ACTION_PLAN_ID\");\r", - " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", - "\r", - " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('Day');\r", - " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", - " \r", - " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", - " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", - " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", - " pm.expect(jsonRes.Data.Day).equals(15);\r", - " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", - "});\r", - "\r", - "" - ] - } - } - ], - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - }, - { - "key": "Authorization", - "type": "text", - "value": "Bearer {{MODERATOR_JWT}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Message\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 15,\r\n \"TimeSlot\": \"Morning\"\r\n}\r\n" - }, - "url": { - "raw": "{{BASE_URL}}/careplan-schedules", - "host": [ - "{{BASE_URL}}" - ], - "path": [ - "careplan-schedules" + "name": "Day 2", + "item": [ + { + "name": "Create video activity", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_ACTIVITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan activity record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"VIDEO_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Video');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.Day).equals(2);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Morning');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{VIDEO_ID}}\",\r\n \"AssetType\": \"Video\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 2,\r\n \"TimeSlot\": \"Morning\",\r\n \"IsRegistrationActivity\": false\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities" + ] + } + }, + "response": [] + }, + { + "name": "Create medication activity", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_ACTIVITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan activity record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"MEDICATION_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Medication');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.Day).equals(2);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Afternoon');\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{MEDICATION_ID}}\",\r\n \"AssetType\": \"Medication\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 2,\r\n \"TimeSlot\": \"Afternoon\",\r\n \"IsRegistrationActivity\": false\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities" + ] + } + }, + "response": [] + }, + { + "name": "Create nutrition activity", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"CAREPLAN_ACTIVITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(201);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New careplan activity record is created', function () {\r", + "\r", + " var expectedAssetId = pm.environment.get(\"NUTRITION_ID\");\r", + " var expectedCareplanId = pm.environment.get(\"CARE_PLAN_ID\");\r", + "\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Day');\r", + " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", + " \r", + " pm.expect(jsonRes.Data.AssetId).equals(expectedAssetId);\r", + " pm.expect(jsonRes.Data.AssetType).equals('Nutrition');\r", + " pm.expect(jsonRes.Data.CareplanId).equals(expectedCareplanId);\r", + " pm.expect(jsonRes.Data.Day).equals(2);\r", + " pm.expect(jsonRes.Data.TimeSlot).equals('Evening');\r", + "});\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "type": "text", + "value": "application/json" + }, + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{MODERATOR_JWT}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"AssetId\": \"{{NUTRITION_ID}}\",\r\n \"AssetType\": \"Nutrition\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"Day\": 2,\r\n \"TimeSlot\": \"Evening\",\r\n \"IsRegistrationActivity\": false\r\n}\r\n" + }, + "url": { + "raw": "{{BASE_URL}}/careplan-activities", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "careplan-activities" + ] + } + }, + "response": [] + } ] } - }, - "response": [] + ] } ] }, @@ -14801,7 +15357,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TO_DATE}}\",\r\n \"EnrollmentDate\": \"{{TODAY}}\"\r\n}" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TO_DATE}}\",\r\n \"EnrollmentDate\": \"{{TODAY}}\",\r\n \"DayOffset\": 0,\r\n \"WeekOffset\": 0\r\n}" }, "url": { "raw": "{{BASE_URL}}/enrollments", @@ -14939,7 +15495,7 @@ "response": [] }, { - "name": "Update", + "name": "Update - Do not use for now", "event": [ { "listen": "test", @@ -15075,14 +15631,13 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('ParticipantId');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentDate');\r", " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", " \r", "});\r", - "\r", "" ], "type": "text/javascript" @@ -15105,7 +15660,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"UserId\": \"{{USER_ID}}\",\r\n \"StartDate\": \"2022-06-29\",\r\n \"EndDate\": \"2022-07-20\",\r\n \"EnrollmentDate\": \"2022-06-29\"\r\n}\r\n" + "raw": "{\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TO_DATE}}\",\r\n \"EnrollmentDate\": \"{{TODAY}}\",\r\n \"DayOffset\": 0,\r\n \"WeekOffset\": 0\r\n}" }, "url": { "raw": "{{BASE_URL}}/enrollments", @@ -15122,7 +15677,7 @@ ] }, { - "name": "Enrollment schedule", + "name": "Enrollment tasks", "item": [ { "name": "Search with filters", @@ -15132,13 +15687,18 @@ "script": { "exec": [ "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"ENROLLMENT_SCHEDULE_ID\", respData.Data.Items[0].id);\r", - "} catch {\r", - " \r", + " var jsonRes = pm.response.json();\r", + " var tasks = jsonRes.Data.Items;\r", + " for (var i = 0; i < tasks.length; i++) {\r", + " var task = tasks[i];\r", + " pm.environment.set(\"ENROLLMENT_TASK_ID_\" + (i+1).toString(), task.id);\r", + " }\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", "}\r", + "\r", "pm.test('Request is successfull', function () {\r", - "pm.globals.get(\"variable_key\");\r", " pm.response.to.have.status(200);\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Status).to.eql('success');\r", @@ -15166,16 +15726,16 @@ { "key": "x-api-key", "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" + "value": "{{API_KEY}}" } ], "url": { - "raw": "{{BASE_URL}}/enrollment-schedules/search?assetType=Message", + "raw": "{{BASE_URL}}/enrollment-tasks/search?careplanId={{CARE_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "enrollment-schedules", + "enrollment-tasks", "search" ], "query": [ @@ -15186,12 +15746,12 @@ }, { "key": "assetType", - "value": "Message" + "value": "xyz", + "disabled": true }, { "key": "careplanId", - "value": "xyz", - "disabled": true + "value": "{{CARE_PLAN_ID}}" }, { "key": "timeSlot", @@ -15209,7 +15769,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -15221,20 +15780,18 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentId');\r", - " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('ParticipantId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanActivityId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('TimeSlot');\r", " pm.expect(jsonRes.Data).to.have.property('ScheduledDate');\r", - " \r", - " pm.expect(jsonRes.Data.AssetType).equals('Message');\r", - "\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15249,17 +15806,17 @@ { "key": "x-api-key", "type": "text", - "value": "{{API_CLIENT_INTERNAL_KEY}}" + "value": "{{API_KEY}}" } ], "url": { - "raw": "{{BASE_URL}}/enrollment-schedules/{{ENROLLMENT_SCHEDULE_ID}}", + "raw": "{{BASE_URL}}/enrollment-tasks/{{ENROLLMENT_TASK_ID_1}}", "host": [ "{{BASE_URL}}" ], "path": [ - "enrollment-schedules", - "{{ENROLLMENT_SCHEDULE_ID}}" + "enrollment-tasks", + "{{ENROLLMENT_TASK_ID_1}}" ] } }, @@ -15268,10 +15825,10 @@ ] }, { - "name": "Participant responses", + "name": "User responses", "item": [ { - "name": "Participant activity response", + "name": "User activity response", "item": [ { "name": "Create", @@ -15279,6 +15836,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -15304,8 +15862,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15314,26 +15871,26 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{Answer : 116 mg/dL}\"\r\n}\r\n" + "raw": "{\r\n \"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-activity-responses", + "raw": "{{BASE_URL}}/user-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses" + "user-activity-responses" ] } }, @@ -15345,6 +15902,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -15363,8 +15921,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15372,23 +15929,23 @@ "method": "GET", "header": [ { - "key": "Content-Type", - "value": "application/json", - "type": "text" + "key": "Content-Type", + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses", + "user-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -15401,6 +15958,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -15415,8 +15973,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15425,58 +15982,48 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/search?participantId={{PARTICIPANT_USER_ID}}", + "raw": "{{BASE_URL}}/user-activity-responses/search?careplanId=xyz&assetId=xyz&assetType=xyz&response=xyz&timeResponded=xyz&progressStatus=xyz", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses", + "user-activity-responses", "search" ], "query": [ { "key": "careplanId", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "assetId", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "assetType", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "response", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "timeResponded", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "progressStatus", - "value": "xyz", - "disabled": true - }, - { - "key": "participantId", - "value": "{{PARTICIPANT_USER_ID}}" + "value": "xyz" } ] } @@ -15489,6 +16036,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -15507,8 +16055,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15517,26 +16064,26 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{Answer: 99 F}\"\r\n\r\n}\r\n" + "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses", + "user-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -15549,6 +16096,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "\r", @@ -15565,8 +16113,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15575,26 +16122,22 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses", + "user-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -15607,6 +16150,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -15632,8 +16176,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15642,26 +16185,26 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{Answer : 120 mg/dL}\"\r\n}\r\n" + "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-activity-responses", + "raw": "{{BASE_URL}}/user-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-activity-responses" + "user-activity-responses" ] } }, @@ -15670,7 +16213,7 @@ ] }, { - "name": "Participant selected priority", + "name": "User selected action plan", "item": [ { "name": "Create", @@ -15678,10 +16221,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_PRIORITY_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -15693,25 +16237,27 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected priority record is created', function () {\r", + "pm.test('New user selected action plan record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - "\r", - " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - "\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15720,26 +16266,26 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-selected-priorities", + "raw": "{{BASE_URL}}/user-selected-action-plans", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-priorities" + "user-selected-action-plans" ] } }, @@ -15751,7 +16297,9 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ + "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -15759,25 +16307,27 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected priority record is retrived', function () {\r", + "pm.test('User selected action plan is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " \r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - "\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15786,23 +16336,23 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/participant-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", + "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-priorities", - "{{USER_SELECTED_PRIORITYL_ID}}" + "user-selected-action-plans", + "{{USER_SELECTED_ACTION_PLAN_ID}}" ] } }, @@ -15814,8 +16364,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -15823,13 +16373,12 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(' User selected priority! is retrived', function () {\r", + "pm.test(' User selected action plans are retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15838,53 +16387,60 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/participant-selected-priorities/search?name=Stress management", + "raw": "{{BASE_URL}}/user-selected-action-plans/search?name=xyz&description=xyz&careplanId=xyz&assetId=xyz&assetType=xyz&additionalDetails=xyz&startDate=xyz&endDate=xyz&progressStatus=xyz", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-priorities", + "user-selected-action-plans", "search" ], "query": [ { "key": "name", - "value": "Stress management" + "value": "xyz" }, { "key": "description", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "careplanId", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "assetId", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "assetType", - "value": "xyz", - "disabled": true + "value": "xyz" + }, + { + "key": "additionalDetails", + "value": "xyz" }, { "key": "startDate", - "value": "xyz", - "disabled": true + "value": "xyz" + }, + { + "key": "endDate", + "value": "xyz" + }, + { + "key": "progressStatus", + "value": "xyz" } ] } @@ -15897,6 +16453,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -15905,7 +16462,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected priority record is updated', function () {\r", + "pm.test('User selected action plan record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", @@ -15914,15 +16471,18 @@ " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15931,27 +16491,27 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Stress management\",\r\n\"Description\": \"Sleep at least 6 hours a day\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}" + "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", + "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-priorities", - "{{USER_SELECTED_PRIORITYL_ID}}" + "user-selected-action-plans", + "{{USER_SELECTED_ACTION_PLAN_ID}}" ] } }, @@ -15963,6 +16523,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "\r", @@ -15972,15 +16533,14 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected priority is deleted', function () {\r", + "pm.test('User selected action plan is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -15989,27 +16549,23 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{BASE_URL}}/participant-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", + "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-priorities", - "{{USER_SELECTED_PRIORITYL_ID}}" + "user-selected-action-plans", + "{{USER_SELECTED_ACTION_PLAN_ID}}" ] } }, @@ -16021,10 +16577,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -16036,26 +16593,30 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected priority record is created', function () {\r", + "pm.test('New user selected action plan record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " \r", + " pm.expect(jsonRes.Data.UserId).equals('USER_ID');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.CareplanId).equals('CAREPLAN_ID');\r", - " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - "\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16064,26 +16625,26 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-selected-priorities", + "raw": "{{BASE_URL}}/user-selected-action-plans", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-priorities" + "user-selected-action-plans" ] } }, @@ -16092,7 +16653,7 @@ ] }, { - "name": "Participant selected goal", + "name": "User selected goal", "item": [ { "name": "Create", @@ -16100,6 +16661,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -16135,8 +16697,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16145,26 +16706,26 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"SelectedPriorityId\": \"{{USER_SELECTED_PRIORITY_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-selected-goals", + "raw": "{{BASE_URL}}/user-selected-goals", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-goals" + "user-selected-goals" ] } }, @@ -16176,6 +16737,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -16204,8 +16766,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16214,22 +16775,22 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/participant-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-goals", + "user-selected-goals", "{{USER_SELECTED_GOAL_ID}}" ] } @@ -16242,6 +16803,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "\r", @@ -16256,8 +16818,7 @@ " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16266,68 +16827,60 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/participant-selected-goals/search?careplanId={{CARE_PLAN_ID}}", + "raw": "{{BASE_URL}}/user-selected-goals/search?name=xyz&description=xyz&careplanId=xyz&assetId=xyz&assetType=xyz&additionalDetails=xyz&startDate=xyz&endDate=xyz&progressStatus=xyz", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-goals", + "user-selected-goals", "search" ], "query": [ { "key": "name", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "description", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "careplanId", - "value": "{{CARE_PLAN_ID}}" + "value": "xyz" }, { "key": "assetId", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "assetType", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "additionalDetails", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "startDate", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "endDate", - "value": "xyz", - "disabled": true + "value": "xyz" }, { "key": "progressStatus", - "value": "xyz", - "disabled": true + "value": "xyz" } ] } @@ -16340,6 +16893,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "\r", @@ -16369,8 +16923,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16379,26 +16932,26 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \"Control your sugar intake\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"SelectedPriorityId\": \"{{USER_SELECTED_PRIORITY_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}" + "raw": "{\r\n\"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-goals", + "user-selected-goals", "{{USER_SELECTED_GOAL_ID}}" ] } @@ -16411,6 +16964,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "\r", @@ -16427,8 +16981,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16437,26 +16990,22 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{BASE_URL}}/participant-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-goals", + "user-selected-goals", "{{USER_SELECTED_GOAL_ID}}" ] } @@ -16469,6 +17018,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -16507,8 +17057,7 @@ "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16517,26 +17066,26 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Blood Pressure\",\r\n\"Description\": \".....\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"SelectedPriorityId\": \"{{USER_SELECTED_PRIORITY_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-selected-goals", + "raw": "{{BASE_URL}}/user-selected-goals", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-goals" + "user-selected-goals" ] } }, @@ -16545,7 +17094,7 @@ ] }, { - "name": "Participant selected action plan", + "name": "User selected priority", "item": [ { "name": "Create", @@ -16553,10 +17102,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -16568,28 +17118,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected action plan record is created', function () {\r", + "pm.test('New user selected priority record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + "\r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16598,26 +17144,26 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"GoalId\": \"{{USER_SELECTED_GOAL_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2024-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-selected-action-plans", + "raw": "{{BASE_URL}}/user-selected-priorities", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-action-plans" + "user-selected-priorities" ] } }, @@ -16629,8 +17175,8 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ - "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16638,28 +17184,24 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected action plan is retrived', function () {\r", + "pm.test('User selected priority record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", + " \r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16668,23 +17210,23 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/participant-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-action-plans", - "{{USER_SELECTED_ACTION_PLAN_ID}}" + "user-selected-priorities", + "{{USER_SELECTED_PRIORITYL_ID}}" ] } }, @@ -16696,7 +17238,9 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ + "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16704,13 +17248,12 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(' User selected action plans are retrived', function () {\r", + "pm.test(' User selected priority! is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16719,29 +17262,28 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "url": { - "raw": "{{BASE_URL}}/participant-selected-action-plans/search?careplanId=1", + "raw": "{{BASE_URL}}/user-selected-priorities/search?name=Stress management", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-action-plans", + "user-selected-priorities", "search" ], "query": [ { "key": "name", - "value": "xyz", - "disabled": true + "value": "Stress management" }, { "key": "description", @@ -16750,20 +17292,16 @@ }, { "key": "careplanId", - "value": "1" - }, - { - "key": "assetId", "value": "xyz", "disabled": true }, { - "key": "assetType", + "key": "assetId", "value": "xyz", "disabled": true }, { - "key": "additionalDetails", + "key": "assetType", "value": "xyz", "disabled": true }, @@ -16771,21 +17309,6 @@ "key": "startDate", "value": "xyz", "disabled": true - }, - { - "key": "endDate", - "value": "xyz", - "disabled": true - }, - { - "key": "progressStatus", - "value": "xyz", - "disabled": true - }, - { - "key": "participantId", - "value": "{{PARTICIPANT_USER_ID}}", - "disabled": true } ] } @@ -16798,6 +17321,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -16806,7 +17330,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected action plan record is updated', function () {\r", + "pm.test('User selected priority record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", @@ -16815,19 +17339,14 @@ " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16836,27 +17355,27 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \"We need to follow low carb and high protien diet\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"GoalId\": \"{{USER_SELECTED_GOAL_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2024-01-01\"\r\n\r\n}" + "raw": "{\r\n\"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-action-plans", - "{{USER_SELECTED_ACTION_PLAN_ID}}" + "user-selected-priorities", + "{{USER_SELECTED_PRIORITYL_ID}}" ] } }, @@ -16868,6 +17387,7 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "\r", "\r", @@ -16877,15 +17397,14 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected action plan is deleted', function () {\r", + "pm.test('User selected priority is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16894,27 +17413,23 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{BASE_URL}}/participant-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-action-plans", - "{{USER_SELECTED_ACTION_PLAN_ID}}" + "user-selected-priorities", + "{{USER_SELECTED_PRIORITYL_ID}}" ] } }, @@ -16926,10 +17441,11 @@ { "listen": "test", "script": { + "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -16941,31 +17457,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected action plan record is created', function () {\r", + "pm.test('New user selected priority record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - " \r", - " pm.expect(jsonRes.Data.UserId).equals('USER_ID');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", " pm.expect(jsonRes.Data.CareplanId).equals('CAREPLAN_ID');\r", - " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + "\r", "});\r", "\r", "" - ], - "type": "text/javascript" + ] } } ], @@ -16974,26 +17484,26 @@ "header": [ { "key": "Content-Type", - "value": "application/json", - "type": "text" + "type": "text", + "value": "application/json" }, { - "key": "x-api-key", - "value": "{{API_CLIENT_INTERNAL_KEY}}", - "type": "text" + "key": "Authorization", + "type": "text", + "value": "Bearer {{USER_JWT}}" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \"Eat less carbs\",\r\n\"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n\"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n\"GoalId\": \"{{USER_SELECTED_GOAL_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AssetId\": \"{{ANIMATION_ID}}\",\r\n\"AssetType\": \"Message\",\r\n\"AssetCode\": \"{{ASSET_CODE}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2024-01-01\"\r\n\r\n}" + "raw": "{\r\n \"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" }, "url": { - "raw": "{{BASE_URL}}/participant-selected-action-plans", + "raw": "{{BASE_URL}}/user-selected-priorities", "host": [ "{{BASE_URL}}" ], "path": [ - "participant-selected-action-plans" + "user-selected-priorities" ] } }, diff --git a/src/api/assets/action.plan/action.plan.controller.delegate.ts b/src/api/assets/action.plan/action.plan.controller.delegate.ts index 51e16de..086516e 100644 --- a/src/api/assets/action.plan/action.plan.controller.delegate.ts +++ b/src/api/assets/action.plan/action.plan.controller.delegate.ts @@ -22,6 +22,7 @@ import { ActionPlanSearchFilters, ActionPlanSearchResults } from '../../../domain.types/assets/action.plan.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class ActionPlanControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: ActionPlanCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create action plan!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/animation/animation.controller.delegate.ts b/src/api/assets/animation/animation.controller.delegate.ts index 428e36d..6fffbb6 100644 --- a/src/api/assets/animation/animation.controller.delegate.ts +++ b/src/api/assets/animation/animation.controller.delegate.ts @@ -22,6 +22,7 @@ import { AnimationSearchFilters, AnimationSearchResults } from '../../../domain.types/assets/animation.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class AnimationControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: AnimationCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create animation!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/appointment/appointment.controller.delegate.ts b/src/api/assets/appointment/appointment.controller.delegate.ts index a7b944d..18e89f5 100644 --- a/src/api/assets/appointment/appointment.controller.delegate.ts +++ b/src/api/assets/appointment/appointment.controller.delegate.ts @@ -22,6 +22,7 @@ import { AppointmentSearchFilters, AppointmentSearchResults } from '../../../domain.types/assets/appointment.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class AppointmentControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: AppointmentCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create appointment!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/article/article.controller.delegate.ts b/src/api/assets/article/article.controller.delegate.ts index e75c8a9..c6c21d8 100644 --- a/src/api/assets/article/article.controller.delegate.ts +++ b/src/api/assets/article/article.controller.delegate.ts @@ -22,6 +22,7 @@ import { ArticleSearchFilters, ArticleSearchResults } from '../../../domain.types/assets/article.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class ArticleControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: ArticleCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create article!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/assessment/assessment.controller.delegate.ts b/src/api/assets/assessment/assessment.controller.delegate.ts index f3f49f9..13ac86e 100644 --- a/src/api/assets/assessment/assessment.controller.delegate.ts +++ b/src/api/assets/assessment/assessment.controller.delegate.ts @@ -22,6 +22,7 @@ import { AssessmentSearchFilters, AssessmentSearchResults } from '../../../domain.types/assets/assessment.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class AssessmentControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: AssessmentCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create assessment!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/audio/audio.controller.delegate.ts b/src/api/assets/audio/audio.controller.delegate.ts index bc460a3..693b379 100644 --- a/src/api/assets/audio/audio.controller.delegate.ts +++ b/src/api/assets/audio/audio.controller.delegate.ts @@ -22,6 +22,7 @@ import { AudioSearchFilters, AudioSearchResults } from '../../../domain.types/assets/audio.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class AudioControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: AudioCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create audio!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/biometrics/biometrics.controller.delegate.ts b/src/api/assets/biometrics/biometrics.controller.delegate.ts index f20b754..dba57f0 100644 --- a/src/api/assets/biometrics/biometrics.controller.delegate.ts +++ b/src/api/assets/biometrics/biometrics.controller.delegate.ts @@ -22,6 +22,7 @@ import { BiometricsSearchFilters, BiometricsSearchResults } from '../../../domain.types/assets/biometrics.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class BiometricsControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: BiometricsCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create biometrics!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/challenge/challenge.controller.delegate.ts b/src/api/assets/challenge/challenge.controller.delegate.ts index d257cc2..1daf6af 100644 --- a/src/api/assets/challenge/challenge.controller.delegate.ts +++ b/src/api/assets/challenge/challenge.controller.delegate.ts @@ -22,6 +22,7 @@ import { ChallengeSearchFilters, ChallengeSearchResults } from '../../../domain.types/assets/challenge.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class ChallengeControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: ChallengeCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create challenge!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/checkup/checkup.controller.delegate.ts b/src/api/assets/checkup/checkup.controller.delegate.ts index 5639507..7dc4889 100644 --- a/src/api/assets/checkup/checkup.controller.delegate.ts +++ b/src/api/assets/checkup/checkup.controller.delegate.ts @@ -22,6 +22,7 @@ import { CheckupSearchFilters, CheckupSearchResults } from '../../../domain.types/assets/checkup.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class CheckupControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: CheckupCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create checkup!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/consultation/consultation.controller.delegate.ts b/src/api/assets/consultation/consultation.controller.delegate.ts index 8c848a5..6005d89 100644 --- a/src/api/assets/consultation/consultation.controller.delegate.ts +++ b/src/api/assets/consultation/consultation.controller.delegate.ts @@ -22,6 +22,7 @@ import { ConsultationSearchFilters, ConsultationSearchResults } from '../../../domain.types/assets/consultation.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class ConsultationControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: ConsultationCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create consultation!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/exercise/exercise.controller.delegate.ts b/src/api/assets/exercise/exercise.controller.delegate.ts index 71e6cec..8b1b4dc 100644 --- a/src/api/assets/exercise/exercise.controller.delegate.ts +++ b/src/api/assets/exercise/exercise.controller.delegate.ts @@ -22,6 +22,7 @@ import { ExerciseSearchFilters, ExerciseSearchResults } from '../../../domain.types/assets/exercise.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class ExerciseControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: ExerciseCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create exercise!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/goal/goal.controller.delegate.ts b/src/api/assets/goal/goal.controller.delegate.ts index ad870e9..1d4e492 100644 --- a/src/api/assets/goal/goal.controller.delegate.ts +++ b/src/api/assets/goal/goal.controller.delegate.ts @@ -22,6 +22,7 @@ import { GoalSearchFilters, GoalSearchResults } from '../../../domain.types/assets/goal.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class GoalControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: GoalCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create goal!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/infographics/infographics.controller.delegate.ts b/src/api/assets/infographics/infographics.controller.delegate.ts index a00a0ed..5b316b2 100644 --- a/src/api/assets/infographics/infographics.controller.delegate.ts +++ b/src/api/assets/infographics/infographics.controller.delegate.ts @@ -22,6 +22,7 @@ import { InfographicsSearchFilters, InfographicsSearchResults } from '../../../domain.types/assets/infographics.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class InfographicsControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: InfographicsCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create infographics!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/medication/medication.controller.delegate.ts b/src/api/assets/medication/medication.controller.delegate.ts index 5a07dae..9398459 100644 --- a/src/api/assets/medication/medication.controller.delegate.ts +++ b/src/api/assets/medication/medication.controller.delegate.ts @@ -22,6 +22,8 @@ import { MedicationSearchFilters, MedicationSearchResults } from '../../../domain.types/assets/medication.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; +import { validateRequest } from 'twilio'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +42,11 @@ export class MedicationControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: MedicationCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create medication!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/meditation/meditation.controller.delegate.ts b/src/api/assets/meditation/meditation.controller.delegate.ts index 51d3d82..b4aab2a 100644 --- a/src/api/assets/meditation/meditation.controller.delegate.ts +++ b/src/api/assets/meditation/meditation.controller.delegate.ts @@ -22,6 +22,7 @@ import { MeditationSearchFilters, MeditationSearchResults } from '../../../domain.types/assets/meditation.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class MeditationControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: MeditationCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create meditation!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/message/message.controller.delegate.ts b/src/api/assets/message/message.controller.delegate.ts index 68ea16e..a5e2e52 100644 --- a/src/api/assets/message/message.controller.delegate.ts +++ b/src/api/assets/message/message.controller.delegate.ts @@ -22,6 +22,7 @@ import { MessageSearchFilters, MessageSearchResults } from '../../../domain.types/assets/message.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class MessageControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: MessageCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create message!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/nutrition/nutrition.controller.delegate.ts b/src/api/assets/nutrition/nutrition.controller.delegate.ts index 9454370..e0834da 100644 --- a/src/api/assets/nutrition/nutrition.controller.delegate.ts +++ b/src/api/assets/nutrition/nutrition.controller.delegate.ts @@ -22,6 +22,7 @@ import { NutritionSearchFilters, NutritionSearchResults } from '../../../domain.types/assets/nutrition.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class NutritionControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: NutritionCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create nutrition!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts b/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts index 8a6bb59..399ca1d 100644 --- a/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts +++ b/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts @@ -22,6 +22,7 @@ import { PhysiotherapySearchFilters, PhysiotherapySearchResults } from '../../../domain.types/assets/physiotherapy.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class PhysiotherapyControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: PhysiotherapyCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create physiotherapy!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/priority/priority.controller.delegate.ts b/src/api/assets/priority/priority.controller.delegate.ts index 72058c0..e09d7a2 100644 --- a/src/api/assets/priority/priority.controller.delegate.ts +++ b/src/api/assets/priority/priority.controller.delegate.ts @@ -22,6 +22,7 @@ import { PrioritySearchFilters, PrioritySearchResults } from '../../../domain.types/assets/priority.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class PriorityControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: PriorityCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create priority!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/reflection/reflection.controller.delegate.ts b/src/api/assets/reflection/reflection.controller.delegate.ts index 2595736..2b04726 100644 --- a/src/api/assets/reflection/reflection.controller.delegate.ts +++ b/src/api/assets/reflection/reflection.controller.delegate.ts @@ -22,6 +22,7 @@ import { ReflectionSearchFilters, ReflectionSearchResults } from '../../../domain.types/assets/reflection.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class ReflectionControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: ReflectionCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create reflection!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/reminder/reminder.controller.delegate.ts b/src/api/assets/reminder/reminder.controller.delegate.ts index 060f90c..5ae71cf 100644 --- a/src/api/assets/reminder/reminder.controller.delegate.ts +++ b/src/api/assets/reminder/reminder.controller.delegate.ts @@ -22,6 +22,7 @@ import { ReminderSearchFilters, ReminderSearchResults } from '../../../domain.types/assets/reminder.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class ReminderControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: ReminderCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create reminder!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/video/video.controller.delegate.ts b/src/api/assets/video/video.controller.delegate.ts index e1c5d33..32a1706 100644 --- a/src/api/assets/video/video.controller.delegate.ts +++ b/src/api/assets/video/video.controller.delegate.ts @@ -22,6 +22,7 @@ import { VideoSearchFilters, VideoSearchResults } from '../../../domain.types/assets/video.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class VideoControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: VideoCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create video!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/web.link/web.link.controller.delegate.ts b/src/api/assets/web.link/web.link.controller.delegate.ts index 2096a19..3a5ee7d 100644 --- a/src/api/assets/web.link/web.link.controller.delegate.ts +++ b/src/api/assets/web.link/web.link.controller.delegate.ts @@ -22,6 +22,7 @@ import { WebLinkSearchFilters, WebLinkSearchResults } from '../../../domain.types/assets/web.link.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class WebLinkControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: WebLinkCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create web link!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts b/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts index eda63f9..49cdd06 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts @@ -22,6 +22,7 @@ import { WebNewsfeedSearchFilters, WebNewsfeedSearchResults } from '../../../domain.types/assets/web.newsfeed.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class WebNewsfeedControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: WebNewsfeedCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create web newsfeed!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } diff --git a/src/api/assets/word.power/word.power.controller.delegate.ts b/src/api/assets/word.power/word.power.controller.delegate.ts index 06d1ad5..2bb2429 100644 --- a/src/api/assets/word.power/word.power.controller.delegate.ts +++ b/src/api/assets/word.power/word.power.controller.delegate.ts @@ -22,6 +22,7 @@ import { WordPowerSearchFilters, WordPowerSearchResults } from '../../../domain.types/assets/word.power.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,10 +41,11 @@ export class WordPowerControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: WordPowerCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + var record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create word power!', 400); } + record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); } @@ -101,9 +103,9 @@ export class WordPowerControllerDelegate { if (assetCode != null) { filters['AssetCode'] = assetCode; } - var word = query.word ? query.word : null; - if (word != null) { - filters['Word'] = word; + var name = query.name ? query.name : null; + if (name != null) { + filters['Name'] = name; } var description = query.description ? query.description : null; if (description != null) { @@ -136,8 +138,8 @@ export class WordPowerControllerDelegate { if (Helper.hasProperty(requestBody, 'AssetCode')) { updateModel.AssetCode = requestBody.AssetCode; } - if (Helper.hasProperty(requestBody, 'Word')) { - updateModel.Word = requestBody.Word; + if (Helper.hasProperty(requestBody, 'Name')) { + updateModel.Name = requestBody.Name; } if (Helper.hasProperty(requestBody, 'Description')) { updateModel.Description = requestBody.Description; @@ -158,7 +160,7 @@ export class WordPowerControllerDelegate { getCreateModel = (requestBody): WordPowerCreateModel => { return { AssetCode : requestBody.AssetCode ? requestBody.AssetCode : null, - Word : requestBody.Word ? requestBody.Word : null, + Name : requestBody.Name ? requestBody.Name : null, Description : requestBody.Description ? requestBody.Description : null, AdditionalResources : requestBody.AdditionalResources ? JSON.stringify(requestBody.AdditionalResources) as string : JSON.stringify([]), @@ -175,7 +177,7 @@ export class WordPowerControllerDelegate { return { id : record.id, AssetCode : record.AssetCode, - Word : record.Word, + Name : record.Name, Description : record.Description, AdditionalResources : JSON.parse(record.AdditionalResources), AssetCategory : record.AssetCategory, @@ -192,7 +194,7 @@ export class WordPowerControllerDelegate { return { id : record.id, AssetCode : record.AssetCode, - Word : record.Word, + Name : record.Name, Description : record.Description, AdditionalResources : JSON.parse(record.AdditionalResources), AssetCategory : record.AssetCategory, diff --git a/src/api/assets/word.power/word.power.validator.ts b/src/api/assets/word.power/word.power.validator.ts index a2a2646..1a29054 100644 --- a/src/api/assets/word.power/word.power.validator.ts +++ b/src/api/assets/word.power/word.power.validator.ts @@ -11,7 +11,7 @@ export class WordPowerValidator { try { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), - Word : joi.string().max(256).optional(), + Name : joi.string().max(256).optional(), Description : joi.string().optional(), AdditionalResources : joi.array().items(joi.string()).optional(), Tags : joi.array().items(joi.string()).optional(), @@ -30,7 +30,7 @@ export class WordPowerValidator { try { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), - Word : joi.string().max(256).optional(), + Name : joi.string().max(256).optional(), Description : joi.string().optional(), AdditionalResources : joi.array().items(joi.string()).optional(), Tags : joi.array().items(joi.string()).optional(), @@ -46,7 +46,7 @@ export class WordPowerValidator { try { const schema = joi.object({ assetCode : joi.string().max(256).optional(), - word : joi.string().max(256).optional(), + name : joi.string().max(256).optional(), description : joi.string().optional(), additionalResources : joi.array().items(joi.string()).optional(), assetCategory : joi.string().max(128).optional(), diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index 3730819..dbbbe53 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -83,11 +83,13 @@ export class EnrollmentTaskControllerDelegate { } return { id : record.id, + ParticipantId : record.ParticipantId, EnrollmentId : record.EnrollmentId, UserId : record.UserId, CareplanActivityId : record.CareplanActivityId, AssetId : record.AssetId, AssetType : record.AssetType, + Asset : record.Asset, CareplanId : record.CareplanId, TimeSlot : record.TimeSlot, ScheduledDate : record.ScheduledDate, @@ -106,6 +108,7 @@ export class EnrollmentTaskControllerDelegate { CareplanActivityId : record.CareplanActivityId, AssetId : record.AssetId, AssetType : record.AssetType, + Asset : record.Asset, CareplanId : record.CareplanId, TimeSlot : record.TimeSlot, ScheduledDate : record.ScheduledDate, diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index be71599..ae635c0 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -283,7 +283,9 @@ export class EnrollmentControllerDelegate { StartDate : record.StartDate, EndDate : record.EndDate, EnrollmentDate : record.EnrollmentDate, - ProgressStatus : record.ProgressStatus + WeekOffset : record.WeekOffset, + DayOffset : record.DayOffset, + ProgressStatus : record.ProgressStatus, }; } @@ -299,6 +301,8 @@ export class EnrollmentControllerDelegate { StartDate : record.StartDate, EndDate : record.EndDate, EnrollmentDate : record.EnrollmentDate, + WeekOffset : record.WeekOffset, + DayOffset : record.DayOffset, ProgressStatus : record.ProgressStatus }; } diff --git a/src/common/helper.ts b/src/common/helper.ts index 3018529..097b24f 100644 --- a/src/common/helper.ts +++ b/src/common/helper.ts @@ -396,6 +396,10 @@ export class Helper { return compareSync(str, hashed); }; + public static padInteger = (num: number, places: number, paddingCharacter: string) => { + return String(num).padStart(places, paddingCharacter); + } + //Reference: https://github.com/zishon89us/node-cheat/blob/master/stackoverflow_answers/crypto-create-cipheriv.js#L2 public static encrypt = (str: string) => { diff --git a/src/database/mappers/assets/word.power.mapper.ts b/src/database/mappers/assets/word.power.mapper.ts index b509d3e..48f8d89 100644 --- a/src/database/mappers/assets/word.power.mapper.ts +++ b/src/database/mappers/assets/word.power.mapper.ts @@ -11,18 +11,18 @@ export class WordPowerMapper { return null; } const dto: WordPowerDto = { - id: wordPower.id, - AssetCode: wordPower.AssetCode, - Word: wordPower.Word, - Description: wordPower.Description, - AdditionalResources: wordPower.AdditionalResources, - AssetCategory: wordPower.AssetCategory, - OwnerUserId: wordPower.OwnerUserId, - Tags: wordPower.Tags, - Version: wordPower.Version, + id : wordPower.id, + AssetCode : wordPower.AssetCode, + Name : wordPower.Name, + Description : wordPower.Description, + AdditionalResources : wordPower.AdditionalResources, + AssetCategory : wordPower.AssetCategory, + OwnerUserId : wordPower.OwnerUserId, + Tags : wordPower.Tags, + Version : wordPower.Version, }; return dto; }; -} \ No newline at end of file +} diff --git a/src/database/models/assets/action.plan.model.ts b/src/database/models/assets/action.plan.model.ts index ff93f76..3c88db3 100644 --- a/src/database/models/assets/action.plan.model.ts +++ b/src/database/models/assets/action.plan.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class ActionPlanModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.ActionPlan }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/animation.model.ts b/src/database/models/assets/animation.model.ts index 765df04..511b6b0 100644 --- a/src/database/models/assets/animation.model.ts +++ b/src/database/models/assets/animation.model.ts @@ -1,5 +1,6 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; +import { AssetType } from '../../../domain.types/assets/asset.types'; const sequelize = db.default.sequelize; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class AnimationModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Animation, }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/appointment.model.ts b/src/database/models/assets/appointment.model.ts index b1a9b24..bd4e495 100644 --- a/src/database/models/assets/appointment.model.ts +++ b/src/database/models/assets/appointment.model.ts @@ -2,6 +2,7 @@ import { AppointmentTypeList } from '../../../domain.types/assets/appointment.do import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -20,7 +21,12 @@ export class AppointmentModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Appointment }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/article.model.ts b/src/database/models/assets/article.model.ts index a977fa2..79b3f4a 100644 --- a/src/database/models/assets/article.model.ts +++ b/src/database/models/assets/article.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class ArticleModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Article }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/assessment.model.ts b/src/database/models/assets/assessment.model.ts index cecbe3d..05d5a63 100644 --- a/src/database/models/assets/assessment.model.ts +++ b/src/database/models/assets/assessment.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class AssessmentModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Assessment }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/audio.model.ts b/src/database/models/assets/audio.model.ts index 7c37f42..38823da 100644 --- a/src/database/models/assets/audio.model.ts +++ b/src/database/models/assets/audio.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class AudioModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Audio }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/biometrics.model.ts b/src/database/models/assets/biometrics.model.ts index 5b00b78..ba92903 100644 --- a/src/database/models/assets/biometrics.model.ts +++ b/src/database/models/assets/biometrics.model.ts @@ -2,6 +2,7 @@ import { BiometricsTypeList } from '../../../domain.types/assets/biometrics.doma import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -20,7 +21,12 @@ export class BiometricsModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Biometrics }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/challenge.model.ts b/src/database/models/assets/challenge.model.ts index 398f7f3..64a5486 100644 --- a/src/database/models/assets/challenge.model.ts +++ b/src/database/models/assets/challenge.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class ChallengeModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Challenge }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/checkup.model.ts b/src/database/models/assets/checkup.model.ts index 26df532..48cab48 100644 --- a/src/database/models/assets/checkup.model.ts +++ b/src/database/models/assets/checkup.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class CheckupModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Checkup }, Name : { type : DataTypes.STRING(256), @@ -35,10 +41,8 @@ export class CheckupModel { defaultValue : 'Checkup' }, OwnerUserId : { - type : DataTypes.UUID, - allowNull : false, - foreignKey : true, - unique : false + type : DataTypes.UUID, + allowNull : true, }, Tags : { type : DataTypes.TEXT, diff --git a/src/database/models/assets/consultation.model.ts b/src/database/models/assets/consultation.model.ts index 6997c4c..5e06026 100644 --- a/src/database/models/assets/consultation.model.ts +++ b/src/database/models/assets/consultation.model.ts @@ -2,6 +2,7 @@ import { ConsultationTypeList } from '../../../domain.types/assets/consultation. import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -20,7 +21,12 @@ export class ConsultationModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Consultation }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/exercise.model.ts b/src/database/models/assets/exercise.model.ts index 42d8467..5494e34 100644 --- a/src/database/models/assets/exercise.model.ts +++ b/src/database/models/assets/exercise.model.ts @@ -3,6 +3,7 @@ import { ExerciseTypeList } from '../../../domain.types/assets/exercise.domain.t import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -21,7 +22,12 @@ export class ExerciseModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Exercise }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/goal.model.ts b/src/database/models/assets/goal.model.ts index fd5b42b..9d46720 100644 --- a/src/database/models/assets/goal.model.ts +++ b/src/database/models/assets/goal.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class GoalModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Goal }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/infographics.model.ts b/src/database/models/assets/infographics.model.ts index 48c43a1..b2db479 100644 --- a/src/database/models/assets/infographics.model.ts +++ b/src/database/models/assets/infographics.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class InfographicsModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Infographics }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/medication.model.ts b/src/database/models/assets/medication.model.ts index 3d46e11..39d5938 100644 --- a/src/database/models/assets/medication.model.ts +++ b/src/database/models/assets/medication.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class MedicationModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Medication }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/meditation.model.ts b/src/database/models/assets/meditation.model.ts index 890cb1c..d471f17 100644 --- a/src/database/models/assets/meditation.model.ts +++ b/src/database/models/assets/meditation.model.ts @@ -2,6 +2,7 @@ import { MeditationTypeList } from '../../../domain.types/assets/meditation.doma import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -20,7 +21,12 @@ export class MeditationModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Meditation }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/message.model.ts b/src/database/models/assets/message.model.ts index 3678114..124ebf4 100644 --- a/src/database/models/assets/message.model.ts +++ b/src/database/models/assets/message.model.ts @@ -2,6 +2,7 @@ import { MessageTypeList } from '../../../domain.types/assets/message.domain.typ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -20,7 +21,12 @@ export class MessageModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Message }, Name : { type : DataTypes.TEXT, diff --git a/src/database/models/assets/nutrition.model.ts b/src/database/models/assets/nutrition.model.ts index 20daf8d..a953461 100644 --- a/src/database/models/assets/nutrition.model.ts +++ b/src/database/models/assets/nutrition.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class NutritionModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Nutrition }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/physiotherapy.model.ts b/src/database/models/assets/physiotherapy.model.ts index 862f0b9..707e583 100644 --- a/src/database/models/assets/physiotherapy.model.ts +++ b/src/database/models/assets/physiotherapy.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class PhysiotherapyModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Physiotherapy }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/priority.model.ts b/src/database/models/assets/priority.model.ts index e48df75..4a86ba2 100644 --- a/src/database/models/assets/priority.model.ts +++ b/src/database/models/assets/priority.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class PriorityModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Priority }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/reflection.model.ts b/src/database/models/assets/reflection.model.ts index 5cc4c58..7177ede 100644 --- a/src/database/models/assets/reflection.model.ts +++ b/src/database/models/assets/reflection.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class ReflectionModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Reflection }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/reminder.model.ts b/src/database/models/assets/reminder.model.ts index dac1da7..a0bd27c 100644 --- a/src/database/models/assets/reminder.model.ts +++ b/src/database/models/assets/reminder.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class ReminderModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Reminder }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/video.model.ts b/src/database/models/assets/video.model.ts index ea9db9c..b309db7 100644 --- a/src/database/models/assets/video.model.ts +++ b/src/database/models/assets/video.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class VideoModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.Video }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/web.link.model.ts b/src/database/models/assets/web.link.model.ts index 3b431a7..8223814 100644 --- a/src/database/models/assets/web.link.model.ts +++ b/src/database/models/assets/web.link.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class WebLinkModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.WebLink }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/web.newsfeed.model.ts b/src/database/models/assets/web.newsfeed.model.ts index 71cd452..b5df60a 100644 --- a/src/database/models/assets/web.newsfeed.model.ts +++ b/src/database/models/assets/web.newsfeed.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,7 +20,12 @@ export class WebNewsfeedModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.WebNewsfeed }, Name : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/word.power.model.ts b/src/database/models/assets/word.power.model.ts index d3150c1..ac25ed5 100644 --- a/src/database/models/assets/word.power.model.ts +++ b/src/database/models/assets/word.power.model.ts @@ -1,6 +1,7 @@ import * as db from '../../database.connector'; import { DataTypes } from 'sequelize'; const sequelize = db.default.sequelize; +import { AssetType } from '../../../domain.types/assets/asset.types'; //////////////////////////////////////////////////////////////////////// @@ -19,9 +20,14 @@ export class WordPowerModel { }, AssetCode : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true + }, + AssetType : { + type : DataTypes.STRING(128), + allowNull : false, + defaultValue : AssetType.WordPower }, - Word : { + Name : { type : DataTypes.STRING(256), allowNull : false }, diff --git a/src/database/models/careplan/careplan.activity.model.ts b/src/database/models/careplan/careplan.activity.model.ts index f7ce428..4f1b027 100644 --- a/src/database/models/careplan/careplan.activity.model.ts +++ b/src/database/models/careplan/careplan.activity.model.ts @@ -34,7 +34,7 @@ export class CareplanActivityModel { }, Day : { type : DataTypes.INTEGER, - allowNull : false + allowNull : true }, TimeSlot : { type : DataTypes.ENUM({ values: TimeSlotList }), diff --git a/src/database/models/enrollment/enrollment.model.ts b/src/database/models/enrollment/enrollment.model.ts index 0d4a8e8..529cd71 100644 --- a/src/database/models/enrollment/enrollment.model.ts +++ b/src/database/models/enrollment/enrollment.model.ts @@ -47,7 +47,16 @@ export class EnrollmentModel { allowNull : false, defaultValue : 'Pending' }, - + DayOffset : { + type : DataTypes.INTEGER, + allowNull : false, + defaultValue : 0 + }, + WeekOffset : { + type : DataTypes.INTEGER, + allowNull : false, + defaultValue : 0 + }, CreatedAt : DataTypes.DATE, UpdatedAt : DataTypes.DATE, DeletedAt : DataTypes.DATE diff --git a/src/database/repository.services/assets/asset.helper.ts b/src/database/repository.services/assets/asset.helper.ts index 760de58..b50ce64 100644 --- a/src/database/repository.services/assets/asset.helper.ts +++ b/src/database/repository.services/assets/asset.helper.ts @@ -24,8 +24,8 @@ import { WebLinkModel } from '../../models/assets/web.link.model'; import { WebNewsfeedModel } from '../../models/assets/web.newsfeed.model'; import { WordPowerModel } from '../../models/assets/word.power.model'; import { ErrorHandler } from '../../../common/error.handler'; -import { uuid } from '../../../domain.types/miscellaneous/system.types'; -import { AssetType } from '../../../domain.types/assets/asset.types'; +import { AssetType, AssetTypeCodePrefixes } from '../../../domain.types/assets/asset.types'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,7 +33,7 @@ export class AssetHelper { //#region Publics - public static getAsset = async (id: uuid, assetType: AssetType) => { + public static getAsset = async (id: number, assetType: AssetType) => { try { switch (assetType) { @@ -121,4 +121,40 @@ export class AssetHelper { } } + public static generateAssetCode = (id: number, assetType: AssetType, assetName: string) => { + + let name = assetName; + name = name.toUpperCase(); + let cleanedName = ''; + const len = name.length; + for (let i = 0; i < len; i++) { + if (Helper.isAlpha(name.charAt(i))) { + if (!Helper.isAlphaVowel(name.charAt(i))) { + cleanedName += name.charAt(i); + } + } + } + + if (!AssetTypeCodePrefixes[assetType]) { + ErrorHandler.throwNotFoundError(`This asset type is not handled - ${assetType}`); + } + + var shortened = cleanedName.substring(0, 12); + + const code = AssetTypeCodePrefixes[assetType] + '-' + shortened + '-' + Helper.padInteger(id, 4, '0'); + return code; + }; + + public static updateAssetCode = async (record, service) => { + if (!record.AssetCode) { + const assetCode = AssetHelper.generateAssetCode(record.id, record.AssetType, record.Name); + const updated = await service.update(record.id, { AssetCode: assetCode }); + if (updated == null) { + ErrorHandler.throwInternalServerError('Unable to update asset!'); + } + return updated; + } + return record; + } + } diff --git a/src/database/repository.services/assets/word.power.service.ts b/src/database/repository.services/assets/word.power.service.ts index b8d6ea5..d429f18 100644 --- a/src/database/repository.services/assets/word.power.service.ts +++ b/src/database/repository.services/assets/word.power.service.ts @@ -140,9 +140,9 @@ export class WordPowerService { [Op.like] : '%' + filters.AssetCode + '%' }; } - if (filters.Word) { - search.where['Word'] = { - [Op.like] : '%' + filters.Word + '%' + if (filters.Name) { + search.where['Name'] = { + [Op.like] : '%' + filters.Name + '%' }; } if (filters.Description) { diff --git a/src/database/repository.services/enrollment/enrollment.task.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts index bd00fec..6701f3a 100644 --- a/src/database/repository.services/enrollment/enrollment.task.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -114,7 +114,7 @@ export class EnrollmentTaskService { } = this.addPaginationToSearch(search, filters); const foundResults = await this.EnrollmentTask.findAndCountAll(search); - const searchResults: EnrollmentTaskSearchResults = { + var searchResults: EnrollmentTaskSearchResults = { TotalCount : foundResults.count, RetrievedCount : foundResults.rows.length, PageIndex : pageIndex, @@ -124,6 +124,13 @@ export class EnrollmentTaskService { Items : foundResults.rows, }; + var items = []; + for await (var record of searchResults.Items) { + const asset = await AssetHelper.getAsset(record.AssetId, record.AssetType); + record.Asset = asset; + items.push(record); + } + searchResults.Items = items; return searchResults; } catch (error) { diff --git a/src/domain.types/assets/asset.types.ts b/src/domain.types/assets/asset.types.ts index 1848cf3..dec9eda 100644 --- a/src/domain.types/assets/asset.types.ts +++ b/src/domain.types/assets/asset.types.ts @@ -78,3 +78,31 @@ export const TimeSlotList: TimeSlot[] = [ TimeSlot.Unspecified, TimeSlot.WholeDay, ]; + +export const AssetTypeCodePrefixes = { + "Action plan" : "ACTNPLAN", + "Animation" : "ANIMTION", + "Appointment" : "APPNTMNT", + "Article" : "ARTICLE", + "Assessment" : "ASSESMNT", + "Audio" : "AUDIO", + "Biometrics" : "BIOMTRIC", + "Challenge" : "CHALLNGE", + "Checkup" : "CHECKUP", + "Consultation" : "CONSLTTN", + "Exercise" : "EXERCISE", + "Goal" : "GOAL", + "Infographics" : "INFGRPHC", + "Medication" : "MEDICATN", + "Meditation" : "MEDITATN", + "Message" : "MESSAGE", + "Nutrition" : "NUTRITON", + "Physiotherapy" : "PHYSTHRP", + "Priority" : "PRIORITY", + "Reflection" : "REFLECTN", + "Reminder" : "REMINDER", + "Video" : "VIDEO", + "Web link" : "WEBLINK", + "Web newsfeed" : "NEWSFEED", + "Word power" : "WORDPOWR", +}; diff --git a/src/domain.types/assets/word.power.domain.types.ts b/src/domain.types/assets/word.power.domain.types.ts index 6db6115..16e6467 100644 --- a/src/domain.types/assets/word.power.domain.types.ts +++ b/src/domain.types/assets/word.power.domain.types.ts @@ -7,48 +7,48 @@ import { } from "../miscellaneous/system.types"; export interface WordPowerCreateModel { - AssetCode ? : string; - Word ? : string; - Description ? : string; - AdditionalResources ? : string; - Tags ? : string; - Version ? : string; - OwnerUserId ? : uuid; + AssetCode ?: string; + Name ?: string; + Description ?: string; + AdditionalResources ?: string; + Tags ?: string; + Version ?: string; + OwnerUserId ?: uuid; } export interface WordPowerUpdateModel { - AssetCode ? : string; - Word ? : string; - Description ? : string; - AdditionalResources ? : string; - Tags ? : string; - Version ? : string; - OwnerUserId ? : uuid; + AssetCode ?: string; + Name ?: string; + Description ?: string; + AdditionalResources ?: string; + Tags ?: string; + Version ?: string; + OwnerUserId ?: uuid; } export interface WordPowerDto { - id: number; - AssetCode: string; - Word: string; - Description: string; + id : number; + AssetCode : string; + Name : string; + Description : string; AdditionalResources: string[]; - AssetCategory: string; - OwnerUserId: uuid; - Tags: string[]; - Version: string; + AssetCategory : string; + OwnerUserId : uuid; + Tags : string[]; + Version : string; } export interface WordPowerSearchFilters extends BaseSearchFilters { - AssetCode ? : string; - Word ? : string; - Description ? : string; - AdditionalResources ? : string; - AssetCategory ? : string; - Tags ? : string; - Version ? : string; + AssetCode ?: string; + Name ?: string; + Description ?: string; + AdditionalResources ?: string; + AssetCategory ?: string; + Tags ?: string; + Version ?: string; } export interface WordPowerSearchResults extends BaseSearchResults { Items: WordPowerDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/enrollment/enrollment.task.domain.types.ts b/src/domain.types/enrollment/enrollment.task.domain.types.ts index 3a553f3..80a010f 100644 --- a/src/domain.types/enrollment/enrollment.task.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.task.domain.types.ts @@ -30,6 +30,7 @@ export interface EnrollmentTaskDto { CareplanActivityId: uuid; AssetId : number; AssetType : AssetType; + Asset? : any; CareplanId : number; TimeSlot : TimeSlot; ScheduledDate : Date; diff --git a/tests/test-suite/word.power.test.js b/tests/test-suite/word.power.test.js index 5ffbe26..101f284 100644 --- a/tests/test-suite/word.power.test.js +++ b/tests/test-suite/word.power.test.js @@ -24,7 +24,7 @@ describe('Word power tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('AssetCode'); - expect(response.body.Data).to.have.property('Word'); + expect(response.body.Data).to.have.property('Name'); expect(response.body.Data).to.have.property('Description'); expect(response.body.Data).to.have.property('AdditionalResources'); expect(response.body.Data).to.have.property('AssetCategory'); @@ -34,7 +34,7 @@ describe('Word power tests', function() { expect(response.body.Data.id).to.equal(TestCache.WordPowerCreateModel.id); expect(response.body.Data.AssetCode).to.equal(TestCache.WordPowerCreateModel.AssetCode); - expect(response.body.Data.Word).to.equal(TestCache.WordPowerCreateModel.Word); + expect(response.body.Data.Name).to.equal(TestCache.WordPowerCreateModel.Name); expect(response.body.Data.Description).to.equal(TestCache.WordPowerCreateModel.Description); expect(response.body.Data.AdditionalResources).to.equal(TestCache.WordPowerCreateModel.AdditionalResources); expect(response.body.Data.AssetCategory).to.equal(TestCache.WordPowerCreateModel.AssetCategory); @@ -55,7 +55,7 @@ describe('Word power tests', function() { .expect(response => { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('AssetCode'); - expect(response.body.Data).to.have.property('Word'); + expect(response.body.Data).to.have.property('Name'); expect(response.body.Data).to.have.property('Description'); expect(response.body.Data).to.have.property('AdditionalResources'); expect(response.body.Data).to.have.property('AssetCategory'); @@ -65,7 +65,7 @@ describe('Word power tests', function() { expect(response.body.Data.id).to.equal(TestCache.WordPowerCreateModel.id); expect(response.body.Data.AssetCode).to.equal(TestCache.WordPowerCreateModel.AssetCode); - expect(response.body.Data.Word).to.equal(TestCache.WordPowerCreateModel.Word); + expect(response.body.Data.Name).to.equal(TestCache.WordPowerCreateModel.Name); expect(response.body.Data.Description).to.equal(TestCache.WordPowerCreateModel.Description); expect(response.body.Data.AdditionalResources).to.equal(TestCache.WordPowerCreateModel.AdditionalResources); expect(response.body.Data.AssetCategory).to.equal(TestCache.WordPowerCreateModel.AssetCategory); @@ -110,7 +110,7 @@ describe('Word power tests', function() { .expect(response => { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('AssetCode'); - expect(response.body.Data).to.have.property('Word'); + expect(response.body.Data).to.have.property('Name'); expect(response.body.Data).to.have.property('Description'); expect(response.body.Data).to.have.property('AdditionalResources'); expect(response.body.Data).to.have.property('AssetCategory'); @@ -120,7 +120,7 @@ describe('Word power tests', function() { expect(response.body.Data.id).to.equal(TestCache.WordPowerCreateModel.id); expect(response.body.Data.AssetCode).to.equal(TestCache.WordPowerCreateModel.AssetCode); - expect(response.body.Data.Word).to.equal(TestCache.WordPowerCreateModel.Word); + expect(response.body.Data.Name).to.equal(TestCache.WordPowerCreateModel.Name); expect(response.body.Data.Description).to.equal(TestCache.WordPowerCreateModel.Description); expect(response.body.Data.AdditionalResources).to.equal(TestCache.WordPowerCreateModel.AdditionalResources); expect(response.body.Data.AssetCategory).to.equal(TestCache.WordPowerCreateModel.AssetCategory); @@ -165,7 +165,7 @@ describe('Word power tests', function() { expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('id'); expect(response.body.Data).to.have.property('AssetCode'); - expect(response.body.Data).to.have.property('Word'); + expect(response.body.Data).to.have.property('Name'); expect(response.body.Data).to.have.property('Description'); expect(response.body.Data).to.have.property('AdditionalResources'); expect(response.body.Data).to.have.property('AssetCategory'); @@ -175,7 +175,7 @@ describe('Word power tests', function() { expect(response.body.Data.id).to.equal(TestCache.WordPowerCreateModel.id); expect(response.body.Data.AssetCode).to.equal(TestCache.WordPowerCreateModel.AssetCode); - expect(response.body.Data.Word).to.equal(TestCache.WordPowerCreateModel.Word); + expect(response.body.Data.Name).to.equal(TestCache.WordPowerCreateModel.Name); expect(response.body.Data.Description).to.equal(TestCache.WordPowerCreateModel.Description); expect(response.body.Data.AdditionalResources).to.equal(TestCache.WordPowerCreateModel.AdditionalResources); expect(response.body.Data.AssetCategory).to.equal(TestCache.WordPowerCreateModel.AssetCategory); @@ -194,10 +194,9 @@ describe('Word power tests', function() { function loadWordPowerCreateModel() { const model = { AssetCode: "WORDPOWER-AB-1", - Word: "Nutrition", + Name: "Nutrition", Description: "Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.", Version: "V1", - }; TestCache.WordPowerCreateModel = model; } @@ -205,12 +204,11 @@ function loadWordPowerCreateModel() { function loadWordPowerUpdateModel() { const model = { AssetCode: "WORDPOWER-AB-1", - Word: "Nutrition", + Name: "Nutrition", Description: "Nutrition is the biochemical and physiological process by which an organism uses food to support its life. It includes ingestion, absorption, assimilation, biosynthesis, catabolism and excretion.", AdditionalResources: ['https://en.wikipedia.org/wiki/Nutrition', 'https://en.wikipedia.org/wiki/Micronutrient'], Tags: ['Maternity', 'Neo-natal-care'], Version: "V1", - }; TestCache.WordPowerUpdateModel = model; } From 4e09a3dd9f08c9f75afa32372b0d5354153c1e2d Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Tue, 2 Aug 2022 10:26:23 +0530 Subject: [PATCH 035/169] Added check in update and create methods of careplan activity whether the asset is valid or not. --- .../careplan.activity.controller.delegate.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts index 0ce7407..f487be9 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts @@ -22,6 +22,7 @@ import { CareplanActivitySearchFilters, CareplanActivitySearchResults } from '../../../domain.types/careplan/careplan.activity.domain.types'; +import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,6 +41,7 @@ export class CareplanActivityControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); var createModel: CareplanActivityCreateModel = this.getCreateModel(requestBody); + await this.checkValidAssetType(createModel); const record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create careplan activity!', 400); @@ -71,6 +73,7 @@ export class CareplanActivityControllerDelegate { ErrorHandler.throwNotFoundError('Careplan activity with id ' + id.toString() + ' cannot be found!'); } const updateModel: CareplanActivityUpdateModel = this.getUpdateModel(requestBody); + await this.checkValidAssetType(updateModel, record); const updated = await this._service.update(id, updateModel); if (updated == null) { throw new ApiError('Unable to update careplan activity!', 400); @@ -193,6 +196,18 @@ export class CareplanActivityControllerDelegate { }; } + private async checkValidAssetType( + model: CareplanActivityUpdateModel | CareplanActivityCreateModel, record?: any) { + var assetType = model.AssetType ?? record?.AssetType; + var assetId = model.AssetId ?? record?.AssetId; + if (assetType && assetId) { + const asset = await AssetHelper.getAsset(assetId, assetType); + if (!asset) { + ErrorHandler.throwNotFoundError(`Asset of type ${assetType} with id ${assetId} cannot be found!`); + } + } + } + //#endregion } From f98556c7ede8f11675f0db6f2ed592916587ab96 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Wed, 3 Aug 2022 16:38:30 +0530 Subject: [PATCH 036/169] corrected participant response type and updated postman collection --- ...n.service.workflow.postman_collection.json | 1127 +++++++++++------ ...t.activity.response.controller.delegate.ts | 4 +- ...participant.activity.response.validator.ts | 6 +- src/database/models/assets/checkup.model.ts | 6 - .../participant.activity.response.model.ts | 2 +- ...ticipant.activity.response.domain.types.ts | 6 +- 6 files changed, 719 insertions(+), 432 deletions(-) diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index c4a35ae..1a22c56 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -1,9 +1,9 @@ { "info": { - "_postman_id": "4a2978a1-594c-4f4a-af37-fbe5583ba546", + "_postman_id": "7221e83d-a5f4-461b-b1a7-bbf030d7db35", "name": "careplan.service.workflow", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "5510218" + "_exporter_id": "15905052" }, "item": [ { @@ -2631,6 +2631,7 @@ "try {\r", " var respData = pm.response.json();\r", " pm.environment.set(\"ACTION_PLAN_ID\", respData.Data.id);\r", + " pm.environment.set(\"ACTION_PLAN_ASSET_CODE\", respData.Data.AssetCode);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -7391,6 +7392,7 @@ "try {\r", " var respData = pm.response.json();\r", " pm.environment.set(\"GOAL_ID\", respData.Data.id);\r", + " pm.environment.set(\"GOAL_ASSET_CODE\", respData.Data.AssetCode);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -7439,7 +7441,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\"\r\n}" + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"Version\": \"1.0\",\r\n \"Tags\": [\r\n \"Dibetic\"\r\n ]\r\n}" }, "url": { "raw": "{{BASE_URL}}/assets/goals", @@ -10374,6 +10376,7 @@ "try {\r", " var respData = pm.response.json();\r", " pm.environment.set(\"PRIORITY_ID\", respData.Data.id);\r", + " pm.environment.set(\"PRIORITY_ASSET_CODE\", respData.Data.AssetCode);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -15825,18 +15828,17 @@ ] }, { - "name": "User responses", + "name": "Participant responses", "item": [ { - "name": "User activity response", + "name": "Participant activity response", "item": [ { - "name": "Create", + "name": "Create response as json", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -15862,7 +15864,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -15871,39 +15874,45 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"EnrollmentTaskId\": \"{{ENROLLMENT_TASK_ID_1}}\",\r\n \"Response\": {\r\n \"Blood Glucose\": \"116 mg/dL\"\r\n }\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses", + "raw": "{{BASE_URL}}/participant-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses" + "participant-activity-responses" ] } }, "response": [] }, { - "name": "Get by id", + "name": "Create response", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"USER_ACTIVITY_RESPONSE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -15911,9 +15920,9 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(' User activity response is retrived', function () {\r", + "pm.test('New user activity response record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", " pm.expect(jsonRes.Data).to.have.property('Response');\r", @@ -15921,45 +15930,55 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"EnrollmentTaskId\": \"{{ENROLLMENT_TASK_ID_1}}\",\r\n \"Response\": {\r\n \"Blood Glucose\": \"116 mg/dL\",\r\n \"Body weight\": \"72 Kg\"\r\n }\r\n}" + }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", - "{{USER_ACTIVITY_RESPONSE_ID}}" + "participant-activity-responses" ] } }, "response": [] }, { - "name": "Search with filters", + "name": "Create response as string", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"USER_ACTIVITY_RESPONSE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -15967,77 +15986,65 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(' User activity response is retrived', function () {\r", + "pm.test('New user activity response record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('Response');\r", + " \r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"EnrollmentTaskId\": \"{{ENROLLMENT_TASK_ID_1}}\",\r\n \"Response\": \"Yes\"\r\n}" + }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses/search?careplanId=xyz&assetId=xyz&assetType=xyz&response=xyz&timeResponded=xyz&progressStatus=xyz", + "raw": "{{BASE_URL}}/participant-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", - "search" - ], - "query": [ - { - "key": "careplanId", - "value": "xyz" - }, - { - "key": "assetId", - "value": "xyz" - }, - { - "key": "assetType", - "value": "xyz" - }, - { - "key": "response", - "value": "xyz" - }, - { - "key": "timeResponded", - "value": "xyz" - }, - { - "key": "progressStatus", - "value": "xyz" - } + "participant-activity-responses" ] } }, "response": [] }, { - "name": "Update", + "name": "Create response as numbers", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"USER_ACTIVITY_RESPONSE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16045,60 +16052,58 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(' User activity response is updated', function () {\r", + "pm.test('New user activity response record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", " pm.expect(jsonRes.Data).to.have.property('Response');\r", - " \r", + " \r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], "request": { - "method": "PUT", + "method": "POST", "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" + "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"EnrollmentTaskId\": \"{{ENROLLMENT_TASK_ID_1}}\",\r\n \"Response\": 2\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", - "{{USER_ACTIVITY_RESPONSE_ID}}" + "participant-activity-responses" ] } }, "response": [] }, { - "name": "Delete", + "name": "Get by ActivityId", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16106,38 +16111,42 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User activity response is deleted', function () {\r", + "pm.test(' User activity response is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", - " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('Response');\r", + " \r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], "request": { - "method": "DELETE", + "method": "GET", "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses", + "participant-activity-responses", "{{USER_ACTIVITY_RESPONSE_ID}}" ] } @@ -16145,20 +16154,12 @@ "response": [] }, { - "name": "Create again", + "name": "Search with filters", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_ACTIVITY_RESPONSE_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16166,70 +16167,87 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user activity response record is created', function () {\r", + "pm.test(' User activity response is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", - " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", - " pm.expect(jsonRes.Data).to.have.property('Response');\r", - " \r", + " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], "request": { - "method": "POST", + "method": "GET", "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], - "body": { - "mode": "raw", - "raw": "{\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n\"Response\": \"{}\"\r\n\r\n}\r\n" - }, "url": { - "raw": "{{BASE_URL}}/user-activity-responses", + "raw": "{{BASE_URL}}/participant-activity-responses/search?participantId={{PARTICIPANT_USER_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-activity-responses" + "participant-activity-responses", + "search" + ], + "query": [ + { + "key": "careplanId", + "value": "xyz", + "disabled": true + }, + { + "key": "assetId", + "value": "xyz", + "disabled": true + }, + { + "key": "assetType", + "value": "xyz", + "disabled": true + }, + { + "key": "response", + "value": "xyz", + "disabled": true + }, + { + "key": "timeResponded", + "value": "xyz", + "disabled": true + }, + { + "key": "progressStatus", + "value": "xyz", + "disabled": true + }, + { + "key": "participantId", + "value": "{{PARTICIPANT_USER_ID}}" + } ] } }, "response": [] - } - ] - }, - { - "name": "User selected action plan", - "item": [ + }, { - "name": "Create", + "name": "Update", "event": [ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "try {\r", - " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", - "}\r", - "catch (error) {\r", - " console.log(error.message);\r", - "}\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16237,27 +16255,236 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected action plan record is created', function () {\r", + "pm.test(' User activity response is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", - " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", - " pm.expect(jsonRes.Data).to.have.property('Name');\r", - " pm.expect(jsonRes.Data).to.have.property('Description');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", - " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", - " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('Response');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n \"Response\": \"{Answer: 99 F}\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participant-activity-responses", + "{{USER_ACTIVITY_RESPONSE_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('User activity response is deleted', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", + " pm.expect(jsonRes.Data.Deleted).equals(true);\r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participant-activity-responses", + "{{USER_ACTIVITY_RESPONSE_ID}}" + ] + } + }, + "response": [] + }, + { + "name": "Create again", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"USER_ACTIVITY_RESPONSE_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user activity response record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('EnrollmentScheduleId');\r", + " pm.expect(jsonRes.Data).to.have.property('Response');\r", + " \r", + "});\r", + "\r", + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"EnrollmentScheduleId\": \"{{ENROLLMENT_SCHEDULE_ID}}\",\r\n \"Response\": \"{Answer : 120 mg/dL}\"\r\n}" + }, + "url": { + "raw": "{{BASE_URL}}/participant-activity-responses", + "host": [ + "{{BASE_URL}}" + ], + "path": [ + "participant-activity-responses" + ] + } + }, + "response": [] + } + ] + } + ] + }, + { + "name": "Setting Priority/Goal/Action Plan", + "item": [ + { + "name": "Participant selected priority", + "item": [ + { + "name": "Create", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "try {\r", + " var respData = pm.response.json();\r", + " pm.environment.set(\"USER_SELECTED_PRIORITY_ID\", respData.Data.id);\r", + "}\r", + "catch (error) {\r", + " console.log(error.message);\r", + "}\r", + "\r", + "pm.test('Request is successfull', function () {\r", + " pm.response.to.have.status(200);\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Status).to.eql('success');\r", + "});\r", + "\r", + "pm.test('New user selected priority record is created', function () {\r", + " var jsonRes = pm.response.json();\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('UserId');\r", + " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", + " pm.expect(jsonRes.Data).to.have.property('Name');\r", + " pm.expect(jsonRes.Data).to.have.property('Description');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", + " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", + "\r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var today = (new Date()).toISOString().split('T')[0];\r", + "pm.environment.set(\"TODAY\", today);" + ], + "type": "text/javascript" } } ], @@ -16266,26 +16493,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Weight management\",\r\n \"Description\": \".....\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"AssetId\": \"{{PRIORITY_ID}}\",\r\n \"AssetType\": \"Priority\",\r\n \"AssetCode\": \"{{PRIORITY_ASSET_CODE}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"StartDate\": \"{{TODAY}}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans", + "raw": "{{BASE_URL}}/participant-selected-priorities", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans" + "participant-selected-priorities" ] } }, @@ -16297,9 +16524,7 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16307,27 +16532,25 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected action plan is retrived', function () {\r", + "pm.test('User selected priority record is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", + " \r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + "\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16336,23 +16559,23 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/participant-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans", - "{{USER_SELECTED_ACTION_PLAN_ID}}" + "participant-selected-priorities", + "{{USER_SELECTED_PRIORITYL_ID}}" ] } }, @@ -16364,8 +16587,8 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ + "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -16373,12 +16596,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(' User selected action plans are retrived', function () {\r", + "pm.test(' User selected priority! is retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16387,60 +16611,53 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans/search?name=xyz&description=xyz&careplanId=xyz&assetId=xyz&assetType=xyz&additionalDetails=xyz&startDate=xyz&endDate=xyz&progressStatus=xyz", + "raw": "{{BASE_URL}}/participant-selected-priorities/search?name=Stress management", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans", + "participant-selected-priorities", "search" ], "query": [ { "key": "name", - "value": "xyz" + "value": "Stress management" }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "careplanId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetType", - "value": "xyz" - }, - { - "key": "additionalDetails", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "startDate", - "value": "xyz" - }, - { - "key": "endDate", - "value": "xyz" - }, - { - "key": "progressStatus", - "value": "xyz" + "value": "xyz", + "disabled": true } ] } @@ -16453,7 +16670,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -16462,7 +16678,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected action plan record is updated', function () {\r", + "pm.test('User selected priority record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", @@ -16471,18 +16687,15 @@ " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16491,27 +16704,27 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Stress management\",\r\n \"Description\": \"Sleep at least 6 hours a day\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"AssetId\": \"{{PRIORITY_ID}}\",\r\n \"AssetType\": \"Priority\",\r\n \"AssetCode\": \"{{PRIORITY_ASSET_CODE}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"StartDate\": \"{{TODAY}}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/participant-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans", - "{{USER_SELECTED_ACTION_PLAN_ID}}" + "participant-selected-priorities", + "{{USER_SELECTED_PRIORITYL_ID}}" ] } }, @@ -16523,7 +16736,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -16533,14 +16745,15 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected action plan is deleted', function () {\r", + "pm.test('User selected priority is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16549,23 +16762,27 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", + "raw": "{{BASE_URL}}/participant-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans", - "{{USER_SELECTED_ACTION_PLAN_ID}}" + "participant-selected-priorities", + "{{USER_SELECTED_PRIORITYL_ID}}" ] } }, @@ -16577,11 +16794,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -16593,30 +16809,26 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected action plan record is created', function () {\r", + "pm.test('New user selected priority record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", - " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", - " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", - " \r", - " \r", - " pm.expect(jsonRes.Data.UserId).equals('USER_ID');\r", - " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", " pm.expect(jsonRes.Data.CareplanId).equals('CAREPLAN_ID');\r", - " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + "\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16625,26 +16837,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Stress management\",\r\n \"Description\": \".....\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"AssetId\": \"{{PRIORITY_ID}}\",\r\n \"AssetType\": \"Priority\",\r\n \"AssetCode\": \"{{PRIORITY_ASSET_CODE}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"StartDate\": \"{{TODAY}}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-action-plans", + "raw": "{{BASE_URL}}/participant-selected-priorities", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-action-plans" + "participant-selected-priorities" ] } }, @@ -16653,7 +16865,7 @@ ] }, { - "name": "User selected goal", + "name": "Participant selected goal", "item": [ { "name": "Create", @@ -16661,7 +16873,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -16697,7 +16908,23 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var today = (new Date()).toISOString().split('T')[0];\r", + "pm.environment.set(\"TODAY\", today);\r", + "today = new Date();\r", + "var tomorrow = new Date();\r", + "// Add 30 Day\r", + "tomorrow.setDate(today.getDate() + 30);\r", + "pm.environment.set(\"TODAY_+_30days\", tomorrow);" + ], + "type": "text/javascript" } } ], @@ -16706,26 +16933,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"SelectedPriorityId\": \"{{USER_SELECTED_PRIORITY_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{GOAL_ID}}\",\r\n \"AssetType\": \"Goal\",\r\n \"AssetCode\": \"{{GOAL_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_30days}}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-goals", + "raw": "{{BASE_URL}}/participant-selected-goals", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals" + "participant-selected-goals" ] } }, @@ -16737,7 +16964,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -16766,7 +16992,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16775,22 +17002,22 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-goals/{{USER_SELECTED_GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals", + "participant-selected-goals", "{{USER_SELECTED_GOAL_ID}}" ] } @@ -16803,7 +17030,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -16818,7 +17044,8 @@ " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16827,60 +17054,68 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-goals/search?name=xyz&description=xyz&careplanId=xyz&assetId=xyz&assetType=xyz&additionalDetails=xyz&startDate=xyz&endDate=xyz&progressStatus=xyz", + "raw": "{{BASE_URL}}/participant-selected-goals/search?careplanId={{CARE_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals", + "participant-selected-goals", "search" ], "query": [ { "key": "name", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "description", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "careplanId", - "value": "xyz" + "value": "{{CARE_PLAN_ID}}" }, { "key": "assetId", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "assetType", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "additionalDetails", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "startDate", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "endDate", - "value": "xyz" + "value": "xyz", + "disabled": true }, { "key": "progressStatus", - "value": "xyz" + "value": "xyz", + "disabled": true } ] } @@ -16893,7 +17128,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -16923,7 +17157,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16932,26 +17167,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n \"Description\": \"Control your sugar intake\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"SelectedPriorityId\": \"{{USER_SELECTED_PRIORITY_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{GOAL_ID}}\",\r\n \"AssetType\": \"Goal\",\r\n \"AssetCode\": \"{{GOAL_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_30days}}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-goals/{{USER_SELECTED_GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals", + "participant-selected-goals", "{{USER_SELECTED_GOAL_ID}}" ] } @@ -16964,7 +17199,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -16981,7 +17215,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -16990,22 +17225,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/user-selected-goals/{{USER_SELECTED_GOAL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-goals/{{USER_SELECTED_GOAL_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals", + "participant-selected-goals", "{{USER_SELECTED_GOAL_ID}}" ] } @@ -17018,7 +17257,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", @@ -17057,7 +17295,8 @@ "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -17066,26 +17305,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Blood Glucose\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"AdditionalDetails\": \"...\",\r\n\"StartDate\": \"2022-01-01\",\r\n\"EndDate\": \"2023-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Blood Pressure\",\r\n \"Description\": \".....\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"SelectedPriorityId\": \"{{USER_SELECTED_PRIORITY_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{GOAL_ID}}\",\r\n \"AssetType\": \"Goal\",\r\n \"AssetCode\": \"{{GOAL_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_30days}}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-goals", + "raw": "{{BASE_URL}}/participant-selected-goals", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-goals" + "participant-selected-goals" ] } }, @@ -17094,7 +17333,7 @@ ] }, { - "name": "User selected priority", + "name": "Participant selected action plan", "item": [ { "name": "Create", @@ -17102,11 +17341,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -17118,24 +17356,43 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected priority record is created', function () {\r", + "pm.test('New user selected action plan record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - "\r", - " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - "\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" + } + }, + { + "listen": "prerequest", + "script": { + "exec": [ + "var today = (new Date()).toISOString().split('T')[0];\r", + "pm.environment.set(\"TODAY\", today);\r", + "today = new Date();\r", + "var tomorrow = new Date();\r", + "// Add 5 Day\r", + "tomorrow.setDate(today.getDate() + 5);\r", + "pm.environment.set(\"TODAY_+_5days\", tomorrow);" + ], + "type": "text/javascript" } } ], @@ -17144,26 +17401,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"GoalId\": \"{{USER_SELECTED_GOAL_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Action plan\",\r\n \"AssetCode\": \"{{ACTION_PLAN_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_5days}}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-priorities", + "raw": "{{BASE_URL}}/participant-selected-action-plans", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities" + "participant-selected-action-plans" ] } }, @@ -17175,8 +17432,8 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ + "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -17184,24 +17441,28 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected priority record is retrived', function () {\r", + "pm.test('User selected action plan is retrived', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " \r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - "\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -17210,23 +17471,23 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities", - "{{USER_SELECTED_PRIORITYL_ID}}" + "participant-selected-action-plans", + "{{USER_SELECTED_ACTION_PLAN_ID}}" ] } }, @@ -17238,9 +17499,7 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ - "\r", "\r", "pm.test('Request is successfull', function () {\r", " pm.response.to.have.status(200);\r", @@ -17248,12 +17507,13 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test(' User selected priority! is retrived', function () {\r", + "pm.test(' User selected action plans are retrived', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -17262,28 +17522,29 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "url": { - "raw": "{{BASE_URL}}/user-selected-priorities/search?name=Stress management", + "raw": "{{BASE_URL}}/participant-selected-action-plans/search?careplanId=1", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities", + "participant-selected-action-plans", "search" ], "query": [ { "key": "name", - "value": "Stress management" + "value": "xyz", + "disabled": true }, { "key": "description", @@ -17292,8 +17553,7 @@ }, { "key": "careplanId", - "value": "xyz", - "disabled": true + "value": "1" }, { "key": "assetId", @@ -17305,10 +17565,30 @@ "value": "xyz", "disabled": true }, + { + "key": "additionalDetails", + "value": "xyz", + "disabled": true + }, { "key": "startDate", "value": "xyz", "disabled": true + }, + { + "key": "endDate", + "value": "xyz", + "disabled": true + }, + { + "key": "progressStatus", + "value": "xyz", + "disabled": true + }, + { + "key": "participantId", + "value": "{{PARTICIPANT_USER_ID}}", + "disabled": true } ] } @@ -17321,7 +17601,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "pm.test('Request is successfull', function () {\r", @@ -17330,7 +17609,7 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected priority record is updated', function () {\r", + "pm.test('User selected action plan record is updated', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", @@ -17339,14 +17618,19 @@ " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -17355,27 +17639,27 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \"We need to follow low carb and high protien diet\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"GoalId\": \"{{USER_SELECTED_GOAL_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Action plan\",\r\n \"AssetCode\": \"{{ACTION_PLAN_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_5days}}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities", - "{{USER_SELECTED_PRIORITYL_ID}}" + "participant-selected-action-plans", + "{{USER_SELECTED_ACTION_PLAN_ID}}" ] } }, @@ -17387,7 +17671,6 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "\r", "\r", @@ -17397,14 +17680,15 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('User selected priority is deleted', function () {\r", + "pm.test('User selected action plan is deleted', function () {\r", " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data).to.have.property('Deleted');\r", " pm.expect(jsonRes.Data.Deleted).equals(true);\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -17413,23 +17697,27 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], + "body": { + "mode": "raw", + "raw": "" + }, "url": { - "raw": "{{BASE_URL}}/user-selected-priorities/{{USER_SELECTED_PRIORITYL_ID}}", + "raw": "{{BASE_URL}}/participant-selected-action-plans/{{USER_SELECTED_ACTION_PLAN_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities", - "{{USER_SELECTED_PRIORITYL_ID}}" + "participant-selected-action-plans", + "{{USER_SELECTED_ACTION_PLAN_ID}}" ] } }, @@ -17441,11 +17729,10 @@ { "listen": "test", "script": { - "type": "text/javascript", "exec": [ "try {\r", " var respData = pm.response.json();\r", - " pm.environment.set(\"USER_SELECTED_PRIORITYL_ID\", respData.Data.id);\r", + " pm.environment.set(\"USER_SELECTED_ACTION_PLAN_ID\", respData.Data.id);\r", "}\r", "catch (error) {\r", " console.log(error.message);\r", @@ -17457,25 +17744,31 @@ " pm.expect(jsonRes.Status).to.eql('success');\r", "});\r", "\r", - "pm.test('New user selected priority record is created', function () {\r", + "pm.test('New user selected action plan record is created', function () {\r", " var jsonRes = pm.response.json();\r", - " pm.expect(jsonRes.Data).to.have.property('id');\r", + " pm.expect(jsonRes.Data).to.have.property('id');\r", " pm.expect(jsonRes.Data).to.have.property('UserId');\r", " pm.expect(jsonRes.Data).to.have.property('CareplanId');\r", " pm.expect(jsonRes.Data).to.have.property('Name');\r", " pm.expect(jsonRes.Data).to.have.property('Description');\r", " pm.expect(jsonRes.Data).to.have.property('AssetId');\r", " pm.expect(jsonRes.Data).to.have.property('AssetType');\r", + " pm.expect(jsonRes.Data).to.have.property('AdditionalDetails');\r", " pm.expect(jsonRes.Data).to.have.property('StartDate');\r", - " \r", - " pm.expect(jsonRes.Data.Name).equals('Stress management');\r", + " pm.expect(jsonRes.Data).to.have.property('EndDate');\r", + " pm.expect(jsonRes.Data).to.have.property('ProgressStatus');\r", + " \r", + " \r", + " pm.expect(jsonRes.Data.UserId).equals('USER_ID');\r", + " pm.expect(jsonRes.Data.Name).equals('Reduce Fasting Blood Glucose');\r", " pm.expect(jsonRes.Data.CareplanId).equals('CAREPLAN_ID');\r", - " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", - "\r", + " pm.expect(jsonRes.Data.StartDate).equals('2022-01-01');\r", + " pm.expect(jsonRes.Data.EndDate).equals('2023-01-01');\r", "});\r", "\r", "" - ] + ], + "type": "text/javascript" } } ], @@ -17484,26 +17777,26 @@ "header": [ { "key": "Content-Type", - "type": "text", - "value": "application/json" + "value": "application/json", + "type": "text" }, { - "key": "Authorization", - "type": "text", - "value": "Bearer {{USER_JWT}}" + "key": "x-api-key", + "value": "{{API_CLIENT_INTERNAL_KEY}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Stress management\",\r\n\"Description\": \".....\",\r\n\"UserId\": \"{{USER_ID}}\",\r\n\"CareplanId\": \"{{CAREPLAN_ID}}\",\r\n\"StartDate\": \"2022-01-01\"\r\n\r\n}\r\n" + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \"Eat less carbs\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_USER_ID}}\",\r\n \"GoalId\": \"{{USER_SELECTED_GOAL_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Action plan\",\r\n \"AssetCode\": \"{{ACTION_PLAN_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_5days}}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/user-selected-priorities", + "raw": "{{BASE_URL}}/participant-selected-action-plans", "host": [ "{{BASE_URL}}" ], "path": [ - "user-selected-priorities" + "participant-selected-action-plans" ] } }, diff --git a/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts index 17b6e7e..4fbc688 100644 --- a/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts +++ b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts @@ -145,7 +145,7 @@ export class ParticipantActivityResponseControllerDelegate { updateModel.EnrollmentTaskId = requestBody.EnrollmentTaskId; } if (Helper.hasProperty(requestBody, 'Response')) { - updateModel.Response = requestBody.Response; + updateModel.Response = JSON.stringify(requestBody.Response); } if (Helper.hasProperty(requestBody, 'ProgressStatus')) { updateModel.ProgressStatus = requestBody.ProgressStatus; @@ -162,7 +162,7 @@ export class ParticipantActivityResponseControllerDelegate { CareplanId : enrollmentTask.CareplanId ? enrollmentTask.CareplanId : null , AssetId : enrollmentTask.AssetId ? enrollmentTask.AssetId : null, AssetType : enrollmentTask.AssetType ? enrollmentTask.AssetType : null, - Response : requestBody.Response ? requestBody.Response : '{}', + Response : requestBody.Response ? JSON.stringify(requestBody.Response) : JSON.stringify([]), TimeResponded : new Date(), ProgressStatus : requestBody.ProgressStatus ? requestBody.ProgressStatus : 'Completed' }; diff --git a/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts index a397729..2228349 100644 --- a/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts +++ b/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts @@ -16,7 +16,7 @@ export class ParticipantActivityResponseValidator { EnrollmentTaskId : joi.string().guid({ version : ['uuidv4'] }).optional(), - Response : joi.string().optional(), + Response : joi.any().optional(), ProgressStatus : joi.string().optional() }); return await schema.validateAsync(requestBody); @@ -34,7 +34,7 @@ export class ParticipantActivityResponseValidator { EnrollmentTaskId : joi.string().guid({ version : ['uuidv4'] }).optional(), - Response : joi.string().optional(), + Response : joi.any().optional(), ProgressStatus : joi.string().optional() }); return await schema.validateAsync(requestBody); @@ -50,7 +50,7 @@ export class ParticipantActivityResponseValidator { careplanId : joi.number().integer().optional(), assetId : joi.number().integer().optional(), assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), - response : joi.string().optional(), + response : joi.any().optional(), timeResponded : joi.date().iso().optional(), progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() }); diff --git a/src/database/models/assets/checkup.model.ts b/src/database/models/assets/checkup.model.ts index 48cab48..b8ca01d 100644 --- a/src/database/models/assets/checkup.model.ts +++ b/src/database/models/assets/checkup.model.ts @@ -77,12 +77,6 @@ export class CheckupModel { //Add associations here... - models.Checkup.belongsTo(models.User, { - sourceKey : 'OwnerUserId', - targetKey : 'id', - as : 'OwnerUser' - }); - }; } diff --git a/src/database/models/participant.responses/participant.activity.response.model.ts b/src/database/models/participant.responses/participant.activity.response.model.ts index 604fee6..3529fb9 100644 --- a/src/database/models/participant.responses/participant.activity.response.model.ts +++ b/src/database/models/participant.responses/participant.activity.response.model.ts @@ -54,7 +54,7 @@ export class ParticipantActivityResponseModel { Response : { type : DataTypes.TEXT, allowNull : false, - defaultValue : '{}' + defaultValue : '[]' }, TimeResponded : { type : DataTypes.DATE, diff --git a/src/domain.types/participant.responses/participant.activity.response.domain.types.ts b/src/domain.types/participant.responses/participant.activity.response.domain.types.ts index ec266a0..556df75 100644 --- a/src/domain.types/participant.responses/participant.activity.response.domain.types.ts +++ b/src/domain.types/participant.responses/participant.activity.response.domain.types.ts @@ -10,7 +10,7 @@ import { export interface ParticipantActivityResponseCreateModel { ParticipantId : uuid; - EnrollmentTaskId: uuid; + EnrollmentTaskId : uuid; CareplanActivityId : uuid; CareplanId : number; AssetId : number; @@ -22,7 +22,7 @@ export interface ParticipantActivityResponseCreateModel { export interface ParticipantActivityResponseUpdateModel { ParticipantId ?: uuid; - EnrollmentTaskId ?: uuid; + EnrollmentTaskId ?: uuid; Response ?: string; ProgressStatus ?: ProgressStatus; } @@ -30,7 +30,7 @@ export interface ParticipantActivityResponseUpdateModel { export interface ParticipantActivityResponseDto { id : uuid; ParticipantId : uuid; - EnrollmentTaskId: uuid; + EnrollmentTaskId : uuid; CareplanActivityId : uuid; CareplanId : number; AssetId : number; From 2dead80e89e9fc245309f7cf126451f795ca8c29 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Fri, 12 Aug 2022 16:04:08 +0530 Subject: [PATCH 037/169] Created dev-ci-cd.yml --- .github/workflows/dev-ci-cd.yml | 105 ++++++++++++++++++++++ .github/workflows/pr-ci-cd.yml | 149 ++++++++++++++++++++++++++++++++ 2 files changed, 254 insertions(+) create mode 100644 .github/workflows/dev-ci-cd.yml create mode 100644 .github/workflows/pr-ci-cd.yml diff --git a/.github/workflows/dev-ci-cd.yml b/.github/workflows/dev-ci-cd.yml new file mode 100644 index 0000000..f8f52b3 --- /dev/null +++ b/.github/workflows/dev-ci-cd.yml @@ -0,0 +1,105 @@ +# This workflow will trigger pull requests and apply a label based on the +# paths that are modified in the pull request. +# +# To use this workflow, you will need to set up a .github/labeler.yml +# file with configuration. For more information, see: +# https://github.com/actions/labeler + +name: Dev-CI-CD + +# Controls when the workflow will run +on: + # Triggers the workflow on push events but only for the develop branch + push: + branches: [develop] + +jobs: + Deploy-ECS: + environment: dev + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Declare some variables + id: vars + shell: bash + run: | + echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/} | sed "s/\\//-/g")" + echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "::set-output name=repo_name::$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}')" + - name: Another step + run: | + echo "Branch: ${{ steps.vars.outputs.branch }}" + echo "Sha: ${{ steps.vars.outputs.sha_short }}" + echo "Repo: ${{ steps.vars.outputs.repo_name }}" + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v1 + + - name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: ./ + file: ./Dockerfile + builder: ${{ steps.buildx.outputs.name }} + push: true + tags: ${{ steps.login-ecr.outputs.registry }}/reancare-service-dev-uat:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} + + - name: Download task definition + run: | + aws ecs describe-task-definition --task-definition ${{ secrets.TASK_DEFINTION_NAME }} \ + --query taskDefinition > task-definition.json + - name: New image ID in the Amazon ECS task definition + id: task-def + uses: aws-actions/amazon-ecs-render-task-definition@v1 + with: + task-definition: task-definition.json + container-name: default + image: ${{ steps.login-ecr.outputs.registry }}/reancare-service-dev-uat:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + + - name: Deploy Amazon ECS task definition + uses: aws-actions/amazon-ecs-deploy-task-definition@v1 + with: + task-definition: ${{ steps.task-def.outputs.task-definition }} + wait-for-service-stability: true + + - name: Task Definition Variable + id: taskdefintionvar + shell: bash + run: | + echo "::set-output name=task_definition_arn::$(aws ecs describe-task-definition --task-definition ${{ secrets.TASK_DEFINTION_NAME }} | jq '.[] | .taskDefinitionArn')" + - name: Task Defintion ARN + run: | + echo "Task Defintion: ${{ steps.taskdefintionvar.outputs.task_definition_arn }}" + - name: Deploy Amazon ECS task definition using Duplo API + uses: fjogeleit/http-request-action@master + with: + url: 'https://reanfoundation.duplocloud.net/subscriptions/${{ secrets.DUPLO_ID }}/UpdateEcsService' + method: 'POST' + data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200}' + bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/pr-ci-cd.yml b/.github/workflows/pr-ci-cd.yml new file mode 100644 index 0000000..8bfe188 --- /dev/null +++ b/.github/workflows/pr-ci-cd.yml @@ -0,0 +1,149 @@ +# This workflow will trigger pull requests and apply a label based on the +# paths that are modified in the pull request. +# +# To use this workflow, you will need to set up a .github/labeler.yml +# file with configuration. For more information, see: +# https://github.com/actions/labeler + +name: PR-CI-CD + +# Controls when the workflow will run +on: + # Triggers the workflow on push or pull request events but only for the develop branch + pull_request: + branches: [develop] + +jobs: + CodeScan-ESLint: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v2.3.4 + with: + fetch-depth: 0 + + - name: Lint Code Base + uses: docker://ghcr.io/github/super-linter:latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + LINTER_RULES_PATH: / + TYPESCRIPT_ES_CONFIG_FILE: .eslintrc.json + VALIDATE_TYPESCRIPT_ES: true + VALIDATE_ALL_CODEBASE: false + DEFAULT_BRANCH: develop + + Build-Docker-Image: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Declare some variables + id: vars + shell: bash + run: | + echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/} | sed "s/\\//-/g")" + echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "::set-output name=repo_name::$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}')" + - name: Another step + run: | + echo "Branch: ${{ steps.vars.outputs.branch }}" + echo "Sha: ${{ steps.vars.outputs.sha_short }}" + echo "Repo: ${{ steps.vars.outputs.repo_name }}" + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - name: Build + id: docker_build + uses: docker/build-push-action@v2 + with: + context: ./ + file: ./Dockerfile + builder: ${{ steps.buildx.outputs.name }} + push: false + tags: reancare/services:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From f36e6bf68444c74eac84abcf4caa91ba676a4cde Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Fri, 12 Aug 2022 19:52:06 +0530 Subject: [PATCH 038/169] renamed config file --- reancare.config.json => careplan.config.json | 0 reancare.config.local.json => careplan.config.local.json | 2 +- postman/careplan.service.workflow.postman_collection.json | 4 ++-- src/config/configuration.manager.ts | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) rename reancare.config.json => careplan.config.json (100%) rename reancare.config.local.json => careplan.config.local.json (91%) diff --git a/reancare.config.json b/careplan.config.json similarity index 100% rename from reancare.config.json rename to careplan.config.json diff --git a/reancare.config.local.json b/careplan.config.local.json similarity index 91% rename from reancare.config.local.json rename to careplan.config.local.json index 0110738..98d8427 100644 --- a/reancare.config.local.json +++ b/careplan.config.local.json @@ -1,5 +1,5 @@ { - "SystemIdentifier": "REAN HealthGuru", + "SystemIdentifier": "REAN Careplan Service", "Auth" : { "Authentication": "Custom", "Authorization": "Custom" diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index 0d1de36..ef0feb2 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "22cb4975-3599-4b7a-857c-f9c752694656", + "_postman_id": "7c87b21c-4b6f-4088-b5e2-84d0f0e2a077", "name": "careplan.service.workflow", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "15905052" @@ -299,7 +299,7 @@ "listen": "prerequest", "script": { "exec": [ - "pm.environment.set(\"ADMIN_PASSWORD\", \"X*)#43%$QWY\");" + "pm.environment.set(\"MODERATOR_PASSWORD\", \"X*)#43%$QWY\");" ], "type": "text/javascript" } diff --git a/src/config/configuration.manager.ts b/src/config/configuration.manager.ts index 153ff83..5e4bd42 100644 --- a/src/config/configuration.manager.ts +++ b/src/config/configuration.manager.ts @@ -1,6 +1,6 @@ import path from 'path'; -import * as defaultConfiguration from '../../reancare.config.json'; -import * as localConfiguration from '../../reancare.config.local.json'; +import * as defaultConfiguration from '../../careplan.config.json'; +import * as localConfiguration from '../../careplan.config.json'; import { AuthenticationType, AuthorizationType, Configurations, From d278b58eb3dac553bf96c549375d700d95b8b300 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Mon, 15 Aug 2022 12:15:51 +0530 Subject: [PATCH 039/169] Added combined authenticator --- reancare.config.json | 2 +- seed.data/role.privileges.json | 5 ++- .../careplan.activity.routes.ts | 4 +- .../careplan.category.routes.ts | 4 +- src/api/careplan/careplan/careplan.routes.ts | 6 +-- .../enrollment.task/enrollment.task.routes.ts | 4 +- .../enrollment/enrollment.routes.ts | 4 +- .../participant/participant.routes.ts | 4 +- src/api/user/user.controller.delegate.ts | 24 ++++++++++-- src/api/user/user.controller.ts | 13 ++++++- src/api/user/user.routes.ts | 2 + src/auth/authenticator.ts | 23 +++++++++++- src/common/helper.ts | 24 ++++++------ .../repository.services/user/user.service.ts | 37 +++++++++++++++++++ src/domain.types/auth.domain.types.ts | 6 ++- .../providers/custom.file.storage.service.ts | 4 +- 16 files changed, 128 insertions(+), 38 deletions(-) diff --git a/reancare.config.json b/reancare.config.json index f3bd186..ec81e96 100644 --- a/reancare.config.json +++ b/reancare.config.json @@ -21,5 +21,5 @@ "CleanupFolderBeforeMinutes": 10 }, "MaxUploadFileSize": 104857600, - "JwtExpiresIn": 2592000 + "JwtExpiresIn": 259200 } diff --git a/seed.data/role.privileges.json b/seed.data/role.privileges.json index c4ad1b6..beef333 100644 --- a/seed.data/role.privileges.json +++ b/seed.data/role.privileges.json @@ -30,7 +30,10 @@ "ApiClient.Update", "ApiClient.Delete", "ApiClient.GetApiKey", - "ApiClient.RenewApiKey" + "ApiClient.RenewApiKey", + + "Careplan.Search", + "Careplan.GetById" ] }, { diff --git a/src/api/careplan/careplan.activity/careplan.activity.routes.ts b/src/api/careplan/careplan.activity/careplan.activity.routes.ts index c6c8140..dafe7e1 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.routes.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.routes.ts @@ -15,8 +15,8 @@ export const register = (app: express.Application): void => { const controller = new CareplanActivityController(); router.post('/', authenticator.authenticateUser, controller.create); - router.get('/search', authenticator.authenticateUser, controller.search); - router.get('/:id', authenticator.authenticateUser, controller.getById); + router.get('/search', authenticator.authenticateClientOrUser, controller.search); + router.get('/:id', authenticator.authenticateClientOrUser, controller.getById); router.put('/:id', authenticator.authenticateUser, controller.update); router.delete('/:id', authenticator.authenticateUser, controller.delete); diff --git a/src/api/careplan/careplan.category/careplan.category.routes.ts b/src/api/careplan/careplan.category/careplan.category.routes.ts index 1d37a17..c5c2f49 100644 --- a/src/api/careplan/careplan.category/careplan.category.routes.ts +++ b/src/api/careplan/careplan.category/careplan.category.routes.ts @@ -11,8 +11,8 @@ export const register = (app: express.Application): void => { const controller = new CareplanCategoryController(); router.post('/', authenticator.authenticateUser, controller.create); - router.get('/search', authenticator.authenticateUser, controller.search); - router.get('/:id', authenticator.authenticateUser, controller.getById); + router.get('/search', authenticator.authenticateClientOrUser, controller.search); + router.get('/:id', authenticator.authenticateClientOrUser, controller.getById); router.put('/:id', authenticator.authenticateUser, controller.update); router.delete('/:id', authenticator.authenticateUser, controller.delete); diff --git a/src/api/careplan/careplan/careplan.routes.ts b/src/api/careplan/careplan/careplan.routes.ts index 4e1722e..12f6356 100644 --- a/src/api/careplan/careplan/careplan.routes.ts +++ b/src/api/careplan/careplan/careplan.routes.ts @@ -11,10 +11,8 @@ export const register = (app: express.Application): void => { const controller = new CarePlanController(); router.post('/', authenticator.authenticateUser, controller.create); - router.get('/search', authenticator.authenticateUser, controller.search); - router.get('/client/search', authenticator.authenticateClient, controller.search); - router.get('/:id', authenticator.authenticateUser, controller.getById); - router.get('/client/:id', authenticator.authenticateClient, controller.getById); + router.get('/search', authenticator.authenticateClientOrUser, controller.search); + router.get('/:id', authenticator.authenticateClientOrUser, controller.getById); router.put('/:id', authenticator.authenticateUser, controller.update); router.delete('/:id', authenticator.authenticateUser, controller.delete); diff --git a/src/api/enrollment/enrollment.task/enrollment.task.routes.ts b/src/api/enrollment/enrollment.task/enrollment.task.routes.ts index 8160e79..7db9178 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.routes.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.routes.ts @@ -14,8 +14,8 @@ export const register = (app: express.Application): void => { const authenticator = Loader.Authenticator; const controller = new EnrollmentTaskController(); - router.get('/search', authenticator.authenticateClient, controller.search); - router.get('/:id', authenticator.authenticateClient, controller.getById); + router.get('/search', authenticator.authenticateClientOrUser, controller.search); + router.get('/:id', authenticator.authenticateClientOrUser, controller.getById); app.use('/api/v1/enrollment-tasks', router); }; diff --git a/src/api/enrollment/enrollment/enrollment.routes.ts b/src/api/enrollment/enrollment/enrollment.routes.ts index 618a5bc..a2dceb0 100644 --- a/src/api/enrollment/enrollment/enrollment.routes.ts +++ b/src/api/enrollment/enrollment/enrollment.routes.ts @@ -15,8 +15,8 @@ export const register = (app: express.Application): void => { const controller = new EnrollmentController(); router.post('/', authenticator.authenticateClient, controller.create); - router.get('/search', authenticator.authenticateClient, controller.search); - router.get('/:id', authenticator.authenticateClient, controller.getById); + router.get('/search', authenticator.authenticateClientOrUser, controller.search); + router.get('/:id', authenticator.authenticateClientOrUser, controller.getById); router.put('/:id', authenticator.authenticateClient, controller.update); router.delete('/:id', authenticator.authenticateClient, controller.delete); diff --git a/src/api/enrollment/participant/participant.routes.ts b/src/api/enrollment/participant/participant.routes.ts index ff96000..ee0e860 100644 --- a/src/api/enrollment/participant/participant.routes.ts +++ b/src/api/enrollment/participant/participant.routes.ts @@ -13,8 +13,8 @@ export const register = (app: express.Application): void => { router.post('', authenticator.authenticateClient, controller.create); router.put('/:id', authenticator.authenticateClient, controller.update); router.delete('/:id', authenticator.authenticateClient, controller.delete); - router.get('/search', authenticator.authenticateClient, controller.search); - router.get('/:id', authenticator.authenticateClient, controller.getById); + router.get('/search', authenticator.authenticateClientOrUser, controller.search); + router.get('/:id', authenticator.authenticateClientOrUser, controller.getById); app.use('/api/v1/participants', router); }; diff --git a/src/api/user/user.controller.delegate.ts b/src/api/user/user.controller.delegate.ts index bad7505..6c4cdc8 100644 --- a/src/api/user/user.controller.delegate.ts +++ b/src/api/user/user.controller.delegate.ts @@ -16,6 +16,7 @@ import { uuid } from '../../domain.types/miscellaneous/system.types'; import { Loader } from '../../startup/loader'; import { UserHelper } from '../user.helper'; import { CurrentUser } from '../../domain.types/miscellaneous/current.user'; +import { ConfigurationManager } from '../../config/configuration.manager'; /////////////////////////////////////////////////////////////////////////////////////// @@ -112,12 +113,24 @@ export class UserControllerDelegate { const loginSession = await this._service.createUserLoginSession(user.id); const currentUser: CurrentUser = this.constructCurrentUser(user, loginSession.id); const accessToken = await Loader.Authorizer.generateUserSessionToken(currentUser); + const expiresIn: number = ConfigurationManager.JwtExpiresIn(); + const validTill = new Date(Date.now() + expiresIn * 1000); return { - User : currentUser, - AccessToken : accessToken + User : currentUser, + AccessToken : accessToken, + SessionValidTill : validTill }; } + getBySessionId = async (sessionId: uuid) => { + const { user, session } = await this._service.getBySessionId(sessionId); + if (user === null || session === null) { + ErrorHandler.throwNotFoundError('User associated with session ' + sessionId.toString() + ' cannot be found! Session may have expired!'); + } + const currentUser: CurrentUser = this.constructCurrentUser(user, session.id); + return currentUser; + } + loginWithOtp = async (requestBody) => { await validator.validateLoginWithOtpRequest(requestBody); const loginModel = await this.getLoginModel(requestBody); @@ -140,9 +153,12 @@ export class UserControllerDelegate { const currentUser: CurrentUser = this.constructCurrentUser(user, loginSession.id); const accessToken = await Loader.Authorizer.generateUserSessionToken(currentUser); currentUser['ImageUrl'] = user.ImageUrl ?? ''; + const expiresIn: number = ConfigurationManager.JwtExpiresIn(); + const validTill = new Date(Date.now() + expiresIn * 1000); return { - User : currentUser, - AccessToken : accessToken + User : currentUser, + AccessToken : accessToken, + SessionValidTill : validTill }; } diff --git a/src/api/user/user.controller.ts b/src/api/user/user.controller.ts index a912b74..cead40d 100644 --- a/src/api/user/user.controller.ts +++ b/src/api/user/user.controller.ts @@ -40,6 +40,17 @@ export class UserController extends BaseController { } } + getBySessionId = async (request: express.Request, response: express.Response): Promise => { + try { + await this.authorize('User.GetBySessionId', request, response); + const record = await this._delegate.getBySessionId(request.params.sessionId); + const message = 'User retrieved successfully!'; + ResponseHandler.success(request, response, message, 200, record); + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + } + search = async (request: express.Request, response: express.Response): Promise => { try { await this.authorize('User.Search', request, response); @@ -73,7 +84,7 @@ export class UserController extends BaseController { } }; - loginWithPassword = async (request: express.Request, response: express.Response): Promise => { + loginWithPassword = async (request: express.Request, response: express.Response) => { try { this.authorize('User.LoginWithPassword', request, response, false); const result = await this._delegate.loginWithPassword(request.body); diff --git a/src/api/user/user.routes.ts b/src/api/user/user.routes.ts index e116b54..c7cf574 100644 --- a/src/api/user/user.routes.ts +++ b/src/api/user/user.routes.ts @@ -23,5 +23,7 @@ export const register = (app: express.Application): void => { router.get('/search', authenticator.authenticateUser, controller.search); router.get('/:id', authenticator.authenticateUser, controller.getById); + router.get('/session/:sessionId', controller.getBySessionId); + app.use('/api/v1/users', router); }; diff --git a/src/auth/authenticator.ts b/src/auth/authenticator.ts index 28beb6a..4a076f0 100644 --- a/src/auth/authenticator.ts +++ b/src/auth/authenticator.ts @@ -11,7 +11,7 @@ import { ApiError } from '../common/api.error'; @injectable() export class Authenticator { - + constructor( @inject('IAuthenticator') private _authenticator: IAuthenticator ) {} @@ -57,6 +57,27 @@ export class Authenticator { } }; + public authenticateClientOrUser = async ( + request: express.Request, + response: express.Response, + next: express.NextFunction + ): Promise => { + try { + const clientAuthResult = await this._authenticator.authenticateClient(request); + const clientAuthenticated = clientAuthResult.Result; + const userAuthResult = await this._authenticator.authenticateUser(request); + const userAuthenticated = userAuthResult.Result; + if (!clientAuthenticated && !userAuthenticated) { + ResponseHandler.failure(request, response, 'Authentication failed', 401); + return false; + } + next(); + } catch (error) { + Logger.instance().log(error.message); + ResponseHandler.failure(request, response, 'Client authentication error: ' + error.message, 401); + } + }; + public checkAuthentication = async(request: express.Request): Promise => { const clientAuthResult = await this._authenticator.authenticateClient(request); if (clientAuthResult.Result === false){ diff --git a/src/common/helper.ts b/src/common/helper.ts index 097b24f..aaa2279 100644 --- a/src/common/helper.ts +++ b/src/common/helper.ts @@ -30,7 +30,7 @@ export class Helper { } return null; }; - + static getStoragePath = () => { return path.join(process.env.STORAGE, process.env.NODE_ENV); } @@ -42,7 +42,7 @@ export class Helper { // returns Boolean return bcrypt.compareSync(password.toString(), hash); } - + static generateHashedPassword = (password) => { if (!password) { return null; @@ -70,7 +70,7 @@ export class Helper { static hasProperty = (obj, prop) => { return Object.prototype.hasOwnProperty.call(obj, prop); } - + static isUrl = (str) => { if (!str) { return false; @@ -87,7 +87,7 @@ export class Helper { const txt = JSON.stringify(obj, null, ' '); fs.writeFileSync(filename, txt); } - + static jsonToObj = (jsonPath) => { if (!fs.existsSync(jsonPath)) { @@ -365,7 +365,7 @@ export class Helper { } return Promise.resolve(); } - + public static sleep = (miliseconds) => { return new Promise((resolve) => { setTimeout(resolve, miliseconds); @@ -428,7 +428,7 @@ export class Helper { if (phone == null) { return []; } - + let phoneTemp = phone; phoneTemp = phoneTemp.trim(); const countryCodes = Countries.map(x => x.PhoneCode); @@ -444,12 +444,12 @@ export class Helper { phoneTemp = phoneTemp.replace('-', ''); } } - + if (phonePrefix) { possiblePhoneNumbers.push(phonePrefix + phoneTemp); possiblePhoneNumbers.push(phonePrefix + "-" + phoneTemp); possiblePhoneNumbers.push(phoneTemp); - + } else { var possibles = Countries.map(x => { @@ -513,7 +513,7 @@ export class Helper { return downloadFolderPath; }; - + public static createTempDownloadFolder = async() => { var tempDownloadFolder = ConfigurationManager.DownloadTemporaryFolder(); if (fs.existsSync(tempDownloadFolder)) { @@ -522,7 +522,7 @@ export class Helper { await fs.promises.mkdir(tempDownloadFolder, { recursive: true }); return tempDownloadFolder; }; - + public static createTempUploadFolder = async() => { var tempUploadFolder = ConfigurationManager.UploadTemporaryFolder(); if (fs.existsSync(tempUploadFolder)) { @@ -538,7 +538,7 @@ export class Helper { var ext = extension.startsWith('.') ? extension : '.' + extension; return tmp + ext; }; - + public static getMimeType = (pathOrExtension: string) => { var mimeType = mime.lookup(pathOrExtension); if (!mimeType) { @@ -546,7 +546,7 @@ export class Helper { } return mimeType; }; - + public static getValueForEitherKeys = (obj: any, keys: string[]): string => { const existingKeys = Object.keys(obj); for (var key of keys) { diff --git a/src/database/repository.services/user/user.service.ts b/src/database/repository.services/user/user.service.ts index 903e6b5..b2f990a 100644 --- a/src/database/repository.services/user/user.service.ts +++ b/src/database/repository.services/user/user.service.ts @@ -357,6 +357,43 @@ export class UserService { } } + getBySessionId = async (sessionId) => { + try { + var session = await this.UserLoginSession.findByPk(sessionId); + if (session == null) { + return null; + } + if (session.ValidTill < new Date()) { + return null; + } + if (session.IsActive === false) { + return null; + } + + var user = await this.User.findOne({ + where : { + id : session.UserId + } + }); + + if (user) { + const userRole = await this.UserRole.findOne({ + where : { + UserId : session.id + } + }); + if (userRole) { + const role = await this.Role.findByPk(userRole.RoleId); + user['Role'] = role; + } + } + return user; + + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve user for the session!', error); + } + } + resetPassword = async (userId, hashedPassword) => { try { var res = await this.User.update( diff --git a/src/domain.types/auth.domain.types.ts b/src/domain.types/auth.domain.types.ts index a9bc02d..68d5839 100644 --- a/src/domain.types/auth.domain.types.ts +++ b/src/domain.types/auth.domain.types.ts @@ -1,5 +1,7 @@ export interface AuthenticationResult { - Result: boolean; - Message: string; + Result : boolean; + Message : string; HttpErrorCode: number; + ClientCode? : string; + UserId? : string; } diff --git a/src/modules/storage/providers/custom.file.storage.service.ts b/src/modules/storage/providers/custom.file.storage.service.ts index aeb1851..8241551 100644 --- a/src/modules/storage/providers/custom.file.storage.service.ts +++ b/src/modules/storage/providers/custom.file.storage.service.ts @@ -26,7 +26,7 @@ export class CustomFileStorageService implements IFileStorageService { return null; } }; - + upload = async (inputStream: any, storageKey: string): Promise => { return new Promise((resolve, reject) => { try { @@ -128,7 +128,7 @@ export class CustomFileStorageService implements IFileStorageService { return false; } }; - + // eslint-disable-next-line @typescript-eslint/no-unused-vars getShareableLink(storageKey: string, _durationInMinutes: number): string { return path.join(this._storagePath, storageKey); From 278e9f6cf7c52219197971f2617f526252b00d3e Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Tue, 16 Aug 2022 16:08:10 +0530 Subject: [PATCH 040/169] added search parameter participantId in enrollment task --- .../enrollment.task/enrollment.task.controller.delegate.ts | 4 ++++ .../enrollment/enrollment.task/enrollment.task.validator.ts | 5 ++++- .../enrollment/enrollment.task.service.ts | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index dbbbe53..653929f 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -54,6 +54,10 @@ export class EnrollmentTaskControllerDelegate { var filters = {}; + var participantId = query.participantId ? query.participantId : null; + if (participantId != null) { + filters['ParticipantId'] = participantId; + } var assetId = query.assetId ? query.assetId : null; if (assetId != null) { filters['AssetId'] = assetId; diff --git a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts index 2af7c2f..a867020 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts @@ -34,7 +34,10 @@ export class EnrollmentTaskValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - assetId : joi.number().integer().optional(), + assetId : joi.number().integer().optional(), + participantId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), careplanId : joi.number().integer().optional(), timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), diff --git a/src/database/repository.services/enrollment/enrollment.task.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts index 6701f3a..125df6f 100644 --- a/src/database/repository.services/enrollment/enrollment.task.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -149,6 +149,9 @@ export class EnrollmentTaskService { include : [] }; + if (filters.ParticipantId) { + search.where['ParticipantId'] = filters.ParticipantId; + } if (filters.AssetId) { search.where['AssetId'] = filters.AssetId; } From 34d35feec2d6eef88750dc39bcbb1abacf6b7eb7 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Sat, 20 Aug 2022 12:52:59 +0530 Subject: [PATCH 041/169] Fixed local storage path --- src/common/helper.ts | 2 +- src/config/configuration.manager.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/helper.ts b/src/common/helper.ts index aaa2279..422be85 100644 --- a/src/common/helper.ts +++ b/src/common/helper.ts @@ -32,7 +32,7 @@ export class Helper { }; static getStoragePath = () => { - return path.join(process.env.STORAGE, process.env.NODE_ENV); + return path.join(process.env.STORAGE_BUCKET, process.env.NODE_ENV); } static compareHashedPassword = (password, hash) => { diff --git a/src/config/configuration.manager.ts b/src/config/configuration.manager.ts index 5e4bd42..962e92f 100644 --- a/src/config/configuration.manager.ts +++ b/src/config/configuration.manager.ts @@ -1,6 +1,6 @@ import path from 'path'; import * as defaultConfiguration from '../../careplan.config.json'; -import * as localConfiguration from '../../careplan.config.json'; +import * as localConfiguration from '../../careplan.config.local.json'; import { AuthenticationType, AuthorizationType, Configurations, From d8c3049b34e1b37f52772981b3ab8c6df713257b Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Sat, 20 Aug 2022 17:55:03 +0530 Subject: [PATCH 042/169] Fixed primary key in participant table --- src/database/models/enrollment/participant.model.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/database/models/enrollment/participant.model.ts b/src/database/models/enrollment/participant.model.ts index 2eae885..b688158 100644 --- a/src/database/models/enrollment/participant.model.ts +++ b/src/database/models/enrollment/participant.model.ts @@ -16,13 +16,13 @@ export class ParticipantModel { type : DataTypes.UUID, allowNull : false, defaultValue : DataTypes.UUIDV4, - unique : true + primaryKey : true }, DisplayId : { type : DataTypes.INTEGER, allowNull : false, autoIncrement : true, - primaryKey : true + unique : true }, Prefix : { type : DataTypes.STRING(16), From e8b51af629be9ee6a3a958153096cb6e81182729 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Sat, 20 Aug 2022 17:56:41 +0530 Subject: [PATCH 043/169] Omitted the participant word from goal and action plans --- ...n.service.workflow.postman_collection.json | 19 +++++++++---------- ...elected.action.plan.controller.delegate.ts | 16 ++++++++-------- ...ticipant.selected.action.plan.validator.ts | 6 +++--- ...participant.selected.action.plan.mapper.ts | 2 +- .../participant.selected.action.plan.model.ts | 8 ++++---- .../participant.selected.goal.model.ts | 4 ++-- .../participant.selected.priority.model.ts | 2 +- ...articipant.selected.action.plan.service.ts | 4 ++-- .../participant.selected.goal.service.ts | 4 ++-- ...ipant.selected.action.plan.domain.types.ts | 8 ++++---- 10 files changed, 36 insertions(+), 37 deletions(-) diff --git a/postman/careplan.service.workflow.postman_collection.json b/postman/careplan.service.workflow.postman_collection.json index cb38a9a..3835267 100644 --- a/postman/careplan.service.workflow.postman_collection.json +++ b/postman/careplan.service.workflow.postman_collection.json @@ -16138,13 +16138,13 @@ } ], "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses/{{PARTICIPANT_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "participant-activity-responses", - "{{USER_ACTIVITY_RESPONSE_ID}}" + "{{PARTICIPANT_ACTIVITY_RESPONSE_ID}}" ] } }, @@ -16168,7 +16168,6 @@ " var jsonRes = pm.response.json();\r", " pm.expect(jsonRes.Data.Items.length).greaterThan(0);\r", "});\r", - "\r", "" ], "type": "text/javascript" @@ -16286,13 +16285,13 @@ "raw": "{\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"EnrollmentTaskId\": \"{{ENROLLMENT_TASK_ID_1}}\",\r\n \"Response\": \"{Answer: 99 F}\"\r\n}" }, "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses/{{PARTICIPANT_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "participant-activity-responses", - "{{USER_ACTIVITY_RESPONSE_ID}}" + "{{PARTICIPANT_ACTIVITY_RESPONSE_ID}}" ] } }, @@ -16344,13 +16343,13 @@ "raw": "" }, "url": { - "raw": "{{BASE_URL}}/participant-activity-responses/{{USER_ACTIVITY_RESPONSE_ID}}", + "raw": "{{BASE_URL}}/participant-activity-responses/{{PARTICIPANT_ACTIVITY_RESPONSE_ID}}", "host": [ "{{BASE_URL}}" ], "path": [ "participant-activity-responses", - "{{USER_ACTIVITY_RESPONSE_ID}}" + "{{PARTICIPANT_ACTIVITY_RESPONSE_ID}}" ] } }, @@ -17413,7 +17412,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"GoalId\": \"{{SELECTED_GOAL_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Action plan\",\r\n \"AssetCode\": \"{{ACTION_PLAN_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_5days}}\"\r\n}" + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \".....\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"SelectedGoalId\": \"{{SELECTED_GOAL_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Action plan\",\r\n \"AssetCode\": \"{{ACTION_PLAN_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_5days}}\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/participant-selected-action-plans", @@ -17650,7 +17649,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \"We need to follow low carb and high protien diet\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"GoalId\": \"{{SELECTED_GOAL_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Action plan\",\r\n \"AssetCode\": \"{{ACTION_PLAN_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_5days}}\"\r\n}" + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \"We need to follow low carb and high protien diet\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"SelectedGoalId\": \"{{SELECTED_GOAL_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Action plan\",\r\n \"AssetCode\": \"{{ACTION_PLAN_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_5days}}\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/participant-selected-action-plans/{{SELECTED_ACTION_PLAN_ID}}", @@ -17788,7 +17787,7 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \"Eat less carbs\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"GoalId\": \"{{SELECTED_GOAL_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Action plan\",\r\n \"AssetCode\": \"{{ACTION_PLAN_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_5days}}\"\r\n}" + "raw": "{\r\n \"Name\": \"Reduce Fasting Blood Glucose\",\r\n \"Description\": \"Eat less carbs\",\r\n \"EnrollmentId\": \"{{ENROLLMENT_ID}}\",\r\n \"ParticipantId\": \"{{PARTICIPANT_ID}}\",\r\n \"SelectedGoalId\": \"{{SELECTED_GOAL_ID}}\",\r\n \"CareplanId\": \"{{CARE_PLAN_ID}}\",\r\n \"AssetId\": \"{{ACTION_PLAN_ID}}\",\r\n \"AssetType\": \"Action plan\",\r\n \"AssetCode\": \"{{ACTION_PLAN_ASSET_CODE}}\",\r\n \"AdditionalDetails\": \"...\",\r\n \"StartDate\": \"{{TODAY}}\",\r\n \"EndDate\": \"{{TODAY_+_5days}}\"\r\n}" }, "url": { "raw": "{{BASE_URL}}/participant-selected-action-plans", diff --git a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts index 337bce2..523553c 100644 --- a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts +++ b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts @@ -105,9 +105,9 @@ export class ParticipantSelectedActionPlanControllerDelegate { if (participantId != null) { filters['ParticipantId'] = participantId; } - var goalId = query.goalId ? query.goalId : null; - if (goalId != null) { - filters['GoalId'] = goalId; + var selectedGoalId = query.selectedGoalId ? query.selectedGoalId : null; + if (selectedGoalId != null) { + filters['SelectedGoalId'] = selectedGoalId; } var name = query.name ? query.name : null; if (name != null) { @@ -169,8 +169,8 @@ export class ParticipantSelectedActionPlanControllerDelegate { if (Helper.hasProperty(requestBody, 'ParticipantId')) { updateModel.ParticipantId = requestBody.ParticipantId; } - if (Helper.hasProperty(requestBody, 'GoalId')) { - updateModel.GoalId = requestBody.GoalId; + if (Helper.hasProperty(requestBody, 'SelectedGoalId')) { + updateModel.SelectedGoalId = requestBody.SelectedGoalId; } if (Helper.hasProperty(requestBody, 'CareplanId')) { updateModel.CareplanId = requestBody.CareplanId; @@ -203,7 +203,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { Description : requestBody.Description ? requestBody.Description : null, EnrollmentId : requestBody.EnrollmentId ? requestBody.EnrollmentId : null, ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, - GoalId : requestBody.GoalId ? requestBody.GoalId : null, + SelectedGoalId : requestBody.SelectedGoalId ? requestBody.SelectedGoalId : null, CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, AssetId : requestBody.AssetId ? requestBody.AssetId : null, AssetType : requestBody.AssetType ? requestBody.AssetType : null, @@ -224,7 +224,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { Description : record.Description, EnrollmentId : record.EnrollmentId, ParticipantId : record.ParticipantId, - GoalId : record.GoalId, + SelectedGoalId : record.SelectedGoalId, CareplanId : record.CareplanId, AssetId : record.AssetId, AssetType : record.AssetType, @@ -246,7 +246,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { Description : record.Description, EnrollmentId : record.EnrollmentId, ParticipantId : record.ParticipantId, - GoalId : record.GoalId, + SelectedGoalId : record.SelectedGoalId, CareplanId : record.CareplanId, AssetId : record.AssetId, AssetType : record.AssetType, diff --git a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts index 6dcb7cd..9508725 100644 --- a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts +++ b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts @@ -18,7 +18,7 @@ export class ParticipantSelectedActionPlanValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), - GoalId : joi.string().guid({ + SelectedGoalId : joi.string().guid({ version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), @@ -46,7 +46,7 @@ export class ParticipantSelectedActionPlanValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), - GoalId : joi.string().guid({ + SelectedGoalId : joi.string().guid({ version : ['uuidv4'] }).optional(), CareplanId : joi.number().integer().optional(), @@ -68,7 +68,7 @@ export class ParticipantSelectedActionPlanValidator { const schema = joi.object({ participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), enrollmentId : joi.string().guid({ version: ['uuidv4'] }).optional(), - goalId : joi.string().guid({ version: ['uuidv4'] }).optional(), + selectedGoalId : joi.string().guid({ version: ['uuidv4'] }).optional(), name : joi.string().max(256).optional(), description : joi.string().optional(), careplanId : joi.number().integer().optional(), diff --git a/src/database/mappers/participant.responses/participant.selected.action.plan.mapper.ts b/src/database/mappers/participant.responses/participant.selected.action.plan.mapper.ts index 57f9a82..c71be0d 100644 --- a/src/database/mappers/participant.responses/participant.selected.action.plan.mapper.ts +++ b/src/database/mappers/participant.responses/participant.selected.action.plan.mapper.ts @@ -16,7 +16,7 @@ export class ParticipantSelectedActionPlanMapper { Description : participantSelectedActionPlan.Description, EnrollmentId : participantSelectedActionPlan.EnrollmentId, ParticipantId : participantSelectedActionPlan.ParticipantId, - GoalId : participantSelectedActionPlan.GoalId, + SelectedGoalId : participantSelectedActionPlan.SelectedGoalId, CareplanId : participantSelectedActionPlan.CareplanId, AssetId : participantSelectedActionPlan.AssetId, AssetType : participantSelectedActionPlan.AssetType, diff --git a/src/database/models/participant.responses/participant.selected.action.plan.model.ts b/src/database/models/participant.responses/participant.selected.action.plan.model.ts index 7ba5afc..1b24288 100644 --- a/src/database/models/participant.responses/participant.selected.action.plan.model.ts +++ b/src/database/models/participant.responses/participant.selected.action.plan.model.ts @@ -7,7 +7,7 @@ const sequelize = db.default.sequelize; export class ParticipantSelectedActionPlanModel { - static TableName = 'participant_selected_action_plans'; + static TableName = 'selected_action_plans'; static ModelName = 'ParticipantSelectedActionPlan'; @@ -38,7 +38,7 @@ export class ParticipantSelectedActionPlanModel { foreignKey : true, unique : false }, - GoalId : { + SelectedGoalId : { type : DataTypes.UUID, allowNull : false, foreignKey : true, @@ -114,9 +114,9 @@ export class ParticipantSelectedActionPlanModel { as : 'Participant' }); models.ParticipantSelectedActionPlan.belongsTo(models.ParticipantSelectedGoal, { - sourceKey : 'GoalId', + sourceKey : 'SelectedGoalId', targetKey : 'id', - as : 'ParticipantSelectedGoal' + as : 'SelectedGoal' }); models.ParticipantSelectedActionPlan.belongsTo(models.Careplan, { diff --git a/src/database/models/participant.responses/participant.selected.goal.model.ts b/src/database/models/participant.responses/participant.selected.goal.model.ts index c2e6b2e..17cf5ae 100644 --- a/src/database/models/participant.responses/participant.selected.goal.model.ts +++ b/src/database/models/participant.responses/participant.selected.goal.model.ts @@ -7,7 +7,7 @@ const sequelize = db.default.sequelize; export class ParticipantSelectedGoalModel { - static TableName = 'participant_selected_goals'; + static TableName = 'selected_goals'; static ModelName = 'ParticipantSelectedGoal'; @@ -117,7 +117,7 @@ export class ParticipantSelectedGoalModel { models.ParticipantSelectedGoal.belongsTo(models.ParticipantSelectedPriority, { sourceKey : 'SelectedPriorityId', targetKey : 'id', - as : 'ParticipantSelectedPriority' + as : 'SelectedPriority' }); models.ParticipantSelectedGoal.belongsTo(models.Careplan, { sourceKey : 'CareplanId', diff --git a/src/database/models/participant.responses/participant.selected.priority.model.ts b/src/database/models/participant.responses/participant.selected.priority.model.ts index adbeab4..6a0ef1a 100644 --- a/src/database/models/participant.responses/participant.selected.priority.model.ts +++ b/src/database/models/participant.responses/participant.selected.priority.model.ts @@ -6,7 +6,7 @@ const sequelize = db.default.sequelize; export class ParticipantSelectedPriorityModel { - static TableName = 'participant_selected_priorities'; + static TableName = 'selected_priorities'; static ModelName = 'ParticipantSelectedPriority'; diff --git a/src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts b/src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts index 35eb95f..de9a069 100644 --- a/src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts +++ b/src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts @@ -75,7 +75,7 @@ export class ParticipantSelectedActionPlanService { }, { model : this.ParticipantSelectedGoal, required : false, - as : 'ParticipantSelectedGoal', + as : 'SelectedGoal', //through: { attributes: [] } } @@ -238,7 +238,7 @@ export class ParticipantSelectedActionPlanService { const includeGoalAsGoal = { model : this.ParticipantSelectedGoal, required : false, - as : 'ParticipantSelectedGoal', + as : 'SelectedGoal', where : {} }; //if (filters.Xyz != undefined) { diff --git a/src/database/repository.services/participant.responses/participant.selected.goal.service.ts b/src/database/repository.services/participant.responses/participant.selected.goal.service.ts index c6a3e40..fce0652 100644 --- a/src/database/repository.services/participant.responses/participant.selected.goal.service.ts +++ b/src/database/repository.services/participant.responses/participant.selected.goal.service.ts @@ -75,7 +75,7 @@ export class ParticipantSelectedGoalService { }, { model : this.ParticipantSelectedPriority, required : false, - as : 'ParticipantSelectedPriority', + as : 'SelectedPriority', //through: { attributes: [] } } @@ -238,7 +238,7 @@ export class ParticipantSelectedGoalService { const includePriorityAsPriority = { model : this.ParticipantSelectedPriority, required : false, - as : 'ParticipantSelectedPriority', + as : 'SelectedPriority', where : {} }; //if (filters.Xyz != undefined) { diff --git a/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts b/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts index 60aeeb9..ecbb612 100644 --- a/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts +++ b/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts @@ -12,7 +12,7 @@ export interface ParticipantSelectedActionPlanCreateModel { Description ?: string; EnrollmentId ?: uuid; ParticipantId ?: uuid; - GoalId ?: uuid; + SelectedGoalId ?: uuid; CareplanId ?: number; AssetId ?: number; AssetType ?: string; @@ -27,7 +27,7 @@ export interface ParticipantSelectedActionPlanUpdateModel { Description ?: string; EnrollmentId ?: uuid; ParticipantId ?: uuid; - GoalId ?: uuid; + SelectedGoalId ?: uuid; CareplanId ?: number; AssetId ?: number; AssetType ?: string; @@ -43,7 +43,7 @@ export interface ParticipantSelectedActionPlanDto { Description : string; EnrollmentId : uuid; ParticipantId : uuid; - GoalId : uuid; + SelectedGoalId : uuid; CareplanId : number; AssetId : number; AssetType : string; @@ -60,7 +60,7 @@ export interface ParticipantSelectedActionPlanSearchFilters extends BaseSearchFi Description ?: string; EnrollmentId ?: uuid; ParticipantId ?: uuid; - GoalId ?: uuid; + SelectedGoalId ?: uuid; CareplanId ?: number; AssetId ?: number; AssetType ?: string; From c4b7ed2b991bccc116fd7441fb9c0db6a59d6c22 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Mon, 22 Aug 2022 12:55:52 +0530 Subject: [PATCH 044/169] update made to dev workflow --- entrypoint.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 5a3e145..b6d4e4c 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -2,12 +2,12 @@ # Add config/creds copying here.. aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/env.config /app/.env -aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/reancare.config.json /app/reancare.config.json +aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/careplan.config.json /app/careplan.config.json aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/seed_data/internal.clients.seed.json /app/seed.data/internal.clients.seed.json -aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/seed_data/internal.test.users.seed.json /app/seed.data/internal.test.users.seed.json -aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/seed_data/system.admin.seed.json /app/seed.data/system.admin.seed.json -aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/gcp_creds/reancareapi-307085d27fd7.json /app/creds/reancareapi-307085d27fd7.json -aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/gcp_creds/reancare_firebase_creds.json /app/creds/reancare_firebase_creds.json +aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/seed_data/default.users.seed.json /app/seed.data/default.users.seed.json +# aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/seed_data/system.admin.seed.json /app/seed.data/system.admin.seed.json +# aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/gcp_creds/reancareapi-307085d27fd7.json /app/creds/reancareapi-307085d27fd7.json +# aws s3 cp s3://$S3_CONFIG_BUCKET/$S3_CONFIG_PATH/gcp_creds/reancare_firebase_creds.json /app/creds/reancare_firebase_creds.json cd /app # Add any other scripts here... From 304bdcd06d060b98f42fafc674757a9404961a8c Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Mon, 22 Aug 2022 13:06:25 +0530 Subject: [PATCH 045/169] updated the workflow --- .github/workflows/dev-ci-cd.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dev-ci-cd.yml b/.github/workflows/dev-ci-cd.yml index f8f52b3..fa3a520 100644 --- a/.github/workflows/dev-ci-cd.yml +++ b/.github/workflows/dev-ci-cd.yml @@ -12,6 +12,7 @@ on: # Triggers the workflow on push events but only for the develop branch push: branches: [develop] + workflow_dispatch: jobs: Deploy-ECS: From ef4a52866b9b855cbb78dcacf9d73cad9d828b28 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Mon, 22 Aug 2022 13:09:08 +0530 Subject: [PATCH 046/169] updated the workflow --- .github/workflows/dev-ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev-ci-cd.yml b/.github/workflows/dev-ci-cd.yml index fa3a520..c508983 100644 --- a/.github/workflows/dev-ci-cd.yml +++ b/.github/workflows/dev-ci-cd.yml @@ -12,7 +12,7 @@ on: # Triggers the workflow on push events but only for the develop branch push: branches: [develop] - workflow_dispatch: + workflow_dispatch: jobs: Deploy-ECS: From 90ccad0900d83bcf3839845812b872dd12edb9c3 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Mon, 22 Aug 2022 16:05:35 +0530 Subject: [PATCH 047/169] Updated dev workflow --- .github/workflows/dev-ci-cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev-ci-cd.yml b/.github/workflows/dev-ci-cd.yml index c508983..a894cac 100644 --- a/.github/workflows/dev-ci-cd.yml +++ b/.github/workflows/dev-ci-cd.yml @@ -64,7 +64,7 @@ jobs: file: ./Dockerfile builder: ${{ steps.buildx.outputs.name }} push: true - tags: ${{ steps.login-ecr.outputs.registry }}/reancare-service-dev-uat:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + tags: ${{ steps.login-ecr.outputs.registry }}/careplan-service-dev-uat:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache @@ -81,7 +81,7 @@ jobs: with: task-definition: task-definition.json container-name: default - image: ${{ steps.login-ecr.outputs.registry }}/reancare-service-dev-uat:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + image: ${{ steps.login-ecr.outputs.registry }}/careplan-service-dev-uat:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} - name: Deploy Amazon ECS task definition uses: aws-actions/amazon-ecs-deploy-task-definition@v1 From d3c6fbf6edf02ca8baa3749f8dcafee1513fa89d Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Mon, 22 Aug 2022 16:54:08 +0530 Subject: [PATCH 048/169] Updated DNS Prefix flag --- .github/workflows/dev-ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev-ci-cd.yml b/.github/workflows/dev-ci-cd.yml index a894cac..956e8bd 100644 --- a/.github/workflows/dev-ci-cd.yml +++ b/.github/workflows/dev-ci-cd.yml @@ -102,5 +102,5 @@ jobs: with: url: 'https://reanfoundation.duplocloud.net/subscriptions/${{ secrets.DUPLO_ID }}/UpdateEcsService' method: 'POST' - data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200}' + data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200, "DnsPrefix": ""}' bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} \ No newline at end of file From 62fa7bbcb2aa5c59fa3d2a95285d3656cb9f4977 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Mon, 22 Aug 2022 17:04:37 +0530 Subject: [PATCH 049/169] Updated DNS Prefix flag --- .github/workflows/dev-ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev-ci-cd.yml b/.github/workflows/dev-ci-cd.yml index 956e8bd..8c8cbb2 100644 --- a/.github/workflows/dev-ci-cd.yml +++ b/.github/workflows/dev-ci-cd.yml @@ -102,5 +102,5 @@ jobs: with: url: 'https://reanfoundation.duplocloud.net/subscriptions/${{ secrets.DUPLO_ID }}/UpdateEcsService' method: 'POST' - data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200, "DnsPrefix": ""}' + data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200, "DnsPrefix": "", "IsTargetGroupOnly": true }' bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} \ No newline at end of file From d2cf066d9fdb20765d092ccf67baa6f34e0c66b0 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Mon, 22 Aug 2022 17:59:54 +0530 Subject: [PATCH 050/169] updated the sleep time in workflow --- .github/workflows/dev-ci-cd.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/dev-ci-cd.yml b/.github/workflows/dev-ci-cd.yml index 8c8cbb2..d11a63f 100644 --- a/.github/workflows/dev-ci-cd.yml +++ b/.github/workflows/dev-ci-cd.yml @@ -83,6 +83,11 @@ jobs: container-name: default image: ${{ steps.login-ecr.outputs.registry }}/careplan-service-dev-uat:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + - name: Sleep for 30 seconds + uses: jakejarvis/wait-action@master + with: + time: '30s' + - name: Deploy Amazon ECS task definition uses: aws-actions/amazon-ecs-deploy-task-definition@v1 with: From e01c29ebb66865851dd710d0ad330ea1b5a41eb5 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Mon, 29 Aug 2022 10:05:16 +0530 Subject: [PATCH 051/169] Email made optional to participant --- .../enrollment/enrollment/enrollment.controller.delegate.ts | 2 +- src/api/enrollment/participant/participant.validator.ts | 4 ++-- src/api/user.helper.ts | 5 ----- src/database/models/enrollment/enrollment.model.ts | 2 +- src/database/models/enrollment/participant.model.ts | 4 ++-- 5 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index ae635c0..9963641 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -263,7 +263,7 @@ export class EnrollmentControllerDelegate { return { CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, - StartDate : requestBody.StartDate ? requestBody.StartDate : null, + StartDate : requestBody.StartDate ? requestBody.StartDate : new Date(), EndDate : requestBody.EndDate ? requestBody.EndDate : null, WeekOffset : requestBody.WeekOffset ? requestBody.WeekOffset : 0, DayOffset : requestBody.DayOffset ? requestBody.DayOffset : 0, diff --git a/src/api/enrollment/participant/participant.validator.ts b/src/api/enrollment/participant/participant.validator.ts index 7cf27f4..9e50aed 100644 --- a/src/api/enrollment/participant/participant.validator.ts +++ b/src/api/enrollment/participant/participant.validator.ts @@ -10,10 +10,10 @@ export class ParticipantValidator { const schema = joi.object({ Prefix : joi.string().max(16).optional(), FirstName : joi.string().max(64).required(), - LastName : joi.string().max(64).required(), + LastName : joi.string().max(64).optional(), CountryCode : joi.string().max(10).required(), Phone : joi.string().max(16).min(6).required(), - Email : joi.string().max(256).required(), + Email : joi.string().max(256).optional(), ParticipantReferenceId : joi.string().max(256).optional(), Gender : joi.string().valid("Male", "Female", "Other").required(), BirthDate : joi.string().optional(), diff --git a/src/api/user.helper.ts b/src/api/user.helper.ts index ebdd256..44f57cc 100644 --- a/src/api/user.helper.ts +++ b/src/api/user.helper.ts @@ -80,11 +80,6 @@ export class UserHelper { ErrorHandler.throwDuplicateUserError(`Participant with phone ${requestBody.CountryCode} ${requestBody.Phone.toString()} already exists!`); } - var userWithEmail = await participantService.getParticipantWithEmail(requestBody.Email); - if (userWithEmail) { - ErrorHandler.throwDuplicateUserError(`Participant with email ${requestBody.Email} already exists!`); - } - } static getValidParticipantUpdateModel = async (user, requestBody) => { diff --git a/src/database/models/enrollment/enrollment.model.ts b/src/database/models/enrollment/enrollment.model.ts index 529cd71..4c446f8 100644 --- a/src/database/models/enrollment/enrollment.model.ts +++ b/src/database/models/enrollment/enrollment.model.ts @@ -36,7 +36,7 @@ export class EnrollmentModel { }, EndDate : { type : DataTypes.DATE, - allowNull : false + allowNull : true }, EnrollmentDate : { type : DataTypes.DATE, diff --git a/src/database/models/enrollment/participant.model.ts b/src/database/models/enrollment/participant.model.ts index b688158..cf0de28 100644 --- a/src/database/models/enrollment/participant.model.ts +++ b/src/database/models/enrollment/participant.model.ts @@ -35,7 +35,7 @@ export class ParticipantModel { }, LastName : { type : DataTypes.STRING(64), - allowNull : false + allowNull : true }, CountryCode : { type : DataTypes.STRING(10), @@ -48,7 +48,7 @@ export class ParticipantModel { }, Email : { type : DataTypes.STRING(256), - allowNull : false + allowNull : true }, ParticipantReferenceId : { type : DataTypes.STRING(64), From 7d1df4c9915f669be6c56316d10574bb8bbd059e Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Tue, 30 Aug 2022 00:19:59 +0530 Subject: [PATCH 052/169] update sleep time --- .github/workflows/dev-ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev-ci-cd.yml b/.github/workflows/dev-ci-cd.yml index d11a63f..2db39c9 100644 --- a/.github/workflows/dev-ci-cd.yml +++ b/.github/workflows/dev-ci-cd.yml @@ -86,7 +86,7 @@ jobs: - name: Sleep for 30 seconds uses: jakejarvis/wait-action@master with: - time: '30s' + time: '40s' - name: Deploy Amazon ECS task definition uses: aws-actions/amazon-ecs-deploy-task-definition@v1 From 2cd66b349f4b14c9951eeb0c2fb17fcaf097bafd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 31 Aug 2022 06:30:35 +0000 Subject: [PATCH 053/169] Bump moment-timezone from 0.5.34 to 0.5.37 Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.34 to 0.5.37. - [Release notes](https://github.com/moment/moment-timezone/releases) - [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md) - [Commits](https://github.com/moment/moment-timezone/compare/0.5.34...0.5.37) --- updated-dependencies: - dependency-name: moment-timezone dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index e286163..1b68815 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6810,9 +6810,9 @@ } }, "node_modules/moment-timezone": { - "version": "0.5.34", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", - "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", + "version": "0.5.37", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.37.tgz", + "integrity": "sha512-uEDzDNFhfaywRl+vwXxffjjq1q0Vzr+fcQpQ1bU0kbzorfS7zVtZnCnGc8mhWmF39d4g4YriF6kwA75mJKE/Zg==", "dependencies": { "moment": ">= 2.9.0" }, @@ -14893,9 +14893,9 @@ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" }, "moment-timezone": { - "version": "0.5.34", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", - "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", + "version": "0.5.37", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.37.tgz", + "integrity": "sha512-uEDzDNFhfaywRl+vwXxffjjq1q0Vzr+fcQpQ1bU0kbzorfS7zVtZnCnGc8mhWmF39d4g4YriF6kwA75mJKE/Zg==", "requires": { "moment": ">= 2.9.0" } From 8c09715dea3816a84e41753146148bb6aef6abe4 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Fri, 9 Sep 2022 16:18:38 +0530 Subject: [PATCH 054/169] lastName and email set optional in participant --- src/api/enrollment/enrollment/enrollment.validator.ts | 2 +- src/api/enrollment/participant/participant.validator.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.validator.ts b/src/api/enrollment/enrollment/enrollment.validator.ts index 97253f0..e2d7b95 100644 --- a/src/api/enrollment/enrollment/enrollment.validator.ts +++ b/src/api/enrollment/enrollment/enrollment.validator.ts @@ -15,7 +15,7 @@ export class EnrollmentValidator { version : ['uuidv4'] }).optional(), StartDate : joi.date().iso().optional(), - EndDate : joi.date().iso().optional(), + EndDate : joi.date().iso().optional().allow(null), WeekOffset : joi.number().optional(), DayOffset : joi.number().optional(), EnrollmentDate : joi.date().iso().optional() diff --git a/src/api/enrollment/participant/participant.validator.ts b/src/api/enrollment/participant/participant.validator.ts index 9e50aed..458192c 100644 --- a/src/api/enrollment/participant/participant.validator.ts +++ b/src/api/enrollment/participant/participant.validator.ts @@ -10,14 +10,14 @@ export class ParticipantValidator { const schema = joi.object({ Prefix : joi.string().max(16).optional(), FirstName : joi.string().max(64).required(), - LastName : joi.string().max(64).optional(), + LastName : joi.string().max(64).optional().allow(null), CountryCode : joi.string().max(10).required(), Phone : joi.string().max(16).min(6).required(), - Email : joi.string().max(256).optional(), + Email : joi.string().max(256).optional().allow(null), ParticipantReferenceId : joi.string().max(256).optional(), Gender : joi.string().valid("Male", "Female", "Other").required(), BirthDate : joi.string().optional(), - Country : joi.string().max(64).optional() + Country : joi.string().max(64).optional().allow(null) }); return await schema.validateAsync(requestBody); } catch (error) { From b3aecb7613fa2e16682042139abcfc328eba5c1a Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Fri, 16 Sep 2022 19:05:14 +0530 Subject: [PATCH 055/169] Update dev-ci-cd.yml --- .github/workflows/dev-ci-cd.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev-ci-cd.yml b/.github/workflows/dev-ci-cd.yml index 2db39c9..1586d2a 100644 --- a/.github/workflows/dev-ci-cd.yml +++ b/.github/workflows/dev-ci-cd.yml @@ -107,5 +107,5 @@ jobs: with: url: 'https://reanfoundation.duplocloud.net/subscriptions/${{ secrets.DUPLO_ID }}/UpdateEcsService' method: 'POST' - data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200, "DnsPrefix": "", "IsTargetGroupOnly": true }' - bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} \ No newline at end of file + data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200, "DnsPrfx": "", "IsTargetGroupOnly": true }' + bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} From 702017587bf7cf376dc6f9af346bd7f98b6cd27e Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Sun, 25 Sep 2022 19:33:15 +0530 Subject: [PATCH 056/169] changed scheduling of careplan --- .../enrollment.controller.delegate.ts | 18 ++++++++++++++---- .../enrollment/enrollment.task.service.ts | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 9963641..6eb22ae 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -139,14 +139,14 @@ export class EnrollmentControllerDelegate { const registrationActivities = await this._careplanActivityService.getRegistrationActivities(record.CareplanId); - const enrollmentDate = record.EnrollmentDate; + const enrollmentDate = record.StartDate; var count = 0; - const timeOffset = 30; //seconds + const timeOffset = 15; //seconds for await (var act of registrationActivities) { count++; - var dt = TimeHelper.addDuration(enrollmentDate, count * timeOffset, DurationType.Second); + const dt = TimeHelper.addDuration(enrollmentDate, 435 + act.Day * timeOffset, DurationType.Minute); var createModel: EnrollmentTaskCreateModel = { EnrollmentId : record.id, @@ -190,7 +190,17 @@ export class EnrollmentControllerDelegate { if (daysToAdd < 0) { daysToAdd = 0; } - const dt = TimeHelper.addDuration(startDate, daysToAdd, DurationType.Day); + let addDate = daysToAdd / 3; + if (daysToAdd % 3 !== 0) { + addDate = addDate + 1; + } + let dt = TimeHelper.addDuration(startDate, parseInt(addDate.toString()) - 1, DurationType.Day); + + if (daysToAdd % 3 === 0) { + dt = TimeHelper.addDuration(dt, 435 + 3 * 15, DurationType.Minute); + } else { + dt = TimeHelper.addDuration(dt, 435 + (daysToAdd % 3) * 15, DurationType.Minute); + } var createModel: EnrollmentTaskCreateModel = { EnrollmentId : record.id, diff --git a/src/database/repository.services/enrollment/enrollment.task.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts index 125df6f..c0c6c9a 100644 --- a/src/database/repository.services/enrollment/enrollment.task.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -237,7 +237,7 @@ export class EnrollmentTaskService { private addPaginationToSearch = (search, filters) => { - let limit = 25; + let limit = 250; if (filters.ItemsPerPage) { limit = filters.ItemsPerPage; } From a7bc7b6d8e02e3c47037d733cdbb73bfa392bdab Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Mon, 10 Oct 2022 13:40:21 +0530 Subject: [PATCH 057/169] Added UAT and Prod Workflow --- .github/workflows/prod-ci-cd.yml | 111 +++++++++++++++++++++++++++ .github/workflows/uat-ci-cd.yml | 125 +++++++++++++++++++++++++++++++ 2 files changed, 236 insertions(+) create mode 100644 .github/workflows/prod-ci-cd.yml create mode 100644 .github/workflows/uat-ci-cd.yml diff --git a/.github/workflows/prod-ci-cd.yml b/.github/workflows/prod-ci-cd.yml new file mode 100644 index 0000000..2419760 --- /dev/null +++ b/.github/workflows/prod-ci-cd.yml @@ -0,0 +1,111 @@ +# This workflow will trigger pull requests and apply a label based on the +# paths that are modified in the pull request. +# +# To use this workflow, you will need to set up a .github/labeler.yml +# file with configuration. For more information, see: +# https://github.com/actions/labeler + +name: PROD-CI-CD + +# Controls when the workflow will run +on: + # Triggers the workflow on push events but only for the develop branch + push: + branches: [main] + +jobs: + Deploy-ECS: + environment: prod + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Declare some variables + id: vars + shell: bash + run: | + echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/} | sed "s/\\//-/g")" + echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "::set-output name=repo_name::$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}')" + - name: Another step + run: | + echo "Branch: ${{ steps.vars.outputs.branch }}" + echo "Sha: ${{ steps.vars.outputs.sha_short }}" + echo "Repo: ${{ steps.vars.outputs.repo_name }}" + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login to Amazon ECR + run: | + aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws + - name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: ./ + file: ./Dockerfile + builder: ${{ steps.buildx.outputs.name }} + push: true + tags: public.ecr.aws/i9y2d4u3/careplan:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} + + - name: Download task definition + run: | + aws ecs describe-task-definition --task-definition ${{ secrets.TASK_DEFINTION_NAME }} \ + --query taskDefinition > task-definition.json + - name: New image ID in the Amazon ECS task definition + id: task-def + uses: aws-actions/amazon-ecs-render-task-definition@v1 + with: + task-definition: task-definition.json + container-name: default + image: public.ecr.aws/i9y2d4u3/careplan:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + + - name: Deploy Amazon ECS task definition + uses: aws-actions/amazon-ecs-deploy-task-definition@v1 + with: + task-definition: ${{ steps.task-def.outputs.task-definition }} + wait-for-service-stability: true + + - name: Task Definition Variable + id: taskdefintionvar + shell: bash + run: | + echo "::set-output name=task_definition_arn::$(aws ecs describe-task-definition --task-definition ${{ secrets.TASK_DEFINTION_NAME }} | jq '.[] | .taskDefinitionArn')" + - name: Task Defintion ARN + run: | + echo "Task Defintion: ${{ steps.taskdefintionvar.outputs.task_definition_arn }}" + - name: Deploy Amazon ECS task definition using Duplo API + uses: fjogeleit/http-request-action@master + with: + url: 'https://reanfoundation.duplocloud.net/subscriptions/${{ secrets.DUPLO_ID }}/UpdateEcsService' + method: 'POST' + data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200, "DnsPrfx": ""}' + bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} + + - name: New Release Publish + uses: release-drafter/release-drafter@v5 + with: + publish : true + env: + GITHUB_TOKEN: ${{ secrets.PAT_GITHUB }} \ No newline at end of file diff --git a/.github/workflows/uat-ci-cd.yml b/.github/workflows/uat-ci-cd.yml new file mode 100644 index 0000000..37c7676 --- /dev/null +++ b/.github/workflows/uat-ci-cd.yml @@ -0,0 +1,125 @@ +# This workflow will trigger pull requests and apply a label based on the +# paths that are modified in the pull request. +# +# To use this workflow, you will need to set up a .github/labeler.yml +# file with configuration. For more information, see: +# https://github.com/actions/labeler + +name: UAT-CI-CD + +# Controls when the workflow will run +on: + # Triggers the workflow on push events but only for the develop branch + push: + branches: + - 'release/**' + - '!release/aha**' # excludes master + +jobs: + CodeScan-ESLint: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v2.3.4 + with: + fetch-depth: 0 + + - name: Lint Code Base + uses: docker://ghcr.io/github/super-linter:latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + LINTER_RULES_PATH: / + TYPESCRIPT_ES_CONFIG_FILE: .eslintrc.json + VALIDATE_TYPESCRIPT_ES: true + VALIDATE_ALL_CODEBASE: false + DEFAULT_BRANCH: main + + Deploy-ECS: + environment: uat + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Declare some variables + id: vars + shell: bash + run: | + echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/} | sed "s/\\//-/g")" + echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "::set-output name=repo_name::$(echo "$GITHUB_REPOSITORY" | awk -F / '{print $2}')" + - name: Another step + run: | + echo "Branch: ${{ steps.vars.outputs.branch }}" + echo "Sha: ${{ steps.vars.outputs.sha_short }}" + echo "Repo: ${{ steps.vars.outputs.repo_name }}" + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login to Amazon ECR + id: login-ecr + uses: aws-actions/amazon-ecr-login@v1 + + - name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: ./ + file: ./Dockerfile + builder: ${{ steps.buildx.outputs.name }} + push: true + tags: ${{ steps.login-ecr.outputs.registry }}/careplan-service-dev-uat:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} + + - name: Download task definition + run: | + aws ecs describe-task-definition --task-definition ${{ secrets.TASK_DEFINTION_NAME }} \ + --query taskDefinition > task-definition.json + - name: New image ID in the Amazon ECS task definition + id: task-def + uses: aws-actions/amazon-ecs-render-task-definition@v1 + with: + task-definition: task-definition.json + container-name: default + image: ${{ steps.login-ecr.outputs.registry }}/careplan-service-dev-uat:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + + - name: Deploy Amazon ECS task definition + uses: aws-actions/amazon-ecs-deploy-task-definition@v1 + with: + task-definition: ${{ steps.task-def.outputs.task-definition }} + wait-for-service-stability: true + + - name: Task Definition Variable + id: taskdefintionvar + shell: bash + run: | + echo "::set-output name=task_definition_arn::$(aws ecs describe-task-definition --task-definition ${{ secrets.TASK_DEFINTION_NAME }} | jq '.[] | .taskDefinitionArn')" + - name: Task Defintion ARN + run: | + echo "Task Defintion: ${{ steps.taskdefintionvar.outputs.task_definition_arn }}" + - name: Deploy Amazon ECS task definition using Duplo API + uses: fjogeleit/http-request-action@master + with: + url: 'https://reanfoundation.duplocloud.net/subscriptions/${{ secrets.DUPLO_ID }}/UpdateEcsService' + method: 'POST' + data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200}' + bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} \ No newline at end of file From ebe76eb2e3b76e2c7c916d8c78d714adb6ffae33 Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Mon, 10 Oct 2022 16:42:18 +0530 Subject: [PATCH 058/169] add pageIndex,itemsPerPage for every assets --- .../action.plan.controller.delegate.ts | 2 +- .../action.plan/action.plan.validator.ts | 7 +- .../animation.controller.delegate.ts | 2 +- .../assets/animation/animation.validator.ts | 6 +- .../appointment.controller.delegate.ts | 2 +- .../appointment/appointment.validator.ts | 6 +- .../article/article.controller.delegate.ts | 2 +- src/api/assets/article/article.validator.ts | 6 +- .../assessment.controller.delegate.ts | 2 +- .../assets/assessment/assessment.validator.ts | 6 +- .../assets/audio/audio.controller.delegate.ts | 2 +- src/api/assets/audio/audio.validator.ts | 6 +- .../biometrics.controller.delegate.ts | 2 +- .../assets/biometrics/biometrics.validator.ts | 6 +- .../challenge.controller.delegate.ts | 2 +- .../assets/challenge/challenge.validator.ts | 6 +- .../checkup/checkup.controller.delegate.ts | 2 +- src/api/assets/checkup/checkup.validator.ts | 6 +- .../consultation.controller.delegate.ts | 2 +- .../consultation/consultation.validator.ts | 6 +- .../exercise/exercise.controller.delegate.ts | 2 +- src/api/assets/exercise/exercise.validator.ts | 6 +- .../assets/goal/goal.controller.delegate.ts | 4 +- src/api/assets/goal/goal.validator.ts | 6 +- .../infographics.controller.delegate.ts | 2 +- .../infographics/infographics.validator.ts | 6 +- .../medication.controller.delegate.ts | 2 +- .../assets/medication/medication.validator.ts | 6 +- .../meditation.controller.delegate.ts | 2 +- .../assets/meditation/meditation.validator.ts | 6 +- .../message/message.controller.delegate.ts | 2 +- src/api/assets/message/message.validator.ts | 18 ++- .../nutrition.controller.delegate.ts | 2 +- .../assets/nutrition/nutrition.validator.ts | 6 +- .../physiotherapy.controller.delegate.ts | 2 +- .../physiotherapy/physiotherapy.validator.ts | 6 +- .../priority/priority.controller.delegate.ts | 2 +- src/api/assets/priority/priority.validator.ts | 6 +- .../reflection.controller.delegate.ts | 2 +- .../assets/reflection/reflection.validator.ts | 6 +- .../reminder/reminder.controller.delegate.ts | 2 +- src/api/assets/reminder/reminder.validator.ts | 6 +- .../assets/video/video.controller.delegate.ts | 2 +- src/api/assets/video/video.validator.ts | 6 +- .../web.link/web.link.controller.delegate.ts | 2 +- src/api/assets/web.link/web.link.validator.ts | 6 +- .../web.newsfeed.controller.delegate.ts | 2 +- .../web.newsfeed/web.newsfeed.validator.ts | 6 +- .../word.power.controller.delegate.ts | 2 +- .../assets/word.power/word.power.validator.ts | 6 +- src/api/types/types.controller.ts | 13 ++ src/api/types/types.routes.ts | 1 + src/common/helper.ts | 122 +++++++++++------- 53 files changed, 250 insertions(+), 101 deletions(-) diff --git a/src/api/assets/action.plan/action.plan.controller.delegate.ts b/src/api/assets/action.plan/action.plan.controller.delegate.ts index 086516e..d3d1951 100644 --- a/src/api/assets/action.plan/action.plan.controller.delegate.ts +++ b/src/api/assets/action.plan/action.plan.controller.delegate.ts @@ -97,7 +97,7 @@ export class ActionPlanControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/action.plan/action.plan.validator.ts b/src/api/assets/action.plan/action.plan.validator.ts index a9dcdc2..3a1b4a9 100644 --- a/src/api/assets/action.plan/action.plan.validator.ts +++ b/src/api/assets/action.plan/action.plan.validator.ts @@ -48,7 +48,12 @@ export class ActionPlanValidator { description : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/animation/animation.controller.delegate.ts b/src/api/assets/animation/animation.controller.delegate.ts index 6fffbb6..25aca86 100644 --- a/src/api/assets/animation/animation.controller.delegate.ts +++ b/src/api/assets/animation/animation.controller.delegate.ts @@ -97,7 +97,7 @@ export class AnimationControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/animation/animation.validator.ts b/src/api/assets/animation/animation.validator.ts index dd5ec1a..9b573ac 100644 --- a/src/api/assets/animation/animation.validator.ts +++ b/src/api/assets/animation/animation.validator.ts @@ -51,7 +51,11 @@ export class AnimationValidator { url : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/appointment/appointment.controller.delegate.ts b/src/api/assets/appointment/appointment.controller.delegate.ts index 18e89f5..e8c30f2 100644 --- a/src/api/assets/appointment/appointment.controller.delegate.ts +++ b/src/api/assets/appointment/appointment.controller.delegate.ts @@ -97,7 +97,7 @@ export class AppointmentControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/appointment/appointment.validator.ts b/src/api/assets/appointment/appointment.validator.ts index 4f74daf..23691e8 100644 --- a/src/api/assets/appointment/appointment.validator.ts +++ b/src/api/assets/appointment/appointment.validator.ts @@ -51,7 +51,11 @@ export class AppointmentValidator { appointmentType : joi.string().valid("Doctor", "Lab", "Physiotherapy", "Other").optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/article/article.controller.delegate.ts b/src/api/assets/article/article.controller.delegate.ts index c6c21d8..35b4850 100644 --- a/src/api/assets/article/article.controller.delegate.ts +++ b/src/api/assets/article/article.controller.delegate.ts @@ -97,7 +97,7 @@ export class ArticleControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/article/article.validator.ts b/src/api/assets/article/article.validator.ts index 3bb3800..1b93725 100644 --- a/src/api/assets/article/article.validator.ts +++ b/src/api/assets/article/article.validator.ts @@ -51,7 +51,11 @@ export class ArticleValidator { url : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/assessment/assessment.controller.delegate.ts b/src/api/assets/assessment/assessment.controller.delegate.ts index 13ac86e..02a9b0e 100644 --- a/src/api/assets/assessment/assessment.controller.delegate.ts +++ b/src/api/assets/assessment/assessment.controller.delegate.ts @@ -97,7 +97,7 @@ export class AssessmentControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/assessment/assessment.validator.ts b/src/api/assets/assessment/assessment.validator.ts index 8035cf1..4c4d115 100644 --- a/src/api/assets/assessment/assessment.validator.ts +++ b/src/api/assets/assessment/assessment.validator.ts @@ -51,7 +51,11 @@ export class AssessmentValidator { assetCategory : joi.string().max(128).optional(), template : joi.string().optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/audio/audio.controller.delegate.ts b/src/api/assets/audio/audio.controller.delegate.ts index 693b379..282c9ad 100644 --- a/src/api/assets/audio/audio.controller.delegate.ts +++ b/src/api/assets/audio/audio.controller.delegate.ts @@ -97,7 +97,7 @@ export class AudioControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/audio/audio.validator.ts b/src/api/assets/audio/audio.validator.ts index a94a3fa..27102fe 100644 --- a/src/api/assets/audio/audio.validator.ts +++ b/src/api/assets/audio/audio.validator.ts @@ -51,7 +51,11 @@ export class AudioValidator { url : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/biometrics/biometrics.controller.delegate.ts b/src/api/assets/biometrics/biometrics.controller.delegate.ts index dba57f0..44313e3 100644 --- a/src/api/assets/biometrics/biometrics.controller.delegate.ts +++ b/src/api/assets/biometrics/biometrics.controller.delegate.ts @@ -97,7 +97,7 @@ export class BiometricsControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/biometrics/biometrics.validator.ts b/src/api/assets/biometrics/biometrics.validator.ts index 3f6df47..4d12a71 100644 --- a/src/api/assets/biometrics/biometrics.validator.ts +++ b/src/api/assets/biometrics/biometrics.validator.ts @@ -54,7 +54,11 @@ export class BiometricsValidator { biometricsType : joi.string().valid("Blood pressure", "Blood glucose", "Blood oxygen saturation", "Body height", "Body weight", "Body temperature", "Pulse", "Other").optional(), measurementUnit : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/challenge/challenge.controller.delegate.ts b/src/api/assets/challenge/challenge.controller.delegate.ts index 1daf6af..6f808f8 100644 --- a/src/api/assets/challenge/challenge.controller.delegate.ts +++ b/src/api/assets/challenge/challenge.controller.delegate.ts @@ -97,7 +97,7 @@ export class ChallengeControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/challenge/challenge.validator.ts b/src/api/assets/challenge/challenge.validator.ts index 8b4f7c3..c172ce7 100644 --- a/src/api/assets/challenge/challenge.validator.ts +++ b/src/api/assets/challenge/challenge.validator.ts @@ -48,7 +48,11 @@ export class ChallengeValidator { description : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/checkup/checkup.controller.delegate.ts b/src/api/assets/checkup/checkup.controller.delegate.ts index 7dc4889..e4d15db 100644 --- a/src/api/assets/checkup/checkup.controller.delegate.ts +++ b/src/api/assets/checkup/checkup.controller.delegate.ts @@ -97,7 +97,7 @@ export class CheckupControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/checkup/checkup.validator.ts b/src/api/assets/checkup/checkup.validator.ts index dcd1af9..921e894 100644 --- a/src/api/assets/checkup/checkup.validator.ts +++ b/src/api/assets/checkup/checkup.validator.ts @@ -48,7 +48,11 @@ export class CheckupValidator { description : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/consultation/consultation.controller.delegate.ts b/src/api/assets/consultation/consultation.controller.delegate.ts index 6005d89..a737470 100644 --- a/src/api/assets/consultation/consultation.controller.delegate.ts +++ b/src/api/assets/consultation/consultation.controller.delegate.ts @@ -97,7 +97,7 @@ export class ConsultationControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/consultation/consultation.validator.ts b/src/api/assets/consultation/consultation.validator.ts index c89e953..4348e3f 100644 --- a/src/api/assets/consultation/consultation.validator.ts +++ b/src/api/assets/consultation/consultation.validator.ts @@ -51,7 +51,11 @@ export class ConsultationValidator { consultationType : joi.string().valid("Tele-consultation", "Visit-consultation", "Other").optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/exercise/exercise.controller.delegate.ts b/src/api/assets/exercise/exercise.controller.delegate.ts index 8b1b4dc..ae4af23 100644 --- a/src/api/assets/exercise/exercise.controller.delegate.ts +++ b/src/api/assets/exercise/exercise.controller.delegate.ts @@ -97,7 +97,7 @@ export class ExerciseControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/exercise/exercise.validator.ts b/src/api/assets/exercise/exercise.validator.ts index 07cf8e0..1478c98 100644 --- a/src/api/assets/exercise/exercise.validator.ts +++ b/src/api/assets/exercise/exercise.validator.ts @@ -57,7 +57,11 @@ export class ExerciseValidator { recommendedDurationMin : joi.number().integer().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/goal/goal.controller.delegate.ts b/src/api/assets/goal/goal.controller.delegate.ts index 1d4e492..cd1ad5c 100644 --- a/src/api/assets/goal/goal.controller.delegate.ts +++ b/src/api/assets/goal/goal.controller.delegate.ts @@ -96,8 +96,8 @@ export class GoalControllerDelegate { //#region Privates getSearchFilters = (query) => { - - var filters = {}; + + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/goal/goal.validator.ts b/src/api/assets/goal/goal.validator.ts index c7f7f7b..0bfe5d9 100644 --- a/src/api/assets/goal/goal.validator.ts +++ b/src/api/assets/goal/goal.validator.ts @@ -48,7 +48,11 @@ export class GoalValidator { description : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/infographics/infographics.controller.delegate.ts b/src/api/assets/infographics/infographics.controller.delegate.ts index 5b316b2..9acf29a 100644 --- a/src/api/assets/infographics/infographics.controller.delegate.ts +++ b/src/api/assets/infographics/infographics.controller.delegate.ts @@ -97,7 +97,7 @@ export class InfographicsControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/infographics/infographics.validator.ts b/src/api/assets/infographics/infographics.validator.ts index de9b343..744928c 100644 --- a/src/api/assets/infographics/infographics.validator.ts +++ b/src/api/assets/infographics/infographics.validator.ts @@ -51,7 +51,11 @@ export class InfographicsValidator { url : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/medication/medication.controller.delegate.ts b/src/api/assets/medication/medication.controller.delegate.ts index 9398459..a07b52d 100644 --- a/src/api/assets/medication/medication.controller.delegate.ts +++ b/src/api/assets/medication/medication.controller.delegate.ts @@ -98,7 +98,7 @@ export class MedicationControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/medication/medication.validator.ts b/src/api/assets/medication/medication.validator.ts index f21fbc6..77f4a5b 100644 --- a/src/api/assets/medication/medication.validator.ts +++ b/src/api/assets/medication/medication.validator.ts @@ -48,7 +48,11 @@ export class MedicationValidator { description : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/meditation/meditation.controller.delegate.ts b/src/api/assets/meditation/meditation.controller.delegate.ts index b4aab2a..12d4f4b 100644 --- a/src/api/assets/meditation/meditation.controller.delegate.ts +++ b/src/api/assets/meditation/meditation.controller.delegate.ts @@ -97,7 +97,7 @@ export class MeditationControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/meditation/meditation.validator.ts b/src/api/assets/meditation/meditation.validator.ts index 3d5e549..619ce58 100644 --- a/src/api/assets/meditation/meditation.validator.ts +++ b/src/api/assets/meditation/meditation.validator.ts @@ -54,7 +54,11 @@ export class MeditationValidator { recommendedDurationMin : joi.number().integer().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/message/message.controller.delegate.ts b/src/api/assets/message/message.controller.delegate.ts index a5e2e52..56068b1 100644 --- a/src/api/assets/message/message.controller.delegate.ts +++ b/src/api/assets/message/message.controller.delegate.ts @@ -97,7 +97,7 @@ export class MessageControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/message/message.validator.ts b/src/api/assets/message/message.validator.ts index da5d2a0..578bb5e 100644 --- a/src/api/assets/message/message.validator.ts +++ b/src/api/assets/message/message.validator.ts @@ -47,13 +47,17 @@ export class MessageValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - assetCode : joi.string().max(256).optional(), - name : joi.string().optional(), - description : joi.string().optional(), - category : joi.string().max(128).optional(), - messageType : joi.string().valid("Educational", "Status", "Unknown").optional(), - tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + assetCode : joi.string().max(256).optional(), + name : joi.string().optional(), + description : joi.string().optional(), + category : joi.string().max(128).optional(), + messageType : joi.string().valid("Educational", "Status", "Unknown").optional(), + tags : joi.array().items(joi.string()).optional(), + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/nutrition/nutrition.controller.delegate.ts b/src/api/assets/nutrition/nutrition.controller.delegate.ts index e0834da..b427fc4 100644 --- a/src/api/assets/nutrition/nutrition.controller.delegate.ts +++ b/src/api/assets/nutrition/nutrition.controller.delegate.ts @@ -97,7 +97,7 @@ export class NutritionControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/nutrition/nutrition.validator.ts b/src/api/assets/nutrition/nutrition.validator.ts index 7c8c485..571a66d 100644 --- a/src/api/assets/nutrition/nutrition.validator.ts +++ b/src/api/assets/nutrition/nutrition.validator.ts @@ -48,7 +48,11 @@ export class NutritionValidator { description : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts b/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts index 399ca1d..163251f 100644 --- a/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts +++ b/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts @@ -97,7 +97,7 @@ export class PhysiotherapyControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/physiotherapy/physiotherapy.validator.ts b/src/api/assets/physiotherapy/physiotherapy.validator.ts index 1e63a74..9d10a5e 100644 --- a/src/api/assets/physiotherapy/physiotherapy.validator.ts +++ b/src/api/assets/physiotherapy/physiotherapy.validator.ts @@ -51,7 +51,11 @@ export class PhysiotherapyValidator { recommendedDurationMin : joi.number().integer().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/priority/priority.controller.delegate.ts b/src/api/assets/priority/priority.controller.delegate.ts index e09d7a2..1fc8965 100644 --- a/src/api/assets/priority/priority.controller.delegate.ts +++ b/src/api/assets/priority/priority.controller.delegate.ts @@ -97,7 +97,7 @@ export class PriorityControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/priority/priority.validator.ts b/src/api/assets/priority/priority.validator.ts index 1deb6d1..53d05cf 100644 --- a/src/api/assets/priority/priority.validator.ts +++ b/src/api/assets/priority/priority.validator.ts @@ -48,7 +48,11 @@ export class PriorityValidator { description : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/reflection/reflection.controller.delegate.ts b/src/api/assets/reflection/reflection.controller.delegate.ts index 2b04726..57e2327 100644 --- a/src/api/assets/reflection/reflection.controller.delegate.ts +++ b/src/api/assets/reflection/reflection.controller.delegate.ts @@ -97,7 +97,7 @@ export class ReflectionControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/reflection/reflection.validator.ts b/src/api/assets/reflection/reflection.validator.ts index ba43f2e..2b9af38 100644 --- a/src/api/assets/reflection/reflection.validator.ts +++ b/src/api/assets/reflection/reflection.validator.ts @@ -48,7 +48,11 @@ export class ReflectionValidator { description : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/reminder/reminder.controller.delegate.ts b/src/api/assets/reminder/reminder.controller.delegate.ts index 5ae71cf..f798fd7 100644 --- a/src/api/assets/reminder/reminder.controller.delegate.ts +++ b/src/api/assets/reminder/reminder.controller.delegate.ts @@ -97,7 +97,7 @@ export class ReminderControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/reminder/reminder.validator.ts b/src/api/assets/reminder/reminder.validator.ts index a05eb52..f1dba77 100644 --- a/src/api/assets/reminder/reminder.validator.ts +++ b/src/api/assets/reminder/reminder.validator.ts @@ -48,7 +48,11 @@ export class ReminderValidator { description : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/video/video.controller.delegate.ts b/src/api/assets/video/video.controller.delegate.ts index 32a1706..3e92723 100644 --- a/src/api/assets/video/video.controller.delegate.ts +++ b/src/api/assets/video/video.controller.delegate.ts @@ -97,7 +97,7 @@ export class VideoControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/video/video.validator.ts b/src/api/assets/video/video.validator.ts index a0a1747..8a2d333 100644 --- a/src/api/assets/video/video.validator.ts +++ b/src/api/assets/video/video.validator.ts @@ -51,7 +51,11 @@ export class VideoValidator { url : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/web.link/web.link.controller.delegate.ts b/src/api/assets/web.link/web.link.controller.delegate.ts index 3a5ee7d..569191e 100644 --- a/src/api/assets/web.link/web.link.controller.delegate.ts +++ b/src/api/assets/web.link/web.link.controller.delegate.ts @@ -97,7 +97,7 @@ export class WebLinkControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/web.link/web.link.validator.ts b/src/api/assets/web.link/web.link.validator.ts index e2a04f6..0c51f11 100644 --- a/src/api/assets/web.link/web.link.validator.ts +++ b/src/api/assets/web.link/web.link.validator.ts @@ -51,7 +51,11 @@ export class WebLinkValidator { url : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts b/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts index 49cdd06..2928c94 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts @@ -97,7 +97,7 @@ export class WebNewsfeedControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts index 434504b..8644878 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts @@ -51,7 +51,11 @@ export class WebNewsfeedValidator { url : joi.string().optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/word.power/word.power.controller.delegate.ts b/src/api/assets/word.power/word.power.controller.delegate.ts index 2bb2429..016d8a7 100644 --- a/src/api/assets/word.power/word.power.controller.delegate.ts +++ b/src/api/assets/word.power/word.power.controller.delegate.ts @@ -97,7 +97,7 @@ export class WordPowerControllerDelegate { getSearchFilters = (query) => { - var filters = {}; + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; if (assetCode != null) { diff --git a/src/api/assets/word.power/word.power.validator.ts b/src/api/assets/word.power/word.power.validator.ts index 1a29054..be1f028 100644 --- a/src/api/assets/word.power/word.power.validator.ts +++ b/src/api/assets/word.power/word.power.validator.ts @@ -51,7 +51,11 @@ export class WordPowerValidator { additionalResources : joi.array().items(joi.string()).optional(), assetCategory : joi.string().max(128).optional(), tags : joi.array().items(joi.string()).optional(), - version : joi.string().max(128).optional() + version : joi.string().max(128).optional(), + order : joi.string().max(128).optional(), + orderBy : joi.string().max(128).optional(), + itemsPerPage : joi.number().max(128).optional(), + pageIndex : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/types/types.controller.ts b/src/api/types/types.controller.ts index 4228d0e..d928bcc 100644 --- a/src/api/types/types.controller.ts +++ b/src/api/types/types.controller.ts @@ -4,6 +4,7 @@ import { ErrorHandler } from '../../common/error.handler'; import { BaseController } from '../base.controller'; import { RoleService } from '../../database/repository.services/role.service'; import { CareplanCategoryService } from '../../database/repository.services/careplan/careplan.category.service'; +import { AssetTypeList } from '../../domain.types/assets/asset.types'; /////////////////////////////////////////////////////////////////////////////////////// @@ -64,6 +65,18 @@ export class TypesController extends BaseController { } }; + getAssetTypes = async (request: express.Request, response: express.Response): Promise => { + try { + await this.authorize('Types.GetAssetTypes', request, response, false); + const assetTypes = AssetTypeList; + ResponseHandler.success(request, response, 'Asset types retrieved successfully!', 200, { + AssetTypes : assetTypes, + }); + + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + }; // getPriorityTypes = async (request: express.Request, response: express.Response): Promise => { // try { // await this.setContext('HealthPriority.GetPrioritiesTypes', request, response); diff --git a/src/api/types/types.routes.ts b/src/api/types/types.routes.ts index cbc9049..97180a3 100644 --- a/src/api/types/types.routes.ts +++ b/src/api/types/types.routes.ts @@ -12,6 +12,7 @@ export const register = (app: express.Application): void => { router.get('/roles', controller.getRoleTypes); router.get('/careplan-categories', controller.getCareplanCategories); + router.get('/asset', controller.getAssetTypes); app.use('/api/v1/types', router); }; diff --git a/src/common/helper.ts b/src/common/helper.ts index 422be85..3f5c6b8 100644 --- a/src/common/helper.ts +++ b/src/common/helper.ts @@ -18,6 +18,50 @@ import bcrypt from 'bcryptjs'; export class Helper { + static getDefaultSearchFilters = (query) => { + var filters = {}; + var dateFrom = query.dateFrom ? query.dateFrom : null; + if (dateFrom != null) { + filters['DateFrom'] = new Date(dateFrom); + } + var dateTo = query.dateTo ? query.dateTo : null; + if (dateTo != null) { + const to = exports.addDays(new Date(dateTo), 1); + filters['DateTo'] = to; + } + var pageIndex = query.pageIndex ? query.pageIndex : 0; + if (pageIndex != null) { + filters['PageIndex'] = parseInt(pageIndex); + } + var itemsPerPage = query.itemsPerPage ? query.itemsPerPage : 0; + if (itemsPerPage != null) { + filters['ItemsPerPage'] = parseInt(itemsPerPage); + } + var orderBy = query.orderBy ? query.orderBy : null; + if (orderBy != null) { + filters['OrderBy'] = orderBy; + } + var order = query.order ? query.order : null; + if (order != null) { + filters['Order'] = order; + } + return filters; + }; + + static setDefaultPagination = (filters) => { + let limit = 25; + if (filters.ItemsPerPage) { + limit = filters.ItemsPerPage; + } + let offset = 0; + let pageIndex = 0; + if (filters.PageIndex) { + pageIndex = filters.PageIndex < 0 ? 0 : filters.PageIndex; + offset = pageIndex * limit; + } + return { pageIndex, limit, offset }; + }; + static getResourceOwner = (request: express.Request): string => { if (request.params.userId) { return request.params.userId; @@ -33,7 +77,7 @@ export class Helper { static getStoragePath = () => { return path.join(process.env.STORAGE_BUCKET, process.env.NODE_ENV); - } + }; static compareHashedPassword = (password, hash) => { if (!password) { @@ -41,7 +85,7 @@ export class Helper { } // returns Boolean return bcrypt.compareSync(password.toString(), hash); - } + }; static generateHashedPassword = (password) => { if (!password) { @@ -49,13 +93,13 @@ export class Helper { } // hash password with bcrypt algorithm return bcrypt.hashSync(password.toString(), 10); - } + }; static generateCryptoToken = async () => { const { randomBytes } = await import('crypto'); const buffer = randomBytes(30); return buffer.toString('hex'); - } + }; static generateUserName = () => { return genpass.generate({ @@ -63,13 +107,13 @@ export class Helper { numbers : false, lowercase : true, uppercase : false, - symbols : false + symbols : false, }); - } + }; static hasProperty = (obj, prop) => { return Object.prototype.hasOwnProperty.call(obj, prop); - } + }; static isUrl = (str) => { if (!str) { @@ -81,7 +125,7 @@ export class Helper { } catch (err) { return false; } - } + }; static dumpJson(obj, filename) { const txt = JSON.stringify(obj, null, ' '); @@ -89,7 +133,6 @@ export class Helper { } static jsonToObj = (jsonPath) => { - if (!fs.existsSync(jsonPath)) { return null; } @@ -105,20 +148,17 @@ export class Helper { static executeCommand = (command: string): Promise => { return new Promise(function (resolve, reject) { - child_process.exec( - command, - function (error: Error, standardOutput: string, standardError: string) { - if (error) { - reject(); - return; - } - if (standardError) { - reject(standardError); - return; - } - resolve(standardOutput); + child_process.exec(command, function (error: Error, standardOutput: string, standardError: string) { + if (error) { + reject(); + return; + } + if (standardError) { + reject(standardError); + return; } - ); + resolve(standardOutput); + }); }); }; @@ -330,14 +370,13 @@ export class Helper { if (phone.includes('-')) { const tokens = phone.split('-'); let countryCode = tokens[0]; - let phoneNumber = tokens.length > 2 ? tokens.slice(1, ).join() : tokens[1]; + let phoneNumber = tokens.length > 2 ? tokens.slice(1).join() : tokens[1]; countryCode = '+' + Helper.getDigitsOnly(countryCode); phoneNumber = Helper.getDigitsOnly(phoneNumber); return countryCode + '-' + phoneNumber; - } - else if (phone.startsWith('+')) { - var countryCodes = Countries.map(x => x.PhoneCode); - var countryCodesSorted = countryCodes.sort((a,b) => b.length - a.length); + } else if (phone.startsWith('+')) { + var countryCodes = Countries.map((x) => x.PhoneCode); + var countryCodesSorted = countryCodes.sort((a, b) => b.length - a.length); for (var cc of countryCodesSorted) { if (phone.startsWith(cc)) { var phoneNumber = phone.substring(cc.length); @@ -359,7 +398,6 @@ export class Helper { } const validPhoneNumber = Helper.isStr(phoneNumber) && phoneNumber.length >= 9; if (!validPhoneNumber) { - //throw new InputValidationError(['Invalid phone number']); return Promise.reject('Invalid phone number'); } @@ -398,7 +436,7 @@ export class Helper { public static padInteger = (num: number, places: number, paddingCharacter: string) => { return String(num).padStart(places, paddingCharacter); - } + }; //Reference: https://github.com/zishon89us/node-cheat/blob/master/stackoverflow_answers/crypto-create-cipheriv.js#L2 @@ -424,18 +462,17 @@ export class Helper { }; public static getPossiblePhoneNumbers = (phone) => { - if (phone == null) { return []; } let phoneTemp = phone; phoneTemp = phoneTemp.trim(); - const countryCodes = Countries.map(x => x.PhoneCode); + const countryCodes = Countries.map((x) => x.PhoneCode); const searchFors = countryCodes; const possiblePhoneNumbers = [phone]; - let phonePrefix = ""; + let phonePrefix = ''; for (var s of searchFors) { if (phoneTemp.startsWith(s)) { @@ -447,17 +484,15 @@ export class Helper { if (phonePrefix) { possiblePhoneNumbers.push(phonePrefix + phoneTemp); - possiblePhoneNumbers.push(phonePrefix + "-" + phoneTemp); + possiblePhoneNumbers.push(phonePrefix + '-' + phoneTemp); possiblePhoneNumbers.push(phoneTemp); - } else { - - var possibles = Countries.map(x => { + var possibles = Countries.map((x) => { return x.PhoneCode + phoneTemp; }); possiblePhoneNumbers.push(...possibles); - possibles = Countries.map(x => { - return x.PhoneCode + "-" + phoneTemp; + possibles = Countries.map((x) => { + return x.PhoneCode + '-' + phoneTemp; }); possiblePhoneNumbers.push(...possibles); @@ -468,7 +503,7 @@ export class Helper { public static getFileExtension = (filename: string) => { var ext = /^.+\.([^.]+)$/.exec(filename); - return ext == null ? "" : ext[1]; + return ext == null ? '' : ext[1]; }; public static getFilenameFromFilePath = (filepath: string) => { @@ -479,7 +514,7 @@ export class Helper { var tmp = (Math.floor(Math.random() * 9000000000) + 1000000000).toString(); var displayId = tmp.slice(0, 4) + '-' + tmp.slice(4, 8); var identifier = displayId; - if (prefix != null){ + if (prefix != null) { identifier = prefix + '-' + identifier; } return identifier; @@ -503,8 +538,7 @@ export class Helper { return str; }; - public static generateDownloadFolderPath = async() => { - + public static generateDownloadFolderPath = async () => { var timestamp = TimeHelper.timestamp(new Date()); var tempDownloadFolder = ConfigurationManager.DownloadTemporaryFolder(); var downloadFolderPath = path.join(tempDownloadFolder, timestamp); @@ -514,7 +548,7 @@ export class Helper { return downloadFolderPath; }; - public static createTempDownloadFolder = async() => { + public static createTempDownloadFolder = async () => { var tempDownloadFolder = ConfigurationManager.DownloadTemporaryFolder(); if (fs.existsSync(tempDownloadFolder)) { return tempDownloadFolder; @@ -523,7 +557,7 @@ export class Helper { return tempDownloadFolder; }; - public static createTempUploadFolder = async() => { + public static createTempUploadFolder = async () => { var tempUploadFolder = ConfigurationManager.UploadTemporaryFolder(); if (fs.existsSync(tempUploadFolder)) { return tempUploadFolder; From fc047133d1e0be044f04f4b54ef6f59024a8a285 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Thu, 13 Oct 2022 11:34:25 +0530 Subject: [PATCH 059/169] Added codeql, release drafter and pull request template --- .github/codeql-analysis.yml | 44 +++++++++++++++++++ .github/workflows/codeql/codeql-config.yml | 3 ++ .github/workflows/pull_request_template.md | 27 ++++++++++++ .github/workflows/release-drafter.yml | 49 ++++++++++++++++++++++ 4 files changed, 123 insertions(+) create mode 100644 .github/codeql-analysis.yml create mode 100644 .github/workflows/codeql/codeql-config.yml create mode 100644 .github/workflows/pull_request_template.md create mode 100644 .github/workflows/release-drafter.yml diff --git a/.github/codeql-analysis.yml b/.github/codeql-analysis.yml new file mode 100644 index 0000000..d2b22f7 --- /dev/null +++ b/.github/codeql-analysis.yml @@ -0,0 +1,44 @@ +name: "CodeQL" + +on: + # Triggers the workflow on push or pull request events but only for the main branch + push: + branches: [main, develop] + pull_request: + branches: [main, develop] + # workflow_dispatch: + +jobs: + analyze-codeql: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: ["typescript"] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] + # Learn more: + # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + config-file: ./.github/codeql/codeql-config.yml + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 \ No newline at end of file diff --git a/.github/workflows/codeql/codeql-config.yml b/.github/workflows/codeql/codeql-config.yml new file mode 100644 index 0000000..dd58872 --- /dev/null +++ b/.github/workflows/codeql/codeql-config.yml @@ -0,0 +1,3 @@ +query-filters: +- exclude: + id: js/missing-rate-limiting \ No newline at end of file diff --git a/.github/workflows/pull_request_template.md b/.github/workflows/pull_request_template.md new file mode 100644 index 0000000..9992c8d --- /dev/null +++ b/.github/workflows/pull_request_template.md @@ -0,0 +1,27 @@ +Related issue +Issue Id +Context +List of changes +change a +change b +Database migration/schema changes (if any) +List your migrations here... +Self review checklist + Confirm that the changes made by you meet the resolution criteria and nothing else. + Ran all the tests locally to check that you have not introduced any new regression. + If there are any failing tests, you have already fixed them. If not + Followed coding and styling guidelines. + Made sure the changes are is not overly complex, unreadable and unnecessarily smart. Simplicity wins! + Made sure the comments are not too verbose and not to cryptic. + Made sure the code metrics are not deteriorated. + Made sure you have updated (if necessary)- + Documentation + Translation + Tests/test data + Postman collection + Version +Additional info (if any) +Add anything you feel worth mentioning... +screensshots (if any) +Original Updated +** Original screenshot ** ** Updated screenshot ** \ No newline at end of file diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 0000000..b91157f --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,49 @@ + + +change-template: "* $TITLE (#$NUMBER) by @$AUTHOR" +name-template: '$RESOLVED_VERSION' +tag-template: 'v$RESOLVED_VERSION' +categories: + - title: '⚡ Breaking Changes' + labels: + - 'breaking-change' + - title: '🌟New features and non-breaking changes' + labels: + - 'major' + - 'feature' + - title: '🌟 Minor Changes' + labels: + - 'enhancement' + - title: '📜 Documentation updates' + labels: + - 'documentation' + - title: '🐛 Bug and hot fixes' + labels: + - 'bug' + - 'fix' + - title: '🚒 Deprecations' + labels: + - 'deprecated' + - title: '🔧 Maintenance' + labels: + - 'internal' + - 'dependencies' +exclude-labels: + - 'skip-changelog' +version-resolver: + major: + labels: + - 'major' + minor: + labels: + - 'minor' + patch: + labels: + - 'patch' + default: major +template: | + ## Summary + ## Changes + $CHANGES + ## This release was made possible by the following contributors: + $CONTRIBUTORS \ No newline at end of file From 1c9cba69ef6e53154e619ec9ed894314dcdcb052 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Thu, 13 Oct 2022 11:44:55 +0530 Subject: [PATCH 060/169] Addded codeql, release drafter and pull request template --- .github/{workflows => }/codeql/codeql-config.yml | 2 ++ .github/{workflows => }/pull_request_template.md | 0 .github/{workflows => }/release-drafter.yml | 0 .github/{ => workflows}/codeql-analysis.yml | 2 ++ 4 files changed, 4 insertions(+) rename .github/{workflows => }/codeql/codeql-config.yml (96%) rename .github/{workflows => }/pull_request_template.md (100%) rename .github/{workflows => }/release-drafter.yml (100%) rename .github/{ => workflows}/codeql-analysis.yml (99%) diff --git a/.github/workflows/codeql/codeql-config.yml b/.github/codeql/codeql-config.yml similarity index 96% rename from .github/workflows/codeql/codeql-config.yml rename to .github/codeql/codeql-config.yml index dd58872..95ae069 100644 --- a/.github/workflows/codeql/codeql-config.yml +++ b/.github/codeql/codeql-config.yml @@ -1,3 +1,5 @@ + + query-filters: - exclude: id: js/missing-rate-limiting \ No newline at end of file diff --git a/.github/workflows/pull_request_template.md b/.github/pull_request_template.md similarity index 100% rename from .github/workflows/pull_request_template.md rename to .github/pull_request_template.md diff --git a/.github/workflows/release-drafter.yml b/.github/release-drafter.yml similarity index 100% rename from .github/workflows/release-drafter.yml rename to .github/release-drafter.yml diff --git a/.github/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml similarity index 99% rename from .github/codeql-analysis.yml rename to .github/workflows/codeql-analysis.yml index d2b22f7..b04a1dc 100644 --- a/.github/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -1,3 +1,5 @@ + + name: "CodeQL" on: From 550efb617efb1bd30e0d7739e586956844a4e69f Mon Sep 17 00:00:00 2001 From: Kiran Kharade <82871552+kiran-rean@users.noreply.github.com> Date: Wed, 19 Oct 2022 18:39:44 +0530 Subject: [PATCH 061/169] Update README.md --- README.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1da9ef9..afcfe1a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,22 @@ # Careplan Service -Careplan service is meant for creating, executing careplan workflows, +Careplan service is meant for management of careplans. + +This service supports following workflows. +- Author and edit careplan assets. +- Author careplan schedules. +- Register participants +- Enroll participants to one or more careplans + +### Highlights +- API currently supports client authentication using API keys. +- User authentication is also applicable for careplan and asset creators and admin. + +### Currently in progress +- Careplan service supports static careplan schedules, but support for dynamic scheduling of careplans is in progress. When complete, the scheduling will be driven by rule engine, events and participant responses. +- Assessments/quiz module is currently part of the REAN-care service. +__SideNote: Assessment will be separate service which will seamlessly integrate with careplan service in the near future.__ + [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE) From 3cc4b9e812ccf326760e700497966372c6901fc3 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Tue, 25 Oct 2022 13:36:51 +0530 Subject: [PATCH 062/169] Added pg dialect as an alternative to mysql. --- package-lock.json | 34 ++++++++++----------- package.json | 4 +-- src/database/database.connector.ts | 4 +-- src/database/db.client.ts | 1 + src/database/postgresql.client.ts | 47 ++++++++++++++++++++++++++++++ 5 files changed, 69 insertions(+), 21 deletions(-) create mode 100644 src/database/postgresql.client.ts diff --git a/package-lock.json b/package-lock.json index 1b68815..a091811 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,8 +42,8 @@ "node-cron": "^3.0.0", "node-forge": "^1.3.0", "node-xlsx": "^0.21.0", - "pg": "^8.6.0", - "pg-hstore": "^2.3.3", + "pg": "^8.8.0", + "pg-hstore": "^2.3.4", "readdirp": "^3.6.0", "reflect-metadata": "^0.1.13", "sequelize": "^6.15.0", @@ -7333,14 +7333,14 @@ } }, "node_modules/pg": { - "version": "8.7.3", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.7.3.tgz", - "integrity": "sha512-HPmH4GH4H3AOprDJOazoIcpI49XFsHCe8xlrjHkWiapdbHK+HLtbm/GQzXYAZwmPju/kzKhjaSfMACG+8cgJcw==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.8.0.tgz", + "integrity": "sha512-UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw==", "dependencies": { "buffer-writer": "2.0.0", "packet-reader": "1.0.0", "pg-connection-string": "^2.5.0", - "pg-pool": "^3.5.1", + "pg-pool": "^3.5.2", "pg-protocol": "^1.5.0", "pg-types": "^2.1.0", "pgpass": "1.x" @@ -7349,7 +7349,7 @@ "node": ">= 8.0.0" }, "peerDependencies": { - "pg-native": ">=2.0.0" + "pg-native": ">=3.0.1" }, "peerDependenciesMeta": { "pg-native": { @@ -7382,9 +7382,9 @@ } }, "node_modules/pg-pool": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz", - "integrity": "sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.2.tgz", + "integrity": "sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w==", "peerDependencies": { "pg": ">=8.0" } @@ -15298,14 +15298,14 @@ "dev": true }, "pg": { - "version": "8.7.3", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.7.3.tgz", - "integrity": "sha512-HPmH4GH4H3AOprDJOazoIcpI49XFsHCe8xlrjHkWiapdbHK+HLtbm/GQzXYAZwmPju/kzKhjaSfMACG+8cgJcw==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.8.0.tgz", + "integrity": "sha512-UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw==", "requires": { "buffer-writer": "2.0.0", "packet-reader": "1.0.0", "pg-connection-string": "^2.5.0", - "pg-pool": "^3.5.1", + "pg-pool": "^3.5.2", "pg-protocol": "^1.5.0", "pg-types": "^2.1.0", "pgpass": "1.x" @@ -15330,9 +15330,9 @@ "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" }, "pg-pool": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz", - "integrity": "sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.2.tgz", + "integrity": "sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w==", "requires": {} }, "pg-protocol": { diff --git a/package.json b/package.json index 12d2459..1a07b6a 100644 --- a/package.json +++ b/package.json @@ -51,8 +51,8 @@ "node-cron": "^3.0.0", "node-forge": "^1.3.0", "node-xlsx": "^0.21.0", - "pg": "^8.6.0", - "pg-hstore": "^2.3.3", + "pg": "^8.8.0", + "pg-hstore": "^2.3.4", "readdirp": "^3.6.0", "reflect-metadata": "^0.1.13", "sequelize": "^6.15.0", diff --git a/src/database/database.connector.ts b/src/database/database.connector.ts index 2da94ec..963e25c 100644 --- a/src/database/database.connector.ts +++ b/src/database/database.connector.ts @@ -1,4 +1,4 @@ -import { Sequelize } from 'sequelize'; +import { Dialect, Sequelize } from 'sequelize'; import { DbConfig } from './database.config'; import { Logger } from '../common/logger'; @@ -13,7 +13,7 @@ Logger.instance().log('db host : ' + config.host); const sequelize = new Sequelize(config.database, config.username, config.password, { host : config.host, - dialect : 'mysql', + dialect : config.dialect as Dialect, pool : { max : config.pool.max, min : config.pool.min, diff --git a/src/database/db.client.ts b/src/database/db.client.ts index f7ddf00..4544b7f 100644 --- a/src/database/db.client.ts +++ b/src/database/db.client.ts @@ -1,4 +1,5 @@ import { MysqlClient as client } from './mysql.client'; +//import { PostgresClient as client } from './postgresql.client'; import { Logger } from '../common/logger'; import { execSync } from 'child_process'; diff --git a/src/database/postgresql.client.ts b/src/database/postgresql.client.ts new file mode 100644 index 0000000..9e20c25 --- /dev/null +++ b/src/database/postgresql.client.ts @@ -0,0 +1,47 @@ + +import { Client } from 'pg'; +import { Logger } from '../common/logger'; +import { DbConfig } from './database.config'; + +//////////////////////////////////////////////////////////////// + +export class PostgresqlClient { + + public static createDb = async () => { + try { + const config = DbConfig.config; + const query = `CREATE DATABASE ${config.database}`; + await PostgresqlClient.executeQuery(query); + } catch (error) { + Logger.instance().log(error.message); + } + }; + + public static dropDb = async () => { + try { + const config = DbConfig.config; + const query = `DROP DATABASE IF EXISTS ${config.database}`; + await PostgresqlClient.executeQuery(query); + } catch (error) { + Logger.instance().log(error.message); + } + }; + + public static executeQuery = async (query) => { + try { + const config = DbConfig.config; + const client = new Client({ + user : config.username, + host : config.host, + password : config.password, + port : 5432, + }); + await client.connect(); + await client.query(query); + await client.end(); + } catch (error) { + Logger.instance().log(error.message); + } + }; + +} From a427aaa8fb3ed549be581adf09a75744f7effbc4 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Wed, 26 Oct 2022 23:02:03 +0530 Subject: [PATCH 063/169] converted careplanId into uuid --- .../careplan.activity.validator.ts | 24 +++++++----- .../enrollment.task.validator.ts | 6 ++- .../enrollment/enrollment.validator.ts | 12 ++++-- ...participant.activity.response.validator.ts | 6 ++- ...ticipant.selected.action.plan.validator.ts | 22 +++++++---- .../participant.selected.goal.validator.ts | 38 +++++++++++-------- ...participant.selected.priority.validator.ts | 36 ++++++++++-------- .../careplan/careplan.activity.model.ts | 2 +- .../models/careplan/careplan.model.ts | 8 ++-- .../models/enrollment/enrollment.model.ts | 2 +- .../enrollment/enrollment.task.model.ts | 2 +- .../participant.activity.response.model.ts | 2 +- .../participant.selected.action.plan.model.ts | 2 +- .../participant.selected.goal.model.ts | 2 +- .../participant.selected.priority.model.ts | 2 +- .../careplan.activity.domain.types.ts | 8 ++-- .../careplan/careplan.domain.types.ts | 4 +- .../enrollment/enrollment.domain.types.ts | 8 ++-- .../enrollment.task.domain.types.ts | 6 +-- ...ticipant.activity.response.domain.types.ts | 6 +-- ...ipant.selected.action.plan.domain.types.ts | 8 ++-- .../participant.selected.goal.domain.types.ts | 8 ++-- ...ticipant.selected.priority.domain.types.ts | 8 ++-- 23 files changed, 128 insertions(+), 94 deletions(-) diff --git a/src/api/careplan/careplan.activity/careplan.activity.validator.ts b/src/api/careplan/careplan.activity/careplan.activity.validator.ts index 0c9e14e..9bae575 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.validator.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.validator.ts @@ -10,9 +10,11 @@ export class CareplanActivityValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetId : joi.number().integer().optional(), - AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), - CareplanId : joi.number().integer().optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + CareplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), Day : joi.number().integer().optional(), TimeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), IsRegistrationActivity : joi.boolean().optional(), @@ -26,9 +28,11 @@ export class CareplanActivityValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetId : joi.number().integer().optional(), - AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), - CareplanId : joi.number().integer().optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + CareplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), Day : joi.number().integer().optional(), TimeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), IsRegistrationActivity : joi.boolean().optional(), @@ -42,9 +46,11 @@ export class CareplanActivityValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - assetId : joi.number().integer().optional(), - assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), - careplanId : joi.number().integer().optional(), + assetId : joi.number().integer().optional(), + assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + careplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), day : joi.number().integer().optional(), timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), isRegistrationActivity : joi.boolean().optional(), diff --git a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts index a867020..e5e656e 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts @@ -38,8 +38,10 @@ export class EnrollmentTaskValidator { participantId : joi.string().guid({ version : ['uuidv4'] }).optional(), - assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), - careplanId : joi.number().integer().optional(), + assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), + careplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), isRegistrationActivity : joi.boolean().optional(), }); diff --git a/src/api/enrollment/enrollment/enrollment.validator.ts b/src/api/enrollment/enrollment/enrollment.validator.ts index e2d7b95..2f1fc5e 100644 --- a/src/api/enrollment/enrollment/enrollment.validator.ts +++ b/src/api/enrollment/enrollment/enrollment.validator.ts @@ -10,7 +10,9 @@ export class EnrollmentValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - CareplanId : joi.number().integer().optional(), + CareplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), @@ -29,7 +31,9 @@ export class EnrollmentValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - CareplanId : joi.number().integer().optional(), + CareplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), @@ -45,7 +49,9 @@ export class EnrollmentValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - careplanId : joi.number().integer().optional(), + careplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() }); return await schema.validateAsync(query); diff --git a/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts index 2228349..a24a55f 100644 --- a/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts +++ b/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts @@ -46,8 +46,10 @@ export class ParticipantActivityResponseValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), - careplanId : joi.number().integer().optional(), + participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), + careplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), assetId : joi.number().integer().optional(), assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), response : joi.any().optional(), diff --git a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts index 9508725..eb98755 100644 --- a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts +++ b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts @@ -21,7 +21,9 @@ export class ParticipantSelectedActionPlanValidator { SelectedGoalId : joi.string().guid({ version : ['uuidv4'] }).optional(), - CareplanId : joi.number().integer().optional(), + CareplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), AssetId : joi.number().integer().optional(), AssetType : joi.string().max(128).optional(), AssetCode : joi.string().max(128).optional(), @@ -49,7 +51,9 @@ export class ParticipantSelectedActionPlanValidator { SelectedGoalId : joi.string().guid({ version : ['uuidv4'] }).optional(), - CareplanId : joi.number().integer().optional(), + CareplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), AssetId : joi.number().integer().optional(), AssetType : joi.string().max(128).optional(), AssetCode : joi.string().max(128).optional(), @@ -66,12 +70,14 @@ export class ParticipantSelectedActionPlanValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), - enrollmentId : joi.string().guid({ version: ['uuidv4'] }).optional(), - selectedGoalId : joi.string().guid({ version: ['uuidv4'] }).optional(), - name : joi.string().max(256).optional(), - description : joi.string().optional(), - careplanId : joi.number().integer().optional(), + participantId : joi.string().guid({ version: ['uuidv4'] }).optional(), + enrollmentId : joi.string().guid({ version: ['uuidv4'] }).optional(), + selectedGoalId : joi.string().guid({ version: ['uuidv4'] }).optional(), + name : joi.string().max(256).optional(), + description : joi.string().optional(), + careplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), assetId : joi.number().integer().optional(), assetType : joi.string().max(128).optional(), assetCode : joi.string().max(128).optional(), diff --git a/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts index fcb2192..7c8b830 100644 --- a/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts +++ b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts @@ -21,10 +21,12 @@ export class ParticipantSelectedGoalValidator { SelectedPriorityId : joi.string().guid({ version : ['uuidv4'] }).optional(), - CareplanId : joi.number().integer().optional(), - AssetId : joi.number().integer().optional(), - AssetType : joi.string().max(128).optional(), - AssetCode : joi.string().max(128).optional(), + CareplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().max(128).optional(), + AssetCode : joi.string().max(128).optional(), AdditionalDetails : joi.string().optional(), StartDate : joi.date().iso().optional(), EndDate : joi.date().iso().optional() @@ -49,10 +51,12 @@ export class ParticipantSelectedGoalValidator { SelectedPriorityId : joi.string().guid({ version : ['uuidv4'] }).optional(), - CareplanId : joi.number().integer().optional(), - AssetId : joi.number().integer().optional(), - AssetType : joi.string().max(128).optional(), - AssetCode : joi.string().max(128).optional(), + CareplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().max(128).optional(), + AssetCode : joi.string().max(128).optional(), AdditionalDetails : joi.string().optional(), StartDate : joi.date().iso().optional(), EndDate : joi.date().iso().optional() @@ -71,14 +75,16 @@ export class ParticipantSelectedGoalValidator { selectedPriorityId : joi.string().guid({ version: ['uuidv4'] }).optional(), name : joi.string().max(256).optional(), description : joi.string().optional(), - careplanId : joi.number().integer().optional(), - assetId : joi.number().integer().optional(), - assetType : joi.string().max(128).optional(), - assetCode : joi.string().max(128).optional(), - additionalDetails : joi.string().optional(), - startDate : joi.date().iso().optional(), - endDate : joi.date().iso().optional(), - progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() + careplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + assetId : joi.number().integer().optional(), + assetType : joi.string().max(128).optional(), + assetCode : joi.string().max(128).optional(), + additionalDetails : joi.string().optional(), + startDate : joi.date().iso().optional(), + endDate : joi.date().iso().optional(), + progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() }); return await schema.validateAsync(query); diff --git a/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts index 1ccf4a0..69cfafc 100644 --- a/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts +++ b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts @@ -18,11 +18,13 @@ export class ParticipantSelectedPriorityValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), - CareplanId : joi.number().integer().optional(), - AssetId : joi.number().integer().optional(), - AssetType : joi.string().max(128).optional(), - AssetCode : joi.string().max(128).optional(), - StartDate : joi.date().iso().optional() + CareplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().max(128).optional(), + AssetCode : joi.string().max(128).optional(), + StartDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -41,11 +43,13 @@ export class ParticipantSelectedPriorityValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), - CareplanId : joi.number().integer().optional(), - AssetId : joi.number().integer().optional(), - AssetType : joi.string().max(128).optional(), - AssetCode : joi.string().max(128).optional(), - StartDate : joi.date().iso().optional() + CareplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + AssetId : joi.number().integer().optional(), + AssetType : joi.string().max(128).optional(), + AssetCode : joi.string().max(128).optional(), + StartDate : joi.date().iso().optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -60,11 +64,13 @@ export class ParticipantSelectedPriorityValidator { enrollmentId : joi.string().guid({ version: ['uuidv4'] }).optional(), name : joi.string().max(256).optional(), description : joi.string().optional(), - careplanId : joi.number().integer().optional(), - assetId : joi.number().integer().optional(), - assetType : joi.string().max(128).optional(), - assetCode : joi.string().max(128).optional(), - startDate : joi.date().iso().optional() + careplanId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), + assetId : joi.number().integer().optional(), + assetType : joi.string().max(128).optional(), + assetCode : joi.string().max(128).optional(), + startDate : joi.date().iso().optional() }); return await schema.validateAsync(query); diff --git a/src/database/models/careplan/careplan.activity.model.ts b/src/database/models/careplan/careplan.activity.model.ts index 4f1b027..6ee313b 100644 --- a/src/database/models/careplan/careplan.activity.model.ts +++ b/src/database/models/careplan/careplan.activity.model.ts @@ -27,7 +27,7 @@ export class CareplanActivityModel { allowNull : false }, CareplanId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false, foreignKey : true, unique : false diff --git a/src/database/models/careplan/careplan.model.ts b/src/database/models/careplan/careplan.model.ts index 8a9589a..7390641 100644 --- a/src/database/models/careplan/careplan.model.ts +++ b/src/database/models/careplan/careplan.model.ts @@ -12,10 +12,10 @@ export class CareplanModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true, + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, Code : { type : DataTypes.STRING(256), diff --git a/src/database/models/enrollment/enrollment.model.ts b/src/database/models/enrollment/enrollment.model.ts index 4c446f8..607cc41 100644 --- a/src/database/models/enrollment/enrollment.model.ts +++ b/src/database/models/enrollment/enrollment.model.ts @@ -19,7 +19,7 @@ export class EnrollmentModel { primaryKey : true }, CareplanId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false, foreignKey : true, unique : false diff --git a/src/database/models/enrollment/enrollment.task.model.ts b/src/database/models/enrollment/enrollment.task.model.ts index 4bf9233..2224fc3 100644 --- a/src/database/models/enrollment/enrollment.task.model.ts +++ b/src/database/models/enrollment/enrollment.task.model.ts @@ -46,7 +46,7 @@ export class EnrollmentTaskModel { allowNull : false }, CareplanId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false, foreignKey : true, unique : false diff --git a/src/database/models/participant.responses/participant.activity.response.model.ts b/src/database/models/participant.responses/participant.activity.response.model.ts index 3529fb9..cb2c702 100644 --- a/src/database/models/participant.responses/participant.activity.response.model.ts +++ b/src/database/models/participant.responses/participant.activity.response.model.ts @@ -38,7 +38,7 @@ export class ParticipantActivityResponseModel { unique : false }, CareplanId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false, foreignKey : true, unique : false diff --git a/src/database/models/participant.responses/participant.selected.action.plan.model.ts b/src/database/models/participant.responses/participant.selected.action.plan.model.ts index 1b24288..273accd 100644 --- a/src/database/models/participant.responses/participant.selected.action.plan.model.ts +++ b/src/database/models/participant.responses/participant.selected.action.plan.model.ts @@ -45,7 +45,7 @@ export class ParticipantSelectedActionPlanModel { unique : false }, CareplanId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false, foreignKey : true, unique : false diff --git a/src/database/models/participant.responses/participant.selected.goal.model.ts b/src/database/models/participant.responses/participant.selected.goal.model.ts index 17cf5ae..8b41380 100644 --- a/src/database/models/participant.responses/participant.selected.goal.model.ts +++ b/src/database/models/participant.responses/participant.selected.goal.model.ts @@ -45,7 +45,7 @@ export class ParticipantSelectedGoalModel { unique : false }, CareplanId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false, foreignKey : true, unique : false diff --git a/src/database/models/participant.responses/participant.selected.priority.model.ts b/src/database/models/participant.responses/participant.selected.priority.model.ts index 6a0ef1a..db838da 100644 --- a/src/database/models/participant.responses/participant.selected.priority.model.ts +++ b/src/database/models/participant.responses/participant.selected.priority.model.ts @@ -38,7 +38,7 @@ export class ParticipantSelectedPriorityModel { unique : false }, CareplanId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false, foreignKey : true, unique : false diff --git a/src/domain.types/careplan/careplan.activity.domain.types.ts b/src/domain.types/careplan/careplan.activity.domain.types.ts index 360c67d..a8e4d4b 100644 --- a/src/domain.types/careplan/careplan.activity.domain.types.ts +++ b/src/domain.types/careplan/careplan.activity.domain.types.ts @@ -8,7 +8,7 @@ import { uuid } from "../miscellaneous/system.types"; export interface CareplanActivityCreateModel { AssetId? : number; AssetType? : AssetType; - CareplanId? : number; + CareplanId? : uuid; Day? : number; TimeSlot? : TimeSlot; IsRegistrationActivity: boolean; @@ -17,7 +17,7 @@ export interface CareplanActivityCreateModel { export interface CareplanActivityUpdateModel { AssetId? : number; AssetType? : AssetType; - CareplanId? : number; + CareplanId? : uuid; Day? : number; TimeSlot? : TimeSlot; IsRegistrationActivity?: boolean; @@ -27,7 +27,7 @@ export interface CareplanActivityDto { id : uuid; AssetId : number; AssetType : AssetType; - CareplanId : number; + CareplanId : uuid; Day : number; TimeSlot : TimeSlot; IsRegistrationActivity: boolean; @@ -36,7 +36,7 @@ export interface CareplanActivityDto { export interface CareplanActivitySearchFilters extends BaseSearchFilters { AssetId? : number; AssetType? : AssetType; - CareplanId? : number; + CareplanId? : uuid; Day? : number; TimeSlot? : TimeSlot; IsRegistrationActivity?: boolean; diff --git a/src/domain.types/careplan/careplan.domain.types.ts b/src/domain.types/careplan/careplan.domain.types.ts index 4eeb939..ef3571a 100644 --- a/src/domain.types/careplan/careplan.domain.types.ts +++ b/src/domain.types/careplan/careplan.domain.types.ts @@ -3,7 +3,7 @@ import { BaseSearchFilters, BaseSearchResults } from "../miscellaneous/base.sear import { uuid } from "../miscellaneous/system.types"; export interface CareplanCreateModel { - id?: number; + id?: uuid; Code: string; CategoryId: number; Name: string; @@ -26,7 +26,7 @@ export interface CareplanUpdateModel { } export interface CareplanDto { - id?: number; + id?: uuid; Code: string; CategoryId: number; Name: string; diff --git a/src/domain.types/enrollment/enrollment.domain.types.ts b/src/domain.types/enrollment/enrollment.domain.types.ts index aca5cd6..3a926f9 100644 --- a/src/domain.types/enrollment/enrollment.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.domain.types.ts @@ -8,7 +8,7 @@ import { } from "../miscellaneous/system.types"; export interface EnrollmentCreateModel { - CareplanId ?: number; + CareplanId ?: uuid; ParticipantId ?: uuid; StartDate ?: Date; EndDate ?: Date; @@ -18,7 +18,7 @@ export interface EnrollmentCreateModel { } export interface EnrollmentUpdateModel { - CareplanId ?: number; + CareplanId ?: uuid; ParticipantId ?: uuid; StartDate ?: Date; EndDate ?: Date; @@ -29,7 +29,7 @@ export interface EnrollmentUpdateModel { export interface EnrollmentDto { id : uuid; - CareplanId : number; + CareplanId : uuid; ParticipantId : uuid; StartDate : Date; EndDate : Date; @@ -40,7 +40,7 @@ export interface EnrollmentDto { } export interface EnrollmentSearchFilters extends BaseSearchFilters { - CareplanId ?: number; + CareplanId ?: uuid; ProgressStatus ?: ProgressStatus; } diff --git a/src/domain.types/enrollment/enrollment.task.domain.types.ts b/src/domain.types/enrollment/enrollment.task.domain.types.ts index 80a010f..073864e 100644 --- a/src/domain.types/enrollment/enrollment.task.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.task.domain.types.ts @@ -13,7 +13,7 @@ export interface EnrollmentTaskCreateModel { CareplanActivityId: uuid; AssetId : number; AssetType : AssetType; - CareplanId : number; + CareplanId : uuid; IsRegistrationActivity : boolean; TimeSlot : TimeSlot; ScheduledDate : Date; @@ -31,7 +31,7 @@ export interface EnrollmentTaskDto { AssetId : number; AssetType : AssetType; Asset? : any; - CareplanId : number; + CareplanId : uuid; TimeSlot : TimeSlot; ScheduledDate : Date; IsRegistrationActivity : boolean, @@ -40,7 +40,7 @@ export interface EnrollmentTaskDto { export interface EnrollmentTaskSearchFilters extends BaseSearchFilters { AssetId ?: number; AssetType ?: AssetType; - CareplanId ?: number; + CareplanId ?: uuid; TimeSlot ?: TimeSlot; IsRegistrationActivity? : boolean, } diff --git a/src/domain.types/participant.responses/participant.activity.response.domain.types.ts b/src/domain.types/participant.responses/participant.activity.response.domain.types.ts index 556df75..762c0e3 100644 --- a/src/domain.types/participant.responses/participant.activity.response.domain.types.ts +++ b/src/domain.types/participant.responses/participant.activity.response.domain.types.ts @@ -12,7 +12,7 @@ export interface ParticipantActivityResponseCreateModel { ParticipantId : uuid; EnrollmentTaskId : uuid; CareplanActivityId : uuid; - CareplanId : number; + CareplanId : uuid; AssetId : number; AssetType : AssetType; Response : string; @@ -32,7 +32,7 @@ export interface ParticipantActivityResponseDto { ParticipantId : uuid; EnrollmentTaskId : uuid; CareplanActivityId : uuid; - CareplanId : number; + CareplanId : uuid; AssetId : number; AssetType : AssetType; Response : string; @@ -42,7 +42,7 @@ export interface ParticipantActivityResponseDto { } export interface ParticipantActivityResponseSearchFilters extends BaseSearchFilters { - CareplanId ?: number; + CareplanId ?: uuid; AssetId ?: number; AssetType ?: AssetType; Response ?: string; diff --git a/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts b/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts index ecbb612..5d0f4ba 100644 --- a/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts +++ b/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts @@ -13,7 +13,7 @@ export interface ParticipantSelectedActionPlanCreateModel { EnrollmentId ?: uuid; ParticipantId ?: uuid; SelectedGoalId ?: uuid; - CareplanId ?: number; + CareplanId ?: uuid; AssetId ?: number; AssetType ?: string; AssetCode ?: string; @@ -28,7 +28,7 @@ export interface ParticipantSelectedActionPlanUpdateModel { EnrollmentId ?: uuid; ParticipantId ?: uuid; SelectedGoalId ?: uuid; - CareplanId ?: number; + CareplanId ?: uuid; AssetId ?: number; AssetType ?: string; AssetCode ?: string; @@ -44,7 +44,7 @@ export interface ParticipantSelectedActionPlanDto { EnrollmentId : uuid; ParticipantId : uuid; SelectedGoalId : uuid; - CareplanId : number; + CareplanId : uuid; AssetId : number; AssetType : string; AssetCode : string; @@ -61,7 +61,7 @@ export interface ParticipantSelectedActionPlanSearchFilters extends BaseSearchFi EnrollmentId ?: uuid; ParticipantId ?: uuid; SelectedGoalId ?: uuid; - CareplanId ?: number; + CareplanId ?: uuid; AssetId ?: number; AssetType ?: string; AssetCode ?: string; diff --git a/src/domain.types/participant.responses/participant.selected.goal.domain.types.ts b/src/domain.types/participant.responses/participant.selected.goal.domain.types.ts index 87546cd..60e10f2 100644 --- a/src/domain.types/participant.responses/participant.selected.goal.domain.types.ts +++ b/src/domain.types/participant.responses/participant.selected.goal.domain.types.ts @@ -13,7 +13,7 @@ export interface ParticipantSelectedGoalCreateModel { EnrollmentId ?: uuid; ParticipantId ?: uuid; SelectedPriorityId ?: uuid; - CareplanId ?: number; + CareplanId ?: uuid; AssetId ?: number; AssetType ?: string; AssetCode ?: string; @@ -28,7 +28,7 @@ export interface ParticipantSelectedGoalUpdateModel { EnrollmentId ?: uuid; ParticipantId ?: uuid; SelectedPriorityId ?: uuid; - CareplanId ?: number; + CareplanId ?: uuid; AssetId ?: number; AssetType ?: string; AssetCode ?: string; @@ -44,7 +44,7 @@ export interface ParticipantSelectedGoalDto { EnrollmentId : uuid; ParticipantId : uuid; SelectedPriorityId : uuid; - CareplanId : number; + CareplanId : uuid; AssetId : number; AssetType : string; AssetCode : string; @@ -60,7 +60,7 @@ export interface ParticipantSelectedGoalSearchFilters extends BaseSearchFilters EnrollmentId ?: uuid; ParticipantId ?: uuid; SelectedPriorityId ?: uuid; - CareplanId ?: number; + CareplanId ?: uuid; AssetId ?: number; AssetType ?: string; AssetCode ?: string; diff --git a/src/domain.types/participant.responses/participant.selected.priority.domain.types.ts b/src/domain.types/participant.responses/participant.selected.priority.domain.types.ts index 5a4960b..9c72030 100644 --- a/src/domain.types/participant.responses/participant.selected.priority.domain.types.ts +++ b/src/domain.types/participant.responses/participant.selected.priority.domain.types.ts @@ -11,7 +11,7 @@ export interface ParticipantSelectedPriorityCreateModel { Description ?: string; EnrollmentId ?: uuid; ParticipantId ?: uuid; - CareplanId ?: number; + CareplanId ?: uuid; AssetId ?: number; AssetType ?: string; AssetCode ?: string; @@ -23,7 +23,7 @@ export interface ParticipantSelectedPriorityUpdateModel { Description ?: string; EnrollmentId ?: uuid; ParticipantId ?: uuid; - CareplanId ?: number; + CareplanId ?: uuid; AssetId ?: number; AssetType ?: string; AssetCode ?: string; @@ -36,7 +36,7 @@ export interface ParticipantSelectedPriorityDto { Description : string; EnrollmentId : uuid; ParticipantId : uuid; - CareplanId : number; + CareplanId : uuid; AssetId : number; AssetType : string; AssetCode : string; @@ -49,7 +49,7 @@ export interface ParticipantSelectedPrioritySearchFilters extends BaseSearchFilt Description ?: string; EnrollmentId ?: uuid; ParticipantId ?: uuid; - CareplanId ?: number; + CareplanId ?: uuid; AssetId ?: number; AssetType ?: string; AssetCode ?: string; From 9f685e51191c6f5bd316b9eabff36b7423edf057 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Thu, 27 Oct 2022 13:23:15 +0530 Subject: [PATCH 064/169] changed asset code type to uuid --- .../careplan.activity.validator.ts | 12 +++++++++--- .../careplan/careplan/careplan.validator.ts | 18 ++++++++++++------ .../enrollment.task.validator.ts | 4 +++- .../participant.activity.response.validator.ts | 4 +++- ...rticipant.selected.action.plan.validator.ts | 12 +++++++++--- .../participant.selected.goal.validator.ts | 12 +++++++++--- .../participant.selected.priority.validator.ts | 12 +++++++++--- .../models/assets/action.plan.model.ts | 8 ++++---- src/database/models/assets/animation.model.ts | 8 ++++---- .../models/assets/appointment.model.ts | 8 ++++---- src/database/models/assets/article.model.ts | 8 ++++---- src/database/models/assets/assessment.model.ts | 8 ++++---- src/database/models/assets/audio.model.ts | 8 ++++---- src/database/models/assets/biometrics.model.ts | 8 ++++---- src/database/models/assets/challenge.model.ts | 8 ++++---- src/database/models/assets/checkup.model.ts | 8 ++++---- .../models/assets/consultation.model.ts | 8 ++++---- src/database/models/assets/exercise.model.ts | 8 ++++---- src/database/models/assets/goal.model.ts | 8 ++++---- .../models/assets/infographics.model.ts | 8 ++++---- src/database/models/assets/medication.model.ts | 8 ++++---- src/database/models/assets/meditation.model.ts | 8 ++++---- src/database/models/assets/message.model.ts | 8 ++++---- src/database/models/assets/nutrition.model.ts | 8 ++++---- .../models/assets/physiotherapy.model.ts | 8 ++++---- src/database/models/assets/priority.model.ts | 8 ++++---- src/database/models/assets/reflection.model.ts | 8 ++++---- src/database/models/assets/reminder.model.ts | 8 ++++---- src/database/models/assets/video.model.ts | 8 ++++---- src/database/models/assets/web.link.model.ts | 8 ++++---- .../models/assets/web.newsfeed.model.ts | 8 ++++---- src/database/models/assets/word.power.model.ts | 8 ++++---- .../models/careplan/careplan.activity.model.ts | 2 +- .../models/careplan/careplan.category.model.ts | 8 ++++---- src/database/models/careplan/careplan.model.ts | 2 +- .../models/enrollment/enrollment.task.model.ts | 2 +- .../participant.activity.response.model.ts | 2 +- .../participant.selected.action.plan.model.ts | 2 +- .../participant.selected.goal.model.ts | 2 +- .../participant.selected.priority.model.ts | 2 +- .../repository.services/assets/asset.helper.ts | 2 +- .../assets/action.plan.domain.types.ts | 2 +- .../assets/animation.domain.types.ts | 2 +- .../assets/appointment.domain.types.ts | 2 +- .../assets/article.domain.types.ts | 2 +- .../assets/assessment.domain.types.ts | 2 +- src/domain.types/assets/audio.domain.types.ts | 2 +- .../assets/biometrics.domain.types.ts | 2 +- .../assets/challenge.domain.types.ts | 2 +- .../assets/checkup.domain.types.ts | 2 +- .../assets/consultation.domain.types.ts | 2 +- .../assets/exercise.domain.types.ts | 2 +- src/domain.types/assets/goal.domain.types.ts | 2 +- .../assets/infographics.domain.types.ts | 2 +- .../assets/medication.domain.types.ts | 2 +- .../assets/meditation.domain.types.ts | 2 +- .../assets/message.domain.types.ts | 2 +- .../assets/nutrition.domain.types.ts | 2 +- .../assets/physiotherapy.domain.types.ts | 2 +- .../assets/priority.domain.types.ts | 2 +- .../assets/reflection.domain.types.ts | 2 +- .../assets/reminder.domain.types.ts | 2 +- src/domain.types/assets/video.domain.types.ts | 4 ++-- .../assets/web.link.domain.types.ts | 2 +- .../assets/web.newsfeed.domain.types.ts | 2 +- .../assets/word.power.domain.types.ts | 2 +- .../careplan/careplan.activity.domain.types.ts | 8 ++++---- .../careplan/careplan.category.domain.types.ts | 6 +++--- .../careplan/careplan.domain.types.ts | 8 ++++---- .../enrollment/enrollment.task.domain.types.ts | 6 +++--- ...rticipant.activity.response.domain.types.ts | 6 +++--- ...cipant.selected.action.plan.domain.types.ts | 8 ++++---- .../participant.selected.goal.domain.types.ts | 8 ++++---- ...rticipant.selected.priority.domain.types.ts | 8 ++++---- 74 files changed, 221 insertions(+), 187 deletions(-) diff --git a/src/api/careplan/careplan.activity/careplan.activity.validator.ts b/src/api/careplan/careplan.activity/careplan.activity.validator.ts index 9bae575..c0ac150 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.validator.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.validator.ts @@ -10,7 +10,9 @@ export class CareplanActivityValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetId : joi.number().integer().optional(), + AssetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), CareplanId : joi.string().guid({ version : ['uuidv4'] @@ -28,7 +30,9 @@ export class CareplanActivityValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetId : joi.number().integer().optional(), + AssetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), AssetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), CareplanId : joi.string().guid({ version : ['uuidv4'] @@ -46,7 +50,9 @@ export class CareplanActivityValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - assetId : joi.number().integer().optional(), + assetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), careplanId : joi.string().guid({ version : ['uuidv4'] diff --git a/src/api/careplan/careplan/careplan.validator.ts b/src/api/careplan/careplan/careplan.validator.ts index 0840afc..60ce86a 100644 --- a/src/api/careplan/careplan/careplan.validator.ts +++ b/src/api/careplan/careplan/careplan.validator.ts @@ -8,8 +8,10 @@ export class CareplanValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - Code : joi.string().max(256).optional(), - CategoryId : joi.number().integer().optional(), + Code : joi.string().max(256).optional(), + CategoryId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), Name : joi.string().max(256).required(), Description : joi.string().optional(), Version : joi.string().max(32).optional(), @@ -27,8 +29,10 @@ export class CareplanValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - code : joi.string().max(256).optional(), - categoryId : joi.number().integer().optional(), + code : joi.string().max(256).optional(), + categoryId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), name : joi.string().max(256).optional(), version : joi.string().max(32).optional(), ownerUserId : joi.string().guid({ @@ -47,8 +51,10 @@ export class CareplanValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - Code : joi.string().max(256).optional(), - CategoryId : joi.number().integer().optional(), + Code : joi.string().max(256).optional(), + CategoryId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Version : joi.string().max(32).optional(), diff --git a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts index e5e656e..5932fe6 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts @@ -34,7 +34,9 @@ export class EnrollmentTaskValidator { static validateSearchRequest = async (query) => { try { const schema = joi.object({ - assetId : joi.number().integer().optional(), + assetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), participantId : joi.string().guid({ version : ['uuidv4'] }).optional(), diff --git a/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts index a24a55f..7b4b58e 100644 --- a/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts +++ b/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts @@ -50,7 +50,9 @@ export class ParticipantActivityResponseValidator { careplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), - assetId : joi.number().integer().optional(), + assetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), assetType : joi.string().valid("Action plan", "Animation", "Appointment", "Article", "Assessment", "Audio", "Biometrics", "Challenge", "Checkup", "Consultation", "Exercise", "Goal", "Infographics", "Medication", "Meditation", "Message", "Nutrition", "Physiotherapy", "Priority", "Reflection", "Reminder", "Video", "Web link", "Web newsfeed", "Word power").optional(), response : joi.any().optional(), timeResponded : joi.date().iso().optional(), diff --git a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts index eb98755..6c69328 100644 --- a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts +++ b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts @@ -24,7 +24,9 @@ export class ParticipantSelectedActionPlanValidator { CareplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), - AssetId : joi.number().integer().optional(), + AssetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), AssetType : joi.string().max(128).optional(), AssetCode : joi.string().max(128).optional(), AdditionalDetails : joi.string().optional(), @@ -54,7 +56,9 @@ export class ParticipantSelectedActionPlanValidator { CareplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), - AssetId : joi.number().integer().optional(), + AssetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), AssetType : joi.string().max(128).optional(), AssetCode : joi.string().max(128).optional(), AdditionalDetails : joi.string().optional(), @@ -78,7 +82,9 @@ export class ParticipantSelectedActionPlanValidator { careplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), - assetId : joi.number().integer().optional(), + assetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), assetType : joi.string().max(128).optional(), assetCode : joi.string().max(128).optional(), additionalDetails : joi.string().optional(), diff --git a/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts index 7c8b830..f0f70ce 100644 --- a/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts +++ b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts @@ -24,7 +24,9 @@ export class ParticipantSelectedGoalValidator { CareplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), - AssetId : joi.number().integer().optional(), + AssetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), AssetType : joi.string().max(128).optional(), AssetCode : joi.string().max(128).optional(), AdditionalDetails : joi.string().optional(), @@ -54,7 +56,9 @@ export class ParticipantSelectedGoalValidator { CareplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), - AssetId : joi.number().integer().optional(), + AssetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), AssetType : joi.string().max(128).optional(), AssetCode : joi.string().max(128).optional(), AdditionalDetails : joi.string().optional(), @@ -78,7 +82,9 @@ export class ParticipantSelectedGoalValidator { careplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), - assetId : joi.number().integer().optional(), + assetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), assetType : joi.string().max(128).optional(), assetCode : joi.string().max(128).optional(), additionalDetails : joi.string().optional(), diff --git a/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts index 69cfafc..29eaa66 100644 --- a/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts +++ b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts @@ -21,7 +21,9 @@ export class ParticipantSelectedPriorityValidator { CareplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), - AssetId : joi.number().integer().optional(), + AssetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), AssetType : joi.string().max(128).optional(), AssetCode : joi.string().max(128).optional(), StartDate : joi.date().iso().optional() @@ -46,7 +48,9 @@ export class ParticipantSelectedPriorityValidator { CareplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), - AssetId : joi.number().integer().optional(), + AssetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), AssetType : joi.string().max(128).optional(), AssetCode : joi.string().max(128).optional(), StartDate : joi.date().iso().optional() @@ -67,7 +71,9 @@ export class ParticipantSelectedPriorityValidator { careplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), - assetId : joi.number().integer().optional(), + assetId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), assetType : joi.string().max(128).optional(), assetCode : joi.string().max(128).optional(), startDate : joi.date().iso().optional() diff --git a/src/database/models/assets/action.plan.model.ts b/src/database/models/assets/action.plan.model.ts index 3c88db3..4326a80 100644 --- a/src/database/models/assets/action.plan.model.ts +++ b/src/database/models/assets/action.plan.model.ts @@ -13,10 +13,10 @@ export class ActionPlanModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/animation.model.ts b/src/database/models/assets/animation.model.ts index 511b6b0..0e3b22d 100644 --- a/src/database/models/assets/animation.model.ts +++ b/src/database/models/assets/animation.model.ts @@ -13,10 +13,10 @@ export class AnimationModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/appointment.model.ts b/src/database/models/assets/appointment.model.ts index bd4e495..a163174 100644 --- a/src/database/models/assets/appointment.model.ts +++ b/src/database/models/assets/appointment.model.ts @@ -14,10 +14,10 @@ export class AppointmentModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/article.model.ts b/src/database/models/assets/article.model.ts index 79b3f4a..18d21a4 100644 --- a/src/database/models/assets/article.model.ts +++ b/src/database/models/assets/article.model.ts @@ -13,10 +13,10 @@ export class ArticleModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/assessment.model.ts b/src/database/models/assets/assessment.model.ts index 05d5a63..20749a6 100644 --- a/src/database/models/assets/assessment.model.ts +++ b/src/database/models/assets/assessment.model.ts @@ -13,10 +13,10 @@ export class AssessmentModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/audio.model.ts b/src/database/models/assets/audio.model.ts index 38823da..c115f50 100644 --- a/src/database/models/assets/audio.model.ts +++ b/src/database/models/assets/audio.model.ts @@ -13,10 +13,10 @@ export class AudioModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/biometrics.model.ts b/src/database/models/assets/biometrics.model.ts index ba92903..78eb202 100644 --- a/src/database/models/assets/biometrics.model.ts +++ b/src/database/models/assets/biometrics.model.ts @@ -14,10 +14,10 @@ export class BiometricsModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/challenge.model.ts b/src/database/models/assets/challenge.model.ts index 64a5486..a2b9e7d 100644 --- a/src/database/models/assets/challenge.model.ts +++ b/src/database/models/assets/challenge.model.ts @@ -13,10 +13,10 @@ export class ChallengeModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/checkup.model.ts b/src/database/models/assets/checkup.model.ts index b8ca01d..744792f 100644 --- a/src/database/models/assets/checkup.model.ts +++ b/src/database/models/assets/checkup.model.ts @@ -13,10 +13,10 @@ export class CheckupModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/consultation.model.ts b/src/database/models/assets/consultation.model.ts index 5e06026..270df93 100644 --- a/src/database/models/assets/consultation.model.ts +++ b/src/database/models/assets/consultation.model.ts @@ -14,10 +14,10 @@ export class ConsultationModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/exercise.model.ts b/src/database/models/assets/exercise.model.ts index 5494e34..e4dbf4c 100644 --- a/src/database/models/assets/exercise.model.ts +++ b/src/database/models/assets/exercise.model.ts @@ -15,10 +15,10 @@ export class ExerciseModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/goal.model.ts b/src/database/models/assets/goal.model.ts index 9d46720..d0b8c07 100644 --- a/src/database/models/assets/goal.model.ts +++ b/src/database/models/assets/goal.model.ts @@ -13,10 +13,10 @@ export class GoalModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/infographics.model.ts b/src/database/models/assets/infographics.model.ts index b2db479..d4d3de1 100644 --- a/src/database/models/assets/infographics.model.ts +++ b/src/database/models/assets/infographics.model.ts @@ -13,10 +13,10 @@ export class InfographicsModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/medication.model.ts b/src/database/models/assets/medication.model.ts index 39d5938..32d97fa 100644 --- a/src/database/models/assets/medication.model.ts +++ b/src/database/models/assets/medication.model.ts @@ -13,10 +13,10 @@ export class MedicationModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/meditation.model.ts b/src/database/models/assets/meditation.model.ts index d471f17..f287581 100644 --- a/src/database/models/assets/meditation.model.ts +++ b/src/database/models/assets/meditation.model.ts @@ -14,10 +14,10 @@ export class MeditationModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/message.model.ts b/src/database/models/assets/message.model.ts index 124ebf4..1c26f0f 100644 --- a/src/database/models/assets/message.model.ts +++ b/src/database/models/assets/message.model.ts @@ -14,10 +14,10 @@ export class MessageModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/nutrition.model.ts b/src/database/models/assets/nutrition.model.ts index a953461..f42ca60 100644 --- a/src/database/models/assets/nutrition.model.ts +++ b/src/database/models/assets/nutrition.model.ts @@ -13,10 +13,10 @@ export class NutritionModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/physiotherapy.model.ts b/src/database/models/assets/physiotherapy.model.ts index 707e583..b8094ea 100644 --- a/src/database/models/assets/physiotherapy.model.ts +++ b/src/database/models/assets/physiotherapy.model.ts @@ -13,10 +13,10 @@ export class PhysiotherapyModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/priority.model.ts b/src/database/models/assets/priority.model.ts index 4a86ba2..6aade07 100644 --- a/src/database/models/assets/priority.model.ts +++ b/src/database/models/assets/priority.model.ts @@ -13,10 +13,10 @@ export class PriorityModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/reflection.model.ts b/src/database/models/assets/reflection.model.ts index 7177ede..5874e1d 100644 --- a/src/database/models/assets/reflection.model.ts +++ b/src/database/models/assets/reflection.model.ts @@ -13,10 +13,10 @@ export class ReflectionModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/reminder.model.ts b/src/database/models/assets/reminder.model.ts index a0bd27c..2c2fe30 100644 --- a/src/database/models/assets/reminder.model.ts +++ b/src/database/models/assets/reminder.model.ts @@ -13,10 +13,10 @@ export class ReminderModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/video.model.ts b/src/database/models/assets/video.model.ts index b309db7..cab8867 100644 --- a/src/database/models/assets/video.model.ts +++ b/src/database/models/assets/video.model.ts @@ -13,10 +13,10 @@ export class VideoModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/web.link.model.ts b/src/database/models/assets/web.link.model.ts index 8223814..c64db0a 100644 --- a/src/database/models/assets/web.link.model.ts +++ b/src/database/models/assets/web.link.model.ts @@ -13,10 +13,10 @@ export class WebLinkModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/web.newsfeed.model.ts b/src/database/models/assets/web.newsfeed.model.ts index b5df60a..cbed9b3 100644 --- a/src/database/models/assets/web.newsfeed.model.ts +++ b/src/database/models/assets/web.newsfeed.model.ts @@ -13,10 +13,10 @@ export class WebNewsfeedModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/assets/word.power.model.ts b/src/database/models/assets/word.power.model.ts index ac25ed5..a81aa99 100644 --- a/src/database/models/assets/word.power.model.ts +++ b/src/database/models/assets/word.power.model.ts @@ -13,10 +13,10 @@ export class WordPowerModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, AssetCode : { type : DataTypes.STRING(256), diff --git a/src/database/models/careplan/careplan.activity.model.ts b/src/database/models/careplan/careplan.activity.model.ts index 6ee313b..5bc6a12 100644 --- a/src/database/models/careplan/careplan.activity.model.ts +++ b/src/database/models/careplan/careplan.activity.model.ts @@ -19,7 +19,7 @@ export class CareplanActivityModel { primaryKey : true }, AssetId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false }, AssetType : { diff --git a/src/database/models/careplan/careplan.category.model.ts b/src/database/models/careplan/careplan.category.model.ts index 5523b73..a03239e 100644 --- a/src/database/models/careplan/careplan.category.model.ts +++ b/src/database/models/careplan/careplan.category.model.ts @@ -12,10 +12,10 @@ export class CareplanCategoryModel { static Schema = { id : { - type : DataTypes.INTEGER, - allowNull : false, - autoIncrement : true, - primaryKey : true + type : DataTypes.UUID, + allowNull : false, + defaultValue : DataTypes.UUIDV4, + primaryKey : true }, Type : { type : DataTypes.STRING(256), diff --git a/src/database/models/careplan/careplan.model.ts b/src/database/models/careplan/careplan.model.ts index 7390641..99d8bb5 100644 --- a/src/database/models/careplan/careplan.model.ts +++ b/src/database/models/careplan/careplan.model.ts @@ -22,7 +22,7 @@ export class CareplanModel { allowNull : false, }, CategoryId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false, foreignKey : true, unique : false, diff --git a/src/database/models/enrollment/enrollment.task.model.ts b/src/database/models/enrollment/enrollment.task.model.ts index 2224fc3..72aa133 100644 --- a/src/database/models/enrollment/enrollment.task.model.ts +++ b/src/database/models/enrollment/enrollment.task.model.ts @@ -38,7 +38,7 @@ export class EnrollmentTaskModel { unique : false }, AssetId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false }, AssetType : { diff --git a/src/database/models/participant.responses/participant.activity.response.model.ts b/src/database/models/participant.responses/participant.activity.response.model.ts index cb2c702..501aa9d 100644 --- a/src/database/models/participant.responses/participant.activity.response.model.ts +++ b/src/database/models/participant.responses/participant.activity.response.model.ts @@ -44,7 +44,7 @@ export class ParticipantActivityResponseModel { unique : false }, AssetId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : false }, AssetType : { diff --git a/src/database/models/participant.responses/participant.selected.action.plan.model.ts b/src/database/models/participant.responses/participant.selected.action.plan.model.ts index 273accd..a41f32c 100644 --- a/src/database/models/participant.responses/participant.selected.action.plan.model.ts +++ b/src/database/models/participant.responses/participant.selected.action.plan.model.ts @@ -51,7 +51,7 @@ export class ParticipantSelectedActionPlanModel { unique : false }, AssetId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : true }, AssetType : { diff --git a/src/database/models/participant.responses/participant.selected.goal.model.ts b/src/database/models/participant.responses/participant.selected.goal.model.ts index 8b41380..2465032 100644 --- a/src/database/models/participant.responses/participant.selected.goal.model.ts +++ b/src/database/models/participant.responses/participant.selected.goal.model.ts @@ -51,7 +51,7 @@ export class ParticipantSelectedGoalModel { unique : false }, AssetId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : true }, AssetType : { diff --git a/src/database/models/participant.responses/participant.selected.priority.model.ts b/src/database/models/participant.responses/participant.selected.priority.model.ts index db838da..cc92f63 100644 --- a/src/database/models/participant.responses/participant.selected.priority.model.ts +++ b/src/database/models/participant.responses/participant.selected.priority.model.ts @@ -44,7 +44,7 @@ export class ParticipantSelectedPriorityModel { unique : false }, AssetId : { - type : DataTypes.INTEGER, + type : DataTypes.UUID, allowNull : true }, AssetType : { diff --git a/src/database/repository.services/assets/asset.helper.ts b/src/database/repository.services/assets/asset.helper.ts index b50ce64..5d2c120 100644 --- a/src/database/repository.services/assets/asset.helper.ts +++ b/src/database/repository.services/assets/asset.helper.ts @@ -33,7 +33,7 @@ export class AssetHelper { //#region Publics - public static getAsset = async (id: number, assetType: AssetType) => { + public static getAsset = async (id: string, assetType: AssetType) => { try { switch (assetType) { diff --git a/src/domain.types/assets/action.plan.domain.types.ts b/src/domain.types/assets/action.plan.domain.types.ts index cf3b1e7..0cae689 100644 --- a/src/domain.types/assets/action.plan.domain.types.ts +++ b/src/domain.types/assets/action.plan.domain.types.ts @@ -25,7 +25,7 @@ export interface ActionPlanUpdateModel { } export interface ActionPlanDto { - id : number; + id : uuid; AssetCode : string; Name : string; Description : string; diff --git a/src/domain.types/assets/animation.domain.types.ts b/src/domain.types/assets/animation.domain.types.ts index 18fe524..a02a103 100644 --- a/src/domain.types/assets/animation.domain.types.ts +++ b/src/domain.types/assets/animation.domain.types.ts @@ -27,7 +27,7 @@ export interface AnimationUpdateModel { } export interface AnimationDto { - id: number; + id: uuid; AssetCode: string; Name: string; Transcript: string; diff --git a/src/domain.types/assets/appointment.domain.types.ts b/src/domain.types/assets/appointment.domain.types.ts index cc6a004..9efcb39 100644 --- a/src/domain.types/assets/appointment.domain.types.ts +++ b/src/domain.types/assets/appointment.domain.types.ts @@ -41,7 +41,7 @@ export interface AppointmentUpdateModel { } export interface AppointmentDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/article.domain.types.ts b/src/domain.types/assets/article.domain.types.ts index 42901d4..d525229 100644 --- a/src/domain.types/assets/article.domain.types.ts +++ b/src/domain.types/assets/article.domain.types.ts @@ -27,7 +27,7 @@ export interface ArticleUpdateModel { } export interface ArticleDto { - id: number; + id: uuid; AssetCode: string; Name: string; Summary: string; diff --git a/src/domain.types/assets/assessment.domain.types.ts b/src/domain.types/assets/assessment.domain.types.ts index 4969b46..ffedb84 100644 --- a/src/domain.types/assets/assessment.domain.types.ts +++ b/src/domain.types/assets/assessment.domain.types.ts @@ -27,7 +27,7 @@ export interface AssessmentUpdateModel { } export interface AssessmentDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/audio.domain.types.ts b/src/domain.types/assets/audio.domain.types.ts index 297f4a3..f3adce0 100644 --- a/src/domain.types/assets/audio.domain.types.ts +++ b/src/domain.types/assets/audio.domain.types.ts @@ -27,7 +27,7 @@ export interface AudioUpdateModel { } export interface AudioDto { - id: number; + id: uuid; AssetCode: string; Name: string; Transcript: string; diff --git a/src/domain.types/assets/biometrics.domain.types.ts b/src/domain.types/assets/biometrics.domain.types.ts index 2dae24b..037e7bb 100644 --- a/src/domain.types/assets/biometrics.domain.types.ts +++ b/src/domain.types/assets/biometrics.domain.types.ts @@ -51,7 +51,7 @@ export interface BiometricsUpdateModel { } export interface BiometricsDto { - id : number; + id : uuid; AssetCode : string; Name : string; Description : string; diff --git a/src/domain.types/assets/challenge.domain.types.ts b/src/domain.types/assets/challenge.domain.types.ts index 5b98ca9..78422e2 100644 --- a/src/domain.types/assets/challenge.domain.types.ts +++ b/src/domain.types/assets/challenge.domain.types.ts @@ -25,7 +25,7 @@ export interface ChallengeUpdateModel { } export interface ChallengeDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/checkup.domain.types.ts b/src/domain.types/assets/checkup.domain.types.ts index e16228a..bce6ba7 100644 --- a/src/domain.types/assets/checkup.domain.types.ts +++ b/src/domain.types/assets/checkup.domain.types.ts @@ -25,7 +25,7 @@ export interface CheckupUpdateModel { } export interface CheckupDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/consultation.domain.types.ts b/src/domain.types/assets/consultation.domain.types.ts index e636cbb..46b5b29 100644 --- a/src/domain.types/assets/consultation.domain.types.ts +++ b/src/domain.types/assets/consultation.domain.types.ts @@ -39,7 +39,7 @@ export interface ConsultationUpdateModel { } export interface ConsultationDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/exercise.domain.types.ts b/src/domain.types/assets/exercise.domain.types.ts index 3a8c5bd..6db813d 100644 --- a/src/domain.types/assets/exercise.domain.types.ts +++ b/src/domain.types/assets/exercise.domain.types.ts @@ -69,7 +69,7 @@ export interface ExerciseUpdateModel { } export interface ExerciseDto { - id : number; + id : uuid; AssetCode : string; Name : string; Description : string; diff --git a/src/domain.types/assets/goal.domain.types.ts b/src/domain.types/assets/goal.domain.types.ts index 5a64ae6..de73f79 100644 --- a/src/domain.types/assets/goal.domain.types.ts +++ b/src/domain.types/assets/goal.domain.types.ts @@ -25,7 +25,7 @@ export interface GoalUpdateModel { } export interface GoalDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/infographics.domain.types.ts b/src/domain.types/assets/infographics.domain.types.ts index a04f2f3..3310dda 100644 --- a/src/domain.types/assets/infographics.domain.types.ts +++ b/src/domain.types/assets/infographics.domain.types.ts @@ -27,7 +27,7 @@ export interface InfographicsUpdateModel { } export interface InfographicsDto { - id : number; + id : uuid; AssetCode : string; Name : string; Description : string; diff --git a/src/domain.types/assets/medication.domain.types.ts b/src/domain.types/assets/medication.domain.types.ts index 52fd64e..4e78a9b 100644 --- a/src/domain.types/assets/medication.domain.types.ts +++ b/src/domain.types/assets/medication.domain.types.ts @@ -25,7 +25,7 @@ export interface MedicationUpdateModel { } export interface MedicationDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/meditation.domain.types.ts b/src/domain.types/assets/meditation.domain.types.ts index 16a23dc..7e098e4 100644 --- a/src/domain.types/assets/meditation.domain.types.ts +++ b/src/domain.types/assets/meditation.domain.types.ts @@ -49,7 +49,7 @@ export interface MeditationUpdateModel { } export interface MeditationDto { - id : number; + id : uuid; AssetCode : string; Name : string; Description : string; diff --git a/src/domain.types/assets/message.domain.types.ts b/src/domain.types/assets/message.domain.types.ts index 0a66079..b4a47e1 100644 --- a/src/domain.types/assets/message.domain.types.ts +++ b/src/domain.types/assets/message.domain.types.ts @@ -41,7 +41,7 @@ export interface MessageUpdateModel { } export interface MessageDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/nutrition.domain.types.ts b/src/domain.types/assets/nutrition.domain.types.ts index 1fe44ad..8935b7c 100644 --- a/src/domain.types/assets/nutrition.domain.types.ts +++ b/src/domain.types/assets/nutrition.domain.types.ts @@ -25,7 +25,7 @@ export interface NutritionUpdateModel { } export interface NutritionDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/physiotherapy.domain.types.ts b/src/domain.types/assets/physiotherapy.domain.types.ts index 05d5d4e..3054dda 100644 --- a/src/domain.types/assets/physiotherapy.domain.types.ts +++ b/src/domain.types/assets/physiotherapy.domain.types.ts @@ -27,7 +27,7 @@ export interface PhysiotherapyUpdateModel { } export interface PhysiotherapyDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/priority.domain.types.ts b/src/domain.types/assets/priority.domain.types.ts index 04c82be..acae34b 100644 --- a/src/domain.types/assets/priority.domain.types.ts +++ b/src/domain.types/assets/priority.domain.types.ts @@ -25,7 +25,7 @@ export interface PriorityUpdateModel { } export interface PriorityDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/reflection.domain.types.ts b/src/domain.types/assets/reflection.domain.types.ts index 637045c..d4c2a90 100644 --- a/src/domain.types/assets/reflection.domain.types.ts +++ b/src/domain.types/assets/reflection.domain.types.ts @@ -25,7 +25,7 @@ export interface ReflectionUpdateModel { } export interface ReflectionDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/reminder.domain.types.ts b/src/domain.types/assets/reminder.domain.types.ts index b778488..7254a68 100644 --- a/src/domain.types/assets/reminder.domain.types.ts +++ b/src/domain.types/assets/reminder.domain.types.ts @@ -25,7 +25,7 @@ export interface ReminderUpdateModel { } export interface ReminderDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/video.domain.types.ts b/src/domain.types/assets/video.domain.types.ts index adc0d3e..7e19f0f 100644 --- a/src/domain.types/assets/video.domain.types.ts +++ b/src/domain.types/assets/video.domain.types.ts @@ -27,7 +27,7 @@ export interface VideoUpdateModel { } export interface VideoDto { - id: number; + id: uuid; AssetCode: string; Name: string; Transcript: string; @@ -52,4 +52,4 @@ export interface VideoSearchFilters extends BaseSearchFilters { export interface VideoSearchResults extends BaseSearchResults { Items: VideoDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/web.link.domain.types.ts b/src/domain.types/assets/web.link.domain.types.ts index fb45a11..76d8255 100644 --- a/src/domain.types/assets/web.link.domain.types.ts +++ b/src/domain.types/assets/web.link.domain.types.ts @@ -27,7 +27,7 @@ export interface WebLinkUpdateModel { } export interface WebLinkDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/web.newsfeed.domain.types.ts b/src/domain.types/assets/web.newsfeed.domain.types.ts index 5733356..5820f41 100644 --- a/src/domain.types/assets/web.newsfeed.domain.types.ts +++ b/src/domain.types/assets/web.newsfeed.domain.types.ts @@ -27,7 +27,7 @@ export interface WebNewsfeedUpdateModel { } export interface WebNewsfeedDto { - id: number; + id: uuid; AssetCode: string; Name: string; Description: string; diff --git a/src/domain.types/assets/word.power.domain.types.ts b/src/domain.types/assets/word.power.domain.types.ts index 16e6467..2f52907 100644 --- a/src/domain.types/assets/word.power.domain.types.ts +++ b/src/domain.types/assets/word.power.domain.types.ts @@ -27,7 +27,7 @@ export interface WordPowerUpdateModel { } export interface WordPowerDto { - id : number; + id : uuid; AssetCode : string; Name : string; Description : string; diff --git a/src/domain.types/careplan/careplan.activity.domain.types.ts b/src/domain.types/careplan/careplan.activity.domain.types.ts index a8e4d4b..76a6f64 100644 --- a/src/domain.types/careplan/careplan.activity.domain.types.ts +++ b/src/domain.types/careplan/careplan.activity.domain.types.ts @@ -6,7 +6,7 @@ import { import { uuid } from "../miscellaneous/system.types"; export interface CareplanActivityCreateModel { - AssetId? : number; + AssetId? : uuid; AssetType? : AssetType; CareplanId? : uuid; Day? : number; @@ -15,7 +15,7 @@ export interface CareplanActivityCreateModel { } export interface CareplanActivityUpdateModel { - AssetId? : number; + AssetId? : uuid; AssetType? : AssetType; CareplanId? : uuid; Day? : number; @@ -25,7 +25,7 @@ export interface CareplanActivityUpdateModel { export interface CareplanActivityDto { id : uuid; - AssetId : number; + AssetId : uuid; AssetType : AssetType; CareplanId : uuid; Day : number; @@ -34,7 +34,7 @@ export interface CareplanActivityDto { } export interface CareplanActivitySearchFilters extends BaseSearchFilters { - AssetId? : number; + AssetId? : uuid; AssetType? : AssetType; CareplanId? : uuid; Day? : number; diff --git a/src/domain.types/careplan/careplan.category.domain.types.ts b/src/domain.types/careplan/careplan.category.domain.types.ts index e0936b5..0ad2405 100644 --- a/src/domain.types/careplan/careplan.category.domain.types.ts +++ b/src/domain.types/careplan/careplan.category.domain.types.ts @@ -1,8 +1,8 @@ - +import { uuid } from "../miscellaneous/system.types"; import { BaseSearchFilters, BaseSearchResults } from "../miscellaneous/base.search.types"; export interface CareplanCategoryCreateModel { - id?: number; + id?: uuid; Type: string; Description?: string; } @@ -13,7 +13,7 @@ export interface CareplanCategoryUpdateModel { } export interface CareplanCategoryDto { - id: number; + id: uuid; Type: string; Description?: string; } diff --git a/src/domain.types/careplan/careplan.domain.types.ts b/src/domain.types/careplan/careplan.domain.types.ts index ef3571a..fdddbd0 100644 --- a/src/domain.types/careplan/careplan.domain.types.ts +++ b/src/domain.types/careplan/careplan.domain.types.ts @@ -5,7 +5,7 @@ import { uuid } from "../miscellaneous/system.types"; export interface CareplanCreateModel { id?: uuid; Code: string; - CategoryId: number; + CategoryId: uuid; Name: string; Description?: string; Version?: string; @@ -16,7 +16,7 @@ export interface CareplanCreateModel { export interface CareplanUpdateModel { Code?: string; - CategoryId?: number; + CategoryId?: uuid; Name?: string; Description?: string; Version?: string; @@ -28,7 +28,7 @@ export interface CareplanUpdateModel { export interface CareplanDto { id?: uuid; Code: string; - CategoryId: number; + CategoryId: uuid; Name: string; Description?: string; Version: string; @@ -39,7 +39,7 @@ export interface CareplanDto { export interface CareplanSearchFilters extends BaseSearchFilters { Code?: string; - CategoryId?: number; + CategoryId?: uuid; Name?: string; Version?: string; OwnerUserId?: uuid; diff --git a/src/domain.types/enrollment/enrollment.task.domain.types.ts b/src/domain.types/enrollment/enrollment.task.domain.types.ts index 073864e..422812f 100644 --- a/src/domain.types/enrollment/enrollment.task.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.task.domain.types.ts @@ -11,7 +11,7 @@ export interface EnrollmentTaskCreateModel { EnrollmentId : uuid; ParticipantId : uuid; CareplanActivityId: uuid; - AssetId : number; + AssetId : uuid; AssetType : AssetType; CareplanId : uuid; IsRegistrationActivity : boolean; @@ -28,7 +28,7 @@ export interface EnrollmentTaskDto { EnrollmentId : uuid; ParticipantId : uuid; CareplanActivityId: uuid; - AssetId : number; + AssetId : uuid; AssetType : AssetType; Asset? : any; CareplanId : uuid; @@ -38,7 +38,7 @@ export interface EnrollmentTaskDto { } export interface EnrollmentTaskSearchFilters extends BaseSearchFilters { - AssetId ?: number; + AssetId ?: uuid; AssetType ?: AssetType; CareplanId ?: uuid; TimeSlot ?: TimeSlot; diff --git a/src/domain.types/participant.responses/participant.activity.response.domain.types.ts b/src/domain.types/participant.responses/participant.activity.response.domain.types.ts index 762c0e3..51825e7 100644 --- a/src/domain.types/participant.responses/participant.activity.response.domain.types.ts +++ b/src/domain.types/participant.responses/participant.activity.response.domain.types.ts @@ -13,7 +13,7 @@ export interface ParticipantActivityResponseCreateModel { EnrollmentTaskId : uuid; CareplanActivityId : uuid; CareplanId : uuid; - AssetId : number; + AssetId : uuid; AssetType : AssetType; Response : string; TimeResponded : Date; @@ -33,7 +33,7 @@ export interface ParticipantActivityResponseDto { EnrollmentTaskId : uuid; CareplanActivityId : uuid; CareplanId : uuid; - AssetId : number; + AssetId : uuid; AssetType : AssetType; Response : string; TimeResponded : Date; @@ -43,7 +43,7 @@ export interface ParticipantActivityResponseDto { export interface ParticipantActivityResponseSearchFilters extends BaseSearchFilters { CareplanId ?: uuid; - AssetId ?: number; + AssetId ?: uuid; AssetType ?: AssetType; Response ?: string; TimeResponded ?: Date; diff --git a/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts b/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts index 5d0f4ba..6b0cf44 100644 --- a/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts +++ b/src/domain.types/participant.responses/participant.selected.action.plan.domain.types.ts @@ -14,7 +14,7 @@ export interface ParticipantSelectedActionPlanCreateModel { ParticipantId ?: uuid; SelectedGoalId ?: uuid; CareplanId ?: uuid; - AssetId ?: number; + AssetId ?: uuid; AssetType ?: string; AssetCode ?: string; AdditionalDetails ?: string; @@ -29,7 +29,7 @@ export interface ParticipantSelectedActionPlanUpdateModel { ParticipantId ?: uuid; SelectedGoalId ?: uuid; CareplanId ?: uuid; - AssetId ?: number; + AssetId ?: uuid; AssetType ?: string; AssetCode ?: string; AdditionalDetails ?: string; @@ -45,7 +45,7 @@ export interface ParticipantSelectedActionPlanDto { ParticipantId : uuid; SelectedGoalId : uuid; CareplanId : uuid; - AssetId : number; + AssetId : uuid; AssetType : string; AssetCode : string; AdditionalDetails: string; @@ -62,7 +62,7 @@ export interface ParticipantSelectedActionPlanSearchFilters extends BaseSearchFi ParticipantId ?: uuid; SelectedGoalId ?: uuid; CareplanId ?: uuid; - AssetId ?: number; + AssetId ?: uuid; AssetType ?: string; AssetCode ?: string; AdditionalDetails ?: string; diff --git a/src/domain.types/participant.responses/participant.selected.goal.domain.types.ts b/src/domain.types/participant.responses/participant.selected.goal.domain.types.ts index 60e10f2..01a4eb0 100644 --- a/src/domain.types/participant.responses/participant.selected.goal.domain.types.ts +++ b/src/domain.types/participant.responses/participant.selected.goal.domain.types.ts @@ -14,7 +14,7 @@ export interface ParticipantSelectedGoalCreateModel { ParticipantId ?: uuid; SelectedPriorityId ?: uuid; CareplanId ?: uuid; - AssetId ?: number; + AssetId ?: uuid; AssetType ?: string; AssetCode ?: string; AdditionalDetails ?: string; @@ -29,7 +29,7 @@ export interface ParticipantSelectedGoalUpdateModel { ParticipantId ?: uuid; SelectedPriorityId ?: uuid; CareplanId ?: uuid; - AssetId ?: number; + AssetId ?: uuid; AssetType ?: string; AssetCode ?: string; AdditionalDetails ?: string; @@ -45,7 +45,7 @@ export interface ParticipantSelectedGoalDto { ParticipantId : uuid; SelectedPriorityId : uuid; CareplanId : uuid; - AssetId : number; + AssetId : uuid; AssetType : string; AssetCode : string; AdditionalDetails : string; @@ -61,7 +61,7 @@ export interface ParticipantSelectedGoalSearchFilters extends BaseSearchFilters ParticipantId ?: uuid; SelectedPriorityId ?: uuid; CareplanId ?: uuid; - AssetId ?: number; + AssetId ?: uuid; AssetType ?: string; AssetCode ?: string; AdditionalDetails ?: string; diff --git a/src/domain.types/participant.responses/participant.selected.priority.domain.types.ts b/src/domain.types/participant.responses/participant.selected.priority.domain.types.ts index 9c72030..cf9967f 100644 --- a/src/domain.types/participant.responses/participant.selected.priority.domain.types.ts +++ b/src/domain.types/participant.responses/participant.selected.priority.domain.types.ts @@ -12,7 +12,7 @@ export interface ParticipantSelectedPriorityCreateModel { EnrollmentId ?: uuid; ParticipantId ?: uuid; CareplanId ?: uuid; - AssetId ?: number; + AssetId ?: uuid; AssetType ?: string; AssetCode ?: string; StartDate ?: Date; @@ -24,7 +24,7 @@ export interface ParticipantSelectedPriorityUpdateModel { EnrollmentId ?: uuid; ParticipantId ?: uuid; CareplanId ?: uuid; - AssetId ?: number; + AssetId ?: uuid; AssetType ?: string; AssetCode ?: string; StartDate ?: Date; @@ -37,7 +37,7 @@ export interface ParticipantSelectedPriorityDto { EnrollmentId : uuid; ParticipantId : uuid; CareplanId : uuid; - AssetId : number; + AssetId : uuid; AssetType : string; AssetCode : string; StartDate : Date; @@ -50,7 +50,7 @@ export interface ParticipantSelectedPrioritySearchFilters extends BaseSearchFilt EnrollmentId ?: uuid; ParticipantId ?: uuid; CareplanId ?: uuid; - AssetId ?: number; + AssetId ?: uuid; AssetType ?: string; AssetCode ?: string; StartDate ?: Date; From 07e5dd7cab7d95c43422bb69b275ec8d0330b437 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Thu, 27 Oct 2022 15:40:06 +0530 Subject: [PATCH 065/169] Fixed issues for PostgreSQL --- src/app.ts | 16 ++++++++-------- src/database/database.config.ts | 2 +- src/database/database.connector.ts | 4 +++- src/database/db.client.ts | 4 ++-- src/database/models/assets/action.plan.model.ts | 2 +- src/database/models/assets/animation.model.ts | 2 +- src/database/models/assets/appointment.model.ts | 2 +- src/database/models/assets/article.model.ts | 2 +- src/database/models/assets/assessment.model.ts | 2 +- src/database/models/assets/audio.model.ts | 2 +- src/database/models/assets/biometrics.model.ts | 2 +- src/database/models/assets/challenge.model.ts | 2 +- src/database/models/assets/checkup.model.ts | 2 +- src/database/models/assets/consultation.model.ts | 2 +- src/database/models/assets/exercise.model.ts | 2 +- src/database/models/assets/goal.model.ts | 2 +- src/database/models/assets/infographics.model.ts | 2 +- src/database/models/assets/medication.model.ts | 2 +- src/database/models/assets/meditation.model.ts | 2 +- src/database/models/assets/message.model.ts | 2 +- src/database/models/assets/nutrition.model.ts | 2 +- .../models/assets/physiotherapy.model.ts | 2 +- src/database/models/assets/priority.model.ts | 2 +- src/database/models/assets/reflection.model.ts | 2 +- src/database/models/assets/reminder.model.ts | 2 +- src/database/models/assets/video.model.ts | 2 +- src/database/models/assets/web.link.model.ts | 2 +- src/database/models/assets/web.newsfeed.model.ts | 2 +- src/database/models/assets/word.power.model.ts | 4 ++-- 29 files changed, 40 insertions(+), 38 deletions(-) diff --git a/src/app.ts b/src/app.ts index d15ff27..690fbb5 100644 --- a/src/app.ts +++ b/src/app.ts @@ -35,7 +35,7 @@ export default class Application { public static instance(): Application { return this._instance || (this._instance = new this()); } - + public app(): express.Application { return this._app; } @@ -68,24 +68,24 @@ export default class Application { //Drop all tables in db await DbClient.dropDatabase(); } - + await DatabaseModelManager.setupAssociations(); //set associations - - await sequelize.sync({ alter: true }); - + + await sequelize.sync({ alter: { drop: false } }); + } public start = async(): Promise => { try { await this.warmUp(); - + process.on('exit', code => { Logger.instance().log(`Process exited with code: ${code}`); }); //Start listening await this.listen(); - + } catch (error){ Logger.instance().log('An error occurred while starting reancare-api service.' + error.message); @@ -102,7 +102,7 @@ export default class Application { this._app.use(cors()); const MAX_UPLOAD_FILE_SIZE = ConfigurationManager.MaxUploadFileSize(); - + this._app.use(fileUpload({ limits : { fileSize: MAX_UPLOAD_FILE_SIZE }, preserveExtension : true, diff --git a/src/database/database.config.ts b/src/database/database.config.ts index e8328d6..b53306c 100644 --- a/src/database/database.config.ts +++ b/src/database/database.config.ts @@ -23,7 +23,7 @@ export class DbConfig { password : process.env.DB_USER_PASSWORD, database : process.env.DB_NAME, host : process.env.DB_HOST, - dialect : 'mysql', + dialect : 'postgres', pool : { max : 20, min : 0, diff --git a/src/database/database.connector.ts b/src/database/database.connector.ts index 963e25c..83020fc 100644 --- a/src/database/database.connector.ts +++ b/src/database/database.connector.ts @@ -20,7 +20,9 @@ const sequelize = new Sequelize(config.database, config.username, config.passwor acquire : config.pool.acquire, idle : config.pool.idle }, - logging : false + logging : (txt) => { + Logger.instance().log(txt); + } }); sequelize diff --git a/src/database/db.client.ts b/src/database/db.client.ts index 4544b7f..2089e67 100644 --- a/src/database/db.client.ts +++ b/src/database/db.client.ts @@ -1,5 +1,5 @@ -import { MysqlClient as client } from './mysql.client'; -//import { PostgresClient as client } from './postgresql.client'; +// import { MysqlClient as client } from './mysql.client'; +import { PostgresqlClient as client } from './postgresql.client'; import { Logger } from '../common/logger'; import { execSync } from 'child_process'; diff --git a/src/database/models/assets/action.plan.model.ts b/src/database/models/assets/action.plan.model.ts index 3c88db3..dc45d9e 100644 --- a/src/database/models/assets/action.plan.model.ts +++ b/src/database/models/assets/action.plan.model.ts @@ -47,7 +47,7 @@ export class ActionPlanModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/animation.model.ts b/src/database/models/assets/animation.model.ts index 511b6b0..e3cc77d 100644 --- a/src/database/models/assets/animation.model.ts +++ b/src/database/models/assets/animation.model.ts @@ -57,7 +57,7 @@ export class AnimationModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/appointment.model.ts b/src/database/models/assets/appointment.model.ts index bd4e495..bef48cd 100644 --- a/src/database/models/assets/appointment.model.ts +++ b/src/database/models/assets/appointment.model.ts @@ -53,7 +53,7 @@ export class AppointmentModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/article.model.ts b/src/database/models/assets/article.model.ts index 79b3f4a..398b84a 100644 --- a/src/database/models/assets/article.model.ts +++ b/src/database/models/assets/article.model.ts @@ -57,7 +57,7 @@ export class ArticleModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/assessment.model.ts b/src/database/models/assets/assessment.model.ts index 05d5a63..592208d 100644 --- a/src/database/models/assets/assessment.model.ts +++ b/src/database/models/assets/assessment.model.ts @@ -52,7 +52,7 @@ export class AssessmentModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/audio.model.ts b/src/database/models/assets/audio.model.ts index 38823da..87a3807 100644 --- a/src/database/models/assets/audio.model.ts +++ b/src/database/models/assets/audio.model.ts @@ -57,7 +57,7 @@ export class AudioModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/biometrics.model.ts b/src/database/models/assets/biometrics.model.ts index ba92903..7c90771 100644 --- a/src/database/models/assets/biometrics.model.ts +++ b/src/database/models/assets/biometrics.model.ts @@ -57,7 +57,7 @@ export class BiometricsModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/challenge.model.ts b/src/database/models/assets/challenge.model.ts index 64a5486..191f099 100644 --- a/src/database/models/assets/challenge.model.ts +++ b/src/database/models/assets/challenge.model.ts @@ -47,7 +47,7 @@ export class ChallengeModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/checkup.model.ts b/src/database/models/assets/checkup.model.ts index b8ca01d..91ae343 100644 --- a/src/database/models/assets/checkup.model.ts +++ b/src/database/models/assets/checkup.model.ts @@ -47,7 +47,7 @@ export class CheckupModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/consultation.model.ts b/src/database/models/assets/consultation.model.ts index 5e06026..0b01975 100644 --- a/src/database/models/assets/consultation.model.ts +++ b/src/database/models/assets/consultation.model.ts @@ -53,7 +53,7 @@ export class ConsultationModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/exercise.model.ts b/src/database/models/assets/exercise.model.ts index 5494e34..4694b17 100644 --- a/src/database/models/assets/exercise.model.ts +++ b/src/database/models/assets/exercise.model.ts @@ -64,7 +64,7 @@ export class ExerciseModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/goal.model.ts b/src/database/models/assets/goal.model.ts index 9d46720..590713c 100644 --- a/src/database/models/assets/goal.model.ts +++ b/src/database/models/assets/goal.model.ts @@ -47,7 +47,7 @@ export class GoalModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/infographics.model.ts b/src/database/models/assets/infographics.model.ts index b2db479..781121f 100644 --- a/src/database/models/assets/infographics.model.ts +++ b/src/database/models/assets/infographics.model.ts @@ -57,7 +57,7 @@ export class InfographicsModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/medication.model.ts b/src/database/models/assets/medication.model.ts index 39d5938..13ccb9f 100644 --- a/src/database/models/assets/medication.model.ts +++ b/src/database/models/assets/medication.model.ts @@ -47,7 +47,7 @@ export class MedicationModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/meditation.model.ts b/src/database/models/assets/meditation.model.ts index d471f17..cb46e2c 100644 --- a/src/database/models/assets/meditation.model.ts +++ b/src/database/models/assets/meditation.model.ts @@ -58,7 +58,7 @@ export class MeditationModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/message.model.ts b/src/database/models/assets/message.model.ts index 124ebf4..1e660c2 100644 --- a/src/database/models/assets/message.model.ts +++ b/src/database/models/assets/message.model.ts @@ -53,7 +53,7 @@ export class MessageModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Url : { type : DataTypes.TEXT, diff --git a/src/database/models/assets/nutrition.model.ts b/src/database/models/assets/nutrition.model.ts index a953461..26a85a9 100644 --- a/src/database/models/assets/nutrition.model.ts +++ b/src/database/models/assets/nutrition.model.ts @@ -47,7 +47,7 @@ export class NutritionModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/physiotherapy.model.ts b/src/database/models/assets/physiotherapy.model.ts index 707e583..2daad32 100644 --- a/src/database/models/assets/physiotherapy.model.ts +++ b/src/database/models/assets/physiotherapy.model.ts @@ -54,7 +54,7 @@ export class PhysiotherapyModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/priority.model.ts b/src/database/models/assets/priority.model.ts index 4a86ba2..6ece9bb 100644 --- a/src/database/models/assets/priority.model.ts +++ b/src/database/models/assets/priority.model.ts @@ -47,7 +47,7 @@ export class PriorityModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/reflection.model.ts b/src/database/models/assets/reflection.model.ts index 7177ede..afdecc6 100644 --- a/src/database/models/assets/reflection.model.ts +++ b/src/database/models/assets/reflection.model.ts @@ -47,7 +47,7 @@ export class ReflectionModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/reminder.model.ts b/src/database/models/assets/reminder.model.ts index a0bd27c..43c8b03 100644 --- a/src/database/models/assets/reminder.model.ts +++ b/src/database/models/assets/reminder.model.ts @@ -47,7 +47,7 @@ export class ReminderModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/video.model.ts b/src/database/models/assets/video.model.ts index b309db7..cfb91e4 100644 --- a/src/database/models/assets/video.model.ts +++ b/src/database/models/assets/video.model.ts @@ -59,7 +59,7 @@ export class VideoModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/web.link.model.ts b/src/database/models/assets/web.link.model.ts index 8223814..56040cb 100644 --- a/src/database/models/assets/web.link.model.ts +++ b/src/database/models/assets/web.link.model.ts @@ -51,7 +51,7 @@ export class WebLinkModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/web.newsfeed.model.ts b/src/database/models/assets/web.newsfeed.model.ts index b5df60a..37bfe90 100644 --- a/src/database/models/assets/web.newsfeed.model.ts +++ b/src/database/models/assets/web.newsfeed.model.ts @@ -51,7 +51,7 @@ export class WebNewsfeedModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/word.power.model.ts b/src/database/models/assets/word.power.model.ts index ac25ed5..395ad29 100644 --- a/src/database/models/assets/word.power.model.ts +++ b/src/database/models/assets/word.power.model.ts @@ -38,7 +38,7 @@ export class WordPowerModel { AdditionalResources : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, AssetCategory : { type : DataTypes.STRING(128), @@ -52,7 +52,7 @@ export class WordPowerModel { Tags : { type : DataTypes.TEXT, allowNull : false, - defaultValue : [] + defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), From 33b8e7c38be43d4d45c464fd6986151f99683c80 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Thu, 27 Oct 2022 15:44:29 +0530 Subject: [PATCH 066/169] Commented the logging for sequelize --- src/database/database.connector.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/database/database.connector.ts b/src/database/database.connector.ts index 83020fc..135aa64 100644 --- a/src/database/database.connector.ts +++ b/src/database/database.connector.ts @@ -20,9 +20,10 @@ const sequelize = new Sequelize(config.database, config.username, config.passwor acquire : config.pool.acquire, idle : config.pool.idle }, - logging : (txt) => { - Logger.instance().log(txt); - } + // logging : (txt) => { + // Logger.instance().log(txt); + // }, + logging : false, }); sequelize From 3eae7381c26e6f78ada9aba820187e0d32acd2d4 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Thu, 27 Oct 2022 17:02:29 +0530 Subject: [PATCH 067/169] added displayId in assets and modified the asset code --- src/database/models/assets/action.plan.model.ts | 6 ++++++ src/database/models/assets/animation.model.ts | 6 ++++++ src/database/models/assets/appointment.model.ts | 6 ++++++ src/database/models/assets/article.model.ts | 6 ++++++ src/database/models/assets/assessment.model.ts | 6 ++++++ src/database/models/assets/audio.model.ts | 6 ++++++ src/database/models/assets/biometrics.model.ts | 6 ++++++ src/database/models/assets/challenge.model.ts | 6 ++++++ src/database/models/assets/checkup.model.ts | 6 ++++++ src/database/models/assets/consultation.model.ts | 6 ++++++ src/database/models/assets/exercise.model.ts | 6 ++++++ src/database/models/assets/goal.model.ts | 6 ++++++ src/database/models/assets/infographics.model.ts | 6 ++++++ src/database/models/assets/medication.model.ts | 6 ++++++ src/database/models/assets/meditation.model.ts | 6 ++++++ src/database/models/assets/message.model.ts | 6 ++++++ src/database/models/assets/nutrition.model.ts | 6 ++++++ src/database/models/assets/physiotherapy.model.ts | 6 ++++++ src/database/models/assets/priority.model.ts | 6 ++++++ src/database/models/assets/reflection.model.ts | 6 ++++++ src/database/models/assets/reminder.model.ts | 6 ++++++ src/database/models/assets/video.model.ts | 6 ++++++ src/database/models/assets/web.link.model.ts | 6 ++++++ src/database/models/assets/web.newsfeed.model.ts | 6 ++++++ src/database/models/assets/word.power.model.ts | 6 ++++++ src/database/repository.services/assets/asset.helper.ts | 6 +++--- 26 files changed, 153 insertions(+), 3 deletions(-) diff --git a/src/database/models/assets/action.plan.model.ts b/src/database/models/assets/action.plan.model.ts index 4326a80..da4cb90 100644 --- a/src/database/models/assets/action.plan.model.ts +++ b/src/database/models/assets/action.plan.model.ts @@ -18,6 +18,12 @@ export class ActionPlanModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/animation.model.ts b/src/database/models/assets/animation.model.ts index 0e3b22d..ae12c2a 100644 --- a/src/database/models/assets/animation.model.ts +++ b/src/database/models/assets/animation.model.ts @@ -18,6 +18,12 @@ export class AnimationModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/appointment.model.ts b/src/database/models/assets/appointment.model.ts index a163174..b08a7f1 100644 --- a/src/database/models/assets/appointment.model.ts +++ b/src/database/models/assets/appointment.model.ts @@ -19,6 +19,12 @@ export class AppointmentModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/article.model.ts b/src/database/models/assets/article.model.ts index 18d21a4..3d9e705 100644 --- a/src/database/models/assets/article.model.ts +++ b/src/database/models/assets/article.model.ts @@ -18,6 +18,12 @@ export class ArticleModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/assessment.model.ts b/src/database/models/assets/assessment.model.ts index 20749a6..e09fefc 100644 --- a/src/database/models/assets/assessment.model.ts +++ b/src/database/models/assets/assessment.model.ts @@ -18,6 +18,12 @@ export class AssessmentModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/audio.model.ts b/src/database/models/assets/audio.model.ts index c115f50..966f05d 100644 --- a/src/database/models/assets/audio.model.ts +++ b/src/database/models/assets/audio.model.ts @@ -18,6 +18,12 @@ export class AudioModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/biometrics.model.ts b/src/database/models/assets/biometrics.model.ts index 78eb202..13d97bb 100644 --- a/src/database/models/assets/biometrics.model.ts +++ b/src/database/models/assets/biometrics.model.ts @@ -19,6 +19,12 @@ export class BiometricsModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/challenge.model.ts b/src/database/models/assets/challenge.model.ts index a2b9e7d..658d4a1 100644 --- a/src/database/models/assets/challenge.model.ts +++ b/src/database/models/assets/challenge.model.ts @@ -18,6 +18,12 @@ export class ChallengeModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/checkup.model.ts b/src/database/models/assets/checkup.model.ts index 744792f..c14aabf 100644 --- a/src/database/models/assets/checkup.model.ts +++ b/src/database/models/assets/checkup.model.ts @@ -18,6 +18,12 @@ export class CheckupModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/consultation.model.ts b/src/database/models/assets/consultation.model.ts index 270df93..2a6f94a 100644 --- a/src/database/models/assets/consultation.model.ts +++ b/src/database/models/assets/consultation.model.ts @@ -19,6 +19,12 @@ export class ConsultationModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/exercise.model.ts b/src/database/models/assets/exercise.model.ts index e4dbf4c..91c2695 100644 --- a/src/database/models/assets/exercise.model.ts +++ b/src/database/models/assets/exercise.model.ts @@ -20,6 +20,12 @@ export class ExerciseModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/goal.model.ts b/src/database/models/assets/goal.model.ts index d0b8c07..9de3d5d 100644 --- a/src/database/models/assets/goal.model.ts +++ b/src/database/models/assets/goal.model.ts @@ -18,6 +18,12 @@ export class GoalModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/infographics.model.ts b/src/database/models/assets/infographics.model.ts index d4d3de1..4d72761 100644 --- a/src/database/models/assets/infographics.model.ts +++ b/src/database/models/assets/infographics.model.ts @@ -18,6 +18,12 @@ export class InfographicsModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/medication.model.ts b/src/database/models/assets/medication.model.ts index 32d97fa..c8bac5b 100644 --- a/src/database/models/assets/medication.model.ts +++ b/src/database/models/assets/medication.model.ts @@ -18,6 +18,12 @@ export class MedicationModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/meditation.model.ts b/src/database/models/assets/meditation.model.ts index f287581..200e46a 100644 --- a/src/database/models/assets/meditation.model.ts +++ b/src/database/models/assets/meditation.model.ts @@ -19,6 +19,12 @@ export class MeditationModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/message.model.ts b/src/database/models/assets/message.model.ts index 1c26f0f..bc195fe 100644 --- a/src/database/models/assets/message.model.ts +++ b/src/database/models/assets/message.model.ts @@ -19,6 +19,12 @@ export class MessageModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/nutrition.model.ts b/src/database/models/assets/nutrition.model.ts index f42ca60..ed1e679 100644 --- a/src/database/models/assets/nutrition.model.ts +++ b/src/database/models/assets/nutrition.model.ts @@ -18,6 +18,12 @@ export class NutritionModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/physiotherapy.model.ts b/src/database/models/assets/physiotherapy.model.ts index b8094ea..e3533f5 100644 --- a/src/database/models/assets/physiotherapy.model.ts +++ b/src/database/models/assets/physiotherapy.model.ts @@ -18,6 +18,12 @@ export class PhysiotherapyModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/priority.model.ts b/src/database/models/assets/priority.model.ts index 6aade07..893d9bc 100644 --- a/src/database/models/assets/priority.model.ts +++ b/src/database/models/assets/priority.model.ts @@ -18,6 +18,12 @@ export class PriorityModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/reflection.model.ts b/src/database/models/assets/reflection.model.ts index 5874e1d..ee0cd42 100644 --- a/src/database/models/assets/reflection.model.ts +++ b/src/database/models/assets/reflection.model.ts @@ -18,6 +18,12 @@ export class ReflectionModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/reminder.model.ts b/src/database/models/assets/reminder.model.ts index 2c2fe30..c4e8327 100644 --- a/src/database/models/assets/reminder.model.ts +++ b/src/database/models/assets/reminder.model.ts @@ -18,6 +18,12 @@ export class ReminderModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/video.model.ts b/src/database/models/assets/video.model.ts index cab8867..7f958d2 100644 --- a/src/database/models/assets/video.model.ts +++ b/src/database/models/assets/video.model.ts @@ -18,6 +18,12 @@ export class VideoModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/web.link.model.ts b/src/database/models/assets/web.link.model.ts index c64db0a..de4a99d 100644 --- a/src/database/models/assets/web.link.model.ts +++ b/src/database/models/assets/web.link.model.ts @@ -18,6 +18,12 @@ export class WebLinkModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/web.newsfeed.model.ts b/src/database/models/assets/web.newsfeed.model.ts index cbed9b3..03cf1d3 100644 --- a/src/database/models/assets/web.newsfeed.model.ts +++ b/src/database/models/assets/web.newsfeed.model.ts @@ -18,6 +18,12 @@ export class WebNewsfeedModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/models/assets/word.power.model.ts b/src/database/models/assets/word.power.model.ts index a81aa99..8cfb369 100644 --- a/src/database/models/assets/word.power.model.ts +++ b/src/database/models/assets/word.power.model.ts @@ -18,6 +18,12 @@ export class WordPowerModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.INTEGER, + allowNull : false, + autoIncrement : true, + unique : true + }, AssetCode : { type : DataTypes.STRING(256), allowNull : true diff --git a/src/database/repository.services/assets/asset.helper.ts b/src/database/repository.services/assets/asset.helper.ts index 5d2c120..06f24e9 100644 --- a/src/database/repository.services/assets/asset.helper.ts +++ b/src/database/repository.services/assets/asset.helper.ts @@ -121,7 +121,7 @@ export class AssetHelper { } } - public static generateAssetCode = (id: number, assetType: AssetType, assetName: string) => { + public static generateAssetCode = (displayId: number, assetType: AssetType, assetName: string) => { let name = assetName; name = name.toUpperCase(); @@ -141,13 +141,13 @@ export class AssetHelper { var shortened = cleanedName.substring(0, 12); - const code = AssetTypeCodePrefixes[assetType] + '-' + shortened + '-' + Helper.padInteger(id, 4, '0'); + const code = AssetTypeCodePrefixes[assetType] + '-' + shortened + '-' + Helper.padInteger(displayId, 4, '0'); return code; }; public static updateAssetCode = async (record, service) => { if (!record.AssetCode) { - const assetCode = AssetHelper.generateAssetCode(record.id, record.AssetType, record.Name); + const assetCode = AssetHelper.generateAssetCode(record.DisplayId, record.AssetType, record.Name); const updated = await service.update(record.id, { AssetCode: assetCode }); if (updated == null) { ErrorHandler.throwInternalServerError('Unable to update asset!'); From e81a4e2ad842f1cd8aa51a692f2936b0fcafa591 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Thu, 27 Oct 2022 18:20:58 +0530 Subject: [PATCH 068/169] added display Id in enrollment as YYMMDD-4544 --- .../enrollment/enrollment.controller.delegate.ts | 10 +++++++++- src/common/helper.ts | 6 +++--- src/database/models/enrollment/enrollment.model.ts | 5 +++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 6eb22ae..714d24c 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -75,11 +75,18 @@ export class EnrollmentControllerDelegate { } var createModel: EnrollmentCreateModel = this.getCreateModel(requestBody); - const record = await this._service.create(createModel); + let record = await this._service.create(createModel); if (record === null) { throw new ApiError('Unable to create enrollment!', 400); } + const date = await Helper.formatDate(new Date()); + const displayId = await Helper.generateDisplayId(date); + record = await this._service.update(record.id, { DisplayId: displayId }); + if (record == null) { + ErrorHandler.throwInternalServerError('Unable to update displayId!'); + } + await this.generateRegistrationTasks(record); await this.generateScheduledTasks(record); @@ -287,6 +294,7 @@ export class EnrollmentControllerDelegate { } return { id : record.id, + DisplayId : record.DisplayId, CareplanId : record.CareplanId, ParticipantId : record.ParticipantId, Asset : record.Asset, diff --git a/src/common/helper.ts b/src/common/helper.ts index 3f5c6b8..3fa7707 100644 --- a/src/common/helper.ts +++ b/src/common/helper.ts @@ -278,8 +278,8 @@ export class Helper { const d = new Date(date); const month = ('00' + (d.getMonth() + 1).toString()).slice(-2); const day = ('00' + d.getDate().toString()).slice(-2); - const year = d.getFullYear(); - return [year, month, day].join('-'); + const year = (d.getFullYear()).toString().slice(-2); + return [year, month, day].join(''); }; static isAlpha = (c) => { @@ -512,7 +512,7 @@ export class Helper { public static generateDisplayId = (prefix = null) => { var tmp = (Math.floor(Math.random() * 9000000000) + 1000000000).toString(); - var displayId = tmp.slice(0, 4) + '-' + tmp.slice(4, 8); + var displayId = tmp.slice(0, 4); var identifier = displayId; if (prefix != null) { identifier = prefix + '-' + identifier; diff --git a/src/database/models/enrollment/enrollment.model.ts b/src/database/models/enrollment/enrollment.model.ts index 607cc41..ee633ea 100644 --- a/src/database/models/enrollment/enrollment.model.ts +++ b/src/database/models/enrollment/enrollment.model.ts @@ -18,6 +18,11 @@ export class EnrollmentModel { defaultValue : DataTypes.UUIDV4, primaryKey : true }, + DisplayId : { + type : DataTypes.STRING(32), + allowNull : true, + unique : false + }, CareplanId : { type : DataTypes.UUID, allowNull : false, From ed04a1fb23f4a86dcba2ac3c40453e30a02d1909 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Fri, 28 Oct 2022 16:33:09 +0530 Subject: [PATCH 069/169] added DB_DIALECT in env and its implementation --- .env.sample | 2 ++ src/app.ts | 5 +-- src/database/database.config.ts | 2 +- src/database/database.connector.ts | 4 +++ src/database/db.client.ts | 51 ++++++++++++++++++++++++------ 5 files changed, 51 insertions(+), 13 deletions(-) diff --git a/.env.sample b/.env.sample index 7a3a30b..60357d8 100644 --- a/.env.sample +++ b/.env.sample @@ -17,6 +17,8 @@ DB_USER_NAME= DB_USER_PASSWORD= DB_NAME=reancare DB_HOST= +#Give DATABASE_DIALECT as mysql or postgres +DATABASE_DIALECT= ########################################################## diff --git a/src/app.ts b/src/app.ts index 690fbb5..69876b9 100644 --- a/src/app.ts +++ b/src/app.ts @@ -61,12 +61,13 @@ export default class Application { const sequelize = db.default.sequelize; - await DbClient.createDatabase(); + const dbClient = new DbClient(); + await dbClient.createDatabase(); if (process.env.NODE_ENV === 'test') { //Note: This is only for test environment //Drop all tables in db - await DbClient.dropDatabase(); + await dbClient.dropDatabase(); } await DatabaseModelManager.setupAssociations(); //set associations diff --git a/src/database/database.config.ts b/src/database/database.config.ts index b53306c..1364fc5 100644 --- a/src/database/database.config.ts +++ b/src/database/database.config.ts @@ -23,7 +23,7 @@ export class DbConfig { password : process.env.DB_USER_PASSWORD, database : process.env.DB_NAME, host : process.env.DB_HOST, - dialect : 'postgres', + dialect : process.env.DATABASE_DIALECT, pool : { max : 20, min : 0, diff --git a/src/database/database.connector.ts b/src/database/database.connector.ts index 135aa64..a854f57 100644 --- a/src/database/database.connector.ts +++ b/src/database/database.connector.ts @@ -1,11 +1,15 @@ import { Dialect, Sequelize } from 'sequelize'; import { DbConfig } from './database.config'; import { Logger } from '../common/logger'; +import { DbClient } from './db.client'; /////////////////////////////////////////////////////////////////////////////////// const config = DbConfig.config; +const dbClient = new DbClient(); +config.dialect = dbClient.getDialect(process.env.DATABASE_DIALECT); + Logger.instance().log('environment : ' + process.env.NODE_ENV); Logger.instance().log('db name : ' + config.database); Logger.instance().log('db username : ' + config.username); diff --git a/src/database/db.client.ts b/src/database/db.client.ts index 2089e67..63330ce 100644 --- a/src/database/db.client.ts +++ b/src/database/db.client.ts @@ -1,16 +1,18 @@ -// import { MysqlClient as client } from './mysql.client'; -import { PostgresqlClient as client } from './postgresql.client'; +import { MysqlClient } from './mysql.client'; +import { PostgresqlClient } from './postgresql.client'; import { Logger } from '../common/logger'; import { execSync } from 'child_process'; - //////////////////////////////////////////////////////////////////////// export class DbClient { + private client = this.getClient(); + //Creates DB if does not exist - public static createDatabase = async () => { + public createDatabase = async () => { try { - await client.createDb(); + //const client = this.getClient(); + await this.client.createDb(); return true; } catch (error) { Logger.instance().log(error.message); @@ -19,9 +21,9 @@ export class DbClient { }; //Drops DB if exists - public static dropDatabase = async () => { + public dropDatabase = async () => { try { - await client.dropDb(); + await this.client.dropDb(); return true; } catch (error) { Logger.instance().log(error.message); @@ -30,9 +32,9 @@ export class DbClient { }; //Drops DB if exists - public static executeQuery = async (query: string) => { + public executeQuery = async (query: string) => { try { - await client.executeQuery(query); + await this.client.executeQuery(query); return true; } catch (error) { Logger.instance().log(error.message); @@ -40,7 +42,7 @@ export class DbClient { return false; }; - public static migrate = async () => { + public migrate = async () => { try { const output = execSync('npx sequelize-cli db:migrate'); @@ -55,6 +57,35 @@ export class DbClient { return false; }; + public getDialect(flavour) { + + let dialect = 'postgres'; + + if (flavour === 'mysql') { + dialect = flavour; + } + else if (flavour === 'postgres') { + dialect = flavour; + } else { + throw new Error('Please give DATABASE_DIALECT either mysql or postgres'); + } + + return dialect; + } + + private getClient() { + + const flavour = this.getDialect(process.env.DATABASE_DIALECT); + + if (flavour === 'mysql') { + return MysqlClient; + } + if (flavour === 'postgres') { + return PostgresqlClient; + } + return MysqlClient; + } + } //////////////////////////////////////////////////////////////////////// From 55245822eeb29bd45399549e684b6565b3aafe31 Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Wed, 2 Nov 2022 12:06:37 +0530 Subject: [PATCH 070/169] added planCode parameter in enrollents --- .../enrollment.task.controller.delegate.ts | 4 ++++ .../enrollment.task/enrollment.task.validator.ts | 3 +++ .../enrollment/enrollment.controller.delegate.ts | 9 ++++++--- .../enrollment/enrollment/enrollment.validator.ts | 1 + src/database/models/careplan/careplan.model.ts | 1 + src/database/models/enrollment/enrollment.model.ts | 7 ++++++- .../careplan/careplan.service.ts | 13 ++++++++++--- .../enrollment/enrollment.task.service.ts | 3 +++ .../enrollment/enrollment.domain.types.ts | 2 ++ .../enrollment/enrollment.task.domain.types.ts | 1 + 10 files changed, 37 insertions(+), 7 deletions(-) diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index 653929f..b7f002e 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -78,6 +78,10 @@ export class EnrollmentTaskControllerDelegate { if (isRegistrationActivity != null) { filters['IsRegistrationActivity'] = isRegistrationActivity; } + var enrollmentId = query.enrollmentId ? query.enrollmentId : null; + if (enrollmentId != null) { + filters['EnrollmentId'] = enrollmentId; + } return filters; } diff --git a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts index 5932fe6..46b9856 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts @@ -44,6 +44,9 @@ export class EnrollmentTaskValidator { careplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), + enrollmentId : joi.string().guid({ + version : ['uuidv4'] + }).optional(), timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), isRegistrationActivity : joi.boolean().optional(), }); diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 714d24c..ee7dc28 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -68,11 +68,12 @@ export class EnrollmentControllerDelegate { ErrorHandler.throwNotFoundError(`Participant not found!`); } - var careplanId = requestBody.CareplanId; - const careplan = await this._careplanService.getById(careplanId); - if (!careplan) { + var planCode = requestBody.PlanCode; + const careplanId = await this._careplanService.exists(planCode); + if (!careplanId) { ErrorHandler.throwNotFoundError(`Careplan not found!`); } + requestBody.CareplanId = careplanId; var createModel: EnrollmentCreateModel = this.getCreateModel(requestBody); let record = await this._service.create(createModel); @@ -279,6 +280,7 @@ export class EnrollmentControllerDelegate { getCreateModel = (requestBody): EnrollmentCreateModel => { return { CareplanId : requestBody.CareplanId ? requestBody.CareplanId : null, + PlanCode : requestBody.PlanCode ? requestBody.PlanCode : null, ParticipantId : requestBody.ParticipantId ? requestBody.ParticipantId : null, StartDate : requestBody.StartDate ? requestBody.StartDate : new Date(), EndDate : requestBody.EndDate ? requestBody.EndDate : null, @@ -314,6 +316,7 @@ export class EnrollmentControllerDelegate { return { id : record.id, CareplanId : record.CareplanId, + PlanCode : record.PlanCode, ParticipantId : record.ParticipantId, Asset : record.Asset, StartDate : record.StartDate, diff --git a/src/api/enrollment/enrollment/enrollment.validator.ts b/src/api/enrollment/enrollment/enrollment.validator.ts index 2f1fc5e..b049c2b 100644 --- a/src/api/enrollment/enrollment/enrollment.validator.ts +++ b/src/api/enrollment/enrollment/enrollment.validator.ts @@ -16,6 +16,7 @@ export class EnrollmentValidator { ParticipantId : joi.string().guid({ version : ['uuidv4'] }).optional(), + PlanCode : joi.string().max(64).required(), StartDate : joi.date().iso().optional(), EndDate : joi.date().iso().optional().allow(null), WeekOffset : joi.number().optional(), diff --git a/src/database/models/careplan/careplan.model.ts b/src/database/models/careplan/careplan.model.ts index 99d8bb5..c70d23a 100644 --- a/src/database/models/careplan/careplan.model.ts +++ b/src/database/models/careplan/careplan.model.ts @@ -20,6 +20,7 @@ export class CareplanModel { Code : { type : DataTypes.STRING(256), allowNull : false, + unique : true, }, CategoryId : { type : DataTypes.UUID, diff --git a/src/database/models/enrollment/enrollment.model.ts b/src/database/models/enrollment/enrollment.model.ts index ee633ea..7a46ace 100644 --- a/src/database/models/enrollment/enrollment.model.ts +++ b/src/database/models/enrollment/enrollment.model.ts @@ -25,10 +25,15 @@ export class EnrollmentModel { }, CareplanId : { type : DataTypes.UUID, - allowNull : false, + allowNull : true, foreignKey : true, unique : false }, + PlanCode : { + type : DataTypes.STRING(64), + allowNull : false, + unique : false + }, ParticipantId : { type : DataTypes.UUID, allowNull : false, diff --git a/src/database/repository.services/careplan/careplan.service.ts b/src/database/repository.services/careplan/careplan.service.ts index d17ee49..6b96987 100644 --- a/src/database/repository.services/careplan/careplan.service.ts +++ b/src/database/repository.services/careplan/careplan.service.ts @@ -4,6 +4,7 @@ import { UserModel } from '../../models/user/user.model'; import { ErrorHandler } from '../../../common/error.handler'; import { CareplanCreateModel } from '../../../domain.types/careplan/careplan.domain.types'; import { CareplanDto, CareplanSearchFilters, CareplanSearchResults } from '../../../domain.types/careplan/careplan.domain.types'; +import { uuid } from '../../../domain.types/miscellaneous/system.types'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -48,10 +49,16 @@ export class CareplanService { } } - exists = async (id): Promise => { + exists = async (code): Promise => { try { - const record = await this.Careplan.findByPk(id); - return record !== null; + const record = await this.Careplan.findOne( + { + where : { + Code : code + } + } + ); + return record.id; } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of care plan!', error); } diff --git a/src/database/repository.services/enrollment/enrollment.task.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts index c0c6c9a..2e63c52 100644 --- a/src/database/repository.services/enrollment/enrollment.task.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -167,6 +167,9 @@ export class EnrollmentTaskService { if (filters.IsRegistrationActivity) { search.where['IsRegistrationActivity'] = filters.IsRegistrationActivity; } + if (filters.EnrollmentId) { + search.where['EnrollmentId'] = filters.EnrollmentId; + } const includeEnrollmentAsEnrollment = { model : this.Enrollment, required : false, diff --git a/src/domain.types/enrollment/enrollment.domain.types.ts b/src/domain.types/enrollment/enrollment.domain.types.ts index 3a926f9..adb6289 100644 --- a/src/domain.types/enrollment/enrollment.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.domain.types.ts @@ -9,6 +9,7 @@ import { export interface EnrollmentCreateModel { CareplanId ?: uuid; + PlanCode ?: string; ParticipantId ?: uuid; StartDate ?: Date; EndDate ?: Date; @@ -30,6 +31,7 @@ export interface EnrollmentUpdateModel { export interface EnrollmentDto { id : uuid; CareplanId : uuid; + PlanCode? : string; ParticipantId : uuid; StartDate : Date; EndDate : Date; diff --git a/src/domain.types/enrollment/enrollment.task.domain.types.ts b/src/domain.types/enrollment/enrollment.task.domain.types.ts index 422812f..7a2b5da 100644 --- a/src/domain.types/enrollment/enrollment.task.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.task.domain.types.ts @@ -43,6 +43,7 @@ export interface EnrollmentTaskSearchFilters extends BaseSearchFilters { CareplanId ?: uuid; TimeSlot ?: TimeSlot; IsRegistrationActivity? : boolean, + EnrollmentId? : string, } export interface EnrollmentTaskSearchResults extends BaseSearchResults { From 60b72a86201cefb26b306baf60e85287a765769c Mon Sep 17 00:00:00 2001 From: RupaliD Date: Thu, 3 Nov 2022 15:56:36 +0530 Subject: [PATCH 071/169] Added CreatedAt and UpdatedAt parameters in careplan dto. --- src/api/careplan/careplan/careplan.controller.delegate.ts | 8 ++++++-- src/domain.types/careplan/careplan.domain.types.ts | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/api/careplan/careplan/careplan.controller.delegate.ts b/src/api/careplan/careplan/careplan.controller.delegate.ts index 3d15622..6254991 100644 --- a/src/api/careplan/careplan/careplan.controller.delegate.ts +++ b/src/api/careplan/careplan/careplan.controller.delegate.ts @@ -164,7 +164,9 @@ export class CareplanControllerDelegate { Version : record.Version, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - IsActive : record.IsActive + IsActive : record.IsActive, + CreatedAt : record.CreatedAt, + UpdatedAt : record.UpdatedAt }; } @@ -183,7 +185,9 @@ export class CareplanControllerDelegate { Version : record.Version, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - IsActive : record.IsActive + IsActive : record.IsActive, + CreatedAt : record.CreatedAt, + UpdatedAt : record.UpdatedAt }; } diff --git a/src/domain.types/careplan/careplan.domain.types.ts b/src/domain.types/careplan/careplan.domain.types.ts index fdddbd0..9af9664 100644 --- a/src/domain.types/careplan/careplan.domain.types.ts +++ b/src/domain.types/careplan/careplan.domain.types.ts @@ -35,6 +35,8 @@ export interface CareplanDto { OwnerUserId: uuid; Tags: string[]; IsActive: boolean; + CreatedAt:Date; + UpdatedAt:Date; } export interface CareplanSearchFilters extends BaseSearchFilters { From 29e9aff86ff91fc719f37453b36a4d97b8751402 Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Fri, 4 Nov 2022 17:52:45 +0530 Subject: [PATCH 072/169] firstname+lastname,api for slotTypes in careplan --- .../api.client.controller.delegate.ts | 84 +++++++++---------- src/api/api.client/api.client.validator.ts | 47 ++++++----- src/api/types/types.controller.ts | 15 +++- src/api/types/types.routes.ts | 1 + src/database/mappers/api.client.mapper.ts | 3 + src/database/models/api.client.model.ts | 8 ++ .../repository.services/api.client.service.ts | 11 +++ src/domain.types/api.client.domain.types.ts | 7 ++ 8 files changed, 110 insertions(+), 66 deletions(-) diff --git a/src/api/api.client/api.client.controller.delegate.ts b/src/api/api.client/api.client.controller.delegate.ts index 40635a1..0cf2cd2 100644 --- a/src/api/api.client/api.client.controller.delegate.ts +++ b/src/api/api.client/api.client.controller.delegate.ts @@ -1,26 +1,14 @@ -import { - ApiClientService -} from '../../database/repository.services/api.client.service'; -import { - ErrorHandler -} from '../../common/error.handler'; -import { - Helper -} from '../../common/helper'; -import { - ApiError -} from '../../common/api.error'; -import { - ApiClientValidator as validator -} from './api.client.validator'; -import { - uuid -} from '../../domain.types/miscellaneous/system.types'; +import { ApiClientService } from '../../database/repository.services/api.client.service'; +import { ErrorHandler } from '../../common/error.handler'; +import { Helper } from '../../common/helper'; +import { ApiError } from '../../common/api.error'; +import { ApiClientValidator as validator } from './api.client.validator'; +import { uuid } from '../../domain.types/miscellaneous/system.types'; import { ApiClientCreateModel, ApiClientUpdateModel, ApiClientSearchFilters, - ApiClientSearchResults + ApiClientSearchResults, } from '../../domain.types/api.client.domain.types'; import * as apikeyGenerator from 'uuid-apikey'; import { TimeHelper } from '../../common/time.helper'; @@ -49,8 +37,7 @@ export class ApiClientControllerDelegate { if (existing) { ErrorHandler.throwConflictError(`Client with this client code already exists!`); } - } - else { + } else { clientCode = await this.getClientCode(requestBody.ClientName); requestBody.ClientCode = clientCode; } @@ -60,7 +47,7 @@ export class ApiClientControllerDelegate { throw new ApiError('Unable to create api client!', 400); } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -68,16 +55,16 @@ export class ApiClientControllerDelegate { ErrorHandler.throwNotFoundError('Api client with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); var filters: ApiClientSearchFilters = this.getSearchFilters(query); var searchResults: ApiClientSearchResults = await this._service.search(filters); - var items = searchResults.Items.map(x => this.getSearchDto(x)); + var items = searchResults.Items.map((x) => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -91,7 +78,7 @@ export class ApiClientControllerDelegate { throw new ApiError('Unable to update api client!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -100,9 +87,9 @@ export class ApiClientControllerDelegate { } const apiClientDeleted: boolean = await this._service.delete(id); return { - Deleted : apiClientDeleted + Deleted : apiClientDeleted, }; - } + }; getCurrentApiKey = async (request) => { const verificationModel = await validator.getOrRenewApiKey(request); @@ -111,10 +98,9 @@ export class ApiClientControllerDelegate { throw new ApiError('Unable to retrieve client api key.', 400); } return apiKeyDto; - } + }; renewApiKey = async (request) => { - const verificationModel = await validator.getOrRenewApiKey(request); if (verificationModel.ValidFrom == null) { @@ -131,14 +117,13 @@ export class ApiClientControllerDelegate { throw new ApiError('Unable to renew client api key.', 400); } return apiKeyDto; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// //#region Privates getSearchFilters = (query) => { - var filters = {}; var clientName = query.clientName ? query.clientName : null; @@ -175,15 +160,20 @@ export class ApiClientControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ApiClientUpdateModel => { - const updateModel: ApiClientUpdateModel = {}; if (Helper.hasProperty(requestBody, 'ClientName')) { updateModel.ClientName = requestBody.ClientName; } + if (Helper.hasProperty(requestBody, 'FirstName')) { + updateModel.FirstName = requestBody.FirstName; + } + if (Helper.hasProperty(requestBody, 'LastName')) { + updateModel.LastName = requestBody.LastName; + } if (Helper.hasProperty(requestBody, 'IsPrivileged')) { updateModel.IsPrivileged = requestBody.IsPrivileged; } @@ -210,12 +200,13 @@ export class ApiClientControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ApiClientCreateModel => { - return { ClientName : requestBody.ClientName ? requestBody.ClientName : null, + FirstName : requestBody.FirstName ? requestBody.FirstName : null, + LastName : requestBody.LastName ? requestBody.LastName : null, ClientCode : requestBody.ClientCode ? requestBody.ClientCode : null, IsPrivileged : requestBody.IsPrivileged ? requestBody.IsPrivileged : false, CountryCode : requestBody.CountryCode ? requestBody.CountryCode : null, @@ -224,10 +215,11 @@ export class ApiClientControllerDelegate { Password : requestBody.Password ? requestBody.Password : null, ApiKey : requestBody.ApiKey ? requestBody.ApiKey : apikeyGenerator.default.create().apiKey, ValidFrom : requestBody.ValidFrom ? requestBody.ValidFrom : new Date(), - ValidTill : requestBody.ValidTill ? - requestBody.ValidTill : TimeHelper.addDuration(new Date(), 180, DurationType.Day) + ValidTill : requestBody.ValidTill + ? requestBody.ValidTill + : TimeHelper.addDuration(new Date(), 180, DurationType.Day), }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -236,16 +228,19 @@ export class ApiClientControllerDelegate { return { id : record.id, ClientName : record.ClientName, + FirstName : record.FirstName, + LastName : record.LastName, ClientCode : record.ClientCode, IsPrivileged : record.IsPrivileged, IsActive : record.IsActive, CountryCode : record.CountryCode, Phone : record.Phone, Email : record.Email, + ApiKey : record.ApiKey, ValidFrom : record.ValidFrom, - ValidTill : record.ValidTill + ValidTill : record.ValidTill, }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -254,17 +249,20 @@ export class ApiClientControllerDelegate { return { id : record.id, ClientName : record.ClientName, + FirstName : record.FirstName, + LastName : record.LastName, ClientCode : record.ClientCode, ClientInterfaceType : record.ClientInterfaceType, IsPrivileged : record.IsPrivileged, CountryCode : record.CountryCode, Phone : record.Phone, Email : record.Email, + ApiKey : record.ApiKey, ValidFrom : record.ValidFrom, ValidTill : record.ValidTill, - IsActive : record.IsActive + IsActive : record.IsActive, }; - } + }; private getClientCodePostfix() { return generate({ diff --git a/src/api/api.client/api.client.validator.ts b/src/api/api.client/api.client.validator.ts index afd32d1..96add75 100644 --- a/src/api/api.client/api.client.validator.ts +++ b/src/api/api.client/api.client.validator.ts @@ -1,8 +1,6 @@ import * as joi from 'joi'; import { ApiClientVerificationDomainModel } from '../../domain.types/api.client.domain.types'; -import { - ErrorHandler -} from '../../common/error.handler'; +import { ErrorHandler } from '../../common/error.handler'; import { Helper } from '../../common/helper'; import { TimeHelper } from '../../common/time.helper'; import { DurationType } from '../../domain.types/miscellaneous/time.types'; @@ -15,8 +13,10 @@ export class ApiClientValidator { try { const schema = joi.object({ ClientName : joi.string().max(256).optional(), + FirstName : joi.string().max(256).optional(), + LastName : joi.string().max(256).optional(), ClientCode : joi.string().max(256).optional(), - ClientInterfaceType : joi.string().valid("Mobile App", "Web App", "Desktop App", "Other").optional(), + ClientInterfaceType : joi.string().valid('Mobile App', 'Web App', 'Desktop App', 'Other').optional(), IsPrivileged : joi.boolean().optional(), CountryCode : joi.string().required(), Phone : joi.string().required(), @@ -24,20 +24,22 @@ export class ApiClientValidator { Password : joi.string().optional(), ApiKey : joi.string().optional(), ValidFrom : joi.date().iso().optional(), - ValidTill : joi.date().iso().optional() + ValidTill : joi.date().iso().optional(), }); return await schema.validateAsync(requestBody); } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ ClientName : joi.string().max(256).optional(), + FirstName : joi.string().max(256).optional(), + LastName : joi.string().max(256).optional(), ClientCode : joi.string().max(256).optional(), - ClientInterfaceType : joi.string().valid("Mobile App", "Web App", "Desktop App", "Other").optional(), + ClientInterfaceType : joi.string().valid('Mobile App', 'Web App', 'Desktop App', 'Other').optional(), IsPrivileged : joi.boolean().optional(), CountryCode : joi.string().optional(), Phone : joi.string().optional(), @@ -45,41 +47,40 @@ export class ApiClientValidator { Password : joi.string().optional(), ApiKey : joi.string().optional(), ValidFrom : joi.date().iso().optional(), - ValidTill : joi.date().iso().optional() + ValidTill : joi.date().iso().optional(), }); return await schema.validateAsync(requestBody); } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { const schema = joi.object({ clientName : joi.string().max(256).optional(), + FirstName : joi.string().max(256).optional(), + LastName : joi.string().max(256).optional(), clientCode : joi.string().max(256).optional(), - clientInterfaceType : joi.string().valid("Mobile App", "Web App", "Desktop App", "Other").optional(), + clientInterfaceType : joi.string().valid('Mobile App', 'Web App', 'Desktop App', 'Other').optional(), isPrivileged : joi.boolean().optional(), countryCode : joi.string().optional(), phone : joi.string().optional(), email : joi.string().email().optional(), validFrom : joi.date().iso().optional(), - validTill : joi.date().iso().optional() + validTill : joi.date().iso().optional(), }); return await schema.validateAsync(query); - } catch (error) { ErrorHandler.handleValidationError(error); } - } - - static getOrRenewApiKey = async ( request: any - ): Promise => { + }; + static getOrRenewApiKey = async (request: any): Promise => { const authHeader = request.headers['authorization'].toString(); let tokens = authHeader.split(' '); if (tokens.length < 2) { - throw new Error("Invalid authorization header."); + throw new Error('Invalid authorization header.'); } if (tokens[0].toLowerCase() !== 'basic') { throw new Error('Invalid auth header formatting. Should be basic authorization.'); @@ -87,23 +88,25 @@ export class ApiClientValidator { const load = Helper.decodeFromBase64(tokens[1]); tokens = load.split(':'); if (tokens.length < 2) { - throw new Error("Basic auth formatting error."); + throw new Error('Basic auth formatting error.'); } const clientCode = tokens[0].trim(); const password = tokens[1].trim(); const schema = joi.object({ ValidFrom : joi.date().optional(), - ValidTill : joi.date().optional() + ValidTill : joi.date().optional(), }); await schema.validateAsync(request.body); return ApiClientValidator.getVerificationDomainModel(request.body, clientCode, password); }; - static getVerificationDomainModel = async (body: any, clientCode: string, password: string): - Promise => { - + static getVerificationDomainModel = async ( + body: any, + clientCode: string, + password: string + ): Promise => { let model: ApiClientVerificationDomainModel = null; model = { ClientCode : clientCode, diff --git a/src/api/types/types.controller.ts b/src/api/types/types.controller.ts index d928bcc..9a682ee 100644 --- a/src/api/types/types.controller.ts +++ b/src/api/types/types.controller.ts @@ -4,7 +4,7 @@ import { ErrorHandler } from '../../common/error.handler'; import { BaseController } from '../base.controller'; import { RoleService } from '../../database/repository.services/role.service'; import { CareplanCategoryService } from '../../database/repository.services/careplan/careplan.category.service'; -import { AssetTypeList } from '../../domain.types/assets/asset.types'; +import { AssetTypeList, TimeSlotList } from '../../domain.types/assets/asset.types'; /////////////////////////////////////////////////////////////////////////////////////// @@ -77,6 +77,19 @@ export class TypesController extends BaseController { ResponseHandler.handleError(request, response, error); } }; + + getSlotTypes = async (request: express.Request, response: express.Response): Promise => { + try { + await this.authorize('Types.GetSlotTypes', request, response, false); + const slotTypes = TimeSlotList; + ResponseHandler.success(request, response, 'Slot types retrieved successfully!', 200, { + SlotTypes : slotTypes, + }); + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + }; + // getPriorityTypes = async (request: express.Request, response: express.Response): Promise => { // try { // await this.setContext('HealthPriority.GetPrioritiesTypes', request, response); diff --git a/src/api/types/types.routes.ts b/src/api/types/types.routes.ts index 97180a3..87d8502 100644 --- a/src/api/types/types.routes.ts +++ b/src/api/types/types.routes.ts @@ -13,6 +13,7 @@ export const register = (app: express.Application): void => { router.get('/roles', controller.getRoleTypes); router.get('/careplan-categories', controller.getCareplanCategories); router.get('/asset', controller.getAssetTypes); + router.get('/slot', controller.getSlotTypes); app.use('/api/v1/types', router); }; diff --git a/src/database/mappers/api.client.mapper.ts b/src/database/mappers/api.client.mapper.ts index 556dbe8..43b01b7 100644 --- a/src/database/mappers/api.client.mapper.ts +++ b/src/database/mappers/api.client.mapper.ts @@ -13,11 +13,14 @@ export class ApiClientMapper { const dto: ApiClientDto = { id : apiClient.id, ClientName : apiClient.ClientName, + FirstName : apiClient.FirstName, + LastName : apiClient.LastName, ClientCode : apiClient.ClientCode, IsPrivileged : apiClient.IsPrivileged, CountryCode : apiClient.CountryCode, Phone : apiClient.Phone, Email : apiClient.Email, + ApiKey : apiClient.ApiKey, ValidFrom : apiClient.ValidFrom, ValidTill : apiClient.ValidTill, IsActive : apiClient.IsActive diff --git a/src/database/models/api.client.model.ts b/src/database/models/api.client.model.ts index d377525..8f7da77 100644 --- a/src/database/models/api.client.model.ts +++ b/src/database/models/api.client.model.ts @@ -21,6 +21,14 @@ export class ApiClientModel { type : DataTypes.STRING(256), allowNull : false }, + FirstName : { + type : DataTypes.STRING(256), + allowNull : true + }, + LastName : { + type : DataTypes.STRING(256), + allowNull : true + }, ClientCode : { type : DataTypes.STRING(256), allowNull : false diff --git a/src/database/repository.services/api.client.service.ts b/src/database/repository.services/api.client.service.ts index 7980563..842c2bd 100644 --- a/src/database/repository.services/api.client.service.ts +++ b/src/database/repository.services/api.client.service.ts @@ -18,6 +18,8 @@ export class ApiClientService { try { const entity = { ClientName : clientDomainModel.ClientName, + FirstName : clientDomainModel.FirstName, + LastName : clientDomainModel.LastName, ClientCode : clientDomainModel.ClientCode, IsPrivileged : clientDomainModel.IsPrivileged, Phone : clientDomainModel.Phone, @@ -214,6 +216,12 @@ export class ApiClientService { if (clientDomainModel.ClientName != null) { client.ClientName = clientDomainModel.ClientName; } + if (clientDomainModel.FirstName != null) { + client.FirstName = clientDomainModel.FirstName; + } + if (clientDomainModel.LastName != null) { + client.LastName = clientDomainModel.LastName; + } if (clientDomainModel.Password != null) { client.Password = Helper.hash(clientDomainModel.Password); } @@ -263,9 +271,12 @@ export class ApiClientService { const dto: ApiClientDto = { id : client.id, ClientName : client.ClientName, + FirstName : client.FirstName, + LastName : client.LastName, ClientCode : client.ClientCode, Phone : client.Phone, Email : client.Email, + ApiKey : client.ApiKey, IsActive : active, CountryCode : client.CountryCode, IsPrivileged : client.IsPrivileged, diff --git a/src/domain.types/api.client.domain.types.ts b/src/domain.types/api.client.domain.types.ts index 48c2c9a..9946034 100644 --- a/src/domain.types/api.client.domain.types.ts +++ b/src/domain.types/api.client.domain.types.ts @@ -3,6 +3,8 @@ import { BaseSearchFilters, BaseSearchResults } from "./miscellaneous/base.searc export interface ApiClientCreateModel { id? : string; ClientName : string; + FirstName? : string; + LastName? : string; ClientCode? : string; Password? : string; CountryCode? : string; @@ -16,6 +18,8 @@ export interface ApiClientCreateModel { export interface ApiClientUpdateModel { ClientName ? : string; + FirstName? : string; + LastName? : string; ClientCode ? : string; IsPrivileged ? : boolean; CountryCode ? : string; @@ -37,10 +41,13 @@ export interface ApiClientVerificationDomainModel { export interface ApiClientDto { id : string; ClientName : string; + FirstName : string; + LastName : string; ClientCode : string; CountryCode : string; Phone : string; Email : string; + ApiKey : string; IsPrivileged : boolean; IsActive : boolean; ValidFrom? : Date, From daaa6636f380f0039ad1ee662f0b6f9925c6026b Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Mon, 7 Nov 2022 11:25:07 +0530 Subject: [PATCH 073/169] api-client created at date added --- .../api.client.controller.delegate.ts | 5 ++++ src/api/api.client/api.client.validator.ts | 1 + .../user.role.controller.delegate.ts | 23 ++++++++++--------- src/domain.types/api.client.domain.types.ts | 1 + 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/api/api.client/api.client.controller.delegate.ts b/src/api/api.client/api.client.controller.delegate.ts index 0cf2cd2..67f0259 100644 --- a/src/api/api.client/api.client.controller.delegate.ts +++ b/src/api/api.client/api.client.controller.delegate.ts @@ -150,6 +150,10 @@ export class ApiClientControllerDelegate { if (email != null) { filters['Email'] = email; } + var createdAt = query.createdAt ? query.createdAt : null; + if (createdAt != null) { + filters['CreatedAt'] = createdAt; + } var validFrom = query.validFrom ? query.validFrom : null; if (validFrom != null) { filters['ValidFrom'] = validFrom; @@ -261,6 +265,7 @@ export class ApiClientControllerDelegate { ValidFrom : record.ValidFrom, ValidTill : record.ValidTill, IsActive : record.IsActive, + CreatedAt : record.CreatedAt, }; }; diff --git a/src/api/api.client/api.client.validator.ts b/src/api/api.client/api.client.validator.ts index 96add75..e3adfdd 100644 --- a/src/api/api.client/api.client.validator.ts +++ b/src/api/api.client/api.client.validator.ts @@ -67,6 +67,7 @@ export class ApiClientValidator { countryCode : joi.string().optional(), phone : joi.string().optional(), email : joi.string().email().optional(), + createdAt : joi.string().email().optional(), validFrom : joi.date().iso().optional(), validTill : joi.date().iso().optional(), }); diff --git a/src/api/user.role/user.role.controller.delegate.ts b/src/api/user.role/user.role.controller.delegate.ts index ce83e10..faeb6e7 100644 --- a/src/api/user.role/user.role.controller.delegate.ts +++ b/src/api/user.role/user.role.controller.delegate.ts @@ -85,7 +85,7 @@ export class UserRoleControllerDelegate { } const userRoleDeleted: boolean = await this._service.delete(id); return { - Deleted: userRoleDeleted + Deleted : userRoleDeleted }; } @@ -111,7 +111,7 @@ export class UserRoleControllerDelegate { getUpdateModel = (requestBody): UserRoleUpdateModel => { - let updateModel: UserRoleUpdateModel = {}; + const updateModel: UserRoleUpdateModel = {}; if (Helper.hasProperty(requestBody, 'UserId')) { updateModel.UserId = requestBody.UserId; @@ -125,8 +125,8 @@ export class UserRoleControllerDelegate { getCreateModel = (requestBody): UserRoleCreateModel => { return { - UserId: requestBody.UserId ? requestBody.UserId : null, - RoleId: requestBody.RoleId ? requestBody.RoleId : null + UserId : requestBody.UserId ? requestBody.UserId : null, + RoleId : requestBody.RoleId ? requestBody.RoleId : null }; } @@ -135,9 +135,9 @@ export class UserRoleControllerDelegate { return null; } return { - id: record.id, - UserId: record.UserId, - RoleId: record.RoleId + id : record.id, + UserId : record.UserId, + RoleId : record.RoleId }; } @@ -146,12 +146,13 @@ export class UserRoleControllerDelegate { return null; } return { - id: record.id, - UserId: record.UserId, - RoleId: record.RoleId + id : record.id, + UserId : record.UserId, + RoleId : record.RoleId }; } //#endregion + } -/////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file +/////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/domain.types/api.client.domain.types.ts b/src/domain.types/api.client.domain.types.ts index 9946034..009a509 100644 --- a/src/domain.types/api.client.domain.types.ts +++ b/src/domain.types/api.client.domain.types.ts @@ -70,6 +70,7 @@ export interface ApiClientSearchFilters extends BaseSearchFilters { CountryCode ? : string; Phone ? : string; Email ? : string; + CreatedAt ? : string; ValidFrom ? : Date; ValidTill ? : Date; } From f49eda5ffc04c79d294d7e035355bd76eee6f37a Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Mon, 7 Nov 2022 13:59:12 +0530 Subject: [PATCH 074/169] createdAt add in assets --- src/api/assets/action.plan/action.plan.controller.delegate.ts | 3 ++- src/api/assets/action.plan/action.plan.validator.ts | 1 + src/api/assets/animation/animation.controller.delegate.ts | 3 ++- src/api/assets/animation/animation.validator.ts | 1 + src/api/assets/appointment/appointment.controller.delegate.ts | 3 ++- src/api/assets/appointment/appointment.validator.ts | 2 ++ src/domain.types/assets/action.plan.domain.types.ts | 1 + src/domain.types/assets/animation.domain.types.ts | 1 + src/domain.types/assets/appointment.domain.types.ts | 1 + 9 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/api/assets/action.plan/action.plan.controller.delegate.ts b/src/api/assets/action.plan/action.plan.controller.delegate.ts index d3d1951..47e47e9 100644 --- a/src/api/assets/action.plan/action.plan.controller.delegate.ts +++ b/src/api/assets/action.plan/action.plan.controller.delegate.ts @@ -189,7 +189,8 @@ export class ActionPlanControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/action.plan/action.plan.validator.ts b/src/api/assets/action.plan/action.plan.validator.ts index 3a1b4a9..43bc1aa 100644 --- a/src/api/assets/action.plan/action.plan.validator.ts +++ b/src/api/assets/action.plan/action.plan.validator.ts @@ -53,6 +53,7 @@ export class ActionPlanValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/animation/animation.controller.delegate.ts b/src/api/assets/animation/animation.controller.delegate.ts index 25aca86..8a2346f 100644 --- a/src/api/assets/animation/animation.controller.delegate.ts +++ b/src/api/assets/animation/animation.controller.delegate.ts @@ -201,7 +201,8 @@ export class AnimationControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/animation/animation.validator.ts b/src/api/assets/animation/animation.validator.ts index 9b573ac..11be5a9 100644 --- a/src/api/assets/animation/animation.validator.ts +++ b/src/api/assets/animation/animation.validator.ts @@ -56,6 +56,7 @@ export class AnimationValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + createdAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/appointment/appointment.controller.delegate.ts b/src/api/assets/appointment/appointment.controller.delegate.ts index e8c30f2..144aa2c 100644 --- a/src/api/assets/appointment/appointment.controller.delegate.ts +++ b/src/api/assets/appointment/appointment.controller.delegate.ts @@ -199,7 +199,8 @@ export class AppointmentControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/appointment/appointment.validator.ts b/src/api/assets/appointment/appointment.validator.ts index 23691e8..100e2bf 100644 --- a/src/api/assets/appointment/appointment.validator.ts +++ b/src/api/assets/appointment/appointment.validator.ts @@ -56,6 +56,8 @@ export class AppointmentValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/domain.types/assets/action.plan.domain.types.ts b/src/domain.types/assets/action.plan.domain.types.ts index cf3b1e7..af7b4e3 100644 --- a/src/domain.types/assets/action.plan.domain.types.ts +++ b/src/domain.types/assets/action.plan.domain.types.ts @@ -42,6 +42,7 @@ export interface ActionPlanSearchFilters extends BaseSearchFilters { AssetCategory?: string; Tags? : string; Version? : string; + CreatedAt? : Date; } export interface ActionPlanSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/animation.domain.types.ts b/src/domain.types/assets/animation.domain.types.ts index 18fe524..963dafd 100644 --- a/src/domain.types/assets/animation.domain.types.ts +++ b/src/domain.types/assets/animation.domain.types.ts @@ -48,6 +48,7 @@ export interface AnimationSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface AnimationSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/appointment.domain.types.ts b/src/domain.types/assets/appointment.domain.types.ts index cc6a004..87a6d6d 100644 --- a/src/domain.types/assets/appointment.domain.types.ts +++ b/src/domain.types/assets/appointment.domain.types.ts @@ -61,6 +61,7 @@ export interface AppointmentSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface AppointmentSearchResults extends BaseSearchResults { From 17169d6de08d697b219e92bb7c454204596c03d9 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Mon, 7 Nov 2022 14:08:25 +0530 Subject: [PATCH 075/169] Added careplan and participant in enrollment dto --- src/api/careplan/careplan/careplan.controller.delegate.ts | 7 +++++-- .../enrollment/enrollment.controller.delegate.ts | 8 +++++++- src/api/types/types.routes.ts | 2 +- src/database/mappers/enrollment/enrollment.mapper.ts | 2 ++ src/domain.types/careplan/careplan.domain.types.ts | 6 ++++-- src/domain.types/enrollment/enrollment.domain.types.ts | 7 ++++++- 6 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/api/careplan/careplan/careplan.controller.delegate.ts b/src/api/careplan/careplan/careplan.controller.delegate.ts index 6254991..9c2ff3c 100644 --- a/src/api/careplan/careplan/careplan.controller.delegate.ts +++ b/src/api/careplan/careplan/careplan.controller.delegate.ts @@ -166,7 +166,8 @@ export class CareplanControllerDelegate { Tags : JSON.parse(record.Tags), IsActive : record.IsActive, CreatedAt : record.CreatedAt, - UpdatedAt : record.UpdatedAt + UpdatedAt : record.UpdatedAt, + Type : record.Category.Type }; } @@ -187,7 +188,9 @@ export class CareplanControllerDelegate { Tags : JSON.parse(record.Tags), IsActive : record.IsActive, CreatedAt : record.CreatedAt, - UpdatedAt : record.UpdatedAt + UpdatedAt : record.UpdatedAt, + Type : record.Category.Type + }; } diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index ee7dc28..fde7291 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -306,6 +306,9 @@ export class EnrollmentControllerDelegate { WeekOffset : record.WeekOffset, DayOffset : record.DayOffset, ProgressStatus : record.ProgressStatus, + Careplan :record.Careplan, + Participant :record.Participant, + }; } @@ -324,7 +327,10 @@ export class EnrollmentControllerDelegate { EnrollmentDate : record.EnrollmentDate, WeekOffset : record.WeekOffset, DayOffset : record.DayOffset, - ProgressStatus : record.ProgressStatus + ProgressStatus : record.ProgressStatus, + Careplan :record.Careplan, + Participant :record.Participant, + }; } diff --git a/src/api/types/types.routes.ts b/src/api/types/types.routes.ts index 97180a3..f4b47ea 100644 --- a/src/api/types/types.routes.ts +++ b/src/api/types/types.routes.ts @@ -12,7 +12,7 @@ export const register = (app: express.Application): void => { router.get('/roles', controller.getRoleTypes); router.get('/careplan-categories', controller.getCareplanCategories); - router.get('/asset', controller.getAssetTypes); + router.get('/assets', controller.getAssetTypes); app.use('/api/v1/types', router); }; diff --git a/src/database/mappers/enrollment/enrollment.mapper.ts b/src/database/mappers/enrollment/enrollment.mapper.ts index c7389e1..fc285fe 100644 --- a/src/database/mappers/enrollment/enrollment.mapper.ts +++ b/src/database/mappers/enrollment/enrollment.mapper.ts @@ -18,6 +18,8 @@ export class EnrollmentMapper { EndDate : enrollment.EndDate, EnrollmentDate : enrollment.EnrollmentDate, ProgressStatus : enrollment.ProgressStatus, + Careplan : [], + Participant : [], }; return dto; diff --git a/src/domain.types/careplan/careplan.domain.types.ts b/src/domain.types/careplan/careplan.domain.types.ts index 9af9664..2bd175a 100644 --- a/src/domain.types/careplan/careplan.domain.types.ts +++ b/src/domain.types/careplan/careplan.domain.types.ts @@ -1,6 +1,7 @@ import { BaseSearchFilters, BaseSearchResults } from "../miscellaneous/base.search.types"; import { uuid } from "../miscellaneous/system.types"; +import { CareplanCategoryDto } from "./careplan.category.domain.types"; export interface CareplanCreateModel { id?: uuid; @@ -25,8 +26,8 @@ export interface CareplanUpdateModel { IsActive?: boolean; } -export interface CareplanDto { - id?: uuid; +export interface CareplanDto { + id: uuid; Code: string; CategoryId: uuid; Name: string; @@ -37,6 +38,7 @@ export interface CareplanDto { IsActive: boolean; CreatedAt:Date; UpdatedAt:Date; + Type:CareplanCategoryDto[]; } export interface CareplanSearchFilters extends BaseSearchFilters { diff --git a/src/domain.types/enrollment/enrollment.domain.types.ts b/src/domain.types/enrollment/enrollment.domain.types.ts index adb6289..d2ee4cc 100644 --- a/src/domain.types/enrollment/enrollment.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.domain.types.ts @@ -1,3 +1,5 @@ +import { CareplanCategoryDto } from "../careplan/careplan.category.domain.types"; +import { CareplanDto } from "../careplan/careplan.domain.types"; import { BaseSearchFilters, BaseSearchResults @@ -6,6 +8,7 @@ import { ProgressStatus, uuid } from "../miscellaneous/system.types"; +import { ParticipantDto } from "./participant.domain.types"; export interface EnrollmentCreateModel { CareplanId ?: uuid; @@ -31,7 +34,7 @@ export interface EnrollmentUpdateModel { export interface EnrollmentDto { id : uuid; CareplanId : uuid; - PlanCode? : string; + PlanCode? : string; ParticipantId : uuid; StartDate : Date; EndDate : Date; @@ -39,6 +42,8 @@ export interface EnrollmentDto { WeekOffset ?: number; DayOffset ?: number; ProgressStatus: ProgressStatus; + Careplan : CareplanDto[]; + Participant : ParticipantDto[]; } export interface EnrollmentSearchFilters extends BaseSearchFilters { From 0795a63410559987d14754a40886bfe9ea3d6dcd Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Mon, 7 Nov 2022 14:29:36 +0530 Subject: [PATCH 076/169] createdAt for all assets --- src/api/assets/animation/animation.validator.ts | 2 +- src/api/assets/article/article.controller.delegate.ts | 3 ++- src/api/assets/article/article.validator.ts | 1 + src/api/assets/assessment/assessment.controller.delegate.ts | 3 ++- src/api/assets/assessment/assessment.validator.ts | 1 + src/api/assets/audio/audio.controller.delegate.ts | 3 ++- src/api/assets/audio/audio.validator.ts | 1 + src/api/assets/biometrics/biometrics.controller.delegate.ts | 3 ++- src/api/assets/biometrics/biometrics.validator.ts | 1 + src/api/assets/challenge/challenge.controller.delegate.ts | 3 ++- src/api/assets/challenge/challenge.validator.ts | 1 + src/api/assets/checkup/checkup.controller.delegate.ts | 3 ++- src/api/assets/checkup/checkup.validator.ts | 1 + .../assets/consultation/consultation.controller.delegate.ts | 3 ++- src/api/assets/consultation/consultation.validator.ts | 1 + src/api/assets/exercise/exercise.controller.delegate.ts | 3 ++- src/api/assets/exercise/exercise.validator.ts | 1 + src/api/assets/goal/goal.controller.delegate.ts | 3 ++- src/api/assets/goal/goal.validator.ts | 1 + .../assets/infographics/infographics.controller.delegate.ts | 3 ++- src/api/assets/infographics/infographics.validator.ts | 1 + src/api/assets/medication/medication.controller.delegate.ts | 3 ++- src/api/assets/medication/medication.validator.ts | 1 + src/api/assets/meditation/meditation.controller.delegate.ts | 3 ++- src/api/assets/meditation/meditation.validator.ts | 1 + src/api/assets/message/message.controller.delegate.ts | 3 ++- src/api/assets/message/message.validator.ts | 1 + src/api/assets/nutrition/nutrition.controller.delegate.ts | 3 ++- src/api/assets/nutrition/nutrition.validator.ts | 1 + .../assets/physiotherapy/physiotherapy.controller.delegate.ts | 3 ++- src/api/assets/physiotherapy/physiotherapy.validator.ts | 1 + src/api/assets/priority/priority.controller.delegate.ts | 3 ++- src/api/assets/priority/priority.validator.ts | 1 + src/api/assets/reflection/reflection.controller.delegate.ts | 3 ++- src/api/assets/reflection/reflection.validator.ts | 1 + src/api/assets/reminder/reminder.controller.delegate.ts | 3 ++- src/api/assets/reminder/reminder.validator.ts | 1 + src/api/assets/video/video.controller.delegate.ts | 3 ++- src/api/assets/video/video.validator.ts | 1 + src/api/assets/web.link/web.link.controller.delegate.ts | 3 ++- src/api/assets/web.link/web.link.validator.ts | 1 + .../assets/web.newsfeed/web.newsfeed.controller.delegate.ts | 3 ++- src/api/assets/web.newsfeed/web.newsfeed.validator.ts | 1 + src/api/assets/word.power/word.power.controller.delegate.ts | 3 ++- src/api/assets/word.power/word.power.validator.ts | 1 + src/domain.types/assets/article.domain.types.ts | 1 + src/domain.types/assets/assessment.domain.types.ts | 1 + src/domain.types/assets/audio.domain.types.ts | 1 + src/domain.types/assets/biometrics.domain.types.ts | 1 + src/domain.types/assets/challenge.domain.types.ts | 1 + src/domain.types/assets/checkup.domain.types.ts | 1 + src/domain.types/assets/consultation.domain.types.ts | 1 + src/domain.types/assets/exercise.domain.types.ts | 1 + src/domain.types/assets/goal.domain.types.ts | 1 + src/domain.types/assets/infographics.domain.types.ts | 1 + src/domain.types/assets/medication.domain.types.ts | 1 + src/domain.types/assets/meditation.domain.types.ts | 1 + src/domain.types/assets/message.domain.types.ts | 1 + src/domain.types/assets/nutrition.domain.types.ts | 1 + src/domain.types/assets/physiotherapy.domain.types.ts | 1 + src/domain.types/assets/priority.domain.types.ts | 1 + src/domain.types/assets/reflection.domain.types.ts | 1 + src/domain.types/assets/reminder.domain.types.ts | 1 + src/domain.types/assets/video.domain.types.ts | 1 + src/domain.types/assets/web.link.domain.types.ts | 1 + src/domain.types/assets/web.newsfeed.domain.types.ts | 1 + src/domain.types/assets/word.power.domain.types.ts | 1 + 67 files changed, 89 insertions(+), 23 deletions(-) diff --git a/src/api/assets/animation/animation.validator.ts b/src/api/assets/animation/animation.validator.ts index 11be5a9..d935378 100644 --- a/src/api/assets/animation/animation.validator.ts +++ b/src/api/assets/animation/animation.validator.ts @@ -56,7 +56,7 @@ export class AnimationValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - createdAt : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/article/article.controller.delegate.ts b/src/api/assets/article/article.controller.delegate.ts index 35b4850..df03726 100644 --- a/src/api/assets/article/article.controller.delegate.ts +++ b/src/api/assets/article/article.controller.delegate.ts @@ -201,7 +201,8 @@ export class ArticleControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/article/article.validator.ts b/src/api/assets/article/article.validator.ts index 1b93725..d3393fe 100644 --- a/src/api/assets/article/article.validator.ts +++ b/src/api/assets/article/article.validator.ts @@ -56,6 +56,7 @@ export class ArticleValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/assessment/assessment.controller.delegate.ts b/src/api/assets/assessment/assessment.controller.delegate.ts index 02a9b0e..eb18dea 100644 --- a/src/api/assets/assessment/assessment.controller.delegate.ts +++ b/src/api/assets/assessment/assessment.controller.delegate.ts @@ -199,7 +199,8 @@ export class AssessmentControllerDelegate { Template : record.Template, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/assessment/assessment.validator.ts b/src/api/assets/assessment/assessment.validator.ts index 4c4d115..a64e485 100644 --- a/src/api/assets/assessment/assessment.validator.ts +++ b/src/api/assets/assessment/assessment.validator.ts @@ -56,6 +56,7 @@ export class AssessmentValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/audio/audio.controller.delegate.ts b/src/api/assets/audio/audio.controller.delegate.ts index 282c9ad..3dea862 100644 --- a/src/api/assets/audio/audio.controller.delegate.ts +++ b/src/api/assets/audio/audio.controller.delegate.ts @@ -201,7 +201,8 @@ export class AudioControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/audio/audio.validator.ts b/src/api/assets/audio/audio.validator.ts index 27102fe..5b0a5f8 100644 --- a/src/api/assets/audio/audio.validator.ts +++ b/src/api/assets/audio/audio.validator.ts @@ -56,6 +56,7 @@ export class AudioValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/biometrics/biometrics.controller.delegate.ts b/src/api/assets/biometrics/biometrics.controller.delegate.ts index 44313e3..8ef71f7 100644 --- a/src/api/assets/biometrics/biometrics.controller.delegate.ts +++ b/src/api/assets/biometrics/biometrics.controller.delegate.ts @@ -209,7 +209,8 @@ export class BiometricsControllerDelegate { MeasurementUnit : record.MeasurementUnit, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/biometrics/biometrics.validator.ts b/src/api/assets/biometrics/biometrics.validator.ts index 4d12a71..39ca09d 100644 --- a/src/api/assets/biometrics/biometrics.validator.ts +++ b/src/api/assets/biometrics/biometrics.validator.ts @@ -59,6 +59,7 @@ export class BiometricsValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/challenge/challenge.controller.delegate.ts b/src/api/assets/challenge/challenge.controller.delegate.ts index 6f808f8..6ffbacd 100644 --- a/src/api/assets/challenge/challenge.controller.delegate.ts +++ b/src/api/assets/challenge/challenge.controller.delegate.ts @@ -189,7 +189,8 @@ export class ChallengeControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/challenge/challenge.validator.ts b/src/api/assets/challenge/challenge.validator.ts index c172ce7..b485599 100644 --- a/src/api/assets/challenge/challenge.validator.ts +++ b/src/api/assets/challenge/challenge.validator.ts @@ -53,6 +53,7 @@ export class ChallengeValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/checkup/checkup.controller.delegate.ts b/src/api/assets/checkup/checkup.controller.delegate.ts index e4d15db..83f81f3 100644 --- a/src/api/assets/checkup/checkup.controller.delegate.ts +++ b/src/api/assets/checkup/checkup.controller.delegate.ts @@ -189,7 +189,8 @@ export class CheckupControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/checkup/checkup.validator.ts b/src/api/assets/checkup/checkup.validator.ts index 921e894..7efe564 100644 --- a/src/api/assets/checkup/checkup.validator.ts +++ b/src/api/assets/checkup/checkup.validator.ts @@ -53,6 +53,7 @@ export class CheckupValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/consultation/consultation.controller.delegate.ts b/src/api/assets/consultation/consultation.controller.delegate.ts index a737470..d55c03c 100644 --- a/src/api/assets/consultation/consultation.controller.delegate.ts +++ b/src/api/assets/consultation/consultation.controller.delegate.ts @@ -199,7 +199,8 @@ export class ConsultationControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/consultation/consultation.validator.ts b/src/api/assets/consultation/consultation.validator.ts index 4348e3f..c15db1e 100644 --- a/src/api/assets/consultation/consultation.validator.ts +++ b/src/api/assets/consultation/consultation.validator.ts @@ -56,6 +56,7 @@ export class ConsultationValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/exercise/exercise.controller.delegate.ts b/src/api/assets/exercise/exercise.controller.delegate.ts index ae4af23..530d6e4 100644 --- a/src/api/assets/exercise/exercise.controller.delegate.ts +++ b/src/api/assets/exercise/exercise.controller.delegate.ts @@ -219,7 +219,8 @@ export class ExerciseControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/exercise/exercise.validator.ts b/src/api/assets/exercise/exercise.validator.ts index 1478c98..16aceda 100644 --- a/src/api/assets/exercise/exercise.validator.ts +++ b/src/api/assets/exercise/exercise.validator.ts @@ -62,6 +62,7 @@ export class ExerciseValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/goal/goal.controller.delegate.ts b/src/api/assets/goal/goal.controller.delegate.ts index cd1ad5c..30b6f4c 100644 --- a/src/api/assets/goal/goal.controller.delegate.ts +++ b/src/api/assets/goal/goal.controller.delegate.ts @@ -189,7 +189,8 @@ export class GoalControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/goal/goal.validator.ts b/src/api/assets/goal/goal.validator.ts index 0bfe5d9..6dc3508 100644 --- a/src/api/assets/goal/goal.validator.ts +++ b/src/api/assets/goal/goal.validator.ts @@ -53,6 +53,7 @@ export class GoalValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/infographics/infographics.controller.delegate.ts b/src/api/assets/infographics/infographics.controller.delegate.ts index 9acf29a..cb1f2d1 100644 --- a/src/api/assets/infographics/infographics.controller.delegate.ts +++ b/src/api/assets/infographics/infographics.controller.delegate.ts @@ -201,7 +201,8 @@ export class InfographicsControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/infographics/infographics.validator.ts b/src/api/assets/infographics/infographics.validator.ts index 744928c..ec7b9a0 100644 --- a/src/api/assets/infographics/infographics.validator.ts +++ b/src/api/assets/infographics/infographics.validator.ts @@ -56,6 +56,7 @@ export class InfographicsValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/medication/medication.controller.delegate.ts b/src/api/assets/medication/medication.controller.delegate.ts index a07b52d..c531703 100644 --- a/src/api/assets/medication/medication.controller.delegate.ts +++ b/src/api/assets/medication/medication.controller.delegate.ts @@ -190,7 +190,8 @@ export class MedicationControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/medication/medication.validator.ts b/src/api/assets/medication/medication.validator.ts index 77f4a5b..24146ca 100644 --- a/src/api/assets/medication/medication.validator.ts +++ b/src/api/assets/medication/medication.validator.ts @@ -53,6 +53,7 @@ export class MedicationValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + createdAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/meditation/meditation.controller.delegate.ts b/src/api/assets/meditation/meditation.controller.delegate.ts index 12d4f4b..bc8cf8f 100644 --- a/src/api/assets/meditation/meditation.controller.delegate.ts +++ b/src/api/assets/meditation/meditation.controller.delegate.ts @@ -209,7 +209,8 @@ export class MeditationControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.Version, }; } diff --git a/src/api/assets/meditation/meditation.validator.ts b/src/api/assets/meditation/meditation.validator.ts index 619ce58..e1deeba 100644 --- a/src/api/assets/meditation/meditation.validator.ts +++ b/src/api/assets/meditation/meditation.validator.ts @@ -59,6 +59,7 @@ export class MeditationValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/message/message.controller.delegate.ts b/src/api/assets/message/message.controller.delegate.ts index 56068b1..bd3ee68 100644 --- a/src/api/assets/message/message.controller.delegate.ts +++ b/src/api/assets/message/message.controller.delegate.ts @@ -205,7 +205,8 @@ export class MessageControllerDelegate { OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), Url : record.Url, - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/message/message.validator.ts b/src/api/assets/message/message.validator.ts index 578bb5e..38cd93b 100644 --- a/src/api/assets/message/message.validator.ts +++ b/src/api/assets/message/message.validator.ts @@ -58,6 +58,7 @@ export class MessageValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/nutrition/nutrition.controller.delegate.ts b/src/api/assets/nutrition/nutrition.controller.delegate.ts index b427fc4..5b15479 100644 --- a/src/api/assets/nutrition/nutrition.controller.delegate.ts +++ b/src/api/assets/nutrition/nutrition.controller.delegate.ts @@ -189,7 +189,8 @@ export class NutritionControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/nutrition/nutrition.validator.ts b/src/api/assets/nutrition/nutrition.validator.ts index 571a66d..79264e8 100644 --- a/src/api/assets/nutrition/nutrition.validator.ts +++ b/src/api/assets/nutrition/nutrition.validator.ts @@ -53,6 +53,7 @@ export class NutritionValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts b/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts index 163251f..8eacf54 100644 --- a/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts +++ b/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts @@ -199,7 +199,8 @@ export class PhysiotherapyControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/physiotherapy/physiotherapy.validator.ts b/src/api/assets/physiotherapy/physiotherapy.validator.ts index 9d10a5e..b41177d 100644 --- a/src/api/assets/physiotherapy/physiotherapy.validator.ts +++ b/src/api/assets/physiotherapy/physiotherapy.validator.ts @@ -56,6 +56,7 @@ export class PhysiotherapyValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/priority/priority.controller.delegate.ts b/src/api/assets/priority/priority.controller.delegate.ts index 1fc8965..3e748d9 100644 --- a/src/api/assets/priority/priority.controller.delegate.ts +++ b/src/api/assets/priority/priority.controller.delegate.ts @@ -189,7 +189,8 @@ export class PriorityControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/priority/priority.validator.ts b/src/api/assets/priority/priority.validator.ts index 53d05cf..b9fed59 100644 --- a/src/api/assets/priority/priority.validator.ts +++ b/src/api/assets/priority/priority.validator.ts @@ -53,6 +53,7 @@ export class PriorityValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/reflection/reflection.controller.delegate.ts b/src/api/assets/reflection/reflection.controller.delegate.ts index 57e2327..16ad3c8 100644 --- a/src/api/assets/reflection/reflection.controller.delegate.ts +++ b/src/api/assets/reflection/reflection.controller.delegate.ts @@ -189,7 +189,8 @@ export class ReflectionControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/reflection/reflection.validator.ts b/src/api/assets/reflection/reflection.validator.ts index 2b9af38..c3fd549 100644 --- a/src/api/assets/reflection/reflection.validator.ts +++ b/src/api/assets/reflection/reflection.validator.ts @@ -53,6 +53,7 @@ export class ReflectionValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/reminder/reminder.controller.delegate.ts b/src/api/assets/reminder/reminder.controller.delegate.ts index f798fd7..ccc4f57 100644 --- a/src/api/assets/reminder/reminder.controller.delegate.ts +++ b/src/api/assets/reminder/reminder.controller.delegate.ts @@ -189,7 +189,8 @@ export class ReminderControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/reminder/reminder.validator.ts b/src/api/assets/reminder/reminder.validator.ts index f1dba77..fc84dc1 100644 --- a/src/api/assets/reminder/reminder.validator.ts +++ b/src/api/assets/reminder/reminder.validator.ts @@ -53,6 +53,7 @@ export class ReminderValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/video/video.controller.delegate.ts b/src/api/assets/video/video.controller.delegate.ts index 3e92723..98c7fb8 100644 --- a/src/api/assets/video/video.controller.delegate.ts +++ b/src/api/assets/video/video.controller.delegate.ts @@ -201,7 +201,8 @@ export class VideoControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CratedAt : record.CreatedAt, }; } diff --git a/src/api/assets/video/video.validator.ts b/src/api/assets/video/video.validator.ts index 8a2d333..0aef572 100644 --- a/src/api/assets/video/video.validator.ts +++ b/src/api/assets/video/video.validator.ts @@ -56,6 +56,7 @@ export class VideoValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/web.link/web.link.controller.delegate.ts b/src/api/assets/web.link/web.link.controller.delegate.ts index 569191e..77402d5 100644 --- a/src/api/assets/web.link/web.link.controller.delegate.ts +++ b/src/api/assets/web.link/web.link.controller.delegate.ts @@ -199,7 +199,8 @@ export class WebLinkControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/web.link/web.link.validator.ts b/src/api/assets/web.link/web.link.validator.ts index 0c51f11..351df4a 100644 --- a/src/api/assets/web.link/web.link.validator.ts +++ b/src/api/assets/web.link/web.link.validator.ts @@ -56,6 +56,7 @@ export class WebLinkValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts b/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts index 2928c94..e6810e5 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts @@ -199,7 +199,8 @@ export class WebNewsfeedControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CreatedAt, }; } diff --git a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts index 8644878..d2ac74c 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts @@ -56,6 +56,7 @@ export class WebNewsfeedValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/api/assets/word.power/word.power.controller.delegate.ts b/src/api/assets/word.power/word.power.controller.delegate.ts index 016d8a7..daae452 100644 --- a/src/api/assets/word.power/word.power.controller.delegate.ts +++ b/src/api/assets/word.power/word.power.controller.delegate.ts @@ -200,7 +200,8 @@ export class WordPowerControllerDelegate { AssetCategory : record.AssetCategory, OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), - Version : record.Version + Version : record.Version, + CreatedAt : record.CratedAt, }; } diff --git a/src/api/assets/word.power/word.power.validator.ts b/src/api/assets/word.power/word.power.validator.ts index be1f028..1e96757 100644 --- a/src/api/assets/word.power/word.power.validator.ts +++ b/src/api/assets/word.power/word.power.validator.ts @@ -56,6 +56,7 @@ export class WordPowerValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), + CreatedAt : joi.number().max(128).optional(), }); return await schema.validateAsync(query); diff --git a/src/domain.types/assets/article.domain.types.ts b/src/domain.types/assets/article.domain.types.ts index 42901d4..3865865 100644 --- a/src/domain.types/assets/article.domain.types.ts +++ b/src/domain.types/assets/article.domain.types.ts @@ -48,6 +48,7 @@ export interface ArticleSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface ArticleSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/assessment.domain.types.ts b/src/domain.types/assets/assessment.domain.types.ts index 4969b46..2b29298 100644 --- a/src/domain.types/assets/assessment.domain.types.ts +++ b/src/domain.types/assets/assessment.domain.types.ts @@ -47,6 +47,7 @@ export interface AssessmentSearchFilters extends BaseSearchFilters { Template ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface AssessmentSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/audio.domain.types.ts b/src/domain.types/assets/audio.domain.types.ts index 297f4a3..bc04a64 100644 --- a/src/domain.types/assets/audio.domain.types.ts +++ b/src/domain.types/assets/audio.domain.types.ts @@ -48,6 +48,7 @@ export interface AudioSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface AudioSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/biometrics.domain.types.ts b/src/domain.types/assets/biometrics.domain.types.ts index 2dae24b..c312730 100644 --- a/src/domain.types/assets/biometrics.domain.types.ts +++ b/src/domain.types/assets/biometrics.domain.types.ts @@ -73,6 +73,7 @@ export interface BiometricsSearchFilters extends BaseSearchFilters { MeasurementUnit ?: string; Tags ?: string; Version ?: string; + CreatedAt ?: Date; } export interface BiometricsSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/challenge.domain.types.ts b/src/domain.types/assets/challenge.domain.types.ts index 5b98ca9..5bdfca4 100644 --- a/src/domain.types/assets/challenge.domain.types.ts +++ b/src/domain.types/assets/challenge.domain.types.ts @@ -43,6 +43,7 @@ export interface ChallengeSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface ChallengeSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/checkup.domain.types.ts b/src/domain.types/assets/checkup.domain.types.ts index e16228a..8d18bd5 100644 --- a/src/domain.types/assets/checkup.domain.types.ts +++ b/src/domain.types/assets/checkup.domain.types.ts @@ -43,6 +43,7 @@ export interface CheckupSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface CheckupSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/consultation.domain.types.ts b/src/domain.types/assets/consultation.domain.types.ts index e636cbb..c7bf641 100644 --- a/src/domain.types/assets/consultation.domain.types.ts +++ b/src/domain.types/assets/consultation.domain.types.ts @@ -59,6 +59,7 @@ export interface ConsultationSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface ConsultationSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/exercise.domain.types.ts b/src/domain.types/assets/exercise.domain.types.ts index 3a8c5bd..e6ef81c 100644 --- a/src/domain.types/assets/exercise.domain.types.ts +++ b/src/domain.types/assets/exercise.domain.types.ts @@ -93,6 +93,7 @@ export interface ExerciseSearchFilters extends BaseSearchFilters { AssetCategory? : string; Tags? : string; Version? : string; + CreatedAt ? : Date; } export interface ExerciseSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/goal.domain.types.ts b/src/domain.types/assets/goal.domain.types.ts index 5a64ae6..387f328 100644 --- a/src/domain.types/assets/goal.domain.types.ts +++ b/src/domain.types/assets/goal.domain.types.ts @@ -43,6 +43,7 @@ export interface GoalSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface GoalSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/infographics.domain.types.ts b/src/domain.types/assets/infographics.domain.types.ts index a04f2f3..0f83dcb 100644 --- a/src/domain.types/assets/infographics.domain.types.ts +++ b/src/domain.types/assets/infographics.domain.types.ts @@ -48,6 +48,7 @@ export interface InfographicsSearchFilters extends BaseSearchFilters { AssetCategory ?: string; Tags ?: string; Version ?: string; + CreatedAt ?: Date; } export interface InfographicsSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/medication.domain.types.ts b/src/domain.types/assets/medication.domain.types.ts index 52fd64e..b687f34 100644 --- a/src/domain.types/assets/medication.domain.types.ts +++ b/src/domain.types/assets/medication.domain.types.ts @@ -43,6 +43,7 @@ export interface MedicationSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface MedicationSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/meditation.domain.types.ts b/src/domain.types/assets/meditation.domain.types.ts index 16a23dc..9ca7e31 100644 --- a/src/domain.types/assets/meditation.domain.types.ts +++ b/src/domain.types/assets/meditation.domain.types.ts @@ -71,6 +71,7 @@ export interface MeditationSearchFilters extends BaseSearchFilters { AssetCategory ?: string; Tags ?: string; Version ?: string; + CreatedAt ?: Date; } export interface MeditationSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/message.domain.types.ts b/src/domain.types/assets/message.domain.types.ts index 0a66079..91dde47 100644 --- a/src/domain.types/assets/message.domain.types.ts +++ b/src/domain.types/assets/message.domain.types.ts @@ -62,6 +62,7 @@ export interface MessageSearchFilters extends BaseSearchFilters { MessageType ? : MessageType; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface MessageSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/nutrition.domain.types.ts b/src/domain.types/assets/nutrition.domain.types.ts index 1fe44ad..9f8be30 100644 --- a/src/domain.types/assets/nutrition.domain.types.ts +++ b/src/domain.types/assets/nutrition.domain.types.ts @@ -43,6 +43,7 @@ export interface NutritionSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface NutritionSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/physiotherapy.domain.types.ts b/src/domain.types/assets/physiotherapy.domain.types.ts index 05d5d4e..7d7d5c5 100644 --- a/src/domain.types/assets/physiotherapy.domain.types.ts +++ b/src/domain.types/assets/physiotherapy.domain.types.ts @@ -47,6 +47,7 @@ export interface PhysiotherapySearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface PhysiotherapySearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/priority.domain.types.ts b/src/domain.types/assets/priority.domain.types.ts index 04c82be..69c6980 100644 --- a/src/domain.types/assets/priority.domain.types.ts +++ b/src/domain.types/assets/priority.domain.types.ts @@ -43,6 +43,7 @@ export interface PrioritySearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface PrioritySearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/reflection.domain.types.ts b/src/domain.types/assets/reflection.domain.types.ts index 637045c..462906f 100644 --- a/src/domain.types/assets/reflection.domain.types.ts +++ b/src/domain.types/assets/reflection.domain.types.ts @@ -43,6 +43,7 @@ export interface ReflectionSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface ReflectionSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/reminder.domain.types.ts b/src/domain.types/assets/reminder.domain.types.ts index b778488..670ab34 100644 --- a/src/domain.types/assets/reminder.domain.types.ts +++ b/src/domain.types/assets/reminder.domain.types.ts @@ -43,6 +43,7 @@ export interface ReminderSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface ReminderSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/video.domain.types.ts b/src/domain.types/assets/video.domain.types.ts index adc0d3e..90dad9e 100644 --- a/src/domain.types/assets/video.domain.types.ts +++ b/src/domain.types/assets/video.domain.types.ts @@ -48,6 +48,7 @@ export interface VideoSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface VideoSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/web.link.domain.types.ts b/src/domain.types/assets/web.link.domain.types.ts index fb45a11..e8a8ad6 100644 --- a/src/domain.types/assets/web.link.domain.types.ts +++ b/src/domain.types/assets/web.link.domain.types.ts @@ -47,6 +47,7 @@ export interface WebLinkSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface WebLinkSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/web.newsfeed.domain.types.ts b/src/domain.types/assets/web.newsfeed.domain.types.ts index 5733356..2a892f4 100644 --- a/src/domain.types/assets/web.newsfeed.domain.types.ts +++ b/src/domain.types/assets/web.newsfeed.domain.types.ts @@ -47,6 +47,7 @@ export interface WebNewsfeedSearchFilters extends BaseSearchFilters { AssetCategory ? : string; Tags ? : string; Version ? : string; + CreatedAt ? : Date; } export interface WebNewsfeedSearchResults extends BaseSearchResults { diff --git a/src/domain.types/assets/word.power.domain.types.ts b/src/domain.types/assets/word.power.domain.types.ts index 16e6467..013aa5a 100644 --- a/src/domain.types/assets/word.power.domain.types.ts +++ b/src/domain.types/assets/word.power.domain.types.ts @@ -47,6 +47,7 @@ export interface WordPowerSearchFilters extends BaseSearchFilters { AssetCategory ?: string; Tags ?: string; Version ?: string; + CreatedAt ?: Date; } export interface WordPowerSearchResults extends BaseSearchResults { From 555884a83c293e96e9ac7eb6ce81ff3cd8816e93 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Mon, 7 Nov 2022 16:52:30 +0530 Subject: [PATCH 077/169] Fixed DNS issue --- .github/workflows/uat-ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/uat-ci-cd.yml b/.github/workflows/uat-ci-cd.yml index 37c7676..8211b85 100644 --- a/.github/workflows/uat-ci-cd.yml +++ b/.github/workflows/uat-ci-cd.yml @@ -121,5 +121,5 @@ jobs: with: url: 'https://reanfoundation.duplocloud.net/subscriptions/${{ secrets.DUPLO_ID }}/UpdateEcsService' method: 'POST' - data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200}' + data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200, "DnsPrfx": ""}' bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} \ No newline at end of file From 2977b5618185eac6ea64602c9a1b41a1fec8b031 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Tue, 8 Nov 2022 13:19:22 +0530 Subject: [PATCH 078/169] Added enrollment stats api --- .../enrollment.controller.delegate.ts | 32 +++++++++- .../enrollment/enrollment.controller.ts | 11 ++++ .../enrollment/enrollment.routes.ts | 1 + .../mappers/enrollment/participant.mapper.ts | 24 +++---- .../enrollment/enrollment.service.ts | 64 +++++++++++++++++-- .../enrollment/enrollment.domain.types.ts | 1 - 6 files changed, 113 insertions(+), 20 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index fde7291..369c1e8 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -31,6 +31,7 @@ import { Logger } from '../../../common/logger'; import { ParticipantService } from '../../../database/repository.services/enrollment/participant.service'; import { CareplanService } from '../../../database/repository.services/careplan/careplan.service'; import { CareplanActivityService } from '../../../database/repository.services/careplan/careplan.activity.service'; +import { ParticipantActivityResponseService } from '../../../database/repository.services/participant.responses/participant.activity.response.service'; /////////////////////////////////////////////////////////////////////////////////////// @@ -48,12 +49,15 @@ export class EnrollmentControllerDelegate { _careplanService: CareplanService = null; + _participantActivityResponseService: ParticipantActivityResponseService = null; + constructor() { this._service = new EnrollmentService(); this._careplanActivityService = new CareplanActivityService(); this._enrollmentTaskService = new EnrollmentTaskService(); this._participantService = new ParticipantService(); this._careplanService = new CareplanService(); + this._participantActivityResponseService = new ParticipantActivityResponseService(); } //#endregion @@ -136,6 +140,15 @@ export class EnrollmentControllerDelegate { }; } + getEnrollmentStats = async (participantId : uuid) => { + const record = await this._service.getEnrollmentStats(participantId); + if (record === null) { + ErrorHandler.throwNotFoundError('Enrollment stats with id ' + participantId.toString() + ' cannot be found!'); + } + // await this._enrollmentTaskService.search(record.participantId); + // await this._participantActivityResponseService.search(record.participantId); + return this.getEnrichedDtoForStat(record); + } /////////////////////////////////////////////////////////////////////////////////////////////// //#region Privates @@ -306,8 +319,9 @@ export class EnrollmentControllerDelegate { WeekOffset : record.WeekOffset, DayOffset : record.DayOffset, ProgressStatus : record.ProgressStatus, - Careplan :record.Careplan, - Participant :record.Participant, + Careplan : record.Careplan, + Participant : record.Participant, + Category : record.Careplan.Catrgory, }; } @@ -334,6 +348,20 @@ export class EnrollmentControllerDelegate { }; } + getEnrichedDtoForStat = (record) => { + if (record == null) { + return null; + } + return { + + TolalTask : record.TolalTask , + FinishedTask : record.FinishedTask, + DelayedTask : record.DelayedTask, + UnservedTask : record.UnservedTask + + }; + } + //#endregion } diff --git a/src/api/enrollment/enrollment/enrollment.controller.ts b/src/api/enrollment/enrollment/enrollment.controller.ts index e152665..8a91e40 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.ts @@ -58,6 +58,17 @@ export class EnrollmentController extends BaseController { } } + getEnrollmentStats = async (request: express.Request, response: express.Response): Promise < void > => { + try { + await this.authorize('Enrollment.GetEnrollmentStats', request, response, false); + const record = await this._delegate.getEnrollmentStats(request.params.participantId); + const message = 'Enrollment stats retrieved successfully!'; + ResponseHandler.success(request, response, message, 200, record); + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + } + update = async (request: express.Request, response: express.Response): Promise < void > => { try { await this.authorize('Enrollment.Update', request, response, false); diff --git a/src/api/enrollment/enrollment/enrollment.routes.ts b/src/api/enrollment/enrollment/enrollment.routes.ts index a2dceb0..d8465f8 100644 --- a/src/api/enrollment/enrollment/enrollment.routes.ts +++ b/src/api/enrollment/enrollment/enrollment.routes.ts @@ -16,6 +16,7 @@ export const register = (app: express.Application): void => { router.post('/', authenticator.authenticateClient, controller.create); router.get('/search', authenticator.authenticateClientOrUser, controller.search); + router.get('/:participantId/stats', authenticator.authenticateClientOrUser, controller.getEnrollmentStats); router.get('/:id', authenticator.authenticateClientOrUser, controller.getById); router.put('/:id', authenticator.authenticateClient, controller.update); router.delete('/:id', authenticator.authenticateClient, controller.delete); diff --git a/src/database/mappers/enrollment/participant.mapper.ts b/src/database/mappers/enrollment/participant.mapper.ts index c111ae2..037a455 100644 --- a/src/database/mappers/enrollment/participant.mapper.ts +++ b/src/database/mappers/enrollment/participant.mapper.ts @@ -11,18 +11,18 @@ export class ParticipantMapper { return null; } const dto: ParticipantDto = { - id : enrollment.id, - DisplayId : enrollment.DisplayId, - Prefix : enrollment.Prefix, - FirstName : enrollment.FirstName, - LastName : enrollment.LastName, - CountryCode : enrollment.CountryCode, - Phone : enrollment.Phone, - Email : enrollment.Email, - ParticipantReferenceId : enrollment.ParticipantReferenceId, - Gender : enrollment.Gender, - BirthDate : enrollment.BirthDate, - Country : enrollment.Country + id : enrollment.id, + DisplayId : enrollment.DisplayId, + Prefix : enrollment.Prefix, + FirstName : enrollment.FirstName, + LastName : enrollment.LastName, + CountryCode : enrollment.CountryCode, + Phone : enrollment.Phone, + Email : enrollment.Email, + ParticipantReferenceId : enrollment.ParticipantReferenceId, + Gender : enrollment.Gender, + BirthDate : enrollment.BirthDate, + Country : enrollment.Country }; return dto; diff --git a/src/database/repository.services/enrollment/enrollment.service.ts b/src/database/repository.services/enrollment/enrollment.service.ts index 2fc6bbe..062d2de 100644 --- a/src/database/repository.services/enrollment/enrollment.service.ts +++ b/src/database/repository.services/enrollment/enrollment.service.ts @@ -15,6 +15,12 @@ import { EnrollmentSearchFilters, EnrollmentSearchResults } from '../../../domain.types/enrollment/enrollment.domain.types'; +import { + ParticipantActivityResponseModel +} from '../../../database/models/participant.responses/participant.activity.response.model'; +import { EnrollmentTaskModel } from '../../../database/models/enrollment/enrollment.task.model'; +import { Op } from "sequelize"; +import { CareplanCategoryModel } from '../../../database/models/careplan/careplan.category.model'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -28,6 +34,11 @@ export class EnrollmentService { Participant = ParticipantModel.Model; + ParticipantActivityResponse = ParticipantActivityResponseModel.Model; + + EnrollmentTask = EnrollmentTaskModel.Model; + + CareplanCatrgory = CareplanCategoryModel.Model; //#endregion //#region Publics @@ -52,7 +63,15 @@ export class EnrollmentService { required : false, as : 'Careplan', //through: { attributes: [] } - }, { + include : [{ + model : this.CareplanCatrgory, + required : false, + as : 'Category', + } + ], + + }, + { model : this.Participant, required : false, as : 'Participant', @@ -61,9 +80,10 @@ export class EnrollmentService { ] }); + console.log("record",record); return record; } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve enrollment!', error); + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve enrollment stats!', error); } } @@ -99,7 +119,6 @@ export class EnrollmentService { OrderedBy : orderByColumn, Items : foundResults.rows, }; - return searchResults; } catch (error) { @@ -138,6 +157,41 @@ export class EnrollmentService { } } + getEnrollmentStats = async (participantId) => { + try { + const totalTasks = await this.EnrollmentTask.findAll({ + where : { + ParticipantId : participantId, + }, + }); + const ongoingTasks = await this.EnrollmentTask.findAll({ + where : { + ParticipantId : participantId, + ScheduledDate : { + [Op.lte] : new Date() + } + }, + }); + + const completedTask = await this.ParticipantActivityResponse.findAll({ + where : { + ParticipantId : participantId, + }, + }); + + const record = { + TolalTask : totalTasks.length, + FinishedTask : completedTask.length, + DelayedTask : (ongoingTasks.length - completedTask.length), + UnservedTask : (totalTasks.length - + ((ongoingTasks.length - completedTask.length) + completedTask.length)) + }; + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve enrollment stats!', error); + } + } + //#endregion //#region Privates @@ -157,7 +211,7 @@ export class EnrollmentService { } const includeCareplanAsCareplan = { model : this.Careplan, - required : false, + required : true, as : 'Careplan', where : {} }; @@ -167,7 +221,7 @@ export class EnrollmentService { search.include.push(includeCareplanAsCareplan); const includeParticipantAsParticipant = { model : this.Participant, - required : false, + required : true, as : 'Participant', where : {} }; diff --git a/src/domain.types/enrollment/enrollment.domain.types.ts b/src/domain.types/enrollment/enrollment.domain.types.ts index d2ee4cc..0215d3f 100644 --- a/src/domain.types/enrollment/enrollment.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.domain.types.ts @@ -1,4 +1,3 @@ -import { CareplanCategoryDto } from "../careplan/careplan.category.domain.types"; import { CareplanDto } from "../careplan/careplan.domain.types"; import { BaseSearchFilters, From 5efe6b7eb2ccd6a3f2c597baeb20fcc83147fa4a Mon Sep 17 00:00:00 2001 From: RupaliD Date: Tue, 8 Nov 2022 17:59:55 +0530 Subject: [PATCH 079/169] Added current week and Total week in enrollment stats pipeline --- .../enrollment.controller.delegate.ts | 6 ++-- .../enrollment/enrollment.service.ts | 28 +++++++++++++++++-- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 369c1e8..b00712e 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -145,8 +145,6 @@ export class EnrollmentControllerDelegate { if (record === null) { ErrorHandler.throwNotFoundError('Enrollment stats with id ' + participantId.toString() + ' cannot be found!'); } - // await this._enrollmentTaskService.search(record.participantId); - // await this._participantActivityResponseService.search(record.participantId); return this.getEnrichedDtoForStat(record); } /////////////////////////////////////////////////////////////////////////////////////////////// @@ -357,7 +355,9 @@ export class EnrollmentControllerDelegate { TolalTask : record.TolalTask , FinishedTask : record.FinishedTask, DelayedTask : record.DelayedTask, - UnservedTask : record.UnservedTask + UnservedTask : record.UnservedTask, + CurrentWeek : record.CurrentWeek, + TotalWeek : record.TotalWeek }; } diff --git a/src/database/repository.services/enrollment/enrollment.service.ts b/src/database/repository.services/enrollment/enrollment.service.ts index 062d2de..b195800 100644 --- a/src/database/repository.services/enrollment/enrollment.service.ts +++ b/src/database/repository.services/enrollment/enrollment.service.ts @@ -80,7 +80,6 @@ export class EnrollmentService { ] }); - console.log("record",record); return record; } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve enrollment stats!', error); @@ -179,12 +178,37 @@ export class EnrollmentService { }, }); + const enrollment = await this.Enrollment.findOne({ + where : { + ParticipantId : participantId, + }, + }); + + //Calculating current week by enrollment start date + const currentDate = new Date(); + const startDate = enrollment.StartDate; + const endDate = enrollment.EndDate; + const days = Math.floor((currentDate.getTime() - startDate.getTime()) / + (24 * 60 * 60 * 1000)); + const currentWeek = Math.ceil(days / 7); + + //Calculating no of week by enrollment start date and end date + + const week = function diff_weeks(startDate:Date, endDate:Date) + { + var diff = (startDate.getTime() - endDate.getTime()) / 1000; + diff /= (60 * 60 * 24 * 7); + return Math.abs(Math.round(diff)); + }; + const totalWeek = (week(startDate, endDate)); const record = { TolalTask : totalTasks.length, FinishedTask : completedTask.length, DelayedTask : (ongoingTasks.length - completedTask.length), UnservedTask : (totalTasks.length - - ((ongoingTasks.length - completedTask.length) + completedTask.length)) + ((ongoingTasks.length - completedTask.length) + completedTask.length)), + CurrentWeek : currentWeek, + TotalWeek : totalWeek }; return record; } catch (error) { From ce90ee14736f46abe2c72e81f44647efe593197e Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Fri, 11 Nov 2022 09:36:59 +0530 Subject: [PATCH 080/169] remove createdAt in validator --- src/api/assets/action.plan/action.plan.validator.ts | 2 +- src/api/assets/animation/animation.validator.ts | 2 +- src/api/assets/appointment/appointment.validator.ts | 3 +-- src/api/assets/article/article.validator.ts | 2 +- src/api/assets/assessment/assessment.validator.ts | 2 +- src/api/assets/audio/audio.validator.ts | 2 +- src/api/assets/biometrics/biometrics.validator.ts | 2 +- src/api/assets/challenge/challenge.validator.ts | 2 +- src/api/assets/checkup/checkup.validator.ts | 2 +- src/api/assets/consultation/consultation.validator.ts | 2 +- src/api/assets/exercise/exercise.validator.ts | 2 +- src/api/assets/goal/goal.validator.ts | 2 +- src/api/assets/infographics/infographics.validator.ts | 2 +- src/api/assets/medication/medication.validator.ts | 2 +- src/api/assets/meditation/meditation.validator.ts | 2 +- src/api/assets/message/message.validator.ts | 2 +- src/api/assets/nutrition/nutrition.validator.ts | 2 +- src/api/assets/physiotherapy/physiotherapy.validator.ts | 2 +- src/api/assets/priority/priority.validator.ts | 2 +- src/api/assets/reflection/reflection.validator.ts | 2 +- src/api/assets/reminder/reminder.validator.ts | 2 +- src/api/assets/video/video.validator.ts | 2 +- src/api/assets/web.link/web.link.validator.ts | 2 +- src/api/assets/web.newsfeed/web.newsfeed.validator.ts | 2 +- src/api/assets/word.power/word.power.validator.ts | 2 +- 25 files changed, 25 insertions(+), 26 deletions(-) diff --git a/src/api/assets/action.plan/action.plan.validator.ts b/src/api/assets/action.plan/action.plan.validator.ts index 43bc1aa..edb1ed9 100644 --- a/src/api/assets/action.plan/action.plan.validator.ts +++ b/src/api/assets/action.plan/action.plan.validator.ts @@ -53,7 +53,7 @@ export class ActionPlanValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/animation/animation.validator.ts b/src/api/assets/animation/animation.validator.ts index d935378..7ea6f41 100644 --- a/src/api/assets/animation/animation.validator.ts +++ b/src/api/assets/animation/animation.validator.ts @@ -56,7 +56,7 @@ export class AnimationValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/appointment/appointment.validator.ts b/src/api/assets/appointment/appointment.validator.ts index 100e2bf..6231b4e 100644 --- a/src/api/assets/appointment/appointment.validator.ts +++ b/src/api/assets/appointment/appointment.validator.ts @@ -56,8 +56,7 @@ export class AppointmentValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), - + }); return await schema.validateAsync(query); diff --git a/src/api/assets/article/article.validator.ts b/src/api/assets/article/article.validator.ts index d3393fe..09853c4 100644 --- a/src/api/assets/article/article.validator.ts +++ b/src/api/assets/article/article.validator.ts @@ -56,7 +56,7 @@ export class ArticleValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/assessment/assessment.validator.ts b/src/api/assets/assessment/assessment.validator.ts index a64e485..f604cbf 100644 --- a/src/api/assets/assessment/assessment.validator.ts +++ b/src/api/assets/assessment/assessment.validator.ts @@ -56,7 +56,7 @@ export class AssessmentValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/audio/audio.validator.ts b/src/api/assets/audio/audio.validator.ts index 5b0a5f8..06a3410 100644 --- a/src/api/assets/audio/audio.validator.ts +++ b/src/api/assets/audio/audio.validator.ts @@ -56,7 +56,7 @@ export class AudioValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/biometrics/biometrics.validator.ts b/src/api/assets/biometrics/biometrics.validator.ts index 39ca09d..5661c3f 100644 --- a/src/api/assets/biometrics/biometrics.validator.ts +++ b/src/api/assets/biometrics/biometrics.validator.ts @@ -59,7 +59,7 @@ export class BiometricsValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/challenge/challenge.validator.ts b/src/api/assets/challenge/challenge.validator.ts index b485599..f8c92a2 100644 --- a/src/api/assets/challenge/challenge.validator.ts +++ b/src/api/assets/challenge/challenge.validator.ts @@ -53,7 +53,7 @@ export class ChallengeValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/checkup/checkup.validator.ts b/src/api/assets/checkup/checkup.validator.ts index 7efe564..0645cfe 100644 --- a/src/api/assets/checkup/checkup.validator.ts +++ b/src/api/assets/checkup/checkup.validator.ts @@ -53,7 +53,7 @@ export class CheckupValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/consultation/consultation.validator.ts b/src/api/assets/consultation/consultation.validator.ts index c15db1e..a6bb14a 100644 --- a/src/api/assets/consultation/consultation.validator.ts +++ b/src/api/assets/consultation/consultation.validator.ts @@ -56,7 +56,7 @@ export class ConsultationValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/exercise/exercise.validator.ts b/src/api/assets/exercise/exercise.validator.ts index 16aceda..6085fd1 100644 --- a/src/api/assets/exercise/exercise.validator.ts +++ b/src/api/assets/exercise/exercise.validator.ts @@ -62,7 +62,7 @@ export class ExerciseValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/goal/goal.validator.ts b/src/api/assets/goal/goal.validator.ts index 6dc3508..6598144 100644 --- a/src/api/assets/goal/goal.validator.ts +++ b/src/api/assets/goal/goal.validator.ts @@ -53,7 +53,7 @@ export class GoalValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/infographics/infographics.validator.ts b/src/api/assets/infographics/infographics.validator.ts index ec7b9a0..c4c7b37 100644 --- a/src/api/assets/infographics/infographics.validator.ts +++ b/src/api/assets/infographics/infographics.validator.ts @@ -56,7 +56,7 @@ export class InfographicsValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/medication/medication.validator.ts b/src/api/assets/medication/medication.validator.ts index 24146ca..82d6ce5 100644 --- a/src/api/assets/medication/medication.validator.ts +++ b/src/api/assets/medication/medication.validator.ts @@ -53,7 +53,7 @@ export class MedicationValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - createdAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/meditation/meditation.validator.ts b/src/api/assets/meditation/meditation.validator.ts index e1deeba..b1ad81a 100644 --- a/src/api/assets/meditation/meditation.validator.ts +++ b/src/api/assets/meditation/meditation.validator.ts @@ -59,7 +59,7 @@ export class MeditationValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/message/message.validator.ts b/src/api/assets/message/message.validator.ts index 38cd93b..82e1b17 100644 --- a/src/api/assets/message/message.validator.ts +++ b/src/api/assets/message/message.validator.ts @@ -58,7 +58,7 @@ export class MessageValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/nutrition/nutrition.validator.ts b/src/api/assets/nutrition/nutrition.validator.ts index 79264e8..1fcee97 100644 --- a/src/api/assets/nutrition/nutrition.validator.ts +++ b/src/api/assets/nutrition/nutrition.validator.ts @@ -53,7 +53,7 @@ export class NutritionValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/physiotherapy/physiotherapy.validator.ts b/src/api/assets/physiotherapy/physiotherapy.validator.ts index b41177d..42a6bd0 100644 --- a/src/api/assets/physiotherapy/physiotherapy.validator.ts +++ b/src/api/assets/physiotherapy/physiotherapy.validator.ts @@ -56,7 +56,7 @@ export class PhysiotherapyValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/priority/priority.validator.ts b/src/api/assets/priority/priority.validator.ts index b9fed59..c4e9920 100644 --- a/src/api/assets/priority/priority.validator.ts +++ b/src/api/assets/priority/priority.validator.ts @@ -53,7 +53,7 @@ export class PriorityValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/reflection/reflection.validator.ts b/src/api/assets/reflection/reflection.validator.ts index c3fd549..cbea2f7 100644 --- a/src/api/assets/reflection/reflection.validator.ts +++ b/src/api/assets/reflection/reflection.validator.ts @@ -53,7 +53,7 @@ export class ReflectionValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/reminder/reminder.validator.ts b/src/api/assets/reminder/reminder.validator.ts index fc84dc1..395b821 100644 --- a/src/api/assets/reminder/reminder.validator.ts +++ b/src/api/assets/reminder/reminder.validator.ts @@ -53,7 +53,7 @@ export class ReminderValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/video/video.validator.ts b/src/api/assets/video/video.validator.ts index 0aef572..f4a14aa 100644 --- a/src/api/assets/video/video.validator.ts +++ b/src/api/assets/video/video.validator.ts @@ -56,7 +56,7 @@ export class VideoValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/web.link/web.link.validator.ts b/src/api/assets/web.link/web.link.validator.ts index 351df4a..3872d5d 100644 --- a/src/api/assets/web.link/web.link.validator.ts +++ b/src/api/assets/web.link/web.link.validator.ts @@ -56,7 +56,7 @@ export class WebLinkValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts index d2ac74c..858b5e1 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts @@ -56,7 +56,7 @@ export class WebNewsfeedValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); diff --git a/src/api/assets/word.power/word.power.validator.ts b/src/api/assets/word.power/word.power.validator.ts index 1e96757..cfa1aa7 100644 --- a/src/api/assets/word.power/word.power.validator.ts +++ b/src/api/assets/word.power/word.power.validator.ts @@ -56,7 +56,7 @@ export class WordPowerValidator { orderBy : joi.string().max(128).optional(), itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - CreatedAt : joi.number().max(128).optional(), + }); return await schema.validateAsync(query); From 4e80a952189ada2841110371d0e8a16b780e0061 Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Fri, 11 Nov 2022 10:13:13 +0530 Subject: [PATCH 081/169] remove CreatedAt in api-client validator --- src/api/api.client/api.client.validator.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/api/api.client/api.client.validator.ts b/src/api/api.client/api.client.validator.ts index e3adfdd..96add75 100644 --- a/src/api/api.client/api.client.validator.ts +++ b/src/api/api.client/api.client.validator.ts @@ -67,7 +67,6 @@ export class ApiClientValidator { countryCode : joi.string().optional(), phone : joi.string().optional(), email : joi.string().email().optional(), - createdAt : joi.string().email().optional(), validFrom : joi.date().iso().optional(), validTill : joi.date().iso().optional(), }); From f5a538ce980035320a2a5fe377c81fccd9e70998 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Wed, 16 Nov 2022 11:06:16 +0530 Subject: [PATCH 082/169] Ststistic api pipeline( incomplete) --- .../consultation/consultation.routes.ts | 2 +- .../statistics.controller.delegate.ts | 50 +++++++ src/api/statistics/statistics.controller.ts | 39 +++++ src/api/statistics/statistics.route.ts | 18 +++ .../statistics/statistics.service.ts | 135 ++++++++++++++++++ src/startup/router.ts | 2 + 6 files changed, 245 insertions(+), 1 deletion(-) create mode 100644 src/api/statistics/statistics.controller.delegate.ts create mode 100644 src/api/statistics/statistics.controller.ts create mode 100644 src/api/statistics/statistics.route.ts create mode 100644 src/database/repository.services/statistics/statistics.service.ts diff --git a/src/api/assets/consultation/consultation.routes.ts b/src/api/assets/consultation/consultation.routes.ts index 6843164..d62014e 100644 --- a/src/api/assets/consultation/consultation.routes.ts +++ b/src/api/assets/consultation/consultation.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/consultations', router); -}; \ No newline at end of file +}; diff --git a/src/api/statistics/statistics.controller.delegate.ts b/src/api/statistics/statistics.controller.delegate.ts new file mode 100644 index 0000000..bedce24 --- /dev/null +++ b/src/api/statistics/statistics.controller.delegate.ts @@ -0,0 +1,50 @@ + +import { StatisticsService } from '../../database/repository.services/statistics/statistics.service'; + +/////////////////////////////////////////////////////////////////////////////////////// + +export class StatisticsControllerDelegate { + + //#region member variables and constructors + + _service: StatisticsService = null; + + constructor() { + this._service = new StatisticsService(); + } + + //#endregion + getDashboardStats = async () => { + var searchResults = await this._service.getDashboardStats(); + // var items = searchResults.Items.map(x => this.getSearchDto(x)); + // searchResults.Items = items; + return searchResults; + } + + /////////////////////////////////////////////////////////////////////////////////////////////// + + //#region Privates + + getSearchDto = (record) => { + if (record == null) { + return null; + } + return { + id : record.id, + EnrollmentId : record.EnrollmentId, + ParticipantId : record.ParticipantId, + CareplanActivityId : record.CareplanActivityId, + AssetId : record.AssetId, + AssetType : record.AssetType, + Asset : record.Asset, + CareplanId : record.CareplanId, + TimeSlot : record.TimeSlot, + ScheduledDate : record.ScheduledDate, + IsRegistrationActivity : record.IsRegistrationActivity + }; + } + + //#endregion + +} +/////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/api/statistics/statistics.controller.ts b/src/api/statistics/statistics.controller.ts new file mode 100644 index 0000000..63fa46e --- /dev/null +++ b/src/api/statistics/statistics.controller.ts @@ -0,0 +1,39 @@ +import express from 'express'; +import { + ResponseHandler +} from '../../common/response.handler'; +import { + StatisticsControllerDelegate +} from './statistics.controller.delegate'; +import { + BaseController +} from '../base.controller'; + +/////////////////////////////////////////////////////////////////////////////////////// + +export class StatisticsController extends BaseController { + + //#region member variables and constructors + + _delegate: StatisticsControllerDelegate = null; + + constructor() { + super(); + + this._delegate = new StatisticsControllerDelegate(); + } + + //#endregion + + getDashboardStats = async (request: express.Request, response: express.Response): Promise < void > => { + try { + await this.authorize('Statistics.Search', request, response, false); + const searchResults = await this._delegate.getDashboardStats(); + const message = 'Statistics records retrieved successfully!'; + ResponseHandler.success(request, response, message, 200, searchResults); + } catch (error) { + ResponseHandler.handleError(request, response, error); + } + } + +} diff --git a/src/api/statistics/statistics.route.ts b/src/api/statistics/statistics.route.ts new file mode 100644 index 0000000..f880366 --- /dev/null +++ b/src/api/statistics/statistics.route.ts @@ -0,0 +1,18 @@ +import express from 'express'; +import { + Loader +} from '../../startup/loader'; +import { StatisticsController } from './statistics.controller'; + +/////////////////////////////////////////////////////////////////////////////////// + +export const register = (app: express.Application): void => { + + const router = express.Router(); + const authenticator = Loader.Authenticator; + const controller = new StatisticsController(); + + router.get('/search', authenticator.authenticateClientOrUser, controller.getDashboardStats); + + app.use('/api/v1/statistics', router); +}; diff --git a/src/database/repository.services/statistics/statistics.service.ts b/src/database/repository.services/statistics/statistics.service.ts new file mode 100644 index 0000000..ae7d167 --- /dev/null +++ b/src/database/repository.services/statistics/statistics.service.ts @@ -0,0 +1,135 @@ +import { + EnrollmentModel +} from '../../models/enrollment/enrollment.model'; +import { + CareplanModel +} from '../../models/careplan/careplan.model'; +import { + ParticipantModel +} from '../../../database/models/enrollment/participant.model'; +import { + ErrorHandler +} from '../../../common/error.handler'; + +import { + ParticipantActivityResponseModel +} from '../../../database/models/participant.responses/participant.activity.response.model'; +import { EnrollmentTaskModel } from '../../../database/models/enrollment/enrollment.task.model'; +import { CareplanCategoryModel } from '../../../database/models/careplan/careplan.category.model'; +import { ApiClientModel } from '../../../database/models/api.client.model'; +import { AssetTypeList } from '../../../domain.types/assets/asset.types'; + +/////////////////////////////////////////////////////////////////////////////////////////////// + +export class StatisticsService { + + //#region Models + + Enrollment = EnrollmentModel.Model; + + Careplan = CareplanModel.Model; + + Participant = ParticipantModel.Model; + + ParticipantActivityResponse = ParticipantActivityResponseModel.Model; + + EnrollmentTask = EnrollmentTaskModel.Model; + + CareplanCatrgory = CareplanCategoryModel.Model; + + ApiClient = ApiClientModel.Model; + //#endregion + + getDashboardStats = async () => { + try { + // for enrollment stats + + const EnrollmentResults = await this.Enrollment.findAndCountAll(); + console.log(`Enrollment = ${JSON.stringify(EnrollmentResults.rows)}`); + + const sortedEnrollments = (EnrollmentResults.rows).sort( + (a, b) => a.CreatedAt.getTime() - b.CreatedAt.getTime(), + ); + + var enrollmentsArray = function getFields(input, field) { + var output = []; + for (var i = 0; i < input.length ; ++i) + output.push(input[i][field]); + return output; + }; + + var retrievedDates = enrollmentsArray((sortedEnrollments), "CreatedAt"); + + var datesAaray = retrievedDates.map((element) => { + var d = new Date(element); + return `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`; + + }); + + console.log(datesAaray); + + var incrementalEnrollmentCount = Array.from( + datesAaray.reduce((date, c) => date.set(c, (date.get(c) || 0) + 1), new Map()), + (([x, y]) => ({ x, y })) + ); + + console.log('Incrementalenrollment',incrementalEnrollmentCount); + + const enrollmentStatistics = { + TotalEnrollments : EnrollmentResults.count, + IncrementalDaily : incrementalEnrollmentCount + }; + + //for careplan stats + + const CareplanResults = await this.Careplan.findAndCountAll(); + + const careplanStatistics = { + TotalCareplans : CareplanResults.count, + + }; + + // for api clients stats + + const ApiClientResults = await this.ApiClient.findAndCountAll(); + + const apiclientStatistics = { + TotalApiClients : ApiClientResults.count, + + }; + + // for assets stats + + const assetTypes = AssetTypeList; + + const assetsStatistics = { + TotalAssets : assetTypes.length, + + }; + + // // for participant stats + const ParticipantsResults = await this.Participant.findAndCountAll(); + + const participantsStatistics = { + TotalParticipants : ParticipantsResults.count, + + }; + + const dashboardStats = { + EnrollmentStatistics : enrollmentStatistics, + CareplanStatistics : careplanStatistics, + ApiclientStatistics : apiclientStatistics, + ParticipantStatistics : participantsStatistics, + AssetsStatistics : assetsStatistics + + }; + + return dashboardStats; + + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to search enrollment records!', error); + } + + } + +} diff --git a/src/startup/router.ts b/src/startup/router.ts index 50e6d64..01ca1f4 100644 --- a/src/startup/router.ts +++ b/src/startup/router.ts @@ -40,6 +40,7 @@ import { register as registerParticipantSelectedGoalRoutes } from "../api/ import { register as registerParticipantSelectedPriorityRoutes } from "../api/participant.responses/participant.selected.priority/participant.selected.priority.routes"; import { register as registerUserRoleRoutes } from "../api/user.role/user.role.routes"; import { register as registerParticipantRoutes } from "../api/enrollment/participant/participant.routes"; +import { register as registerStatisticsRoutes } from "../api/statistics/statistics.route"; //////////////////////////////////////////////////////////////////////////////////// @@ -104,6 +105,7 @@ export class Router { registerParticipantSelectedPriorityRoutes(this._app); registerUserRoleRoutes(this._app); registerParticipantRoutes(this._app); + registerStatisticsRoutes(this._app); resolve(true); From c6ae39f2b7b2cfbf1f2bf15eeffa33494bbc315f Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Mon, 21 Nov 2022 14:36:23 +0530 Subject: [PATCH 083/169] add validTill in enriched Dto and apiClient Dto --- src/database/repository.services/api.client.service.ts | 1 + src/domain.types/api.client.domain.types.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/database/repository.services/api.client.service.ts b/src/database/repository.services/api.client.service.ts index 842c2bd..b69ddd5 100644 --- a/src/database/repository.services/api.client.service.ts +++ b/src/database/repository.services/api.client.service.ts @@ -280,6 +280,7 @@ export class ApiClientService { IsActive : active, CountryCode : client.CountryCode, IsPrivileged : client.IsPrivileged, + ValidTill : client.ValidTill, }; return dto; } diff --git a/src/domain.types/api.client.domain.types.ts b/src/domain.types/api.client.domain.types.ts index 009a509..d54a092 100644 --- a/src/domain.types/api.client.domain.types.ts +++ b/src/domain.types/api.client.domain.types.ts @@ -51,7 +51,7 @@ export interface ApiClientDto { IsPrivileged : boolean; IsActive : boolean; ValidFrom? : Date, - ValidTill? : Date, + ValidTill : Date, } export interface ClientApiKeyDto { From e37eed0e6392f89894e99009460bfe1bdda9d6d0 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Mon, 19 Dec 2022 12:25:00 +0530 Subject: [PATCH 084/169] Changed route from types/asset to types/assets. --- src/api/types/types.routes.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/types/types.routes.ts b/src/api/types/types.routes.ts index 97180a3..f4b47ea 100644 --- a/src/api/types/types.routes.ts +++ b/src/api/types/types.routes.ts @@ -12,7 +12,7 @@ export const register = (app: express.Application): void => { router.get('/roles', controller.getRoleTypes); router.get('/careplan-categories', controller.getCareplanCategories); - router.get('/asset', controller.getAssetTypes); + router.get('/assets', controller.getAssetTypes); app.use('/api/v1/types', router); }; From 666fd359f2d6ff55c65aac5931f3c898ba22fd98 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Mon, 19 Dec 2022 16:26:07 +0530 Subject: [PATCH 085/169] Added getByCode and added checks for missing asset code. --- .../assets/action.plan.service.ts | 22 +++++++++++++++++++ .../assets/animation.service.ts | 22 +++++++++++++++++++ .../assets/appointment.service.ts | 22 +++++++++++++++++++ .../assets/article.service.ts | 22 +++++++++++++++++++ .../assets/assessment.service.ts | 22 +++++++++++++++++++ .../assets/audio.service.ts | 22 +++++++++++++++++++ .../assets/biometrics.service.ts | 22 +++++++++++++++++++ .../assets/challenge.service.ts | 22 +++++++++++++++++++ .../assets/checkup.service.ts | 22 +++++++++++++++++++ .../assets/consultation.service.ts | 22 +++++++++++++++++++ .../assets/exercise.service.ts | 22 +++++++++++++++++++ .../assets/goal.service.ts | 22 +++++++++++++++++++ .../assets/infographics.service.ts | 22 +++++++++++++++++++ .../assets/medication.service.ts | 22 +++++++++++++++++++ .../assets/meditation.service.ts | 22 +++++++++++++++++++ .../assets/message.service.ts | 22 +++++++++++++++++++ .../assets/nutrition.service.ts | 22 +++++++++++++++++++ .../assets/physiotherapy.service.ts | 22 +++++++++++++++++++ .../assets/priority.service.ts | 22 +++++++++++++++++++ .../assets/reflection.service.ts | 22 +++++++++++++++++++ .../assets/reminder.service.ts | 22 +++++++++++++++++++ .../assets/video.service.ts | 22 +++++++++++++++++++ .../assets/web.link.service.ts | 22 +++++++++++++++++++ .../assets/web.newsfeed.service.ts | 22 +++++++++++++++++++ .../assets/word.power.service.ts | 22 +++++++++++++++++++ 25 files changed, 550 insertions(+) diff --git a/src/database/repository.services/assets/action.plan.service.ts b/src/database/repository.services/assets/action.plan.service.ts index 7fea660..475740b 100644 --- a/src/database/repository.services/assets/action.plan.service.ts +++ b/src/database/repository.services/assets/action.plan.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class ActionPlanService { create = async (createModel: ActionPlanCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.ActionPlan.count(); + createModel.AssetCode = 'ActionPlan-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'ActionPlan-' + Helper.generateDisplayId(); + } + } var record = await this.ActionPlan.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class ActionPlanService { } } + getByCode = async (code) => { + try { + const record = await this.ActionPlan.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.ActionPlan.findByPk(id); diff --git a/src/database/repository.services/assets/animation.service.ts b/src/database/repository.services/assets/animation.service.ts index 205db5f..a157b4f 100644 --- a/src/database/repository.services/assets/animation.service.ts +++ b/src/database/repository.services/assets/animation.service.ts @@ -19,6 +19,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -38,6 +39,14 @@ export class AnimationService { create = async (createModel: AnimationCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Animation.count(); + createModel.AssetCode = 'Animation-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Animation-' + Helper.generateDisplayId(); + } + } var record = await this.Animation.create(createModel); return await this.getById(record.id); } catch (error) { @@ -65,6 +74,19 @@ export class AnimationService { } } + getByCode = async (code) => { + try { + const record = await this.Animation.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise => { try { const record = await this.Animation.findByPk(id); diff --git a/src/database/repository.services/assets/appointment.service.ts b/src/database/repository.services/assets/appointment.service.ts index 3dd6288..acf7225 100644 --- a/src/database/repository.services/assets/appointment.service.ts +++ b/src/database/repository.services/assets/appointment.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class AppointmentService { create = async (createModel: AppointmentCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Appointment.count(); + createModel.AssetCode = 'Appointment-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Appointment-' + Helper.generateDisplayId(); + } + } var record = await this.Appointment.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class AppointmentService { } } + getByCode = async (code) => { + try { + const record = await this.Appointment.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Appointment.findByPk(id); diff --git a/src/database/repository.services/assets/article.service.ts b/src/database/repository.services/assets/article.service.ts index 3018a55..920c961 100644 --- a/src/database/repository.services/assets/article.service.ts +++ b/src/database/repository.services/assets/article.service.ts @@ -8,6 +8,7 @@ import { ArticleSearchResults } from '../../../domain.types/assets/article.domain.types'; import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -27,6 +28,14 @@ export class ArticleService { create = async (createModel: ArticleCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Article.count(); + createModel.AssetCode = 'Article-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Article-' + Helper.generateDisplayId(); + } + } var record = await this.Article.create(createModel); return await this.getById(record.id); } catch (error) { @@ -55,6 +64,19 @@ export class ArticleService { } } + getByCode = async (code) => { + try { + const record = await this.Article.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise => { try { const record = await this.Article.findByPk(id); diff --git a/src/database/repository.services/assets/assessment.service.ts b/src/database/repository.services/assets/assessment.service.ts index eae4e6a..13337b8 100644 --- a/src/database/repository.services/assets/assessment.service.ts +++ b/src/database/repository.services/assets/assessment.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class AssessmentService { create = async (createModel: AssessmentCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Assessment.count(); + createModel.AssetCode = 'Assessment-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Assessment-' + Helper.generateDisplayId(); + } + } var record = await this.Assessment.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class AssessmentService { } } + getByCode = async (code) => { + try { + const record = await this.Assessment.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Assessment.findByPk(id); diff --git a/src/database/repository.services/assets/audio.service.ts b/src/database/repository.services/assets/audio.service.ts index 6f1e3ee..84d2e48 100644 --- a/src/database/repository.services/assets/audio.service.ts +++ b/src/database/repository.services/assets/audio.service.ts @@ -19,6 +19,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -38,6 +39,14 @@ export class AudioService { create = async (createModel: AudioCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Audio.count(); + createModel.AssetCode = 'Audio-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Audio-' + Helper.generateDisplayId(); + } + } var record = await this.Audio.create(createModel); return await this.getById(record.id); } catch (error) { @@ -65,6 +74,19 @@ export class AudioService { } } + getByCode = async (code) => { + try { + const record = await this.Audio.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise => { try { const record = await this.Audio.findByPk(id); diff --git a/src/database/repository.services/assets/biometrics.service.ts b/src/database/repository.services/assets/biometrics.service.ts index bf79b7f..f598ac4 100644 --- a/src/database/repository.services/assets/biometrics.service.ts +++ b/src/database/repository.services/assets/biometrics.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class BiometricsService { create = async (createModel: BiometricsCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Biometrics.count(); + createModel.AssetCode = 'Biometrics-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Biometrics-' + Helper.generateDisplayId(); + } + } var record = await this.Biometrics.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class BiometricsService { } } + getByCode = async (code) => { + try { + const record = await this.Biometrics.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Biometrics.findByPk(id); diff --git a/src/database/repository.services/assets/challenge.service.ts b/src/database/repository.services/assets/challenge.service.ts index d97bdc3..53625fe 100644 --- a/src/database/repository.services/assets/challenge.service.ts +++ b/src/database/repository.services/assets/challenge.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class ChallengeService { create = async (createModel: ChallengeCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Challenge.count(); + createModel.AssetCode = 'Challenge-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Challenge-' + Helper.generateDisplayId(); + } + } var record = await this.Challenge.create(createModel); return await this.getById(record.id); } catch (error) { @@ -40,6 +49,19 @@ export class ChallengeService { } } + getByCode = async (code) => { + try { + const record = await this.Challenge.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + getById = async (id) => { try { const record = await this.Challenge.findOne({ diff --git a/src/database/repository.services/assets/checkup.service.ts b/src/database/repository.services/assets/checkup.service.ts index a2af704..fd75404 100644 --- a/src/database/repository.services/assets/checkup.service.ts +++ b/src/database/repository.services/assets/checkup.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class CheckupService { create = async (createModel: CheckupCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Checkup.count(); + createModel.AssetCode = 'Checkup-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Checkup-' + Helper.generateDisplayId(); + } + } var record = await this.Checkup.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class CheckupService { } } + getByCode = async (code) => { + try { + const record = await this.Checkup.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Checkup.findByPk(id); diff --git a/src/database/repository.services/assets/consultation.service.ts b/src/database/repository.services/assets/consultation.service.ts index 585e7d7..2734eb3 100644 --- a/src/database/repository.services/assets/consultation.service.ts +++ b/src/database/repository.services/assets/consultation.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class ConsultationService { create = async (createModel: ConsultationCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Consultation.count(); + createModel.AssetCode = 'Consultation-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Consultation-' + Helper.generateDisplayId(); + } + } var record = await this.Consultation.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class ConsultationService { } } + getByCode = async (code) => { + try { + const record = await this.Consultation.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Consultation.findByPk(id); diff --git a/src/database/repository.services/assets/exercise.service.ts b/src/database/repository.services/assets/exercise.service.ts index c55a53b..960bed3 100644 --- a/src/database/repository.services/assets/exercise.service.ts +++ b/src/database/repository.services/assets/exercise.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class ExerciseService { create = async (createModel: ExerciseCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Exercise.count(); + createModel.AssetCode = 'Exercise-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Exercise-' + Helper.generateDisplayId(); + } + } var record = await this.Exercise.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class ExerciseService { } } + getByCode = async (code) => { + try { + const record = await this.Exercise.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Exercise.findByPk(id); diff --git a/src/database/repository.services/assets/goal.service.ts b/src/database/repository.services/assets/goal.service.ts index 883feb7..9d7d943 100644 --- a/src/database/repository.services/assets/goal.service.ts +++ b/src/database/repository.services/assets/goal.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class GoalService { create = async (createModel: GoalCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Goal.count(); + createModel.AssetCode = 'Goal-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Goal-' + Helper.generateDisplayId(); + } + } var record = await this.Goal.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class GoalService { } } + getByCode = async (code) => { + try { + const record = await this.Goal.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Goal.findByPk(id); diff --git a/src/database/repository.services/assets/infographics.service.ts b/src/database/repository.services/assets/infographics.service.ts index b8fc115..5a11d09 100644 --- a/src/database/repository.services/assets/infographics.service.ts +++ b/src/database/repository.services/assets/infographics.service.ts @@ -19,6 +19,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -38,6 +39,14 @@ export class InfographicsService { create = async (createModel: InfographicsCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Infographics.count(); + createModel.AssetCode = 'Infographics-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Infographics-' + Helper.generateDisplayId(); + } + } var record = await this.Infographics.create(createModel); return await this.getById(record.id); } catch (error) { @@ -65,6 +74,19 @@ export class InfographicsService { } } + getByCode = async (code) => { + try { + const record = await this.Infographics.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise => { try { const record = await this.Infographics.findByPk(id); diff --git a/src/database/repository.services/assets/medication.service.ts b/src/database/repository.services/assets/medication.service.ts index 13cd343..af0800e 100644 --- a/src/database/repository.services/assets/medication.service.ts +++ b/src/database/repository.services/assets/medication.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class MedicationService { create = async (createModel: MedicationCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Medication.count(); + createModel.AssetCode = 'Medication-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Medication-' + Helper.generateDisplayId(); + } + } var record = await this.Medication.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class MedicationService { } } + getByCode = async (code) => { + try { + const record = await this.Medication.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Medication.findByPk(id); diff --git a/src/database/repository.services/assets/meditation.service.ts b/src/database/repository.services/assets/meditation.service.ts index d04004d..6ae5837 100644 --- a/src/database/repository.services/assets/meditation.service.ts +++ b/src/database/repository.services/assets/meditation.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class MeditationService { create = async (createModel: MeditationCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Meditation.count(); + createModel.AssetCode = 'Meditation-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Meditation-' + Helper.generateDisplayId(); + } + } var record = await this.Meditation.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class MeditationService { } } + getByCode = async (code) => { + try { + const record = await this.Meditation.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Meditation.findByPk(id); diff --git a/src/database/repository.services/assets/message.service.ts b/src/database/repository.services/assets/message.service.ts index 3e49677..75d5cd3 100644 --- a/src/database/repository.services/assets/message.service.ts +++ b/src/database/repository.services/assets/message.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class MessageService { create = async (createModel: MessageCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Message.count(); + createModel.AssetCode = 'Message-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Message-' + Helper.generateDisplayId(); + } + } var record = await this.Message.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class MessageService { } } + getByCode = async (code) => { + try { + const record = await this.Message.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Message.findByPk(id); diff --git a/src/database/repository.services/assets/nutrition.service.ts b/src/database/repository.services/assets/nutrition.service.ts index c3b9916..a9dd2c0 100644 --- a/src/database/repository.services/assets/nutrition.service.ts +++ b/src/database/repository.services/assets/nutrition.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class NutritionService { create = async (createModel: NutritionCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Nutrition.count(); + createModel.AssetCode = 'Nutrition-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Nutrition-' + Helper.generateDisplayId(); + } + } var record = await this.Nutrition.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class NutritionService { } } + getByCode = async (code) => { + try { + const record = await this.Nutrition.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Nutrition.findByPk(id); diff --git a/src/database/repository.services/assets/physiotherapy.service.ts b/src/database/repository.services/assets/physiotherapy.service.ts index d06ded9..f02f152 100644 --- a/src/database/repository.services/assets/physiotherapy.service.ts +++ b/src/database/repository.services/assets/physiotherapy.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class PhysiotherapyService { create = async (createModel: PhysiotherapyCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Physiotherapy.count(); + createModel.AssetCode = 'Physiotherapy-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Physiotherapy-' + Helper.generateDisplayId(); + } + } var record = await this.Physiotherapy.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class PhysiotherapyService { } } + getByCode = async (code) => { + try { + const record = await this.Physiotherapy.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Physiotherapy.findByPk(id); diff --git a/src/database/repository.services/assets/priority.service.ts b/src/database/repository.services/assets/priority.service.ts index bd7d55d..ee5dec4 100644 --- a/src/database/repository.services/assets/priority.service.ts +++ b/src/database/repository.services/assets/priority.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class PriorityService { create = async (createModel: PriorityCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Priority.count(); + createModel.AssetCode = 'Priority-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Priority-' + Helper.generateDisplayId(); + } + } var record = await this.Priority.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class PriorityService { } } + getByCode = async (code) => { + try { + const record = await this.Priority.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Priority.findByPk(id); diff --git a/src/database/repository.services/assets/reflection.service.ts b/src/database/repository.services/assets/reflection.service.ts index 495a7fd..f58f883 100644 --- a/src/database/repository.services/assets/reflection.service.ts +++ b/src/database/repository.services/assets/reflection.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class ReflectionService { create = async (createModel: ReflectionCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Reflection.count(); + createModel.AssetCode = 'Reflection-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Reflection-' + Helper.generateDisplayId(); + } + } var record = await this.Reflection.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class ReflectionService { } } + getByCode = async (code) => { + try { + const record = await this.Reflection.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Reflection.findByPk(id); diff --git a/src/database/repository.services/assets/reminder.service.ts b/src/database/repository.services/assets/reminder.service.ts index 9584b64..1a7091c 100644 --- a/src/database/repository.services/assets/reminder.service.ts +++ b/src/database/repository.services/assets/reminder.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class ReminderService { create = async (createModel: ReminderCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Reminder.count(); + createModel.AssetCode = 'Reminder-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Reminder-' + Helper.generateDisplayId(); + } + } var record = await this.Reminder.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class ReminderService { } } + getByCode = async (code) => { + try { + const record = await this.Reminder.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.Reminder.findByPk(id); diff --git a/src/database/repository.services/assets/video.service.ts b/src/database/repository.services/assets/video.service.ts index 19bec63..0159b82 100644 --- a/src/database/repository.services/assets/video.service.ts +++ b/src/database/repository.services/assets/video.service.ts @@ -19,6 +19,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -38,6 +39,14 @@ export class VideoService { create = async (createModel: VideoCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.Video.count(); + createModel.AssetCode = 'Video-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'Video-' + Helper.generateDisplayId(); + } + } var record = await this.Video.create(createModel); return await this.getById(record.id); } catch (error) { @@ -65,6 +74,19 @@ export class VideoService { } } + getByCode = async (code) => { + try { + const record = await this.Video.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise => { try { const record = await this.Video.findByPk(id); diff --git a/src/database/repository.services/assets/web.link.service.ts b/src/database/repository.services/assets/web.link.service.ts index 7e5dc70..7658e45 100644 --- a/src/database/repository.services/assets/web.link.service.ts +++ b/src/database/repository.services/assets/web.link.service.ts @@ -15,6 +15,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -32,6 +33,14 @@ export class WebLinkService { create = async (createModel) => { try { + if (!createModel.AssetCode) { + const count = await this.WebLink.count(); + createModel.AssetCode = 'WebLink-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'WebLink-' + Helper.generateDisplayId(); + } + } var record = await this.WebLink.create(createModel); return await this.getById(record.id); } catch (error) { @@ -52,6 +61,19 @@ export class WebLinkService { } } + getByCode = async (code) => { + try { + const record = await this.WebLink.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.WebLink.findByPk(id); diff --git a/src/database/repository.services/assets/web.newsfeed.service.ts b/src/database/repository.services/assets/web.newsfeed.service.ts index d063871..aaa7aa7 100644 --- a/src/database/repository.services/assets/web.newsfeed.service.ts +++ b/src/database/repository.services/assets/web.newsfeed.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class WebNewsfeedService { create = async (createModel: WebNewsfeedCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.WebNewsfeed.count(); + createModel.AssetCode = 'WebNewsfeed-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'WebNewsfeed-' + Helper.generateDisplayId(); + } + } var record = await this.WebNewsfeed.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class WebNewsfeedService { } } + getByCode = async (code) => { + try { + const record = await this.WebNewsfeed.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.WebNewsfeed.findByPk(id); diff --git a/src/database/repository.services/assets/word.power.service.ts b/src/database/repository.services/assets/word.power.service.ts index d429f18..3879791 100644 --- a/src/database/repository.services/assets/word.power.service.ts +++ b/src/database/repository.services/assets/word.power.service.ts @@ -16,6 +16,7 @@ import { import { Op } from 'sequelize'; +import { Helper } from '../../../common/helper'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -33,6 +34,14 @@ export class WordPowerService { create = async (createModel: WordPowerCreateModel) => { try { + if (!createModel.AssetCode) { + const count = await this.WordPower.count(); + createModel.AssetCode = 'WordPower-' + count.toString(); + const exists = await this.getByCode(createModel.AssetCode); + if (exists) { + createModel.AssetCode = 'WordPower-' + Helper.generateDisplayId(); + } + } var record = await this.WordPower.create(createModel); return await this.getById(record.id); } catch (error) { @@ -53,6 +62,19 @@ export class WordPowerService { } } + getByCode = async (code) => { + try { + const record = await this.WordPower.findOne({ + where : { + AssetCode : code + } + }); + return record; + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); + } + } + exists = async (id): Promise < boolean > => { try { const record = await this.WordPower.findByPk(id); From e2aefb073e8a0b1d235ac31c3f27fe904f565b71 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Mon, 19 Dec 2022 18:58:57 +0530 Subject: [PATCH 086/169] Updated asset validators --- src/api/assets/action.plan/action.plan.validator.ts | 2 +- src/api/assets/animation/animation.validator.ts | 2 +- src/api/assets/assessment/assessment.validator.ts | 2 +- src/api/assets/audio/audio.validator.ts | 2 +- src/api/assets/challenge/challenge.validator.ts | 2 +- src/api/assets/checkup/checkup.validator.ts | 2 +- src/api/assets/goal/goal.validator.ts | 2 +- src/api/assets/infographics/infographics.validator.ts | 2 +- src/api/assets/medication/medication.validator.ts | 2 +- src/api/assets/message/message.validator.ts | 2 +- src/api/assets/nutrition/nutrition.validator.ts | 2 +- src/api/assets/priority/priority.validator.ts | 2 +- src/api/assets/reflection/reflection.validator.ts | 2 +- src/api/assets/reminder/reminder.validator.ts | 2 +- src/api/assets/video/video.validator.ts | 2 +- src/api/assets/web.link/web.link.validator.ts | 2 +- src/api/assets/web.newsfeed/web.newsfeed.validator.ts | 2 +- src/database/repository.services/assets/action.plan.service.ts | 2 +- src/database/repository.services/assets/animation.service.ts | 2 +- src/database/repository.services/assets/appointment.service.ts | 2 +- src/database/repository.services/assets/article.service.ts | 2 +- src/database/repository.services/assets/assessment.service.ts | 2 +- src/database/repository.services/assets/audio.service.ts | 2 +- src/database/repository.services/assets/biometrics.service.ts | 2 +- src/database/repository.services/assets/challenge.service.ts | 2 +- src/database/repository.services/assets/checkup.service.ts | 2 +- src/database/repository.services/assets/consultation.service.ts | 2 +- src/database/repository.services/assets/exercise.service.ts | 2 +- src/database/repository.services/assets/goal.service.ts | 2 +- src/database/repository.services/assets/infographics.service.ts | 2 +- src/database/repository.services/assets/medication.service.ts | 2 +- src/database/repository.services/assets/meditation.service.ts | 2 +- src/database/repository.services/assets/message.service.ts | 2 +- src/database/repository.services/assets/nutrition.service.ts | 2 +- .../repository.services/assets/physiotherapy.service.ts | 2 +- src/database/repository.services/assets/priority.service.ts | 2 +- src/database/repository.services/assets/reflection.service.ts | 2 +- src/database/repository.services/assets/reminder.service.ts | 2 +- src/database/repository.services/assets/video.service.ts | 2 +- src/database/repository.services/assets/web.link.service.ts | 2 +- src/database/repository.services/assets/web.newsfeed.service.ts | 2 +- src/database/repository.services/assets/word.power.service.ts | 2 +- 42 files changed, 42 insertions(+), 42 deletions(-) diff --git a/src/api/assets/action.plan/action.plan.validator.ts b/src/api/assets/action.plan/action.plan.validator.ts index 3a1b4a9..f48eea5 100644 --- a/src/api/assets/action.plan/action.plan.validator.ts +++ b/src/api/assets/action.plan/action.plan.validator.ts @@ -10,7 +10,7 @@ export class ActionPlanValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).required(), Description : joi.string().optional(), Tags : joi.array().items(joi.string()).optional(), diff --git a/src/api/assets/animation/animation.validator.ts b/src/api/assets/animation/animation.validator.ts index 9b573ac..e25842d 100644 --- a/src/api/assets/animation/animation.validator.ts +++ b/src/api/assets/animation/animation.validator.ts @@ -10,7 +10,7 @@ export class AnimationValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Transcript : joi.string().optional(), Url : joi.string().optional(), diff --git a/src/api/assets/assessment/assessment.validator.ts b/src/api/assets/assessment/assessment.validator.ts index 4c4d115..375744e 100644 --- a/src/api/assets/assessment/assessment.validator.ts +++ b/src/api/assets/assessment/assessment.validator.ts @@ -10,7 +10,7 @@ export class AssessmentValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Template : joi.string().optional(), diff --git a/src/api/assets/audio/audio.validator.ts b/src/api/assets/audio/audio.validator.ts index 27102fe..24bb6a1 100644 --- a/src/api/assets/audio/audio.validator.ts +++ b/src/api/assets/audio/audio.validator.ts @@ -10,7 +10,7 @@ export class AudioValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Transcript : joi.string().optional(), Url : joi.string().optional(), diff --git a/src/api/assets/challenge/challenge.validator.ts b/src/api/assets/challenge/challenge.validator.ts index c172ce7..c647692 100644 --- a/src/api/assets/challenge/challenge.validator.ts +++ b/src/api/assets/challenge/challenge.validator.ts @@ -10,7 +10,7 @@ export class ChallengeValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Tags : joi.array().items(joi.string()).optional(), diff --git a/src/api/assets/checkup/checkup.validator.ts b/src/api/assets/checkup/checkup.validator.ts index 921e894..43111d9 100644 --- a/src/api/assets/checkup/checkup.validator.ts +++ b/src/api/assets/checkup/checkup.validator.ts @@ -10,7 +10,7 @@ export class CheckupValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Tags : joi.array().items(joi.string()).optional(), diff --git a/src/api/assets/goal/goal.validator.ts b/src/api/assets/goal/goal.validator.ts index 0bfe5d9..babee84 100644 --- a/src/api/assets/goal/goal.validator.ts +++ b/src/api/assets/goal/goal.validator.ts @@ -10,7 +10,7 @@ export class GoalValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Tags : joi.array().items(joi.string()).optional(), diff --git a/src/api/assets/infographics/infographics.validator.ts b/src/api/assets/infographics/infographics.validator.ts index 744928c..6583e59 100644 --- a/src/api/assets/infographics/infographics.validator.ts +++ b/src/api/assets/infographics/infographics.validator.ts @@ -10,7 +10,7 @@ export class InfographicsValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Url : joi.string().optional(), diff --git a/src/api/assets/medication/medication.validator.ts b/src/api/assets/medication/medication.validator.ts index 77f4a5b..2473054 100644 --- a/src/api/assets/medication/medication.validator.ts +++ b/src/api/assets/medication/medication.validator.ts @@ -10,7 +10,7 @@ export class MedicationValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Tags : joi.array().items(joi.string()).optional(), diff --git a/src/api/assets/message/message.validator.ts b/src/api/assets/message/message.validator.ts index 578bb5e..d10ae3f 100644 --- a/src/api/assets/message/message.validator.ts +++ b/src/api/assets/message/message.validator.ts @@ -10,7 +10,7 @@ export class MessageValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().optional(), Description : joi.string().optional(), MessageType : joi.string().valid("Educational", "Status", "Unknown").optional(), diff --git a/src/api/assets/nutrition/nutrition.validator.ts b/src/api/assets/nutrition/nutrition.validator.ts index 571a66d..1209a6a 100644 --- a/src/api/assets/nutrition/nutrition.validator.ts +++ b/src/api/assets/nutrition/nutrition.validator.ts @@ -10,7 +10,7 @@ export class NutritionValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Tags : joi.array().items(joi.string()).optional(), diff --git a/src/api/assets/priority/priority.validator.ts b/src/api/assets/priority/priority.validator.ts index 53d05cf..3343671 100644 --- a/src/api/assets/priority/priority.validator.ts +++ b/src/api/assets/priority/priority.validator.ts @@ -10,7 +10,7 @@ export class PriorityValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Tags : joi.array().items(joi.string()).optional(), diff --git a/src/api/assets/reflection/reflection.validator.ts b/src/api/assets/reflection/reflection.validator.ts index 2b9af38..4bec5a5 100644 --- a/src/api/assets/reflection/reflection.validator.ts +++ b/src/api/assets/reflection/reflection.validator.ts @@ -10,7 +10,7 @@ export class ReflectionValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Tags : joi.array().items(joi.string()).optional(), diff --git a/src/api/assets/reminder/reminder.validator.ts b/src/api/assets/reminder/reminder.validator.ts index f1dba77..23bf893 100644 --- a/src/api/assets/reminder/reminder.validator.ts +++ b/src/api/assets/reminder/reminder.validator.ts @@ -10,7 +10,7 @@ export class ReminderValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Tags : joi.array().items(joi.string()).optional(), diff --git a/src/api/assets/video/video.validator.ts b/src/api/assets/video/video.validator.ts index 8a2d333..9c68255 100644 --- a/src/api/assets/video/video.validator.ts +++ b/src/api/assets/video/video.validator.ts @@ -10,7 +10,7 @@ export class VideoValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Transcript : joi.string().optional(), Url : joi.string().optional(), diff --git a/src/api/assets/web.link/web.link.validator.ts b/src/api/assets/web.link/web.link.validator.ts index 0c51f11..19bf40c 100644 --- a/src/api/assets/web.link/web.link.validator.ts +++ b/src/api/assets/web.link/web.link.validator.ts @@ -10,7 +10,7 @@ export class WebLinkValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Url : joi.string().optional(), diff --git a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts index 8644878..665b862 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts @@ -10,7 +10,7 @@ export class WebNewsfeedValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), + AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), Description : joi.string().optional(), Url : joi.string().optional(), diff --git a/src/database/repository.services/assets/action.plan.service.ts b/src/database/repository.services/assets/action.plan.service.ts index 475740b..6f58c5d 100644 --- a/src/database/repository.services/assets/action.plan.service.ts +++ b/src/database/repository.services/assets/action.plan.service.ts @@ -35,7 +35,7 @@ export class ActionPlanService { create = async (createModel: ActionPlanCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.ActionPlan.count(); + const count = await this.ActionPlan.count() + 1; createModel.AssetCode = 'ActionPlan-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/animation.service.ts b/src/database/repository.services/assets/animation.service.ts index a157b4f..144a321 100644 --- a/src/database/repository.services/assets/animation.service.ts +++ b/src/database/repository.services/assets/animation.service.ts @@ -40,7 +40,7 @@ export class AnimationService { create = async (createModel: AnimationCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Animation.count(); + const count = await this.Animation.count() + 1; createModel.AssetCode = 'Animation-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/appointment.service.ts b/src/database/repository.services/assets/appointment.service.ts index acf7225..c40cae0 100644 --- a/src/database/repository.services/assets/appointment.service.ts +++ b/src/database/repository.services/assets/appointment.service.ts @@ -35,7 +35,7 @@ export class AppointmentService { create = async (createModel: AppointmentCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Appointment.count(); + const count = await this.Appointment.count() + 1; createModel.AssetCode = 'Appointment-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/article.service.ts b/src/database/repository.services/assets/article.service.ts index 920c961..6d1861a 100644 --- a/src/database/repository.services/assets/article.service.ts +++ b/src/database/repository.services/assets/article.service.ts @@ -29,7 +29,7 @@ export class ArticleService { create = async (createModel: ArticleCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Article.count(); + const count = await this.Article.count() + 1; createModel.AssetCode = 'Article-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/assessment.service.ts b/src/database/repository.services/assets/assessment.service.ts index 13337b8..cef046d 100644 --- a/src/database/repository.services/assets/assessment.service.ts +++ b/src/database/repository.services/assets/assessment.service.ts @@ -35,7 +35,7 @@ export class AssessmentService { create = async (createModel: AssessmentCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Assessment.count(); + const count = await this.Assessment.count() + 1; createModel.AssetCode = 'Assessment-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/audio.service.ts b/src/database/repository.services/assets/audio.service.ts index 84d2e48..c8e7b9d 100644 --- a/src/database/repository.services/assets/audio.service.ts +++ b/src/database/repository.services/assets/audio.service.ts @@ -40,7 +40,7 @@ export class AudioService { create = async (createModel: AudioCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Audio.count(); + const count = await this.Audio.count() + 1; createModel.AssetCode = 'Audio-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/biometrics.service.ts b/src/database/repository.services/assets/biometrics.service.ts index f598ac4..70de11f 100644 --- a/src/database/repository.services/assets/biometrics.service.ts +++ b/src/database/repository.services/assets/biometrics.service.ts @@ -35,7 +35,7 @@ export class BiometricsService { create = async (createModel: BiometricsCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Biometrics.count(); + const count = await this.Biometrics.count() + 1; createModel.AssetCode = 'Biometrics-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/challenge.service.ts b/src/database/repository.services/assets/challenge.service.ts index 53625fe..f207877 100644 --- a/src/database/repository.services/assets/challenge.service.ts +++ b/src/database/repository.services/assets/challenge.service.ts @@ -35,7 +35,7 @@ export class ChallengeService { create = async (createModel: ChallengeCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Challenge.count(); + const count = await this.Challenge.count() + 1; createModel.AssetCode = 'Challenge-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/checkup.service.ts b/src/database/repository.services/assets/checkup.service.ts index fd75404..ccdab9f 100644 --- a/src/database/repository.services/assets/checkup.service.ts +++ b/src/database/repository.services/assets/checkup.service.ts @@ -35,7 +35,7 @@ export class CheckupService { create = async (createModel: CheckupCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Checkup.count(); + const count = await this.Checkup.count() + 1; createModel.AssetCode = 'Checkup-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/consultation.service.ts b/src/database/repository.services/assets/consultation.service.ts index 2734eb3..91beeea 100644 --- a/src/database/repository.services/assets/consultation.service.ts +++ b/src/database/repository.services/assets/consultation.service.ts @@ -35,7 +35,7 @@ export class ConsultationService { create = async (createModel: ConsultationCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Consultation.count(); + const count = await this.Consultation.count() + 1; createModel.AssetCode = 'Consultation-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/exercise.service.ts b/src/database/repository.services/assets/exercise.service.ts index 960bed3..3b112f7 100644 --- a/src/database/repository.services/assets/exercise.service.ts +++ b/src/database/repository.services/assets/exercise.service.ts @@ -35,7 +35,7 @@ export class ExerciseService { create = async (createModel: ExerciseCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Exercise.count(); + const count = await this.Exercise.count() + 1; createModel.AssetCode = 'Exercise-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/goal.service.ts b/src/database/repository.services/assets/goal.service.ts index 9d7d943..9f93dd2 100644 --- a/src/database/repository.services/assets/goal.service.ts +++ b/src/database/repository.services/assets/goal.service.ts @@ -35,7 +35,7 @@ export class GoalService { create = async (createModel: GoalCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Goal.count(); + const count = await this.Goal.count() + 1; createModel.AssetCode = 'Goal-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/infographics.service.ts b/src/database/repository.services/assets/infographics.service.ts index 5a11d09..111a0a8 100644 --- a/src/database/repository.services/assets/infographics.service.ts +++ b/src/database/repository.services/assets/infographics.service.ts @@ -40,7 +40,7 @@ export class InfographicsService { create = async (createModel: InfographicsCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Infographics.count(); + const count = await this.Infographics.count() + 1; createModel.AssetCode = 'Infographics-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/medication.service.ts b/src/database/repository.services/assets/medication.service.ts index af0800e..318e7c3 100644 --- a/src/database/repository.services/assets/medication.service.ts +++ b/src/database/repository.services/assets/medication.service.ts @@ -35,7 +35,7 @@ export class MedicationService { create = async (createModel: MedicationCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Medication.count(); + const count = await this.Medication.count() + 1; createModel.AssetCode = 'Medication-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/meditation.service.ts b/src/database/repository.services/assets/meditation.service.ts index 6ae5837..913cf99 100644 --- a/src/database/repository.services/assets/meditation.service.ts +++ b/src/database/repository.services/assets/meditation.service.ts @@ -35,7 +35,7 @@ export class MeditationService { create = async (createModel: MeditationCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Meditation.count(); + const count = await this.Meditation.count() + 1; createModel.AssetCode = 'Meditation-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/message.service.ts b/src/database/repository.services/assets/message.service.ts index 75d5cd3..15b1512 100644 --- a/src/database/repository.services/assets/message.service.ts +++ b/src/database/repository.services/assets/message.service.ts @@ -35,7 +35,7 @@ export class MessageService { create = async (createModel: MessageCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Message.count(); + const count = await this.Message.count() + 1; createModel.AssetCode = 'Message-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/nutrition.service.ts b/src/database/repository.services/assets/nutrition.service.ts index a9dd2c0..d5b91e0 100644 --- a/src/database/repository.services/assets/nutrition.service.ts +++ b/src/database/repository.services/assets/nutrition.service.ts @@ -35,7 +35,7 @@ export class NutritionService { create = async (createModel: NutritionCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Nutrition.count(); + const count = await this.Nutrition.count() + 1; createModel.AssetCode = 'Nutrition-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/physiotherapy.service.ts b/src/database/repository.services/assets/physiotherapy.service.ts index f02f152..71a7761 100644 --- a/src/database/repository.services/assets/physiotherapy.service.ts +++ b/src/database/repository.services/assets/physiotherapy.service.ts @@ -35,7 +35,7 @@ export class PhysiotherapyService { create = async (createModel: PhysiotherapyCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Physiotherapy.count(); + const count = await this.Physiotherapy.count() + 1; createModel.AssetCode = 'Physiotherapy-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/priority.service.ts b/src/database/repository.services/assets/priority.service.ts index ee5dec4..a362cad 100644 --- a/src/database/repository.services/assets/priority.service.ts +++ b/src/database/repository.services/assets/priority.service.ts @@ -35,7 +35,7 @@ export class PriorityService { create = async (createModel: PriorityCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Priority.count(); + const count = await this.Priority.count() + 1; createModel.AssetCode = 'Priority-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/reflection.service.ts b/src/database/repository.services/assets/reflection.service.ts index f58f883..8a85335 100644 --- a/src/database/repository.services/assets/reflection.service.ts +++ b/src/database/repository.services/assets/reflection.service.ts @@ -35,7 +35,7 @@ export class ReflectionService { create = async (createModel: ReflectionCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Reflection.count(); + const count = await this.Reflection.count() + 1; createModel.AssetCode = 'Reflection-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/reminder.service.ts b/src/database/repository.services/assets/reminder.service.ts index 1a7091c..c3cf79e 100644 --- a/src/database/repository.services/assets/reminder.service.ts +++ b/src/database/repository.services/assets/reminder.service.ts @@ -35,7 +35,7 @@ export class ReminderService { create = async (createModel: ReminderCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Reminder.count(); + const count = await this.Reminder.count() + 1; createModel.AssetCode = 'Reminder-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/video.service.ts b/src/database/repository.services/assets/video.service.ts index 0159b82..5eaa113 100644 --- a/src/database/repository.services/assets/video.service.ts +++ b/src/database/repository.services/assets/video.service.ts @@ -40,7 +40,7 @@ export class VideoService { create = async (createModel: VideoCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.Video.count(); + const count = await this.Video.count() + 1; createModel.AssetCode = 'Video-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/web.link.service.ts b/src/database/repository.services/assets/web.link.service.ts index 7658e45..5d7559b 100644 --- a/src/database/repository.services/assets/web.link.service.ts +++ b/src/database/repository.services/assets/web.link.service.ts @@ -34,7 +34,7 @@ export class WebLinkService { create = async (createModel) => { try { if (!createModel.AssetCode) { - const count = await this.WebLink.count(); + const count = await this.WebLink.count() + 1; createModel.AssetCode = 'WebLink-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/web.newsfeed.service.ts b/src/database/repository.services/assets/web.newsfeed.service.ts index aaa7aa7..d386ab2 100644 --- a/src/database/repository.services/assets/web.newsfeed.service.ts +++ b/src/database/repository.services/assets/web.newsfeed.service.ts @@ -35,7 +35,7 @@ export class WebNewsfeedService { create = async (createModel: WebNewsfeedCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.WebNewsfeed.count(); + const count = await this.WebNewsfeed.count() + 1; createModel.AssetCode = 'WebNewsfeed-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { diff --git a/src/database/repository.services/assets/word.power.service.ts b/src/database/repository.services/assets/word.power.service.ts index 3879791..78cea2c 100644 --- a/src/database/repository.services/assets/word.power.service.ts +++ b/src/database/repository.services/assets/word.power.service.ts @@ -35,7 +35,7 @@ export class WordPowerService { create = async (createModel: WordPowerCreateModel) => { try { if (!createModel.AssetCode) { - const count = await this.WordPower.count(); + const count = await this.WordPower.count() + 1; createModel.AssetCode = 'WordPower-' + count.toString(); const exists = await this.getByCode(createModel.AssetCode); if (exists) { From 9d13d24670e3a0985884f197e6b6870d88600c6a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 23 Dec 2022 03:09:17 +0000 Subject: [PATCH 087/169] Bump jsonwebtoken from 8.5.1 to 9.0.0 Bumps [jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) from 8.5.1 to 9.0.0. - [Release notes](https://github.com/auth0/node-jsonwebtoken/releases) - [Changelog](https://github.com/auth0/node-jsonwebtoken/blob/master/CHANGELOG.md) - [Commits](https://github.com/auth0/node-jsonwebtoken/compare/v8.5.1...v9.0.0) --- updated-dependencies: - dependency-name: jsonwebtoken dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- package-lock.json | 182 +++++++++++++++++++++++++++++++--------------- package.json | 2 +- 2 files changed, 125 insertions(+), 59 deletions(-) diff --git a/package-lock.json b/package-lock.json index a091811..49e4399 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "googleapis": "^95.0.0", "helmet": "^5.0.2", "joi": "^17.6.0", - "jsonwebtoken": "^8.5.1", + "jsonwebtoken": "^9.0.0", "mime-types": "^2.1.34", "mysql2": "^2.2.5", "needle": "^3.0.0", @@ -6462,24 +6462,18 @@ } }, "node_modules/jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", + "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", "dependencies": { "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", + "lodash": "^4.17.21", "ms": "^2.1.1", - "semver": "^5.6.0" + "semver": "^7.3.8" }, "engines": { - "node": ">=4", - "npm": ">=1.4.28" + "node": ">=12", + "npm": ">=6" } }, "node_modules/jsonwebtoken/node_modules/jwa": { @@ -6501,14 +6495,6 @@ "safe-buffer": "^5.0.1" } }, - "node_modules/jsonwebtoken/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, "node_modules/jwa": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", @@ -6586,32 +6572,32 @@ "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "node_modules/lodash.memoize": { "version": "4.1.2", @@ -6628,7 +6614,7 @@ "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "node_modules/lodash.truncate": { "version": "4.4.2", @@ -8049,9 +8035,9 @@ "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -9030,6 +9016,54 @@ "node": ">=6.0" } }, + "node_modules/twilio/node_modules/jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=4", + "npm": ">=1.4.28" + } + }, + "node_modules/twilio/node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/twilio/node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/twilio/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -14605,20 +14639,14 @@ "dev": true }, "jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", + "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", "requires": { "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", + "lodash": "^4.17.21", "ms": "^2.1.1", - "semver": "^5.6.0" + "semver": "^7.3.8" }, "dependencies": { "jwa": { @@ -14639,11 +14667,6 @@ "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, @@ -14712,32 +14735,32 @@ "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "lodash.memoize": { "version": "4.1.2", @@ -14754,7 +14777,7 @@ "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "lodash.truncate": { "version": "4.4.2", @@ -15800,9 +15823,9 @@ "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "requires": { "lru-cache": "^6.0.0" } @@ -16497,6 +16520,49 @@ "scmp": "^2.1.0", "url-parse": "^1.5.9", "xmlbuilder": "^13.0.2" + }, + "dependencies": { + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "type-check": { diff --git a/package.json b/package.json index 1a07b6a..086607d 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "googleapis": "^95.0.0", "helmet": "^5.0.2", "joi": "^17.6.0", - "jsonwebtoken": "^8.5.1", + "jsonwebtoken": "^9.0.0", "mime-types": "^2.1.34", "mysql2": "^2.2.5", "needle": "^3.0.0", From e6d3cc62513152e53c9e431d582aecd5db661b84 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Fri, 30 Dec 2022 15:51:35 +0530 Subject: [PATCH 088/169] Updated node version to 18.12 --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3ef8066..8bdfdba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16.14.0-alpine3.15 AS builder +FROM node:18.12.0-alpine3.15 AS builder ADD . /app RUN apk add bash RUN apk add --no-cache \ @@ -19,7 +19,7 @@ RUN npm run build # RUN npm run build -FROM node:16.14.0-alpine3.15 +FROM node:18.12.0-alpine3.15 RUN apk add bash RUN apk add --no-cache \ python3 \ From b05717464f16f8ed44416eeb174a1533d01f3c31 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 03:05:24 +0000 Subject: [PATCH 089/169] Bump json5 from 2.2.1 to 2.2.3 Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index a091811..75153fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6450,9 +6450,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -8936,9 +8936,9 @@ } }, "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -14599,9 +14599,9 @@ "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "jsonwebtoken": { @@ -16420,9 +16420,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" From a1ea88a1b50f2f7be4f347bb5fcd102a27a07d9a Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Wed, 4 Jan 2023 19:41:43 +0530 Subject: [PATCH 090/169] Fixed issues with api client search --- src/api/api.client/api.client.validator.ts | 12 +++++++++--- .../repository.services/api.client.service.ts | 4 +++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/api/api.client/api.client.validator.ts b/src/api/api.client/api.client.validator.ts index 96add75..5fd0aa5 100644 --- a/src/api/api.client/api.client.validator.ts +++ b/src/api/api.client/api.client.validator.ts @@ -59,16 +59,22 @@ export class ApiClientValidator { try { const schema = joi.object({ clientName : joi.string().max(256).optional(), - FirstName : joi.string().max(256).optional(), - LastName : joi.string().max(256).optional(), + firstName : joi.string().max(256).optional(), + lastName : joi.string().max(256).optional(), clientCode : joi.string().max(256).optional(), clientInterfaceType : joi.string().valid('Mobile App', 'Web App', 'Desktop App', 'Other').optional(), isPrivileged : joi.boolean().optional(), countryCode : joi.string().optional(), phone : joi.string().optional(), - email : joi.string().email().optional(), + email : joi.string().optional(), validFrom : joi.date().iso().optional(), validTill : joi.date().iso().optional(), + pageIndex : joi.number().min(0).optional(), + itemsPerPage : joi.number().min(1).optional(), + orderBy : joi.string().max(256).optional(), + order : joi.string().valid('ascending', 'descending') + .optional() + .error(()=> new Error("order param: 'ascending' and 'descending' are the only valid values.")), }); return await schema.validateAsync(query); } catch (error) { diff --git a/src/database/repository.services/api.client.service.ts b/src/database/repository.services/api.client.service.ts index b69ddd5..9fc04b5 100644 --- a/src/database/repository.services/api.client.service.ts +++ b/src/database/repository.services/api.client.service.ts @@ -329,7 +329,9 @@ export class ApiClientService { search.where['Phone'] = filters.Phone; } if (filters.Email) { - search.where['Email'] = filters.Email; + search.where['Email'] = { + [Op.like] : '%' + filters.Email + '%' + }; } if (filters.ValidFrom) { search.where['ValidFrom'] = filters.ValidFrom; From 02d0606a74e394a2fa329af5d1fd90dd3b954bbe Mon Sep 17 00:00:00 2001 From: RupaliD Date: Fri, 6 Jan 2023 17:33:41 +0530 Subject: [PATCH 091/169] Added pageIndex, itemsPerPage, orderBy and order in careplan validator --- src/api/careplan/careplan/careplan.validator.ts | 7 ++++++- .../repository.services/careplan/careplan.service.ts | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/api/careplan/careplan/careplan.validator.ts b/src/api/careplan/careplan/careplan.validator.ts index 29591ca..22c2bca 100644 --- a/src/api/careplan/careplan/careplan.validator.ts +++ b/src/api/careplan/careplan/careplan.validator.ts @@ -40,7 +40,12 @@ export class CareplanValidator { ownerUserId : joi.string().guid({ version : ['uuidv4'] }).optional(), - isActive : joi.boolean().optional() + isActive : joi.boolean().optional(), + pageIndex : joi.number().min(0).optional(), + itemsPerPage : joi.number().min(1).optional(), + orderBy : joi.string().max(256).optional(), + order : joi.string().valid('ascending', 'descending').optional() + .error(()=> new Error("order param: 'ascending' and 'descending' are the only valid values.")), }); return await schema.validateAsync(query); diff --git a/src/database/repository.services/careplan/careplan.service.ts b/src/database/repository.services/careplan/careplan.service.ts index 6b96987..35d67ea 100644 --- a/src/database/repository.services/careplan/careplan.service.ts +++ b/src/database/repository.services/careplan/careplan.service.ts @@ -5,6 +5,7 @@ import { ErrorHandler } from '../../../common/error.handler'; import { CareplanCreateModel } from '../../../domain.types/careplan/careplan.domain.types'; import { CareplanDto, CareplanSearchFilters, CareplanSearchResults } from '../../../domain.types/careplan/careplan.domain.types'; import { uuid } from '../../../domain.types/miscellaneous/system.types'; +import { Op } from 'sequelize'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -79,7 +80,10 @@ export class CareplanService { search.where['CategoryId'] = filters.CategoryId; } if (filters.Name) { - search.where['Name'] = filters.Name; + search.where['Name'] = + { + [Op.like] : '%' + filters.Name + '%' + }; } if (filters.Version) { search.where['Version'] = filters.Version; From 28aa3598fdc0050fa692c28c3ad4c2ab755d90da Mon Sep 17 00:00:00 2001 From: RupaliD Date: Tue, 10 Jan 2023 15:22:12 +0530 Subject: [PATCH 092/169] Added careplan code into careplan activity dto --- .../careplan.activity/careplan.activity.controller.delegate.ts | 3 ++- src/database/mappers/careplan/careplan.activity.mapper.ts | 1 + .../repository.services/careplan/careplan.activity.service.ts | 2 +- src/domain.types/careplan/careplan.activity.domain.types.ts | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts index f487be9..2ae9bbd 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts @@ -192,7 +192,8 @@ export class CareplanActivityControllerDelegate { Asset : record.Asset, Day : record.Day, TimeSlot : record.TimeSlot, - IsRegistrationActivity : record.IsRegistrationActivity + IsRegistrationActivity : record.IsRegistrationActivity, + Code : record.Careplan.Code }; } diff --git a/src/database/mappers/careplan/careplan.activity.mapper.ts b/src/database/mappers/careplan/careplan.activity.mapper.ts index 3d1d0e1..eed484d 100644 --- a/src/database/mappers/careplan/careplan.activity.mapper.ts +++ b/src/database/mappers/careplan/careplan.activity.mapper.ts @@ -18,6 +18,7 @@ export class CareplanActivityMapper { Day : careplanActivity.Day, TimeSlot : careplanActivity.TimeSlot, IsRegistrationActivity : careplanActivity.IsRegistrationActivity, + Code : [], }; return dto; }; diff --git a/src/database/repository.services/careplan/careplan.activity.service.ts b/src/database/repository.services/careplan/careplan.activity.service.ts index ae88c7f..8a30251 100644 --- a/src/database/repository.services/careplan/careplan.activity.service.ts +++ b/src/database/repository.services/careplan/careplan.activity.service.ts @@ -185,7 +185,7 @@ export class CareplanActivityService { } const includeCareplanAsCareplan = { model : this.Careplan, - required : false, + required : true, as : 'Careplan', where : {} }; diff --git a/src/domain.types/careplan/careplan.activity.domain.types.ts b/src/domain.types/careplan/careplan.activity.domain.types.ts index 76a6f64..95c579d 100644 --- a/src/domain.types/careplan/careplan.activity.domain.types.ts +++ b/src/domain.types/careplan/careplan.activity.domain.types.ts @@ -4,6 +4,7 @@ import { BaseSearchResults } from "../miscellaneous/base.search.types"; import { uuid } from "../miscellaneous/system.types"; +import { CareplanDto } from "./careplan.domain.types"; export interface CareplanActivityCreateModel { AssetId? : uuid; @@ -31,6 +32,7 @@ export interface CareplanActivityDto { Day : number; TimeSlot : TimeSlot; IsRegistrationActivity: boolean; + Code : CareplanDto[]; } export interface CareplanActivitySearchFilters extends BaseSearchFilters { From c2e53e6788ffac130113b2b1337ff9823f07c576 Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Tue, 10 Jan 2023 15:23:13 +0530 Subject: [PATCH 093/169] add careplan in search filter and change allowNull for AssetID Schema --- .../enrollment/enrollment/enrollment.controller.delegate.ts | 4 ++++ src/database/models/careplan/careplan.activity.model.ts | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index b00712e..0783829 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -250,6 +250,10 @@ export class EnrollmentControllerDelegate { if (careplanId != null) { filters['CareplanId'] = careplanId; } + var carePlan = query.carePlan ? query.carePlan : null; + if (carePlan != null) { + filters['CarePlan'] = carePlan; + } var participantId = query.participantId ? query.participantId : null; if (participantId != null) { filters['ParticipantId'] = participantId; diff --git a/src/database/models/careplan/careplan.activity.model.ts b/src/database/models/careplan/careplan.activity.model.ts index 5bc6a12..4584fde 100644 --- a/src/database/models/careplan/careplan.activity.model.ts +++ b/src/database/models/careplan/careplan.activity.model.ts @@ -20,7 +20,7 @@ export class CareplanActivityModel { }, AssetId : { type : DataTypes.UUID, - allowNull : false + allowNull : true }, AssetType : { type : DataTypes.ENUM({ values: AssetTypeList }), From 66940e87f5c83585dad0dc216c37b5212e8826cb Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Tue, 10 Jan 2023 16:58:12 +0530 Subject: [PATCH 094/169] Fixed linting issues --- src/api/assets/action.plan/action.plan.validator.ts | 6 +++--- src/api/assets/animation/animation.validator.ts | 6 +++--- src/api/assets/appointment/appointment.validator.ts | 6 +++--- src/api/assets/article/article.validator.ts | 6 +++--- src/api/assets/assessment/assessment.validator.ts | 6 +++--- src/api/assets/audio/audio.validator.ts | 6 +++--- src/api/assets/biometrics/biometrics.validator.ts | 6 +++--- src/api/assets/challenge/challenge.validator.ts | 6 +++--- src/api/assets/checkup/checkup.validator.ts | 6 +++--- src/api/assets/consultation/consultation.validator.ts | 6 +++--- src/api/assets/exercise/exercise.validator.ts | 6 +++--- src/api/assets/goal/goal.validator.ts | 6 +++--- src/api/assets/infographics/infographics.validator.ts | 6 +++--- src/api/assets/medication/medication.validator.ts | 6 +++--- src/api/assets/meditation/meditation.validator.ts | 6 +++--- src/api/assets/message/message.validator.ts | 6 +++--- src/api/assets/nutrition/nutrition.validator.ts | 6 +++--- src/api/assets/physiotherapy/physiotherapy.validator.ts | 6 +++--- src/api/assets/priority/priority.validator.ts | 6 +++--- src/api/assets/reflection/reflection.validator.ts | 6 +++--- src/api/assets/reminder/reminder.validator.ts | 6 +++--- src/api/assets/video/video.validator.ts | 6 +++--- src/api/assets/web.link/web.link.validator.ts | 6 +++--- src/api/assets/web.newsfeed/web.newsfeed.validator.ts | 6 +++--- src/api/assets/word.power/word.power.validator.ts | 6 +++--- 25 files changed, 75 insertions(+), 75 deletions(-) diff --git a/src/api/assets/action.plan/action.plan.validator.ts b/src/api/assets/action.plan/action.plan.validator.ts index f48eea5..e3448ab 100644 --- a/src/api/assets/action.plan/action.plan.validator.ts +++ b/src/api/assets/action.plan/action.plan.validator.ts @@ -23,7 +23,7 @@ export class ActionPlanValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -38,7 +38,7 @@ export class ActionPlanValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -60,6 +60,6 @@ export class ActionPlanValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/animation/animation.validator.ts b/src/api/assets/animation/animation.validator.ts index e25842d..9db9caf 100644 --- a/src/api/assets/animation/animation.validator.ts +++ b/src/api/assets/animation/animation.validator.ts @@ -24,7 +24,7 @@ export class AnimationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class AnimationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class AnimationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/appointment/appointment.validator.ts b/src/api/assets/appointment/appointment.validator.ts index 23691e8..51089e7 100644 --- a/src/api/assets/appointment/appointment.validator.ts +++ b/src/api/assets/appointment/appointment.validator.ts @@ -24,7 +24,7 @@ export class AppointmentValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class AppointmentValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class AppointmentValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/article/article.validator.ts b/src/api/assets/article/article.validator.ts index 1b93725..f9ad204 100644 --- a/src/api/assets/article/article.validator.ts +++ b/src/api/assets/article/article.validator.ts @@ -24,7 +24,7 @@ export class ArticleValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class ArticleValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class ArticleValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/assessment/assessment.validator.ts b/src/api/assets/assessment/assessment.validator.ts index 375744e..4f82ae5 100644 --- a/src/api/assets/assessment/assessment.validator.ts +++ b/src/api/assets/assessment/assessment.validator.ts @@ -24,7 +24,7 @@ export class AssessmentValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class AssessmentValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class AssessmentValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/audio/audio.validator.ts b/src/api/assets/audio/audio.validator.ts index 24bb6a1..db20e6e 100644 --- a/src/api/assets/audio/audio.validator.ts +++ b/src/api/assets/audio/audio.validator.ts @@ -24,7 +24,7 @@ export class AudioValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class AudioValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class AudioValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/biometrics/biometrics.validator.ts b/src/api/assets/biometrics/biometrics.validator.ts index 4d12a71..cd33f86 100644 --- a/src/api/assets/biometrics/biometrics.validator.ts +++ b/src/api/assets/biometrics/biometrics.validator.ts @@ -25,7 +25,7 @@ export class BiometricsValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -42,7 +42,7 @@ export class BiometricsValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -65,6 +65,6 @@ export class BiometricsValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/challenge/challenge.validator.ts b/src/api/assets/challenge/challenge.validator.ts index c647692..f96004c 100644 --- a/src/api/assets/challenge/challenge.validator.ts +++ b/src/api/assets/challenge/challenge.validator.ts @@ -23,7 +23,7 @@ export class ChallengeValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -38,7 +38,7 @@ export class ChallengeValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -59,6 +59,6 @@ export class ChallengeValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/checkup/checkup.validator.ts b/src/api/assets/checkup/checkup.validator.ts index 43111d9..e8abfb2 100644 --- a/src/api/assets/checkup/checkup.validator.ts +++ b/src/api/assets/checkup/checkup.validator.ts @@ -23,7 +23,7 @@ export class CheckupValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -38,7 +38,7 @@ export class CheckupValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -59,6 +59,6 @@ export class CheckupValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/consultation/consultation.validator.ts b/src/api/assets/consultation/consultation.validator.ts index 4348e3f..427a71a 100644 --- a/src/api/assets/consultation/consultation.validator.ts +++ b/src/api/assets/consultation/consultation.validator.ts @@ -24,7 +24,7 @@ export class ConsultationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class ConsultationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class ConsultationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/exercise/exercise.validator.ts b/src/api/assets/exercise/exercise.validator.ts index 1478c98..a50c484 100644 --- a/src/api/assets/exercise/exercise.validator.ts +++ b/src/api/assets/exercise/exercise.validator.ts @@ -26,7 +26,7 @@ export class ExerciseValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -44,7 +44,7 @@ export class ExerciseValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -68,6 +68,6 @@ export class ExerciseValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/goal/goal.validator.ts b/src/api/assets/goal/goal.validator.ts index babee84..467b660 100644 --- a/src/api/assets/goal/goal.validator.ts +++ b/src/api/assets/goal/goal.validator.ts @@ -23,7 +23,7 @@ export class GoalValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -38,7 +38,7 @@ export class GoalValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -59,6 +59,6 @@ export class GoalValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/infographics/infographics.validator.ts b/src/api/assets/infographics/infographics.validator.ts index 6583e59..02ff1a7 100644 --- a/src/api/assets/infographics/infographics.validator.ts +++ b/src/api/assets/infographics/infographics.validator.ts @@ -24,7 +24,7 @@ export class InfographicsValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class InfographicsValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class InfographicsValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/medication/medication.validator.ts b/src/api/assets/medication/medication.validator.ts index 2473054..7ec8c13 100644 --- a/src/api/assets/medication/medication.validator.ts +++ b/src/api/assets/medication/medication.validator.ts @@ -23,7 +23,7 @@ export class MedicationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -38,7 +38,7 @@ export class MedicationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -59,6 +59,6 @@ export class MedicationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/meditation/meditation.validator.ts b/src/api/assets/meditation/meditation.validator.ts index 619ce58..5e11002 100644 --- a/src/api/assets/meditation/meditation.validator.ts +++ b/src/api/assets/meditation/meditation.validator.ts @@ -25,7 +25,7 @@ export class MeditationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -42,7 +42,7 @@ export class MeditationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -65,6 +65,6 @@ export class MeditationValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/message/message.validator.ts b/src/api/assets/message/message.validator.ts index d10ae3f..2c50147 100644 --- a/src/api/assets/message/message.validator.ts +++ b/src/api/assets/message/message.validator.ts @@ -25,7 +25,7 @@ export class MessageValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -42,7 +42,7 @@ export class MessageValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -64,6 +64,6 @@ export class MessageValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/nutrition/nutrition.validator.ts b/src/api/assets/nutrition/nutrition.validator.ts index 1209a6a..a9c6b24 100644 --- a/src/api/assets/nutrition/nutrition.validator.ts +++ b/src/api/assets/nutrition/nutrition.validator.ts @@ -23,7 +23,7 @@ export class NutritionValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -38,7 +38,7 @@ export class NutritionValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -59,6 +59,6 @@ export class NutritionValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/physiotherapy/physiotherapy.validator.ts b/src/api/assets/physiotherapy/physiotherapy.validator.ts index 9d10a5e..4518b72 100644 --- a/src/api/assets/physiotherapy/physiotherapy.validator.ts +++ b/src/api/assets/physiotherapy/physiotherapy.validator.ts @@ -24,7 +24,7 @@ export class PhysiotherapyValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class PhysiotherapyValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class PhysiotherapyValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/priority/priority.validator.ts b/src/api/assets/priority/priority.validator.ts index 3343671..1b10271 100644 --- a/src/api/assets/priority/priority.validator.ts +++ b/src/api/assets/priority/priority.validator.ts @@ -23,7 +23,7 @@ export class PriorityValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -38,7 +38,7 @@ export class PriorityValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -59,6 +59,6 @@ export class PriorityValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/reflection/reflection.validator.ts b/src/api/assets/reflection/reflection.validator.ts index 4bec5a5..4bee8a5 100644 --- a/src/api/assets/reflection/reflection.validator.ts +++ b/src/api/assets/reflection/reflection.validator.ts @@ -23,7 +23,7 @@ export class ReflectionValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -38,7 +38,7 @@ export class ReflectionValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -59,6 +59,6 @@ export class ReflectionValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/reminder/reminder.validator.ts b/src/api/assets/reminder/reminder.validator.ts index 23bf893..6ee151e 100644 --- a/src/api/assets/reminder/reminder.validator.ts +++ b/src/api/assets/reminder/reminder.validator.ts @@ -23,7 +23,7 @@ export class ReminderValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -38,7 +38,7 @@ export class ReminderValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -59,6 +59,6 @@ export class ReminderValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/video/video.validator.ts b/src/api/assets/video/video.validator.ts index 9c68255..5cb20c2 100644 --- a/src/api/assets/video/video.validator.ts +++ b/src/api/assets/video/video.validator.ts @@ -24,7 +24,7 @@ export class VideoValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class VideoValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class VideoValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/web.link/web.link.validator.ts b/src/api/assets/web.link/web.link.validator.ts index 19bf40c..c879c51 100644 --- a/src/api/assets/web.link/web.link.validator.ts +++ b/src/api/assets/web.link/web.link.validator.ts @@ -24,7 +24,7 @@ export class WebLinkValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class WebLinkValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class WebLinkValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts index 665b862..d17eaad 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts @@ -24,7 +24,7 @@ export class WebNewsfeedValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class WebNewsfeedValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class WebNewsfeedValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/assets/word.power/word.power.validator.ts b/src/api/assets/word.power/word.power.validator.ts index be1f028..c59f52c 100644 --- a/src/api/assets/word.power/word.power.validator.ts +++ b/src/api/assets/word.power/word.power.validator.ts @@ -24,7 +24,7 @@ export class WordPowerValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class WordPowerValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -62,6 +62,6 @@ export class WordPowerValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } From c3b34b3101355dfc9f6acb9fa0338c15eda8fd6a Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Tue, 10 Jan 2023 17:24:13 +0530 Subject: [PATCH 095/169] Fixed linting issues --- .../assets/action.plan.service.ts | 20 +++++++++---------- .../assets/animation.service.ts | 20 +++++++++---------- .../assets/appointment.service.ts | 20 +++++++++---------- .../assets/article.service.ts | 20 +++++++++---------- .../assets/assessment.service.ts | 20 +++++++++---------- .../assets/asset.helper.ts | 6 +++--- .../assets/audio.service.ts | 20 +++++++++---------- .../assets/biometrics.service.ts | 20 +++++++++---------- .../assets/challenge.service.ts | 20 +++++++++---------- .../assets/checkup.service.ts | 20 +++++++++---------- .../assets/consultation.service.ts | 20 +++++++++---------- .../assets/exercise.service.ts | 20 +++++++++---------- .../assets/goal.service.ts | 20 +++++++++---------- .../assets/infographics.service.ts | 20 +++++++++---------- .../assets/medication.service.ts | 20 +++++++++---------- .../assets/meditation.service.ts | 20 +++++++++---------- .../assets/message.service.ts | 20 +++++++++---------- .../assets/nutrition.service.ts | 20 +++++++++---------- .../assets/physiotherapy.service.ts | 20 +++++++++---------- .../assets/priority.service.ts | 20 +++++++++---------- .../assets/reflection.service.ts | 20 +++++++++---------- .../assets/reminder.service.ts | 20 +++++++++---------- .../assets/video.service.ts | 20 +++++++++---------- .../assets/web.link.service.ts | 20 +++++++++---------- .../assets/web.newsfeed.service.ts | 20 +++++++++---------- .../assets/word.power.service.ts | 20 +++++++++---------- 26 files changed, 253 insertions(+), 253 deletions(-) diff --git a/src/database/repository.services/assets/action.plan.service.ts b/src/database/repository.services/assets/action.plan.service.ts index 6f58c5d..e5f22d0 100644 --- a/src/database/repository.services/assets/action.plan.service.ts +++ b/src/database/repository.services/assets/action.plan.service.ts @@ -47,7 +47,7 @@ export class ActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create action plan!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class ActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class ActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class ActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of action plan!', error); } - } + }; search = async (filters: ActionPlanSearchFilters): Promise < ActionPlanSearchResults > => { try { @@ -113,7 +113,7 @@ export class ActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search action plan records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class ActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update action plan!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class ActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete action plan!', error); } - } + }; //#endregion @@ -189,7 +189,7 @@ export class ActionPlanService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -213,7 +213,7 @@ export class ActionPlanService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -234,7 +234,7 @@ export class ActionPlanService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/animation.service.ts b/src/database/repository.services/assets/animation.service.ts index 144a321..befe93b 100644 --- a/src/database/repository.services/assets/animation.service.ts +++ b/src/database/repository.services/assets/animation.service.ts @@ -52,7 +52,7 @@ export class AnimationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create animation!', error); } - } + }; getById = async (id) => { try { @@ -72,7 +72,7 @@ export class AnimationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve animation!', error); } - } + }; getByCode = async (code) => { try { @@ -85,7 +85,7 @@ export class AnimationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise => { try { @@ -94,7 +94,7 @@ export class AnimationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of animation!', error); } - } + }; search = async (filters: AnimationSearchFilters): Promise => { try { @@ -125,7 +125,7 @@ export class AnimationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search animation records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -143,7 +143,7 @@ export class AnimationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update animation!', error); } - } + }; delete = async (id) => { try { @@ -156,7 +156,7 @@ export class AnimationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete animation!', error); } - } + }; //#endregion @@ -216,7 +216,7 @@ export class AnimationService { search.include.push(includeFileResourceAsFileResource); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -240,7 +240,7 @@ export class AnimationService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -261,7 +261,7 @@ export class AnimationService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/appointment.service.ts b/src/database/repository.services/assets/appointment.service.ts index c40cae0..c0c4dac 100644 --- a/src/database/repository.services/assets/appointment.service.ts +++ b/src/database/repository.services/assets/appointment.service.ts @@ -47,7 +47,7 @@ export class AppointmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create appointment!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class AppointmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve appointment!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class AppointmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class AppointmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of appointment!', error); } - } + }; search = async (filters: AppointmentSearchFilters): Promise < AppointmentSearchResults > => { try { @@ -113,7 +113,7 @@ export class AppointmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search appointment records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class AppointmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update appointment!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class AppointmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete appointment!', error); } - } + }; //#endregion @@ -192,7 +192,7 @@ export class AppointmentService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -216,7 +216,7 @@ export class AppointmentService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -237,7 +237,7 @@ export class AppointmentService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/article.service.ts b/src/database/repository.services/assets/article.service.ts index 6d1861a..53b529b 100644 --- a/src/database/repository.services/assets/article.service.ts +++ b/src/database/repository.services/assets/article.service.ts @@ -41,7 +41,7 @@ export class ArticleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create article!', error); } - } + }; getById = async (id) => { try { @@ -62,7 +62,7 @@ export class ArticleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve article!', error); } - } + }; getByCode = async (code) => { try { @@ -75,7 +75,7 @@ export class ArticleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise => { try { @@ -84,7 +84,7 @@ export class ArticleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of article!', error); } - } + }; search = async (filters: ArticleSearchFilters): Promise => { try { @@ -115,7 +115,7 @@ export class ArticleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search article records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -133,7 +133,7 @@ export class ArticleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update article!', error); } - } + }; delete = async (id) => { try { @@ -146,7 +146,7 @@ export class ArticleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete article!', error); } - } + }; //#endregion @@ -206,7 +206,7 @@ export class ArticleService { search.include.push(includeFileResourceAsFileResource); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -230,7 +230,7 @@ export class ArticleService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -251,7 +251,7 @@ export class ArticleService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/assessment.service.ts b/src/database/repository.services/assets/assessment.service.ts index cef046d..b98276a 100644 --- a/src/database/repository.services/assets/assessment.service.ts +++ b/src/database/repository.services/assets/assessment.service.ts @@ -47,7 +47,7 @@ export class AssessmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create assessment!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class AssessmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve assessment!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class AssessmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class AssessmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of assessment!', error); } - } + }; search = async (filters: AssessmentSearchFilters): Promise < AssessmentSearchResults > => { try { @@ -113,7 +113,7 @@ export class AssessmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search assessment records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class AssessmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update assessment!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class AssessmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete assessment!', error); } - } + }; //#endregion @@ -194,7 +194,7 @@ export class AssessmentService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -218,7 +218,7 @@ export class AssessmentService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -239,7 +239,7 @@ export class AssessmentService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/asset.helper.ts b/src/database/repository.services/assets/asset.helper.ts index 06f24e9..bcdc5e4 100644 --- a/src/database/repository.services/assets/asset.helper.ts +++ b/src/database/repository.services/assets/asset.helper.ts @@ -35,7 +35,7 @@ export class AssetHelper { public static getAsset = async (id: string, assetType: AssetType) => { try { - + switch (assetType) { case AssetType.ActionPlan: { return await ActionPlanModel.Model.findByPk(id); @@ -119,7 +119,7 @@ export class AssetHelper { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; public static generateAssetCode = (displayId: number, assetType: AssetType, assetName: string) => { @@ -155,6 +155,6 @@ export class AssetHelper { return updated; } return record; - } + }; } diff --git a/src/database/repository.services/assets/audio.service.ts b/src/database/repository.services/assets/audio.service.ts index c8e7b9d..de249fb 100644 --- a/src/database/repository.services/assets/audio.service.ts +++ b/src/database/repository.services/assets/audio.service.ts @@ -52,7 +52,7 @@ export class AudioService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create audio!', error); } - } + }; getById = async (id) => { try { @@ -72,7 +72,7 @@ export class AudioService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve audio!', error); } - } + }; getByCode = async (code) => { try { @@ -85,7 +85,7 @@ export class AudioService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise => { try { @@ -94,7 +94,7 @@ export class AudioService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of audio!', error); } - } + }; search = async (filters: AudioSearchFilters): Promise => { try { @@ -125,7 +125,7 @@ export class AudioService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search audio records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -143,7 +143,7 @@ export class AudioService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update audio!', error); } - } + }; delete = async (id) => { try { @@ -156,7 +156,7 @@ export class AudioService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete audio!', error); } - } + }; //#endregion @@ -216,7 +216,7 @@ export class AudioService { search.include.push(includeFileResourceAsFileResource); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -240,7 +240,7 @@ export class AudioService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -261,7 +261,7 @@ export class AudioService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/biometrics.service.ts b/src/database/repository.services/assets/biometrics.service.ts index 70de11f..b3f18f2 100644 --- a/src/database/repository.services/assets/biometrics.service.ts +++ b/src/database/repository.services/assets/biometrics.service.ts @@ -47,7 +47,7 @@ export class BiometricsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create biometrics!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class BiometricsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve biometrics!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class BiometricsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class BiometricsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of biometrics!', error); } - } + }; search = async (filters: BiometricsSearchFilters): Promise < BiometricsSearchResults > => { try { @@ -113,7 +113,7 @@ export class BiometricsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search biometrics records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class BiometricsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update biometrics!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class BiometricsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete biometrics!', error); } - } + }; //#endregion @@ -197,7 +197,7 @@ export class BiometricsService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -221,7 +221,7 @@ export class BiometricsService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -242,7 +242,7 @@ export class BiometricsService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/challenge.service.ts b/src/database/repository.services/assets/challenge.service.ts index f207877..22a1a26 100644 --- a/src/database/repository.services/assets/challenge.service.ts +++ b/src/database/repository.services/assets/challenge.service.ts @@ -47,7 +47,7 @@ export class ChallengeService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create challenge!', error); } - } + }; getByCode = async (code) => { try { @@ -60,7 +60,7 @@ export class ChallengeService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; getById = async (id) => { try { @@ -73,7 +73,7 @@ export class ChallengeService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve challenge!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class ChallengeService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of challenge!', error); } - } + }; search = async (filters: ChallengeSearchFilters): Promise < ChallengeSearchResults > => { try { @@ -113,7 +113,7 @@ export class ChallengeService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search challenge records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class ChallengeService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update challenge!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class ChallengeService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete challenge!', error); } - } + }; //#endregion @@ -189,7 +189,7 @@ export class ChallengeService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -213,7 +213,7 @@ export class ChallengeService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -234,7 +234,7 @@ export class ChallengeService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/checkup.service.ts b/src/database/repository.services/assets/checkup.service.ts index ccdab9f..db355a5 100644 --- a/src/database/repository.services/assets/checkup.service.ts +++ b/src/database/repository.services/assets/checkup.service.ts @@ -47,7 +47,7 @@ export class CheckupService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create checkup!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class CheckupService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve checkup!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class CheckupService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class CheckupService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of checkup!', error); } - } + }; search = async (filters: CheckupSearchFilters): Promise < CheckupSearchResults > => { try { @@ -113,7 +113,7 @@ export class CheckupService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search checkup records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class CheckupService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update checkup!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class CheckupService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete checkup!', error); } - } + }; //#endregion @@ -189,7 +189,7 @@ export class CheckupService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -213,7 +213,7 @@ export class CheckupService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -234,7 +234,7 @@ export class CheckupService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/consultation.service.ts b/src/database/repository.services/assets/consultation.service.ts index 91beeea..d6ca5d5 100644 --- a/src/database/repository.services/assets/consultation.service.ts +++ b/src/database/repository.services/assets/consultation.service.ts @@ -47,7 +47,7 @@ export class ConsultationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create consultation!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class ConsultationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve consultation!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class ConsultationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class ConsultationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of consultation!', error); } - } + }; search = async (filters: ConsultationSearchFilters): Promise < ConsultationSearchResults > => { try { @@ -113,7 +113,7 @@ export class ConsultationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search consultation records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class ConsultationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update consultation!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class ConsultationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete consultation!', error); } - } + }; //#endregion @@ -192,7 +192,7 @@ export class ConsultationService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -216,7 +216,7 @@ export class ConsultationService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -237,7 +237,7 @@ export class ConsultationService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/exercise.service.ts b/src/database/repository.services/assets/exercise.service.ts index 3b112f7..c0c9047 100644 --- a/src/database/repository.services/assets/exercise.service.ts +++ b/src/database/repository.services/assets/exercise.service.ts @@ -47,7 +47,7 @@ export class ExerciseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create exercise!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class ExerciseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve exercise!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class ExerciseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class ExerciseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of exercise!', error); } - } + }; search = async (filters: ExerciseSearchFilters): Promise < ExerciseSearchResults > => { try { @@ -113,7 +113,7 @@ export class ExerciseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search exercise records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class ExerciseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update exercise!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class ExerciseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete exercise!', error); } - } + }; //#endregion @@ -198,7 +198,7 @@ export class ExerciseService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -222,7 +222,7 @@ export class ExerciseService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -243,7 +243,7 @@ export class ExerciseService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/goal.service.ts b/src/database/repository.services/assets/goal.service.ts index 9f93dd2..ce885c7 100644 --- a/src/database/repository.services/assets/goal.service.ts +++ b/src/database/repository.services/assets/goal.service.ts @@ -47,7 +47,7 @@ export class GoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create goal!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class GoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve goal!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class GoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class GoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of goal!', error); } - } + }; search = async (filters: GoalSearchFilters): Promise < GoalSearchResults > => { try { @@ -113,7 +113,7 @@ export class GoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search goal records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class GoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update goal!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class GoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete goal!', error); } - } + }; //#endregion @@ -189,7 +189,7 @@ export class GoalService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -213,7 +213,7 @@ export class GoalService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -234,7 +234,7 @@ export class GoalService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/infographics.service.ts b/src/database/repository.services/assets/infographics.service.ts index 111a0a8..d31d4b7 100644 --- a/src/database/repository.services/assets/infographics.service.ts +++ b/src/database/repository.services/assets/infographics.service.ts @@ -52,7 +52,7 @@ export class InfographicsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create infographics!', error); } - } + }; getById = async (id) => { try { @@ -72,7 +72,7 @@ export class InfographicsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve infographics!', error); } - } + }; getByCode = async (code) => { try { @@ -85,7 +85,7 @@ export class InfographicsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise => { try { @@ -94,7 +94,7 @@ export class InfographicsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of infographics!', error); } - } + }; search = async (filters: InfographicsSearchFilters): Promise => { try { @@ -125,7 +125,7 @@ export class InfographicsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search infographics records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -143,7 +143,7 @@ export class InfographicsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update infographics!', error); } - } + }; delete = async (id) => { try { @@ -156,7 +156,7 @@ export class InfographicsService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete infographics!', error); } - } + }; //#endregion @@ -216,7 +216,7 @@ export class InfographicsService { search.include.push(includeFileResourceAsFileResource); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -240,7 +240,7 @@ export class InfographicsService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -261,7 +261,7 @@ export class InfographicsService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/medication.service.ts b/src/database/repository.services/assets/medication.service.ts index 318e7c3..e8e7e3d 100644 --- a/src/database/repository.services/assets/medication.service.ts +++ b/src/database/repository.services/assets/medication.service.ts @@ -47,7 +47,7 @@ export class MedicationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create medication!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class MedicationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve medication!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class MedicationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class MedicationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of medication!', error); } - } + }; search = async (filters: MedicationSearchFilters): Promise < MedicationSearchResults > => { try { @@ -113,7 +113,7 @@ export class MedicationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search medication records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class MedicationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update medication!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class MedicationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete medication!', error); } - } + }; //#endregion @@ -189,7 +189,7 @@ export class MedicationService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -213,7 +213,7 @@ export class MedicationService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -234,7 +234,7 @@ export class MedicationService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/meditation.service.ts b/src/database/repository.services/assets/meditation.service.ts index 913cf99..5b8cd44 100644 --- a/src/database/repository.services/assets/meditation.service.ts +++ b/src/database/repository.services/assets/meditation.service.ts @@ -47,7 +47,7 @@ export class MeditationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create meditation!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class MeditationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve meditation!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class MeditationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class MeditationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of meditation!', error); } - } + }; search = async (filters: MeditationSearchFilters): Promise < MeditationSearchResults > => { try { @@ -113,7 +113,7 @@ export class MeditationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search meditation records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class MeditationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update meditation!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class MeditationService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete meditation!', error); } - } + }; //#endregion @@ -195,7 +195,7 @@ export class MeditationService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -219,7 +219,7 @@ export class MeditationService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -240,7 +240,7 @@ export class MeditationService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/message.service.ts b/src/database/repository.services/assets/message.service.ts index 15b1512..24399ce 100644 --- a/src/database/repository.services/assets/message.service.ts +++ b/src/database/repository.services/assets/message.service.ts @@ -47,7 +47,7 @@ export class MessageService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create message!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class MessageService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve message!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class MessageService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class MessageService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of message!', error); } - } + }; search = async (filters: MessageSearchFilters): Promise < MessageSearchResults > => { try { @@ -113,7 +113,7 @@ export class MessageService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search message records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class MessageService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update message!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class MessageService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete message!', error); } - } + }; //#endregion @@ -192,7 +192,7 @@ export class MessageService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -216,7 +216,7 @@ export class MessageService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -237,7 +237,7 @@ export class MessageService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/nutrition.service.ts b/src/database/repository.services/assets/nutrition.service.ts index d5b91e0..d4ac8d3 100644 --- a/src/database/repository.services/assets/nutrition.service.ts +++ b/src/database/repository.services/assets/nutrition.service.ts @@ -47,7 +47,7 @@ export class NutritionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create nutrition!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class NutritionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve nutrition!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class NutritionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class NutritionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of nutrition!', error); } - } + }; search = async (filters: NutritionSearchFilters): Promise < NutritionSearchResults > => { try { @@ -113,7 +113,7 @@ export class NutritionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search nutrition records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class NutritionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update nutrition!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class NutritionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete nutrition!', error); } - } + }; //#endregion @@ -189,7 +189,7 @@ export class NutritionService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -213,7 +213,7 @@ export class NutritionService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -234,7 +234,7 @@ export class NutritionService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/physiotherapy.service.ts b/src/database/repository.services/assets/physiotherapy.service.ts index 71a7761..9c1ed99 100644 --- a/src/database/repository.services/assets/physiotherapy.service.ts +++ b/src/database/repository.services/assets/physiotherapy.service.ts @@ -47,7 +47,7 @@ export class PhysiotherapyService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create physiotherapy!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class PhysiotherapyService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve physiotherapy!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class PhysiotherapyService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class PhysiotherapyService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of physiotherapy!', error); } - } + }; search = async (filters: PhysiotherapySearchFilters): Promise < PhysiotherapySearchResults > => { try { @@ -113,7 +113,7 @@ export class PhysiotherapyService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search physiotherapy records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class PhysiotherapyService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update physiotherapy!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class PhysiotherapyService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete physiotherapy!', error); } - } + }; //#endregion @@ -192,7 +192,7 @@ export class PhysiotherapyService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -216,7 +216,7 @@ export class PhysiotherapyService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -237,7 +237,7 @@ export class PhysiotherapyService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/priority.service.ts b/src/database/repository.services/assets/priority.service.ts index a362cad..04175e2 100644 --- a/src/database/repository.services/assets/priority.service.ts +++ b/src/database/repository.services/assets/priority.service.ts @@ -47,7 +47,7 @@ export class PriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create priority!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class PriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve priority!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class PriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class PriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of priority!', error); } - } + }; search = async (filters: PrioritySearchFilters): Promise < PrioritySearchResults > => { try { @@ -113,7 +113,7 @@ export class PriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search priority records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class PriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update priority!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class PriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete priority!', error); } - } + }; //#endregion @@ -189,7 +189,7 @@ export class PriorityService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -213,7 +213,7 @@ export class PriorityService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -234,7 +234,7 @@ export class PriorityService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/reflection.service.ts b/src/database/repository.services/assets/reflection.service.ts index 8a85335..db37e04 100644 --- a/src/database/repository.services/assets/reflection.service.ts +++ b/src/database/repository.services/assets/reflection.service.ts @@ -47,7 +47,7 @@ export class ReflectionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create reflection!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class ReflectionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve reflection!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class ReflectionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class ReflectionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of reflection!', error); } - } + }; search = async (filters: ReflectionSearchFilters): Promise < ReflectionSearchResults > => { try { @@ -113,7 +113,7 @@ export class ReflectionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search reflection records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class ReflectionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update reflection!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class ReflectionService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete reflection!', error); } - } + }; //#endregion @@ -189,7 +189,7 @@ export class ReflectionService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -213,7 +213,7 @@ export class ReflectionService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -234,7 +234,7 @@ export class ReflectionService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/reminder.service.ts b/src/database/repository.services/assets/reminder.service.ts index c3cf79e..5f15583 100644 --- a/src/database/repository.services/assets/reminder.service.ts +++ b/src/database/repository.services/assets/reminder.service.ts @@ -47,7 +47,7 @@ export class ReminderService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create reminder!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class ReminderService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve reminder!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class ReminderService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class ReminderService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of reminder!', error); } - } + }; search = async (filters: ReminderSearchFilters): Promise < ReminderSearchResults > => { try { @@ -113,7 +113,7 @@ export class ReminderService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search reminder records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class ReminderService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update reminder!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class ReminderService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete reminder!', error); } - } + }; //#endregion @@ -189,7 +189,7 @@ export class ReminderService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -213,7 +213,7 @@ export class ReminderService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -234,7 +234,7 @@ export class ReminderService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/video.service.ts b/src/database/repository.services/assets/video.service.ts index 5eaa113..f109b48 100644 --- a/src/database/repository.services/assets/video.service.ts +++ b/src/database/repository.services/assets/video.service.ts @@ -52,7 +52,7 @@ export class VideoService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create video!', error); } - } + }; getById = async (id) => { try { @@ -72,7 +72,7 @@ export class VideoService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve video!', error); } - } + }; getByCode = async (code) => { try { @@ -85,7 +85,7 @@ export class VideoService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise => { try { @@ -94,7 +94,7 @@ export class VideoService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of video!', error); } - } + }; search = async (filters: VideoSearchFilters): Promise => { try { @@ -125,7 +125,7 @@ export class VideoService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search video records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -143,7 +143,7 @@ export class VideoService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update video!', error); } - } + }; delete = async (id) => { try { @@ -156,7 +156,7 @@ export class VideoService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete video!', error); } - } + }; //#endregion @@ -216,7 +216,7 @@ export class VideoService { search.include.push(includeFileResourceAsFileResource); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -240,7 +240,7 @@ export class VideoService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -261,7 +261,7 @@ export class VideoService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/web.link.service.ts b/src/database/repository.services/assets/web.link.service.ts index 5d7559b..71aa5cf 100644 --- a/src/database/repository.services/assets/web.link.service.ts +++ b/src/database/repository.services/assets/web.link.service.ts @@ -46,7 +46,7 @@ export class WebLinkService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create web link!', error); } - } + }; getById = async (id) => { try { @@ -59,7 +59,7 @@ export class WebLinkService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve web link!', error); } - } + }; getByCode = async (code) => { try { @@ -72,7 +72,7 @@ export class WebLinkService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -81,7 +81,7 @@ export class WebLinkService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of web link!', error); } - } + }; search = async (filters: WebLinkSearchFilters): Promise < WebLinkSearchResults > => { try { @@ -112,7 +112,7 @@ export class WebLinkService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search web link records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -130,7 +130,7 @@ export class WebLinkService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update web link!', error); } - } + }; delete = async (id) => { try { @@ -143,7 +143,7 @@ export class WebLinkService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete web link!', error); } - } + }; //#endregion @@ -193,7 +193,7 @@ export class WebLinkService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -217,7 +217,7 @@ export class WebLinkService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -238,7 +238,7 @@ export class WebLinkService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/web.newsfeed.service.ts b/src/database/repository.services/assets/web.newsfeed.service.ts index d386ab2..fe092cd 100644 --- a/src/database/repository.services/assets/web.newsfeed.service.ts +++ b/src/database/repository.services/assets/web.newsfeed.service.ts @@ -47,7 +47,7 @@ export class WebNewsfeedService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create web newsfeed!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class WebNewsfeedService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve web newsfeed!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class WebNewsfeedService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class WebNewsfeedService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of web newsfeed!', error); } - } + }; search = async (filters: WebNewsfeedSearchFilters): Promise < WebNewsfeedSearchResults > => { try { @@ -113,7 +113,7 @@ export class WebNewsfeedService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search web newsfeed records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class WebNewsfeedService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update web newsfeed!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class WebNewsfeedService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete web newsfeed!', error); } - } + }; //#endregion @@ -194,7 +194,7 @@ export class WebNewsfeedService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -218,7 +218,7 @@ export class WebNewsfeedService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -239,7 +239,7 @@ export class WebNewsfeedService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/assets/word.power.service.ts b/src/database/repository.services/assets/word.power.service.ts index 78cea2c..2f44577 100644 --- a/src/database/repository.services/assets/word.power.service.ts +++ b/src/database/repository.services/assets/word.power.service.ts @@ -47,7 +47,7 @@ export class WordPowerService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create word power!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class WordPowerService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve word power!', error); } - } + }; getByCode = async (code) => { try { @@ -73,7 +73,7 @@ export class WordPowerService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -82,7 +82,7 @@ export class WordPowerService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of word power!', error); } - } + }; search = async (filters: WordPowerSearchFilters): Promise < WordPowerSearchResults > => { try { @@ -113,7 +113,7 @@ export class WordPowerService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search word power records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -131,7 +131,7 @@ export class WordPowerService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update word power!', error); } - } + }; delete = async (id) => { try { @@ -144,7 +144,7 @@ export class WordPowerService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete word power!', error); } - } + }; //#endregion @@ -194,7 +194,7 @@ export class WordPowerService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -218,7 +218,7 @@ export class WordPowerService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -239,7 +239,7 @@ export class WordPowerService { pageIndex, limit }; - } + }; //#endregion From bc73ac5052641371849f18b6f87e053d31a4a74f Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Tue, 10 Jan 2023 18:44:53 +0530 Subject: [PATCH 096/169] Fixed linting errors. --- .../action.plan.controller.delegate.ts | 20 ++++----- .../action.plan/action.plan.controller.ts | 8 ++-- .../animation.controller.delegate.ts | 20 ++++----- .../assets/animation/animation.controller.ts | 8 ++-- src/api/assets/animation/animation.routes.ts | 2 +- .../appointment.controller.delegate.ts | 20 ++++----- .../appointment/appointment.controller.ts | 10 ++--- .../assets/appointment/appointment.routes.ts | 2 +- .../article/article.controller.delegate.ts | 20 ++++----- src/api/assets/article/article.controller.ts | 10 ++--- src/api/assets/article/article.routes.ts | 2 +- .../assessment.controller.delegate.ts | 20 ++++----- .../assessment/assessment.controller.ts | 10 ++--- .../assets/assessment/assessment.routes.ts | 2 +- .../assets/audio/audio.controller.delegate.ts | 20 ++++----- src/api/assets/audio/audio.controller.ts | 2 +- src/api/assets/audio/audio.routes.ts | 2 +- .../biometrics.controller.delegate.ts | 20 ++++----- .../biometrics/biometrics.controller.ts | 10 ++--- .../assets/biometrics/biometrics.routes.ts | 2 +- .../challenge.controller.delegate.ts | 20 ++++----- .../assets/challenge/challenge.controller.ts | 10 ++--- src/api/assets/challenge/challenge.routes.ts | 2 +- .../checkup/checkup.controller.delegate.ts | 20 ++++----- src/api/assets/checkup/checkup.controller.ts | 2 +- src/api/assets/checkup/checkup.routes.ts | 2 +- .../consultation.controller.delegate.ts | 20 ++++----- .../consultation/consultation.controller.ts | 10 ++--- .../consultation/consultation.routes.ts | 2 +- .../exercise/exercise.controller.delegate.ts | 20 ++++----- .../assets/exercise/exercise.controller.ts | 10 ++--- src/api/assets/exercise/exercise.routes.ts | 2 +- .../assets/goal/goal.controller.delegate.ts | 22 +++++----- src/api/assets/goal/goal.controller.ts | 10 ++--- src/api/assets/goal/goal.routes.ts | 2 +- .../infographics.controller.delegate.ts | 20 ++++----- .../infographics/infographics.controller.ts | 10 ++--- .../infographics/infographics.routes.ts | 2 +- .../medication.controller.delegate.ts | 21 +++++---- .../medication/medication.controller.ts | 10 ++--- .../assets/medication/medication.routes.ts | 2 +- .../meditation.controller.delegate.ts | 20 ++++----- .../meditation/meditation.controller.ts | 10 ++--- .../assets/meditation/meditation.routes.ts | 2 +- .../message/message.controller.delegate.ts | 20 ++++----- src/api/assets/message/message.controller.ts | 10 ++--- src/api/assets/message/message.routes.ts | 2 +- .../nutrition.controller.delegate.ts | 20 ++++----- .../assets/nutrition/nutrition.controller.ts | 10 ++--- src/api/assets/nutrition/nutrition.routes.ts | 2 +- .../physiotherapy.controller.delegate.ts | 20 ++++----- .../physiotherapy/physiotherapy.controller.ts | 10 ++--- .../physiotherapy/physiotherapy.routes.ts | 2 +- .../priority/priority.controller.delegate.ts | 20 ++++----- .../assets/priority/priority.controller.ts | 10 ++--- src/api/assets/priority/priority.routes.ts | 2 +- .../reflection.controller.delegate.ts | 20 ++++----- .../reflection/reflection.controller.ts | 10 ++--- .../assets/reflection/reflection.routes.ts | 2 +- .../reminder/reminder.controller.delegate.ts | 20 ++++----- .../assets/reminder/reminder.controller.ts | 10 ++--- src/api/assets/reminder/reminder.routes.ts | 2 +- .../assets/video/video.controller.delegate.ts | 20 ++++----- src/api/assets/video/video.controller.ts | 10 ++--- src/api/assets/video/video.routes.ts | 2 +- .../web.link/web.link.controller.delegate.ts | 20 ++++----- .../assets/web.link/web.link.controller.ts | 8 ++-- .../web.newsfeed.controller.delegate.ts | 20 ++++----- .../web.newsfeed/web.newsfeed.controller.ts | 8 ++-- .../word.power.controller.delegate.ts | 20 ++++----- .../word.power/word.power.controller.ts | 8 ++-- .../careplan.activity.controller.delegate.ts | 20 ++++----- .../careplan.activity.controller.ts | 8 ++-- .../careplan.activity.validator.ts | 6 +-- .../careplan.category.controller.delegate.ts | 22 +++++----- .../careplan.category.controller.ts | 8 ++-- .../careplan.category.validator.ts | 6 +-- .../careplan/careplan.controller.delegate.ts | 20 ++++----- .../careplan/careplan/careplan.controller.ts | 8 ++-- .../careplan/careplan/careplan.validator.ts | 6 +-- .../enrollment.task.controller.delegate.ts | 10 ++--- .../enrollment.task.controller.ts | 6 +-- .../enrollment.task.validator.ts | 6 +-- .../enrollment.controller.delegate.ts | 30 ++++++------- .../enrollment/enrollment.controller.ts | 10 ++--- .../enrollment/enrollment.validator.ts | 6 +-- .../participant.controller.delegate.ts | 16 +++---- .../participant/participant.controller.ts | 8 ++-- .../participant/participant.validator.ts | 6 +-- .../file.resource.controller.delegate.ts | 18 ++++---- .../file.resource/file.resource.controller.ts | 6 +-- .../file.resource/file.resource.validator.ts | 6 +-- .../moderator.controller.delegate.ts | 0 src/api/moderator/moderator.controller.ts | 0 src/api/moderator/moderator.routes.ts | 0 src/api/moderator/moderator.validator.ts | 0 ...t.activity.response.controller.delegate.ts | 20 ++++----- ...articipant.activity.response.controller.ts | 8 ++-- ...participant.activity.response.validator.ts | 6 +-- ...elected.action.plan.controller.delegate.ts | 20 ++++----- ...icipant.selected.action.plan.controller.ts | 8 ++-- ...ticipant.selected.action.plan.validator.ts | 6 +-- ...ipant.selected.goal.controller.delegate.ts | 22 +++++----- .../participant.selected.goal.controller.ts | 8 ++-- .../participant.selected.goal.validator.ts | 6 +-- ...t.selected.priority.controller.delegate.ts | 20 ++++----- ...articipant.selected.priority.controller.ts | 8 ++-- ...participant.selected.priority.validator.ts | 6 +-- src/api/types/types.controller.delegate.ts | 4 +- src/api/types/types.controller.ts | 3 +- src/api/user.helper.ts | 10 ++--- .../user.role.controller.delegate.ts | 43 ++++++++++--------- src/api/user.role/user.role.controller.ts | 8 ++-- src/api/user.role/user.role.validator.ts | 26 +++++------ src/api/user/user.controller.delegate.ts | 34 +++++++-------- src/api/user/user.controller.ts | 10 ++--- src/api/user/user.validator.ts | 20 ++++----- src/auth/auth.injector.ts | 2 +- src/database/mappers/assets/goal.mapper.ts | 18 ++++---- .../mappers/enrollment/participant.mapper.ts | 24 +++++------ src/database/mappers/user.role.mapper.ts | 8 ++-- .../assets/animation.domain.types.ts | 2 +- .../assets/article.domain.types.ts | 2 +- .../assets/assessment.domain.types.ts | 2 +- src/domain.types/assets/audio.domain.types.ts | 2 +- .../assets/challenge.domain.types.ts | 2 +- .../assets/checkup.domain.types.ts | 2 +- src/domain.types/assets/goal.domain.types.ts | 2 +- .../assets/medication.domain.types.ts | 2 +- .../assets/nutrition.domain.types.ts | 2 +- .../assets/physiotherapy.domain.types.ts | 2 +- .../assets/priority.domain.types.ts | 2 +- .../assets/reflection.domain.types.ts | 2 +- .../assets/reminder.domain.types.ts | 2 +- .../assets/web.link.domain.types.ts | 2 +- .../assets/web.newsfeed.domain.types.ts | 2 +- 136 files changed, 690 insertions(+), 689 deletions(-) delete mode 100644 src/api/moderator/moderator.controller.delegate.ts delete mode 100644 src/api/moderator/moderator.controller.ts delete mode 100644 src/api/moderator/moderator.routes.ts delete mode 100644 src/api/moderator/moderator.validator.ts diff --git a/src/api/assets/action.plan/action.plan.controller.delegate.ts b/src/api/assets/action.plan/action.plan.controller.delegate.ts index d3d1951..881e72b 100644 --- a/src/api/assets/action.plan/action.plan.controller.delegate.ts +++ b/src/api/assets/action.plan/action.plan.controller.delegate.ts @@ -47,7 +47,7 @@ export class ActionPlanControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class ActionPlanControllerDelegate { ErrorHandler.throwNotFoundError('Action plan with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class ActionPlanControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class ActionPlanControllerDelegate { throw new ApiError('Unable to update action plan!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class ActionPlanControllerDelegate { return { Deleted : actionPlanDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -125,7 +125,7 @@ export class ActionPlanControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ActionPlanUpdateModel => { @@ -148,7 +148,7 @@ export class ActionPlanControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ActionPlanCreateModel => { return { @@ -159,7 +159,7 @@ export class ActionPlanControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -175,7 +175,7 @@ export class ActionPlanControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -191,7 +191,7 @@ export class ActionPlanControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/action.plan/action.plan.controller.ts b/src/api/assets/action.plan/action.plan.controller.ts index 3b725f8..be161c6 100644 --- a/src/api/assets/action.plan/action.plan.controller.ts +++ b/src/api/assets/action.plan/action.plan.controller.ts @@ -36,7 +36,7 @@ export class ActionPlanController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class ActionPlanController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class ActionPlanController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class ActionPlanController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/assets/animation/animation.controller.delegate.ts b/src/api/assets/animation/animation.controller.delegate.ts index 25aca86..e057192 100644 --- a/src/api/assets/animation/animation.controller.delegate.ts +++ b/src/api/assets/animation/animation.controller.delegate.ts @@ -47,7 +47,7 @@ export class AnimationControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class AnimationControllerDelegate { ErrorHandler.throwNotFoundError('Animation with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class AnimationControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class AnimationControllerDelegate { throw new ApiError('Unable to update animation!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class AnimationControllerDelegate { return { Deleted : animationDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class AnimationControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): AnimationUpdateModel => { @@ -155,7 +155,7 @@ export class AnimationControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): AnimationCreateModel => { return { @@ -167,7 +167,7 @@ export class AnimationControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -185,7 +185,7 @@ export class AnimationControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -203,7 +203,7 @@ export class AnimationControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/animation/animation.controller.ts b/src/api/assets/animation/animation.controller.ts index 2ebf977..1c2e39b 100644 --- a/src/api/assets/animation/animation.controller.ts +++ b/src/api/assets/animation/animation.controller.ts @@ -36,7 +36,7 @@ export class AnimationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class AnimationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class AnimationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class AnimationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/assets/animation/animation.routes.ts b/src/api/assets/animation/animation.routes.ts index 88caa46..f726401 100644 --- a/src/api/assets/animation/animation.routes.ts +++ b/src/api/assets/animation/animation.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/animations', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/appointment/appointment.controller.delegate.ts b/src/api/assets/appointment/appointment.controller.delegate.ts index e8c30f2..9a3bd0a 100644 --- a/src/api/assets/appointment/appointment.controller.delegate.ts +++ b/src/api/assets/appointment/appointment.controller.delegate.ts @@ -47,7 +47,7 @@ export class AppointmentControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class AppointmentControllerDelegate { ErrorHandler.throwNotFoundError('Appointment with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class AppointmentControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class AppointmentControllerDelegate { throw new ApiError('Unable to update appointment!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class AppointmentControllerDelegate { return { Deleted : appointmentDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class AppointmentControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): AppointmentUpdateModel => { @@ -155,7 +155,7 @@ export class AppointmentControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): AppointmentCreateModel => { return { @@ -167,7 +167,7 @@ export class AppointmentControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -184,7 +184,7 @@ export class AppointmentControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -201,7 +201,7 @@ export class AppointmentControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/appointment/appointment.controller.ts b/src/api/assets/appointment/appointment.controller.ts index 4d8e992..0500dee 100644 --- a/src/api/assets/appointment/appointment.controller.ts +++ b/src/api/assets/appointment/appointment.controller.ts @@ -36,7 +36,7 @@ export class AppointmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class AppointmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class AppointmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class AppointmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class AppointmentController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/appointment/appointment.routes.ts b/src/api/assets/appointment/appointment.routes.ts index 3558b27..851014b 100644 --- a/src/api/assets/appointment/appointment.routes.ts +++ b/src/api/assets/appointment/appointment.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/appointments', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/article/article.controller.delegate.ts b/src/api/assets/article/article.controller.delegate.ts index 35b4850..72e4a52 100644 --- a/src/api/assets/article/article.controller.delegate.ts +++ b/src/api/assets/article/article.controller.delegate.ts @@ -47,7 +47,7 @@ export class ArticleControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class ArticleControllerDelegate { ErrorHandler.throwNotFoundError('Article with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class ArticleControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class ArticleControllerDelegate { throw new ApiError('Unable to update article!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class ArticleControllerDelegate { return { Deleted : articleDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class ArticleControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ArticleUpdateModel => { @@ -155,7 +155,7 @@ export class ArticleControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ArticleCreateModel => { return { @@ -167,7 +167,7 @@ export class ArticleControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -185,7 +185,7 @@ export class ArticleControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -203,7 +203,7 @@ export class ArticleControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/article/article.controller.ts b/src/api/assets/article/article.controller.ts index 21a4f0c..e4dc8e1 100644 --- a/src/api/assets/article/article.controller.ts +++ b/src/api/assets/article/article.controller.ts @@ -36,7 +36,7 @@ export class ArticleController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class ArticleController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class ArticleController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class ArticleController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class ArticleController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/article/article.routes.ts b/src/api/assets/article/article.routes.ts index c6d0385..56b8a65 100644 --- a/src/api/assets/article/article.routes.ts +++ b/src/api/assets/article/article.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/articles', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/assessment/assessment.controller.delegate.ts b/src/api/assets/assessment/assessment.controller.delegate.ts index 02a9b0e..10e4365 100644 --- a/src/api/assets/assessment/assessment.controller.delegate.ts +++ b/src/api/assets/assessment/assessment.controller.delegate.ts @@ -47,7 +47,7 @@ export class AssessmentControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class AssessmentControllerDelegate { ErrorHandler.throwNotFoundError('Assessment with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class AssessmentControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class AssessmentControllerDelegate { throw new ApiError('Unable to update assessment!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class AssessmentControllerDelegate { return { Deleted : assessmentDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class AssessmentControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): AssessmentUpdateModel => { @@ -155,7 +155,7 @@ export class AssessmentControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): AssessmentCreateModel => { return { @@ -167,7 +167,7 @@ export class AssessmentControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -184,7 +184,7 @@ export class AssessmentControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -201,7 +201,7 @@ export class AssessmentControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/assessment/assessment.controller.ts b/src/api/assets/assessment/assessment.controller.ts index c80eb6d..225f55d 100644 --- a/src/api/assets/assessment/assessment.controller.ts +++ b/src/api/assets/assessment/assessment.controller.ts @@ -36,7 +36,7 @@ export class AssessmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class AssessmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class AssessmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class AssessmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class AssessmentController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/assessment/assessment.routes.ts b/src/api/assets/assessment/assessment.routes.ts index a2be4fc..fd2334b 100644 --- a/src/api/assets/assessment/assessment.routes.ts +++ b/src/api/assets/assessment/assessment.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/assessments', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/audio/audio.controller.delegate.ts b/src/api/assets/audio/audio.controller.delegate.ts index 282c9ad..0114a72 100644 --- a/src/api/assets/audio/audio.controller.delegate.ts +++ b/src/api/assets/audio/audio.controller.delegate.ts @@ -47,7 +47,7 @@ export class AudioControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class AudioControllerDelegate { ErrorHandler.throwNotFoundError('Audio with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class AudioControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class AudioControllerDelegate { throw new ApiError('Unable to update audio!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class AudioControllerDelegate { return { Deleted : audioDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class AudioControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): AudioUpdateModel => { @@ -155,7 +155,7 @@ export class AudioControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): AudioCreateModel => { return { @@ -167,7 +167,7 @@ export class AudioControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -185,7 +185,7 @@ export class AudioControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -203,7 +203,7 @@ export class AudioControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/audio/audio.controller.ts b/src/api/assets/audio/audio.controller.ts index 1ec286c..a0f2710 100644 --- a/src/api/assets/audio/audio.controller.ts +++ b/src/api/assets/audio/audio.controller.ts @@ -82,4 +82,4 @@ export class AudioController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/audio/audio.routes.ts b/src/api/assets/audio/audio.routes.ts index 0feef37..425eee3 100644 --- a/src/api/assets/audio/audio.routes.ts +++ b/src/api/assets/audio/audio.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/audio', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/biometrics/biometrics.controller.delegate.ts b/src/api/assets/biometrics/biometrics.controller.delegate.ts index 44313e3..72c32cb 100644 --- a/src/api/assets/biometrics/biometrics.controller.delegate.ts +++ b/src/api/assets/biometrics/biometrics.controller.delegate.ts @@ -47,7 +47,7 @@ export class BiometricsControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class BiometricsControllerDelegate { ErrorHandler.throwNotFoundError('Biometrics with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class BiometricsControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class BiometricsControllerDelegate { throw new ApiError('Unable to update biometrics!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class BiometricsControllerDelegate { return { Deleted : biometricsDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -133,7 +133,7 @@ export class BiometricsControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): BiometricsUpdateModel => { @@ -162,7 +162,7 @@ export class BiometricsControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): BiometricsCreateModel => { return { @@ -175,7 +175,7 @@ export class BiometricsControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -193,7 +193,7 @@ export class BiometricsControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -211,7 +211,7 @@ export class BiometricsControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/biometrics/biometrics.controller.ts b/src/api/assets/biometrics/biometrics.controller.ts index 48df2cd..c32c924 100644 --- a/src/api/assets/biometrics/biometrics.controller.ts +++ b/src/api/assets/biometrics/biometrics.controller.ts @@ -36,7 +36,7 @@ export class BiometricsController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class BiometricsController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class BiometricsController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class BiometricsController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class BiometricsController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/biometrics/biometrics.routes.ts b/src/api/assets/biometrics/biometrics.routes.ts index ad472ff..3a30d50 100644 --- a/src/api/assets/biometrics/biometrics.routes.ts +++ b/src/api/assets/biometrics/biometrics.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/biometrics', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/challenge/challenge.controller.delegate.ts b/src/api/assets/challenge/challenge.controller.delegate.ts index 6f808f8..f27796c 100644 --- a/src/api/assets/challenge/challenge.controller.delegate.ts +++ b/src/api/assets/challenge/challenge.controller.delegate.ts @@ -47,7 +47,7 @@ export class ChallengeControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class ChallengeControllerDelegate { ErrorHandler.throwNotFoundError('Challenge with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class ChallengeControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class ChallengeControllerDelegate { throw new ApiError('Unable to update challenge!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class ChallengeControllerDelegate { return { Deleted : challengeDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -125,7 +125,7 @@ export class ChallengeControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ChallengeUpdateModel => { @@ -148,7 +148,7 @@ export class ChallengeControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ChallengeCreateModel => { return { @@ -159,7 +159,7 @@ export class ChallengeControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -175,7 +175,7 @@ export class ChallengeControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -191,7 +191,7 @@ export class ChallengeControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/challenge/challenge.controller.ts b/src/api/assets/challenge/challenge.controller.ts index 00ebe20..f118ca6 100644 --- a/src/api/assets/challenge/challenge.controller.ts +++ b/src/api/assets/challenge/challenge.controller.ts @@ -36,7 +36,7 @@ export class ChallengeController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class ChallengeController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class ChallengeController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class ChallengeController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class ChallengeController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/challenge/challenge.routes.ts b/src/api/assets/challenge/challenge.routes.ts index ec512b8..a9b2399 100644 --- a/src/api/assets/challenge/challenge.routes.ts +++ b/src/api/assets/challenge/challenge.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/challenges', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/checkup/checkup.controller.delegate.ts b/src/api/assets/checkup/checkup.controller.delegate.ts index e4d15db..aa72d4e 100644 --- a/src/api/assets/checkup/checkup.controller.delegate.ts +++ b/src/api/assets/checkup/checkup.controller.delegate.ts @@ -47,7 +47,7 @@ export class CheckupControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class CheckupControllerDelegate { ErrorHandler.throwNotFoundError('Checkup with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class CheckupControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class CheckupControllerDelegate { throw new ApiError('Unable to update checkup!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class CheckupControllerDelegate { return { Deleted : checkupDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -125,7 +125,7 @@ export class CheckupControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): CheckupUpdateModel => { @@ -148,7 +148,7 @@ export class CheckupControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): CheckupCreateModel => { return { @@ -159,7 +159,7 @@ export class CheckupControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -175,7 +175,7 @@ export class CheckupControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -191,7 +191,7 @@ export class CheckupControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/checkup/checkup.controller.ts b/src/api/assets/checkup/checkup.controller.ts index 657b77f..5e268fa 100644 --- a/src/api/assets/checkup/checkup.controller.ts +++ b/src/api/assets/checkup/checkup.controller.ts @@ -82,4 +82,4 @@ export class CheckupController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/checkup/checkup.routes.ts b/src/api/assets/checkup/checkup.routes.ts index 2c9d52f..ceaf5b2 100644 --- a/src/api/assets/checkup/checkup.routes.ts +++ b/src/api/assets/checkup/checkup.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/checkups', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/consultation/consultation.controller.delegate.ts b/src/api/assets/consultation/consultation.controller.delegate.ts index a737470..dc2c06d 100644 --- a/src/api/assets/consultation/consultation.controller.delegate.ts +++ b/src/api/assets/consultation/consultation.controller.delegate.ts @@ -47,7 +47,7 @@ export class ConsultationControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class ConsultationControllerDelegate { ErrorHandler.throwNotFoundError('Consultation with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class ConsultationControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class ConsultationControllerDelegate { throw new ApiError('Unable to update consultation!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class ConsultationControllerDelegate { return { Deleted : consultationDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class ConsultationControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ConsultationUpdateModel => { @@ -155,7 +155,7 @@ export class ConsultationControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ConsultationCreateModel => { return { @@ -167,7 +167,7 @@ export class ConsultationControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -184,7 +184,7 @@ export class ConsultationControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -201,7 +201,7 @@ export class ConsultationControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/consultation/consultation.controller.ts b/src/api/assets/consultation/consultation.controller.ts index 522b54d..e46e929 100644 --- a/src/api/assets/consultation/consultation.controller.ts +++ b/src/api/assets/consultation/consultation.controller.ts @@ -36,7 +36,7 @@ export class ConsultationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class ConsultationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class ConsultationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class ConsultationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class ConsultationController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/consultation/consultation.routes.ts b/src/api/assets/consultation/consultation.routes.ts index 6843164..d62014e 100644 --- a/src/api/assets/consultation/consultation.routes.ts +++ b/src/api/assets/consultation/consultation.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/consultations', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/exercise/exercise.controller.delegate.ts b/src/api/assets/exercise/exercise.controller.delegate.ts index ae4af23..d35ab0a 100644 --- a/src/api/assets/exercise/exercise.controller.delegate.ts +++ b/src/api/assets/exercise/exercise.controller.delegate.ts @@ -47,7 +47,7 @@ export class ExerciseControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class ExerciseControllerDelegate { ErrorHandler.throwNotFoundError('Exercise with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class ExerciseControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class ExerciseControllerDelegate { throw new ApiError('Unable to update exercise!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class ExerciseControllerDelegate { return { Deleted : exerciseDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -137,7 +137,7 @@ export class ExerciseControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ExerciseUpdateModel => { @@ -169,7 +169,7 @@ export class ExerciseControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ExerciseCreateModel => { return { @@ -183,7 +183,7 @@ export class ExerciseControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -202,7 +202,7 @@ export class ExerciseControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -221,7 +221,7 @@ export class ExerciseControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/exercise/exercise.controller.ts b/src/api/assets/exercise/exercise.controller.ts index bcd6676..258b86f 100644 --- a/src/api/assets/exercise/exercise.controller.ts +++ b/src/api/assets/exercise/exercise.controller.ts @@ -36,7 +36,7 @@ export class ExerciseController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class ExerciseController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class ExerciseController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class ExerciseController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class ExerciseController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/exercise/exercise.routes.ts b/src/api/assets/exercise/exercise.routes.ts index 9799027..a34648f 100644 --- a/src/api/assets/exercise/exercise.routes.ts +++ b/src/api/assets/exercise/exercise.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/exercises', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/goal/goal.controller.delegate.ts b/src/api/assets/goal/goal.controller.delegate.ts index cd1ad5c..ee48428 100644 --- a/src/api/assets/goal/goal.controller.delegate.ts +++ b/src/api/assets/goal/goal.controller.delegate.ts @@ -47,7 +47,7 @@ export class GoalControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class GoalControllerDelegate { ErrorHandler.throwNotFoundError('Goal with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class GoalControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class GoalControllerDelegate { throw new ApiError('Unable to update goal!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,14 +89,14 @@ export class GoalControllerDelegate { return { Deleted : goalDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// //#region Privates getSearchFilters = (query) => { - + var filters = Helper.getDefaultSearchFilters(query); var assetCode = query.assetCode ? query.assetCode : null; @@ -125,7 +125,7 @@ export class GoalControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): GoalUpdateModel => { @@ -148,7 +148,7 @@ export class GoalControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): GoalCreateModel => { return { @@ -159,7 +159,7 @@ export class GoalControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -175,7 +175,7 @@ export class GoalControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -191,7 +191,7 @@ export class GoalControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/goal/goal.controller.ts b/src/api/assets/goal/goal.controller.ts index 8fbaabd..0272e27 100644 --- a/src/api/assets/goal/goal.controller.ts +++ b/src/api/assets/goal/goal.controller.ts @@ -36,7 +36,7 @@ export class GoalController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class GoalController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class GoalController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class GoalController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class GoalController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/goal/goal.routes.ts b/src/api/assets/goal/goal.routes.ts index 56e64b5..2ab199a 100644 --- a/src/api/assets/goal/goal.routes.ts +++ b/src/api/assets/goal/goal.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/goals', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/infographics/infographics.controller.delegate.ts b/src/api/assets/infographics/infographics.controller.delegate.ts index 9acf29a..2449f75 100644 --- a/src/api/assets/infographics/infographics.controller.delegate.ts +++ b/src/api/assets/infographics/infographics.controller.delegate.ts @@ -47,7 +47,7 @@ export class InfographicsControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class InfographicsControllerDelegate { ErrorHandler.throwNotFoundError('Infographics with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class InfographicsControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class InfographicsControllerDelegate { throw new ApiError('Unable to update infographics!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class InfographicsControllerDelegate { return { Deleted : infographicsDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class InfographicsControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): InfographicsUpdateModel => { @@ -155,7 +155,7 @@ export class InfographicsControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): InfographicsCreateModel => { return { @@ -167,7 +167,7 @@ export class InfographicsControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -185,7 +185,7 @@ export class InfographicsControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -203,7 +203,7 @@ export class InfographicsControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/infographics/infographics.controller.ts b/src/api/assets/infographics/infographics.controller.ts index 12b940c..0f9917e 100644 --- a/src/api/assets/infographics/infographics.controller.ts +++ b/src/api/assets/infographics/infographics.controller.ts @@ -36,7 +36,7 @@ export class InfographicsController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class InfographicsController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class InfographicsController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class InfographicsController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class InfographicsController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/infographics/infographics.routes.ts b/src/api/assets/infographics/infographics.routes.ts index 535f903..edee132 100644 --- a/src/api/assets/infographics/infographics.routes.ts +++ b/src/api/assets/infographics/infographics.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/infographics', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/medication/medication.controller.delegate.ts b/src/api/assets/medication/medication.controller.delegate.ts index a07b52d..7548508 100644 --- a/src/api/assets/medication/medication.controller.delegate.ts +++ b/src/api/assets/medication/medication.controller.delegate.ts @@ -23,7 +23,6 @@ import { MedicationSearchResults } from '../../../domain.types/assets/medication.domain.types'; import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; -import { validateRequest } from 'twilio'; /////////////////////////////////////////////////////////////////////////////////////// @@ -48,7 +47,7 @@ export class MedicationControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -56,7 +55,7 @@ export class MedicationControllerDelegate { ErrorHandler.throwNotFoundError('Medication with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -65,7 +64,7 @@ export class MedicationControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -79,7 +78,7 @@ export class MedicationControllerDelegate { throw new ApiError('Unable to update medication!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -90,7 +89,7 @@ export class MedicationControllerDelegate { return { Deleted : medicationDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -126,7 +125,7 @@ export class MedicationControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): MedicationUpdateModel => { @@ -149,7 +148,7 @@ export class MedicationControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): MedicationCreateModel => { return { @@ -160,7 +159,7 @@ export class MedicationControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -176,7 +175,7 @@ export class MedicationControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -192,7 +191,7 @@ export class MedicationControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/medication/medication.controller.ts b/src/api/assets/medication/medication.controller.ts index 02bf605..f651dd8 100644 --- a/src/api/assets/medication/medication.controller.ts +++ b/src/api/assets/medication/medication.controller.ts @@ -36,7 +36,7 @@ export class MedicationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class MedicationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class MedicationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class MedicationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class MedicationController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/medication/medication.routes.ts b/src/api/assets/medication/medication.routes.ts index 65e421e..38d85a3 100644 --- a/src/api/assets/medication/medication.routes.ts +++ b/src/api/assets/medication/medication.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/medications', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/meditation/meditation.controller.delegate.ts b/src/api/assets/meditation/meditation.controller.delegate.ts index 12d4f4b..867759b 100644 --- a/src/api/assets/meditation/meditation.controller.delegate.ts +++ b/src/api/assets/meditation/meditation.controller.delegate.ts @@ -47,7 +47,7 @@ export class MeditationControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class MeditationControllerDelegate { ErrorHandler.throwNotFoundError('Meditation with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class MeditationControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class MeditationControllerDelegate { throw new ApiError('Unable to update meditation!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class MeditationControllerDelegate { return { Deleted : meditationDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -133,7 +133,7 @@ export class MeditationControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): MeditationUpdateModel => { @@ -162,7 +162,7 @@ export class MeditationControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): MeditationCreateModel => { return { @@ -175,7 +175,7 @@ export class MeditationControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -193,7 +193,7 @@ export class MeditationControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -211,7 +211,7 @@ export class MeditationControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/meditation/meditation.controller.ts b/src/api/assets/meditation/meditation.controller.ts index 32b4228..470392f 100644 --- a/src/api/assets/meditation/meditation.controller.ts +++ b/src/api/assets/meditation/meditation.controller.ts @@ -36,7 +36,7 @@ export class MeditationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class MeditationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class MeditationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class MeditationController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class MeditationController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/meditation/meditation.routes.ts b/src/api/assets/meditation/meditation.routes.ts index 3d89ea0..2fe0c6b 100644 --- a/src/api/assets/meditation/meditation.routes.ts +++ b/src/api/assets/meditation/meditation.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/meditations', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/message/message.controller.delegate.ts b/src/api/assets/message/message.controller.delegate.ts index 56068b1..1253f64 100644 --- a/src/api/assets/message/message.controller.delegate.ts +++ b/src/api/assets/message/message.controller.delegate.ts @@ -47,7 +47,7 @@ export class MessageControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class MessageControllerDelegate { ErrorHandler.throwNotFoundError('Message with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class MessageControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class MessageControllerDelegate { throw new ApiError('Unable to update message!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class MessageControllerDelegate { return { Deleted : messageDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class MessageControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): MessageUpdateModel => { @@ -158,7 +158,7 @@ export class MessageControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): MessageCreateModel => { return { @@ -171,7 +171,7 @@ export class MessageControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -189,7 +189,7 @@ export class MessageControllerDelegate { Url : record.Url, Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -207,7 +207,7 @@ export class MessageControllerDelegate { Url : record.Url, Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/message/message.controller.ts b/src/api/assets/message/message.controller.ts index abf3775..930aecf 100644 --- a/src/api/assets/message/message.controller.ts +++ b/src/api/assets/message/message.controller.ts @@ -36,7 +36,7 @@ export class MessageController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class MessageController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class MessageController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class MessageController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class MessageController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/message/message.routes.ts b/src/api/assets/message/message.routes.ts index 7f30b2b..de474c5 100644 --- a/src/api/assets/message/message.routes.ts +++ b/src/api/assets/message/message.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/messages', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/nutrition/nutrition.controller.delegate.ts b/src/api/assets/nutrition/nutrition.controller.delegate.ts index b427fc4..679acf4 100644 --- a/src/api/assets/nutrition/nutrition.controller.delegate.ts +++ b/src/api/assets/nutrition/nutrition.controller.delegate.ts @@ -47,7 +47,7 @@ export class NutritionControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class NutritionControllerDelegate { ErrorHandler.throwNotFoundError('Nutrition with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class NutritionControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class NutritionControllerDelegate { throw new ApiError('Unable to update nutrition!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class NutritionControllerDelegate { return { Deleted : nutritionDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -125,7 +125,7 @@ export class NutritionControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): NutritionUpdateModel => { @@ -148,7 +148,7 @@ export class NutritionControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): NutritionCreateModel => { return { @@ -159,7 +159,7 @@ export class NutritionControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -175,7 +175,7 @@ export class NutritionControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -191,7 +191,7 @@ export class NutritionControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/nutrition/nutrition.controller.ts b/src/api/assets/nutrition/nutrition.controller.ts index cb5dd3d..5ec64ca 100644 --- a/src/api/assets/nutrition/nutrition.controller.ts +++ b/src/api/assets/nutrition/nutrition.controller.ts @@ -36,7 +36,7 @@ export class NutritionController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class NutritionController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class NutritionController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class NutritionController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class NutritionController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/nutrition/nutrition.routes.ts b/src/api/assets/nutrition/nutrition.routes.ts index 2599906..7a2718d 100644 --- a/src/api/assets/nutrition/nutrition.routes.ts +++ b/src/api/assets/nutrition/nutrition.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/nutritions', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts b/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts index 163251f..5df8646 100644 --- a/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts +++ b/src/api/assets/physiotherapy/physiotherapy.controller.delegate.ts @@ -47,7 +47,7 @@ export class PhysiotherapyControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class PhysiotherapyControllerDelegate { ErrorHandler.throwNotFoundError('Physiotherapy with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class PhysiotherapyControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class PhysiotherapyControllerDelegate { throw new ApiError('Unable to update physiotherapy!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class PhysiotherapyControllerDelegate { return { Deleted : physiotherapyDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class PhysiotherapyControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): PhysiotherapyUpdateModel => { @@ -155,7 +155,7 @@ export class PhysiotherapyControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): PhysiotherapyCreateModel => { return { @@ -167,7 +167,7 @@ export class PhysiotherapyControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -184,7 +184,7 @@ export class PhysiotherapyControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -201,7 +201,7 @@ export class PhysiotherapyControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/physiotherapy/physiotherapy.controller.ts b/src/api/assets/physiotherapy/physiotherapy.controller.ts index f06b7e0..008b3c7 100644 --- a/src/api/assets/physiotherapy/physiotherapy.controller.ts +++ b/src/api/assets/physiotherapy/physiotherapy.controller.ts @@ -36,7 +36,7 @@ export class PhysiotherapyController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class PhysiotherapyController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class PhysiotherapyController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class PhysiotherapyController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class PhysiotherapyController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/physiotherapy/physiotherapy.routes.ts b/src/api/assets/physiotherapy/physiotherapy.routes.ts index 405ffb5..6548a1e 100644 --- a/src/api/assets/physiotherapy/physiotherapy.routes.ts +++ b/src/api/assets/physiotherapy/physiotherapy.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/physiotherapy', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/priority/priority.controller.delegate.ts b/src/api/assets/priority/priority.controller.delegate.ts index 1fc8965..5ca74c8 100644 --- a/src/api/assets/priority/priority.controller.delegate.ts +++ b/src/api/assets/priority/priority.controller.delegate.ts @@ -47,7 +47,7 @@ export class PriorityControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class PriorityControllerDelegate { ErrorHandler.throwNotFoundError('Priority with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class PriorityControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class PriorityControllerDelegate { throw new ApiError('Unable to update priority!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class PriorityControllerDelegate { return { Deleted : priorityDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -125,7 +125,7 @@ export class PriorityControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): PriorityUpdateModel => { @@ -148,7 +148,7 @@ export class PriorityControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): PriorityCreateModel => { return { @@ -159,7 +159,7 @@ export class PriorityControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -175,7 +175,7 @@ export class PriorityControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -191,7 +191,7 @@ export class PriorityControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/priority/priority.controller.ts b/src/api/assets/priority/priority.controller.ts index 9bfd1d5..fdedb53 100644 --- a/src/api/assets/priority/priority.controller.ts +++ b/src/api/assets/priority/priority.controller.ts @@ -36,7 +36,7 @@ export class PriorityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class PriorityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class PriorityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class PriorityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class PriorityController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/priority/priority.routes.ts b/src/api/assets/priority/priority.routes.ts index 0f55beb..24a1682 100644 --- a/src/api/assets/priority/priority.routes.ts +++ b/src/api/assets/priority/priority.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/priorities', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/reflection/reflection.controller.delegate.ts b/src/api/assets/reflection/reflection.controller.delegate.ts index 57e2327..869344c 100644 --- a/src/api/assets/reflection/reflection.controller.delegate.ts +++ b/src/api/assets/reflection/reflection.controller.delegate.ts @@ -47,7 +47,7 @@ export class ReflectionControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class ReflectionControllerDelegate { ErrorHandler.throwNotFoundError('Reflection with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class ReflectionControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class ReflectionControllerDelegate { throw new ApiError('Unable to update reflection!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class ReflectionControllerDelegate { return { Deleted : reflectionDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -125,7 +125,7 @@ export class ReflectionControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ReflectionUpdateModel => { @@ -148,7 +148,7 @@ export class ReflectionControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ReflectionCreateModel => { return { @@ -159,7 +159,7 @@ export class ReflectionControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -175,7 +175,7 @@ export class ReflectionControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -191,7 +191,7 @@ export class ReflectionControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/reflection/reflection.controller.ts b/src/api/assets/reflection/reflection.controller.ts index dc66d8c..161292e 100644 --- a/src/api/assets/reflection/reflection.controller.ts +++ b/src/api/assets/reflection/reflection.controller.ts @@ -36,7 +36,7 @@ export class ReflectionController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class ReflectionController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class ReflectionController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class ReflectionController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class ReflectionController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/reflection/reflection.routes.ts b/src/api/assets/reflection/reflection.routes.ts index 1c6c745..81b732f 100644 --- a/src/api/assets/reflection/reflection.routes.ts +++ b/src/api/assets/reflection/reflection.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/reflections', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/reminder/reminder.controller.delegate.ts b/src/api/assets/reminder/reminder.controller.delegate.ts index f798fd7..f7ce633 100644 --- a/src/api/assets/reminder/reminder.controller.delegate.ts +++ b/src/api/assets/reminder/reminder.controller.delegate.ts @@ -47,7 +47,7 @@ export class ReminderControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class ReminderControllerDelegate { ErrorHandler.throwNotFoundError('Reminder with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class ReminderControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class ReminderControllerDelegate { throw new ApiError('Unable to update reminder!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class ReminderControllerDelegate { return { Deleted : reminderDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -125,7 +125,7 @@ export class ReminderControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ReminderUpdateModel => { @@ -148,7 +148,7 @@ export class ReminderControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ReminderCreateModel => { return { @@ -159,7 +159,7 @@ export class ReminderControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -175,7 +175,7 @@ export class ReminderControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -191,7 +191,7 @@ export class ReminderControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/reminder/reminder.controller.ts b/src/api/assets/reminder/reminder.controller.ts index aa17e76..c0b5cbf 100644 --- a/src/api/assets/reminder/reminder.controller.ts +++ b/src/api/assets/reminder/reminder.controller.ts @@ -36,7 +36,7 @@ export class ReminderController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class ReminderController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class ReminderController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class ReminderController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class ReminderController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/reminder/reminder.routes.ts b/src/api/assets/reminder/reminder.routes.ts index 69282a9..054952c 100644 --- a/src/api/assets/reminder/reminder.routes.ts +++ b/src/api/assets/reminder/reminder.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/reminders', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/video/video.controller.delegate.ts b/src/api/assets/video/video.controller.delegate.ts index 3e92723..3b92443 100644 --- a/src/api/assets/video/video.controller.delegate.ts +++ b/src/api/assets/video/video.controller.delegate.ts @@ -47,7 +47,7 @@ export class VideoControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class VideoControllerDelegate { ErrorHandler.throwNotFoundError('Video with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class VideoControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class VideoControllerDelegate { throw new ApiError('Unable to update video!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class VideoControllerDelegate { return { Deleted : videoDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class VideoControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): VideoUpdateModel => { @@ -155,7 +155,7 @@ export class VideoControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): VideoCreateModel => { return { @@ -167,7 +167,7 @@ export class VideoControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -185,7 +185,7 @@ export class VideoControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -203,7 +203,7 @@ export class VideoControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/video/video.controller.ts b/src/api/assets/video/video.controller.ts index 6186d4e..3a5ca92 100644 --- a/src/api/assets/video/video.controller.ts +++ b/src/api/assets/video/video.controller.ts @@ -36,7 +36,7 @@ export class VideoController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class VideoController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class VideoController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class VideoController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -82,4 +82,4 @@ export class VideoController extends BaseController { } }; -} \ No newline at end of file +} diff --git a/src/api/assets/video/video.routes.ts b/src/api/assets/video/video.routes.ts index ee19c29..e8e0be7 100644 --- a/src/api/assets/video/video.routes.ts +++ b/src/api/assets/video/video.routes.ts @@ -21,4 +21,4 @@ export const register = (app: express.Application): void => { router.delete('/:id', authenticator.authenticateUser, controller.delete); app.use('/api/v1/assets/video', router); -}; \ No newline at end of file +}; diff --git a/src/api/assets/web.link/web.link.controller.delegate.ts b/src/api/assets/web.link/web.link.controller.delegate.ts index 569191e..c9080ff 100644 --- a/src/api/assets/web.link/web.link.controller.delegate.ts +++ b/src/api/assets/web.link/web.link.controller.delegate.ts @@ -47,7 +47,7 @@ export class WebLinkControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class WebLinkControllerDelegate { ErrorHandler.throwNotFoundError('Web link with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class WebLinkControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class WebLinkControllerDelegate { throw new ApiError('Unable to update web link!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class WebLinkControllerDelegate { return { Deleted : webLinkDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class WebLinkControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): WebLinkUpdateModel => { @@ -155,7 +155,7 @@ export class WebLinkControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): WebLinkCreateModel => { return { @@ -167,7 +167,7 @@ export class WebLinkControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -184,7 +184,7 @@ export class WebLinkControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -201,7 +201,7 @@ export class WebLinkControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/web.link/web.link.controller.ts b/src/api/assets/web.link/web.link.controller.ts index 98d059d..7b5fa24 100644 --- a/src/api/assets/web.link/web.link.controller.ts +++ b/src/api/assets/web.link/web.link.controller.ts @@ -36,7 +36,7 @@ export class WebLinkController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class WebLinkController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class WebLinkController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class WebLinkController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts b/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts index 2928c94..6c7ebd2 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.controller.delegate.ts @@ -47,7 +47,7 @@ export class WebNewsfeedControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class WebNewsfeedControllerDelegate { ErrorHandler.throwNotFoundError('Web newsfeed with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class WebNewsfeedControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class WebNewsfeedControllerDelegate { throw new ApiError('Unable to update web newsfeed!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class WebNewsfeedControllerDelegate { return { Deleted : webNewsfeedDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class WebNewsfeedControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): WebNewsfeedUpdateModel => { @@ -155,7 +155,7 @@ export class WebNewsfeedControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): WebNewsfeedCreateModel => { return { @@ -167,7 +167,7 @@ export class WebNewsfeedControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -184,7 +184,7 @@ export class WebNewsfeedControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -201,7 +201,7 @@ export class WebNewsfeedControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/web.newsfeed/web.newsfeed.controller.ts b/src/api/assets/web.newsfeed/web.newsfeed.controller.ts index 29b648e..f26e7b5 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.controller.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.controller.ts @@ -36,7 +36,7 @@ export class WebNewsfeedController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class WebNewsfeedController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class WebNewsfeedController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class WebNewsfeedController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/assets/word.power/word.power.controller.delegate.ts b/src/api/assets/word.power/word.power.controller.delegate.ts index 016d8a7..f04b197 100644 --- a/src/api/assets/word.power/word.power.controller.delegate.ts +++ b/src/api/assets/word.power/word.power.controller.delegate.ts @@ -47,7 +47,7 @@ export class WordPowerControllerDelegate { } record = await AssetHelper.updateAssetCode(record, this._service); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class WordPowerControllerDelegate { ErrorHandler.throwNotFoundError('Word power with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class WordPowerControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -78,7 +78,7 @@ export class WordPowerControllerDelegate { throw new ApiError('Unable to update word power!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -89,7 +89,7 @@ export class WordPowerControllerDelegate { return { Deleted : wordPowerDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -129,7 +129,7 @@ export class WordPowerControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): WordPowerUpdateModel => { @@ -155,7 +155,7 @@ export class WordPowerControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): WordPowerCreateModel => { return { @@ -168,7 +168,7 @@ export class WordPowerControllerDelegate { Version : requestBody.Version ? requestBody.Version : 'V1', OwnerUserId : requestBody.OwnerUserId }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -185,7 +185,7 @@ export class WordPowerControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -202,7 +202,7 @@ export class WordPowerControllerDelegate { Tags : JSON.parse(record.Tags), Version : record.Version }; - } + }; //#endregion diff --git a/src/api/assets/word.power/word.power.controller.ts b/src/api/assets/word.power/word.power.controller.ts index 6d49b40..f94dd80 100644 --- a/src/api/assets/word.power/word.power.controller.ts +++ b/src/api/assets/word.power/word.power.controller.ts @@ -36,7 +36,7 @@ export class WordPowerController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class WordPowerController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class WordPowerController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class WordPowerController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts index f487be9..d3a3c3b 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts @@ -47,7 +47,7 @@ export class CareplanActivityControllerDelegate { throw new ApiError('Unable to create careplan activity!', 400); } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -55,7 +55,7 @@ export class CareplanActivityControllerDelegate { ErrorHandler.throwNotFoundError('Careplan activity with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -64,7 +64,7 @@ export class CareplanActivityControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -79,7 +79,7 @@ export class CareplanActivityControllerDelegate { throw new ApiError('Unable to update careplan activity!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -90,7 +90,7 @@ export class CareplanActivityControllerDelegate { return { Deleted : careplanActivityDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -126,7 +126,7 @@ export class CareplanActivityControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): CareplanActivityUpdateModel => { @@ -151,7 +151,7 @@ export class CareplanActivityControllerDelegate { updateModel.IsRegistrationActivity = requestBody.IsRegistrationActivity; } return updateModel; - } + }; getCreateModel = (requestBody): CareplanActivityCreateModel => { return { @@ -162,7 +162,7 @@ export class CareplanActivityControllerDelegate { TimeSlot : requestBody.TimeSlot ? requestBody.TimeSlot : 'Unspecified', IsRegistrationActivity : requestBody.IsRegistrationActivity ? requestBody.IsRegistrationActivity : false, }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -178,7 +178,7 @@ export class CareplanActivityControllerDelegate { TimeSlot : record.TimeSlot, IsRegistrationActivity : record.IsRegistrationActivity }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -194,7 +194,7 @@ export class CareplanActivityControllerDelegate { TimeSlot : record.TimeSlot, IsRegistrationActivity : record.IsRegistrationActivity }; - } + }; private async checkValidAssetType( model: CareplanActivityUpdateModel | CareplanActivityCreateModel, record?: any) { diff --git a/src/api/careplan/careplan.activity/careplan.activity.controller.ts b/src/api/careplan/careplan.activity/careplan.activity.controller.ts index 34f1651..d9db869 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.controller.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.controller.ts @@ -33,7 +33,7 @@ export class CareplanActivityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -44,7 +44,7 @@ export class CareplanActivityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -55,7 +55,7 @@ export class CareplanActivityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -66,7 +66,7 @@ export class CareplanActivityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/careplan/careplan.activity/careplan.activity.validator.ts b/src/api/careplan/careplan.activity/careplan.activity.validator.ts index c0ac150..7c9cf90 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.validator.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.validator.ts @@ -25,7 +25,7 @@ export class CareplanActivityValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -45,7 +45,7 @@ export class CareplanActivityValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -66,6 +66,6 @@ export class CareplanActivityValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/careplan/careplan.category/careplan.category.controller.delegate.ts b/src/api/careplan/careplan.category/careplan.category.controller.delegate.ts index b03bf06..2352ae6 100644 --- a/src/api/careplan/careplan.category/careplan.category.controller.delegate.ts +++ b/src/api/careplan/careplan.category/careplan.category.controller.delegate.ts @@ -35,7 +35,7 @@ export class CareplanCategoryControllerDelegate { throw new ApiError('Unable to create careplan category!', 400); } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record: CareplanCategoryDto = await this._service.getById(id); @@ -43,7 +43,7 @@ export class CareplanCategoryControllerDelegate { ErrorHandler.throwNotFoundError('Careplan category with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -52,7 +52,7 @@ export class CareplanCategoryControllerDelegate { var items = searchResults.Items.map(x => this.getPublicDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -66,7 +66,7 @@ export class CareplanCategoryControllerDelegate { throw new ApiError('Unable to update careplan category!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record: CareplanCategoryDto = await this._service.getById(id); @@ -77,7 +77,7 @@ export class CareplanCategoryControllerDelegate { return { Deleted : careplanCategoryDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -94,7 +94,7 @@ export class CareplanCategoryControllerDelegate { filters['Description'] = description; } return filters; - } + }; getUpdateModel = (requestBody) => { @@ -107,14 +107,14 @@ export class CareplanCategoryControllerDelegate { updateModel.Description = requestBody.Description; } return updateModel; - } + }; getCreateModel = (requestBody): CareplanCategoryCreateModel => { return { Type : requestBody.Type ? requestBody.Type : null, Description : requestBody.Description ? requestBody.Description : null }; - } + }; //This function returns a response DTO which is enriched with available resource data @@ -127,7 +127,7 @@ export class CareplanCategoryControllerDelegate { Type : record.Type, Description : record.Description }; - } + }; //This function returns a response DTO which has only public parameters @@ -140,6 +140,6 @@ export class CareplanCategoryControllerDelegate { Type : record.Type, Description : record.Description }; - } - + }; + } diff --git a/src/api/careplan/careplan.category/careplan.category.controller.ts b/src/api/careplan/careplan.category/careplan.category.controller.ts index 4f5c239..de005bd 100644 --- a/src/api/careplan/careplan.category/careplan.category.controller.ts +++ b/src/api/careplan/careplan.category/careplan.category.controller.ts @@ -27,7 +27,7 @@ export class CareplanCategoryController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -38,7 +38,7 @@ export class CareplanCategoryController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -49,7 +49,7 @@ export class CareplanCategoryController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -60,7 +60,7 @@ export class CareplanCategoryController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/careplan/careplan.category/careplan.category.validator.ts b/src/api/careplan/careplan.category/careplan.category.validator.ts index 5470bff..52353e6 100644 --- a/src/api/careplan/careplan.category/careplan.category.validator.ts +++ b/src/api/careplan/careplan.category/careplan.category.validator.ts @@ -15,7 +15,7 @@ export class CareplanCategoryValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -28,7 +28,7 @@ export class CareplanCategoryValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -40,7 +40,7 @@ export class CareplanCategoryValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } /////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/api/careplan/careplan/careplan.controller.delegate.ts b/src/api/careplan/careplan/careplan.controller.delegate.ts index c0b64b2..33917b7 100644 --- a/src/api/careplan/careplan/careplan.controller.delegate.ts +++ b/src/api/careplan/careplan/careplan.controller.delegate.ts @@ -28,7 +28,7 @@ export class CareplanControllerDelegate { throw new ApiError('Unable to create care plan!', 400); } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record: CareplanDto = await this._service.getById(id); @@ -36,7 +36,7 @@ export class CareplanControllerDelegate { ErrorHandler.throwNotFoundError('Care plan with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -45,7 +45,7 @@ export class CareplanControllerDelegate { var items = searchResults.Items.map(x => this.getPublicDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -59,7 +59,7 @@ export class CareplanControllerDelegate { throw new ApiError('Unable to update care plan!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record: CareplanDto = await this._service.getById(id); @@ -70,7 +70,7 @@ export class CareplanControllerDelegate { return { Deleted : carePlanDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -107,7 +107,7 @@ export class CareplanControllerDelegate { filters['IsActive'] = isActive; } return filters; - } + }; getUpdateModel = (requestBody) => { @@ -135,7 +135,7 @@ export class CareplanControllerDelegate { updateModel.Tags = JSON.stringify(requestBody.Tags); } return updateModel; - } + }; getCreateModel = (requestBody): CareplanCreateModel => { return { @@ -147,7 +147,7 @@ export class CareplanControllerDelegate { OwnerUserId : requestBody.OwnerUserId ? requestBody.OwnerUserId : null, Tags : requestBody.Tags ? JSON.stringify(requestBody.Tags) as string : JSON.stringify([]), }; - } + }; //This function returns a response DTO which is enriched with available resource data @@ -166,7 +166,7 @@ export class CareplanControllerDelegate { Tags : JSON.parse(record.Tags), IsActive : record.IsActive }; - } + }; //This function returns a response DTO which has only public parameters @@ -185,6 +185,6 @@ export class CareplanControllerDelegate { Tags : JSON.parse(record.Tags), IsActive : record.IsActive }; - } + }; } diff --git a/src/api/careplan/careplan/careplan.controller.ts b/src/api/careplan/careplan/careplan.controller.ts index d70e334..203a5c3 100644 --- a/src/api/careplan/careplan/careplan.controller.ts +++ b/src/api/careplan/careplan/careplan.controller.ts @@ -27,7 +27,7 @@ export class CarePlanController extends BaseController{ } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -38,7 +38,7 @@ export class CarePlanController extends BaseController{ } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -49,7 +49,7 @@ export class CarePlanController extends BaseController{ } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -60,7 +60,7 @@ export class CarePlanController extends BaseController{ } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/careplan/careplan/careplan.validator.ts b/src/api/careplan/careplan/careplan.validator.ts index 60ce86a..ef65367 100644 --- a/src/api/careplan/careplan/careplan.validator.ts +++ b/src/api/careplan/careplan/careplan.validator.ts @@ -24,7 +24,7 @@ export class CareplanValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -46,7 +46,7 @@ export class CareplanValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -67,7 +67,7 @@ export class CareplanValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } /////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index b7f002e..a87b5b1 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -35,7 +35,7 @@ export class EnrollmentTaskControllerDelegate { ErrorHandler.throwNotFoundError('Enrollment schedule with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -44,7 +44,7 @@ export class EnrollmentTaskControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -83,7 +83,7 @@ export class EnrollmentTaskControllerDelegate { filters['EnrollmentId'] = enrollmentId; } return filters; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -103,7 +103,7 @@ export class EnrollmentTaskControllerDelegate { ScheduledDate : record.ScheduledDate, IsRegistrationActivity : record.IsRegistrationActivity }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -122,7 +122,7 @@ export class EnrollmentTaskControllerDelegate { ScheduledDate : record.ScheduledDate, IsRegistrationActivity : record.IsRegistrationActivity }; - } + }; //#endregion diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.ts index ad2a20d..87631cd 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.ts @@ -33,7 +33,7 @@ export class EnrollmentTaskController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -44,6 +44,6 @@ export class EnrollmentTaskController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } - + }; + } diff --git a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts index 46b9856..89ea353 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts @@ -17,7 +17,7 @@ export class EnrollmentTaskValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -29,7 +29,7 @@ export class EnrollmentTaskValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -55,6 +55,6 @@ export class EnrollmentTaskValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index ee7dc28..53fdbe8 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -92,7 +92,7 @@ export class EnrollmentControllerDelegate { await this.generateScheduledTasks(record); return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -100,7 +100,7 @@ export class EnrollmentControllerDelegate { ErrorHandler.throwNotFoundError('Enrollment with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -109,7 +109,7 @@ export class EnrollmentControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -123,7 +123,7 @@ export class EnrollmentControllerDelegate { throw new ApiError('Unable to update enrollment!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -134,7 +134,7 @@ export class EnrollmentControllerDelegate { return { Deleted : enrollmentDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -146,7 +146,7 @@ export class EnrollmentControllerDelegate { const registrationActivities = await this._careplanActivityService.getRegistrationActivities(record.CareplanId); - + const enrollmentDate = record.StartDate; var count = 0; const timeOffset = 15; //seconds @@ -176,7 +176,7 @@ export class EnrollmentControllerDelegate { ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment registration tasks!', error); } - } + }; generateScheduledTasks = async(record) => { @@ -184,12 +184,12 @@ export class EnrollmentControllerDelegate { const scheduledActivities = await this._careplanActivityService.getScheduledActivities(record.CareplanId); - + const startDate = record.StartDate; const calculatedOffset = (record.WeekOffset ? (record.WeekOffset * 7) : 0) + (record.DayOffset ? record.DayOffset : 0); - + const filtered = scheduledActivities.filter( (x) => x.Day >= calculatedOffset); for await (var act of filtered) { @@ -229,7 +229,7 @@ export class EnrollmentControllerDelegate { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment scheduled tasks!', error); } - } + }; getSearchFilters = (query) => { @@ -249,7 +249,7 @@ export class EnrollmentControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): EnrollmentUpdateModel => { @@ -275,7 +275,7 @@ export class EnrollmentControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): EnrollmentCreateModel => { return { @@ -288,7 +288,7 @@ export class EnrollmentControllerDelegate { DayOffset : requestBody.DayOffset ? requestBody.DayOffset : 0, EnrollmentDate : requestBody.EnrollmentDate ? requestBody.EnrollmentDate : new Date() }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -307,7 +307,7 @@ export class EnrollmentControllerDelegate { DayOffset : record.DayOffset, ProgressStatus : record.ProgressStatus, }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -326,7 +326,7 @@ export class EnrollmentControllerDelegate { DayOffset : record.DayOffset, ProgressStatus : record.ProgressStatus }; - } + }; //#endregion diff --git a/src/api/enrollment/enrollment/enrollment.controller.ts b/src/api/enrollment/enrollment/enrollment.controller.ts index e152665..9b4b0d3 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.ts @@ -19,7 +19,7 @@ export class EnrollmentController extends BaseController { constructor() { super(); - + this._delegate = new EnrollmentControllerDelegate(); } @@ -34,7 +34,7 @@ export class EnrollmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -45,7 +45,7 @@ export class EnrollmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -56,7 +56,7 @@ export class EnrollmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -67,7 +67,7 @@ export class EnrollmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/enrollment/enrollment/enrollment.validator.ts b/src/api/enrollment/enrollment/enrollment.validator.ts index b049c2b..572ad0e 100644 --- a/src/api/enrollment/enrollment/enrollment.validator.ts +++ b/src/api/enrollment/enrollment/enrollment.validator.ts @@ -27,7 +27,7 @@ export class EnrollmentValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -45,7 +45,7 @@ export class EnrollmentValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -60,6 +60,6 @@ export class EnrollmentValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/enrollment/participant/participant.controller.delegate.ts b/src/api/enrollment/participant/participant.controller.delegate.ts index 64d2435..c10f9a3 100644 --- a/src/api/enrollment/participant/participant.controller.delegate.ts +++ b/src/api/enrollment/participant/participant.controller.delegate.ts @@ -52,7 +52,7 @@ export class ParticipantControllerDelegate { } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record: ParticipantDto = await this._service.getById(id); @@ -60,7 +60,7 @@ export class ParticipantControllerDelegate { ErrorHandler.throwNotFoundError('Participant with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query) => { await validator.validateSearchRequest(query); @@ -69,7 +69,7 @@ export class ParticipantControllerDelegate { var items = searchResults.Items.map(x => this.getPublicDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -84,7 +84,7 @@ export class ParticipantControllerDelegate { throw new ApiError('Unable to update Participant!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record: ParticipantDto = await this._service.getById(id); @@ -95,7 +95,7 @@ export class ParticipantControllerDelegate { return { Deleted : userDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -134,7 +134,7 @@ export class ParticipantControllerDelegate { filters['LastUpdatedByUserId'] = lastUpdatedByUserId; } return filters; - } + }; //This function returns a response DTO which is enriched with available resource data @@ -158,7 +158,7 @@ export class ParticipantControllerDelegate { AddedByUserId : record.AddedByUserId, LastUpdatedByUserId : record.LastUpdatedByUserId }; - } + }; //This function returns a response DTO which has only public parameters @@ -180,6 +180,6 @@ export class ParticipantControllerDelegate { BirthDate : record.BirthDate, Country : record.Country, }; - } + }; } diff --git a/src/api/enrollment/participant/participant.controller.ts b/src/api/enrollment/participant/participant.controller.ts index c408384..5e47c89 100644 --- a/src/api/enrollment/participant/participant.controller.ts +++ b/src/api/enrollment/participant/participant.controller.ts @@ -27,7 +27,7 @@ export class ParticipantController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise => { try { @@ -38,7 +38,7 @@ export class ParticipantController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise => { try { @@ -49,7 +49,7 @@ export class ParticipantController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise => { try { @@ -60,7 +60,7 @@ export class ParticipantController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise => { try { diff --git a/src/api/enrollment/participant/participant.validator.ts b/src/api/enrollment/participant/participant.validator.ts index 458192c..2ca48fe 100644 --- a/src/api/enrollment/participant/participant.validator.ts +++ b/src/api/enrollment/participant/participant.validator.ts @@ -23,7 +23,7 @@ export class ParticipantValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -48,7 +48,7 @@ export class ParticipantValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -66,6 +66,6 @@ export class ParticipantValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/file.resource/file.resource.controller.delegate.ts b/src/api/file.resource/file.resource.controller.delegate.ts index 8c0c2ab..b510013 100644 --- a/src/api/file.resource/file.resource.controller.delegate.ts +++ b/src/api/file.resource/file.resource.controller.delegate.ts @@ -25,20 +25,20 @@ export class FileResourceControllerDelegate { //#endregion upload = async (request: express.Request) => { - + var dateFolder = new Date().toISOString().split('T')[0]; var originalFilename: string = request.headers['filename'] as string; var contentLength = request.headers['content-length']; var mimeType = request.headers['mime-type'] ?? mime.lookup(originalFilename); var publicResource = request.headers['public'] === 'true' ? true : false; - + var timestamp = new Date().getTime().toString(); var ext = Helper.getFileExtension(originalFilename); var filename = originalFilename.replace('.' + ext, ""); filename = filename.replace(' ', "_"); filename = filename + '_' + timestamp + '.' + ext; var storageKey = 'uploaded/' + dateFolder + '/' + filename; - + var key = await this._storageService.upload(request, storageKey); if (!key) { ErrorHandler.throwInternalServerError(`Unable to upload the file!`); @@ -58,7 +58,7 @@ export class FileResourceControllerDelegate { } return this.getEnrichedDto(record); - } + }; download = async (id: uuid, disposition: string, response: express.Response) => { @@ -69,7 +69,7 @@ export class FileResourceControllerDelegate { var storageKey = record.StorageKey; var originalFilename = record.OriginalFilename; var mimeType = mime.lookup(originalFilename); - + response.setHeader('Content-type', mimeType as string); setResponseHeaders(response, originalFilename, disposition); @@ -78,7 +78,7 @@ export class FileResourceControllerDelegate { ErrorHandler.throwInternalServerError(`Unable to download the file!`); } return readStream; - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -86,7 +86,7 @@ export class FileResourceControllerDelegate { ErrorHandler.throwNotFoundError('File resource with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -104,7 +104,7 @@ export class FileResourceControllerDelegate { return { Deleted : fileResourceDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -126,7 +126,7 @@ export class FileResourceControllerDelegate { UserId : record.UserId, UserName : record.User ? record.User.FirstName + ' ' + record.User.LastName : '' }; - } + }; //#endregion diff --git a/src/api/file.resource/file.resource.controller.ts b/src/api/file.resource/file.resource.controller.ts index b2c9968..9e56d75 100644 --- a/src/api/file.resource/file.resource.controller.ts +++ b/src/api/file.resource/file.resource.controller.ts @@ -29,7 +29,7 @@ export class FileResourceController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; download = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -50,7 +50,7 @@ export class FileResourceController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -61,7 +61,7 @@ export class FileResourceController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/file.resource/file.resource.validator.ts b/src/api/file.resource/file.resource.validator.ts index 9977dc1..f5bcf7a 100644 --- a/src/api/file.resource/file.resource.validator.ts +++ b/src/api/file.resource/file.resource.validator.ts @@ -21,7 +21,7 @@ export class FileResourceValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -37,7 +37,7 @@ export class FileResourceValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -52,6 +52,6 @@ export class FileResourceValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/moderator/moderator.controller.delegate.ts b/src/api/moderator/moderator.controller.delegate.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/api/moderator/moderator.controller.ts b/src/api/moderator/moderator.controller.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/api/moderator/moderator.routes.ts b/src/api/moderator/moderator.routes.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/api/moderator/moderator.validator.ts b/src/api/moderator/moderator.validator.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts index 4fbc688..0b4cf1d 100644 --- a/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts +++ b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts @@ -50,7 +50,7 @@ export class ParticipantActivityResponseControllerDelegate { throw new ApiError('Unable to create participant activity response!', 400); } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -58,7 +58,7 @@ export class ParticipantActivityResponseControllerDelegate { ErrorHandler.throwNotFoundError('Participant activity response with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -67,7 +67,7 @@ export class ParticipantActivityResponseControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -81,7 +81,7 @@ export class ParticipantActivityResponseControllerDelegate { throw new ApiError('Unable to update participant activity response!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -92,7 +92,7 @@ export class ParticipantActivityResponseControllerDelegate { return { Deleted : participantActivityResponseDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -132,7 +132,7 @@ export class ParticipantActivityResponseControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ParticipantActivityResponseUpdateModel => { @@ -152,7 +152,7 @@ export class ParticipantActivityResponseControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody, enrollmentTask): ParticipantActivityResponseCreateModel => { return { @@ -166,7 +166,7 @@ export class ParticipantActivityResponseControllerDelegate { TimeResponded : new Date(), ProgressStatus : requestBody.ProgressStatus ? requestBody.ProgressStatus : 'Completed' }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -184,7 +184,7 @@ export class ParticipantActivityResponseControllerDelegate { TimeResponded : record.TimeResponded, ProgressStatus : record.ProgressStatus }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -202,7 +202,7 @@ export class ParticipantActivityResponseControllerDelegate { TimeResponded : record.TimeResponded, ProgressStatus : record.ProgressStatus }; - } + }; //#endregion diff --git a/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.ts index fba41c4..2cabec0 100644 --- a/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.ts +++ b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.ts @@ -33,7 +33,7 @@ export class ParticipantActivityResponseController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -44,7 +44,7 @@ export class ParticipantActivityResponseController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -55,7 +55,7 @@ export class ParticipantActivityResponseController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -66,7 +66,7 @@ export class ParticipantActivityResponseController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts index 7b4b58e..19cb557 100644 --- a/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts +++ b/src/api/participant.responses/participant.activity.response/participant.activity.response.validator.ts @@ -23,7 +23,7 @@ export class ParticipantActivityResponseValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -41,7 +41,7 @@ export class ParticipantActivityResponseValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -63,6 +63,6 @@ export class ParticipantActivityResponseValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts index 523553c..89ea6c0 100644 --- a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts +++ b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.delegate.ts @@ -45,7 +45,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { throw new ApiError('Unable to create participant selected action plan!', 400); } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -53,7 +53,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { ErrorHandler.throwNotFoundError('User selected action plan with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -62,7 +62,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -76,7 +76,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { throw new ApiError('Unable to update participant selected action plan!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -87,7 +87,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { return { Deleted : participantSelectedActionPlanDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -151,7 +151,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ParticipantSelectedActionPlanUpdateModel => { @@ -195,7 +195,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ParticipantSelectedActionPlanCreateModel => { return { @@ -212,7 +212,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { StartDate : requestBody.StartDate ? requestBody.StartDate : null, EndDate : requestBody.EndDate ? requestBody.EndDate : null }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -234,7 +234,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { EndDate : record.EndDate, ProgressStatus : record.ProgressStatus }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -256,7 +256,7 @@ export class ParticipantSelectedActionPlanControllerDelegate { EndDate : record.EndDate, ProgressStatus : record.ProgressStatus }; - } + }; //#endregion diff --git a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts index b4fa651..403d342 100644 --- a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts +++ b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.controller.ts @@ -33,7 +33,7 @@ export class ParticipantSelectedActionPlanController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -44,7 +44,7 @@ export class ParticipantSelectedActionPlanController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -55,7 +55,7 @@ export class ParticipantSelectedActionPlanController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -66,7 +66,7 @@ export class ParticipantSelectedActionPlanController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts index 6c69328..55e82c8 100644 --- a/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts +++ b/src/api/participant.responses/participant.selected.action.plan/participant.selected.action.plan.validator.ts @@ -37,7 +37,7 @@ export class ParticipantSelectedActionPlanValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -69,7 +69,7 @@ export class ParticipantSelectedActionPlanValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -97,6 +97,6 @@ export class ParticipantSelectedActionPlanValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts index 0a9a7cf..8431801 100644 --- a/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts +++ b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.delegate.ts @@ -45,7 +45,7 @@ export class ParticipantSelectedGoalControllerDelegate { throw new ApiError('Unable to create participant selected goal!', 400); } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -53,7 +53,7 @@ export class ParticipantSelectedGoalControllerDelegate { ErrorHandler.throwNotFoundError('Participant selected goal with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -62,7 +62,7 @@ export class ParticipantSelectedGoalControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -76,7 +76,7 @@ export class ParticipantSelectedGoalControllerDelegate { throw new ApiError('Unable to update participant selected goal!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -87,7 +87,7 @@ export class ParticipantSelectedGoalControllerDelegate { return { Deleted : participantSelectedGoalDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -151,7 +151,7 @@ export class ParticipantSelectedGoalControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ParticipantSelectedGoalUpdateModel => { @@ -195,7 +195,7 @@ export class ParticipantSelectedGoalControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ParticipantSelectedGoalCreateModel => { return { @@ -212,7 +212,7 @@ export class ParticipantSelectedGoalControllerDelegate { StartDate : requestBody.StartDate ? requestBody.StartDate : null, EndDate : requestBody.EndDate ? requestBody.EndDate : null }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -234,7 +234,7 @@ export class ParticipantSelectedGoalControllerDelegate { EndDate : record.EndDate, ProgressStatus : record.ProgressStatus }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -256,8 +256,8 @@ export class ParticipantSelectedGoalControllerDelegate { EndDate : record.EndDate, ProgressStatus : record.ProgressStatus }; - } - + }; + //#endregion } diff --git a/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.ts b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.ts index 528e122..5c57287 100644 --- a/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.ts +++ b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.controller.ts @@ -33,7 +33,7 @@ export class ParticipantSelectedGoalController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -44,7 +44,7 @@ export class ParticipantSelectedGoalController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -55,7 +55,7 @@ export class ParticipantSelectedGoalController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -66,7 +66,7 @@ export class ParticipantSelectedGoalController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts index f0f70ce..baea9a5 100644 --- a/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts +++ b/src/api/participant.responses/participant.selected.goal/participant.selected.goal.validator.ts @@ -37,7 +37,7 @@ export class ParticipantSelectedGoalValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -69,7 +69,7 @@ export class ParticipantSelectedGoalValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -97,6 +97,6 @@ export class ParticipantSelectedGoalValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts index 4e7b86e..9fe69d5 100644 --- a/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts +++ b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.delegate.ts @@ -45,7 +45,7 @@ export class ParticipantSelectedPriorityControllerDelegate { throw new ApiError('Unable to create participant selected priority!', 400); } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -53,7 +53,7 @@ export class ParticipantSelectedPriorityControllerDelegate { ErrorHandler.throwNotFoundError('Participant selected priority with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -62,7 +62,7 @@ export class ParticipantSelectedPriorityControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -76,7 +76,7 @@ export class ParticipantSelectedPriorityControllerDelegate { throw new ApiError('Unable to update participant selected priority!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -87,7 +87,7 @@ export class ParticipantSelectedPriorityControllerDelegate { return { Deleted : participantSelectedPriorityDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -135,7 +135,7 @@ export class ParticipantSelectedPriorityControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): ParticipantSelectedPriorityUpdateModel => { @@ -170,7 +170,7 @@ export class ParticipantSelectedPriorityControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): ParticipantSelectedPriorityCreateModel => { return { @@ -184,7 +184,7 @@ export class ParticipantSelectedPriorityControllerDelegate { AssetCode : requestBody.AssetCode ? requestBody.AssetCode : null, StartDate : requestBody.StartDate ? requestBody.StartDate : null }; - } + }; getEnrichedDto = (record) => { if (record == null) { @@ -202,7 +202,7 @@ export class ParticipantSelectedPriorityControllerDelegate { AssetCode : record.AssetCode, StartDate : record.StartDate }; - } + }; getSearchDto = (record) => { if (record == null) { @@ -220,7 +220,7 @@ export class ParticipantSelectedPriorityControllerDelegate { AssetCode : record.AssetCode, StartDate : record.StartDate }; - } + }; //#endregion diff --git a/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.ts b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.ts index d8f93ae..d727570 100644 --- a/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.ts +++ b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.controller.ts @@ -33,7 +33,7 @@ export class ParticipantSelectedPriorityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -44,7 +44,7 @@ export class ParticipantSelectedPriorityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -55,7 +55,7 @@ export class ParticipantSelectedPriorityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -66,7 +66,7 @@ export class ParticipantSelectedPriorityController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts index 29eaa66..05f1e4b 100644 --- a/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts +++ b/src/api/participant.responses/participant.selected.priority/participant.selected.priority.validator.ts @@ -32,7 +32,7 @@ export class ParticipantSelectedPriorityValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -59,7 +59,7 @@ export class ParticipantSelectedPriorityValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -83,6 +83,6 @@ export class ParticipantSelectedPriorityValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/api/types/types.controller.delegate.ts b/src/api/types/types.controller.delegate.ts index 663b918..171fae6 100644 --- a/src/api/types/types.controller.delegate.ts +++ b/src/api/types/types.controller.delegate.ts @@ -1,7 +1,7 @@ import { RoleService } from "../../database/repository.services/role.service"; export class TypesControllerDelegate { - + //#region member variables and constructors _roleService: RoleService = null; @@ -14,6 +14,6 @@ export class TypesControllerDelegate { getRoleTypes = async () => { return await this._roleService.getAllRoles(); - } + }; } diff --git a/src/api/types/types.controller.ts b/src/api/types/types.controller.ts index d928bcc..a2d2b18 100644 --- a/src/api/types/types.controller.ts +++ b/src/api/types/types.controller.ts @@ -42,7 +42,7 @@ export class TypesController extends BaseController { Description : x.Description }; }); - + ResponseHandler.success(request, response, 'User role types retrieved successfully!', 200, { RoleTypes : roles, }); @@ -77,6 +77,7 @@ export class TypesController extends BaseController { ResponseHandler.handleError(request, response, error); } }; + // getPriorityTypes = async (request: express.Request, response: express.Response): Promise => { // try { // await this.setContext('HealthPriority.GetPrioritiesTypes', request, response); diff --git a/src/api/user.helper.ts b/src/api/user.helper.ts index 44f57cc..c9b7d0c 100644 --- a/src/api/user.helper.ts +++ b/src/api/user.helper.ts @@ -27,7 +27,7 @@ export class UserHelper { BirthDate : new Date(birthDate), Password : requestBody.Password ? requestBody.Password : null, }; - } + }; static getValidUserCreateModel = async (requestBody) => { @@ -67,7 +67,7 @@ export class UserHelper { var userCreateModel: UserCreateModel = await this.getUserCreateModel(requestBody); return { userCreateModel, password }; - } + }; static getValidParticipantCreateModel = async (requestBody) => { @@ -80,7 +80,7 @@ export class UserHelper { ErrorHandler.throwDuplicateUserError(`Participant with phone ${requestBody.CountryCode} ${requestBody.Phone.toString()} already exists!`); } - } + }; static getValidParticipantUpdateModel = async (user, requestBody) => { @@ -139,7 +139,7 @@ export class UserHelper { } return updateModel; - } + }; static getValidUserUpdateModel = async (user, requestBody) => { @@ -202,6 +202,6 @@ export class UserHelper { } return updateModel; - } + }; } diff --git a/src/api/user.role/user.role.controller.delegate.ts b/src/api/user.role/user.role.controller.delegate.ts index ce83e10..3f9e2b3 100644 --- a/src/api/user.role/user.role.controller.delegate.ts +++ b/src/api/user.role/user.role.controller.delegate.ts @@ -45,7 +45,7 @@ export class UserRoleControllerDelegate { throw new ApiError('Unable to create user role!', 400); } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record = await this._service.getById(id); @@ -53,7 +53,7 @@ export class UserRoleControllerDelegate { ErrorHandler.throwNotFoundError('User role with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query: any) => { await validator.validateSearchRequest(query); @@ -62,7 +62,7 @@ export class UserRoleControllerDelegate { var items = searchResults.Items.map(x => this.getSearchDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -76,7 +76,7 @@ export class UserRoleControllerDelegate { throw new ApiError('Unable to update user role!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record = await this._service.getById(id); @@ -85,9 +85,9 @@ export class UserRoleControllerDelegate { } const userRoleDeleted: boolean = await this._service.delete(id); return { - Deleted: userRoleDeleted + Deleted : userRoleDeleted }; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -107,11 +107,11 @@ export class UserRoleControllerDelegate { } return filters; - } + }; getUpdateModel = (requestBody): UserRoleUpdateModel => { - let updateModel: UserRoleUpdateModel = {}; + const updateModel: UserRoleUpdateModel = {}; if (Helper.hasProperty(requestBody, 'UserId')) { updateModel.UserId = requestBody.UserId; @@ -121,37 +121,38 @@ export class UserRoleControllerDelegate { } return updateModel; - } + }; getCreateModel = (requestBody): UserRoleCreateModel => { return { - UserId: requestBody.UserId ? requestBody.UserId : null, - RoleId: requestBody.RoleId ? requestBody.RoleId : null + UserId : requestBody.UserId ? requestBody.UserId : null, + RoleId : requestBody.RoleId ? requestBody.RoleId : null }; - } + }; getEnrichedDto = (record) => { if (record == null) { return null; } return { - id: record.id, - UserId: record.UserId, - RoleId: record.RoleId + id : record.id, + UserId : record.UserId, + RoleId : record.RoleId }; - } + }; getSearchDto = (record) => { if (record == null) { return null; } return { - id: record.id, - UserId: record.UserId, - RoleId: record.RoleId + id : record.id, + UserId : record.UserId, + RoleId : record.RoleId }; - } + }; //#endregion + } -/////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file +/////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/api/user.role/user.role.controller.ts b/src/api/user.role/user.role.controller.ts index 8fd9baa..7c1abe0 100644 --- a/src/api/user.role/user.role.controller.ts +++ b/src/api/user.role/user.role.controller.ts @@ -33,7 +33,7 @@ export class UserRoleController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -44,7 +44,7 @@ export class UserRoleController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -55,7 +55,7 @@ export class UserRoleController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -66,7 +66,7 @@ export class UserRoleController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/user.role/user.role.validator.ts b/src/api/user.role/user.role.validator.ts index 9bc085b..ebee49b 100644 --- a/src/api/user.role/user.role.validator.ts +++ b/src/api/user.role/user.role.validator.ts @@ -10,44 +10,44 @@ export class UserRoleValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - UserId: joi.string().guid({ - version: ['uuidv4'] + UserId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - RoleId: joi.number().integer().optional() + RoleId : joi.number().integer().optional() }); return await schema.validateAsync(requestBody); } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - UserId: joi.string().guid({ - version: ['uuidv4'] + UserId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - RoleId: joi.number().integer().optional() + RoleId : joi.number().integer().optional() }); return await schema.validateAsync(requestBody); } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { const schema = joi.object({ - userId: joi.string().guid({ - version: ['uuidv4'] + userId : joi.string().guid({ + version : ['uuidv4'] }).optional(), - roleId: joi.number().integer().optional() + roleId : joi.number().integer().optional() }); return await schema.validateAsync(query); } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; -} \ No newline at end of file +} diff --git a/src/api/user/user.controller.delegate.ts b/src/api/user/user.controller.delegate.ts index 6c4cdc8..0f2b5f4 100644 --- a/src/api/user/user.controller.delegate.ts +++ b/src/api/user/user.controller.delegate.ts @@ -56,7 +56,7 @@ export class UserControllerDelegate { // } return this.getEnrichedDto(record); - } + }; getById = async (id: uuid) => { const record: UserDto = await this._service.getById(id); @@ -64,7 +64,7 @@ export class UserControllerDelegate { ErrorHandler.throwNotFoundError('User with id ' + id.toString() + ' cannot be found!'); } return this.getEnrichedDto(record); - } + }; search = async (query) => { await validator.validateSearchRequest(query); @@ -73,7 +73,7 @@ export class UserControllerDelegate { var items = searchResults.Items.map(x => this.getPublicDto(x)); searchResults.Items = items; return searchResults; - } + }; update = async (id: uuid, requestBody: any) => { await validator.validateUpdateRequest(requestBody); @@ -87,7 +87,7 @@ export class UserControllerDelegate { throw new ApiError('Unable to update user!', 400); } return this.getEnrichedDto(updated); - } + }; delete = async (id: uuid) => { const record: UserDto = await this._service.getById(id); @@ -98,7 +98,7 @@ export class UserControllerDelegate { return { Deleted : userDeleted }; - } + }; loginWithPassword = async (requestBody) => { await validator.validateLoginWithPasswordRequest(requestBody); @@ -120,7 +120,7 @@ export class UserControllerDelegate { AccessToken : accessToken, SessionValidTill : validTill }; - } + }; getBySessionId = async (sessionId: uuid) => { const { user, session } = await this._service.getBySessionId(sessionId); @@ -129,7 +129,7 @@ export class UserControllerDelegate { } const currentUser: CurrentUser = this.constructCurrentUser(user, session.id); return currentUser; - } + }; loginWithOtp = async (requestBody) => { await validator.validateLoginWithOtpRequest(requestBody); @@ -160,7 +160,7 @@ export class UserControllerDelegate { AccessToken : accessToken, SessionValidTill : validTill }; - } + }; changePassword = async (requestBody) => { await validator.validatePasswordChangeRequest(requestBody); @@ -174,7 +174,7 @@ export class UserControllerDelegate { const hashedPassword = Helper.generateHashedPassword(passwordResetModel.NewPassword); return await this._service.resetPassword(passwordResetModel.User.id, hashedPassword); - } + }; sendOtp = async (requestBody) => { await validator.validateSendOtpRequest(requestBody); @@ -196,11 +196,11 @@ export class UserControllerDelegate { return true; } return false; - } + }; logout = async (userId, sessionId) => { await this._service.invalidateUserLoginSession(sessionId); - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -251,7 +251,7 @@ export class UserControllerDelegate { filters['LastUpdatedByUserId'] = lastUpdatedByUserId; } return filters; - } + }; //This function returns a response DTO which is enriched with available resource data @@ -278,7 +278,7 @@ export class UserControllerDelegate { AddedByUserId : record.AddedByUserId, LastUpdatedByUserId : record.LastUpdatedByUserId }; - } + }; //This function returns a response DTO which has only public parameters @@ -299,7 +299,7 @@ export class UserControllerDelegate { Gender : record.Gender, BirthDate : record.BirthDate, }; - } + }; getLoginModel = async (requestBody) => { @@ -321,7 +321,7 @@ export class UserControllerDelegate { Password : password, Otp : otp }; - } + }; getPasswordChangeModel = async (requestBody) => { const oldPassword = requestBody.OldPassword; @@ -335,7 +335,7 @@ export class UserControllerDelegate { OldPassword : oldPassword, NewPassword : newPassword, }; - } + }; constructCurrentUser = (user, sessionId): CurrentUser => { return { @@ -347,6 +347,6 @@ export class UserControllerDelegate { Phone : user.CountryCode + '-' + user.Phone, Email : user.Email }; - } + }; } diff --git a/src/api/user/user.controller.ts b/src/api/user/user.controller.ts index cead40d..656e560 100644 --- a/src/api/user/user.controller.ts +++ b/src/api/user/user.controller.ts @@ -27,7 +27,7 @@ export class UserController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise => { try { @@ -38,7 +38,7 @@ export class UserController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getBySessionId = async (request: express.Request, response: express.Response): Promise => { try { @@ -49,7 +49,7 @@ export class UserController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise => { try { @@ -60,7 +60,7 @@ export class UserController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise => { try { @@ -71,7 +71,7 @@ export class UserController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise => { try { diff --git a/src/api/user/user.validator.ts b/src/api/user/user.validator.ts index caa0301..8e9d507 100644 --- a/src/api/user/user.validator.ts +++ b/src/api/user/user.validator.ts @@ -27,7 +27,7 @@ export class UserValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSearchRequest = async (query) => { try { @@ -53,7 +53,7 @@ export class UserValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateUpdateRequest = async (requestBody) => { try { @@ -76,7 +76,7 @@ export class UserValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validatePasswordChangeRequest = async (requestBody) => { try { @@ -89,7 +89,7 @@ export class UserValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateResetPasswordLinkRequest = async (requestBody) => { try { @@ -100,7 +100,7 @@ export class UserValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSetPasswordRequest = async (requestBody) => { try { @@ -112,7 +112,7 @@ export class UserValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateLoginWithPasswordRequest = async (requestBody) => { try { @@ -127,7 +127,7 @@ export class UserValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateLoginWithOtpRequest = async (requestBody) => { try { @@ -142,7 +142,7 @@ export class UserValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validatePasswordResetRequest = async (requestBody) => { try { @@ -154,7 +154,7 @@ export class UserValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; static validateSendOtpRequest = async (requestBody) => { try { @@ -168,6 +168,6 @@ export class UserValidator { } catch (error) { ErrorHandler.handleValidationError(error); } - } + }; } diff --git a/src/auth/auth.injector.ts b/src/auth/auth.injector.ts index 58b8149..6df2c9a 100644 --- a/src/auth/auth.injector.ts +++ b/src/auth/auth.injector.ts @@ -8,7 +8,7 @@ import { CustomAuthorizer } from './custom/custom.authorizer'; export class AuthInjector { static registerInjections(container: DependencyContainer) { - + container.register('IAuthenticator', CustomAuthenticator); container.register('IAuthorizer', CustomAuthorizer); diff --git a/src/database/mappers/assets/goal.mapper.ts b/src/database/mappers/assets/goal.mapper.ts index f2bfdc0..0972e2b 100644 --- a/src/database/mappers/assets/goal.mapper.ts +++ b/src/database/mappers/assets/goal.mapper.ts @@ -11,17 +11,17 @@ export class GoalMapper { return null; } const dto: GoalDto = { - id: goal.id, - AssetCode: goal.AssetCode, - Name: goal.Name, - Description: goal.Description, - AssetCategory: goal.AssetCategory, - OwnerUserId: goal.OwnerUserId, - Tags: goal.Tags, - Version: goal.Version, + id : goal.id, + AssetCode : goal.AssetCode, + Name : goal.Name, + Description : goal.Description, + AssetCategory : goal.AssetCategory, + OwnerUserId : goal.OwnerUserId, + Tags : goal.Tags, + Version : goal.Version, }; return dto; }; -} \ No newline at end of file +} diff --git a/src/database/mappers/enrollment/participant.mapper.ts b/src/database/mappers/enrollment/participant.mapper.ts index c111ae2..037a455 100644 --- a/src/database/mappers/enrollment/participant.mapper.ts +++ b/src/database/mappers/enrollment/participant.mapper.ts @@ -11,18 +11,18 @@ export class ParticipantMapper { return null; } const dto: ParticipantDto = { - id : enrollment.id, - DisplayId : enrollment.DisplayId, - Prefix : enrollment.Prefix, - FirstName : enrollment.FirstName, - LastName : enrollment.LastName, - CountryCode : enrollment.CountryCode, - Phone : enrollment.Phone, - Email : enrollment.Email, - ParticipantReferenceId : enrollment.ParticipantReferenceId, - Gender : enrollment.Gender, - BirthDate : enrollment.BirthDate, - Country : enrollment.Country + id : enrollment.id, + DisplayId : enrollment.DisplayId, + Prefix : enrollment.Prefix, + FirstName : enrollment.FirstName, + LastName : enrollment.LastName, + CountryCode : enrollment.CountryCode, + Phone : enrollment.Phone, + Email : enrollment.Email, + ParticipantReferenceId : enrollment.ParticipantReferenceId, + Gender : enrollment.Gender, + BirthDate : enrollment.BirthDate, + Country : enrollment.Country }; return dto; diff --git a/src/database/mappers/user.role.mapper.ts b/src/database/mappers/user.role.mapper.ts index 6fd1019..dfd3555 100644 --- a/src/database/mappers/user.role.mapper.ts +++ b/src/database/mappers/user.role.mapper.ts @@ -11,12 +11,12 @@ export class UserRoleMapper { return null; } const dto: UserRoleDto = { - id: userRole.id, - UserId: userRole.UserId, - RoleId: userRole.RoleId, + id : userRole.id, + UserId : userRole.UserId, + RoleId : userRole.RoleId, }; return dto; }; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/animation.domain.types.ts b/src/domain.types/assets/animation.domain.types.ts index a02a103..84e1e77 100644 --- a/src/domain.types/assets/animation.domain.types.ts +++ b/src/domain.types/assets/animation.domain.types.ts @@ -52,4 +52,4 @@ export interface AnimationSearchFilters extends BaseSearchFilters { export interface AnimationSearchResults extends BaseSearchResults { Items: AnimationDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/article.domain.types.ts b/src/domain.types/assets/article.domain.types.ts index d525229..57f6851 100644 --- a/src/domain.types/assets/article.domain.types.ts +++ b/src/domain.types/assets/article.domain.types.ts @@ -52,4 +52,4 @@ export interface ArticleSearchFilters extends BaseSearchFilters { export interface ArticleSearchResults extends BaseSearchResults { Items: ArticleDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/assessment.domain.types.ts b/src/domain.types/assets/assessment.domain.types.ts index ffedb84..0e87dec 100644 --- a/src/domain.types/assets/assessment.domain.types.ts +++ b/src/domain.types/assets/assessment.domain.types.ts @@ -51,4 +51,4 @@ export interface AssessmentSearchFilters extends BaseSearchFilters { export interface AssessmentSearchResults extends BaseSearchResults { Items: AssessmentDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/audio.domain.types.ts b/src/domain.types/assets/audio.domain.types.ts index f3adce0..4934648 100644 --- a/src/domain.types/assets/audio.domain.types.ts +++ b/src/domain.types/assets/audio.domain.types.ts @@ -52,4 +52,4 @@ export interface AudioSearchFilters extends BaseSearchFilters { export interface AudioSearchResults extends BaseSearchResults { Items: AudioDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/challenge.domain.types.ts b/src/domain.types/assets/challenge.domain.types.ts index 78422e2..592de0a 100644 --- a/src/domain.types/assets/challenge.domain.types.ts +++ b/src/domain.types/assets/challenge.domain.types.ts @@ -47,4 +47,4 @@ export interface ChallengeSearchFilters extends BaseSearchFilters { export interface ChallengeSearchResults extends BaseSearchResults { Items: ChallengeDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/checkup.domain.types.ts b/src/domain.types/assets/checkup.domain.types.ts index bce6ba7..ebdeb90 100644 --- a/src/domain.types/assets/checkup.domain.types.ts +++ b/src/domain.types/assets/checkup.domain.types.ts @@ -47,4 +47,4 @@ export interface CheckupSearchFilters extends BaseSearchFilters { export interface CheckupSearchResults extends BaseSearchResults { Items: CheckupDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/goal.domain.types.ts b/src/domain.types/assets/goal.domain.types.ts index de73f79..2d8af16 100644 --- a/src/domain.types/assets/goal.domain.types.ts +++ b/src/domain.types/assets/goal.domain.types.ts @@ -47,4 +47,4 @@ export interface GoalSearchFilters extends BaseSearchFilters { export interface GoalSearchResults extends BaseSearchResults { Items: GoalDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/medication.domain.types.ts b/src/domain.types/assets/medication.domain.types.ts index 4e78a9b..405c0cf 100644 --- a/src/domain.types/assets/medication.domain.types.ts +++ b/src/domain.types/assets/medication.domain.types.ts @@ -47,4 +47,4 @@ export interface MedicationSearchFilters extends BaseSearchFilters { export interface MedicationSearchResults extends BaseSearchResults { Items: MedicationDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/nutrition.domain.types.ts b/src/domain.types/assets/nutrition.domain.types.ts index 8935b7c..0088d2b 100644 --- a/src/domain.types/assets/nutrition.domain.types.ts +++ b/src/domain.types/assets/nutrition.domain.types.ts @@ -47,4 +47,4 @@ export interface NutritionSearchFilters extends BaseSearchFilters { export interface NutritionSearchResults extends BaseSearchResults { Items: NutritionDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/physiotherapy.domain.types.ts b/src/domain.types/assets/physiotherapy.domain.types.ts index 3054dda..9753241 100644 --- a/src/domain.types/assets/physiotherapy.domain.types.ts +++ b/src/domain.types/assets/physiotherapy.domain.types.ts @@ -51,4 +51,4 @@ export interface PhysiotherapySearchFilters extends BaseSearchFilters { export interface PhysiotherapySearchResults extends BaseSearchResults { Items: PhysiotherapyDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/priority.domain.types.ts b/src/domain.types/assets/priority.domain.types.ts index acae34b..e88f87e 100644 --- a/src/domain.types/assets/priority.domain.types.ts +++ b/src/domain.types/assets/priority.domain.types.ts @@ -47,4 +47,4 @@ export interface PrioritySearchFilters extends BaseSearchFilters { export interface PrioritySearchResults extends BaseSearchResults { Items: PriorityDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/reflection.domain.types.ts b/src/domain.types/assets/reflection.domain.types.ts index d4c2a90..2a178af 100644 --- a/src/domain.types/assets/reflection.domain.types.ts +++ b/src/domain.types/assets/reflection.domain.types.ts @@ -47,4 +47,4 @@ export interface ReflectionSearchFilters extends BaseSearchFilters { export interface ReflectionSearchResults extends BaseSearchResults { Items: ReflectionDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/reminder.domain.types.ts b/src/domain.types/assets/reminder.domain.types.ts index 7254a68..ad39b23 100644 --- a/src/domain.types/assets/reminder.domain.types.ts +++ b/src/domain.types/assets/reminder.domain.types.ts @@ -47,4 +47,4 @@ export interface ReminderSearchFilters extends BaseSearchFilters { export interface ReminderSearchResults extends BaseSearchResults { Items: ReminderDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/web.link.domain.types.ts b/src/domain.types/assets/web.link.domain.types.ts index 76d8255..0f74fc2 100644 --- a/src/domain.types/assets/web.link.domain.types.ts +++ b/src/domain.types/assets/web.link.domain.types.ts @@ -51,4 +51,4 @@ export interface WebLinkSearchFilters extends BaseSearchFilters { export interface WebLinkSearchResults extends BaseSearchResults { Items: WebLinkDto[]; -} \ No newline at end of file +} diff --git a/src/domain.types/assets/web.newsfeed.domain.types.ts b/src/domain.types/assets/web.newsfeed.domain.types.ts index 5820f41..5ccfffa 100644 --- a/src/domain.types/assets/web.newsfeed.domain.types.ts +++ b/src/domain.types/assets/web.newsfeed.domain.types.ts @@ -51,4 +51,4 @@ export interface WebNewsfeedSearchFilters extends BaseSearchFilters { export interface WebNewsfeedSearchResults extends BaseSearchResults { Items: WebNewsfeedDto[]; -} \ No newline at end of file +} From fc6b5514d46c6aef77b285c56c3635e3286bdc2f Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Tue, 10 Jan 2023 19:04:16 +0530 Subject: [PATCH 097/169] Fixed semicolon linting issues --- src/api/assets/audio/audio.controller.ts | 8 ++++---- src/api/assets/checkup/checkup.controller.ts | 8 ++++---- .../participant.activity.response.controller.delegate.ts | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/api/assets/audio/audio.controller.ts b/src/api/assets/audio/audio.controller.ts index a0f2710..23ce690 100644 --- a/src/api/assets/audio/audio.controller.ts +++ b/src/api/assets/audio/audio.controller.ts @@ -36,7 +36,7 @@ export class AudioController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class AudioController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class AudioController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class AudioController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/assets/checkup/checkup.controller.ts b/src/api/assets/checkup/checkup.controller.ts index 5e268fa..d39d2d9 100644 --- a/src/api/assets/checkup/checkup.controller.ts +++ b/src/api/assets/checkup/checkup.controller.ts @@ -36,7 +36,7 @@ export class CheckupController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; getById = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -47,7 +47,7 @@ export class CheckupController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; search = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -58,7 +58,7 @@ export class CheckupController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { @@ -69,7 +69,7 @@ export class CheckupController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; delete = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts index 0b4cf1d..12a0f91 100644 --- a/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts +++ b/src/api/participant.responses/participant.activity.response/participant.activity.response.controller.delegate.ts @@ -32,7 +32,7 @@ export class ParticipantActivityResponseControllerDelegate { _service: ParticipantActivityResponseService = null; - _enrollmentTaskService: EnrollmentTaskService = null + _enrollmentTaskService: EnrollmentTaskService = null; constructor() { this._service = new ParticipantActivityResponseService(); From 63e3bc228f3a69b5f7c856f3a1e599ad6c2f99fb Mon Sep 17 00:00:00 2001 From: RupaliD Date: Mon, 16 Jan 2023 22:02:20 +0530 Subject: [PATCH 098/169] Implementation of statistic api --- .../statistics/statistics.service.ts | 395 +++++++++++++++--- .../careplan.activity.domain.types.ts | 2 +- 2 files changed, 338 insertions(+), 59 deletions(-) diff --git a/src/database/repository.services/statistics/statistics.service.ts b/src/database/repository.services/statistics/statistics.service.ts index ae7d167..a1aec19 100644 --- a/src/database/repository.services/statistics/statistics.service.ts +++ b/src/database/repository.services/statistics/statistics.service.ts @@ -17,7 +17,32 @@ import { import { EnrollmentTaskModel } from '../../../database/models/enrollment/enrollment.task.model'; import { CareplanCategoryModel } from '../../../database/models/careplan/careplan.category.model'; import { ApiClientModel } from '../../../database/models/api.client.model'; -import { AssetTypeList } from '../../../domain.types/assets/asset.types'; +// import { AssetTypeList } from '../../../domain.types/assets/asset.types'; +import { ActionPlanModel } from '../../../database/models/assets/action.plan.model'; +import { AnimationModel } from '../../../database/models/assets/animation.model'; +import { AppointmentModel } from '../../../database/models/assets/appointment.model'; +import { ArticleModel } from '../../../database/models/assets/article.model'; +import { AssessmentModel } from '../../../database/models/assets/assessment.model'; +import { AudioModel } from '../../../database/models/assets/audio.model'; +import { BiometricsModel } from '../../../database/models/assets/biometrics.model'; +import { ChallengeModel } from '../../../database/models/assets/challenge.model'; +import { CheckupModel } from '../../../database/models/assets/checkup.model'; +import { ConsultationModel } from '../../../database/models/assets/consultation.model'; +import { ExerciseModel } from '../../../database/models/assets/exercise.model'; +import { GoalModel } from '../../../database/models/assets/goal.model'; +import { InfographicsModel } from '../../../database/models/assets/infographics.model'; +import { MedicationModel } from '../../../database/models/assets/medication.model'; +import { MeditationModel } from '../../../database/models/assets/meditation.model'; +import { MessageModel } from '../../../database/models/assets/message.model'; +import { NutritionModel } from '../../../database/models/assets/nutrition.model'; +import { PhysiotherapyModel } from '../../../database/models/assets/physiotherapy.model'; +import { PriorityModel } from '../../../database/models/assets/priority.model'; +import { ReflectionModel } from '../../../database/models/assets/reflection.model'; +import { ReminderModel } from '../../../database/models/assets/reminder.model'; +import { VideoModel } from '../../../database/models/assets/video.model'; +import { WebLinkModel } from '../../../database/models/assets/web.link.model'; +import { WebNewsfeedModel } from '../../../database/models/assets/web.newsfeed.model'; +import { WordPowerModel } from '../../../database/models/assets/word.power.model'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -38,89 +63,227 @@ export class StatisticsService { CareplanCatrgory = CareplanCategoryModel.Model; ApiClient = ApiClientModel.Model; - //#endregion - getDashboardStats = async () => { - try { - // for enrollment stats + ActionPlan = ActionPlanModel.Model; - const EnrollmentResults = await this.Enrollment.findAndCountAll(); - console.log(`Enrollment = ${JSON.stringify(EnrollmentResults.rows)}`); + Animation = AnimationModel.Model; - const sortedEnrollments = (EnrollmentResults.rows).sort( - (a, b) => a.CreatedAt.getTime() - b.CreatedAt.getTime(), - ); + Appointment = AppointmentModel.Model; - var enrollmentsArray = function getFields(input, field) { - var output = []; - for (var i = 0; i < input.length ; ++i) - output.push(input[i][field]); - return output; - }; - - var retrievedDates = enrollmentsArray((sortedEnrollments), "CreatedAt"); - - var datesAaray = retrievedDates.map((element) => { - var d = new Date(element); - return `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`; - - }); + Article = ArticleModel.Model; - console.log(datesAaray); + Assessment = AssessmentModel.Model; - var incrementalEnrollmentCount = Array.from( - datesAaray.reduce((date, c) => date.set(c, (date.get(c) || 0) + 1), new Map()), - (([x, y]) => ({ x, y })) - ); - - console.log('Incrementalenrollment',incrementalEnrollmentCount); + Audio = AudioModel.Model; - const enrollmentStatistics = { - TotalEnrollments : EnrollmentResults.count, - IncrementalDaily : incrementalEnrollmentCount - }; + Biometrics = BiometricsModel.Model; - //for careplan stats + Challenge = ChallengeModel.Model; + + Checkup = CheckupModel.Model; + + Consultation = ConsultationModel.Model; + + Exercise = ExerciseModel.Model; - const CareplanResults = await this.Careplan.findAndCountAll(); + Goal = GoalModel.Model; + + Infographics = InfographicsModel.Model; + + Medication = MedicationModel.Model; + + Meditation = MeditationModel.Model; + + Message = MessageModel.Model; + + Nutrition = NutritionModel.Model; + + Physiotherapy = PhysiotherapyModel.Model; + + Priority = PriorityModel.Model; + + Reflection = ReflectionModel.Model; + + Reminder = ReminderModel.Model; + + Video = VideoModel.Model; + + WebLink = WebLinkModel.Model; + + WebNewsfeed = WebNewsfeedModel.Model; + + WordPower = WordPowerModel.Model; + + //#endregion + + getDashboardStats = async () => { + try { + //for careplan stats + const careplanResults_ = await this.Careplan.findAndCountAll(); + const careplanResults = careplanResults_.rows; + const accumulativeCareplanDaily = accumlativeData(careplanResults); + const incrementalCareplanDaily = incrementalData(careplanResults); const careplanStatistics = { - TotalCareplans : CareplanResults.count, + TotalCareplans : careplanResults_.count, + IncrementalDaily : incrementalCareplanDaily, + AccumlativeDaily : accumulativeCareplanDaily, }; // for api clients stats - - const ApiClientResults = await this.ApiClient.findAndCountAll(); - + const apiClientResults_ = await this.ApiClient.findAndCountAll(); + const apiClientResults = apiClientResults_.rows; + const accumulativeApiClientDaily = accumlativeData(apiClientResults); + const incrementalApiClientDaily = incrementalData(apiClientResults); const apiclientStatistics = { - TotalApiClients : ApiClientResults.count, - + TotalApiClients : apiClientResults_.count, + IncrementalDaily : incrementalApiClientDaily , + AccumlativeDaily : accumulativeApiClientDaily, + }; - // for assets stats + // for participant stats + const participantsResults_ = await this.Participant.findAndCountAll(); + const participantsResults = participantsResults_.rows; + const accumulativeParticipantDaily = accumlativeData(participantsResults); + const incrementalParticipantDaily = incrementalData(participantsResults); + const participantsStatistics = { + TotalParticipants : participantsResults_.count, + IncrementalDaily : incrementalParticipantDaily, + AccumlativeDaily : accumulativeParticipantDaily, + + }; - const assetTypes = AssetTypeList; + // for enrollment stats + const enrollmentResults_ = await this.Enrollment.findAndCountAll(); + const enrollmentResults = enrollmentResults_.rows; + const accumulativeEnrollmentDaily = accumlativeData(enrollmentResults); + const incrementalEnrollmentDaily = incrementalData(enrollmentResults); + const enrollmentStatistics = { + TotalEnrollments : enrollmentResults_.count, + IncrementalDaily : incrementalEnrollmentDaily, + AccumlativeDaily : accumulativeEnrollmentDaily + }; - const assetsStatistics = { - TotalAssets : assetTypes.length, - + // for active enrollment stats + const activeEnrollments = enrollmentResults.filter(x =>x.EndDate.getTime() >= new Date()); + const totalActiveEnrollments = activeEnrollments.length; + const accumulativeActiveEnrollmentDaily = accumlativeData(activeEnrollments); + const incrementalActiveEnrollmentDaily = incrementalData(activeEnrollments); + const activeEnrollmentsStatistics = { + TotalActiveEnrollments : totalActiveEnrollments, + IncrementalDaily : accumulativeActiveEnrollmentDaily, + AccumlativeDaily : incrementalActiveEnrollmentDaily, }; - // // for participant stats - const ParticipantsResults = await this.Participant.findAndCountAll(); + // for assets stats + const actionPlan_ = await this.ActionPlan.findAndCountAll(); + const actionPlan = actionPlan_.rows; + // console.log(`Enrollments = ${JSON.stringify(actionPlan)}`); + const animation_ = await this.Animation.findAndCountAll(); + const animation = animation_.rows; + const appointment_ = await this.Appointment.findAndCountAll(); + const appointment = appointment_.rows; + const article_ = await this.Article.findAndCountAll(); + const article = article_.rows; + const assessment_ = await this.Assessment.findAndCountAll(); + const assessment = assessment_.rows; + const audio_ = await this.Audio.findAndCountAll(); + const audio = audio_.rows; + const biometrics_ = await this.Biometrics.findAndCountAll(); + const biometrics = biometrics_.rows; + const challenge_ = await this.Challenge.findAndCountAll(); + const challenge = challenge_.rows; + const checkup_ = await this.Checkup.findAndCountAll(); + const checkup = checkup_.rows; + const consultation_ = await this.Consultation.findAndCountAll(); + const consultation = consultation_.rows; + const exercise_ = await this.Exercise.findAndCountAll(); + const exercise = exercise_.rows; + const goal_ = await this.Goal.findAndCountAll(); + const goal = goal_.rows; + const infographics_ = await this.Infographics.findAndCountAll(); + const infographics = infographics_.rows; + const medication_ = await this.Medication.findAndCountAll(); + const medication = medication_.rows; + const meditation_ = await this.Meditation.findAndCountAll(); + const meditation = meditation_.rows; + const message_ = await this.Message.findAndCountAll(); + const message = message_.rows; + const nutrition_ = await this.Nutrition.findAndCountAll(); + const nutrition = nutrition_.rows; + const physiotherapy_ = await this.Physiotherapy.findAndCountAll(); + const physiotherapy = physiotherapy_.rows; + const priority_ = await this.Priority.findAndCountAll(); + const priority = priority_.rows; + const reflection_ = await this.Reflection.findAndCountAll(); + const reflection = reflection_.rows; + const reminder_ = await this.Reminder.findAndCountAll(); + const reminder = reminder_.rows; + const video_ = await this.Video.findAndCountAll(); + const video = video_.rows; + const webLink_ = await this.WebLink.findAndCountAll(); + const webLink = webLink_.rows; + const webNewsfeed_ = await this.WebNewsfeed.findAndCountAll(); + const webNewsfeed = webNewsfeed_.rows; + const wordPower_ = await this.WordPower.findAndCountAll(); + const wordPower = wordPower_.rows; + + const assets = + [...actionPlan, + ...animation, + ...appointment, + ...article, + ...assessment, + ...audio, + ...biometrics, + ...challenge, + ...checkup, + ...consultation, + ...exercise, + ...goal, + ...infographics, + ...medication, + ...meditation, + ...message, + ...nutrition, + ...physiotherapy, + ...priority, + ...reflection, + ...reminder, + ...video, + ...webLink, + ...webNewsfeed, + ...wordPower, + ] ; + const totalAssetsCount = ( + (actionPlan_.count) + (animation_.count) + (appointment_.count) + (article_.count) + + (assessment_.count) + (audio_.count) + (biometrics_.count) + (challenge_.count) + + (checkup_.count) + (consultation_.count) + (exercise_.count) + (goal_.count) + + (medication_.count) + (meditation_.count) + (message_.count) + + (nutrition_.count) + (physiotherapy_.count) + (priority_.count) + + (reflection_.count) + (reminder_.count) + (video_.count) + + (webLink_.count) + (webNewsfeed_.count) + (wordPower_.count) + ); - const participantsStatistics = { - TotalParticipants : ParticipantsResults.count, - + const accumulativeAssetsDaily = accumlativeData(assets); + const incrementalAssetsDaily = incrementalData(assets); + // const assetTypes = AssetTypeList; + const assetsStatistics = { + TotalAssets : totalAssetsCount, + IncrementalDaily : accumulativeAssetsDaily, + AccumlativeDaily : incrementalAssetsDaily, + }; const dashboardStats = { - EnrollmentStatistics : enrollmentStatistics, - CareplanStatistics : careplanStatistics, - ApiclientStatistics : apiclientStatistics, - ParticipantStatistics : participantsStatistics, - AssetsStatistics : assetsStatistics + CareplanStatistics : careplanStatistics, + ApiclientStatistics : apiclientStatistics, + ParticipantStatistics : participantsStatistics, + EnrollmentStatistics : enrollmentStatistics, + ActiveEnrollmentStatistics : activeEnrollmentsStatistics, + AssetsStatistics : assetsStatistics, }; @@ -133,3 +296,119 @@ export class StatisticsService { } } + +const accumlativeData = (retrivedData) => { + try { + const createdAtDate: Date[] = []; + (retrivedData).forEach((item) => { + createdAtDate.push(new Date(item.CreatedAt)); + }); + const accumulativeDaily: { x: Date; y: number }[] = []; + const uniqueDate: Date[] = []; + let flag = 0; + createdAtDate.forEach((item) => { + const d = new Date(item); + d.setUTCHours(0, 0, 0, 0); + uniqueDate.forEach((j) => { + const p = new Date(j); + p.setUTCHours(0, 0, 0, 0); + if (p.getTime() === d.getTime()) { + flag = 1; + } + }); + if (flag === 0) { + uniqueDate.push(d); + flag = 0; + } + }); + uniqueDate.sort((a: Date, b: Date) => { + return a.getTime() - b.getTime(); + }); + const startDate = new Date(uniqueDate[0]); + const endDate = new Date(uniqueDate[uniqueDate.length - 1]); + let count = 0; + while (startDate.getTime() <= endDate.getTime()) { + let temp = new Date(startDate); + createdAtDate.forEach(() => { + createdAtDate.forEach((i) => { + const c = new Date(i); + c.setUTCHours(0, 0, 0, 0); + if (c.getTime() === temp.getTime()) { + count++; + } + }); + accumulativeDaily.push({ + x : temp, + y : count, + }); + count = 0; + startDate.setUTCDate(startDate.getUTCDate() + 1); + temp = new Date(startDate); + + }); + } + return accumulativeDaily; + } + catch (err){ + ErrorHandler.throwDbAccessError('DB Error: Unable to search records!', err); + } +}; + +const incrementalData = (retrivedData) => { + try { + const createdAtDate: Date[] = []; + (retrivedData).forEach((item) => { + createdAtDate.push(new Date(item.CreatedAt)); + }); + const incrementalDaily: { x: Date; y: number }[] = []; + const uniqueDate: Date[] = []; + let flag = 0; + createdAtDate.forEach((item) => { + const d = new Date(item); + d.setUTCHours(0, 0, 0, 0); + uniqueDate.forEach((j) => { + const p = new Date(j); + p.setUTCHours(0, 0, 0, 0); + if (p.getTime() === d.getTime()) { + flag = 1; + } + }); + if (flag === 0) { + uniqueDate.push(d); + flag = 0; + } + }); + uniqueDate.sort((a: Date, b: Date) => { + return a.getTime() - b.getTime(); + }); + const start1 = new Date(uniqueDate[0]); + const end1 = new Date(uniqueDate[uniqueDate.length - 1]); + let count = 0; + + while (start1.getTime() <= end1.getTime()) { + let temp = new Date(start1); + createdAtDate.forEach(() => { + createdAtDate.forEach((i) => { + const c = new Date(i); + c.setUTCHours(0, 0, 0, 0); + if (c.getTime() === temp.getTime()) { + count++; + } + }); + incrementalDaily.push({ + x : temp, + y : count, + }); + const y = count; + count = y; + start1.setUTCDate(start1.getUTCDate() + 1); + temp = new Date(start1); + + }); + } + return incrementalDaily; + } + catch (err){ + ErrorHandler.throwDbAccessError('DB Error: Unable to search records!', err); + } +}; diff --git a/src/domain.types/careplan/careplan.activity.domain.types.ts b/src/domain.types/careplan/careplan.activity.domain.types.ts index 95c579d..bb33ce1 100644 --- a/src/domain.types/careplan/careplan.activity.domain.types.ts +++ b/src/domain.types/careplan/careplan.activity.domain.types.ts @@ -32,7 +32,7 @@ export interface CareplanActivityDto { Day : number; TimeSlot : TimeSlot; IsRegistrationActivity: boolean; - Code : CareplanDto[]; + Code : CareplanDto[]; } export interface CareplanActivitySearchFilters extends BaseSearchFilters { From 489d7c596a83d92cbf15f6ab10e5e815256c1768 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Mon, 16 Jan 2023 22:04:02 +0530 Subject: [PATCH 099/169] Changed the required parameter to optional for assets --- .../careplan.activity.controller.delegate.ts | 2 +- src/database/models/assets/action.plan.model.ts | 2 +- src/database/models/assets/animation.model.ts | 2 +- src/database/models/assets/appointment.model.ts | 2 +- src/database/models/assets/article.model.ts | 3 +-- src/database/models/assets/assessment.model.ts | 8 ++++---- src/database/models/assets/audio.model.ts | 2 +- src/database/models/assets/biometrics.model.ts | 2 +- src/database/models/assets/challenge.model.ts | 2 +- src/database/models/assets/checkup.model.ts | 2 +- src/database/models/assets/consultation.model.ts | 2 +- src/database/models/assets/exercise.model.ts | 4 ++-- src/database/models/assets/goal.model.ts | 2 +- src/database/models/assets/infographics.model.ts | 2 +- src/database/models/assets/medication.model.ts | 2 +- src/database/models/assets/meditation.model.ts | 2 +- src/database/models/assets/message.model.ts | 2 +- src/database/models/assets/nutrition.model.ts | 2 +- src/database/models/assets/physiotherapy.model.ts | 2 +- src/database/models/assets/priority.model.ts | 2 +- src/database/models/assets/reflection.model.ts | 2 +- src/database/models/assets/reminder.model.ts | 2 +- src/database/models/assets/video.model.ts | 2 +- src/database/models/assets/web.link.model.ts | 2 +- src/database/models/assets/web.newsfeed.model.ts | 2 +- src/database/models/assets/word.power.model.ts | 2 +- 26 files changed, 30 insertions(+), 31 deletions(-) diff --git a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts index 390fc90..fc8683f 100644 --- a/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts +++ b/src/api/careplan/careplan.activity/careplan.activity.controller.delegate.ts @@ -193,7 +193,7 @@ export class CareplanActivityControllerDelegate { Day : record.Day, TimeSlot : record.TimeSlot, IsRegistrationActivity : record.IsRegistrationActivity, - Code : record.Careplan.Code + Code : record.Careplan.Code }; }; diff --git a/src/database/models/assets/action.plan.model.ts b/src/database/models/assets/action.plan.model.ts index c64c732..cd7aa74 100644 --- a/src/database/models/assets/action.plan.model.ts +++ b/src/database/models/assets/action.plan.model.ts @@ -39,7 +39,7 @@ export class ActionPlanModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/animation.model.ts b/src/database/models/assets/animation.model.ts index 2258c68..b8a6830 100644 --- a/src/database/models/assets/animation.model.ts +++ b/src/database/models/assets/animation.model.ts @@ -39,7 +39,7 @@ export class AnimationModel { }, Transcript : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, Url : { type : DataTypes.TEXT, diff --git a/src/database/models/assets/appointment.model.ts b/src/database/models/assets/appointment.model.ts index 16610da..6cb894d 100644 --- a/src/database/models/assets/appointment.model.ts +++ b/src/database/models/assets/appointment.model.ts @@ -40,7 +40,7 @@ export class AppointmentModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AppointmentType : { type : DataTypes.ENUM({ values: AppointmentTypeList }), diff --git a/src/database/models/assets/article.model.ts b/src/database/models/assets/article.model.ts index 971f2cf..0d9764b 100644 --- a/src/database/models/assets/article.model.ts +++ b/src/database/models/assets/article.model.ts @@ -39,7 +39,7 @@ export class ArticleModel { }, Summary : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, Url : { type : DataTypes.TEXT, @@ -70,7 +70,6 @@ export class ArticleModel { allowNull : false, defaultValue : 'V1' }, - CreatedAt : DataTypes.DATE, UpdatedAt : DataTypes.DATE, DeletedAt : DataTypes.DATE diff --git a/src/database/models/assets/assessment.model.ts b/src/database/models/assets/assessment.model.ts index f546b23..5f2ea52 100644 --- a/src/database/models/assets/assessment.model.ts +++ b/src/database/models/assets/assessment.model.ts @@ -39,7 +39,7 @@ export class AssessmentModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), @@ -48,7 +48,7 @@ export class AssessmentModel { }, Template : { type : DataTypes.TEXT, - allowNull : false, + allowNull : true, defaultValue : '{}' }, OwnerUserId : { @@ -57,12 +57,12 @@ export class AssessmentModel { }, Tags : { type : DataTypes.TEXT, - allowNull : false, + allowNull : true, defaultValue : '[]' }, Version : { type : DataTypes.STRING(128), - allowNull : false, + allowNull : true, defaultValue : 'V1' }, diff --git a/src/database/models/assets/audio.model.ts b/src/database/models/assets/audio.model.ts index c5bf0d0..11caf29 100644 --- a/src/database/models/assets/audio.model.ts +++ b/src/database/models/assets/audio.model.ts @@ -39,7 +39,7 @@ export class AudioModel { }, Transcript : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, Url : { type : DataTypes.TEXT, diff --git a/src/database/models/assets/biometrics.model.ts b/src/database/models/assets/biometrics.model.ts index 81b36e1..a85fc46 100644 --- a/src/database/models/assets/biometrics.model.ts +++ b/src/database/models/assets/biometrics.model.ts @@ -40,7 +40,7 @@ export class BiometricsModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/challenge.model.ts b/src/database/models/assets/challenge.model.ts index b0566cf..be3161b 100644 --- a/src/database/models/assets/challenge.model.ts +++ b/src/database/models/assets/challenge.model.ts @@ -39,7 +39,7 @@ export class ChallengeModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/checkup.model.ts b/src/database/models/assets/checkup.model.ts index beb461b..c809aba 100644 --- a/src/database/models/assets/checkup.model.ts +++ b/src/database/models/assets/checkup.model.ts @@ -39,7 +39,7 @@ export class CheckupModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/consultation.model.ts b/src/database/models/assets/consultation.model.ts index 30199cb..a7ac02c 100644 --- a/src/database/models/assets/consultation.model.ts +++ b/src/database/models/assets/consultation.model.ts @@ -40,7 +40,7 @@ export class ConsultationModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, ConsultationType : { type : DataTypes.ENUM({ values: ConsultationTypeList }), diff --git a/src/database/models/assets/exercise.model.ts b/src/database/models/assets/exercise.model.ts index 313e92b..a359d4f 100644 --- a/src/database/models/assets/exercise.model.ts +++ b/src/database/models/assets/exercise.model.ts @@ -41,7 +41,7 @@ export class ExerciseModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, ExerciseType : { type : DataTypes.ENUM({ values: ExerciseTypeList }), @@ -55,7 +55,7 @@ export class ExerciseModel { }, RecommendedDurationMin : { type : DataTypes.INTEGER, - allowNull : false, + allowNull : true, defaultValue : 15 }, AssetCategory : { diff --git a/src/database/models/assets/goal.model.ts b/src/database/models/assets/goal.model.ts index 9f9b65f..e8e25ee 100644 --- a/src/database/models/assets/goal.model.ts +++ b/src/database/models/assets/goal.model.ts @@ -39,7 +39,7 @@ export class GoalModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/infographics.model.ts b/src/database/models/assets/infographics.model.ts index abbdd50..4ebadc9 100644 --- a/src/database/models/assets/infographics.model.ts +++ b/src/database/models/assets/infographics.model.ts @@ -39,7 +39,7 @@ export class InfographicsModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, Url : { type : DataTypes.TEXT, diff --git a/src/database/models/assets/medication.model.ts b/src/database/models/assets/medication.model.ts index abb711c..f2e2558 100644 --- a/src/database/models/assets/medication.model.ts +++ b/src/database/models/assets/medication.model.ts @@ -39,7 +39,7 @@ export class MedicationModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/meditation.model.ts b/src/database/models/assets/meditation.model.ts index 2a2a13f..176ffc8 100644 --- a/src/database/models/assets/meditation.model.ts +++ b/src/database/models/assets/meditation.model.ts @@ -40,7 +40,7 @@ export class MeditationModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, MeditationType : { type : DataTypes.ENUM({ values: MeditationTypeList }), diff --git a/src/database/models/assets/message.model.ts b/src/database/models/assets/message.model.ts index 67cfd4c..9c89196 100644 --- a/src/database/models/assets/message.model.ts +++ b/src/database/models/assets/message.model.ts @@ -40,7 +40,7 @@ export class MessageModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, Category : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/nutrition.model.ts b/src/database/models/assets/nutrition.model.ts index 0beb32f..0a17d85 100644 --- a/src/database/models/assets/nutrition.model.ts +++ b/src/database/models/assets/nutrition.model.ts @@ -39,7 +39,7 @@ export class NutritionModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/physiotherapy.model.ts b/src/database/models/assets/physiotherapy.model.ts index 4057993..5f52039 100644 --- a/src/database/models/assets/physiotherapy.model.ts +++ b/src/database/models/assets/physiotherapy.model.ts @@ -39,7 +39,7 @@ export class PhysiotherapyModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, RecommendedDurationMin : { type : DataTypes.INTEGER, diff --git a/src/database/models/assets/priority.model.ts b/src/database/models/assets/priority.model.ts index b72c16b..fe1ed48 100644 --- a/src/database/models/assets/priority.model.ts +++ b/src/database/models/assets/priority.model.ts @@ -39,7 +39,7 @@ export class PriorityModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/reflection.model.ts b/src/database/models/assets/reflection.model.ts index 7a0bbf8..1b3b161 100644 --- a/src/database/models/assets/reflection.model.ts +++ b/src/database/models/assets/reflection.model.ts @@ -39,7 +39,7 @@ export class ReflectionModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/reminder.model.ts b/src/database/models/assets/reminder.model.ts index b9653be..fbe0c08 100644 --- a/src/database/models/assets/reminder.model.ts +++ b/src/database/models/assets/reminder.model.ts @@ -39,7 +39,7 @@ export class ReminderModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AssetCategory : { type : DataTypes.STRING(128), diff --git a/src/database/models/assets/video.model.ts b/src/database/models/assets/video.model.ts index e6f0bb8..900a692 100644 --- a/src/database/models/assets/video.model.ts +++ b/src/database/models/assets/video.model.ts @@ -39,7 +39,7 @@ export class VideoModel { }, Transcript : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, Url : { type : DataTypes.TEXT, diff --git a/src/database/models/assets/web.link.model.ts b/src/database/models/assets/web.link.model.ts index 27b799a..53c598b 100644 --- a/src/database/models/assets/web.link.model.ts +++ b/src/database/models/assets/web.link.model.ts @@ -39,7 +39,7 @@ export class WebLinkModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, Url : { type : DataTypes.TEXT, diff --git a/src/database/models/assets/web.newsfeed.model.ts b/src/database/models/assets/web.newsfeed.model.ts index 25e36ad..5699f28 100644 --- a/src/database/models/assets/web.newsfeed.model.ts +++ b/src/database/models/assets/web.newsfeed.model.ts @@ -39,7 +39,7 @@ export class WebNewsfeedModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, Url : { type : DataTypes.TEXT, diff --git a/src/database/models/assets/word.power.model.ts b/src/database/models/assets/word.power.model.ts index 0eee94f..1ceea9f 100644 --- a/src/database/models/assets/word.power.model.ts +++ b/src/database/models/assets/word.power.model.ts @@ -39,7 +39,7 @@ export class WordPowerModel { }, Description : { type : DataTypes.TEXT, - allowNull : false + allowNull : true }, AdditionalResources : { type : DataTypes.TEXT, From 630e3c1deaffc78df0b9efabf3b1aaf4c5710eaf Mon Sep 17 00:00:00 2001 From: RupaliD Date: Tue, 17 Jan 2023 13:12:02 +0530 Subject: [PATCH 100/169] Assets validator changes for optional field --- src/api/assets/action.plan/action.plan.validator.ts | 4 ++-- src/api/assets/animation/animation.validator.ts | 8 ++++---- src/api/assets/appointment/appointment.validator.ts | 2 +- src/api/assets/article/article.validator.ts | 8 ++++---- src/api/assets/assessment/assessment.validator.ts | 8 ++++---- src/api/assets/audio/audio.validator.ts | 8 ++++---- src/api/assets/biometrics/biometrics.validator.ts | 8 ++++---- src/api/assets/challenge/challenge.validator.ts | 4 ++-- src/api/assets/checkup/checkup.validator.ts | 4 ++-- src/api/assets/consultation/consultation.validator.ts | 4 ++-- src/api/assets/exercise/exercise.validator.ts | 4 ++-- src/api/assets/goal/goal.validator.ts | 4 ++-- src/api/assets/infographics/infographics.validator.ts | 8 ++++---- src/api/assets/medication/medication.validator.ts | 4 ++-- src/api/assets/meditation/meditation.validator.ts | 4 ++-- src/api/assets/message/message.validator.ts | 8 ++++---- src/api/assets/nutrition/nutrition.validator.ts | 4 ++-- src/api/assets/physiotherapy/physiotherapy.validator.ts | 4 ++-- src/api/assets/priority/priority.validator.ts | 4 ++-- src/api/assets/reflection/reflection.validator.ts | 4 ++-- src/api/assets/reminder/reminder.validator.ts | 4 ++-- src/api/assets/video/video.validator.ts | 8 ++++---- src/api/assets/web.link/web.link.validator.ts | 8 ++++---- src/api/assets/web.newsfeed/web.newsfeed.validator.ts | 4 ++-- src/api/assets/word.power/word.power.validator.ts | 4 ++-- .../repository.services/statistics/statistics.service.ts | 4 ++-- 26 files changed, 69 insertions(+), 69 deletions(-) diff --git a/src/api/assets/action.plan/action.plan.validator.ts b/src/api/assets/action.plan/action.plan.validator.ts index 561d90e..f5e97f4 100644 --- a/src/api/assets/action.plan/action.plan.validator.ts +++ b/src/api/assets/action.plan/action.plan.validator.ts @@ -12,7 +12,7 @@ export class ActionPlanValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).required(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -30,7 +30,7 @@ export class ActionPlanValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/animation/animation.validator.ts b/src/api/assets/animation/animation.validator.ts index 02532b3..1e49a98 100644 --- a/src/api/assets/animation/animation.validator.ts +++ b/src/api/assets/animation/animation.validator.ts @@ -12,8 +12,8 @@ export class AnimationValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Transcript : joi.string().optional(), - Url : joi.string().optional(), + Transcript : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -31,8 +31,8 @@ export class AnimationValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Transcript : joi.string().optional(), - Url : joi.string().optional(), + Transcript : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/appointment/appointment.validator.ts b/src/api/assets/appointment/appointment.validator.ts index 528977b..2b8fd47 100644 --- a/src/api/assets/appointment/appointment.validator.ts +++ b/src/api/assets/appointment/appointment.validator.ts @@ -12,7 +12,7 @@ export class AppointmentValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), AppointmentType : joi.string().valid("Doctor", "Lab", "Physiotherapy", "Other").optional(), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), diff --git a/src/api/assets/article/article.validator.ts b/src/api/assets/article/article.validator.ts index 968f010..47c8451 100644 --- a/src/api/assets/article/article.validator.ts +++ b/src/api/assets/article/article.validator.ts @@ -12,8 +12,8 @@ export class ArticleValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Summary : joi.string().optional(), - Url : joi.string().optional(), + Summary : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -31,8 +31,8 @@ export class ArticleValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Summary : joi.string().optional(), - Url : joi.string().optional(), + Summary : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/assessment/assessment.validator.ts b/src/api/assets/assessment/assessment.validator.ts index 5937d1a..64191d3 100644 --- a/src/api/assets/assessment/assessment.validator.ts +++ b/src/api/assets/assessment/assessment.validator.ts @@ -12,8 +12,8 @@ export class AssessmentValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - Template : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), + Template : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -31,8 +31,8 @@ export class AssessmentValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - Template : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), + Template : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/audio/audio.validator.ts b/src/api/assets/audio/audio.validator.ts index e2b0e3c..83e3d1a 100644 --- a/src/api/assets/audio/audio.validator.ts +++ b/src/api/assets/audio/audio.validator.ts @@ -12,8 +12,8 @@ export class AudioValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Transcript : joi.string().optional(), - Url : joi.string().optional(), + Transcript : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -31,8 +31,8 @@ export class AudioValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Transcript : joi.string().optional(), - Url : joi.string().optional(), + Transcript : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/biometrics/biometrics.validator.ts b/src/api/assets/biometrics/biometrics.validator.ts index 7ba12d9..89438f2 100644 --- a/src/api/assets/biometrics/biometrics.validator.ts +++ b/src/api/assets/biometrics/biometrics.validator.ts @@ -12,9 +12,9 @@ export class BiometricsValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), BiometricsType : joi.string().valid("Blood pressure", "Blood glucose", "Blood oxygen saturation", "Body height", "Body weight", "Body temperature", "Pulse", "Other").optional(), - MeasurementUnit : joi.string().max(128).optional(), + MeasurementUnit : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -32,9 +32,9 @@ export class BiometricsValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), BiometricsType : joi.string().valid("Blood pressure", "Blood glucose", "Blood oxygen saturation", "Body height", "Body weight", "Body temperature", "Pulse", "Other").optional(), - MeasurementUnit : joi.string().max(128).optional(), + MeasurementUnit : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/challenge/challenge.validator.ts b/src/api/assets/challenge/challenge.validator.ts index 4703f61..b51750d 100644 --- a/src/api/assets/challenge/challenge.validator.ts +++ b/src/api/assets/challenge/challenge.validator.ts @@ -12,7 +12,7 @@ export class ChallengeValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -30,7 +30,7 @@ export class ChallengeValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/checkup/checkup.validator.ts b/src/api/assets/checkup/checkup.validator.ts index b217fd4..f6b6f4a 100644 --- a/src/api/assets/checkup/checkup.validator.ts +++ b/src/api/assets/checkup/checkup.validator.ts @@ -12,7 +12,7 @@ export class CheckupValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -30,7 +30,7 @@ export class CheckupValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/consultation/consultation.validator.ts b/src/api/assets/consultation/consultation.validator.ts index 07e1209..3af351a 100644 --- a/src/api/assets/consultation/consultation.validator.ts +++ b/src/api/assets/consultation/consultation.validator.ts @@ -12,7 +12,7 @@ export class ConsultationValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), ConsultationType : joi.string().valid("Tele-consultation", "Visit-consultation", "Other").optional(), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), @@ -31,7 +31,7 @@ export class ConsultationValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), ConsultationType : joi.string().valid("Tele-consultation", "Visit-consultation", "Other").optional(), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() diff --git a/src/api/assets/exercise/exercise.validator.ts b/src/api/assets/exercise/exercise.validator.ts index 653ea28..2ebc324 100644 --- a/src/api/assets/exercise/exercise.validator.ts +++ b/src/api/assets/exercise/exercise.validator.ts @@ -12,7 +12,7 @@ export class ExerciseValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), ExerciseType : joi.string().valid("Strength", "Aerobic", "Balance", "Reflexes", "Flexibility").optional(), IntensityLevel : joi.string().valid("None", "Minimal", "Moderate", "Somewhat hard", "Hard", "Harder", "Very hard", "Extremely hard", "Maximum effort").optional(), RecommendedDurationMin : joi.number().integer().optional(), @@ -33,7 +33,7 @@ export class ExerciseValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), ExerciseType : joi.string().valid("Strength", "Aerobic", "Balance", "Reflexes", "Flexibility").optional(), IntensityLevel : joi.string().valid("None", "Minimal", "Moderate", "Somewhat hard", "Hard", "Harder", "Very hard", "Extremely hard", "Maximum effort").optional(), RecommendedDurationMin : joi.number().integer().optional(), diff --git a/src/api/assets/goal/goal.validator.ts b/src/api/assets/goal/goal.validator.ts index e2315f5..dbbc039 100644 --- a/src/api/assets/goal/goal.validator.ts +++ b/src/api/assets/goal/goal.validator.ts @@ -12,7 +12,7 @@ export class GoalValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -30,7 +30,7 @@ export class GoalValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/infographics/infographics.validator.ts b/src/api/assets/infographics/infographics.validator.ts index bb47511..08b34aa 100644 --- a/src/api/assets/infographics/infographics.validator.ts +++ b/src/api/assets/infographics/infographics.validator.ts @@ -12,8 +12,8 @@ export class InfographicsValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - Url : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -31,8 +31,8 @@ export class InfographicsValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - Url : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/medication/medication.validator.ts b/src/api/assets/medication/medication.validator.ts index cae23ec..132ed49 100644 --- a/src/api/assets/medication/medication.validator.ts +++ b/src/api/assets/medication/medication.validator.ts @@ -12,7 +12,7 @@ export class MedicationValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -30,7 +30,7 @@ export class MedicationValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/meditation/meditation.validator.ts b/src/api/assets/meditation/meditation.validator.ts index 9b6608d..d21babf 100644 --- a/src/api/assets/meditation/meditation.validator.ts +++ b/src/api/assets/meditation/meditation.validator.ts @@ -12,7 +12,7 @@ export class MeditationValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), MeditationType : joi.string().valid("Mindfulness", "Spiritual", "Focused", "Mantra", "Progressive relaxation", "Transcendental", "Visualization").optional(), RecommendedDurationMin : joi.number().integer().optional(), Tags : joi.array().items(joi.string()).optional(), @@ -32,7 +32,7 @@ export class MeditationValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), MeditationType : joi.string().valid("Mindfulness", "Spiritual", "Focused", "Mantra", "Progressive relaxation", "Transcendental", "Visualization").optional(), RecommendedDurationMin : joi.number().integer().optional(), Tags : joi.array().items(joi.string()).optional(), diff --git a/src/api/assets/message/message.validator.ts b/src/api/assets/message/message.validator.ts index 18f2e40..6ea0de5 100644 --- a/src/api/assets/message/message.validator.ts +++ b/src/api/assets/message/message.validator.ts @@ -12,10 +12,10 @@ export class MessageValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), MessageType : joi.string().valid("Educational", "Status", "Unknown").optional(), Tags : joi.array().items(joi.string()).optional(), - Url : joi.string().optional(), + Url : joi.string().optional().allow(null, ''), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ version : ['uuidv4'] @@ -32,10 +32,10 @@ export class MessageValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), MessageType : joi.string().valid("Educational", "Status", "Unknown").optional(), Tags : joi.array().items(joi.string()).optional(), - Url : joi.string().optional(), + Url : joi.string().optional().allow(null, ''), Version : joi.string().max(128).optional() }); return await schema.validateAsync(requestBody); diff --git a/src/api/assets/nutrition/nutrition.validator.ts b/src/api/assets/nutrition/nutrition.validator.ts index 7ea20b5..5df8842 100644 --- a/src/api/assets/nutrition/nutrition.validator.ts +++ b/src/api/assets/nutrition/nutrition.validator.ts @@ -12,7 +12,7 @@ export class NutritionValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -30,7 +30,7 @@ export class NutritionValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/physiotherapy/physiotherapy.validator.ts b/src/api/assets/physiotherapy/physiotherapy.validator.ts index 21b38a8..2b29795 100644 --- a/src/api/assets/physiotherapy/physiotherapy.validator.ts +++ b/src/api/assets/physiotherapy/physiotherapy.validator.ts @@ -12,7 +12,7 @@ export class PhysiotherapyValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), RecommendedDurationMin : joi.number().integer().optional(), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), @@ -31,7 +31,7 @@ export class PhysiotherapyValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), RecommendedDurationMin : joi.number().integer().optional(), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() diff --git a/src/api/assets/priority/priority.validator.ts b/src/api/assets/priority/priority.validator.ts index dd0ad37..ad923de 100644 --- a/src/api/assets/priority/priority.validator.ts +++ b/src/api/assets/priority/priority.validator.ts @@ -12,7 +12,7 @@ export class PriorityValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -30,7 +30,7 @@ export class PriorityValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/reflection/reflection.validator.ts b/src/api/assets/reflection/reflection.validator.ts index 6fa3856..1c4a08f 100644 --- a/src/api/assets/reflection/reflection.validator.ts +++ b/src/api/assets/reflection/reflection.validator.ts @@ -12,7 +12,7 @@ export class ReflectionValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -30,7 +30,7 @@ export class ReflectionValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/reminder/reminder.validator.ts b/src/api/assets/reminder/reminder.validator.ts index 8d1deda..4327d2a 100644 --- a/src/api/assets/reminder/reminder.validator.ts +++ b/src/api/assets/reminder/reminder.validator.ts @@ -12,7 +12,7 @@ export class ReminderValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -30,7 +30,7 @@ export class ReminderValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/video/video.validator.ts b/src/api/assets/video/video.validator.ts index 1955002..8423388 100644 --- a/src/api/assets/video/video.validator.ts +++ b/src/api/assets/video/video.validator.ts @@ -12,8 +12,8 @@ export class VideoValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Transcript : joi.string().optional(), - Url : joi.string().optional(), + Transcript : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -31,8 +31,8 @@ export class VideoValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Transcript : joi.string().optional(), - Url : joi.string().optional(), + Transcript : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/web.link/web.link.validator.ts b/src/api/assets/web.link/web.link.validator.ts index d0bf688..e5a9167 100644 --- a/src/api/assets/web.link/web.link.validator.ts +++ b/src/api/assets/web.link/web.link.validator.ts @@ -12,8 +12,8 @@ export class WebLinkValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - Url : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ @@ -31,8 +31,8 @@ export class WebLinkValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - Url : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() }); diff --git a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts index 7e6b8b9..d9bed9e 100644 --- a/src/api/assets/web.newsfeed/web.newsfeed.validator.ts +++ b/src/api/assets/web.newsfeed/web.newsfeed.validator.ts @@ -12,8 +12,8 @@ export class WebNewsfeedValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), - Url : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), + Url : joi.string().optional().allow(null, ''), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), OwnerUserId : joi.string().guid({ diff --git a/src/api/assets/word.power/word.power.validator.ts b/src/api/assets/word.power/word.power.validator.ts index f3ca31d..67d6d97 100644 --- a/src/api/assets/word.power/word.power.validator.ts +++ b/src/api/assets/word.power/word.power.validator.ts @@ -12,7 +12,7 @@ export class WordPowerValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), AdditionalResources : joi.array().items(joi.string()).optional(), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional(), @@ -31,7 +31,7 @@ export class WordPowerValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), AdditionalResources : joi.array().items(joi.string()).optional(), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() diff --git a/src/database/repository.services/statistics/statistics.service.ts b/src/database/repository.services/statistics/statistics.service.ts index a1aec19..6d3b951 100644 --- a/src/database/repository.services/statistics/statistics.service.ts +++ b/src/database/repository.services/statistics/statistics.service.ts @@ -261,10 +261,10 @@ export class StatisticsService { (actionPlan_.count) + (animation_.count) + (appointment_.count) + (article_.count) + (assessment_.count) + (audio_.count) + (biometrics_.count) + (challenge_.count) + (checkup_.count) + (consultation_.count) + (exercise_.count) + (goal_.count) + - (medication_.count) + (meditation_.count) + (message_.count) + + (infographics_.count) + (medication_.count) + (meditation_.count) + (message_.count) + (nutrition_.count) + (physiotherapy_.count) + (priority_.count) + (reflection_.count) + (reminder_.count) + (video_.count) + - (webLink_.count) + (webNewsfeed_.count) + (wordPower_.count) + (webLink_.count) + (webNewsfeed_.count) + (wordPower_.count) ); const accumulativeAssetsDaily = accumlativeData(assets); From 45306e1da65dfb0e00b16a94414e0c2a8d7eb730 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Thu, 19 Jan 2023 09:58:06 +0530 Subject: [PATCH 101/169] Added DispalyId into enrollment dto --- .../enrollment/enrollment/enrollment.controller.delegate.ts | 1 + src/database/mappers/enrollment/enrollment.mapper.ts | 1 + src/domain.types/enrollment/enrollment.domain.types.ts | 5 +++-- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 61011f8..ed60fd1 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -337,6 +337,7 @@ export class EnrollmentControllerDelegate { CareplanId : record.CareplanId, PlanCode : record.PlanCode, ParticipantId : record.ParticipantId, + DisplayId : record.DisplayId, Asset : record.Asset, StartDate : record.StartDate, EndDate : record.EndDate, diff --git a/src/database/mappers/enrollment/enrollment.mapper.ts b/src/database/mappers/enrollment/enrollment.mapper.ts index fc285fe..90bb8f6 100644 --- a/src/database/mappers/enrollment/enrollment.mapper.ts +++ b/src/database/mappers/enrollment/enrollment.mapper.ts @@ -14,6 +14,7 @@ export class EnrollmentMapper { id : enrollment.id, CareplanId : enrollment.CareplanId, ParticipantId : enrollment.ParticipantId, + DisplayId : enrollment.DisplayId, StartDate : enrollment.StartDate, EndDate : enrollment.EndDate, EnrollmentDate : enrollment.EnrollmentDate, diff --git a/src/domain.types/enrollment/enrollment.domain.types.ts b/src/domain.types/enrollment/enrollment.domain.types.ts index 0215d3f..934aab0 100644 --- a/src/domain.types/enrollment/enrollment.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.domain.types.ts @@ -35,14 +35,15 @@ export interface EnrollmentDto { CareplanId : uuid; PlanCode? : string; ParticipantId : uuid; + DisplayId : string; StartDate : Date; EndDate : Date; EnrollmentDate: Date; WeekOffset ?: number; DayOffset ?: number; ProgressStatus: ProgressStatus; - Careplan : CareplanDto[]; - Participant : ParticipantDto[]; + Careplan : CareplanDto[]; + Participant : ParticipantDto[]; } export interface EnrollmentSearchFilters extends BaseSearchFilters { From ca11455d3d958738bf2a0744186bd566d3ebf203 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Fri, 20 Jan 2023 14:08:52 +0530 Subject: [PATCH 102/169] Implementation of statistics api --- .../statistics/statistics.service.ts | 222 +++++++----------- 1 file changed, 89 insertions(+), 133 deletions(-) diff --git a/src/database/repository.services/statistics/statistics.service.ts b/src/database/repository.services/statistics/statistics.service.ts index 6d3b951..33bbad7 100644 --- a/src/database/repository.services/statistics/statistics.service.ts +++ b/src/database/repository.services/statistics/statistics.service.ts @@ -43,6 +43,8 @@ import { VideoModel } from '../../../database/models/assets/video.model'; import { WebLinkModel } from '../../../database/models/assets/web.link.model'; import { WebNewsfeedModel } from '../../../database/models/assets/web.newsfeed.model'; import { WordPowerModel } from '../../../database/models/assets/word.power.model'; +import { TimeHelper } from '../../../common/time.helper'; +import { DurationType } from '../../../domain.types/miscellaneous/time.types'; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -121,66 +123,57 @@ export class StatisticsService { //for careplan stats const careplanResults_ = await this.Careplan.findAndCountAll(); const careplanResults = careplanResults_.rows; - const accumulativeCareplanDaily = accumlativeData(careplanResults); - const incrementalCareplanDaily = incrementalData(careplanResults); - + const accumulativeCareplanDaily = statisticsData(careplanResults); + const careplanStatistics = { - TotalCareplans : careplanResults_.count, - IncrementalDaily : incrementalCareplanDaily, - AccumlativeDaily : accumulativeCareplanDaily, + TotalCareplans : careplanResults_.count, + CareplansDaily : accumulativeCareplanDaily, }; // for api clients stats const apiClientResults_ = await this.ApiClient.findAndCountAll(); const apiClientResults = apiClientResults_.rows; - const accumulativeApiClientDaily = accumlativeData(apiClientResults); - const incrementalApiClientDaily = incrementalData(apiClientResults); + const accumulativeApiClientDaily = statisticsData(apiClientResults); const apiclientStatistics = { - TotalApiClients : apiClientResults_.count, - IncrementalDaily : incrementalApiClientDaily , - AccumlativeDaily : accumulativeApiClientDaily, + TotalApiClients : apiClientResults_.count, + ApiClientsDaily : accumulativeApiClientDaily, }; // for participant stats const participantsResults_ = await this.Participant.findAndCountAll(); const participantsResults = participantsResults_.rows; - const accumulativeParticipantDaily = accumlativeData(participantsResults); - const incrementalParticipantDaily = incrementalData(participantsResults); - const participantsStatistics = { + const accumulativeParticipantDaily = statisticsData(participantsResults); + const participantStatistics = { TotalParticipants : participantsResults_.count, - IncrementalDaily : incrementalParticipantDaily, - AccumlativeDaily : accumulativeParticipantDaily, + ParticipantsDaily : accumulativeParticipantDaily, }; // for enrollment stats const enrollmentResults_ = await this.Enrollment.findAndCountAll(); const enrollmentResults = enrollmentResults_.rows; - const accumulativeEnrollmentDaily = accumlativeData(enrollmentResults); - const incrementalEnrollmentDaily = incrementalData(enrollmentResults); + const accumulativeEnrollmentDaily = statisticsData(enrollmentResults); + const enrollmentStatistics = { TotalEnrollments : enrollmentResults_.count, - IncrementalDaily : incrementalEnrollmentDaily, - AccumlativeDaily : accumulativeEnrollmentDaily + EnrollmentsDaily : accumulativeEnrollmentDaily }; // for active enrollment stats const activeEnrollments = enrollmentResults.filter(x =>x.EndDate.getTime() >= new Date()); const totalActiveEnrollments = activeEnrollments.length; - const accumulativeActiveEnrollmentDaily = accumlativeData(activeEnrollments); - const incrementalActiveEnrollmentDaily = incrementalData(activeEnrollments); - const activeEnrollmentsStatistics = { + const accumulativeActiveEnrollmentDaily = statisticsData(activeEnrollments); + const activeEnrollmentStatistics = { TotalActiveEnrollments : totalActiveEnrollments, - IncrementalDaily : accumulativeActiveEnrollmentDaily, - AccumlativeDaily : incrementalActiveEnrollmentDaily, + ActiveEnrollmentsDaily : accumulativeActiveEnrollmentDaily, + }; // for assets stats const actionPlan_ = await this.ActionPlan.findAndCountAll(); const actionPlan = actionPlan_.rows; - // console.log(`Enrollments = ${JSON.stringify(actionPlan)}`); const animation_ = await this.Animation.findAndCountAll(); const animation = animation_.rows; const appointment_ = await this.Appointment.findAndCountAll(); @@ -267,24 +260,32 @@ export class StatisticsService { (webLink_.count) + (webNewsfeed_.count) + (wordPower_.count) ); - const accumulativeAssetsDaily = accumlativeData(assets); - const incrementalAssetsDaily = incrementalData(assets); - // const assetTypes = AssetTypeList; + const accumulativeAssetsDaily = statisticsData(assets); const assetsStatistics = { - TotalAssets : totalAssetsCount, - IncrementalDaily : accumulativeAssetsDaily, - AccumlativeDaily : incrementalAssetsDaily, + TotalAssets : totalAssetsCount, + AssetsDaily : accumulativeAssetsDaily , + + }; + + const enrollmentTasks_ = await this.EnrollmentTask.findAndCountAll(); + const enrollmentTasks = enrollmentTasks_.rows; + const ParticipantActivityResponse_ = await this.ParticipantActivityResponse.findAndCountAll(); + const ParticipantActivityResponse = ParticipantActivityResponse_ .rows; + const userEngagementDaily = userEngagement(enrollmentTasks,ParticipantActivityResponse); + + const userEngagementSattistics = { + UserEngagementDaily : userEngagementDaily, }; const dashboardStats = { CareplanStatistics : careplanStatistics, ApiclientStatistics : apiclientStatistics, - ParticipantStatistics : participantsStatistics, + ParticipantStatistics : participantStatistics, EnrollmentStatistics : enrollmentStatistics, - ActiveEnrollmentStatistics : activeEnrollmentsStatistics, + ActiveEnrollmentStatistics : activeEnrollmentStatistics, AssetsStatistics : assetsStatistics, - + UserEngagementSattistics : userEngagementSattistics, }; return dashboardStats; @@ -297,118 +298,73 @@ export class StatisticsService { } -const accumlativeData = (retrivedData) => { +const statisticsData = (retrievedData) => { try { - const createdAtDate: Date[] = []; - (retrivedData).forEach((item) => { - createdAtDate.push(new Date(item.CreatedAt)); - }); - const accumulativeDaily: { x: Date; y: number }[] = []; - const uniqueDate: Date[] = []; - let flag = 0; - createdAtDate.forEach((item) => { - const d = new Date(item); - d.setUTCHours(0, 0, 0, 0); - uniqueDate.forEach((j) => { - const p = new Date(j); - p.setUTCHours(0, 0, 0, 0); - if (p.getTime() === d.getTime()) { - flag = 1; - } - }); - if (flag === 0) { - uniqueDate.push(d); - flag = 0; - } - }); - uniqueDate.sort((a: Date, b: Date) => { - return a.getTime() - b.getTime(); - }); - const startDate = new Date(uniqueDate[0]); - const endDate = new Date(uniqueDate[uniqueDate.length - 1]); - let count = 0; - while (startDate.getTime() <= endDate.getTime()) { - let temp = new Date(startDate); - createdAtDate.forEach(() => { - createdAtDate.forEach((i) => { - const c = new Date(i); - c.setUTCHours(0, 0, 0, 0); - if (c.getTime() === temp.getTime()) { - count++; - } - }); - accumulativeDaily.push({ - x : temp, - y : count, - }); - count = 0; - startDate.setUTCDate(startDate.getUTCDate() + 1); - temp = new Date(startDate); - + const { minDate, maxDate } = getMinMaxDates(retrievedData); + var d = minDate; + var itemCounts = []; + while (d < maxDate) + { + var dStart = d; + var dEnd = TimeHelper.addDuration(d, 24, DurationType.Hour); + var itemsForDay = retrievedData.filter(x => x.CreatedAt >= dStart && x.CreatedAt < dEnd); + var incrementalItemCount = itemsForDay.length; //Count for the day + var itemsTillDay = retrievedData.filter(x => x.CreatedAt >= minDate && x.CreatedAt < dEnd); + var accumulativeItemCount = itemsTillDay.length; + itemCounts.push({ + Day: d, + Incremental: incrementalItemCount, + Accumulative: accumulativeItemCount }); + d = TimeHelper.addDuration(d, 24, DurationType.Hour); } - return accumulativeDaily; + return itemCounts; } catch (err){ ErrorHandler.throwDbAccessError('DB Error: Unable to search records!', err); } }; -const incrementalData = (retrivedData) => { +const userEngagement = (enrollmentTasks, ParticipantActivityResponse) => { try { - const createdAtDate: Date[] = []; - (retrivedData).forEach((item) => { - createdAtDate.push(new Date(item.CreatedAt)); - }); - const incrementalDaily: { x: Date; y: number }[] = []; - const uniqueDate: Date[] = []; - let flag = 0; - createdAtDate.forEach((item) => { - const d = new Date(item); - d.setUTCHours(0, 0, 0, 0); - uniqueDate.forEach((j) => { - const p = new Date(j); - p.setUTCHours(0, 0, 0, 0); - if (p.getTime() === d.getTime()) { - flag = 1; - } - }); - if (flag === 0) { - uniqueDate.push(d); - flag = 0; - } - }); - uniqueDate.sort((a: Date, b: Date) => { - return a.getTime() - b.getTime(); - }); - const start1 = new Date(uniqueDate[0]); - const end1 = new Date(uniqueDate[uniqueDate.length - 1]); - let count = 0; - - while (start1.getTime() <= end1.getTime()) { - let temp = new Date(start1); - createdAtDate.forEach(() => { - createdAtDate.forEach((i) => { - const c = new Date(i); - c.setUTCHours(0, 0, 0, 0); - if (c.getTime() === temp.getTime()) { - count++; - } - }); - incrementalDaily.push({ - x : temp, - y : count, - }); - const y = count; - count = y; - start1.setUTCDate(start1.getUTCDate() + 1); - temp = new Date(start1); - + var { minDate, maxDate } = getMinMaxDates(enrollmentTasks); + var d = minDate; + var itemCounts = []; + while (d < maxDate) + { + var dStart = d; + var dEnd = TimeHelper.addDuration(d, 24, DurationType.Hour); + var itemsForDay = enrollmentTasks.filter(x => x.ScheduledDate >= dStart && x.ScheduledDate < dEnd); + var enrollmentTasksCount = itemsForDay.length; //Count for the day + var itemsForDay = + ParticipantActivityResponse.filter(x => x.TimeResponded >= dStart && x.TimeResponded < dEnd); + var ParticipantActivityResponseCount = itemsForDay.length; + const userEngagement = (ParticipantActivityResponseCount / enrollmentTasksCount); + itemCounts.push({ + Day: d, + UserEngagementDaily: userEngagement, }); + d = TimeHelper.addDuration(d, 24, DurationType.Hour); } - return incrementalDaily; + return itemCounts; } catch (err){ ErrorHandler.throwDbAccessError('DB Error: Unable to search records!', err); } }; + +function getMinMaxDates(retrievedData: any) { + const dates = retrievedData.map(x => new Date(x.CreatedAt).getTime()); + const minDate_ = Math.min(...dates); + var minDate = new Date(); + if (minDate_) { + var temp = new Date(minDate_).setUTCHours(0, 0, 0, 0); + minDate = new Date(temp); + } + + const maxDate_ = new Date().setUTCHours(0, 0, 0, 0); + const maxDate = new Date(maxDate_); + + return { minDate, maxDate }; +} + From 90e2ec04fc1f2f878122273de75b26d72b31aa47 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Fri, 20 Jan 2023 14:39:33 +0530 Subject: [PATCH 103/169] Fixed eslint issue --- .../statistics/statistics.service.ts | 288 +++++++++--------- 1 file changed, 144 insertions(+), 144 deletions(-) diff --git a/src/database/repository.services/statistics/statistics.service.ts b/src/database/repository.services/statistics/statistics.service.ts index 33bbad7..3110cfd 100644 --- a/src/database/repository.services/statistics/statistics.service.ts +++ b/src/database/repository.services/statistics/statistics.service.ts @@ -118,112 +118,112 @@ export class StatisticsService { //#endregion - getDashboardStats = async () => { - try { - //for careplan stats - const careplanResults_ = await this.Careplan.findAndCountAll(); - const careplanResults = careplanResults_.rows; - const accumulativeCareplanDaily = statisticsData(careplanResults); + getDashboardStats = async () => { + try { + //for careplan stats + const careplanResults_ = await this.Careplan.findAndCountAll(); + const careplanResults = careplanResults_.rows; + const accumulativeCareplanDaily = statisticsData(careplanResults); - const careplanStatistics = { - TotalCareplans : careplanResults_.count, - CareplansDaily : accumulativeCareplanDaily, + const careplanStatistics = { + TotalCareplans : careplanResults_.count, + CareplansDaily : accumulativeCareplanDaily, - }; + }; - // for api clients stats - const apiClientResults_ = await this.ApiClient.findAndCountAll(); - const apiClientResults = apiClientResults_.rows; - const accumulativeApiClientDaily = statisticsData(apiClientResults); - const apiclientStatistics = { - TotalApiClients : apiClientResults_.count, - ApiClientsDaily : accumulativeApiClientDaily, + // for api clients stats + const apiClientResults_ = await this.ApiClient.findAndCountAll(); + const apiClientResults = apiClientResults_.rows; + const accumulativeApiClientDaily = statisticsData(apiClientResults); + const apiclientStatistics = { + TotalApiClients : apiClientResults_.count, + ApiClientsDaily : accumulativeApiClientDaily, - }; - - // for participant stats - const participantsResults_ = await this.Participant.findAndCountAll(); - const participantsResults = participantsResults_.rows; - const accumulativeParticipantDaily = statisticsData(participantsResults); - const participantStatistics = { - TotalParticipants : participantsResults_.count, - ParticipantsDaily : accumulativeParticipantDaily, + }; + + // for participant stats + const participantsResults_ = await this.Participant.findAndCountAll(); + const participantsResults = participantsResults_.rows; + const accumulativeParticipantDaily = statisticsData(participantsResults); + const participantStatistics = { + TotalParticipants : participantsResults_.count, + ParticipantsDaily : accumulativeParticipantDaily, - }; + }; - // for enrollment stats - const enrollmentResults_ = await this.Enrollment.findAndCountAll(); - const enrollmentResults = enrollmentResults_.rows; - const accumulativeEnrollmentDaily = statisticsData(enrollmentResults); + // for enrollment stats + const enrollmentResults_ = await this.Enrollment.findAndCountAll(); + const enrollmentResults = enrollmentResults_.rows; + const accumulativeEnrollmentDaily = statisticsData(enrollmentResults); - const enrollmentStatistics = { - TotalEnrollments : enrollmentResults_.count, - EnrollmentsDaily : accumulativeEnrollmentDaily - }; - - // for active enrollment stats - const activeEnrollments = enrollmentResults.filter(x =>x.EndDate.getTime() >= new Date()); - const totalActiveEnrollments = activeEnrollments.length; - const accumulativeActiveEnrollmentDaily = statisticsData(activeEnrollments); - const activeEnrollmentStatistics = { - TotalActiveEnrollments : totalActiveEnrollments, - ActiveEnrollmentsDaily : accumulativeActiveEnrollmentDaily, + const enrollmentStatistics = { + TotalEnrollments : enrollmentResults_.count, + EnrollmentsDaily : accumulativeEnrollmentDaily + }; + + // for active enrollment stats + const activeEnrollments = enrollmentResults.filter(x =>x.EndDate.getTime() >= new Date()); + const totalActiveEnrollments = activeEnrollments.length; + const accumulativeActiveEnrollmentDaily = statisticsData(activeEnrollments); + const activeEnrollmentStatistics = { + TotalActiveEnrollments : totalActiveEnrollments, + ActiveEnrollmentsDaily : accumulativeActiveEnrollmentDaily, - }; - - // for assets stats - const actionPlan_ = await this.ActionPlan.findAndCountAll(); - const actionPlan = actionPlan_.rows; - const animation_ = await this.Animation.findAndCountAll(); - const animation = animation_.rows; - const appointment_ = await this.Appointment.findAndCountAll(); - const appointment = appointment_.rows; - const article_ = await this.Article.findAndCountAll(); - const article = article_.rows; - const assessment_ = await this.Assessment.findAndCountAll(); - const assessment = assessment_.rows; - const audio_ = await this.Audio.findAndCountAll(); - const audio = audio_.rows; - const biometrics_ = await this.Biometrics.findAndCountAll(); - const biometrics = biometrics_.rows; - const challenge_ = await this.Challenge.findAndCountAll(); - const challenge = challenge_.rows; - const checkup_ = await this.Checkup.findAndCountAll(); - const checkup = checkup_.rows; - const consultation_ = await this.Consultation.findAndCountAll(); - const consultation = consultation_.rows; - const exercise_ = await this.Exercise.findAndCountAll(); - const exercise = exercise_.rows; - const goal_ = await this.Goal.findAndCountAll(); - const goal = goal_.rows; - const infographics_ = await this.Infographics.findAndCountAll(); - const infographics = infographics_.rows; - const medication_ = await this.Medication.findAndCountAll(); - const medication = medication_.rows; - const meditation_ = await this.Meditation.findAndCountAll(); - const meditation = meditation_.rows; - const message_ = await this.Message.findAndCountAll(); - const message = message_.rows; - const nutrition_ = await this.Nutrition.findAndCountAll(); - const nutrition = nutrition_.rows; - const physiotherapy_ = await this.Physiotherapy.findAndCountAll(); - const physiotherapy = physiotherapy_.rows; - const priority_ = await this.Priority.findAndCountAll(); - const priority = priority_.rows; - const reflection_ = await this.Reflection.findAndCountAll(); - const reflection = reflection_.rows; - const reminder_ = await this.Reminder.findAndCountAll(); - const reminder = reminder_.rows; - const video_ = await this.Video.findAndCountAll(); - const video = video_.rows; - const webLink_ = await this.WebLink.findAndCountAll(); - const webLink = webLink_.rows; - const webNewsfeed_ = await this.WebNewsfeed.findAndCountAll(); - const webNewsfeed = webNewsfeed_.rows; - const wordPower_ = await this.WordPower.findAndCountAll(); - const wordPower = wordPower_.rows; - - const assets = + }; + + // for assets stats + const actionPlan_ = await this.ActionPlan.findAndCountAll(); + const actionPlan = actionPlan_.rows; + const animation_ = await this.Animation.findAndCountAll(); + const animation = animation_.rows; + const appointment_ = await this.Appointment.findAndCountAll(); + const appointment = appointment_.rows; + const article_ = await this.Article.findAndCountAll(); + const article = article_.rows; + const assessment_ = await this.Assessment.findAndCountAll(); + const assessment = assessment_.rows; + const audio_ = await this.Audio.findAndCountAll(); + const audio = audio_.rows; + const biometrics_ = await this.Biometrics.findAndCountAll(); + const biometrics = biometrics_.rows; + const challenge_ = await this.Challenge.findAndCountAll(); + const challenge = challenge_.rows; + const checkup_ = await this.Checkup.findAndCountAll(); + const checkup = checkup_.rows; + const consultation_ = await this.Consultation.findAndCountAll(); + const consultation = consultation_.rows; + const exercise_ = await this.Exercise.findAndCountAll(); + const exercise = exercise_.rows; + const goal_ = await this.Goal.findAndCountAll(); + const goal = goal_.rows; + const infographics_ = await this.Infographics.findAndCountAll(); + const infographics = infographics_.rows; + const medication_ = await this.Medication.findAndCountAll(); + const medication = medication_.rows; + const meditation_ = await this.Meditation.findAndCountAll(); + const meditation = meditation_.rows; + const message_ = await this.Message.findAndCountAll(); + const message = message_.rows; + const nutrition_ = await this.Nutrition.findAndCountAll(); + const nutrition = nutrition_.rows; + const physiotherapy_ = await this.Physiotherapy.findAndCountAll(); + const physiotherapy = physiotherapy_.rows; + const priority_ = await this.Priority.findAndCountAll(); + const priority = priority_.rows; + const reflection_ = await this.Reflection.findAndCountAll(); + const reflection = reflection_.rows; + const reminder_ = await this.Reminder.findAndCountAll(); + const reminder = reminder_.rows; + const video_ = await this.Video.findAndCountAll(); + const video = video_.rows; + const webLink_ = await this.WebLink.findAndCountAll(); + const webLink = webLink_.rows; + const webNewsfeed_ = await this.WebNewsfeed.findAndCountAll(); + const webNewsfeed = webNewsfeed_.rows; + const wordPower_ = await this.WordPower.findAndCountAll(); + const wordPower = wordPower_.rows; + + const assets = [...actionPlan, ...animation, ...appointment, @@ -250,51 +250,51 @@ export class StatisticsService { ...webNewsfeed, ...wordPower, ] ; - const totalAssetsCount = ( - (actionPlan_.count) + (animation_.count) + (appointment_.count) + (article_.count) + - (assessment_.count) + (audio_.count) + (biometrics_.count) + (challenge_.count) + - (checkup_.count) + (consultation_.count) + (exercise_.count) + (goal_.count) + - (infographics_.count) + (medication_.count) + (meditation_.count) + (message_.count) + - (nutrition_.count) + (physiotherapy_.count) + (priority_.count) + - (reflection_.count) + (reminder_.count) + (video_.count) + - (webLink_.count) + (webNewsfeed_.count) + (wordPower_.count) - ); - - const accumulativeAssetsDaily = statisticsData(assets); - const assetsStatistics = { - TotalAssets : totalAssetsCount, - AssetsDaily : accumulativeAssetsDaily , + const totalAssetsCount = ( + (actionPlan_.count) + (animation_.count) + (appointment_.count) + (article_.count) + + (assessment_.count) + (audio_.count) + (biometrics_.count) + (challenge_.count) + + (checkup_.count) + (consultation_.count) + (exercise_.count) + (goal_.count) + + (infographics_.count) + (medication_.count) + (meditation_.count) + (message_.count) + + (nutrition_.count) + (physiotherapy_.count) + (priority_.count) + + (reflection_.count) + (reminder_.count) + (video_.count) + + (webLink_.count) + (webNewsfeed_.count) + (wordPower_.count) + ); + + const accumulativeAssetsDaily = statisticsData(assets); + const assetsStatistics = { + TotalAssets : totalAssetsCount, + AssetsDaily : accumulativeAssetsDaily , - }; + }; - const enrollmentTasks_ = await this.EnrollmentTask.findAndCountAll(); - const enrollmentTasks = enrollmentTasks_.rows; - const ParticipantActivityResponse_ = await this.ParticipantActivityResponse.findAndCountAll(); - const ParticipantActivityResponse = ParticipantActivityResponse_ .rows; - const userEngagementDaily = userEngagement(enrollmentTasks,ParticipantActivityResponse); - - const userEngagementSattistics = { - UserEngagementDaily : userEngagementDaily, + const enrollmentTasks_ = await this.EnrollmentTask.findAndCountAll(); + const enrollmentTasks = enrollmentTasks_.rows; + const ParticipantActivityResponse_ = await this.ParticipantActivityResponse.findAndCountAll(); + const ParticipantActivityResponse = ParticipantActivityResponse_ .rows; + const userEngagementDaily = userEngagement(enrollmentTasks,ParticipantActivityResponse); + + const userEngagementSattistics = { + UserEngagementDaily : userEngagementDaily, - }; - - const dashboardStats = { - CareplanStatistics : careplanStatistics, - ApiclientStatistics : apiclientStatistics, - ParticipantStatistics : participantStatistics, - EnrollmentStatistics : enrollmentStatistics, - ActiveEnrollmentStatistics : activeEnrollmentStatistics, - AssetsStatistics : assetsStatistics, - UserEngagementSattistics : userEngagementSattistics, - }; - - return dashboardStats; - - } catch (error) { - ErrorHandler.throwDbAccessError('DB Error: Unable to search enrollment records!', error); - } - + }; + + const dashboardStats = { + CareplanStatistics : careplanStatistics, + ApiclientStatistics : apiclientStatistics, + ParticipantStatistics : participantStatistics, + EnrollmentStatistics : enrollmentStatistics, + ActiveEnrollmentStatistics : activeEnrollmentStatistics, + AssetsStatistics : assetsStatistics, + UserEngagementSattistics : userEngagementSattistics, + }; + + return dashboardStats; + + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to search enrollment records!', error); } + + } } @@ -312,9 +312,9 @@ const statisticsData = (retrievedData) => { var itemsTillDay = retrievedData.filter(x => x.CreatedAt >= minDate && x.CreatedAt < dEnd); var accumulativeItemCount = itemsTillDay.length; itemCounts.push({ - Day: d, - Incremental: incrementalItemCount, - Accumulative: accumulativeItemCount + Day : d, + Incremental : incrementalItemCount, + Accumulative : accumulativeItemCount }); d = TimeHelper.addDuration(d, 24, DurationType.Hour); } @@ -341,8 +341,8 @@ const userEngagement = (enrollmentTasks, ParticipantActivityResponse) => { var ParticipantActivityResponseCount = itemsForDay.length; const userEngagement = (ParticipantActivityResponseCount / enrollmentTasksCount); itemCounts.push({ - Day: d, - UserEngagementDaily: userEngagement, + Day : d, + UserEngagementDaily : userEngagement, }); d = TimeHelper.addDuration(d, 24, DurationType.Hour); } From ebe624c51753444659413506c7e0b8d02bf066a6 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Fri, 20 Jan 2023 14:51:34 +0530 Subject: [PATCH 104/169] Added semicolon --- .../repository.services/statistics/statistics.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/database/repository.services/statistics/statistics.service.ts b/src/database/repository.services/statistics/statistics.service.ts index 3110cfd..83c3d87 100644 --- a/src/database/repository.services/statistics/statistics.service.ts +++ b/src/database/repository.services/statistics/statistics.service.ts @@ -294,7 +294,7 @@ export class StatisticsService { ErrorHandler.throwDbAccessError('DB Error: Unable to search enrollment records!', error); } - } + }; } From 89464dc17ef7212cb02c476265418169fae4e844 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Mon, 23 Jan 2023 11:42:01 +0530 Subject: [PATCH 105/169] Added startDate, endDate, enrollmentCode into enrollment search filter --- .../enrollment/enrollment.controller.delegate.ts | 16 ++++++++++++++-- .../enrollment/enrollment.validator.ts | 3 +++ .../enrollment/enrollment.service.ts | 10 ++++++++++ .../enrollment/enrollment.domain.types.ts | 3 +++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index ed60fd1..8c630b8 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -262,7 +262,19 @@ export class EnrollmentControllerDelegate { if (progressStatus != null) { filters['ProgressStatus'] = progressStatus; } + var displayId = query.displayId ? query.displayId : null; + if (displayId != null) { + filters['DisplayId'] = displayId; + } + var startDate = query.startDate ? query.startDate : null; + if (startDate != null) { + filters['StartDate'] = startDate; + } + var endDate = query.endDate ? query.endDate : null; + if (endDate != null) { + filters['EndDate'] = endDate; + } return filters; }; @@ -345,8 +357,8 @@ export class EnrollmentControllerDelegate { WeekOffset : record.WeekOffset, DayOffset : record.DayOffset, ProgressStatus : record.ProgressStatus, - Careplan :record.Careplan, - Participant :record.Participant, + Careplan : record.Careplan, + Participant : record.Participant, }; } diff --git a/src/api/enrollment/enrollment/enrollment.validator.ts b/src/api/enrollment/enrollment/enrollment.validator.ts index 572ad0e..5ee73fc 100644 --- a/src/api/enrollment/enrollment/enrollment.validator.ts +++ b/src/api/enrollment/enrollment/enrollment.validator.ts @@ -53,6 +53,9 @@ export class EnrollmentValidator { careplanId : joi.string().guid({ version : ['uuidv4'] }).optional(), + displayId : joi.string().optional(), + startDate : joi.date().iso().optional(), + endDate : joi.date().iso().optional(), progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() }); return await schema.validateAsync(query); diff --git a/src/database/repository.services/enrollment/enrollment.service.ts b/src/database/repository.services/enrollment/enrollment.service.ts index b195800..67d5056 100644 --- a/src/database/repository.services/enrollment/enrollment.service.ts +++ b/src/database/repository.services/enrollment/enrollment.service.ts @@ -233,6 +233,16 @@ export class EnrollmentService { if (filters.ProgressStatus) { search.where['ProgressStatus'] = filters.ProgressStatus; } + if (filters.DisplayId) { + search.where['DisplayId'] = filters.DisplayId; + } + if (filters.StartDate) { + search.where['StartDate'] = filters.StartDate; + } + if (filters.EndDate) { + search.where['EndDate'] = filters.EndDate; + } + const includeCareplanAsCareplan = { model : this.Careplan, required : true, diff --git a/src/domain.types/enrollment/enrollment.domain.types.ts b/src/domain.types/enrollment/enrollment.domain.types.ts index 934aab0..31d1165 100644 --- a/src/domain.types/enrollment/enrollment.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.domain.types.ts @@ -49,6 +49,9 @@ export interface EnrollmentDto { export interface EnrollmentSearchFilters extends BaseSearchFilters { CareplanId ?: uuid; ProgressStatus ?: ProgressStatus; + DisplayId ?: string; + StartDate ?: Date; + EndDate ?: Date; } export interface EnrollmentSearchResults extends BaseSearchResults { From 7761522436ddb10bdda7aee3f137ebbc1f729435 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Mon, 23 Jan 2023 11:43:50 +0530 Subject: [PATCH 106/169] Added CreateAt into enrollment task dto --- .../enrollment.task/enrollment.task.controller.delegate.ts | 3 ++- src/database/mappers/enrollment/enrollment.task.mapper.ts | 1 + src/domain.types/enrollment/enrollment.task.domain.types.ts | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index a87b5b1..0a56c23 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -120,7 +120,8 @@ export class EnrollmentTaskControllerDelegate { CareplanId : record.CareplanId, TimeSlot : record.TimeSlot, ScheduledDate : record.ScheduledDate, - IsRegistrationActivity : record.IsRegistrationActivity + IsRegistrationActivity : record.IsRegistrationActivity, + CreatedAt : record.CreatedAt, }; }; diff --git a/src/database/mappers/enrollment/enrollment.task.mapper.ts b/src/database/mappers/enrollment/enrollment.task.mapper.ts index 9e51973..6fbcabd 100644 --- a/src/database/mappers/enrollment/enrollment.task.mapper.ts +++ b/src/database/mappers/enrollment/enrollment.task.mapper.ts @@ -21,6 +21,7 @@ export class EnrollmentTaskMapper { TimeSlot : enrollmentTask.TimeSlot, ScheduledDate : enrollmentTask.ScheduledDate, IsRegistrationActivity : enrollmentTask.IsRegistrationActivity, + CreatedAt : enrollmentTask.CreatedAt, }; return dto; }; diff --git a/src/domain.types/enrollment/enrollment.task.domain.types.ts b/src/domain.types/enrollment/enrollment.task.domain.types.ts index 7a2b5da..0583429 100644 --- a/src/domain.types/enrollment/enrollment.task.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.task.domain.types.ts @@ -35,6 +35,7 @@ export interface EnrollmentTaskDto { TimeSlot : TimeSlot; ScheduledDate : Date; IsRegistrationActivity : boolean, + CreatedAt : Date; } export interface EnrollmentTaskSearchFilters extends BaseSearchFilters { From 182379af2ab7f7fe3f69e4cc4c8b024a1faa6c4b Mon Sep 17 00:00:00 2001 From: RupaliD Date: Tue, 24 Jan 2023 12:14:26 +0530 Subject: [PATCH 107/169] Fixed linting issue --- .../enrollment.controller.delegate.ts | 4 ++-- .../enrollment/enrollment.service.ts | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 8c630b8..637bc52 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -146,7 +146,7 @@ export class EnrollmentControllerDelegate { ErrorHandler.throwNotFoundError('Enrollment stats with id ' + participantId.toString() + ' cannot be found!'); } return this.getEnrichedDtoForStat(record); - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// //#region Privates @@ -361,7 +361,7 @@ export class EnrollmentControllerDelegate { Participant : record.Participant, }; - } + }; getEnrichedDtoForStat = (record) => { if (record == null) { diff --git a/src/database/repository.services/enrollment/enrollment.service.ts b/src/database/repository.services/enrollment/enrollment.service.ts index 67d5056..15c2fa2 100644 --- a/src/database/repository.services/enrollment/enrollment.service.ts +++ b/src/database/repository.services/enrollment/enrollment.service.ts @@ -50,7 +50,7 @@ export class EnrollmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment!', error); } - } + }; getById = async (id) => { try { @@ -84,7 +84,7 @@ export class EnrollmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve enrollment stats!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -93,7 +93,7 @@ export class EnrollmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of enrollment!', error); } - } + }; search = async (filters: EnrollmentSearchFilters): Promise < EnrollmentSearchResults > => { try { @@ -123,7 +123,7 @@ export class EnrollmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search enrollment records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -141,7 +141,7 @@ export class EnrollmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update enrollment!', error); } - } + }; delete = async (id) => { try { @@ -154,7 +154,7 @@ export class EnrollmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete enrollment!', error); } - } + }; getEnrollmentStats = async (participantId) => { try { @@ -265,7 +265,7 @@ export class EnrollmentService { search.include.push(includeParticipantAsParticipant); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -289,7 +289,7 @@ export class EnrollmentService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -310,7 +310,7 @@ export class EnrollmentService { pageIndex, limit }; - } + }; //#endregion From 17082508e1157e2aceb88a593be7eb7a847e60e2 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Tue, 24 Jan 2023 12:24:42 +0530 Subject: [PATCH 108/169] Fixed linting issue --- .../repository.services/enrollment/enrollment.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/database/repository.services/enrollment/enrollment.service.ts b/src/database/repository.services/enrollment/enrollment.service.ts index 15c2fa2..00c3f41 100644 --- a/src/database/repository.services/enrollment/enrollment.service.ts +++ b/src/database/repository.services/enrollment/enrollment.service.ts @@ -214,7 +214,7 @@ export class EnrollmentService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve enrollment stats!', error); } - } + }; //#endregion From 71fc8b5afee98c51de9441522c6576954480c208 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Wed, 25 Jan 2023 09:30:06 +0530 Subject: [PATCH 109/169] Changed the Category to AssetCategory in the message pipeline --- .../message/message.controller.delegate.ts | 42 +++++++++---------- .../word.power.controller.delegate.ts | 2 +- src/database/mappers/assets/message.mapper.ts | 20 ++++----- src/database/models/assets/message.model.ts | 2 +- .../assets/message.domain.types.ts | 2 +- 5 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/api/assets/message/message.controller.delegate.ts b/src/api/assets/message/message.controller.delegate.ts index 7a9227f..c18b93d 100644 --- a/src/api/assets/message/message.controller.delegate.ts +++ b/src/api/assets/message/message.controller.delegate.ts @@ -178,16 +178,16 @@ export class MessageControllerDelegate { return null; } return { - id : record.id, - AssetCode : record.AssetCode, - Name : record.Name, - Description : record.Description, - Category : record.Category, - MessageType : record.MessageType, - OwnerUserId : record.OwnerUserId, - Tags : JSON.parse(record.Tags), - Url : record.Url, - Version : record.Version + id : record.id, + AssetCode : record.AssetCode, + Name : record.Name, + Description : record.Description, + AssetCategory : record.AssetCategory, + MessageType : record.MessageType, + OwnerUserId : record.OwnerUserId, + Tags : JSON.parse(record.Tags), + Url : record.Url, + Version : record.Version }; }; @@ -196,17 +196,17 @@ export class MessageControllerDelegate { return null; } return { - id : record.id, - AssetCode : record.AssetCode, - Name : record.Name, - Description : record.Description, - Category : record.Category, - MessageType : record.MessageType, - OwnerUserId : record.OwnerUserId, - Tags : JSON.parse(record.Tags), - Url : record.Url, - Version : record.Version, - CreatedAt : record.CreatedAt, + id : record.id, + AssetCode : record.AssetCode, + Name : record.Name, + Description : record.Description, + AssetCategory : record.AssetCategory, + MessageType : record.MessageType, + OwnerUserId : record.OwnerUserId, + Tags : JSON.parse(record.Tags), + Url : record.Url, + Version : record.Version, + CreatedAt : record.CreatedAt, }; }; diff --git a/src/api/assets/word.power/word.power.controller.delegate.ts b/src/api/assets/word.power/word.power.controller.delegate.ts index b4dffd3..dd9a7bc 100644 --- a/src/api/assets/word.power/word.power.controller.delegate.ts +++ b/src/api/assets/word.power/word.power.controller.delegate.ts @@ -201,7 +201,7 @@ export class WordPowerControllerDelegate { OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), Version : record.Version, - CreatedAt : record.CratedAt, + CreatedAt : record.CreatedAt, }; }; diff --git a/src/database/mappers/assets/message.mapper.ts b/src/database/mappers/assets/message.mapper.ts index 3e2fca4..86ac557 100644 --- a/src/database/mappers/assets/message.mapper.ts +++ b/src/database/mappers/assets/message.mapper.ts @@ -11,16 +11,16 @@ export class MessageMapper { return null; } const dto: MessageDto = { - id : message.id, - AssetCode : message.AssetCode, - Name : message.Name, - Description : message.Description, - Category : message.Category, - MessageType : message.MessageType, - OwnerUserId : message.OwnerUserId, - Tags : message.Tags, - Url : message.Url, - Version : message.Version, + id : message.id, + AssetCode : message.AssetCode, + Name : message.Name, + Description : message.Description, + AssetCategory : message.AssetCategory , + MessageType : message.MessageType, + OwnerUserId : message.OwnerUserId, + Tags : message.Tags, + Url : message.Url, + Version : message.Version, }; return dto; diff --git a/src/database/models/assets/message.model.ts b/src/database/models/assets/message.model.ts index 9c89196..bbd881a 100644 --- a/src/database/models/assets/message.model.ts +++ b/src/database/models/assets/message.model.ts @@ -42,7 +42,7 @@ export class MessageModel { type : DataTypes.TEXT, allowNull : true }, - Category : { + AssetCategory : { type : DataTypes.STRING(128), allowNull : false, defaultValue : 'Educational' diff --git a/src/domain.types/assets/message.domain.types.ts b/src/domain.types/assets/message.domain.types.ts index a7a97f2..1504f22 100644 --- a/src/domain.types/assets/message.domain.types.ts +++ b/src/domain.types/assets/message.domain.types.ts @@ -45,7 +45,7 @@ export interface MessageDto { AssetCode: string; Name: string; Description: string; - Category: string; + AssetCategory: string; MessageType: MessageType; OwnerUserId: uuid; Tags: string[]; From 7498b283837cef676022cd0a07d3bd06867b192d Mon Sep 17 00:00:00 2001 From: RupaliD Date: Mon, 30 Jan 2023 13:09:23 +0530 Subject: [PATCH 110/169] Renamed slot to time-slots --- src/api/types/types.controller.ts | 2 +- src/api/types/types.routes.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/types/types.controller.ts b/src/api/types/types.controller.ts index 31de745..fefd12b 100644 --- a/src/api/types/types.controller.ts +++ b/src/api/types/types.controller.ts @@ -78,7 +78,7 @@ export class TypesController extends BaseController { } }; - getSlotTypes = async (request: express.Request, response: express.Response): Promise => { + getTimeSlots = async (request: express.Request, response: express.Response): Promise => { try { await this.authorize('Types.GetSlotTypes', request, response, false); const slotTypes = TimeSlotList; diff --git a/src/api/types/types.routes.ts b/src/api/types/types.routes.ts index 0a62c65..1606bbc 100644 --- a/src/api/types/types.routes.ts +++ b/src/api/types/types.routes.ts @@ -12,7 +12,7 @@ export const register = (app: express.Application): void => { router.get('/roles', controller.getRoleTypes); router.get('/careplan-categories', controller.getCareplanCategories); - router.get('/slot', controller.getSlotTypes); + router.get('/time-slots', controller.getTimeSlots); router.get('/assets', controller.getAssetTypes); app.use('/api/v1/types', router); From b23813cc8ec0335d0efdc932237948c8f8fd511e Mon Sep 17 00:00:00 2001 From: RupaliD Date: Mon, 30 Jan 2023 13:24:57 +0530 Subject: [PATCH 111/169] Fixed semicolon linting issues --- .../action.plan/action.plan.validator.ts | 1 - .../enrollment/enrollment.controller.ts | 2 +- .../statistics.controller.delegate.ts | 4 +-- src/api/statistics/statistics.controller.ts | 2 +- .../careplan/careplan.activity.mapper.ts | 2 +- .../repository.services/api.client.service.ts | 26 +++++++++---------- .../careplan/careplan.activity.service.ts | 22 ++++++++-------- .../careplan/careplan.service.ts | 12 ++++----- 8 files changed, 35 insertions(+), 36 deletions(-) diff --git a/src/api/assets/action.plan/action.plan.validator.ts b/src/api/assets/action.plan/action.plan.validator.ts index f5e97f4..e40b63b 100644 --- a/src/api/assets/action.plan/action.plan.validator.ts +++ b/src/api/assets/action.plan/action.plan.validator.ts @@ -54,7 +54,6 @@ export class ActionPlanValidator { itemsPerPage : joi.number().max(128).optional(), pageIndex : joi.number().max(128).optional(), - }); return await schema.validateAsync(query); diff --git a/src/api/enrollment/enrollment/enrollment.controller.ts b/src/api/enrollment/enrollment/enrollment.controller.ts index 7eea6cf..a709d66 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.ts @@ -67,7 +67,7 @@ export class EnrollmentController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; update = async (request: express.Request, response: express.Response): Promise < void > => { try { diff --git a/src/api/statistics/statistics.controller.delegate.ts b/src/api/statistics/statistics.controller.delegate.ts index bedce24..c5e6f81 100644 --- a/src/api/statistics/statistics.controller.delegate.ts +++ b/src/api/statistics/statistics.controller.delegate.ts @@ -19,7 +19,7 @@ export class StatisticsControllerDelegate { // var items = searchResults.Items.map(x => this.getSearchDto(x)); // searchResults.Items = items; return searchResults; - } + }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -42,7 +42,7 @@ export class StatisticsControllerDelegate { ScheduledDate : record.ScheduledDate, IsRegistrationActivity : record.IsRegistrationActivity }; - } + }; //#endregion diff --git a/src/api/statistics/statistics.controller.ts b/src/api/statistics/statistics.controller.ts index 63fa46e..2af691c 100644 --- a/src/api/statistics/statistics.controller.ts +++ b/src/api/statistics/statistics.controller.ts @@ -34,6 +34,6 @@ export class StatisticsController extends BaseController { } catch (error) { ResponseHandler.handleError(request, response, error); } - } + }; } diff --git a/src/database/mappers/careplan/careplan.activity.mapper.ts b/src/database/mappers/careplan/careplan.activity.mapper.ts index eed484d..06d4a1f 100644 --- a/src/database/mappers/careplan/careplan.activity.mapper.ts +++ b/src/database/mappers/careplan/careplan.activity.mapper.ts @@ -18,7 +18,7 @@ export class CareplanActivityMapper { Day : careplanActivity.Day, TimeSlot : careplanActivity.TimeSlot, IsRegistrationActivity : careplanActivity.IsRegistrationActivity, - Code : [], + Code : [], }; return dto; }; diff --git a/src/database/repository.services/api.client.service.ts b/src/database/repository.services/api.client.service.ts index 9fc04b5..6b9c17b 100644 --- a/src/database/repository.services/api.client.service.ts +++ b/src/database/repository.services/api.client.service.ts @@ -79,7 +79,7 @@ export class ApiClientService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search api client records!', error); } - } + }; getByClientCode = async (clientCode: string): Promise =>{ try { @@ -94,7 +94,7 @@ export class ApiClientService { Logger.instance().log(error.message); throw new ApiError(error.message, 500); } - } + }; getApiKeyByClientCode = async (clientCode: string): Promise =>{ try { @@ -109,7 +109,7 @@ export class ApiClientService { Logger.instance().log(error.message); throw new ApiError(error.message, 500); } - } + }; getClientHashedPassword = async(id: string): Promise => { try { @@ -119,7 +119,7 @@ export class ApiClientService { Logger.instance().log(error.message); throw new ApiError(error.message, 500); } - } + }; getApiKey = async(verificationModel: ApiClientVerificationDomainModel): Promise => { try { @@ -140,7 +140,7 @@ export class ApiClientService { Logger.instance().log(error.message); throw new ApiError(error.message, 500); } - } + }; renewApiKey = async (verificationModel: ApiClientVerificationDomainModel): Promise => { @@ -180,7 +180,7 @@ export class ApiClientService { Logger.instance().log(error.message); throw new ApiError(error.message, 500); } - } + }; isApiKeyValid = async (apiKey: string): Promise => { try { @@ -204,7 +204,7 @@ export class ApiClientService { Logger.instance().log(error.message); throw new ApiError(error.message, 500); } - } + }; update = async (id: string, clientDomainModel: ApiClientUpdateModel): Promise => { try { @@ -248,7 +248,7 @@ export class ApiClientService { Logger.instance().log(error.message); throw new ApiError(error.message, 500); } - } + }; delete = async (id: string): Promise => { try { @@ -283,7 +283,7 @@ export class ApiClientService { ValidTill : client.ValidTill, }; return dto; - } + }; toClientSecretsDto = (client): ClientApiKeyDto => { if (client == null){ @@ -298,7 +298,7 @@ export class ApiClientService { ValidTill : client.ValidTill, }; return dto; - } + }; //#region Privates @@ -341,7 +341,7 @@ export class ApiClientService { } return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -365,7 +365,7 @@ export class ApiClientService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -386,7 +386,7 @@ export class ApiClientService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/careplan/careplan.activity.service.ts b/src/database/repository.services/careplan/careplan.activity.service.ts index 8a30251..a8a7fb4 100644 --- a/src/database/repository.services/careplan/careplan.activity.service.ts +++ b/src/database/repository.services/careplan/careplan.activity.service.ts @@ -37,7 +37,7 @@ export class CareplanActivityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create careplan activity!', error); } - } + }; getById = async (id) => { try { @@ -60,7 +60,7 @@ export class CareplanActivityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve careplan activity!', error); } - } + }; getRegistrationActivities = async (careplanId: uuid) => { const records = await this.CareplanActivity.findAll({ @@ -70,7 +70,7 @@ export class CareplanActivityService { } }); return records; - } + }; getScheduledActivities = async (careplanId: uuid) => { const records = await this.CareplanActivity.findAll({ @@ -81,7 +81,7 @@ export class CareplanActivityService { }); var sorted = records.sort((a,b) => a.Day - b.Day); return sorted; - } + }; exists = async (id): Promise < boolean > => { try { @@ -90,7 +90,7 @@ export class CareplanActivityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of careplan activity!', error); } - } + }; search = async (filters: CareplanActivitySearchFilters): Promise < CareplanActivitySearchResults > => { try { @@ -121,7 +121,7 @@ export class CareplanActivityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search careplan activity records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -139,7 +139,7 @@ export class CareplanActivityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update careplan activity!', error); } - } + }; delete = async (id) => { try { @@ -152,7 +152,7 @@ export class CareplanActivityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete careplan activity!', error); } - } + }; //#endregion @@ -195,7 +195,7 @@ export class CareplanActivityService { search.include.push(includeCareplanAsCareplan); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -219,7 +219,7 @@ export class CareplanActivityService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -240,7 +240,7 @@ export class CareplanActivityService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/careplan/careplan.service.ts b/src/database/repository.services/careplan/careplan.service.ts index 35d67ea..d1f5af9 100644 --- a/src/database/repository.services/careplan/careplan.service.ts +++ b/src/database/repository.services/careplan/careplan.service.ts @@ -28,7 +28,7 @@ export class CareplanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create care plan!', error); } - } + }; getById = async (id): Promise => { try { @@ -48,7 +48,7 @@ export class CareplanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve care plan!', error); } - } + }; exists = async (code): Promise => { try { @@ -63,7 +63,7 @@ export class CareplanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of care plan!', error); } - } + }; search = async (filters: CareplanSearchFilters): Promise => { try { @@ -156,7 +156,7 @@ export class CareplanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search care plan records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -174,7 +174,7 @@ export class CareplanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update care plan!', error); } - } + }; delete = async (id) => { try { @@ -187,7 +187,7 @@ export class CareplanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete care plan!', error); } - } + }; } /////////////////////////////////////////////////////////////////////////////////////////////// From 6a28d9305732d9553932eef22a12441304bad5d7 Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Tue, 31 Jan 2023 10:16:21 +0530 Subject: [PATCH 112/169] add careplan name --- .../enrollment/enrollment/enrollment.controller.delegate.ts | 6 ++++++ .../repository.services/enrollment/enrollment.service.ts | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 637bc52..83555a2 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -250,6 +250,10 @@ export class EnrollmentControllerDelegate { if (careplanId != null) { filters['CareplanId'] = careplanId; } + var careplanName = query.careplanName ? query.careplanName : null; + if (careplanId != null) { + filters['CareplanName'] = careplanName; + } var carePlan = query.carePlan ? query.carePlan : null; if (carePlan != null) { filters['CarePlan'] = carePlan; @@ -325,6 +329,7 @@ export class EnrollmentControllerDelegate { id : record.id, DisplayId : record.DisplayId, CareplanId : record.CareplanId, + CareplanName : record.CareplanName, ParticipantId : record.ParticipantId, Asset : record.Asset, StartDate : record.StartDate, @@ -347,6 +352,7 @@ export class EnrollmentControllerDelegate { return { id : record.id, CareplanId : record.CareplanId, + CareplanName : record.CareplanName, PlanCode : record.PlanCode, ParticipantId : record.ParticipantId, DisplayId : record.DisplayId, diff --git a/src/database/repository.services/enrollment/enrollment.service.ts b/src/database/repository.services/enrollment/enrollment.service.ts index 00c3f41..9637068 100644 --- a/src/database/repository.services/enrollment/enrollment.service.ts +++ b/src/database/repository.services/enrollment/enrollment.service.ts @@ -230,6 +230,9 @@ export class EnrollmentService { if (filters.CareplanId) { search.where['CareplanId'] = filters.CareplanId; } + if (filters.CareplanName) { + search.where['CareplanName'] = filters.CareplanName; + } if (filters.ProgressStatus) { search.where['ProgressStatus'] = filters.ProgressStatus; } From 0a38d50e9d9094d319edd7946444fa3e6f5e8968 Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Tue, 31 Jan 2023 10:16:37 +0530 Subject: [PATCH 113/169] add careplan name --- .../enrollment/enrollment/enrollment.controller.delegate.ts | 4 ++-- src/domain.types/enrollment/enrollment.domain.types.ts | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 83555a2..3cd6cef 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -251,8 +251,8 @@ export class EnrollmentControllerDelegate { filters['CareplanId'] = careplanId; } var careplanName = query.careplanName ? query.careplanName : null; - if (careplanId != null) { - filters['CareplanName'] = careplanName; + if (careplanName != null) { + filters['careplanName'] = careplanName; } var carePlan = query.carePlan ? query.carePlan : null; if (carePlan != null) { diff --git a/src/domain.types/enrollment/enrollment.domain.types.ts b/src/domain.types/enrollment/enrollment.domain.types.ts index 31d1165..8ef34a5 100644 --- a/src/domain.types/enrollment/enrollment.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.domain.types.ts @@ -33,6 +33,7 @@ export interface EnrollmentUpdateModel { export interface EnrollmentDto { id : uuid; CareplanId : uuid; + CareplanName? : string; PlanCode? : string; ParticipantId : uuid; DisplayId : string; @@ -48,6 +49,8 @@ export interface EnrollmentDto { export interface EnrollmentSearchFilters extends BaseSearchFilters { CareplanId ?: uuid; + CareplanName ?: string; + PlanCode ?: string; ProgressStatus ?: ProgressStatus; DisplayId ?: string; StartDate ?: Date; From 4f56b65d3940d122640638b7caa39596745f9597 Mon Sep 17 00:00:00 2001 From: Kiran Kharade <79803242+kiran-kharade-inflection@users.noreply.github.com> Date: Tue, 31 Jan 2023 14:23:52 +0530 Subject: [PATCH 114/169] Fixed case for search filter in enrollment --- src/api/enrollment/enrollment/enrollment.controller.delegate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 3cd6cef..d937066 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -252,7 +252,7 @@ export class EnrollmentControllerDelegate { } var careplanName = query.careplanName ? query.careplanName : null; if (careplanName != null) { - filters['careplanName'] = careplanName; + filters['CareplanName'] = careplanName; } var carePlan = query.carePlan ? query.carePlan : null; if (carePlan != null) { From 4b7f86409b16dc7632e0f763774d1be00bbca097 Mon Sep 17 00:00:00 2001 From: Shivam Newase Date: Sat, 4 Feb 2023 19:55:21 +0530 Subject: [PATCH 115/169] add scheduled date in enrollment task --- .../enrollment.task.controller.delegate.ts | 4 ++++ .../enrollment.task/enrollment.task.validator.ts | 1 + .../enrollment/enrollment.task.service.ts | 9 +++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index 0a56c23..52f8eb6 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -82,6 +82,10 @@ export class EnrollmentTaskControllerDelegate { if (enrollmentId != null) { filters['EnrollmentId'] = enrollmentId; } + var scheduledDate = query.scheduledDate ? query.scheduledDate : null; + if (scheduledDate != null) { + filters['ScheduledDate'] = scheduledDate; + } return filters; }; diff --git a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts index 89ea353..b3a99ce 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts @@ -47,6 +47,7 @@ export class EnrollmentTaskValidator { enrollmentId : joi.string().guid({ version : ['uuidv4'] }).optional(), + scheduledDate : joi.date().iso().optional(), timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), isRegistrationActivity : joi.boolean().optional(), }); diff --git a/src/database/repository.services/enrollment/enrollment.task.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts index 2e63c52..0761f9a 100644 --- a/src/database/repository.services/enrollment/enrollment.task.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -23,7 +23,7 @@ import { EnrollmentTaskSearchResults } from '../../../domain.types/enrollment/enrollment.task.domain.types'; import { AssetHelper } from '../assets/asset.helper'; - +import { Op } from 'sequelize'; /////////////////////////////////////////////////////////////////////////////////////////////// export class EnrollmentTaskService { @@ -156,7 +156,9 @@ export class EnrollmentTaskService { search.where['AssetId'] = filters.AssetId; } if (filters.AssetType) { - search.where['AssetType'] = filters.AssetType; + search.where['AssetType'] = { + [Op.like] : '%' + filters.AssetType + '%' + }; } if (filters.CareplanId) { search.where['CareplanId'] = filters.CareplanId; @@ -170,6 +172,9 @@ export class EnrollmentTaskService { if (filters.EnrollmentId) { search.where['EnrollmentId'] = filters.EnrollmentId; } + if (filters.ScheduledDate) { + search.where['ScheduledDate'] = filters.ScheduledDate; + } const includeEnrollmentAsEnrollment = { model : this.Enrollment, required : false, From d06bacf4703836be0a1d16534f6b5fc75657882a Mon Sep 17 00:00:00 2001 From: vinay-debug Date: Tue, 14 Feb 2023 16:41:29 +0530 Subject: [PATCH 116/169] Meta message template creation in message asset --- .../message/message.controller.delegate.ts | 70 +++++++++++++------ src/api/assets/message/message.validator.ts | 37 ++++++---- src/database/models/assets/message.model.ts | 16 +++++ .../assets/message.service.ts | 5 ++ .../assets/message.domain.types.ts | 10 +++ 5 files changed, 100 insertions(+), 38 deletions(-) diff --git a/src/api/assets/message/message.controller.delegate.ts b/src/api/assets/message/message.controller.delegate.ts index c18b93d..201150f 100644 --- a/src/api/assets/message/message.controller.delegate.ts +++ b/src/api/assets/message/message.controller.delegate.ts @@ -107,6 +107,10 @@ export class MessageControllerDelegate { if (name != null) { filters['Name'] = name; } + var templateName = query.templateName ? query.templateName : null; + if (templateName != null) { + filters['TemplateName'] = templateName; + } var description = query.description ? query.description : null; if (description != null) { filters['Description'] = description; @@ -141,6 +145,15 @@ export class MessageControllerDelegate { if (Helper.hasProperty(requestBody, 'Name')) { updateModel.Name = requestBody.Name; } + if (Helper.hasProperty(requestBody, 'TemplateName')) { + updateModel.TemplateName = requestBody.TemplateName; + } + if (Helper.hasProperty(requestBody, 'TemplateVariables')) { + updateModel.TemplateVariables = JSON.stringify(requestBody.TemplateVariables); + } + if (Helper.hasProperty(requestBody, 'TemplateButtonIds')) { + updateModel.TemplateButtonIds = JSON.stringify(requestBody.TemplateButtonIds); + } if (Helper.hasProperty(requestBody, 'Description')) { updateModel.Description = requestBody.Description; } @@ -162,8 +175,13 @@ export class MessageControllerDelegate { getCreateModel = (requestBody): MessageCreateModel => { return { - AssetCode : requestBody.AssetCode ? requestBody.AssetCode : null, - Name : requestBody.Name ? requestBody.Name : null, + AssetCode : requestBody.AssetCode ? requestBody.AssetCode : null, + Name : requestBody.Name ? requestBody.Name : null, + TemplateName : requestBody.TemplateName ? requestBody.TemplateName : null, + TemplateVariables : requestBody.TemplateVariables ? + JSON.stringify(requestBody.TemplateVariables) as string : JSON.stringify([]), + TemplateButtonIds : requestBody.TemplateButtonIds ? + JSON.stringify(requestBody.TemplateButtonIds) as string : JSON.stringify([]), Description : requestBody.Description ? requestBody.Description : null, MessageType : requestBody.MessageType ? requestBody.MessageType : 'Unknown', Tags : requestBody.Tags ? JSON.stringify(requestBody.Tags) as string : JSON.stringify([]), @@ -178,16 +196,19 @@ export class MessageControllerDelegate { return null; } return { - id : record.id, - AssetCode : record.AssetCode, - Name : record.Name, - Description : record.Description, - AssetCategory : record.AssetCategory, - MessageType : record.MessageType, - OwnerUserId : record.OwnerUserId, - Tags : JSON.parse(record.Tags), - Url : record.Url, - Version : record.Version + id : record.id, + AssetCode : record.AssetCode, + Name : record.Name, + TemplateName : record.TemplateName, + TemplateVariables : JSON.parse(record.TemplateVariables), + TemplateButtonIds : JSON.parse(record.TemplateButtonIds), + Description : record.Description, + AssetCategory : record.AssetCategory, + MessageType : record.MessageType, + OwnerUserId : record.OwnerUserId, + Tags : JSON.parse(record.Tags), + Url : record.Url, + Version : record.Version }; }; @@ -196,17 +217,20 @@ export class MessageControllerDelegate { return null; } return { - id : record.id, - AssetCode : record.AssetCode, - Name : record.Name, - Description : record.Description, - AssetCategory : record.AssetCategory, - MessageType : record.MessageType, - OwnerUserId : record.OwnerUserId, - Tags : JSON.parse(record.Tags), - Url : record.Url, - Version : record.Version, - CreatedAt : record.CreatedAt, + id : record.id, + AssetCode : record.AssetCode, + Name : record.Name, + TemplateName : record.TemplateName, + TemplateVariables : JSON.parse(record.TemplateVariables), + TemplateButtonIds : JSON.parse(record.TemplateButtonIds), + Description : record.Description, + AssetCategory : record.AssetCategory, + MessageType : record.MessageType, + OwnerUserId : record.OwnerUserId, + Tags : JSON.parse(record.Tags), + Url : record.Url, + Version : record.Version, + CreatedAt : record.CreatedAt, }; }; diff --git a/src/api/assets/message/message.validator.ts b/src/api/assets/message/message.validator.ts index 6ea0de5..15fa9c6 100644 --- a/src/api/assets/message/message.validator.ts +++ b/src/api/assets/message/message.validator.ts @@ -10,14 +10,17 @@ export class MessageValidator { static validateCreateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional().allow(null), - Name : joi.string().optional(), - Description : joi.string().optional().allow(null, ''), - MessageType : joi.string().valid("Educational", "Status", "Unknown").optional(), - Tags : joi.array().items(joi.string()).optional(), - Url : joi.string().optional().allow(null, ''), - Version : joi.string().max(128).optional(), - OwnerUserId : joi.string().guid({ + AssetCode : joi.string().max(256).optional().allow(null), + Name : joi.string().optional(), + TemplateName : joi.string().optional(), + TemplateVariables : joi.array().items(joi.any()).optional(), + TemplateButtonIds : joi.array().items(joi.string()).optional(), + Description : joi.string().optional().allow(null, ''), + MessageType : joi.string().valid("Educational", "Status", "Unknown").optional(), + Tags : joi.array().items(joi.string()).optional(), + Url : joi.string().optional().allow(null, ''), + Version : joi.string().max(128).optional(), + OwnerUserId : joi.string().guid({ version : ['uuidv4'] }).optional(), }); @@ -30,13 +33,16 @@ export class MessageValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), - Name : joi.string().optional(), - Description : joi.string().optional().allow(null, ''), - MessageType : joi.string().valid("Educational", "Status", "Unknown").optional(), - Tags : joi.array().items(joi.string()).optional(), - Url : joi.string().optional().allow(null, ''), - Version : joi.string().max(128).optional() + AssetCode : joi.string().max(256).optional(), + Name : joi.string().optional(), + TemplateName : joi.string().optional(), + TemplateVariables : joi.array().items(joi.any()).optional(), + TemplateButtonIds : joi.array().items(joi.string()).optional(), + Description : joi.string().optional().allow(null, ''), + MessageType : joi.string().valid("Educational", "Status", "Unknown").optional(), + Tags : joi.array().items(joi.string()).optional(), + Url : joi.string().optional().allow(null, ''), + Version : joi.string().max(128).optional() }); return await schema.validateAsync(requestBody); } catch (error) { @@ -49,6 +55,7 @@ export class MessageValidator { const schema = joi.object({ assetCode : joi.string().max(256).optional(), name : joi.string().optional(), + templateName : joi.string().optional(), description : joi.string().optional(), category : joi.string().max(128).optional(), messageType : joi.string().valid("Educational", "Status", "Unknown").optional(), diff --git a/src/database/models/assets/message.model.ts b/src/database/models/assets/message.model.ts index bbd881a..a582f57 100644 --- a/src/database/models/assets/message.model.ts +++ b/src/database/models/assets/message.model.ts @@ -38,6 +38,22 @@ export class MessageModel { type : DataTypes.TEXT, allowNull : false }, + TemplateName : { + type : DataTypes.TEXT, + allowNull : false + }, + TemplateVariables : { + type : DataTypes.TEXT, + allowNull : true, + defaultValue : '[]' + + }, + TemplateButtonIds : { + type : DataTypes.TEXT, + allowNull : true, + defaultValue : '[]' + + }, Description : { type : DataTypes.TEXT, allowNull : true diff --git a/src/database/repository.services/assets/message.service.ts b/src/database/repository.services/assets/message.service.ts index 24399ce..1fd3973 100644 --- a/src/database/repository.services/assets/message.service.ts +++ b/src/database/repository.services/assets/message.service.ts @@ -167,6 +167,11 @@ export class MessageService { [Op.like] : '%' + filters.Name + '%' }; } + if (filters.TemplateName) { + search.where['TemplateName'] = { + [Op.like] : '%' + filters.TemplateName + '%' + }; + } if (filters.Description) { search.where['Description'] = { [Op.like] : '%' + filters.Description + '%' diff --git a/src/domain.types/assets/message.domain.types.ts b/src/domain.types/assets/message.domain.types.ts index 1504f22..55b3a56 100644 --- a/src/domain.types/assets/message.domain.types.ts +++ b/src/domain.types/assets/message.domain.types.ts @@ -21,6 +21,9 @@ export const MessageTypeList: MessageType[] = [ export interface MessageCreateModel { AssetCode ? : string; Name ? : string; + TemplateName ? : string; + TemplateVariables ? : string; + TemplateButtonIds ? : string; Description ? : string; MessageType ? : MessageType; Tags ? : string; @@ -32,6 +35,9 @@ export interface MessageCreateModel { export interface MessageUpdateModel { AssetCode ? : string; Name ? : string; + TemplateName ? : string; + TemplateVariables ? : string; + TemplateButtonIds ? : string; Description ? : string; MessageType ? : MessageType; Tags ? : string; @@ -44,6 +50,9 @@ export interface MessageDto { id: uuid; AssetCode: string; Name: string; + TemplateName ? : string; + TemplateVariables ? : string[]; + TemplateButtonIds ? : string[]; Description: string; AssetCategory: string; MessageType: MessageType; @@ -57,6 +66,7 @@ export interface MessageDto { export interface MessageSearchFilters extends BaseSearchFilters { AssetCode ? : string; Name ? : string; + TemplateName ? : string; Description ? : string; Category ? : string; MessageType ? : MessageType; From b8094334cada90de1a3add12d6899c9a732987c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Feb 2023 14:11:46 +0000 Subject: [PATCH 117/169] Bump @sideway/formula from 3.0.0 to 3.0.1 Bumps [@sideway/formula](https://github.com/sideway/formula) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/sideway/formula/releases) - [Commits](https://github.com/sideway/formula/compare/v3.0.0...v3.0.1) --- updated-dependencies: - dependency-name: "@sideway/formula" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 37b7e77..f5e441c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2015,9 +2015,9 @@ } }, "node_modules/@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" }, "node_modules/@sideway/pinpoint": { "version": "2.0.0", @@ -11220,9 +11220,9 @@ } }, "@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" }, "@sideway/pinpoint": { "version": "2.0.0", From 8ea6a7336a25183f067267043bdab32f252b138d Mon Sep 17 00:00:00 2001 From: RupaliD Date: Sun, 19 Feb 2023 12:38:14 +0530 Subject: [PATCH 118/169] Fixed for user engagement in precentage --- .../repository.services/statistics/statistics.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/database/repository.services/statistics/statistics.service.ts b/src/database/repository.services/statistics/statistics.service.ts index 83c3d87..61d96f8 100644 --- a/src/database/repository.services/statistics/statistics.service.ts +++ b/src/database/repository.services/statistics/statistics.service.ts @@ -339,7 +339,7 @@ const userEngagement = (enrollmentTasks, ParticipantActivityResponse) => { var itemsForDay = ParticipantActivityResponse.filter(x => x.TimeResponded >= dStart && x.TimeResponded < dEnd); var ParticipantActivityResponseCount = itemsForDay.length; - const userEngagement = (ParticipantActivityResponseCount / enrollmentTasksCount); + const userEngagement = (ParticipantActivityResponseCount / enrollmentTasksCount) * 100; itemCounts.push({ Day : d, UserEngagementDaily : userEngagement, From 816c4010720ac4f6b24a8eb055062ab3ec275207 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Feb 2023 03:27:50 +0000 Subject: [PATCH 119/169] Bump sequelize from 6.19.0 to 6.29.0 Bumps [sequelize](https://github.com/sequelize/sequelize) from 6.19.0 to 6.29.0. - [Release notes](https://github.com/sequelize/sequelize/releases) - [Commits](https://github.com/sequelize/sequelize/compare/v6.19.0...v6.29.0) --- updated-dependencies: - dependency-name: sequelize dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- package-lock.json | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index f5e441c..5af68e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7931,9 +7931,9 @@ } }, "node_modules/retry-as-promised": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-5.0.0.tgz", - "integrity": "sha512-6S+5LvtTl2ggBumk04hBo/4Uf6fRJUwIgunGZ7CYEBCeufGFW1Pu6ucUf/UskHeWOIsUcLOGLFXPig5tR5V1nA==" + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.4.tgz", + "integrity": "sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==" }, "node_modules/reusify": { "version": "1.0.4", @@ -8106,9 +8106,9 @@ "integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=" }, "node_modules/sequelize": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.19.0.tgz", - "integrity": "sha512-B3oGIdpYBERDjRDm74h7Ky67f6ZLcmBXOA7HscYObiOSo4pD7VBc9mtm44wNV7unc0uk8I1d30nbZBTQCE377A==", + "version": "6.29.0", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.29.0.tgz", + "integrity": "sha512-m8Wi90rs3NZP9coXE52c7PL4Q078nwYZXqt1IxPvgki7nOFn0p/F0eKsYDBXCPw9G8/BCEa6zZNk0DQUAT4ypA==", "funding": [ { "type": "opencollective", @@ -8123,9 +8123,9 @@ "inflection": "^1.13.2", "lodash": "^4.17.21", "moment": "^2.29.1", - "moment-timezone": "^0.5.34", + "moment-timezone": "^0.5.35", "pg-connection-string": "^2.5.0", - "retry-as-promised": "^5.0.0", + "retry-as-promised": "^7.0.3", "semver": "^7.3.5", "sequelize-pool": "^7.1.0", "toposort-class": "^1.0.1", @@ -8146,6 +8146,9 @@ "mysql2": { "optional": true }, + "oracledb": { + "optional": true + }, "pg": { "optional": true }, @@ -15760,9 +15763,9 @@ "dev": true }, "retry-as-promised": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-5.0.0.tgz", - "integrity": "sha512-6S+5LvtTl2ggBumk04hBo/4Uf6fRJUwIgunGZ7CYEBCeufGFW1Pu6ucUf/UskHeWOIsUcLOGLFXPig5tR5V1nA==" + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.4.tgz", + "integrity": "sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==" }, "reusify": { "version": "1.0.4", @@ -15883,9 +15886,9 @@ "integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=" }, "sequelize": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.19.0.tgz", - "integrity": "sha512-B3oGIdpYBERDjRDm74h7Ky67f6ZLcmBXOA7HscYObiOSo4pD7VBc9mtm44wNV7unc0uk8I1d30nbZBTQCE377A==", + "version": "6.29.0", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.29.0.tgz", + "integrity": "sha512-m8Wi90rs3NZP9coXE52c7PL4Q078nwYZXqt1IxPvgki7nOFn0p/F0eKsYDBXCPw9G8/BCEa6zZNk0DQUAT4ypA==", "requires": { "@types/debug": "^4.1.7", "@types/validator": "^13.7.1", @@ -15894,9 +15897,9 @@ "inflection": "^1.13.2", "lodash": "^4.17.21", "moment": "^2.29.1", - "moment-timezone": "^0.5.34", + "moment-timezone": "^0.5.35", "pg-connection-string": "^2.5.0", - "retry-as-promised": "^5.0.0", + "retry-as-promised": "^7.0.3", "semver": "^7.3.5", "sequelize-pool": "^7.1.0", "toposort-class": "^1.0.1", From 5efe884209dc6028ff8a883ef4dbdc40452585da Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Mon, 27 Feb 2023 10:38:24 +0530 Subject: [PATCH 120/169] update message validator --- src/api/assets/message/message.validator.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/assets/message/message.validator.ts b/src/api/assets/message/message.validator.ts index 15fa9c6..c5d7758 100644 --- a/src/api/assets/message/message.validator.ts +++ b/src/api/assets/message/message.validator.ts @@ -13,7 +13,7 @@ export class MessageValidator { AssetCode : joi.string().max(256).optional().allow(null), Name : joi.string().optional(), TemplateName : joi.string().optional(), - TemplateVariables : joi.array().items(joi.any()).optional(), + TemplateVariables : joi.object().optional(), TemplateButtonIds : joi.array().items(joi.string()).optional(), Description : joi.string().optional().allow(null, ''), MessageType : joi.string().valid("Educational", "Status", "Unknown").optional(), @@ -36,7 +36,7 @@ export class MessageValidator { AssetCode : joi.string().max(256).optional(), Name : joi.string().optional(), TemplateName : joi.string().optional(), - TemplateVariables : joi.array().items(joi.any()).optional(), + TemplateVariables : joi.array().optional(), TemplateButtonIds : joi.array().items(joi.string()).optional(), Description : joi.string().optional().allow(null, ''), MessageType : joi.string().valid("Educational", "Status", "Unknown").optional(), From a9fa2317744f9911b1cb0d413eea175f30acf9da Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Tue, 14 Mar 2023 18:11:23 +0530 Subject: [PATCH 121/169] Feature/label checks (#69) * Update uat-ci-cd.yml * Update uat-ci-cd.yml --- .github/workflows/uat-ci-cd.yml | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/uat-ci-cd.yml b/.github/workflows/uat-ci-cd.yml index 8211b85..488f70f 100644 --- a/.github/workflows/uat-ci-cd.yml +++ b/.github/workflows/uat-ci-cd.yml @@ -14,6 +14,10 @@ on: branches: - 'release/**' - '!release/aha**' # excludes master + + pull_request: + types: [opened, edited] + branches: main jobs: CodeScan-ESLint: @@ -33,8 +37,24 @@ jobs: VALIDATE_TYPESCRIPT_ES: true VALIDATE_ALL_CODEBASE: false DEFAULT_BRANCH: main - + + Label_Checks: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Check labels + - uses: docker://agilepathway/pull-request-label-checker:latest + with: + one_of: major,minor,patch + repo_token: ${{ secrets.GITHUB_TOKEN }} + + Deploy-ECS: + needs: Label_Checks environment: uat runs-on: ubuntu-latest @@ -122,4 +142,4 @@ jobs: url: 'https://reanfoundation.duplocloud.net/subscriptions/${{ secrets.DUPLO_ID }}/UpdateEcsService' method: 'POST' data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200, "DnsPrfx": ""}' - bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} \ No newline at end of file + bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} From 5b23db0140c2389b8d1f71e94e7793ca1157f540 Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Tue, 14 Mar 2023 21:16:08 +0530 Subject: [PATCH 122/169] Changed careplan scheduling --- src/api/assets/message/message.validator.ts | 2 +- .../enrollment.task.controller.delegate.ts | 4 ++++ .../enrollment.task/enrollment.task.validator.ts | 1 + .../enrollment/enrollment.controller.delegate.ts | 15 ++++----------- .../enrollment/enrollment.task.service.ts | 2 +- .../enrollment/enrollment.task.domain.types.ts | 1 + 6 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/api/assets/message/message.validator.ts b/src/api/assets/message/message.validator.ts index c5d7758..4327f96 100644 --- a/src/api/assets/message/message.validator.ts +++ b/src/api/assets/message/message.validator.ts @@ -36,7 +36,7 @@ export class MessageValidator { AssetCode : joi.string().max(256).optional(), Name : joi.string().optional(), TemplateName : joi.string().optional(), - TemplateVariables : joi.array().optional(), + TemplateVariables : joi.object().optional(), TemplateButtonIds : joi.array().items(joi.string()).optional(), Description : joi.string().optional().allow(null, ''), MessageType : joi.string().valid("Educational", "Status", "Unknown").optional(), diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index 0a56c23..c3f36c2 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -82,6 +82,10 @@ export class EnrollmentTaskControllerDelegate { if (enrollmentId != null) { filters['EnrollmentId'] = enrollmentId; } + var orderBy = query.orderBy ? query.orderBy : null; + if (orderBy != null) { + filters['OrderBy'] = orderBy; + } return filters; }; diff --git a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts index 89ea353..e4831c4 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts @@ -49,6 +49,7 @@ export class EnrollmentTaskValidator { }).optional(), timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), isRegistrationActivity : joi.boolean().optional(), + orderBy : joi.string().valid("ScheduledDate", "CreatedAt"), }); return await schema.validateAsync(query); diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index d937066..d0dce8d 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -209,17 +209,10 @@ export class EnrollmentControllerDelegate { if (daysToAdd < 0) { daysToAdd = 0; } - let addDate = daysToAdd / 3; - if (daysToAdd % 3 !== 0) { - addDate = addDate + 1; - } - let dt = TimeHelper.addDuration(startDate, parseInt(addDate.toString()) - 1, DurationType.Day); - - if (daysToAdd % 3 === 0) { - dt = TimeHelper.addDuration(dt, 435 + 3 * 15, DurationType.Minute); - } else { - dt = TimeHelper.addDuration(dt, 435 + (daysToAdd % 3) * 15, DurationType.Minute); - } + let dt = null; + + dt = TimeHelper.addDuration(startDate, daysToAdd, DurationType.Day); + dt = TimeHelper.addDuration(dt, 270, DurationType.Minute); var createModel: EnrollmentTaskCreateModel = { EnrollmentId : record.id, diff --git a/src/database/repository.services/enrollment/enrollment.task.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts index 2e63c52..3d50817 100644 --- a/src/database/repository.services/enrollment/enrollment.task.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -216,7 +216,7 @@ export class EnrollmentTaskService { private addSortingToSearch = (search, filters) => { - let orderByColumn = 'CreatedAt'; + let orderByColumn = 'ScheduledDate'; if (filters.OrderBy) { orderByColumn = filters.OrderBy; } diff --git a/src/domain.types/enrollment/enrollment.task.domain.types.ts b/src/domain.types/enrollment/enrollment.task.domain.types.ts index 0583429..33608fe 100644 --- a/src/domain.types/enrollment/enrollment.task.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.task.domain.types.ts @@ -45,6 +45,7 @@ export interface EnrollmentTaskSearchFilters extends BaseSearchFilters { TimeSlot ?: TimeSlot; IsRegistrationActivity? : boolean, EnrollmentId? : string, + ScheduledDate?: Date; } export interface EnrollmentTaskSearchResults extends BaseSearchResults { From 169a088e9a8b1f56c92592856a19f87c87e7a70a Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Tue, 14 Mar 2023 21:38:37 +0530 Subject: [PATCH 123/169] Removed eslint errors --- src/app.ts | 4 +-- src/auth/authenticator.ts | 2 +- src/common/error.handler.ts | 20 +++++------ src/config/configuration.manager.ts | 2 +- src/database/database.model.manager.ts | 6 ++-- .../careplan/careplan.category.service.ts | 16 ++++----- .../enrollment/enrollment.task.service.ts | 14 ++++---- .../enrollment/participant.service.ts | 14 ++++---- .../file.resource.service.ts | 20 +++++------ .../participant.activity.response.service.ts | 18 +++++----- ...articipant.selected.action.plan.service.ts | 18 +++++----- .../participant.selected.goal.service.ts | 18 +++++----- .../participant.selected.priority.service.ts | 18 +++++----- .../user/user.role.service.ts | 18 +++++----- .../repository.services/user/user.service.ts | 34 +++++++++---------- 15 files changed, 111 insertions(+), 111 deletions(-) diff --git a/src/app.ts b/src/app.ts index 69876b9..ab105e8 100644 --- a/src/app.ts +++ b/src/app.ts @@ -55,7 +55,7 @@ export default class Application { catch (error) { Logger.instance().log('An error occurred while warming up.' + error.message); } - } + }; setupDatabaseConnection = async () => { @@ -74,7 +74,7 @@ export default class Application { await sequelize.sync({ alter: { drop: false } }); - } + }; public start = async(): Promise => { try { diff --git a/src/auth/authenticator.ts b/src/auth/authenticator.ts index 4a076f0..51184db 100644 --- a/src/auth/authenticator.ts +++ b/src/auth/authenticator.ts @@ -37,7 +37,7 @@ export class Authenticator { public verifyUser = async (request: express.Request): Promise => { const authResult = await this._authenticator.authenticateUser(request); return authResult.Result; - } + }; public authenticateClient = async ( request: express.Request, diff --git a/src/common/error.handler.ts b/src/common/error.handler.ts index 3f0b00c..aad4ced 100644 --- a/src/common/error.handler.ts +++ b/src/common/error.handler.ts @@ -12,39 +12,39 @@ export class ErrorHandler { message = message.split('"').join(''); } throw new ApiError(message, 422); - } + }; static throwDuplicateUserError = (message) => { throw new ApiError(message, 422); - } + }; static throwNotFoundError = (message) => { throw new ApiError(message, 404); - } + }; static throwUnauthorizedUserError = (message) => { throw new ApiError(message, 401); - } + }; static throwForebiddenAccessError = (message) => { throw new ApiError(message, 403); - } + }; static throwDbAccessError = (message, error) => { throw new ApiError(message, 503, error); - } + }; static throwConflictError = (message) => { throw new ApiError(message, 409); - } + }; static throwFailedPreconditionError = (message) => { throw new ApiError(message, 412); - } + }; static throwInternalServerError = (message, error = null) => { throw new ApiError(message, 500, error); - } + }; static handleValidationError = (error) => { if (error.isJoi === true) { @@ -55,6 +55,6 @@ export class ErrorHandler { else { ErrorHandler.throwInputValidationError(error.message); } - } + }; } diff --git a/src/config/configuration.manager.ts b/src/config/configuration.manager.ts index 962e92f..72e42ca 100644 --- a/src/config/configuration.manager.ts +++ b/src/config/configuration.manager.ts @@ -64,7 +64,7 @@ export class ConfigurationManager { public static JwtExpiresIn = (): number => { return ConfigurationManager._config.JwtExpiresIn; - } + }; public static FileStorageProvider = (): FileStorageProvider => { return ConfigurationManager._config.FileStorage.Provider; diff --git a/src/database/database.model.manager.ts b/src/database/database.model.manager.ts index 39bb85b..c654e76 100644 --- a/src/database/database.model.manager.ts +++ b/src/database/database.model.manager.ts @@ -47,7 +47,7 @@ export class DatabaseModelManager { }); return models; - } + }; static getModelName = (file: string) => { @@ -71,7 +71,7 @@ export class DatabaseModelManager { } } return str; - } + }; static dropAll = async () => { @@ -118,6 +118,6 @@ export class DatabaseModelManager { } return models; - } + }; } diff --git a/src/database/repository.services/careplan/careplan.category.service.ts b/src/database/repository.services/careplan/careplan.category.service.ts index 969c419..a82d7fb 100644 --- a/src/database/repository.services/careplan/careplan.category.service.ts +++ b/src/database/repository.services/careplan/careplan.category.service.ts @@ -18,7 +18,7 @@ export class CareplanCategoryService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create careplan category!', error); } - } + }; getById = async (id): Promise < CareplanCategoryDto > => { try { @@ -31,7 +31,7 @@ export class CareplanCategoryService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve careplan category!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -40,7 +40,7 @@ export class CareplanCategoryService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of careplan category!', error); } - } + }; existsByName = async (typeName): Promise < boolean > => { try { @@ -51,7 +51,7 @@ export class CareplanCategoryService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of careplan category!', error); } - } + }; getCareplanCategories = async (): Promise < string[] > => { try { @@ -61,7 +61,7 @@ export class CareplanCategoryService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to find careplan categories!', error); } - } + }; search = async (filters: CareplanCategorySearchFilters): Promise < CareplanCategorySearchResults > => { try { @@ -125,7 +125,7 @@ export class CareplanCategoryService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search careplan category records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -143,7 +143,7 @@ export class CareplanCategoryService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update careplan category!', error); } - } + }; delete = async (id) => { try { @@ -156,7 +156,7 @@ export class CareplanCategoryService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete careplan category!', error); } - } + }; } /////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/database/repository.services/enrollment/enrollment.task.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts index 3d50817..9482f0d 100644 --- a/src/database/repository.services/enrollment/enrollment.task.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -51,7 +51,7 @@ export class EnrollmentTaskService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment schedule!', error); } - } + }; getById = async (id) => { try { @@ -89,7 +89,7 @@ export class EnrollmentTaskService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve enrollment schedule!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -98,7 +98,7 @@ export class EnrollmentTaskService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of enrollment schedule!', error); } - } + }; search = async (filters: EnrollmentTaskSearchFilters): Promise < EnrollmentTaskSearchResults > => { try { @@ -136,7 +136,7 @@ export class EnrollmentTaskService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search enrollment schedule records!', error); } - } + }; //#endregion @@ -212,7 +212,7 @@ export class EnrollmentTaskService { search.include.push(includeCareplanAsCareplan); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -236,7 +236,7 @@ export class EnrollmentTaskService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -257,7 +257,7 @@ export class EnrollmentTaskService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/enrollment/participant.service.ts b/src/database/repository.services/enrollment/participant.service.ts index 919ea87..ea82a73 100644 --- a/src/database/repository.services/enrollment/participant.service.ts +++ b/src/database/repository.services/enrollment/participant.service.ts @@ -15,7 +15,7 @@ export class ParticipantService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create participant!', error); } - } + }; getById = async (id) => { try { @@ -28,7 +28,7 @@ export class ParticipantService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve participant!', error); } - } + }; exists = async (id) => { try { @@ -37,7 +37,7 @@ export class ParticipantService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of participant!', error); } - } + }; search = async (filters) => { try { @@ -125,7 +125,7 @@ export class ParticipantService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search participant records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -143,7 +143,7 @@ export class ParticipantService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update participant!', error); } - } + }; delete = async (id) => { try { @@ -156,7 +156,7 @@ export class ParticipantService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete participant!', error); } - } + }; getParticipantWithPhone = async (countryCode, phone) => { try { @@ -183,6 +183,6 @@ export class ParticipantService { } catch (error) { ErrorHandler.throwDbAccessError('Unable to check if participant exists with email!', error); } - } + }; } diff --git a/src/database/repository.services/file.resource.service.ts b/src/database/repository.services/file.resource.service.ts index 9192591..0915216 100644 --- a/src/database/repository.services/file.resource.service.ts +++ b/src/database/repository.services/file.resource.service.ts @@ -25,7 +25,7 @@ export class FileResourceService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create file resource!', error); } - } + }; getById = async (id) => { try { @@ -46,7 +46,7 @@ export class FileResourceService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve file resource!', error); } - } + }; incrementDownloadCount = async (id) => { try { @@ -60,7 +60,7 @@ export class FileResourceService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update download count for file resource!', error); } - } + }; exists = async (id): Promise => { try { @@ -69,7 +69,7 @@ export class FileResourceService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of file resource!', error); } - } + }; search = async (filters): Promise => { try { @@ -100,7 +100,7 @@ export class FileResourceService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search file resource records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -118,7 +118,7 @@ export class FileResourceService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update file resource!', error); } - } + }; delete = async (id) => { try { @@ -131,7 +131,7 @@ export class FileResourceService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete file resource!', error); } - } + }; //#endregion @@ -174,7 +174,7 @@ export class FileResourceService { search.include.push(includeUserAsUser); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -198,7 +198,7 @@ export class FileResourceService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -219,7 +219,7 @@ export class FileResourceService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/participant.responses/participant.activity.response.service.ts b/src/database/repository.services/participant.responses/participant.activity.response.service.ts index 7563c3a..b0dbbfb 100644 --- a/src/database/repository.services/participant.responses/participant.activity.response.service.ts +++ b/src/database/repository.services/participant.responses/participant.activity.response.service.ts @@ -53,7 +53,7 @@ export class ParticipantActivityResponseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create participant activity response!', error); } - } + }; getById = async (id) => { try { @@ -89,7 +89,7 @@ export class ParticipantActivityResponseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve participant activity response!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -98,7 +98,7 @@ export class ParticipantActivityResponseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of participant activity response!', error); } - } + }; // eslint-disable-next-line max-len search = async (filters: ParticipantActivityResponseSearchFilters): Promise < ParticipantActivityResponseSearchResults > => { @@ -130,7 +130,7 @@ export class ParticipantActivityResponseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search participant activity response records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -148,7 +148,7 @@ export class ParticipantActivityResponseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update participant activity response!', error); } - } + }; delete = async (id) => { try { @@ -161,7 +161,7 @@ export class ParticipantActivityResponseService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete participant activity response!', error); } - } + }; //#endregion @@ -239,7 +239,7 @@ export class ParticipantActivityResponseService { search.include.push(includeCareplanAsCareplan); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -263,7 +263,7 @@ export class ParticipantActivityResponseService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -284,7 +284,7 @@ export class ParticipantActivityResponseService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts b/src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts index de9a069..8cdb795 100644 --- a/src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts +++ b/src/database/repository.services/participant.responses/participant.selected.action.plan.service.ts @@ -49,7 +49,7 @@ export class ParticipantSelectedActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to get participant selected action plan!', error); } - } + }; getById = async (id) => { try { @@ -85,7 +85,7 @@ export class ParticipantSelectedActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve participant selected action plan!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -94,7 +94,7 @@ export class ParticipantSelectedActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of participant selected action plan!', error); } - } + }; search = async (filters: ParticipantSelectedActionPlanSearchFilters): Promise < ParticipantSelectedActionPlanSearchResults > => { @@ -126,7 +126,7 @@ export class ParticipantSelectedActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search participant selected action plan records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -144,7 +144,7 @@ export class ParticipantSelectedActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update participant selected action plan!', error); } - } + }; delete = async (id) => { try { @@ -157,7 +157,7 @@ export class ParticipantSelectedActionPlanService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete participant selected action plan!', error); } - } + }; //#endregion @@ -257,7 +257,7 @@ export class ParticipantSelectedActionPlanService { search.include.push(includeCareplanAsCareplan); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -281,7 +281,7 @@ export class ParticipantSelectedActionPlanService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -302,7 +302,7 @@ export class ParticipantSelectedActionPlanService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/participant.responses/participant.selected.goal.service.ts b/src/database/repository.services/participant.responses/participant.selected.goal.service.ts index fce0652..872a334 100644 --- a/src/database/repository.services/participant.responses/participant.selected.goal.service.ts +++ b/src/database/repository.services/participant.responses/participant.selected.goal.service.ts @@ -49,7 +49,7 @@ export class ParticipantSelectedGoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create participant selected goal!', error); } - } + }; getById = async (id) => { try { @@ -85,7 +85,7 @@ export class ParticipantSelectedGoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve participant selected goal!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -94,7 +94,7 @@ export class ParticipantSelectedGoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of participant selected goal!', error); } - } + }; search = async (filters: ParticipantSelectedGoalSearchFilters): Promise < ParticipantSelectedGoalSearchResults > => { @@ -126,7 +126,7 @@ export class ParticipantSelectedGoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search participant selected goal records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -144,7 +144,7 @@ export class ParticipantSelectedGoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update participant selected goal!', error); } - } + }; delete = async (id) => { try { @@ -157,7 +157,7 @@ export class ParticipantSelectedGoalService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete participant selected goal!', error); } - } + }; //#endregion @@ -257,7 +257,7 @@ export class ParticipantSelectedGoalService { search.include.push(includeCareplanAsCareplan); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -281,7 +281,7 @@ export class ParticipantSelectedGoalService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -302,7 +302,7 @@ export class ParticipantSelectedGoalService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/participant.responses/participant.selected.priority.service.ts b/src/database/repository.services/participant.responses/participant.selected.priority.service.ts index 3cd4493..dc4f29d 100644 --- a/src/database/repository.services/participant.responses/participant.selected.priority.service.ts +++ b/src/database/repository.services/participant.responses/participant.selected.priority.service.ts @@ -46,7 +46,7 @@ export class ParticipantSelectedPriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create participant selected priority!', error); } - } + }; getById = async (id) => { try { @@ -76,7 +76,7 @@ export class ParticipantSelectedPriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve participant selected priority!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -85,7 +85,7 @@ export class ParticipantSelectedPriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of participant selected priority!', error); } - } + }; search = async (filters: ParticipantSelectedPrioritySearchFilters): Promise < ParticipantSelectedPrioritySearchResults > => { @@ -117,7 +117,7 @@ export class ParticipantSelectedPriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search participant selected priority records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -135,7 +135,7 @@ export class ParticipantSelectedPriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update participant selected priority!', error); } - } + }; delete = async (id) => { try { @@ -148,7 +148,7 @@ export class ParticipantSelectedPriorityService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete participant selected priority!', error); } - } + }; //#endregion @@ -224,7 +224,7 @@ export class ParticipantSelectedPriorityService { search.include.push(includeCareplanAsCareplan); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -248,7 +248,7 @@ export class ParticipantSelectedPriorityService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -269,7 +269,7 @@ export class ParticipantSelectedPriorityService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/user/user.role.service.ts b/src/database/repository.services/user/user.role.service.ts index f41b41f..9889aec 100644 --- a/src/database/repository.services/user/user.role.service.ts +++ b/src/database/repository.services/user/user.role.service.ts @@ -40,7 +40,7 @@ export class UserRoleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create user role!', error); } - } + }; getById = async (id) => { try { @@ -53,7 +53,7 @@ export class UserRoleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve user role!', error); } - } + }; exists = async (id): Promise < boolean > => { try { @@ -62,7 +62,7 @@ export class UserRoleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of user role!', error); } - } + }; search = async (filters: UserRoleSearchFilters): Promise < UserRoleSearchResults > => { try { @@ -93,7 +93,7 @@ export class UserRoleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search user role records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -111,7 +111,7 @@ export class UserRoleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update user role!', error); } - } + }; delete = async (id) => { try { @@ -124,7 +124,7 @@ export class UserRoleService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete user role!', error); } - } + }; //#endregion @@ -164,7 +164,7 @@ export class UserRoleService { search.include.push(includeRoleAsRole); return search; - } + }; private addSortingToSearch = (search, filters) => { @@ -188,7 +188,7 @@ export class UserRoleService { order, orderByColumn }; - } + }; private addPaginationToSearch = (search, filters) => { @@ -209,7 +209,7 @@ export class UserRoleService { pageIndex, limit }; - } + }; //#endregion diff --git a/src/database/repository.services/user/user.service.ts b/src/database/repository.services/user/user.service.ts index b2f990a..2f2baae 100644 --- a/src/database/repository.services/user/user.service.ts +++ b/src/database/repository.services/user/user.service.ts @@ -28,7 +28,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to create user!', error); } - } + }; getById = async (id) => { try { @@ -52,7 +52,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve user!', error); } - } + }; exists = async (id) => { try { @@ -61,7 +61,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to determine existance of user!', error); } - } + }; search = async (filters) => { try { @@ -155,7 +155,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to search user records!', error); } - } + }; update = async (id, updateModel) => { try { @@ -173,7 +173,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to update user!', error); } - } + }; delete = async (id) => { try { @@ -186,7 +186,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to delete user!', error); } - } + }; getUserWithPhone = async (countryCode, phone) => { try { @@ -213,7 +213,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('Unable to check if user exists with email!', error); } - } + }; getUserWithUserName = async (username) => { try { @@ -226,7 +226,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('Unable to check username!', error); } - } + }; generateUserNameIfDoesNotExist = async (userName) => { var tmpUsername = userName ?? Helper.generateUserName(); @@ -234,7 +234,7 @@ export class UserService { tmpUsername = Helper.generateUserName(); } return tmpUsername; - } + }; getUser = async ( countryCode, @@ -275,7 +275,7 @@ export class UserService { user['Role'] = role; return user; - } + }; getUserUpdateModel = (inputModel) => { @@ -310,7 +310,7 @@ export class UserService { } return updateModel; - } + }; createUserLoginSession = async (userId) => { try { @@ -326,7 +326,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('Unable to create user login session!', error); } - } + }; invalidateUserLoginSession = async (sessionId) => { try { @@ -337,7 +337,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('Unable to invalidate user login session!', error); } - } + }; isValidUserLoginSession = async (sessionId) => { try { @@ -355,7 +355,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('Unable to determine validity of user login session!', error); } - } + }; getBySessionId = async (sessionId) => { try { @@ -392,7 +392,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('DB Error: Unable to retrieve user for the session!', error); } - } + }; resetPassword = async (userId, hashedPassword) => { try { @@ -408,7 +408,7 @@ export class UserService { } catch (error) { ErrorHandler.throwDbAccessError('Unable to reset password!', error); } - } + }; validatePasswordCriteria = (password) => { var strength = passwordStrength(password); @@ -417,6 +417,6 @@ export class UserService { //'lowercase', 'uppercase', 'symbol', 'number' ErrorHandler.throwInputValidationError(['Password does not match security criteria!']); } - } + }; } From 08584c391a3123dbc880bb3658581b0fc4e9970e Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Wed, 15 Mar 2023 13:11:53 +0530 Subject: [PATCH 124/169] Update uat-ci-cd.yml --- .github/workflows/uat-ci-cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/uat-ci-cd.yml b/.github/workflows/uat-ci-cd.yml index 488f70f..a036dda 100644 --- a/.github/workflows/uat-ci-cd.yml +++ b/.github/workflows/uat-ci-cd.yml @@ -47,7 +47,7 @@ jobs: fetch-depth: 0 - name: Check labels - - uses: docker://agilepathway/pull-request-label-checker:latest + uses: docker://agilepathway/pull-request-label-checker:latest with: one_of: major,minor,patch repo_token: ${{ secrets.GITHUB_TOKEN }} From ad25929645606b5ceba0ac875e7df3b584cbdf02 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Wed, 15 Mar 2023 17:43:44 +0530 Subject: [PATCH 125/169] Removing Label Checks (#73) --- .github/workflows/uat-ci-cd.yml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/.github/workflows/uat-ci-cd.yml b/.github/workflows/uat-ci-cd.yml index a036dda..f2a3e7d 100644 --- a/.github/workflows/uat-ci-cd.yml +++ b/.github/workflows/uat-ci-cd.yml @@ -37,24 +37,10 @@ jobs: VALIDATE_TYPESCRIPT_ES: true VALIDATE_ALL_CODEBASE: false DEFAULT_BRANCH: main - - Label_Checks: - runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Check labels - uses: docker://agilepathway/pull-request-label-checker:latest - with: - one_of: major,minor,patch - repo_token: ${{ secrets.GITHUB_TOKEN }} + Deploy-ECS: - needs: Label_Checks environment: uat runs-on: ubuntu-latest From 89dd7a92bafe12da662247d80a89b60464cee932 Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Mon, 27 Mar 2023 16:22:34 +0000 Subject: [PATCH 126/169] fix: upgrade aws-sdk from 2.1129.0 to 2.1328.0 Snyk has created this PR to upgrade aws-sdk from 2.1129.0 to 2.1328.0. See this package in npm: https://www.npmjs.com/package/aws-sdk See this project in Snyk: https://app.snyk.io/org/rf-opssupport/project/c4405745-f615-41b4-a11b-43c8bb703f91?utm_source=github&utm_medium=referral&page=upgrade-pr --- package-lock.json | 240 ++++++++++++++++++++++++++++++++++++++++------ package.json | 2 +- 2 files changed, 211 insertions(+), 31 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5af68e4..aab8763 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "adm-zip": "^0.5.6", "ansi-regex": "^6.0.1", "approx-string-match": "^1.1.0", - "aws-sdk": "^2.991.0", + "aws-sdk": "^2.1328.0", "axios": "^0.26.1", "bcryptjs": "^2.4.3", "body-parser": "^1.19.0", @@ -2850,10 +2850,21 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/aws-sdk": { - "version": "2.1129.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1129.0.tgz", - "integrity": "sha512-gQZaByfW7zKCg1n/kA+xDdLhI/SauaokRTq+lztK1cCCdFkR5CShcKeK/qUgVxjy43mwB7CkeTh1WUr2NMb0jg==", + "version": "2.1328.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1328.0.tgz", + "integrity": "sha512-ud8ieE+hGX/cWHkQ9kMxQw6w+onbv71PDrcPmP2j8cmYv5IPlM5Zh8/tpsmXApLYDmQMuZ3TtssiB1KmoSbzgA==", "dependencies": { "buffer": "4.9.2", "events": "1.1.1", @@ -2862,7 +2873,8 @@ "querystring": "0.2.0", "sax": "1.2.1", "url": "0.10.3", - "uuid": "3.3.2", + "util": "^0.12.4", + "uuid": "8.0.0", "xml2js": "0.4.19" }, "engines": { @@ -2870,12 +2882,11 @@ } }, "node_modules/aws-sdk/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", + "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", "bin": { - "uuid": "bin/uuid" + "uuid": "dist/bin/uuid" } }, "node_modules/axios": { @@ -4743,6 +4754,14 @@ } } }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", @@ -4903,13 +4922,13 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5085,6 +5104,17 @@ "node": ">=10.10.0" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -5160,7 +5190,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, "dependencies": { "has-symbols": "^1.0.2" }, @@ -5366,6 +5395,21 @@ "node": ">= 0.10" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -5404,7 +5448,6 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -5457,6 +5500,20 @@ "node": ">=6" } }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -5585,6 +5642,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -9208,6 +9283,18 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -9406,6 +9493,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/wkx": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz", @@ -11898,10 +12004,15 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, "aws-sdk": { - "version": "2.1129.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1129.0.tgz", - "integrity": "sha512-gQZaByfW7zKCg1n/kA+xDdLhI/SauaokRTq+lztK1cCCdFkR5CShcKeK/qUgVxjy43mwB7CkeTh1WUr2NMb0jg==", + "version": "2.1328.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1328.0.tgz", + "integrity": "sha512-ud8ieE+hGX/cWHkQ9kMxQw6w+onbv71PDrcPmP2j8cmYv5IPlM5Zh8/tpsmXApLYDmQMuZ3TtssiB1KmoSbzgA==", "requires": { "buffer": "4.9.2", "events": "1.1.1", @@ -11910,14 +12021,15 @@ "querystring": "0.2.0", "sax": "1.2.1", "url": "0.10.3", - "uuid": "3.3.2", + "util": "^0.12.4", + "uuid": "8.0.0", "xml2js": "0.4.19" }, "dependencies": { "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", + "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==" } } }, @@ -13357,6 +13469,14 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, "form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", @@ -13477,13 +13597,13 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" } }, "get-package-type": { @@ -13605,6 +13725,14 @@ "uuid": "^8.0.0" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -13659,7 +13787,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, "requires": { "has-symbols": "^1.0.2" } @@ -13808,6 +13935,15 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -13836,8 +13972,7 @@ "is-callable": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" }, "is-core-module": { "version": "2.9.0", @@ -13869,6 +14004,14 @@ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -13952,6 +14095,18 @@ "has-symbols": "^1.0.2" } }, + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -16680,6 +16835,18 @@ "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=" }, + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -16840,6 +17007,19 @@ "is-symbol": "^1.0.3" } }, + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } + }, "wkx": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz", diff --git a/package.json b/package.json index 086607d..74f6653 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "adm-zip": "^0.5.6", "ansi-regex": "^6.0.1", "approx-string-match": "^1.1.0", - "aws-sdk": "^2.991.0", + "aws-sdk": "^2.1328.0", "axios": "^0.26.1", "bcryptjs": "^2.4.3", "body-parser": "^1.19.0", From ecb860f725806371281acfc5c8fcc98fe9d4cb53 Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Mon, 27 Mar 2023 16:22:42 +0000 Subject: [PATCH 127/169] fix: upgrade @aws-sdk/client-comprehendmedical from 3.85.0 to 3.282.0 Snyk has created this PR to upgrade @aws-sdk/client-comprehendmedical from 3.85.0 to 3.282.0. See this package in npm: https://www.npmjs.com/package/@aws-sdk/client-comprehendmedical See this project in Snyk: https://app.snyk.io/org/rf-opssupport/project/c4405745-f615-41b4-a11b-43c8bb703f91?utm_source=github&utm_medium=referral&page=upgrade-pr --- package-lock.json | 1969 +++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 1101 insertions(+), 870 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5af68e4..b0362cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@aws-sdk/client-comprehendmedical": "^3.13.0", + "@aws-sdk/client-comprehendmedical": "^3.282.0", "@types/adm-zip": "^0.4.34", "@types/bcryptjs": "^2.4.2", "@types/express": "^4.17.13", @@ -89,9 +89,9 @@ } }, "node_modules/@aws-crypto/ie11-detection": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz", - "integrity": "sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", "dependencies": { "tslib": "^1.11.1" } @@ -102,15 +102,15 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/sha256-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", - "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", - "dependencies": { - "@aws-crypto/ie11-detection": "^2.0.0", - "@aws-crypto/sha256-js": "^2.0.0", - "@aws-crypto/supports-web-crypto": "^2.0.0", - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "dependencies": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" @@ -122,12 +122,12 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/sha256-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", - "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", "dependencies": { - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "tslib": "^1.11.1" } }, @@ -137,9 +137,9 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/supports-web-crypto": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz", - "integrity": "sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", "dependencies": { "tslib": "^1.11.1" } @@ -150,11 +150,11 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/util": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.1.tgz", - "integrity": "sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", "dependencies": { - "@aws-sdk/types": "^3.1.0", + "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" } @@ -165,648 +165,743 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.78.0.tgz", - "integrity": "sha512-iz1YLwM2feJUj/y97yO4XmDeTxs+yZ1XJwQgoawKuc8IDBKUutnJNCHL5jL04WUKU7Nrlq+Hr2fCTScFh2z9zg==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.272.0.tgz", + "integrity": "sha512-s2TV3phapcTwZNr4qLxbfuQuE9ZMP4RoJdkvRRCkKdm6jslsWLJf2Zlcxti/23hOlINUMYv2iXE2pftIgWGdpg==", "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-comprehendmedical": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.85.0.tgz", - "integrity": "sha512-lJr26GcZxNcw3rbERE4V1wa2KiC1VTp4e+Dp0qxlUwwXbAnsTiSAbmHcX+8771grnnw6SeSctFOpqCd7Ru4Hzw==", - "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.85.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-node": "3.85.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.82.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.85.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", - "@aws-sdk/util-base64-node": "3.55.0", - "@aws-sdk/util-body-length-browser": "3.55.0", - "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.85.0", - "@aws-sdk/util-defaults-mode-node": "3.85.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.282.0.tgz", + "integrity": "sha512-PdDdBuFBIpG/FcJorLtZHjo7akrv1A9gVV4DQJLnsMJDRV/EsfGVK6eLnXnwgOR1kd97KWQI92pEe3pumK5epA==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.282.0", + "@aws-sdk/config-resolver": "3.282.0", + "@aws-sdk/credential-provider-node": "3.282.0", + "@aws-sdk/fetch-http-handler": "3.282.0", + "@aws-sdk/hash-node": "3.272.0", + "@aws-sdk/invalid-dependency": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.272.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.282.0", + "@aws-sdk/middleware-serde": "3.272.0", + "@aws-sdk/middleware-signing": "3.282.0", + "@aws-sdk/middleware-stack": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.282.0", + "@aws-sdk/util-endpoints": "3.272.0", + "@aws-sdk/util-retry": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.282.0", + "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1", "uuid": "^8.3.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.85.0.tgz", - "integrity": "sha512-JMW0NzFpo99oE6O9M/kgLela73p4vmhe/5TIcdrqUvP9XUV9nANl5nSXh3rqLz0ubmliedz9kdYYhwMC3ntoXg==", - "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.82.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.85.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", - "@aws-sdk/util-base64-node": "3.55.0", - "@aws-sdk/util-body-length-browser": "3.55.0", - "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.85.0", - "@aws-sdk/util-defaults-mode-node": "3.85.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.282.0.tgz", + "integrity": "sha512-VzdCCaxlDyU+7wvLDWh+uACQ6RPfaKLQ3yJ2UY0B0SkH4R0E4GLDJ2OJzqS5eyyOsnq1rxfY75S4WYzj8E2cvg==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.282.0", + "@aws-sdk/fetch-http-handler": "3.282.0", + "@aws-sdk/hash-node": "3.272.0", + "@aws-sdk/invalid-dependency": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.272.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.282.0", + "@aws-sdk/middleware-serde": "3.272.0", + "@aws-sdk/middleware-stack": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.282.0", + "@aws-sdk/util-endpoints": "3.272.0", + "@aws-sdk/util-retry": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.282.0", + "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.282.0.tgz", + "integrity": "sha512-upC4yBZllAXg5OVIuS8Lu9MI1aqfAObl2BBixj9fIYbDanQ02s0b1IwfZqlOqNNkGzMko1AWyiOSyOdVgyJ+xg==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.282.0", + "@aws-sdk/fetch-http-handler": "3.282.0", + "@aws-sdk/hash-node": "3.272.0", + "@aws-sdk/invalid-dependency": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.272.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.282.0", + "@aws-sdk/middleware-serde": "3.272.0", + "@aws-sdk/middleware-stack": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.282.0", + "@aws-sdk/util-endpoints": "3.272.0", + "@aws-sdk/util-retry": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.282.0", + "@aws-sdk/util-utf8": "3.254.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.85.0.tgz", - "integrity": "sha512-qjaoGG1FrCTS1zSk/XOQRZ0v0JXeytpMl/hf6BcoX/NsaJzDaE5oJlzqdNGwd+1kLYt9J2igG3zxYgvxnCHg6w==", - "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-node": "3.85.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-sdk-sts": "3.78.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.82.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.85.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", - "@aws-sdk/util-base64-node": "3.55.0", - "@aws-sdk/util-body-length-browser": "3.55.0", - "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.85.0", - "@aws-sdk/util-defaults-mode-node": "3.85.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", - "entities": "2.2.0", - "fast-xml-parser": "3.19.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.282.0.tgz", + "integrity": "sha512-JZybEaST0rloS9drlX/0yJAnKHuV7DlS1n1WZxgaM2DY704ydlGiviiPQvC/q/dItsX4017gscC0blGJcUjK1g==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.282.0", + "@aws-sdk/credential-provider-node": "3.282.0", + "@aws-sdk/fetch-http-handler": "3.282.0", + "@aws-sdk/hash-node": "3.272.0", + "@aws-sdk/invalid-dependency": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.272.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.282.0", + "@aws-sdk/middleware-sdk-sts": "3.282.0", + "@aws-sdk/middleware-serde": "3.272.0", + "@aws-sdk/middleware-signing": "3.282.0", + "@aws-sdk/middleware-stack": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.282.0", + "@aws-sdk/util-endpoints": "3.272.0", + "@aws-sdk/util-retry": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.282.0", + "@aws-sdk/util-utf8": "3.254.0", + "fast-xml-parser": "4.1.2", "tslib": "^2.3.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.80.0.tgz", - "integrity": "sha512-vFruNKlmhsaC8yjnHmasi1WW/7EELlEuFTj4mqcqNqR4dfraf0maVvpqF1VSR8EstpFMsGYI5dmoWAnnG4PcLQ==", - "dependencies": { - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-config-provider": "3.55.0", - "@aws-sdk/util-middleware": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.282.0.tgz", + "integrity": "sha512-30qFLh2N4NXQ2EAook7NIFeu1K/nlrRLrdVb2BtGFi/F3cZnz+sy9o0XmL6x+sO9TznWjdNxD1RKQdqoAwGnCQ==", + "dependencies": { + "@aws-sdk/signature-v4": "3.282.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.78.0.tgz", - "integrity": "sha512-K41VTIzVHm2RyIwtBER8Hte3huUBXdV1WKO+i7olYVgLFmaqcZUNrlyoGDRqZcQ/u4AbxTzBU9jeMIbIfzMOWg==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.272.0.tgz", + "integrity": "sha512-QI65NbLnKLYHyTYhXaaUrq6eVsCCrMUb05WDA7+TJkWkjXesovpjc8vUKgFiLSxmgKmb2uOhHNcDyObKMrYQFw==", "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.81.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.81.0.tgz", - "integrity": "sha512-BHopP+gaovTYj+4tSrwCk8NNCR48gE9CWmpIOLkP9ell0gOL81Qh7aCEiIK0BZBZkccv1s16cYq1MSZZGS7PEQ==", - "dependencies": { - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.272.0.tgz", + "integrity": "sha512-wwAfVY1jTFQEfxVfdYD5r5ieYGl+0g4nhekVxNMqE8E1JeRDd18OqiwAflzpgBIqxfqvCUkf+vl5JYyacMkNAQ==", + "dependencies": { + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.85.0.tgz", - "integrity": "sha512-KgzLGq+w8OrSLutwdYUw0POeLinGQKcqvQJ9702eoeXCwZMnEHwKqU61bn8QKMX/tuYVCNV4I1enI7MmYPW8Lw==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.78.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/credential-provider-sso": "3.85.0", - "@aws-sdk/credential-provider-web-identity": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.282.0.tgz", + "integrity": "sha512-2GKduXORcUgOigF1jZF7A1Wh4W/aJt3ynh7xb1vfx020nHx6YDljrEGpzgH6pOVzl7ZhgthpojicCuy2UumkMA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.272.0", + "@aws-sdk/credential-provider-imds": "3.272.0", + "@aws-sdk/credential-provider-process": "3.272.0", + "@aws-sdk/credential-provider-sso": "3.282.0", + "@aws-sdk/credential-provider-web-identity": "3.272.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.85.0.tgz", - "integrity": "sha512-YMxpRJg88mvfmKxy8I5yG3rx+UmF/5a/4twcdAzCfYTAPz+bV6ypIHjFv610/kygHMm29Fof3DRvHXDdBH4mkw==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.78.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/credential-provider-ini": "3.85.0", - "@aws-sdk/credential-provider-process": "3.80.0", - "@aws-sdk/credential-provider-sso": "3.85.0", - "@aws-sdk/credential-provider-web-identity": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.282.0.tgz", + "integrity": "sha512-qyHipZW0ep8STY+SO+Me8ObQ1Ee/aaZTmAK0Os/gB+EsiZhIE+mi6zRcScwdnpgJPLRYMEe4p/Cr6DOrA0G0GQ==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.272.0", + "@aws-sdk/credential-provider-imds": "3.272.0", + "@aws-sdk/credential-provider-ini": "3.282.0", + "@aws-sdk/credential-provider-process": "3.272.0", + "@aws-sdk/credential-provider-sso": "3.282.0", + "@aws-sdk/credential-provider-web-identity": "3.272.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.80.0.tgz", - "integrity": "sha512-3Ro+kMMyLUJHefOhGc5pOO/ibGcJi8bkj0z/Jtqd5I2Sm1qi7avoztST67/k48KMW1OqPnD/FUqxz5T8B2d+FQ==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.272.0.tgz", + "integrity": "sha512-hiCAjWWm2PeBFp5cjkxqyam/XADjiS+e7GzwC34TbZn3LisS0uoweLojj9tD11NnnUhyhbLteUvu5+rotOLwrg==", "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.85.0.tgz", - "integrity": "sha512-uE238BgJ/AftPDlBGDlV0XdiNWnUZxFmUmLxgbr19/6jHaCuBr//T6rP+Bc0BjcHkvQCvTdFoCjs17R3Quy3cw==", - "dependencies": { - "@aws-sdk/client-sso": "3.85.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.282.0.tgz", + "integrity": "sha512-c4nibry7u0hkYRMi7+cWzdwYXfDDG+j3VYFxk2oOvU1VIJRyE6oeJqVaz3jgYLX9brHyrLJjuFCIJCUV/WXgIA==", + "dependencies": { + "@aws-sdk/client-sso": "3.282.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/token-providers": "3.282.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.78.0.tgz", - "integrity": "sha512-9/IvqHdJaVqMEABA8xZE3t5YF1S2PepfckVu0Ws9YUglj6oO+2QyVX6aRgMF1xph6781+Yc31TDh8/3eaDja7w==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.272.0.tgz", + "integrity": "sha512-ImrHMkcgneGa/HadHAQXPwOrX26sAKuB8qlMxZF/ZCM2B55u8deY+ZVkVuraeKb7YsahMGehPFOfRAF6mvFI5Q==", "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.78.0.tgz", - "integrity": "sha512-cR6r2h2kJ1DNEZSXC6GknQB7OKmy+s9ZNV+g3AsNqkrUmNNOaHpFoSn+m6SC3qaclcGd0eQBpqzSu/TDn23Ihw==", - "dependencies": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/querystring-builder": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.282.0.tgz", + "integrity": "sha512-RTd53UzKtUucIEdVLGGgtlbVwp0QkOt3ZfHuA/A1lOH7meChSh1kz7B5z3p4HQDpXO+MQ1Y6Ble9Vg2fh1zwJQ==", + "dependencies": { + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/querystring-builder": "3.272.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-base64": "3.208.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-node": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.78.0.tgz", - "integrity": "sha512-ev48yXaqZVtMeuKy52LUZPHCyKvkKQ9uiUebqkA+zFxIk+eN8SMPFHmsififIHWuS6ZkXBUSctjH9wmLebH60A==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.272.0.tgz", + "integrity": "sha512-40dwND+iAm3VtPHPZu7/+CIdVJFk2s0cWZt1lOiMPMSXycSYJ45wMk7Lly3uoqRx0uWfFK5iT2OCv+fJi5jTng==", "dependencies": { - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-buffer-from": "3.55.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-buffer-from": "3.208.0", + "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.78.0.tgz", - "integrity": "sha512-zUo+PbeRMN/Mzj6y+6p9qqk/znuFetT1gmpOcZGL9Rp2T+b9WJWd+daq5ktsL10sVCzIt2UvneJRz6b+aU+bfw==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.272.0.tgz", + "integrity": "sha512-ysW6wbjl1Y78txHUQ/Tldj2Rg1BI7rpMO9B9xAF6yAX3mQ7t6SUPQG/ewOGvH2208NBIl3qP5e/hDf0Q6r/1iw==", "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.55.0.tgz", - "integrity": "sha512-NbiPHVYuPxdqdFd6FxzzN3H1BQn/iWA3ri3Ry7AyLeP/tGs1yzEWMwf8BN8TSMALI0GXT6Sh0GDWy3Ok5xB6DA==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz", + "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.78.0.tgz", - "integrity": "sha512-5MpKt6lB9TdFy25/AGrpOjPY0iDHZAKpEHc+jSOJBXLl6xunXA7qHdiYaVqkWodLxy70nIckGNHqQ3drabidkA==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.282.0.tgz", + "integrity": "sha512-SDgMLRRTMr9LlHSNk4bXUXynYnkT4oNMqE+FxhjsdbT8hK36eS4AadM58R7nPwgjR3EuWRW4ZRRawLWatpWspA==", + "dependencies": { + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/types": "3.272.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-endpoint": { + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.282.0.tgz", + "integrity": "sha512-8U9Mv/Sbdo1KI6/ip7IIUdBl5pgmalFbfkYAyO+AtmkEvawI9ipdWFs5HB0Dwd1BGVup5choY72Ik/7sCAAFTQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/middleware-serde": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/signature-v4": "3.282.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.78.0.tgz", - "integrity": "sha512-1zL8uaDWGmH50c8B8jjz75e0ePj6/3QeZEhjJgTgL6DTdiqvRt32p3t+XWHW+yDI14fZZUYeTklAaLVxqFrHqQ==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.282.0.tgz", + "integrity": "sha512-90dfYow4zh4tCatTOnqB3nE/dIAucQLZnMqwN/WBPu0fUqjymzpsNkPchqWBPnSWdNE8w3PiKMqqD9rjYwqw4Q==", "dependencies": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.78.0.tgz", - "integrity": "sha512-GBhwxNjhCJUIeQQDaGasX/C23Jay77al2vRyGwmxf8no0DdFsa4J1Ik6/2hhIqkqko+WM4SpCnpZrY4MtnxNvA==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.272.0.tgz", + "integrity": "sha512-u2SQ0hWrFwxbxxYMG5uMEgf01pQY5jauK/LYWgGIvuCmFgiyRQQP3oN7kkmsxnS9MWmNmhbyQguX2NY02s5e9w==", "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.282.0.tgz", + "integrity": "sha512-cSLq/daEaTEucbP/TgAXIOcpwLu7Bfw3VGzH1U56ngDjI4KWvUheF16JiB6OqKQXduPBPsdZ9dVmkDVKddmCRw==", + "dependencies": { + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/types": "3.272.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.80.0.tgz", - "integrity": "sha512-CTk+tA4+WMUNOcUfR6UQrkhwvPYFpnMsQ1vuHlpLFOGG3nCqywA2hueLMRQmVcDXzP0sGeygce6dzRI9dJB/GA==", - "dependencies": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/service-error-classification": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-middleware": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.282.0.tgz", + "integrity": "sha512-3+0M1GP9o480IdqHVZbkhTgge63uKhDFlS6cQznpNGj0eIuQPhXRnlEz2/rma0INUqFm6+7qJ5yzHR4WQbfHpw==", + "dependencies": { + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/service-error-classification": "3.272.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-middleware": "3.272.0", + "@aws-sdk/util-retry": "3.272.0", "tslib": "^2.3.1", "uuid": "^8.3.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.78.0.tgz", - "integrity": "sha512-Lu/kN0J0/Kt0ON1hvwNel+y8yvf35licfIgtedHbBCa/ju8qQ9j+uL9Lla6Y5Tqu29yVaye1JxhiIDhscSwrLA==", - "dependencies": { - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.282.0.tgz", + "integrity": "sha512-Qe20mtJcF6lxt7280FhTFD2IpBDn39MEXmbm/zIkXR2/cAmvji8YhcxhNrq1l7XiuMM6SokBDC/f3dlF1oOC6g==", + "dependencies": { + "@aws-sdk/middleware-signing": "3.282.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/signature-v4": "3.282.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.78.0.tgz", - "integrity": "sha512-4DPsNOxsl1bxRzfo1WXEZjmD7OEi7qGNpxrDWucVe96Fqj2dH08jR8wxvBIVV1e6bAad07IwdPuCGmivNvwRuQ==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.272.0.tgz", + "integrity": "sha512-kW1uOxgPSwtXPB5rm3QLdWomu42lkYpQL94tM1BjyFOWmBLO2lQhk5a7Dw6HkTozT9a+vxtscLChRa6KZe61Hw==", "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.78.0.tgz", - "integrity": "sha512-OEjJJCNhHHSOprLZ9CzjHIXEKFtPHWP/bG9pMhkV3/6Bmscsgcf8gWHcOnmIrjqX+hT1VALDNpl/RIh0J6/eQw==", - "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.282.0.tgz", + "integrity": "sha512-eE5qMDcqqxZPdSwybUEph/knrA2j2cHjW+B2ddROw3Ojg0XLjep5hOhithAudgBREQhYF9pdsBr6mUMynUIrKw==", + "dependencies": { + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/signature-v4": "3.282.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-middleware": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.78.0.tgz", - "integrity": "sha512-UoNfRh6eAJN3BJHlG1eb+KeuSe+zARTC2cglroJRyHc2j7GxH2i9FD3IJbj5wvzopJEnQzuY/VCs6STFkqWL1g==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.272.0.tgz", + "integrity": "sha512-jhwhknnPBGhfXAGV5GXUWfEhDFoP/DN8MPCO2yC5OAxyp6oVJ8lTPLkZYMTW5VL0c0eG44dXpF4Ib01V+PlDrQ==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.78.0.tgz", - "integrity": "sha512-wdN5uoq8RxxhLhj0EPeuDSRFuXfUwKeEqRzCKMsYAOC0cAm+PryaP2leo0oTGJ9LUK8REK7zyfFcmtC4oOzlkA==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.282.0.tgz", + "integrity": "sha512-P1ealsSrUALo0w0Qu5nBKsNQwsmqIfsoNtFWpaznjIcXE5rRMlZL69zb0KnGbQCBfEXsgaMOWjeGT8I3/XbOHQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.80.0.tgz", - "integrity": "sha512-vyTOMK04huB7n10ZUv0thd2TE6KlY8livOuLqFTMtj99AJ6vyeB5XBNwKnQtJIt/P7CijYgp8KcFvI9fndOmKg==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.272.0.tgz", + "integrity": "sha512-YYCIBh9g1EQo7hm2l22HX5Yr9RoPQ2RCvhzKvF1n1e8t1QH4iObQrYUtqHG4khcm64Cft8C5MwZmgzHbya5Z6Q==", "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.82.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.82.0.tgz", - "integrity": "sha512-yyq/DA/IMzL4fLJhV7zVfP7aUQWPHfOKTCJjWB3KeV5YPiviJtSKb/KyzNi+gQyO7SmsL/8vQbQrf3/s7N/2OA==", - "dependencies": { - "@aws-sdk/abort-controller": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/querystring-builder": "3.78.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.282.0.tgz", + "integrity": "sha512-LIA4lsSKA/l1kTR5ERkJG2gARveB7Y40MR6yDwtIuhXeVu7Xo9m4BJFanCYIbyc093W0T53x438bwoBR+R+/fw==", + "dependencies": { + "@aws-sdk/abort-controller": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/querystring-builder": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/property-provider": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.78.0.tgz", - "integrity": "sha512-PZpLvV0hF6lqg3CSN9YmphrB/t5LVJVWGJLB9d9qm7sJs5ksjTYBb5bY91OQ3zit0F4cqBMU8xt2GQ9J6d4DvQ==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.272.0.tgz", + "integrity": "sha512-V1pZTaH5eqpAt8O8CzbItHhOtzIfFuWymvwZFkAtwKuaHpnl7jjrTouV482zoq8AD/fF+VVSshwBKYA7bhidIw==", "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.78.0.tgz", - "integrity": "sha512-SQB26MhEK96yDxyXd3UAaxLz1Y/ZvgE4pzv7V3wZiokdEedM0kawHKEn1UQJlqJLEZcQI9QYyysh3rTvHZ3fyg==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.282.0.tgz", + "integrity": "sha512-aOPv5DhsbG06WKfeh2g0H8RGnaeI8pLhaA+Mq1BvzXcghhlDu+FM9K/GjC/f1lWk1UNryfevOR7SdQm95ciHQg==", "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.78.0.tgz", - "integrity": "sha512-aib6RW1WAaTQDqVgRU1Ku9idkhm90gJKbCxVaGId+as6QHNUqMChEfK2v+0afuKiPNOs5uWmqvOXI9+Gt+UGDg==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.272.0.tgz", + "integrity": "sha512-ndo++7GkdCj5tBXE6rGcITpSpZS4PfyV38wntGYAlj9liL1omk3bLZRY6uzqqkJpVHqbg2fD7O2qHNItzZgqhw==", "dependencies": { - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-uri-escape": "3.55.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-uri-escape": "3.201.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.78.0.tgz", - "integrity": "sha512-csaH8YTyN+KMNczeK6fBS8l7iJaqcQcKOIbpQFg5upX4Ly5A56HJn4sVQhY1LSgfSk4xRsNfMy5mu6BlsIiaXA==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.272.0.tgz", + "integrity": "sha512-5oS4/9n6N1LZW9tI3qq/0GnCuWoOXRgcHVB+AJLRBvDbEe+GI+C/xK1tKLsfpDNgsQJHc4IPQoIt4megyZ/1+A==", "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.78.0.tgz", - "integrity": "sha512-x7Lx8KWctJa01q4Q72Zb4ol9L/era3vy2daASu8l2paHHxsAPBE0PThkvLdUSLZSzlHSVdh3YHESIsT++VsK4w==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.272.0.tgz", + "integrity": "sha512-REoltM1LK9byyIufLqx9znhSolPcHQgVHIA2S0zu5sdt5qER4OubkLAXuo4MBbisUTmh8VOOvIyUb5ijZCXq1w==", "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.80.0.tgz", - "integrity": "sha512-3d5EBJjnWWkjLK9skqLLHYbagtFaZZy+3jUTlbTuOKhlOwe8jF7CUM3j6I4JA6yXNcB3w0exDKKHa8w+l+05aA==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.272.0.tgz", + "integrity": "sha512-lzFPohp5sy2XvwFjZIzLVCRpC0i5cwBiaXmFzXYQZJm6FSCszHO4ax+m9yrtlyVFF/2YPWl+/bzNthy4aJtseA==", "dependencies": { + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.78.0.tgz", - "integrity": "sha512-eePjRYuzKoi3VMr/lgrUEF1ytLeH4fA/NMCykr/uR6NMo4bSJA59KrFLYSM7SlWLRIyB0UvJqygVEvSxFluyDw==", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.55.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-hex-encoding": "3.58.0", - "@aws-sdk/util-middleware": "3.78.0", - "@aws-sdk/util-uri-escape": "3.55.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.282.0.tgz", + "integrity": "sha512-rnSL3UyF/No7+O2EMtN1sTCiqL1a+odbfnfo3wCSl8DH5PEYINt2kZgVEvT1Fgaffk1pUggBBOZoR+arPIIDJA==", + "dependencies": { + "@aws-sdk/is-array-buffer": "3.201.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-hex-encoding": "3.201.0", + "@aws-sdk/util-middleware": "3.272.0", + "@aws-sdk/util-uri-escape": "3.201.0", + "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.85.0.tgz", - "integrity": "sha512-Ox/yQEAnANzhpJMyrpuxWtF/i3EviavENczT7fo4uwSyZTz/sfSBQNjs/YAG1UeA6uOI3pBP5EaFERV5hr2fRA==", + "version": "3.279.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.279.0.tgz", + "integrity": "sha512-ZcYWUQDGAYN6NXRpJuSn46PetrpPCA6TrDVwP9+3pERzTXZ66npXoG2XhHjNrOXy/Ted5A3OxKrM4/zLu9tK3A==", "dependencies": { - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/middleware-stack": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/types": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz", - "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==", + "node_modules/@aws-sdk/token-providers": { + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.282.0.tgz", + "integrity": "sha512-Qk/D6i+Hpc0fp/2SRHbfJeKPgUIugzsmye3NL0OV1bqd1Y40dW5LT4u67VcZHwqxzYDKe6Eo+7NHJu7qfvwhog==", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.282.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/types": "3.272.0", + "tslib": "^2.3.1" + }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/url-parser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.78.0.tgz", - "integrity": "sha512-iQn2AjECUoJE0Ae9XtgHtGGKvUkvE8hhbktGopdj+zsPBe4WrBN2DgVxlKPPrBonG/YlcL1D7a5EXaujWSlUUw==", + "node_modules/@aws-sdk/types": { + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.272.0.tgz", + "integrity": "sha512-MmmL6vxMGP5Bsi+4wRx4mxYlU/LX6M0noOXrDh/x5FfG7/4ZOar/nDxqDadhJtNM88cuWVHZWY59P54JzkGWmA==", "dependencies": { - "@aws-sdk/querystring-parser": "3.78.0", - "@aws-sdk/types": "3.78.0", "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-base64-browser": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.58.0.tgz", - "integrity": "sha512-0ebsXIZNpu/fup9OgsFPnRKfCFbuuI9PPRzvP6twzLxUB0c/aix6Co7LGHFKcRKHZdaykoJMXArf8eHj2Nzv1Q==", + "node_modules/@aws-sdk/url-parser": { + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.272.0.tgz", + "integrity": "sha512-vX/Tx02PlnQ/Kgtf5TnrNDHPNbY+amLZjW0Z1d9vzAvSZhQ4i9Y18yxoRDIaDTCNVRDjdhV8iuctW+05PB5JtQ==", "dependencies": { + "@aws-sdk/querystring-parser": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, - "node_modules/@aws-sdk/util-base64-node": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.55.0.tgz", - "integrity": "sha512-UQ/ZuNoAc8CFMpSiRYmevaTsuRKzLwulZTnM8LNlIt9Wx1tpNvqp80cfvVj7yySKROtEi20wq29h31dZf1eYNQ==", + "node_modules/@aws-sdk/util-base64": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz", + "integrity": "sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.55.0", + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.55.0.tgz", - "integrity": "sha512-Ei2OCzXQw5N6ZkTMZbamUzc1z+z1R1Ja5tMEagz5BxuX4vWdBObT+uGlSzL8yvTbjoPjnxWA2aXyEqaUP3JS8Q==", + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz", + "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==", "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.55.0.tgz", - "integrity": "sha512-lU1d4I+9wJwydduXs0SxSfd+mHKjxeyd39VwOv6i2KSwWkPbji9UQqpflKLKw+r45jL7+xU/zfeTUg5Tt/3Gew==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz", + "integrity": "sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.55.0.tgz", - "integrity": "sha512-uVzKG1UgvnV7XX2FPTylBujYMKBPBaq/qFBxfl0LVNfrty7YjpfieQxAe6yRLD+T0Kir/WDQwGvYC+tOYG3IGA==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz", + "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.55.0", + "@aws-sdk/is-array-buffer": "3.201.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-config-provider": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.55.0.tgz", - "integrity": "sha512-30dzofQQfx6tp1jVZkZ0DGRsT0wwC15nEysKRiAcjncM64A0Cm6sra77d0os3vbKiKoPCI/lMsFr4o3533+qvQ==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz", + "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.85.0.tgz", - "integrity": "sha512-oqK/e2pHuMWrvTJWtDBzylbj232ezlTay5dCq4RQlyi3LPPVBQ08haYD1Mk2ikQ/qa0XvbSD6YVhjpTlvwRNjw==", + "version": "3.279.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.279.0.tgz", + "integrity": "sha512-RnchYRrpapTT5Hu23LOfk6e8RMVq0kUzho6xA6TJj1a4uGxkcRMvgzPipCq1P5uHu0mrkQBg9pGPEVNOUs38/Q==", "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", "bowser": "^2.11.0", "tslib": "^2.3.1" }, @@ -815,106 +910,138 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.85.0.tgz", - "integrity": "sha512-KDNl4H8jJJLh6y7I3MSwRKe4plKbFKK8MVkS0+Fce/GJh4EnqxF0HzMMaSeNUcPvO2wHRq2a60+XW+0d7eWo1A==", - "dependencies": { - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.282.0.tgz", + "integrity": "sha512-D1BlFoA7ZMeK2diDUWFx1xBFrSaJuBZMRBuWbnbT9AnRYNCsASZ8DRU1KkZ8LuFQIwmZz94P9q683emYnZBhiw==", + "dependencies": { + "@aws-sdk/config-resolver": "3.282.0", + "@aws-sdk/credential-provider-imds": "3.272.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { "node": ">= 10.0.0" } }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.272.0.tgz", + "integrity": "sha512-c4MPUaJt2G6gGpoiwIOqDfUa98c1J63RpYvf/spQEKOtC/tF5Gfqlxuq8FnAl5lHnrqj1B9ZXLLxFhHtDR0IiQ==", + "dependencies": { + "@aws-sdk/types": "3.272.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.58.0.tgz", - "integrity": "sha512-Rl+jXUzk/FJkOLYfUVYPhKa2aUmTpeobRP31l8IatQltSzDgLyRHO35f6UEs7Ztn5s1jbu/POatLAZ2WjbgVyg==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz", + "integrity": "sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.55.0.tgz", - "integrity": "sha512-0sPmK2JaJE2BbTcnvybzob/VrFKCXKfN4CUKcvn0yGg/me7Bz+vtzQRB3Xp+YSx+7OtWxzv63wsvHoAnXvgxgg==", + "version": "3.295.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.295.0.tgz", + "integrity": "sha512-d/s+zhUx5Kh4l/ecMP/TBjzp1GR/g89Q4nWH6+wH5WgdHsK+LG+vmsk6mVNuP/8wsCofYG4NBqp5Ulbztbm9QA==", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-middleware": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.78.0.tgz", - "integrity": "sha512-Hi3wv2b0VogO4mzyeEaeU5KgIt4qeo0LXU5gS6oRrG0T7s2FyKbMBkJW3YDh/Y8fNwqArZ+/QQFujpP0PIKwkA==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.272.0.tgz", + "integrity": "sha512-Abw8m30arbwxqmeMMha5J11ESpHUNmCeSqSzE8/C4B8jZQtHY4kq7f+upzcNIQ11lsd+uzBEzNG3+dDRi0XOJQ==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-retry": { + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.272.0.tgz", + "integrity": "sha512-Ngha5414LR4gRHURVKC9ZYXsEJhMkm+SJ+44wlzOhavglfdcKKPUsibz5cKY1jpUV7oKECwaxHWpBB8r6h+hOg==", + "dependencies": { + "@aws-sdk/service-error-classification": "3.272.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.55.0.tgz", - "integrity": "sha512-mmdDLUpFCN2nkfwlLdOM54lTD528GiGSPN1qb8XtGLgZsJUmg3uJSFIN2lPeSbEwJB3NFjVas/rnQC48i7mV8w==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz", + "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==", "dependencies": { "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.78.0.tgz", - "integrity": "sha512-diGO/Bf4ggBOEnfD7lrrXaaXOwOXGz0bAJ0HhpizwEMlBld5zfDlWXjNpslh+8+u3EHRjPJQ16KGT6mp/Dm+aw==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.282.0.tgz", + "integrity": "sha512-Z639oyTa5fZfyi4Xr64+eiAwBCxfpe9Op4Vhnr1z/RwonQM/qywydv6Ttpeq1q5uQ0nG4wTkOMpfh39g+VqIgw==", "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.80.0.tgz", - "integrity": "sha512-QV26qIXws1m6sZXg65NS+XrQ5NhAzbDVQLtEVE4nC39UN8fuieP6Uet/gZm9mlLI9hllwvcV7EfgBM3GSC7pZg==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.282.0.tgz", + "integrity": "sha512-GSOdWNmzEd554wR9HBrgeYptKBOybveVwUkd6ws+YTdCOz4xD5Gga+I5JomKkcMEUVdBrJnYVUtq7ZsJy2f11w==", "dependencies": { - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.55.0.tgz", - "integrity": "sha512-ljzqJcyjfJpEVSIAxwtIS8xMRUly84BdjlBXyp6cu4G8TUufgjNS31LWdhyGhgmW5vYBNr+LTz0Kwf6J+ou7Ug==", + "node_modules/@aws-sdk/util-utf8": { + "version": "3.254.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz", + "integrity": "sha512-14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw==", "dependencies": { + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-utf8-node": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.55.0.tgz", - "integrity": "sha512-FsFm7GFaC7j0tlPEm/ri8bU2QCwFW5WKjxUg8lm1oWaxplCpKGUsmcfPJ4sw58GIoyoGu4QXBK60oCWosZYYdQ==", + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.55.0", "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" } }, "node_modules/@babel/code-frame": { @@ -3875,14 +4002,6 @@ "node": ">=8.6" } }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -4610,11 +4729,14 @@ "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" }, "node_modules/fast-xml-parser": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", - "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz", + "integrity": "sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==", + "dependencies": { + "strnum": "^1.0.5" + }, "bin": { - "xml2js": "cli.js" + "fxparser": "src/cli/cli.js" }, "funding": { "type": "paypal", @@ -8553,6 +8675,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -8946,9 +9073,9 @@ } }, "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -9668,9 +9795,9 @@ } }, "@aws-crypto/ie11-detection": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz", - "integrity": "sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", "requires": { "tslib": "^1.11.1" }, @@ -9683,15 +9810,15 @@ } }, "@aws-crypto/sha256-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", - "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", - "requires": { - "@aws-crypto/ie11-detection": "^2.0.0", - "@aws-crypto/sha256-js": "^2.0.0", - "@aws-crypto/supports-web-crypto": "^2.0.0", - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "requires": { + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" @@ -9705,12 +9832,12 @@ } }, "@aws-crypto/sha256-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", - "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", "requires": { - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "tslib": "^1.11.1" }, "dependencies": { @@ -9722,9 +9849,9 @@ } }, "@aws-crypto/supports-web-crypto": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz", - "integrity": "sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", "requires": { "tslib": "^1.11.1" }, @@ -9737,11 +9864,11 @@ } }, "@aws-crypto/util": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.1.tgz", - "integrity": "sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", "requires": { - "@aws-sdk/types": "^3.1.0", + "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" }, @@ -9754,617 +9881,718 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.78.0.tgz", - "integrity": "sha512-iz1YLwM2feJUj/y97yO4XmDeTxs+yZ1XJwQgoawKuc8IDBKUutnJNCHL5jL04WUKU7Nrlq+Hr2fCTScFh2z9zg==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.272.0.tgz", + "integrity": "sha512-s2TV3phapcTwZNr4qLxbfuQuE9ZMP4RoJdkvRRCkKdm6jslsWLJf2Zlcxti/23hOlINUMYv2iXE2pftIgWGdpg==", "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-comprehendmedical": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.85.0.tgz", - "integrity": "sha512-lJr26GcZxNcw3rbERE4V1wa2KiC1VTp4e+Dp0qxlUwwXbAnsTiSAbmHcX+8771grnnw6SeSctFOpqCd7Ru4Hzw==", - "requires": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.85.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-node": "3.85.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.82.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.85.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", - "@aws-sdk/util-base64-node": "3.55.0", - "@aws-sdk/util-body-length-browser": "3.55.0", - "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.85.0", - "@aws-sdk/util-defaults-mode-node": "3.85.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.282.0.tgz", + "integrity": "sha512-PdDdBuFBIpG/FcJorLtZHjo7akrv1A9gVV4DQJLnsMJDRV/EsfGVK6eLnXnwgOR1kd97KWQI92pEe3pumK5epA==", + "requires": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.282.0", + "@aws-sdk/config-resolver": "3.282.0", + "@aws-sdk/credential-provider-node": "3.282.0", + "@aws-sdk/fetch-http-handler": "3.282.0", + "@aws-sdk/hash-node": "3.272.0", + "@aws-sdk/invalid-dependency": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.272.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.282.0", + "@aws-sdk/middleware-serde": "3.272.0", + "@aws-sdk/middleware-signing": "3.282.0", + "@aws-sdk/middleware-stack": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.282.0", + "@aws-sdk/util-endpoints": "3.272.0", + "@aws-sdk/util-retry": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.282.0", + "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1", "uuid": "^8.3.2" } }, "@aws-sdk/client-sso": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.85.0.tgz", - "integrity": "sha512-JMW0NzFpo99oE6O9M/kgLela73p4vmhe/5TIcdrqUvP9XUV9nANl5nSXh3rqLz0ubmliedz9kdYYhwMC3ntoXg==", - "requires": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.82.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.85.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", - "@aws-sdk/util-base64-node": "3.55.0", - "@aws-sdk/util-body-length-browser": "3.55.0", - "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.85.0", - "@aws-sdk/util-defaults-mode-node": "3.85.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.282.0.tgz", + "integrity": "sha512-VzdCCaxlDyU+7wvLDWh+uACQ6RPfaKLQ3yJ2UY0B0SkH4R0E4GLDJ2OJzqS5eyyOsnq1rxfY75S4WYzj8E2cvg==", + "requires": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.282.0", + "@aws-sdk/fetch-http-handler": "3.282.0", + "@aws-sdk/hash-node": "3.272.0", + "@aws-sdk/invalid-dependency": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.272.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.282.0", + "@aws-sdk/middleware-serde": "3.272.0", + "@aws-sdk/middleware-stack": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.282.0", + "@aws-sdk/util-endpoints": "3.272.0", + "@aws-sdk/util-retry": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.282.0", + "@aws-sdk/util-utf8": "3.254.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/client-sso-oidc": { + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.282.0.tgz", + "integrity": "sha512-upC4yBZllAXg5OVIuS8Lu9MI1aqfAObl2BBixj9fIYbDanQ02s0b1IwfZqlOqNNkGzMko1AWyiOSyOdVgyJ+xg==", + "requires": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.282.0", + "@aws-sdk/fetch-http-handler": "3.282.0", + "@aws-sdk/hash-node": "3.272.0", + "@aws-sdk/invalid-dependency": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.272.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.282.0", + "@aws-sdk/middleware-serde": "3.272.0", + "@aws-sdk/middleware-stack": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.282.0", + "@aws-sdk/util-endpoints": "3.272.0", + "@aws-sdk/util-retry": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.282.0", + "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-sts": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.85.0.tgz", - "integrity": "sha512-qjaoGG1FrCTS1zSk/XOQRZ0v0JXeytpMl/hf6BcoX/NsaJzDaE5oJlzqdNGwd+1kLYt9J2igG3zxYgvxnCHg6w==", - "requires": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-node": "3.85.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-sdk-sts": "3.78.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.82.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.85.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", - "@aws-sdk/util-base64-node": "3.55.0", - "@aws-sdk/util-body-length-browser": "3.55.0", - "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.85.0", - "@aws-sdk/util-defaults-mode-node": "3.85.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", - "entities": "2.2.0", - "fast-xml-parser": "3.19.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.282.0.tgz", + "integrity": "sha512-JZybEaST0rloS9drlX/0yJAnKHuV7DlS1n1WZxgaM2DY704ydlGiviiPQvC/q/dItsX4017gscC0blGJcUjK1g==", + "requires": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/config-resolver": "3.282.0", + "@aws-sdk/credential-provider-node": "3.282.0", + "@aws-sdk/fetch-http-handler": "3.282.0", + "@aws-sdk/hash-node": "3.272.0", + "@aws-sdk/invalid-dependency": "3.272.0", + "@aws-sdk/middleware-content-length": "3.282.0", + "@aws-sdk/middleware-endpoint": "3.282.0", + "@aws-sdk/middleware-host-header": "3.282.0", + "@aws-sdk/middleware-logger": "3.272.0", + "@aws-sdk/middleware-recursion-detection": "3.282.0", + "@aws-sdk/middleware-retry": "3.282.0", + "@aws-sdk/middleware-sdk-sts": "3.282.0", + "@aws-sdk/middleware-serde": "3.272.0", + "@aws-sdk/middleware-signing": "3.282.0", + "@aws-sdk/middleware-stack": "3.272.0", + "@aws-sdk/middleware-user-agent": "3.282.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/node-http-handler": "3.282.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/smithy-client": "3.279.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", + "@aws-sdk/util-base64": "3.208.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.208.0", + "@aws-sdk/util-defaults-mode-browser": "3.279.0", + "@aws-sdk/util-defaults-mode-node": "3.282.0", + "@aws-sdk/util-endpoints": "3.272.0", + "@aws-sdk/util-retry": "3.272.0", + "@aws-sdk/util-user-agent-browser": "3.282.0", + "@aws-sdk/util-user-agent-node": "3.282.0", + "@aws-sdk/util-utf8": "3.254.0", + "fast-xml-parser": "4.1.2", "tslib": "^2.3.1" } }, "@aws-sdk/config-resolver": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.80.0.tgz", - "integrity": "sha512-vFruNKlmhsaC8yjnHmasi1WW/7EELlEuFTj4mqcqNqR4dfraf0maVvpqF1VSR8EstpFMsGYI5dmoWAnnG4PcLQ==", - "requires": { - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-config-provider": "3.55.0", - "@aws-sdk/util-middleware": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.282.0.tgz", + "integrity": "sha512-30qFLh2N4NXQ2EAook7NIFeu1K/nlrRLrdVb2BtGFi/F3cZnz+sy9o0XmL6x+sO9TznWjdNxD1RKQdqoAwGnCQ==", + "requires": { + "@aws-sdk/signature-v4": "3.282.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-env": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.78.0.tgz", - "integrity": "sha512-K41VTIzVHm2RyIwtBER8Hte3huUBXdV1WKO+i7olYVgLFmaqcZUNrlyoGDRqZcQ/u4AbxTzBU9jeMIbIfzMOWg==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.272.0.tgz", + "integrity": "sha512-QI65NbLnKLYHyTYhXaaUrq6eVsCCrMUb05WDA7+TJkWkjXesovpjc8vUKgFiLSxmgKmb2uOhHNcDyObKMrYQFw==", "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-imds": { - "version": "3.81.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.81.0.tgz", - "integrity": "sha512-BHopP+gaovTYj+4tSrwCk8NNCR48gE9CWmpIOLkP9ell0gOL81Qh7aCEiIK0BZBZkccv1s16cYq1MSZZGS7PEQ==", - "requires": { - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.272.0.tgz", + "integrity": "sha512-wwAfVY1jTFQEfxVfdYD5r5ieYGl+0g4nhekVxNMqE8E1JeRDd18OqiwAflzpgBIqxfqvCUkf+vl5JYyacMkNAQ==", + "requires": { + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.85.0.tgz", - "integrity": "sha512-KgzLGq+w8OrSLutwdYUw0POeLinGQKcqvQJ9702eoeXCwZMnEHwKqU61bn8QKMX/tuYVCNV4I1enI7MmYPW8Lw==", - "requires": { - "@aws-sdk/credential-provider-env": "3.78.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/credential-provider-sso": "3.85.0", - "@aws-sdk/credential-provider-web-identity": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.282.0.tgz", + "integrity": "sha512-2GKduXORcUgOigF1jZF7A1Wh4W/aJt3ynh7xb1vfx020nHx6YDljrEGpzgH6pOVzl7ZhgthpojicCuy2UumkMA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.272.0", + "@aws-sdk/credential-provider-imds": "3.272.0", + "@aws-sdk/credential-provider-process": "3.272.0", + "@aws-sdk/credential-provider-sso": "3.282.0", + "@aws-sdk/credential-provider-web-identity": "3.272.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-node": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.85.0.tgz", - "integrity": "sha512-YMxpRJg88mvfmKxy8I5yG3rx+UmF/5a/4twcdAzCfYTAPz+bV6ypIHjFv610/kygHMm29Fof3DRvHXDdBH4mkw==", - "requires": { - "@aws-sdk/credential-provider-env": "3.78.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/credential-provider-ini": "3.85.0", - "@aws-sdk/credential-provider-process": "3.80.0", - "@aws-sdk/credential-provider-sso": "3.85.0", - "@aws-sdk/credential-provider-web-identity": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.282.0.tgz", + "integrity": "sha512-qyHipZW0ep8STY+SO+Me8ObQ1Ee/aaZTmAK0Os/gB+EsiZhIE+mi6zRcScwdnpgJPLRYMEe4p/Cr6DOrA0G0GQ==", + "requires": { + "@aws-sdk/credential-provider-env": "3.272.0", + "@aws-sdk/credential-provider-imds": "3.272.0", + "@aws-sdk/credential-provider-ini": "3.282.0", + "@aws-sdk/credential-provider-process": "3.272.0", + "@aws-sdk/credential-provider-sso": "3.282.0", + "@aws-sdk/credential-provider-web-identity": "3.272.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-process": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.80.0.tgz", - "integrity": "sha512-3Ro+kMMyLUJHefOhGc5pOO/ibGcJi8bkj0z/Jtqd5I2Sm1qi7avoztST67/k48KMW1OqPnD/FUqxz5T8B2d+FQ==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.272.0.tgz", + "integrity": "sha512-hiCAjWWm2PeBFp5cjkxqyam/XADjiS+e7GzwC34TbZn3LisS0uoweLojj9tD11NnnUhyhbLteUvu5+rotOLwrg==", "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.85.0.tgz", - "integrity": "sha512-uE238BgJ/AftPDlBGDlV0XdiNWnUZxFmUmLxgbr19/6jHaCuBr//T6rP+Bc0BjcHkvQCvTdFoCjs17R3Quy3cw==", - "requires": { - "@aws-sdk/client-sso": "3.85.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.282.0.tgz", + "integrity": "sha512-c4nibry7u0hkYRMi7+cWzdwYXfDDG+j3VYFxk2oOvU1VIJRyE6oeJqVaz3jgYLX9brHyrLJjuFCIJCUV/WXgIA==", + "requires": { + "@aws-sdk/client-sso": "3.282.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/token-providers": "3.282.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.78.0.tgz", - "integrity": "sha512-9/IvqHdJaVqMEABA8xZE3t5YF1S2PepfckVu0Ws9YUglj6oO+2QyVX6aRgMF1xph6781+Yc31TDh8/3eaDja7w==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.272.0.tgz", + "integrity": "sha512-ImrHMkcgneGa/HadHAQXPwOrX26sAKuB8qlMxZF/ZCM2B55u8deY+ZVkVuraeKb7YsahMGehPFOfRAF6mvFI5Q==", "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/fetch-http-handler": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.78.0.tgz", - "integrity": "sha512-cR6r2h2kJ1DNEZSXC6GknQB7OKmy+s9ZNV+g3AsNqkrUmNNOaHpFoSn+m6SC3qaclcGd0eQBpqzSu/TDn23Ihw==", - "requires": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/querystring-builder": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.282.0.tgz", + "integrity": "sha512-RTd53UzKtUucIEdVLGGgtlbVwp0QkOt3ZfHuA/A1lOH7meChSh1kz7B5z3p4HQDpXO+MQ1Y6Ble9Vg2fh1zwJQ==", + "requires": { + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/querystring-builder": "3.272.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-base64": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-node": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.78.0.tgz", - "integrity": "sha512-ev48yXaqZVtMeuKy52LUZPHCyKvkKQ9uiUebqkA+zFxIk+eN8SMPFHmsififIHWuS6ZkXBUSctjH9wmLebH60A==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.272.0.tgz", + "integrity": "sha512-40dwND+iAm3VtPHPZu7/+CIdVJFk2s0cWZt1lOiMPMSXycSYJ45wMk7Lly3uoqRx0uWfFK5iT2OCv+fJi5jTng==", "requires": { - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-buffer-from": "3.55.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-buffer-from": "3.208.0", + "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1" } }, "@aws-sdk/invalid-dependency": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.78.0.tgz", - "integrity": "sha512-zUo+PbeRMN/Mzj6y+6p9qqk/znuFetT1gmpOcZGL9Rp2T+b9WJWd+daq5ktsL10sVCzIt2UvneJRz6b+aU+bfw==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.272.0.tgz", + "integrity": "sha512-ysW6wbjl1Y78txHUQ/Tldj2Rg1BI7rpMO9B9xAF6yAX3mQ7t6SUPQG/ewOGvH2208NBIl3qP5e/hDf0Q6r/1iw==", "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/is-array-buffer": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.55.0.tgz", - "integrity": "sha512-NbiPHVYuPxdqdFd6FxzzN3H1BQn/iWA3ri3Ry7AyLeP/tGs1yzEWMwf8BN8TSMALI0GXT6Sh0GDWy3Ok5xB6DA==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz", + "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/middleware-content-length": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.78.0.tgz", - "integrity": "sha512-5MpKt6lB9TdFy25/AGrpOjPY0iDHZAKpEHc+jSOJBXLl6xunXA7qHdiYaVqkWodLxy70nIckGNHqQ3drabidkA==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.282.0.tgz", + "integrity": "sha512-SDgMLRRTMr9LlHSNk4bXUXynYnkT4oNMqE+FxhjsdbT8hK36eS4AadM58R7nPwgjR3EuWRW4ZRRawLWatpWspA==", + "requires": { + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/types": "3.272.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-endpoint": { + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.282.0.tgz", + "integrity": "sha512-8U9Mv/Sbdo1KI6/ip7IIUdBl5pgmalFbfkYAyO+AtmkEvawI9ipdWFs5HB0Dwd1BGVup5choY72Ik/7sCAAFTQ==", "requires": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/middleware-serde": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/signature-v4": "3.282.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/url-parser": "3.272.0", + "@aws-sdk/util-config-provider": "3.208.0", + "@aws-sdk/util-middleware": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-host-header": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.78.0.tgz", - "integrity": "sha512-1zL8uaDWGmH50c8B8jjz75e0ePj6/3QeZEhjJgTgL6DTdiqvRt32p3t+XWHW+yDI14fZZUYeTklAaLVxqFrHqQ==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.282.0.tgz", + "integrity": "sha512-90dfYow4zh4tCatTOnqB3nE/dIAucQLZnMqwN/WBPu0fUqjymzpsNkPchqWBPnSWdNE8w3PiKMqqD9rjYwqw4Q==", "requires": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-logger": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.78.0.tgz", - "integrity": "sha512-GBhwxNjhCJUIeQQDaGasX/C23Jay77al2vRyGwmxf8no0DdFsa4J1Ik6/2hhIqkqko+WM4SpCnpZrY4MtnxNvA==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.272.0.tgz", + "integrity": "sha512-u2SQ0hWrFwxbxxYMG5uMEgf01pQY5jauK/LYWgGIvuCmFgiyRQQP3oN7kkmsxnS9MWmNmhbyQguX2NY02s5e9w==", "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-recursion-detection": { + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.282.0.tgz", + "integrity": "sha512-cSLq/daEaTEucbP/TgAXIOcpwLu7Bfw3VGzH1U56ngDjI4KWvUheF16JiB6OqKQXduPBPsdZ9dVmkDVKddmCRw==", + "requires": { + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-retry": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.80.0.tgz", - "integrity": "sha512-CTk+tA4+WMUNOcUfR6UQrkhwvPYFpnMsQ1vuHlpLFOGG3nCqywA2hueLMRQmVcDXzP0sGeygce6dzRI9dJB/GA==", - "requires": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/service-error-classification": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-middleware": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.282.0.tgz", + "integrity": "sha512-3+0M1GP9o480IdqHVZbkhTgge63uKhDFlS6cQznpNGj0eIuQPhXRnlEz2/rma0INUqFm6+7qJ5yzHR4WQbfHpw==", + "requires": { + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/service-error-classification": "3.272.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-middleware": "3.272.0", + "@aws-sdk/util-retry": "3.272.0", "tslib": "^2.3.1", "uuid": "^8.3.2" } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.78.0.tgz", - "integrity": "sha512-Lu/kN0J0/Kt0ON1hvwNel+y8yvf35licfIgtedHbBCa/ju8qQ9j+uL9Lla6Y5Tqu29yVaye1JxhiIDhscSwrLA==", - "requires": { - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.282.0.tgz", + "integrity": "sha512-Qe20mtJcF6lxt7280FhTFD2IpBDn39MEXmbm/zIkXR2/cAmvji8YhcxhNrq1l7XiuMM6SokBDC/f3dlF1oOC6g==", + "requires": { + "@aws-sdk/middleware-signing": "3.282.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/signature-v4": "3.282.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-serde": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.78.0.tgz", - "integrity": "sha512-4DPsNOxsl1bxRzfo1WXEZjmD7OEi7qGNpxrDWucVe96Fqj2dH08jR8wxvBIVV1e6bAad07IwdPuCGmivNvwRuQ==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.272.0.tgz", + "integrity": "sha512-kW1uOxgPSwtXPB5rm3QLdWomu42lkYpQL94tM1BjyFOWmBLO2lQhk5a7Dw6HkTozT9a+vxtscLChRa6KZe61Hw==", "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-signing": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.78.0.tgz", - "integrity": "sha512-OEjJJCNhHHSOprLZ9CzjHIXEKFtPHWP/bG9pMhkV3/6Bmscsgcf8gWHcOnmIrjqX+hT1VALDNpl/RIh0J6/eQw==", - "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.282.0.tgz", + "integrity": "sha512-eE5qMDcqqxZPdSwybUEph/knrA2j2cHjW+B2ddROw3Ojg0XLjep5hOhithAudgBREQhYF9pdsBr6mUMynUIrKw==", + "requires": { + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/signature-v4": "3.282.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-middleware": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-stack": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.78.0.tgz", - "integrity": "sha512-UoNfRh6eAJN3BJHlG1eb+KeuSe+zARTC2cglroJRyHc2j7GxH2i9FD3IJbj5wvzopJEnQzuY/VCs6STFkqWL1g==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.272.0.tgz", + "integrity": "sha512-jhwhknnPBGhfXAGV5GXUWfEhDFoP/DN8MPCO2yC5OAxyp6oVJ8lTPLkZYMTW5VL0c0eG44dXpF4Ib01V+PlDrQ==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.78.0.tgz", - "integrity": "sha512-wdN5uoq8RxxhLhj0EPeuDSRFuXfUwKeEqRzCKMsYAOC0cAm+PryaP2leo0oTGJ9LUK8REK7zyfFcmtC4oOzlkA==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.282.0.tgz", + "integrity": "sha512-P1ealsSrUALo0w0Qu5nBKsNQwsmqIfsoNtFWpaznjIcXE5rRMlZL69zb0KnGbQCBfEXsgaMOWjeGT8I3/XbOHQ==", "requires": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/node-config-provider": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.80.0.tgz", - "integrity": "sha512-vyTOMK04huB7n10ZUv0thd2TE6KlY8livOuLqFTMtj99AJ6vyeB5XBNwKnQtJIt/P7CijYgp8KcFvI9fndOmKg==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.272.0.tgz", + "integrity": "sha512-YYCIBh9g1EQo7hm2l22HX5Yr9RoPQ2RCvhzKvF1n1e8t1QH4iObQrYUtqHG4khcm64Cft8C5MwZmgzHbya5Z6Q==", "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/node-http-handler": { - "version": "3.82.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.82.0.tgz", - "integrity": "sha512-yyq/DA/IMzL4fLJhV7zVfP7aUQWPHfOKTCJjWB3KeV5YPiviJtSKb/KyzNi+gQyO7SmsL/8vQbQrf3/s7N/2OA==", - "requires": { - "@aws-sdk/abort-controller": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/querystring-builder": "3.78.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.282.0.tgz", + "integrity": "sha512-LIA4lsSKA/l1kTR5ERkJG2gARveB7Y40MR6yDwtIuhXeVu7Xo9m4BJFanCYIbyc093W0T53x438bwoBR+R+/fw==", + "requires": { + "@aws-sdk/abort-controller": "3.272.0", + "@aws-sdk/protocol-http": "3.282.0", + "@aws-sdk/querystring-builder": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/property-provider": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.78.0.tgz", - "integrity": "sha512-PZpLvV0hF6lqg3CSN9YmphrB/t5LVJVWGJLB9d9qm7sJs5ksjTYBb5bY91OQ3zit0F4cqBMU8xt2GQ9J6d4DvQ==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.272.0.tgz", + "integrity": "sha512-V1pZTaH5eqpAt8O8CzbItHhOtzIfFuWymvwZFkAtwKuaHpnl7jjrTouV482zoq8AD/fF+VVSshwBKYA7bhidIw==", "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/protocol-http": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.78.0.tgz", - "integrity": "sha512-SQB26MhEK96yDxyXd3UAaxLz1Y/ZvgE4pzv7V3wZiokdEedM0kawHKEn1UQJlqJLEZcQI9QYyysh3rTvHZ3fyg==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.282.0.tgz", + "integrity": "sha512-aOPv5DhsbG06WKfeh2g0H8RGnaeI8pLhaA+Mq1BvzXcghhlDu+FM9K/GjC/f1lWk1UNryfevOR7SdQm95ciHQg==", "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/querystring-builder": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.78.0.tgz", - "integrity": "sha512-aib6RW1WAaTQDqVgRU1Ku9idkhm90gJKbCxVaGId+as6QHNUqMChEfK2v+0afuKiPNOs5uWmqvOXI9+Gt+UGDg==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.272.0.tgz", + "integrity": "sha512-ndo++7GkdCj5tBXE6rGcITpSpZS4PfyV38wntGYAlj9liL1omk3bLZRY6uzqqkJpVHqbg2fD7O2qHNItzZgqhw==", "requires": { - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-uri-escape": "3.55.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-uri-escape": "3.201.0", "tslib": "^2.3.1" } }, "@aws-sdk/querystring-parser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.78.0.tgz", - "integrity": "sha512-csaH8YTyN+KMNczeK6fBS8l7iJaqcQcKOIbpQFg5upX4Ly5A56HJn4sVQhY1LSgfSk4xRsNfMy5mu6BlsIiaXA==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.272.0.tgz", + "integrity": "sha512-5oS4/9n6N1LZW9tI3qq/0GnCuWoOXRgcHVB+AJLRBvDbEe+GI+C/xK1tKLsfpDNgsQJHc4IPQoIt4megyZ/1+A==", "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/service-error-classification": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.78.0.tgz", - "integrity": "sha512-x7Lx8KWctJa01q4Q72Zb4ol9L/era3vy2daASu8l2paHHxsAPBE0PThkvLdUSLZSzlHSVdh3YHESIsT++VsK4w==" + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.272.0.tgz", + "integrity": "sha512-REoltM1LK9byyIufLqx9znhSolPcHQgVHIA2S0zu5sdt5qER4OubkLAXuo4MBbisUTmh8VOOvIyUb5ijZCXq1w==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.80.0.tgz", - "integrity": "sha512-3d5EBJjnWWkjLK9skqLLHYbagtFaZZy+3jUTlbTuOKhlOwe8jF7CUM3j6I4JA6yXNcB3w0exDKKHa8w+l+05aA==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.272.0.tgz", + "integrity": "sha512-lzFPohp5sy2XvwFjZIzLVCRpC0i5cwBiaXmFzXYQZJm6FSCszHO4ax+m9yrtlyVFF/2YPWl+/bzNthy4aJtseA==", "requires": { + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/signature-v4": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.78.0.tgz", - "integrity": "sha512-eePjRYuzKoi3VMr/lgrUEF1ytLeH4fA/NMCykr/uR6NMo4bSJA59KrFLYSM7SlWLRIyB0UvJqygVEvSxFluyDw==", - "requires": { - "@aws-sdk/is-array-buffer": "3.55.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-hex-encoding": "3.58.0", - "@aws-sdk/util-middleware": "3.78.0", - "@aws-sdk/util-uri-escape": "3.55.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.282.0.tgz", + "integrity": "sha512-rnSL3UyF/No7+O2EMtN1sTCiqL1a+odbfnfo3wCSl8DH5PEYINt2kZgVEvT1Fgaffk1pUggBBOZoR+arPIIDJA==", + "requires": { + "@aws-sdk/is-array-buffer": "3.201.0", + "@aws-sdk/types": "3.272.0", + "@aws-sdk/util-hex-encoding": "3.201.0", + "@aws-sdk/util-middleware": "3.272.0", + "@aws-sdk/util-uri-escape": "3.201.0", + "@aws-sdk/util-utf8": "3.254.0", "tslib": "^2.3.1" } }, "@aws-sdk/smithy-client": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.85.0.tgz", - "integrity": "sha512-Ox/yQEAnANzhpJMyrpuxWtF/i3EviavENczT7fo4uwSyZTz/sfSBQNjs/YAG1UeA6uOI3pBP5EaFERV5hr2fRA==", + "version": "3.279.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.279.0.tgz", + "integrity": "sha512-ZcYWUQDGAYN6NXRpJuSn46PetrpPCA6TrDVwP9+3pERzTXZ66npXoG2XhHjNrOXy/Ted5A3OxKrM4/zLu9tK3A==", "requires": { - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/middleware-stack": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, - "@aws-sdk/types": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz", - "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==" + "@aws-sdk/token-providers": { + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.282.0.tgz", + "integrity": "sha512-Qk/D6i+Hpc0fp/2SRHbfJeKPgUIugzsmye3NL0OV1bqd1Y40dW5LT4u67VcZHwqxzYDKe6Eo+7NHJu7qfvwhog==", + "requires": { + "@aws-sdk/client-sso-oidc": "3.282.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/shared-ini-file-loader": "3.272.0", + "@aws-sdk/types": "3.272.0", + "tslib": "^2.3.1" + } }, - "@aws-sdk/url-parser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.78.0.tgz", - "integrity": "sha512-iQn2AjECUoJE0Ae9XtgHtGGKvUkvE8hhbktGopdj+zsPBe4WrBN2DgVxlKPPrBonG/YlcL1D7a5EXaujWSlUUw==", + "@aws-sdk/types": { + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.272.0.tgz", + "integrity": "sha512-MmmL6vxMGP5Bsi+4wRx4mxYlU/LX6M0noOXrDh/x5FfG7/4ZOar/nDxqDadhJtNM88cuWVHZWY59P54JzkGWmA==", "requires": { - "@aws-sdk/querystring-parser": "3.78.0", - "@aws-sdk/types": "3.78.0", "tslib": "^2.3.1" } }, - "@aws-sdk/util-base64-browser": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.58.0.tgz", - "integrity": "sha512-0ebsXIZNpu/fup9OgsFPnRKfCFbuuI9PPRzvP6twzLxUB0c/aix6Co7LGHFKcRKHZdaykoJMXArf8eHj2Nzv1Q==", + "@aws-sdk/url-parser": { + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.272.0.tgz", + "integrity": "sha512-vX/Tx02PlnQ/Kgtf5TnrNDHPNbY+amLZjW0Z1d9vzAvSZhQ4i9Y18yxoRDIaDTCNVRDjdhV8iuctW+05PB5JtQ==", "requires": { + "@aws-sdk/querystring-parser": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, - "@aws-sdk/util-base64-node": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.55.0.tgz", - "integrity": "sha512-UQ/ZuNoAc8CFMpSiRYmevaTsuRKzLwulZTnM8LNlIt9Wx1tpNvqp80cfvVj7yySKROtEi20wq29h31dZf1eYNQ==", + "@aws-sdk/util-base64": { + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz", + "integrity": "sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==", "requires": { - "@aws-sdk/util-buffer-from": "3.55.0", + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-body-length-browser": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.55.0.tgz", - "integrity": "sha512-Ei2OCzXQw5N6ZkTMZbamUzc1z+z1R1Ja5tMEagz5BxuX4vWdBObT+uGlSzL8yvTbjoPjnxWA2aXyEqaUP3JS8Q==", + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz", + "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-body-length-node": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.55.0.tgz", - "integrity": "sha512-lU1d4I+9wJwydduXs0SxSfd+mHKjxeyd39VwOv6i2KSwWkPbji9UQqpflKLKw+r45jL7+xU/zfeTUg5Tt/3Gew==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz", + "integrity": "sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-buffer-from": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.55.0.tgz", - "integrity": "sha512-uVzKG1UgvnV7XX2FPTylBujYMKBPBaq/qFBxfl0LVNfrty7YjpfieQxAe6yRLD+T0Kir/WDQwGvYC+tOYG3IGA==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz", + "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==", "requires": { - "@aws-sdk/is-array-buffer": "3.55.0", + "@aws-sdk/is-array-buffer": "3.201.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-config-provider": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.55.0.tgz", - "integrity": "sha512-30dzofQQfx6tp1jVZkZ0DGRsT0wwC15nEysKRiAcjncM64A0Cm6sra77d0os3vbKiKoPCI/lMsFr4o3533+qvQ==", + "version": "3.208.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz", + "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-browser": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.85.0.tgz", - "integrity": "sha512-oqK/e2pHuMWrvTJWtDBzylbj232ezlTay5dCq4RQlyi3LPPVBQ08haYD1Mk2ikQ/qa0XvbSD6YVhjpTlvwRNjw==", + "version": "3.279.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.279.0.tgz", + "integrity": "sha512-RnchYRrpapTT5Hu23LOfk6e8RMVq0kUzho6xA6TJj1a4uGxkcRMvgzPipCq1P5uHu0mrkQBg9pGPEVNOUs38/Q==", "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.85.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.85.0.tgz", - "integrity": "sha512-KDNl4H8jJJLh6y7I3MSwRKe4plKbFKK8MVkS0+Fce/GJh4EnqxF0HzMMaSeNUcPvO2wHRq2a60+XW+0d7eWo1A==", - "requires": { - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.282.0.tgz", + "integrity": "sha512-D1BlFoA7ZMeK2diDUWFx1xBFrSaJuBZMRBuWbnbT9AnRYNCsASZ8DRU1KkZ8LuFQIwmZz94P9q683emYnZBhiw==", + "requires": { + "@aws-sdk/config-resolver": "3.282.0", + "@aws-sdk/credential-provider-imds": "3.272.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/property-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-endpoints": { + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.272.0.tgz", + "integrity": "sha512-c4MPUaJt2G6gGpoiwIOqDfUa98c1J63RpYvf/spQEKOtC/tF5Gfqlxuq8FnAl5lHnrqj1B9ZXLLxFhHtDR0IiQ==", + "requires": { + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-hex-encoding": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.58.0.tgz", - "integrity": "sha512-Rl+jXUzk/FJkOLYfUVYPhKa2aUmTpeobRP31l8IatQltSzDgLyRHO35f6UEs7Ztn5s1jbu/POatLAZ2WjbgVyg==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz", + "integrity": "sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-locate-window": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.55.0.tgz", - "integrity": "sha512-0sPmK2JaJE2BbTcnvybzob/VrFKCXKfN4CUKcvn0yGg/me7Bz+vtzQRB3Xp+YSx+7OtWxzv63wsvHoAnXvgxgg==", + "version": "3.295.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.295.0.tgz", + "integrity": "sha512-d/s+zhUx5Kh4l/ecMP/TBjzp1GR/g89Q4nWH6+wH5WgdHsK+LG+vmsk6mVNuP/8wsCofYG4NBqp5Ulbztbm9QA==", "requires": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/util-middleware": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.78.0.tgz", - "integrity": "sha512-Hi3wv2b0VogO4mzyeEaeU5KgIt4qeo0LXU5gS6oRrG0T7s2FyKbMBkJW3YDh/Y8fNwqArZ+/QQFujpP0PIKwkA==", + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.272.0.tgz", + "integrity": "sha512-Abw8m30arbwxqmeMMha5J11ESpHUNmCeSqSzE8/C4B8jZQtHY4kq7f+upzcNIQ11lsd+uzBEzNG3+dDRi0XOJQ==", + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-retry": { + "version": "3.272.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.272.0.tgz", + "integrity": "sha512-Ngha5414LR4gRHURVKC9ZYXsEJhMkm+SJ+44wlzOhavglfdcKKPUsibz5cKY1jpUV7oKECwaxHWpBB8r6h+hOg==", "requires": { + "@aws-sdk/service-error-classification": "3.272.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-uri-escape": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.55.0.tgz", - "integrity": "sha512-mmdDLUpFCN2nkfwlLdOM54lTD528GiGSPN1qb8XtGLgZsJUmg3uJSFIN2lPeSbEwJB3NFjVas/rnQC48i7mV8w==", + "version": "3.201.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz", + "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==", "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.78.0.tgz", - "integrity": "sha512-diGO/Bf4ggBOEnfD7lrrXaaXOwOXGz0bAJ0HhpizwEMlBld5zfDlWXjNpslh+8+u3EHRjPJQ16KGT6mp/Dm+aw==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.282.0.tgz", + "integrity": "sha512-Z639oyTa5fZfyi4Xr64+eiAwBCxfpe9Op4Vhnr1z/RwonQM/qywydv6Ttpeq1q5uQ0nG4wTkOMpfh39g+VqIgw==", "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.272.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.80.0.tgz", - "integrity": "sha512-QV26qIXws1m6sZXg65NS+XrQ5NhAzbDVQLtEVE4nC39UN8fuieP6Uet/gZm9mlLI9hllwvcV7EfgBM3GSC7pZg==", + "version": "3.282.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.282.0.tgz", + "integrity": "sha512-GSOdWNmzEd554wR9HBrgeYptKBOybveVwUkd6ws+YTdCOz4xD5Gga+I5JomKkcMEUVdBrJnYVUtq7ZsJy2f11w==", "requires": { - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/node-config-provider": "3.272.0", + "@aws-sdk/types": "3.272.0", "tslib": "^2.3.1" } }, - "@aws-sdk/util-utf8-browser": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.55.0.tgz", - "integrity": "sha512-ljzqJcyjfJpEVSIAxwtIS8xMRUly84BdjlBXyp6cu4G8TUufgjNS31LWdhyGhgmW5vYBNr+LTz0Kwf6J+ou7Ug==", + "@aws-sdk/util-utf8": { + "version": "3.254.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz", + "integrity": "sha512-14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw==", "requires": { + "@aws-sdk/util-buffer-from": "3.208.0", "tslib": "^2.3.1" } }, - "@aws-sdk/util-utf8-node": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.55.0.tgz", - "integrity": "sha512-FsFm7GFaC7j0tlPEm/ri8bU2QCwFW5WKjxUg8lm1oWaxplCpKGUsmcfPJ4sw58GIoyoGu4QXBK60oCWosZYYdQ==", + "@aws-sdk/util-utf8-browser": { + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", "requires": { - "@aws-sdk/util-buffer-from": "3.55.0", "tslib": "^2.3.1" } }, @@ -12678,11 +12906,6 @@ "ansi-colors": "^4.1.1" } }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -13258,9 +13481,12 @@ "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" }, "fast-xml-parser": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", - "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==" + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz", + "integrity": "sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==", + "requires": { + "strnum": "^1.0.5" + } }, "fastq": { "version": "1.13.0", @@ -16186,6 +16412,11 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -16463,9 +16694,9 @@ } }, "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" }, "tsutils": { "version": "3.21.0", diff --git a/package.json b/package.json index 086607d..815f74e 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "author": "Kiran Kharade", "license": "ISC", "dependencies": { - "@aws-sdk/client-comprehendmedical": "^3.13.0", + "@aws-sdk/client-comprehendmedical": "^3.282.0", "@types/adm-zip": "^0.4.34", "@types/bcryptjs": "^2.4.2", "@types/express": "^4.17.13", From 7bbe40550f9108865cfd691fd94f702e523f8484 Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Mon, 27 Mar 2023 16:22:48 +0000 Subject: [PATCH 128/169] fix: upgrade joi from 17.6.0 to 17.8.3 Snyk has created this PR to upgrade joi from 17.6.0 to 17.8.3. See this package in npm: https://www.npmjs.com/package/joi See this project in Snyk: https://app.snyk.io/org/rf-opssupport/project/c4405745-f615-41b4-a11b-43c8bb703f91?utm_source=github&utm_medium=referral&page=upgrade-pr --- package-lock.json | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5af68e4..c5e8b11 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,7 +34,7 @@ "generate-password": "^1.7.0", "googleapis": "^95.0.0", "helmet": "^5.0.2", - "joi": "^17.6.0", + "joi": "^17.8.3", "jsonwebtoken": "^9.0.0", "mime-types": "^2.1.34", "mysql2": "^2.2.5", @@ -6323,14 +6323,14 @@ } }, "node_modules/joi": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", - "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", + "version": "17.8.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.8.3.tgz", + "integrity": "sha512-q5Fn6Tj/jR8PfrLrx4fpGH4v9qM6o+vDUfD4/3vxxyg34OmKcNqYZ1qn2mpLza96S8tL0p0rIw2gOZX+/cTg9w==", "dependencies": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", + "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } }, @@ -14533,14 +14533,14 @@ "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==" }, "joi": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", - "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", + "version": "17.8.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.8.3.tgz", + "integrity": "sha512-q5Fn6Tj/jR8PfrLrx4fpGH4v9qM6o+vDUfD4/3vxxyg34OmKcNqYZ1qn2mpLza96S8tL0p0rIw2gOZX+/cTg9w==", "requires": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", + "@sideway/formula": "^3.0.1", "@sideway/pinpoint": "^2.0.0" } }, diff --git a/package.json b/package.json index 086607d..b9cbc98 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "generate-password": "^1.7.0", "googleapis": "^95.0.0", "helmet": "^5.0.2", - "joi": "^17.6.0", + "joi": "^17.8.3", "jsonwebtoken": "^9.0.0", "mime-types": "^2.1.34", "mysql2": "^2.2.5", From cbd8a881eda0de0a8b4a28c488b42369c962045e Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Mon, 27 Mar 2023 16:22:52 +0000 Subject: [PATCH 129/169] fix: upgrade @types/sharp from 0.29.5 to 0.31.1 Snyk has created this PR to upgrade @types/sharp from 0.29.5 to 0.31.1. See this package in npm: https://www.npmjs.com/package/@types/sharp See this project in Snyk: https://app.snyk.io/org/rf-opssupport/project/c4405745-f615-41b4-a11b-43c8bb703f91?utm_source=github&utm_medium=referral&page=upgrade-pr --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5af68e4..54a1cf7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@types/express-fileupload": "^1.1.7", "@types/mime-types": "^2.1.1", "@types/sequelize": "^4.28.9", - "@types/sharp": "^0.29.5", + "@types/sharp": "^0.31.1", "adm-zip": "^0.5.6", "ansi-regex": "^6.0.1", "approx-string-match": "^1.1.0", @@ -2357,9 +2357,9 @@ } }, "node_modules/@types/sharp": { - "version": "0.29.5", - "resolved": "https://registry.npmjs.org/@types/sharp/-/sharp-0.29.5.tgz", - "integrity": "sha512-3TC+S3H5RwnJmLYMHrcdfNjz/CaApKmujjY9b6PU/pE6n0qfooi99YqXGWoW8frU9EWYj/XTI35Pzxa+ThAZ5Q==", + "version": "0.31.1", + "resolved": "https://registry.npmjs.org/@types/sharp/-/sharp-0.31.1.tgz", + "integrity": "sha512-5nWwamN9ZFHXaYEincMSuza8nNfOof8nmO+mcI+Agx1uMUk4/pQnNIcix+9rLPXzKrm1pS34+6WRDbDV0Jn7ag==", "dependencies": { "@types/node": "*" } @@ -11561,9 +11561,9 @@ } }, "@types/sharp": { - "version": "0.29.5", - "resolved": "https://registry.npmjs.org/@types/sharp/-/sharp-0.29.5.tgz", - "integrity": "sha512-3TC+S3H5RwnJmLYMHrcdfNjz/CaApKmujjY9b6PU/pE6n0qfooi99YqXGWoW8frU9EWYj/XTI35Pzxa+ThAZ5Q==", + "version": "0.31.1", + "resolved": "https://registry.npmjs.org/@types/sharp/-/sharp-0.31.1.tgz", + "integrity": "sha512-5nWwamN9ZFHXaYEincMSuza8nNfOof8nmO+mcI+Agx1uMUk4/pQnNIcix+9rLPXzKrm1pS34+6WRDbDV0Jn7ag==", "requires": { "@types/node": "*" } diff --git a/package.json b/package.json index 086607d..1262539 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@types/express-fileupload": "^1.1.7", "@types/mime-types": "^2.1.1", "@types/sequelize": "^4.28.9", - "@types/sharp": "^0.29.5", + "@types/sharp": "^0.31.1", "adm-zip": "^0.5.6", "ansi-regex": "^6.0.1", "approx-string-match": "^1.1.0", From 69c8a4e6b4f42c4f596c1dab6967e0cc5aca2665 Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Mon, 27 Mar 2023 16:22:57 +0000 Subject: [PATCH 130/169] fix: upgrade @types/express from 4.17.13 to 4.17.17 Snyk has created this PR to upgrade @types/express from 4.17.13 to 4.17.17. See this package in npm: https://www.npmjs.com/package/@types/express See this project in Snyk: https://app.snyk.io/org/rf-opssupport/project/c4405745-f615-41b4-a11b-43c8bb703f91?utm_source=github&utm_medium=referral&page=upgrade-pr --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5af68e4..84d7703 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@aws-sdk/client-comprehendmedical": "^3.13.0", "@types/adm-zip": "^0.4.34", "@types/bcryptjs": "^2.4.2", - "@types/express": "^4.17.13", + "@types/express": "^4.17.17", "@types/express-fileupload": "^1.1.7", "@types/mime-types": "^2.1.1", "@types/sequelize": "^4.28.9", @@ -2186,12 +2186,12 @@ } }, "node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", "dependencies": { "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", + "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "*" } @@ -2206,9 +2206,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "version": "4.17.33", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", + "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -11390,12 +11390,12 @@ } }, "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", "requires": { "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", + "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "*" } @@ -11410,9 +11410,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "version": "4.17.33", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", + "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", "requires": { "@types/node": "*", "@types/qs": "*", diff --git a/package.json b/package.json index 086607d..9774f57 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@aws-sdk/client-comprehendmedical": "^3.13.0", "@types/adm-zip": "^0.4.34", "@types/bcryptjs": "^2.4.2", - "@types/express": "^4.17.13", + "@types/express": "^4.17.17", "@types/express-fileupload": "^1.1.7", "@types/mime-types": "^2.1.1", "@types/sequelize": "^4.28.9", From 660c52f21e62e1cd22fa1bf79c33d77ab708bfcc Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Tue, 11 Apr 2023 01:06:27 +0530 Subject: [PATCH 131/169] Feature/fix labelchecks (#81) * Update uat-ci-cd.yml * Update uat-ci-cd.yml * Update uat-ci-cd.yml * Update uat-ci-cd.yml --- .github/workflows/uat-ci-cd.yml | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/.github/workflows/uat-ci-cd.yml b/.github/workflows/uat-ci-cd.yml index f2a3e7d..2b94aff 100644 --- a/.github/workflows/uat-ci-cd.yml +++ b/.github/workflows/uat-ci-cd.yml @@ -10,14 +10,14 @@ name: UAT-CI-CD # Controls when the workflow will run on: # Triggers the workflow on push events but only for the develop branch + + pull_request: + branches: main + push: branches: - 'release/**' - '!release/aha**' # excludes master - - pull_request: - types: [opened, edited] - branches: main jobs: CodeScan-ESLint: @@ -38,9 +38,23 @@ jobs: VALIDATE_ALL_CODEBASE: false DEFAULT_BRANCH: main - + Label_Checks: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Check labels + if: ${{ github.event_name == 'pull_request' }} + uses: docker://agilepathway/pull-request-label-checker:latest + with: + one_of: major,minor,patch + repo_token: ${{ secrets.GITHUB_TOKEN }} Deploy-ECS: + if: ${{ github.event_name == 'push' }} environment: uat runs-on: ubuntu-latest From 3b347f30459b0528970fcf0613b78306ec4da137 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Apr 2023 07:21:11 +0000 Subject: [PATCH 132/169] Bump xml2js from 0.4.19 to 0.5.0 Bumps [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) from 0.4.19 to 0.5.0. - [Release notes](https://github.com/Leonidas-from-XIV/node-xml2js/releases) - [Commits](https://github.com/Leonidas-from-XIV/node-xml2js/compare/0.4.19...0.5.0) --- updated-dependencies: - dependency-name: xml2js dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 51 +++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index b72ebb5..898629b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2989,9 +2989,9 @@ } }, "node_modules/aws-sdk": { - "version": "2.1328.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1328.0.tgz", - "integrity": "sha512-ud8ieE+hGX/cWHkQ9kMxQw6w+onbv71PDrcPmP2j8cmYv5IPlM5Zh8/tpsmXApLYDmQMuZ3TtssiB1KmoSbzgA==", + "version": "2.1366.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1366.0.tgz", + "integrity": "sha512-tS7y18KHH0eq43I8WJsxVBpwOMY45FSsu6a+A/6k0bMrE4zhd1fzhPN+5coNIODaGxnqVvgw9guLg3AOe4SpaA==", "dependencies": { "buffer": "4.9.2", "events": "1.1.1", @@ -3002,7 +3002,7 @@ "url": "0.10.3", "util": "^0.12.4", "uuid": "8.0.0", - "xml2js": "0.4.19" + "xml2js": "0.5.0" }, "engines": { "node": ">= 10.0.0" @@ -8212,7 +8212,7 @@ "node_modules/sax": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" }, "node_modules/saxes": { "version": "5.0.1", @@ -9777,18 +9777,21 @@ "dev": true }, "node_modules/xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", "dependencies": { "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, "node_modules/xml2js/node_modules/xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", "engines": { "node": ">=4.0" } @@ -12238,9 +12241,9 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "aws-sdk": { - "version": "2.1328.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1328.0.tgz", - "integrity": "sha512-ud8ieE+hGX/cWHkQ9kMxQw6w+onbv71PDrcPmP2j8cmYv5IPlM5Zh8/tpsmXApLYDmQMuZ3TtssiB1KmoSbzgA==", + "version": "2.1366.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1366.0.tgz", + "integrity": "sha512-tS7y18KHH0eq43I8WJsxVBpwOMY45FSsu6a+A/6k0bMrE4zhd1fzhPN+5coNIODaGxnqVvgw9guLg3AOe4SpaA==", "requires": { "buffer": "4.9.2", "events": "1.1.1", @@ -12251,7 +12254,7 @@ "url": "0.10.3", "util": "^0.12.4", "uuid": "8.0.0", - "xml2js": "0.4.19" + "xml2js": "0.5.0" }, "dependencies": { "uuid": { @@ -16190,7 +16193,7 @@ "sax": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" }, "saxes": { "version": "5.0.1", @@ -17350,18 +17353,18 @@ "dev": true }, "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", "requires": { "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" + "xmlbuilder": "~11.0.0" }, "dependencies": { "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" } } }, From 88bd92afcb23356a168ea31678ab39faa81db8c3 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Wed, 3 May 2023 18:46:02 +0530 Subject: [PATCH 133/169] Update Dockerfile (#93) * Update Dockerfile * Update Dockerfile * Update Dockerfile * Update Dockerfile * Update Dockerfile * Update Dockerfile --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8bdfdba..75dfa49 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18.12.0-alpine3.15 AS builder +FROM node:18.16.0-alpine3.16 AS builder ADD . /app RUN apk add bash RUN apk add --no-cache \ @@ -19,7 +19,7 @@ RUN npm run build # RUN npm run build -FROM node:18.12.0-alpine3.15 +FROM node:18.16.0-alpine3.16 RUN apk add bash RUN apk add --no-cache \ python3 \ From 678a0f52381b56a77d60ab756599676a9ba06983 Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Wed, 3 May 2023 23:18:56 +0530 Subject: [PATCH 134/169] Update prod-ci-cd.yml --- .github/workflows/prod-ci-cd.yml | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/.github/workflows/prod-ci-cd.yml b/.github/workflows/prod-ci-cd.yml index 2419760..6cdbcf1 100644 --- a/.github/workflows/prod-ci-cd.yml +++ b/.github/workflows/prod-ci-cd.yml @@ -14,7 +14,26 @@ on: branches: [main] jobs: + + Publish-Release: + runs-on: ubuntu-latest + steps: + - name: New Release Publish + id: new_publish + uses: release-drafter/release-drafter@v5 + with: + publish : true + env: + GITHUB_TOKEN: ${{ secrets.PAT_GITHUB }} + + outputs: + release_id: ${{ steps.new_publish.outputs.id }} + release_name: ${{ steps.new_publish.outputs.tag_name }} + + + Deploy-ECS: + needs: Publish-Release environment: prod runs-on: ubuntu-latest @@ -62,7 +81,7 @@ jobs: file: ./Dockerfile builder: ${{ steps.buildx.outputs.name }} push: true - tags: public.ecr.aws/i9y2d4u3/careplan:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + tags: public.ecr.aws/i9y2d4u3/careplan:${{ needs.Publish-Release.outputs.release_name }}_${{ needs.Publish-Release.outputs.release_id }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache @@ -79,7 +98,7 @@ jobs: with: task-definition: task-definition.json container-name: default - image: public.ecr.aws/i9y2d4u3/careplan:${{ steps.vars.outputs.branch }}_${{ steps.vars.outputs.sha_short }} + image: public.ecr.aws/i9y2d4u3/careplan:${{ needs.Publish-Release.outputs.release_name }}_${{ needs.Publish-Release.outputs.release_id }} - name: Deploy Amazon ECS task definition uses: aws-actions/amazon-ecs-deploy-task-definition@v1 @@ -102,10 +121,3 @@ jobs: method: 'POST' data: '{"TaskDefinition":${{ steps.taskdefintionvar.outputs.task_definition_arn }},"Name": "${{ secrets.SERVICE_NAME }}","Replicas":1, "HealthCheckGracePeriodSeconds": 1200, "DnsPrfx": ""}' bearerToken: ${{ secrets.DUPLOCLOUD_TOKEN }} - - - name: New Release Publish - uses: release-drafter/release-drafter@v5 - with: - publish : true - env: - GITHUB_TOKEN: ${{ secrets.PAT_GITHUB }} \ No newline at end of file From bdc03fe1daa391bec1135d4f427a807cc133697b Mon Sep 17 00:00:00 2001 From: Snyk bot Date: Thu, 18 May 2023 21:19:24 +0100 Subject: [PATCH 135/169] fix: Dockerfile to reduce vulnerabilities (#92) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-UPSTREAM-NODE-3092932 - https://snyk.io/vuln/SNYK-UPSTREAM-NODE-3092933 - https://snyk.io/vuln/SNYK-UPSTREAM-NODE-3326683 - https://snyk.io/vuln/SNYK-UPSTREAM-NODE-3326688 - https://snyk.io/vuln/SNYK-UPSTREAM-NODE-3329555 Co-authored-by: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> --- Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 75dfa49..17efc87 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,5 @@ -FROM node:18.16.0-alpine3.16 AS builder + +FROM node:hydrogen-alpine3.15 AS builder ADD . /app RUN apk add bash RUN apk add --no-cache \ @@ -19,7 +20,8 @@ RUN npm run build # RUN npm run build -FROM node:18.16.0-alpine3.16 + +FROM node:hydrogen-alpine3.15 RUN apk add bash RUN apk add --no-cache \ python3 \ From f58cce831416febd21d63530c425c666478e918f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 20:16:52 +0000 Subject: [PATCH 136/169] Bump dottie from 2.0.2 to 2.0.4 Bumps [dottie](https://github.com/mickhansen/dottie.js) from 2.0.2 to 2.0.4. - [Release notes](https://github.com/mickhansen/dottie.js/releases) - [Commits](https://github.com/mickhansen/dottie.js/compare/v2.0.2...v2.0.4) --- updated-dependencies: - dependency-name: dottie dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index fbfaa9d..1d277ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3936,9 +3936,9 @@ } }, "node_modules/dottie": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", - "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.4.tgz", + "integrity": "sha512-iz64WUOmp/ECQhWMJjTWFzJN/wQ7RJ5v/a6A2OiCwjaGCpNo66WGIjlSf+IULO9DQd0b4cFawLOTbiKSrpKodw==" }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", @@ -12959,9 +12959,9 @@ "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==" }, "dottie": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.2.tgz", - "integrity": "sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.4.tgz", + "integrity": "sha512-iz64WUOmp/ECQhWMJjTWFzJN/wQ7RJ5v/a6A2OiCwjaGCpNo66WGIjlSf+IULO9DQd0b4cFawLOTbiKSrpKodw==" }, "ecdsa-sig-formatter": { "version": "1.0.11", From c8e1bc9bbab4b06582b04775cdb013935759a370 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Jun 2023 21:16:01 +0000 Subject: [PATCH 137/169] Bump fast-xml-parser and @aws-sdk/client-comprehendmedical Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) to 4.2.4 and updates ancestor dependency [@aws-sdk/client-comprehendmedical](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-comprehendmedical). These dependencies need to be updated together. Updates `fast-xml-parser` from 4.1.2 to 4.2.4 - [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases) - [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md) - [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.1.2...v4.2.4) Updates `@aws-sdk/client-comprehendmedical` from 3.282.0 to 3.350.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-comprehendmedical/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.350.0/clients/client-comprehendmedical) --- updated-dependencies: - dependency-name: fast-xml-parser dependency-type: indirect - dependency-name: "@aws-sdk/client-comprehendmedical" dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- package-lock.json | 2062 ++++++++++++++++++++++++--------------------- 1 file changed, 1080 insertions(+), 982 deletions(-) diff --git a/package-lock.json b/package-lock.json index fbfaa9d..c3f8828 100644 --- a/package-lock.json +++ b/package-lock.json @@ -88,6 +88,21 @@ "node": ">=6.0.0" } }, + "node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, "node_modules/@aws-crypto/ie11-detection": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", @@ -165,57 +180,58 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.272.0.tgz", - "integrity": "sha512-s2TV3phapcTwZNr4qLxbfuQuE9ZMP4RoJdkvRRCkKdm6jslsWLJf2Zlcxti/23hOlINUMYv2iXE2pftIgWGdpg==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.347.0.tgz", + "integrity": "sha512-P/2qE6ntYEmYG4Ez535nJWZbXqgbkJx8CMz7ChEuEg3Gp3dvVYEKg+iEUEvlqQ2U5dWP5J3ehw5po9t86IsVPQ==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-comprehendmedical": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.282.0.tgz", - "integrity": "sha512-PdDdBuFBIpG/FcJorLtZHjo7akrv1A9gVV4DQJLnsMJDRV/EsfGVK6eLnXnwgOR1kd97KWQI92pEe3pumK5epA==", + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.350.0.tgz", + "integrity": "sha512-27FwE/CejN+mBGPm7sCLJ2EfzWCOUysy/cxtGBstMPXRvLnxt7ds82YC9iy/vog4dTvCvO0i2AUc6L2nCZgeZw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.282.0", - "@aws-sdk/config-resolver": "3.282.0", - "@aws-sdk/credential-provider-node": "3.282.0", - "@aws-sdk/fetch-http-handler": "3.282.0", - "@aws-sdk/hash-node": "3.272.0", - "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.282.0", - "@aws-sdk/middleware-endpoint": "3.282.0", - "@aws-sdk/middleware-host-header": "3.282.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.282.0", - "@aws-sdk/middleware-retry": "3.282.0", - "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/middleware-signing": "3.282.0", - "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.282.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.282.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/smithy-client": "3.279.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.279.0", - "@aws-sdk/util-defaults-mode-node": "3.282.0", - "@aws-sdk/util-endpoints": "3.272.0", - "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.282.0", - "@aws-sdk/util-user-agent-node": "3.282.0", - "@aws-sdk/util-utf8": "3.254.0", - "tslib": "^2.3.1", + "@aws-sdk/client-sts": "3.350.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0", "uuid": "^8.3.2" }, "engines": { @@ -223,386 +239,396 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.282.0.tgz", - "integrity": "sha512-VzdCCaxlDyU+7wvLDWh+uACQ6RPfaKLQ3yJ2UY0B0SkH4R0E4GLDJ2OJzqS5eyyOsnq1rxfY75S4WYzj8E2cvg==", + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.350.0.tgz", + "integrity": "sha512-2vpiv6SEjmQGK3ZueGzvTMG6NenjWp0CHjmda71d1Iqr+tZ2UlfC35+3ioU8JP+jiXLL+y9r+SCer3IC8N/i+Q==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.282.0", - "@aws-sdk/fetch-http-handler": "3.282.0", - "@aws-sdk/hash-node": "3.272.0", - "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.282.0", - "@aws-sdk/middleware-endpoint": "3.282.0", - "@aws-sdk/middleware-host-header": "3.282.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.282.0", - "@aws-sdk/middleware-retry": "3.282.0", - "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.282.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.282.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/smithy-client": "3.279.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.279.0", - "@aws-sdk/util-defaults-mode-node": "3.282.0", - "@aws-sdk/util-endpoints": "3.272.0", - "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.282.0", - "@aws-sdk/util-user-agent-node": "3.282.0", - "@aws-sdk/util-utf8": "3.254.0", - "tslib": "^2.3.1" + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.282.0.tgz", - "integrity": "sha512-upC4yBZllAXg5OVIuS8Lu9MI1aqfAObl2BBixj9fIYbDanQ02s0b1IwfZqlOqNNkGzMko1AWyiOSyOdVgyJ+xg==", + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.350.0.tgz", + "integrity": "sha512-v3UrWIglg9PPzGXqhyGB/qPZ8ifiGM9r4LV8vve1TpiKsUdf1Khtx1eB8yqjNO0vIsYUF+j1C23QT1qAN2DcEA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.282.0", - "@aws-sdk/fetch-http-handler": "3.282.0", - "@aws-sdk/hash-node": "3.272.0", - "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.282.0", - "@aws-sdk/middleware-endpoint": "3.282.0", - "@aws-sdk/middleware-host-header": "3.282.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.282.0", - "@aws-sdk/middleware-retry": "3.282.0", - "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.282.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.282.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/smithy-client": "3.279.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.279.0", - "@aws-sdk/util-defaults-mode-node": "3.282.0", - "@aws-sdk/util-endpoints": "3.272.0", - "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.282.0", - "@aws-sdk/util-user-agent-node": "3.282.0", - "@aws-sdk/util-utf8": "3.254.0", - "tslib": "^2.3.1" + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.282.0.tgz", - "integrity": "sha512-JZybEaST0rloS9drlX/0yJAnKHuV7DlS1n1WZxgaM2DY704ydlGiviiPQvC/q/dItsX4017gscC0blGJcUjK1g==", + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.350.0.tgz", + "integrity": "sha512-s8RsJ6upWQgeUt8GdV3j3ZeTS7BQXedk77RhZ7wzvVwAjO9wow4uS7Iyic4kS3Y/6d26s0MO2vP4bR6HW6U6ZQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.282.0", - "@aws-sdk/credential-provider-node": "3.282.0", - "@aws-sdk/fetch-http-handler": "3.282.0", - "@aws-sdk/hash-node": "3.272.0", - "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.282.0", - "@aws-sdk/middleware-endpoint": "3.282.0", - "@aws-sdk/middleware-host-header": "3.282.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.282.0", - "@aws-sdk/middleware-retry": "3.282.0", - "@aws-sdk/middleware-sdk-sts": "3.282.0", - "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/middleware-signing": "3.282.0", - "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.282.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.282.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/smithy-client": "3.279.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.279.0", - "@aws-sdk/util-defaults-mode-node": "3.282.0", - "@aws-sdk/util-endpoints": "3.272.0", - "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.282.0", - "@aws-sdk/util-user-agent-node": "3.282.0", - "@aws-sdk/util-utf8": "3.254.0", - "fast-xml-parser": "4.1.2", - "tslib": "^2.3.1" + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-sdk-sts": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "fast-xml-parser": "4.2.4", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.282.0.tgz", - "integrity": "sha512-30qFLh2N4NXQ2EAook7NIFeu1K/nlrRLrdVb2BtGFi/F3cZnz+sy9o0XmL6x+sO9TznWjdNxD1RKQdqoAwGnCQ==", - "dependencies": { - "@aws-sdk/signature-v4": "3.282.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-config-provider": "3.208.0", - "@aws-sdk/util-middleware": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.347.0.tgz", + "integrity": "sha512-2ja+Sf/VnUO7IQ3nKbDQ5aumYKKJUaTm/BuVJ29wNho8wYHfuf7wHZV0pDTkB8RF5SH7IpHap7zpZAj39Iq+EA==", + "dependencies": { + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-config-provider": "3.310.0", + "@aws-sdk/util-middleware": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.272.0.tgz", - "integrity": "sha512-QI65NbLnKLYHyTYhXaaUrq6eVsCCrMUb05WDA7+TJkWkjXesovpjc8vUKgFiLSxmgKmb2uOhHNcDyObKMrYQFw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.347.0.tgz", + "integrity": "sha512-UnEM+LKGpXKzw/1WvYEQsC6Wj9PupYZdQOE+e2Dgy2dqk/pVFy4WueRtFXYDT2B41ppv3drdXUuKZRIDVqIgNQ==", "dependencies": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.272.0.tgz", - "integrity": "sha512-wwAfVY1jTFQEfxVfdYD5r5ieYGl+0g4nhekVxNMqE8E1JeRDd18OqiwAflzpgBIqxfqvCUkf+vl5JYyacMkNAQ==", - "dependencies": { - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.347.0.tgz", + "integrity": "sha512-7scCy/DCDRLIhlqTxff97LQWDnRwRXji3bxxMg+xWOTTaJe7PWx+etGSbBWaL42vsBHFShQjSLvJryEgoBktpw==", + "dependencies": { + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.282.0.tgz", - "integrity": "sha512-2GKduXORcUgOigF1jZF7A1Wh4W/aJt3ynh7xb1vfx020nHx6YDljrEGpzgH6pOVzl7ZhgthpojicCuy2UumkMA==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.272.0", - "@aws-sdk/credential-provider-imds": "3.272.0", - "@aws-sdk/credential-provider-process": "3.272.0", - "@aws-sdk/credential-provider-sso": "3.282.0", - "@aws-sdk/credential-provider-web-identity": "3.272.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.350.0.tgz", + "integrity": "sha512-mGGU0PpnG0VDNKSuGi083U1egjprrU9/XoRtgf+iYvAKXRR/0XA4pGW5c7zpHY7m4iLhBuRj6N4oxQsH9cMtWg==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.347.0", + "@aws-sdk/credential-provider-imds": "3.347.0", + "@aws-sdk/credential-provider-process": "3.347.0", + "@aws-sdk/credential-provider-sso": "3.350.0", + "@aws-sdk/credential-provider-web-identity": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.282.0.tgz", - "integrity": "sha512-qyHipZW0ep8STY+SO+Me8ObQ1Ee/aaZTmAK0Os/gB+EsiZhIE+mi6zRcScwdnpgJPLRYMEe4p/Cr6DOrA0G0GQ==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.272.0", - "@aws-sdk/credential-provider-imds": "3.272.0", - "@aws-sdk/credential-provider-ini": "3.282.0", - "@aws-sdk/credential-provider-process": "3.272.0", - "@aws-sdk/credential-provider-sso": "3.282.0", - "@aws-sdk/credential-provider-web-identity": "3.272.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.350.0.tgz", + "integrity": "sha512-xmqwCFwj/CZPx6AKHNb24Kpr0eHW9VISt9r+SfgH8PaYg5cNyX1pKmMbQCket5ov+WvHEQtOK7aBafak7dhauA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.347.0", + "@aws-sdk/credential-provider-imds": "3.347.0", + "@aws-sdk/credential-provider-ini": "3.350.0", + "@aws-sdk/credential-provider-process": "3.347.0", + "@aws-sdk/credential-provider-sso": "3.350.0", + "@aws-sdk/credential-provider-web-identity": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.272.0.tgz", - "integrity": "sha512-hiCAjWWm2PeBFp5cjkxqyam/XADjiS+e7GzwC34TbZn3LisS0uoweLojj9tD11NnnUhyhbLteUvu5+rotOLwrg==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.347.0.tgz", + "integrity": "sha512-yl1z4MsaBdXd4GQ2halIvYds23S67kElyOwz7g8kaQ4kHj+UoYWxz3JVW/DGusM6XmQ9/F67utBrUVA0uhQYyw==", "dependencies": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.282.0.tgz", - "integrity": "sha512-c4nibry7u0hkYRMi7+cWzdwYXfDDG+j3VYFxk2oOvU1VIJRyE6oeJqVaz3jgYLX9brHyrLJjuFCIJCUV/WXgIA==", - "dependencies": { - "@aws-sdk/client-sso": "3.282.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/token-providers": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.350.0.tgz", + "integrity": "sha512-u/3kv+PJeVawzBtWBei+IX1/z50mwhpPe3VrKSTns4CPUw8b5sqIYWkAaw5hxm0td69+xcL98RzIJsEpJc4QSQ==", + "dependencies": { + "@aws-sdk/client-sso": "3.350.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/token-providers": "3.350.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.272.0.tgz", - "integrity": "sha512-ImrHMkcgneGa/HadHAQXPwOrX26sAKuB8qlMxZF/ZCM2B55u8deY+ZVkVuraeKb7YsahMGehPFOfRAF6mvFI5Q==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.347.0.tgz", + "integrity": "sha512-DxoTlVK8lXjS1zVphtz/Ab+jkN/IZor9d6pP2GjJHNoAIIzXfRwwj5C8vr4eTayx/5VJ7GRP91J8GJ2cKly8Qw==", "dependencies": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/eventstream-codec": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.347.0.tgz", + "integrity": "sha512-61q+SyspjsaQ4sdgjizMyRgVph2CiW4aAtfpoH69EJFJfTxTR/OqnZ9Jx/3YiYi0ksrvDenJddYodfWWJqD8/w==", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "tslib": "^2.5.0" + } + }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.282.0.tgz", - "integrity": "sha512-RTd53UzKtUucIEdVLGGgtlbVwp0QkOt3ZfHuA/A1lOH7meChSh1kz7B5z3p4HQDpXO+MQ1Y6Ble9Vg2fh1zwJQ==", - "dependencies": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/querystring-builder": "3.272.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-base64": "3.208.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.347.0.tgz", + "integrity": "sha512-sQ5P7ivY8//7wdxfA76LT1sF6V2Tyyz1qF6xXf9sihPN5Q1Y65c+SKpMzXyFSPqWZ82+SQQuDliYZouVyS6kQQ==", + "dependencies": { + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/querystring-builder": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/hash-node": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.272.0.tgz", - "integrity": "sha512-40dwND+iAm3VtPHPZu7/+CIdVJFk2s0cWZt1lOiMPMSXycSYJ45wMk7Lly3uoqRx0uWfFK5iT2OCv+fJi5jTng==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.347.0.tgz", + "integrity": "sha512-96+ml/4EaUaVpzBdOLGOxdoXOjkPgkoJp/0i1fxOJEvl8wdAQSwc3IugVK9wZkCxy2DlENtgOe6DfIOhfffm/g==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-buffer-from": "3.208.0", - "@aws-sdk/util-utf8": "3.254.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.272.0.tgz", - "integrity": "sha512-ysW6wbjl1Y78txHUQ/Tldj2Rg1BI7rpMO9B9xAF6yAX3mQ7t6SUPQG/ewOGvH2208NBIl3qP5e/hDf0Q6r/1iw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.347.0.tgz", + "integrity": "sha512-8imQcwLwqZ/wTJXZqzXT9pGLIksTRckhGLZaXT60tiBOPKuerTsus2L59UstLs5LP8TKaVZKFFSsjRIn9dQdmQ==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz", - "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz", + "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.282.0.tgz", - "integrity": "sha512-SDgMLRRTMr9LlHSNk4bXUXynYnkT4oNMqE+FxhjsdbT8hK36eS4AadM58R7nPwgjR3EuWRW4ZRRawLWatpWspA==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.347.0.tgz", + "integrity": "sha512-i4qtWTDImMaDUtwKQPbaZpXsReiwiBomM1cWymCU4bhz81HL01oIxOxOBuiM+3NlDoCSPr3KI6txZSz/8cqXCQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.282.0.tgz", - "integrity": "sha512-8U9Mv/Sbdo1KI6/ip7IIUdBl5pgmalFbfkYAyO+AtmkEvawI9ipdWFs5HB0Dwd1BGVup5choY72Ik/7sCAAFTQ==", - "dependencies": { - "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/signature-v4": "3.282.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "@aws-sdk/util-config-provider": "3.208.0", - "@aws-sdk/util-middleware": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.347.0.tgz", + "integrity": "sha512-unF0c6dMaUL1ffU+37Ugty43DgMnzPWXr/Jup/8GbK5fzzWT5NQq6dj9KHPubMbWeEjQbmczvhv25JuJdK8gNQ==", + "dependencies": { + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-middleware": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.282.0.tgz", - "integrity": "sha512-90dfYow4zh4tCatTOnqB3nE/dIAucQLZnMqwN/WBPu0fUqjymzpsNkPchqWBPnSWdNE8w3PiKMqqD9rjYwqw4Q==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.347.0.tgz", + "integrity": "sha512-kpKmR9OvMlnReqp5sKcJkozbj1wmlblbVSbnQAIkzeQj2xD5dnVR3Nn2ogQKxSmU1Fv7dEroBtrruJ1o3fY38A==", "dependencies": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.272.0.tgz", - "integrity": "sha512-u2SQ0hWrFwxbxxYMG5uMEgf01pQY5jauK/LYWgGIvuCmFgiyRQQP3oN7kkmsxnS9MWmNmhbyQguX2NY02s5e9w==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.347.0.tgz", + "integrity": "sha512-NYC+Id5UCkVn+3P1t/YtmHt75uED06vwaKyxDy0UmB2K66PZLVtwWbLpVWrhbroaw1bvUHYcRyQ9NIfnVcXQjA==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.282.0.tgz", - "integrity": "sha512-cSLq/daEaTEucbP/TgAXIOcpwLu7Bfw3VGzH1U56ngDjI4KWvUheF16JiB6OqKQXduPBPsdZ9dVmkDVKddmCRw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.347.0.tgz", + "integrity": "sha512-qfnSvkFKCAMjMHR31NdsT0gv5Sq/ZHTUD4yQsSLpbVQ6iYAS834lrzXt41iyEHt57Y514uG7F/Xfvude3u4icQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.282.0.tgz", - "integrity": "sha512-3+0M1GP9o480IdqHVZbkhTgge63uKhDFlS6cQznpNGj0eIuQPhXRnlEz2/rma0INUqFm6+7qJ5yzHR4WQbfHpw==", - "dependencies": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/service-error-classification": "3.272.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-middleware": "3.272.0", - "@aws-sdk/util-retry": "3.272.0", - "tslib": "^2.3.1", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.347.0.tgz", + "integrity": "sha512-CpdM+8dCSbX96agy4FCzOfzDmhNnGBM/pxrgIVLm5nkYTLuXp/d7ubpFEUHULr+4hCd5wakHotMt7yO29NFaVw==", + "dependencies": { + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/service-error-classification": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-middleware": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "tslib": "^2.5.0", "uuid": "^8.3.2" }, "engines": { @@ -610,348 +636,347 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.282.0.tgz", - "integrity": "sha512-Qe20mtJcF6lxt7280FhTFD2IpBDn39MEXmbm/zIkXR2/cAmvji8YhcxhNrq1l7XiuMM6SokBDC/f3dlF1oOC6g==", - "dependencies": { - "@aws-sdk/middleware-signing": "3.282.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/signature-v4": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.347.0.tgz", + "integrity": "sha512-38LJ0bkIoVF3W97x6Jyyou72YV9Cfbml4OaDEdnrCOo0EssNZM5d7RhjMvQDwww7/3OBY/BzeOcZKfJlkYUXGw==", + "dependencies": { + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.272.0.tgz", - "integrity": "sha512-kW1uOxgPSwtXPB5rm3QLdWomu42lkYpQL94tM1BjyFOWmBLO2lQhk5a7Dw6HkTozT9a+vxtscLChRa6KZe61Hw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.347.0.tgz", + "integrity": "sha512-x5Foi7jRbVJXDu9bHfyCbhYDH5pKK+31MmsSJ3k8rY8keXLBxm2XEEg/AIoV9/TUF9EeVvZ7F1/RmMpJnWQsEg==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.282.0.tgz", - "integrity": "sha512-eE5qMDcqqxZPdSwybUEph/knrA2j2cHjW+B2ddROw3Ojg0XLjep5hOhithAudgBREQhYF9pdsBr6mUMynUIrKw==", - "dependencies": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/signature-v4": "3.282.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-middleware": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.347.0.tgz", + "integrity": "sha512-zVBF/4MGKnvhAE/J+oAL/VAehiyv+trs2dqSQXwHou9j8eA8Vm8HS2NdOwpkZQchIxTuwFlqSusDuPEdYFbvGw==", + "dependencies": { + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/signature-v4": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-middleware": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.272.0.tgz", - "integrity": "sha512-jhwhknnPBGhfXAGV5GXUWfEhDFoP/DN8MPCO2yC5OAxyp6oVJ8lTPLkZYMTW5VL0c0eG44dXpF4Ib01V+PlDrQ==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.347.0.tgz", + "integrity": "sha512-Izidg4rqtYMcKuvn2UzgEpPLSmyd8ub9+LQ2oIzG3mpIzCBITq7wp40jN1iNkMg+X6KEnX9vdMJIYZsPYMCYuQ==", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.282.0.tgz", - "integrity": "sha512-P1ealsSrUALo0w0Qu5nBKsNQwsmqIfsoNtFWpaznjIcXE5rRMlZL69zb0KnGbQCBfEXsgaMOWjeGT8I3/XbOHQ==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.347.0.tgz", + "integrity": "sha512-wJbGN3OE1/daVCrwk49whhIr9E0j1N4gWwN/wi4WuyYIA+5lMUfVp0aGIOvZR+878DxuFz2hQ4XcZVT4K2WvQw==", "dependencies": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.272.0.tgz", - "integrity": "sha512-YYCIBh9g1EQo7hm2l22HX5Yr9RoPQ2RCvhzKvF1n1e8t1QH4iObQrYUtqHG4khcm64Cft8C5MwZmgzHbya5Z6Q==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.347.0.tgz", + "integrity": "sha512-faU93d3+5uTTUcotGgMXF+sJVFjrKh+ufW+CzYKT4yUHammyaIab/IbTPWy2hIolcEGtuPeVoxXw8TXbkh/tuw==", "dependencies": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.282.0.tgz", - "integrity": "sha512-LIA4lsSKA/l1kTR5ERkJG2gARveB7Y40MR6yDwtIuhXeVu7Xo9m4BJFanCYIbyc093W0T53x438bwoBR+R+/fw==", - "dependencies": { - "@aws-sdk/abort-controller": "3.272.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/querystring-builder": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.350.0.tgz", + "integrity": "sha512-oD96GAlmpzYilCdC8wwyURM5lNfNHZCjm/kxBkQulHKa2kRbIrnD9GfDqdCkWA5cTpjh1NzGLT4D6e6UFDjt9w==", + "dependencies": { + "@aws-sdk/abort-controller": "3.347.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/querystring-builder": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/property-provider": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.272.0.tgz", - "integrity": "sha512-V1pZTaH5eqpAt8O8CzbItHhOtzIfFuWymvwZFkAtwKuaHpnl7jjrTouV482zoq8AD/fF+VVSshwBKYA7bhidIw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.347.0.tgz", + "integrity": "sha512-t3nJ8CYPLKAF2v9nIHOHOlF0CviQbTvbFc2L4a+A+EVd/rM4PzL3+3n8ZJsr0h7f6uD04+b5YRFgKgnaqLXlEg==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.282.0.tgz", - "integrity": "sha512-aOPv5DhsbG06WKfeh2g0H8RGnaeI8pLhaA+Mq1BvzXcghhlDu+FM9K/GjC/f1lWk1UNryfevOR7SdQm95ciHQg==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.347.0.tgz", + "integrity": "sha512-2YdBhc02Wvy03YjhGwUxF0UQgrPWEy8Iq75pfS42N+/0B/+eWX1aQgfjFxIpLg7YSjT5eKtYOQGlYd4MFTgj9g==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.272.0.tgz", - "integrity": "sha512-ndo++7GkdCj5tBXE6rGcITpSpZS4PfyV38wntGYAlj9liL1omk3bLZRY6uzqqkJpVHqbg2fD7O2qHNItzZgqhw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.347.0.tgz", + "integrity": "sha512-phtKTe6FXoV02MoPkIVV6owXI8Mwr5IBN3bPoxhcPvJG2AjEmnetSIrhb8kwc4oNhlwfZwH6Jo5ARW/VEWbZtg==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-uri-escape": "3.201.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.272.0.tgz", - "integrity": "sha512-5oS4/9n6N1LZW9tI3qq/0GnCuWoOXRgcHVB+AJLRBvDbEe+GI+C/xK1tKLsfpDNgsQJHc4IPQoIt4megyZ/1+A==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.347.0.tgz", + "integrity": "sha512-5VXOhfZz78T2W7SuXf2avfjKglx1VZgZgp9Zfhrt/Rq+MTu2D+PZc5zmJHhYigD7x83jLSLogpuInQpFMA9LgA==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.272.0.tgz", - "integrity": "sha512-REoltM1LK9byyIufLqx9znhSolPcHQgVHIA2S0zu5sdt5qER4OubkLAXuo4MBbisUTmh8VOOvIyUb5ijZCXq1w==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.347.0.tgz", + "integrity": "sha512-xZ3MqSY81Oy2gh5g0fCtooAbahqh9VhsF8vcKjVX8+XPbGC8y+kej82+MsMg4gYL8gRFB9u4hgYbNgIS6JTAvg==", "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.272.0.tgz", - "integrity": "sha512-lzFPohp5sy2XvwFjZIzLVCRpC0i5cwBiaXmFzXYQZJm6FSCszHO4ax+m9yrtlyVFF/2YPWl+/bzNthy4aJtseA==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.347.0.tgz", + "integrity": "sha512-Xw+zAZQVLb+xMNHChXQ29tzzLqm3AEHsD8JJnlkeFjeMnWQtXdUfOARl5s8NzAppcKQNlVe2gPzjaKjoy2jz1Q==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.282.0.tgz", - "integrity": "sha512-rnSL3UyF/No7+O2EMtN1sTCiqL1a+odbfnfo3wCSl8DH5PEYINt2kZgVEvT1Fgaffk1pUggBBOZoR+arPIIDJA==", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.201.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-hex-encoding": "3.201.0", - "@aws-sdk/util-middleware": "3.272.0", - "@aws-sdk/util-uri-escape": "3.201.0", - "@aws-sdk/util-utf8": "3.254.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.347.0.tgz", + "integrity": "sha512-58Uq1do+VsTHYkP11dTK+DF53fguoNNJL9rHRWhzP+OcYv3/mBMLoS2WPz/x9FO5mBg4ESFsug0I6mXbd36tjw==", + "dependencies": { + "@aws-sdk/eventstream-codec": "3.347.0", + "@aws-sdk/is-array-buffer": "3.310.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-middleware": "3.347.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.279.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.279.0.tgz", - "integrity": "sha512-ZcYWUQDGAYN6NXRpJuSn46PetrpPCA6TrDVwP9+3pERzTXZ66npXoG2XhHjNrOXy/Ted5A3OxKrM4/zLu9tK3A==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.347.0.tgz", + "integrity": "sha512-PaGTDsJLGK0sTjA6YdYQzILRlPRN3uVFyqeBUkfltXssvUzkm8z2t1lz2H4VyJLAhwnG5ZuZTNEV/2mcWrU7JQ==", "dependencies": { - "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.282.0.tgz", - "integrity": "sha512-Qk/D6i+Hpc0fp/2SRHbfJeKPgUIugzsmye3NL0OV1bqd1Y40dW5LT4u67VcZHwqxzYDKe6Eo+7NHJu7qfvwhog==", - "dependencies": { - "@aws-sdk/client-sso-oidc": "3.282.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.350.0.tgz", + "integrity": "sha512-VIfVMV5An1VQQ6bOKQTHPsRFHD3/YRGOPk9lDTVJGOK0G1DIFYd/10ZaLQ86rCWLck2lGhjxsOen2N2n6MtA0A==", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.350.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/types": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.272.0.tgz", - "integrity": "sha512-MmmL6vxMGP5Bsi+4wRx4mxYlU/LX6M0noOXrDh/x5FfG7/4ZOar/nDxqDadhJtNM88cuWVHZWY59P54JzkGWmA==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.347.0.tgz", + "integrity": "sha512-GkCMy79mdjU9OTIe5KT58fI/6uqdf8UmMdWqVHmFJ+UpEzOci7L/uw4sOXWo7xpPzLs6cJ7s5ouGZW4GRPmHFA==", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/url-parser": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.272.0.tgz", - "integrity": "sha512-vX/Tx02PlnQ/Kgtf5TnrNDHPNbY+amLZjW0Z1d9vzAvSZhQ4i9Y18yxoRDIaDTCNVRDjdhV8iuctW+05PB5JtQ==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.347.0.tgz", + "integrity": "sha512-lhrnVjxdV7hl+yCnJfDZOaVLSqKjxN20MIOiijRiqaWGLGEAiSqBreMhL89X1WKCifxAs4zZf9YB9SbdziRpAA==", "dependencies": { - "@aws-sdk/querystring-parser": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/querystring-parser": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-base64": { - "version": "3.208.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz", - "integrity": "sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz", + "integrity": "sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.208.0", - "tslib": "^2.3.1" + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz", - "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.310.0.tgz", + "integrity": "sha512-sxsC3lPBGfpHtNTUoGXMQXLwjmR0zVpx0rSvzTPAuoVILVsp5AU/w5FphNPxD5OVIjNbZv9KsKTuvNTiZjDp9g==", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.208.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz", - "integrity": "sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.310.0.tgz", + "integrity": "sha512-2tqGXdyKhyA6w4zz7UPoS8Ip+7sayOg9BwHNidiGm2ikbDxm1YrCfYXvCBdwaJxa4hJfRVz+aL9e+d3GqPI9pQ==", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.208.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz", - "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz", + "integrity": "sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.201.0", - "tslib": "^2.3.1" + "@aws-sdk/is-array-buffer": "3.310.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-config-provider": { - "version": "3.208.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz", - "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.310.0.tgz", + "integrity": "sha512-xIBaYo8dwiojCw8vnUcIL4Z5tyfb1v3yjqyJKJWV/dqKUFOOS0U591plmXbM+M/QkXyML3ypon1f8+BoaDExrg==", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.279.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.279.0.tgz", - "integrity": "sha512-RnchYRrpapTT5Hu23LOfk6e8RMVq0kUzho6xA6TJj1a4uGxkcRMvgzPipCq1P5uHu0mrkQBg9pGPEVNOUs38/Q==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.347.0.tgz", + "integrity": "sha512-+JHFA4reWnW/nMWwrLKqL2Lm/biw/Dzi/Ix54DAkRZ08C462jMKVnUlzAI+TfxQE3YLm99EIa0G7jiEA+p81Qw==", "dependencies": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", "bowser": "^2.11.0", - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { "node": ">= 10.0.0" } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.282.0.tgz", - "integrity": "sha512-D1BlFoA7ZMeK2diDUWFx1xBFrSaJuBZMRBuWbnbT9AnRYNCsASZ8DRU1KkZ8LuFQIwmZz94P9q683emYnZBhiw==", - "dependencies": { - "@aws-sdk/config-resolver": "3.282.0", - "@aws-sdk/credential-provider-imds": "3.272.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.347.0.tgz", + "integrity": "sha512-A8BzIVhAAZE5WEukoAN2kYebzTc99ZgncbwOmgCCbvdaYlk5tzguR/s+uoT4G0JgQGol/4hAMuJEl7elNgU6RQ==", + "dependencies": { + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-imds": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">= 10.0.0" } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.272.0.tgz", - "integrity": "sha512-c4MPUaJt2G6gGpoiwIOqDfUa98c1J63RpYvf/spQEKOtC/tF5Gfqlxuq8FnAl5lHnrqj1B9ZXLLxFhHtDR0IiQ==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.347.0.tgz", + "integrity": "sha512-/WUkirizeNAqwVj0zkcrqdQ9pUm1HY5kU+qy7xTR0OebkuJauglkmSTMD+56L1JPunWqHhlwCMVRaz5eaJdSEQ==", "dependencies": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz", - "integrity": "sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz", + "integrity": "sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.295.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.295.0.tgz", - "integrity": "sha512-d/s+zhUx5Kh4l/ecMP/TBjzp1GR/g89Q4nWH6+wH5WgdHsK+LG+vmsk6mVNuP/8wsCofYG4NBqp5Ulbztbm9QA==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", + "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", "dependencies": { "tslib": "^2.5.0" }, @@ -960,57 +985,57 @@ } }, "node_modules/@aws-sdk/util-middleware": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.272.0.tgz", - "integrity": "sha512-Abw8m30arbwxqmeMMha5J11ESpHUNmCeSqSzE8/C4B8jZQtHY4kq7f+upzcNIQ11lsd+uzBEzNG3+dDRi0XOJQ==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.347.0.tgz", + "integrity": "sha512-8owqUA3ePufeYTUvlzdJ7Z0miLorTwx+rNol5lourGQZ9JXsVMo23+yGA7nOlFuXSGkoKpMOtn6S0BT2bcfeiw==", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-retry": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.272.0.tgz", - "integrity": "sha512-Ngha5414LR4gRHURVKC9ZYXsEJhMkm+SJ+44wlzOhavglfdcKKPUsibz5cKY1jpUV7oKECwaxHWpBB8r6h+hOg==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.347.0.tgz", + "integrity": "sha512-NxnQA0/FHFxriQAeEgBonA43Q9/VPFQa8cfJDuT2A1YZruMasgjcltoZszi1dvoIRWSZsFTW42eY2gdOd0nffQ==", "dependencies": { - "@aws-sdk/service-error-classification": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/service-error-classification": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz", - "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz", + "integrity": "sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q==", "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.282.0.tgz", - "integrity": "sha512-Z639oyTa5fZfyi4Xr64+eiAwBCxfpe9Op4Vhnr1z/RwonQM/qywydv6Ttpeq1q5uQ0nG4wTkOMpfh39g+VqIgw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.347.0.tgz", + "integrity": "sha512-ydxtsKVtQefgbk1Dku1q7pMkjDYThauG9/8mQkZUAVik55OUZw71Zzr3XO8J8RKvQG8lmhPXuAQ0FKAyycc0RA==", "dependencies": { - "@aws-sdk/types": "3.272.0", + "@aws-sdk/types": "3.347.0", "bowser": "^2.11.0", - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.282.0.tgz", - "integrity": "sha512-GSOdWNmzEd554wR9HBrgeYptKBOybveVwUkd6ws+YTdCOz4xD5Gga+I5JomKkcMEUVdBrJnYVUtq7ZsJy2f11w==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.347.0.tgz", + "integrity": "sha512-6X0b9qGsbD1s80PmbaB6v1/ZtLfSx6fjRX8caM7NN0y/ObuLoX8LhYnW6WlB2f1+xb4EjaCNgpP/zCf98MXosw==", "dependencies": { - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" @@ -1025,12 +1050,12 @@ } }, "node_modules/@aws-sdk/util-utf8": { - "version": "3.254.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz", - "integrity": "sha512-14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz", + "integrity": "sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.208.0", - "tslib": "^2.3.1" + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" @@ -2169,6 +2194,29 @@ "@sinonjs/commons": "^1.7.0" } }, + "node_modules/@smithy/protocol-http": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.0.1.tgz", + "integrity": "sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg==", + "dependencies": { + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz", + "integrity": "sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", @@ -4740,18 +4788,24 @@ "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" }, "node_modules/fast-xml-parser": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz", - "integrity": "sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz", + "integrity": "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], "dependencies": { "strnum": "^1.0.5" }, "bin": { "fxparser": "src/cli/cli.js" - }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" } }, "node_modules/fastq": { @@ -9148,9 +9202,9 @@ } }, "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -9903,6 +9957,23 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "requires": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, "@aws-crypto/ie11-detection": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", @@ -9990,711 +10061,721 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.272.0.tgz", - "integrity": "sha512-s2TV3phapcTwZNr4qLxbfuQuE9ZMP4RoJdkvRRCkKdm6jslsWLJf2Zlcxti/23hOlINUMYv2iXE2pftIgWGdpg==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.347.0.tgz", + "integrity": "sha512-P/2qE6ntYEmYG4Ez535nJWZbXqgbkJx8CMz7ChEuEg3Gp3dvVYEKg+iEUEvlqQ2U5dWP5J3ehw5po9t86IsVPQ==", "requires": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/client-comprehendmedical": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.282.0.tgz", - "integrity": "sha512-PdDdBuFBIpG/FcJorLtZHjo7akrv1A9gVV4DQJLnsMJDRV/EsfGVK6eLnXnwgOR1kd97KWQI92pEe3pumK5epA==", + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.350.0.tgz", + "integrity": "sha512-27FwE/CejN+mBGPm7sCLJ2EfzWCOUysy/cxtGBstMPXRvLnxt7ds82YC9iy/vog4dTvCvO0i2AUc6L2nCZgeZw==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.282.0", - "@aws-sdk/config-resolver": "3.282.0", - "@aws-sdk/credential-provider-node": "3.282.0", - "@aws-sdk/fetch-http-handler": "3.282.0", - "@aws-sdk/hash-node": "3.272.0", - "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.282.0", - "@aws-sdk/middleware-endpoint": "3.282.0", - "@aws-sdk/middleware-host-header": "3.282.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.282.0", - "@aws-sdk/middleware-retry": "3.282.0", - "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/middleware-signing": "3.282.0", - "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.282.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.282.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/smithy-client": "3.279.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.279.0", - "@aws-sdk/util-defaults-mode-node": "3.282.0", - "@aws-sdk/util-endpoints": "3.272.0", - "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.282.0", - "@aws-sdk/util-user-agent-node": "3.282.0", - "@aws-sdk/util-utf8": "3.254.0", - "tslib": "^2.3.1", + "@aws-sdk/client-sts": "3.350.0", + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0", "uuid": "^8.3.2" } }, "@aws-sdk/client-sso": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.282.0.tgz", - "integrity": "sha512-VzdCCaxlDyU+7wvLDWh+uACQ6RPfaKLQ3yJ2UY0B0SkH4R0E4GLDJ2OJzqS5eyyOsnq1rxfY75S4WYzj8E2cvg==", + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.350.0.tgz", + "integrity": "sha512-2vpiv6SEjmQGK3ZueGzvTMG6NenjWp0CHjmda71d1Iqr+tZ2UlfC35+3ioU8JP+jiXLL+y9r+SCer3IC8N/i+Q==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.282.0", - "@aws-sdk/fetch-http-handler": "3.282.0", - "@aws-sdk/hash-node": "3.272.0", - "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.282.0", - "@aws-sdk/middleware-endpoint": "3.282.0", - "@aws-sdk/middleware-host-header": "3.282.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.282.0", - "@aws-sdk/middleware-retry": "3.282.0", - "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.282.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.282.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/smithy-client": "3.279.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.279.0", - "@aws-sdk/util-defaults-mode-node": "3.282.0", - "@aws-sdk/util-endpoints": "3.272.0", - "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.282.0", - "@aws-sdk/util-user-agent-node": "3.282.0", - "@aws-sdk/util-utf8": "3.254.0", - "tslib": "^2.3.1" + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" } }, "@aws-sdk/client-sso-oidc": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.282.0.tgz", - "integrity": "sha512-upC4yBZllAXg5OVIuS8Lu9MI1aqfAObl2BBixj9fIYbDanQ02s0b1IwfZqlOqNNkGzMko1AWyiOSyOdVgyJ+xg==", + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.350.0.tgz", + "integrity": "sha512-v3UrWIglg9PPzGXqhyGB/qPZ8ifiGM9r4LV8vve1TpiKsUdf1Khtx1eB8yqjNO0vIsYUF+j1C23QT1qAN2DcEA==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.282.0", - "@aws-sdk/fetch-http-handler": "3.282.0", - "@aws-sdk/hash-node": "3.272.0", - "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.282.0", - "@aws-sdk/middleware-endpoint": "3.282.0", - "@aws-sdk/middleware-host-header": "3.282.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.282.0", - "@aws-sdk/middleware-retry": "3.282.0", - "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.282.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.282.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/smithy-client": "3.279.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.279.0", - "@aws-sdk/util-defaults-mode-node": "3.282.0", - "@aws-sdk/util-endpoints": "3.272.0", - "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.282.0", - "@aws-sdk/util-user-agent-node": "3.282.0", - "@aws-sdk/util-utf8": "3.254.0", - "tslib": "^2.3.1" + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" } }, "@aws-sdk/client-sts": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.282.0.tgz", - "integrity": "sha512-JZybEaST0rloS9drlX/0yJAnKHuV7DlS1n1WZxgaM2DY704ydlGiviiPQvC/q/dItsX4017gscC0blGJcUjK1g==", + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.350.0.tgz", + "integrity": "sha512-s8RsJ6upWQgeUt8GdV3j3ZeTS7BQXedk77RhZ7wzvVwAjO9wow4uS7Iyic4kS3Y/6d26s0MO2vP4bR6HW6U6ZQ==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.282.0", - "@aws-sdk/credential-provider-node": "3.282.0", - "@aws-sdk/fetch-http-handler": "3.282.0", - "@aws-sdk/hash-node": "3.272.0", - "@aws-sdk/invalid-dependency": "3.272.0", - "@aws-sdk/middleware-content-length": "3.282.0", - "@aws-sdk/middleware-endpoint": "3.282.0", - "@aws-sdk/middleware-host-header": "3.282.0", - "@aws-sdk/middleware-logger": "3.272.0", - "@aws-sdk/middleware-recursion-detection": "3.282.0", - "@aws-sdk/middleware-retry": "3.282.0", - "@aws-sdk/middleware-sdk-sts": "3.282.0", - "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/middleware-signing": "3.282.0", - "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/middleware-user-agent": "3.282.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/node-http-handler": "3.282.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/smithy-client": "3.279.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "@aws-sdk/util-base64": "3.208.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.208.0", - "@aws-sdk/util-defaults-mode-browser": "3.279.0", - "@aws-sdk/util-defaults-mode-node": "3.282.0", - "@aws-sdk/util-endpoints": "3.272.0", - "@aws-sdk/util-retry": "3.272.0", - "@aws-sdk/util-user-agent-browser": "3.282.0", - "@aws-sdk/util-user-agent-node": "3.282.0", - "@aws-sdk/util-utf8": "3.254.0", - "fast-xml-parser": "4.1.2", - "tslib": "^2.3.1" + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-node": "3.350.0", + "@aws-sdk/fetch-http-handler": "3.347.0", + "@aws-sdk/hash-node": "3.347.0", + "@aws-sdk/invalid-dependency": "3.347.0", + "@aws-sdk/middleware-content-length": "3.347.0", + "@aws-sdk/middleware-endpoint": "3.347.0", + "@aws-sdk/middleware-host-header": "3.347.0", + "@aws-sdk/middleware-logger": "3.347.0", + "@aws-sdk/middleware-recursion-detection": "3.347.0", + "@aws-sdk/middleware-retry": "3.347.0", + "@aws-sdk/middleware-sdk-sts": "3.347.0", + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/middleware-user-agent": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/node-http-handler": "3.350.0", + "@aws-sdk/smithy-client": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-body-length-browser": "3.310.0", + "@aws-sdk/util-body-length-node": "3.310.0", + "@aws-sdk/util-defaults-mode-browser": "3.347.0", + "@aws-sdk/util-defaults-mode-node": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "@aws-sdk/util-user-agent-browser": "3.347.0", + "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", + "fast-xml-parser": "4.2.4", + "tslib": "^2.5.0" } }, "@aws-sdk/config-resolver": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.282.0.tgz", - "integrity": "sha512-30qFLh2N4NXQ2EAook7NIFeu1K/nlrRLrdVb2BtGFi/F3cZnz+sy9o0XmL6x+sO9TznWjdNxD1RKQdqoAwGnCQ==", - "requires": { - "@aws-sdk/signature-v4": "3.282.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-config-provider": "3.208.0", - "@aws-sdk/util-middleware": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.347.0.tgz", + "integrity": "sha512-2ja+Sf/VnUO7IQ3nKbDQ5aumYKKJUaTm/BuVJ29wNho8wYHfuf7wHZV0pDTkB8RF5SH7IpHap7zpZAj39Iq+EA==", + "requires": { + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-config-provider": "3.310.0", + "@aws-sdk/util-middleware": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-env": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.272.0.tgz", - "integrity": "sha512-QI65NbLnKLYHyTYhXaaUrq6eVsCCrMUb05WDA7+TJkWkjXesovpjc8vUKgFiLSxmgKmb2uOhHNcDyObKMrYQFw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.347.0.tgz", + "integrity": "sha512-UnEM+LKGpXKzw/1WvYEQsC6Wj9PupYZdQOE+e2Dgy2dqk/pVFy4WueRtFXYDT2B41ppv3drdXUuKZRIDVqIgNQ==", "requires": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-imds": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.272.0.tgz", - "integrity": "sha512-wwAfVY1jTFQEfxVfdYD5r5ieYGl+0g4nhekVxNMqE8E1JeRDd18OqiwAflzpgBIqxfqvCUkf+vl5JYyacMkNAQ==", - "requires": { - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.347.0.tgz", + "integrity": "sha512-7scCy/DCDRLIhlqTxff97LQWDnRwRXji3bxxMg+xWOTTaJe7PWx+etGSbBWaL42vsBHFShQjSLvJryEgoBktpw==", + "requires": { + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.282.0.tgz", - "integrity": "sha512-2GKduXORcUgOigF1jZF7A1Wh4W/aJt3ynh7xb1vfx020nHx6YDljrEGpzgH6pOVzl7ZhgthpojicCuy2UumkMA==", - "requires": { - "@aws-sdk/credential-provider-env": "3.272.0", - "@aws-sdk/credential-provider-imds": "3.272.0", - "@aws-sdk/credential-provider-process": "3.272.0", - "@aws-sdk/credential-provider-sso": "3.282.0", - "@aws-sdk/credential-provider-web-identity": "3.272.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.350.0.tgz", + "integrity": "sha512-mGGU0PpnG0VDNKSuGi083U1egjprrU9/XoRtgf+iYvAKXRR/0XA4pGW5c7zpHY7m4iLhBuRj6N4oxQsH9cMtWg==", + "requires": { + "@aws-sdk/credential-provider-env": "3.347.0", + "@aws-sdk/credential-provider-imds": "3.347.0", + "@aws-sdk/credential-provider-process": "3.347.0", + "@aws-sdk/credential-provider-sso": "3.350.0", + "@aws-sdk/credential-provider-web-identity": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-node": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.282.0.tgz", - "integrity": "sha512-qyHipZW0ep8STY+SO+Me8ObQ1Ee/aaZTmAK0Os/gB+EsiZhIE+mi6zRcScwdnpgJPLRYMEe4p/Cr6DOrA0G0GQ==", - "requires": { - "@aws-sdk/credential-provider-env": "3.272.0", - "@aws-sdk/credential-provider-imds": "3.272.0", - "@aws-sdk/credential-provider-ini": "3.282.0", - "@aws-sdk/credential-provider-process": "3.272.0", - "@aws-sdk/credential-provider-sso": "3.282.0", - "@aws-sdk/credential-provider-web-identity": "3.272.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.350.0.tgz", + "integrity": "sha512-xmqwCFwj/CZPx6AKHNb24Kpr0eHW9VISt9r+SfgH8PaYg5cNyX1pKmMbQCket5ov+WvHEQtOK7aBafak7dhauA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.347.0", + "@aws-sdk/credential-provider-imds": "3.347.0", + "@aws-sdk/credential-provider-ini": "3.350.0", + "@aws-sdk/credential-provider-process": "3.347.0", + "@aws-sdk/credential-provider-sso": "3.350.0", + "@aws-sdk/credential-provider-web-identity": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-process": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.272.0.tgz", - "integrity": "sha512-hiCAjWWm2PeBFp5cjkxqyam/XADjiS+e7GzwC34TbZn3LisS0uoweLojj9tD11NnnUhyhbLteUvu5+rotOLwrg==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.347.0.tgz", + "integrity": "sha512-yl1z4MsaBdXd4GQ2halIvYds23S67kElyOwz7g8kaQ4kHj+UoYWxz3JVW/DGusM6XmQ9/F67utBrUVA0uhQYyw==", "requires": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.282.0.tgz", - "integrity": "sha512-c4nibry7u0hkYRMi7+cWzdwYXfDDG+j3VYFxk2oOvU1VIJRyE6oeJqVaz3jgYLX9brHyrLJjuFCIJCUV/WXgIA==", - "requires": { - "@aws-sdk/client-sso": "3.282.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/token-providers": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.350.0.tgz", + "integrity": "sha512-u/3kv+PJeVawzBtWBei+IX1/z50mwhpPe3VrKSTns4CPUw8b5sqIYWkAaw5hxm0td69+xcL98RzIJsEpJc4QSQ==", + "requires": { + "@aws-sdk/client-sso": "3.350.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/token-providers": "3.350.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.272.0.tgz", - "integrity": "sha512-ImrHMkcgneGa/HadHAQXPwOrX26sAKuB8qlMxZF/ZCM2B55u8deY+ZVkVuraeKb7YsahMGehPFOfRAF6mvFI5Q==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.347.0.tgz", + "integrity": "sha512-DxoTlVK8lXjS1zVphtz/Ab+jkN/IZor9d6pP2GjJHNoAIIzXfRwwj5C8vr4eTayx/5VJ7GRP91J8GJ2cKly8Qw==", "requires": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/eventstream-codec": { + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.347.0.tgz", + "integrity": "sha512-61q+SyspjsaQ4sdgjizMyRgVph2CiW4aAtfpoH69EJFJfTxTR/OqnZ9Jx/3YiYi0ksrvDenJddYodfWWJqD8/w==", + "requires": { + "@aws-crypto/crc32": "3.0.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "tslib": "^2.5.0" } }, "@aws-sdk/fetch-http-handler": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.282.0.tgz", - "integrity": "sha512-RTd53UzKtUucIEdVLGGgtlbVwp0QkOt3ZfHuA/A1lOH7meChSh1kz7B5z3p4HQDpXO+MQ1Y6Ble9Vg2fh1zwJQ==", - "requires": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/querystring-builder": "3.272.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-base64": "3.208.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.347.0.tgz", + "integrity": "sha512-sQ5P7ivY8//7wdxfA76LT1sF6V2Tyyz1qF6xXf9sihPN5Q1Y65c+SKpMzXyFSPqWZ82+SQQuDliYZouVyS6kQQ==", + "requires": { + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/querystring-builder": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-base64": "3.310.0", + "tslib": "^2.5.0" } }, "@aws-sdk/hash-node": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.272.0.tgz", - "integrity": "sha512-40dwND+iAm3VtPHPZu7/+CIdVJFk2s0cWZt1lOiMPMSXycSYJ45wMk7Lly3uoqRx0uWfFK5iT2OCv+fJi5jTng==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.347.0.tgz", + "integrity": "sha512-96+ml/4EaUaVpzBdOLGOxdoXOjkPgkoJp/0i1fxOJEvl8wdAQSwc3IugVK9wZkCxy2DlENtgOe6DfIOhfffm/g==", "requires": { - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-buffer-from": "3.208.0", - "@aws-sdk/util-utf8": "3.254.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" } }, "@aws-sdk/invalid-dependency": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.272.0.tgz", - "integrity": "sha512-ysW6wbjl1Y78txHUQ/Tldj2Rg1BI7rpMO9B9xAF6yAX3mQ7t6SUPQG/ewOGvH2208NBIl3qP5e/hDf0Q6r/1iw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.347.0.tgz", + "integrity": "sha512-8imQcwLwqZ/wTJXZqzXT9pGLIksTRckhGLZaXT60tiBOPKuerTsus2L59UstLs5LP8TKaVZKFFSsjRIn9dQdmQ==", "requires": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/is-array-buffer": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz", - "integrity": "sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz", + "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==", "requires": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/middleware-content-length": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.282.0.tgz", - "integrity": "sha512-SDgMLRRTMr9LlHSNk4bXUXynYnkT4oNMqE+FxhjsdbT8hK36eS4AadM58R7nPwgjR3EuWRW4ZRRawLWatpWspA==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.347.0.tgz", + "integrity": "sha512-i4qtWTDImMaDUtwKQPbaZpXsReiwiBomM1cWymCU4bhz81HL01oIxOxOBuiM+3NlDoCSPr3KI6txZSz/8cqXCQ==", "requires": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/middleware-endpoint": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.282.0.tgz", - "integrity": "sha512-8U9Mv/Sbdo1KI6/ip7IIUdBl5pgmalFbfkYAyO+AtmkEvawI9ipdWFs5HB0Dwd1BGVup5choY72Ik/7sCAAFTQ==", - "requires": { - "@aws-sdk/middleware-serde": "3.272.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/signature-v4": "3.282.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/url-parser": "3.272.0", - "@aws-sdk/util-config-provider": "3.208.0", - "@aws-sdk/util-middleware": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.347.0.tgz", + "integrity": "sha512-unF0c6dMaUL1ffU+37Ugty43DgMnzPWXr/Jup/8GbK5fzzWT5NQq6dj9KHPubMbWeEjQbmczvhv25JuJdK8gNQ==", + "requires": { + "@aws-sdk/middleware-serde": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/util-middleware": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/middleware-host-header": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.282.0.tgz", - "integrity": "sha512-90dfYow4zh4tCatTOnqB3nE/dIAucQLZnMqwN/WBPu0fUqjymzpsNkPchqWBPnSWdNE8w3PiKMqqD9rjYwqw4Q==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.347.0.tgz", + "integrity": "sha512-kpKmR9OvMlnReqp5sKcJkozbj1wmlblbVSbnQAIkzeQj2xD5dnVR3Nn2ogQKxSmU1Fv7dEroBtrruJ1o3fY38A==", "requires": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/middleware-logger": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.272.0.tgz", - "integrity": "sha512-u2SQ0hWrFwxbxxYMG5uMEgf01pQY5jauK/LYWgGIvuCmFgiyRQQP3oN7kkmsxnS9MWmNmhbyQguX2NY02s5e9w==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.347.0.tgz", + "integrity": "sha512-NYC+Id5UCkVn+3P1t/YtmHt75uED06vwaKyxDy0UmB2K66PZLVtwWbLpVWrhbroaw1bvUHYcRyQ9NIfnVcXQjA==", "requires": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.282.0.tgz", - "integrity": "sha512-cSLq/daEaTEucbP/TgAXIOcpwLu7Bfw3VGzH1U56ngDjI4KWvUheF16JiB6OqKQXduPBPsdZ9dVmkDVKddmCRw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.347.0.tgz", + "integrity": "sha512-qfnSvkFKCAMjMHR31NdsT0gv5Sq/ZHTUD4yQsSLpbVQ6iYAS834lrzXt41iyEHt57Y514uG7F/Xfvude3u4icQ==", "requires": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/middleware-retry": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.282.0.tgz", - "integrity": "sha512-3+0M1GP9o480IdqHVZbkhTgge63uKhDFlS6cQznpNGj0eIuQPhXRnlEz2/rma0INUqFm6+7qJ5yzHR4WQbfHpw==", - "requires": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/service-error-classification": "3.272.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-middleware": "3.272.0", - "@aws-sdk/util-retry": "3.272.0", - "tslib": "^2.3.1", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.347.0.tgz", + "integrity": "sha512-CpdM+8dCSbX96agy4FCzOfzDmhNnGBM/pxrgIVLm5nkYTLuXp/d7ubpFEUHULr+4hCd5wakHotMt7yO29NFaVw==", + "requires": { + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/service-error-classification": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-middleware": "3.347.0", + "@aws-sdk/util-retry": "3.347.0", + "tslib": "^2.5.0", "uuid": "^8.3.2" } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.282.0.tgz", - "integrity": "sha512-Qe20mtJcF6lxt7280FhTFD2IpBDn39MEXmbm/zIkXR2/cAmvji8YhcxhNrq1l7XiuMM6SokBDC/f3dlF1oOC6g==", - "requires": { - "@aws-sdk/middleware-signing": "3.282.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/signature-v4": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.347.0.tgz", + "integrity": "sha512-38LJ0bkIoVF3W97x6Jyyou72YV9Cfbml4OaDEdnrCOo0EssNZM5d7RhjMvQDwww7/3OBY/BzeOcZKfJlkYUXGw==", + "requires": { + "@aws-sdk/middleware-signing": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/middleware-serde": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.272.0.tgz", - "integrity": "sha512-kW1uOxgPSwtXPB5rm3QLdWomu42lkYpQL94tM1BjyFOWmBLO2lQhk5a7Dw6HkTozT9a+vxtscLChRa6KZe61Hw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.347.0.tgz", + "integrity": "sha512-x5Foi7jRbVJXDu9bHfyCbhYDH5pKK+31MmsSJ3k8rY8keXLBxm2XEEg/AIoV9/TUF9EeVvZ7F1/RmMpJnWQsEg==", "requires": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/middleware-signing": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.282.0.tgz", - "integrity": "sha512-eE5qMDcqqxZPdSwybUEph/knrA2j2cHjW+B2ddROw3Ojg0XLjep5hOhithAudgBREQhYF9pdsBr6mUMynUIrKw==", - "requires": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/signature-v4": "3.282.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-middleware": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.347.0.tgz", + "integrity": "sha512-zVBF/4MGKnvhAE/J+oAL/VAehiyv+trs2dqSQXwHou9j8eA8Vm8HS2NdOwpkZQchIxTuwFlqSusDuPEdYFbvGw==", + "requires": { + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/signature-v4": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-middleware": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/middleware-stack": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.272.0.tgz", - "integrity": "sha512-jhwhknnPBGhfXAGV5GXUWfEhDFoP/DN8MPCO2yC5OAxyp6oVJ8lTPLkZYMTW5VL0c0eG44dXpF4Ib01V+PlDrQ==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.347.0.tgz", + "integrity": "sha512-Izidg4rqtYMcKuvn2UzgEpPLSmyd8ub9+LQ2oIzG3mpIzCBITq7wp40jN1iNkMg+X6KEnX9vdMJIYZsPYMCYuQ==", "requires": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.282.0.tgz", - "integrity": "sha512-P1ealsSrUALo0w0Qu5nBKsNQwsmqIfsoNtFWpaznjIcXE5rRMlZL69zb0KnGbQCBfEXsgaMOWjeGT8I3/XbOHQ==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.347.0.tgz", + "integrity": "sha512-wJbGN3OE1/daVCrwk49whhIr9E0j1N4gWwN/wi4WuyYIA+5lMUfVp0aGIOvZR+878DxuFz2hQ4XcZVT4K2WvQw==", "requires": { - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-endpoints": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/node-config-provider": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.272.0.tgz", - "integrity": "sha512-YYCIBh9g1EQo7hm2l22HX5Yr9RoPQ2RCvhzKvF1n1e8t1QH4iObQrYUtqHG4khcm64Cft8C5MwZmgzHbya5Z6Q==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.347.0.tgz", + "integrity": "sha512-faU93d3+5uTTUcotGgMXF+sJVFjrKh+ufW+CzYKT4yUHammyaIab/IbTPWy2hIolcEGtuPeVoxXw8TXbkh/tuw==", "requires": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/node-http-handler": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.282.0.tgz", - "integrity": "sha512-LIA4lsSKA/l1kTR5ERkJG2gARveB7Y40MR6yDwtIuhXeVu7Xo9m4BJFanCYIbyc093W0T53x438bwoBR+R+/fw==", - "requires": { - "@aws-sdk/abort-controller": "3.272.0", - "@aws-sdk/protocol-http": "3.282.0", - "@aws-sdk/querystring-builder": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.350.0.tgz", + "integrity": "sha512-oD96GAlmpzYilCdC8wwyURM5lNfNHZCjm/kxBkQulHKa2kRbIrnD9GfDqdCkWA5cTpjh1NzGLT4D6e6UFDjt9w==", + "requires": { + "@aws-sdk/abort-controller": "3.347.0", + "@aws-sdk/protocol-http": "3.347.0", + "@aws-sdk/querystring-builder": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/property-provider": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.272.0.tgz", - "integrity": "sha512-V1pZTaH5eqpAt8O8CzbItHhOtzIfFuWymvwZFkAtwKuaHpnl7jjrTouV482zoq8AD/fF+VVSshwBKYA7bhidIw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.347.0.tgz", + "integrity": "sha512-t3nJ8CYPLKAF2v9nIHOHOlF0CviQbTvbFc2L4a+A+EVd/rM4PzL3+3n8ZJsr0h7f6uD04+b5YRFgKgnaqLXlEg==", "requires": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/protocol-http": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.282.0.tgz", - "integrity": "sha512-aOPv5DhsbG06WKfeh2g0H8RGnaeI8pLhaA+Mq1BvzXcghhlDu+FM9K/GjC/f1lWk1UNryfevOR7SdQm95ciHQg==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.347.0.tgz", + "integrity": "sha512-2YdBhc02Wvy03YjhGwUxF0UQgrPWEy8Iq75pfS42N+/0B/+eWX1aQgfjFxIpLg7YSjT5eKtYOQGlYd4MFTgj9g==", "requires": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/querystring-builder": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.272.0.tgz", - "integrity": "sha512-ndo++7GkdCj5tBXE6rGcITpSpZS4PfyV38wntGYAlj9liL1omk3bLZRY6uzqqkJpVHqbg2fD7O2qHNItzZgqhw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.347.0.tgz", + "integrity": "sha512-phtKTe6FXoV02MoPkIVV6owXI8Mwr5IBN3bPoxhcPvJG2AjEmnetSIrhb8kwc4oNhlwfZwH6Jo5ARW/VEWbZtg==", "requires": { - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-uri-escape": "3.201.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "tslib": "^2.5.0" } }, "@aws-sdk/querystring-parser": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.272.0.tgz", - "integrity": "sha512-5oS4/9n6N1LZW9tI3qq/0GnCuWoOXRgcHVB+AJLRBvDbEe+GI+C/xK1tKLsfpDNgsQJHc4IPQoIt4megyZ/1+A==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.347.0.tgz", + "integrity": "sha512-5VXOhfZz78T2W7SuXf2avfjKglx1VZgZgp9Zfhrt/Rq+MTu2D+PZc5zmJHhYigD7x83jLSLogpuInQpFMA9LgA==", "requires": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/service-error-classification": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.272.0.tgz", - "integrity": "sha512-REoltM1LK9byyIufLqx9znhSolPcHQgVHIA2S0zu5sdt5qER4OubkLAXuo4MBbisUTmh8VOOvIyUb5ijZCXq1w==" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.347.0.tgz", + "integrity": "sha512-xZ3MqSY81Oy2gh5g0fCtooAbahqh9VhsF8vcKjVX8+XPbGC8y+kej82+MsMg4gYL8gRFB9u4hgYbNgIS6JTAvg==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.272.0.tgz", - "integrity": "sha512-lzFPohp5sy2XvwFjZIzLVCRpC0i5cwBiaXmFzXYQZJm6FSCszHO4ax+m9yrtlyVFF/2YPWl+/bzNthy4aJtseA==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.347.0.tgz", + "integrity": "sha512-Xw+zAZQVLb+xMNHChXQ29tzzLqm3AEHsD8JJnlkeFjeMnWQtXdUfOARl5s8NzAppcKQNlVe2gPzjaKjoy2jz1Q==", "requires": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/signature-v4": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.282.0.tgz", - "integrity": "sha512-rnSL3UyF/No7+O2EMtN1sTCiqL1a+odbfnfo3wCSl8DH5PEYINt2kZgVEvT1Fgaffk1pUggBBOZoR+arPIIDJA==", - "requires": { - "@aws-sdk/is-array-buffer": "3.201.0", - "@aws-sdk/types": "3.272.0", - "@aws-sdk/util-hex-encoding": "3.201.0", - "@aws-sdk/util-middleware": "3.272.0", - "@aws-sdk/util-uri-escape": "3.201.0", - "@aws-sdk/util-utf8": "3.254.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.347.0.tgz", + "integrity": "sha512-58Uq1do+VsTHYkP11dTK+DF53fguoNNJL9rHRWhzP+OcYv3/mBMLoS2WPz/x9FO5mBg4ESFsug0I6mXbd36tjw==", + "requires": { + "@aws-sdk/eventstream-codec": "3.347.0", + "@aws-sdk/is-array-buffer": "3.310.0", + "@aws-sdk/types": "3.347.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-middleware": "3.347.0", + "@aws-sdk/util-uri-escape": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" } }, "@aws-sdk/smithy-client": { - "version": "3.279.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.279.0.tgz", - "integrity": "sha512-ZcYWUQDGAYN6NXRpJuSn46PetrpPCA6TrDVwP9+3pERzTXZ66npXoG2XhHjNrOXy/Ted5A3OxKrM4/zLu9tK3A==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.347.0.tgz", + "integrity": "sha512-PaGTDsJLGK0sTjA6YdYQzILRlPRN3uVFyqeBUkfltXssvUzkm8z2t1lz2H4VyJLAhwnG5ZuZTNEV/2mcWrU7JQ==", "requires": { - "@aws-sdk/middleware-stack": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/middleware-stack": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/token-providers": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.282.0.tgz", - "integrity": "sha512-Qk/D6i+Hpc0fp/2SRHbfJeKPgUIugzsmye3NL0OV1bqd1Y40dW5LT4u67VcZHwqxzYDKe6Eo+7NHJu7qfvwhog==", - "requires": { - "@aws-sdk/client-sso-oidc": "3.282.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/shared-ini-file-loader": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.350.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.350.0.tgz", + "integrity": "sha512-VIfVMV5An1VQQ6bOKQTHPsRFHD3/YRGOPk9lDTVJGOK0G1DIFYd/10ZaLQ86rCWLck2lGhjxsOen2N2n6MtA0A==", + "requires": { + "@aws-sdk/client-sso-oidc": "3.350.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/shared-ini-file-loader": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/types": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.272.0.tgz", - "integrity": "sha512-MmmL6vxMGP5Bsi+4wRx4mxYlU/LX6M0noOXrDh/x5FfG7/4ZOar/nDxqDadhJtNM88cuWVHZWY59P54JzkGWmA==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.347.0.tgz", + "integrity": "sha512-GkCMy79mdjU9OTIe5KT58fI/6uqdf8UmMdWqVHmFJ+UpEzOci7L/uw4sOXWo7xpPzLs6cJ7s5ouGZW4GRPmHFA==", "requires": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/url-parser": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.272.0.tgz", - "integrity": "sha512-vX/Tx02PlnQ/Kgtf5TnrNDHPNbY+amLZjW0Z1d9vzAvSZhQ4i9Y18yxoRDIaDTCNVRDjdhV8iuctW+05PB5JtQ==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.347.0.tgz", + "integrity": "sha512-lhrnVjxdV7hl+yCnJfDZOaVLSqKjxN20MIOiijRiqaWGLGEAiSqBreMhL89X1WKCifxAs4zZf9YB9SbdziRpAA==", "requires": { - "@aws-sdk/querystring-parser": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/querystring-parser": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/util-base64": { - "version": "3.208.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz", - "integrity": "sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz", + "integrity": "sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg==", "requires": { - "@aws-sdk/util-buffer-from": "3.208.0", - "tslib": "^2.3.1" + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" } }, "@aws-sdk/util-body-length-browser": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz", - "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.310.0.tgz", + "integrity": "sha512-sxsC3lPBGfpHtNTUoGXMQXLwjmR0zVpx0rSvzTPAuoVILVsp5AU/w5FphNPxD5OVIjNbZv9KsKTuvNTiZjDp9g==", "requires": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/util-body-length-node": { - "version": "3.208.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz", - "integrity": "sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.310.0.tgz", + "integrity": "sha512-2tqGXdyKhyA6w4zz7UPoS8Ip+7sayOg9BwHNidiGm2ikbDxm1YrCfYXvCBdwaJxa4hJfRVz+aL9e+d3GqPI9pQ==", "requires": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/util-buffer-from": { - "version": "3.208.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz", - "integrity": "sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz", + "integrity": "sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==", "requires": { - "@aws-sdk/is-array-buffer": "3.201.0", - "tslib": "^2.3.1" + "@aws-sdk/is-array-buffer": "3.310.0", + "tslib": "^2.5.0" } }, "@aws-sdk/util-config-provider": { - "version": "3.208.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz", - "integrity": "sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.310.0.tgz", + "integrity": "sha512-xIBaYo8dwiojCw8vnUcIL4Z5tyfb1v3yjqyJKJWV/dqKUFOOS0U591plmXbM+M/QkXyML3ypon1f8+BoaDExrg==", "requires": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/util-defaults-mode-browser": { - "version": "3.279.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.279.0.tgz", - "integrity": "sha512-RnchYRrpapTT5Hu23LOfk6e8RMVq0kUzho6xA6TJj1a4uGxkcRMvgzPipCq1P5uHu0mrkQBg9pGPEVNOUs38/Q==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.347.0.tgz", + "integrity": "sha512-+JHFA4reWnW/nMWwrLKqL2Lm/biw/Dzi/Ix54DAkRZ08C462jMKVnUlzAI+TfxQE3YLm99EIa0G7jiEA+p81Qw==", "requires": { - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", "bowser": "^2.11.0", - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.282.0.tgz", - "integrity": "sha512-D1BlFoA7ZMeK2diDUWFx1xBFrSaJuBZMRBuWbnbT9AnRYNCsASZ8DRU1KkZ8LuFQIwmZz94P9q683emYnZBhiw==", - "requires": { - "@aws-sdk/config-resolver": "3.282.0", - "@aws-sdk/credential-provider-imds": "3.272.0", - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/property-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.347.0.tgz", + "integrity": "sha512-A8BzIVhAAZE5WEukoAN2kYebzTc99ZgncbwOmgCCbvdaYlk5tzguR/s+uoT4G0JgQGol/4hAMuJEl7elNgU6RQ==", + "requires": { + "@aws-sdk/config-resolver": "3.347.0", + "@aws-sdk/credential-provider-imds": "3.347.0", + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/property-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/util-endpoints": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.272.0.tgz", - "integrity": "sha512-c4MPUaJt2G6gGpoiwIOqDfUa98c1J63RpYvf/spQEKOtC/tF5Gfqlxuq8FnAl5lHnrqj1B9ZXLLxFhHtDR0IiQ==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.347.0.tgz", + "integrity": "sha512-/WUkirizeNAqwVj0zkcrqdQ9pUm1HY5kU+qy7xTR0OebkuJauglkmSTMD+56L1JPunWqHhlwCMVRaz5eaJdSEQ==", "requires": { - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/util-hex-encoding": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz", - "integrity": "sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz", + "integrity": "sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==", "requires": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/util-locate-window": { - "version": "3.295.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.295.0.tgz", - "integrity": "sha512-d/s+zhUx5Kh4l/ecMP/TBjzp1GR/g89Q4nWH6+wH5WgdHsK+LG+vmsk6mVNuP/8wsCofYG4NBqp5Ulbztbm9QA==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", + "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", "requires": { "tslib": "^2.5.0" } }, "@aws-sdk/util-middleware": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.272.0.tgz", - "integrity": "sha512-Abw8m30arbwxqmeMMha5J11ESpHUNmCeSqSzE8/C4B8jZQtHY4kq7f+upzcNIQ11lsd+uzBEzNG3+dDRi0XOJQ==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.347.0.tgz", + "integrity": "sha512-8owqUA3ePufeYTUvlzdJ7Z0miLorTwx+rNol5lourGQZ9JXsVMo23+yGA7nOlFuXSGkoKpMOtn6S0BT2bcfeiw==", "requires": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/util-retry": { - "version": "3.272.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.272.0.tgz", - "integrity": "sha512-Ngha5414LR4gRHURVKC9ZYXsEJhMkm+SJ+44wlzOhavglfdcKKPUsibz5cKY1jpUV7oKECwaxHWpBB8r6h+hOg==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.347.0.tgz", + "integrity": "sha512-NxnQA0/FHFxriQAeEgBonA43Q9/VPFQa8cfJDuT2A1YZruMasgjcltoZszi1dvoIRWSZsFTW42eY2gdOd0nffQ==", "requires": { - "@aws-sdk/service-error-classification": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/service-error-classification": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/util-uri-escape": { - "version": "3.201.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz", - "integrity": "sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz", + "integrity": "sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q==", "requires": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.282.0.tgz", - "integrity": "sha512-Z639oyTa5fZfyi4Xr64+eiAwBCxfpe9Op4Vhnr1z/RwonQM/qywydv6Ttpeq1q5uQ0nG4wTkOMpfh39g+VqIgw==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.347.0.tgz", + "integrity": "sha512-ydxtsKVtQefgbk1Dku1q7pMkjDYThauG9/8mQkZUAVik55OUZw71Zzr3XO8J8RKvQG8lmhPXuAQ0FKAyycc0RA==", "requires": { - "@aws-sdk/types": "3.272.0", + "@aws-sdk/types": "3.347.0", "bowser": "^2.11.0", - "tslib": "^2.3.1" + "tslib": "^2.5.0" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.282.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.282.0.tgz", - "integrity": "sha512-GSOdWNmzEd554wR9HBrgeYptKBOybveVwUkd6ws+YTdCOz4xD5Gga+I5JomKkcMEUVdBrJnYVUtq7ZsJy2f11w==", + "version": "3.347.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.347.0.tgz", + "integrity": "sha512-6X0b9qGsbD1s80PmbaB6v1/ZtLfSx6fjRX8caM7NN0y/ObuLoX8LhYnW6WlB2f1+xb4EjaCNgpP/zCf98MXosw==", "requires": { - "@aws-sdk/node-config-provider": "3.272.0", - "@aws-sdk/types": "3.272.0", - "tslib": "^2.3.1" + "@aws-sdk/node-config-provider": "3.347.0", + "@aws-sdk/types": "3.347.0", + "tslib": "^2.5.0" } }, "@aws-sdk/util-utf8": { - "version": "3.254.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz", - "integrity": "sha512-14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz", + "integrity": "sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA==", "requires": { - "@aws-sdk/util-buffer-from": "3.208.0", - "tslib": "^2.3.1" + "@aws-sdk/util-buffer-from": "3.310.0", + "tslib": "^2.5.0" } }, "@aws-sdk/util-utf8-browser": { @@ -11587,6 +11668,23 @@ "@sinonjs/commons": "^1.7.0" } }, + "@smithy/protocol-http": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.0.1.tgz", + "integrity": "sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg==", + "requires": { + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" + } + }, + "@smithy/types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz", + "integrity": "sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==", + "requires": { + "tslib": "^2.5.0" + } + }, "@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", @@ -13596,9 +13694,9 @@ "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" }, "fast-xml-parser": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz", - "integrity": "sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz", + "integrity": "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==", "requires": { "strnum": "^1.0.5" } @@ -16852,9 +16950,9 @@ } }, "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" }, "tsutils": { "version": "3.21.0", From 880e9a0a38da57f7d83553ebbcbc50583b9e2aac Mon Sep 17 00:00:00 2001 From: RupaliD Date: Tue, 27 Jun 2023 17:27:42 +0530 Subject: [PATCH 138/169] Fixed issue retrieving created date in vedio's search dto --- src/api/assets/video/video.controller.delegate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/assets/video/video.controller.delegate.ts b/src/api/assets/video/video.controller.delegate.ts index 472c26e..b8e11fc 100644 --- a/src/api/assets/video/video.controller.delegate.ts +++ b/src/api/assets/video/video.controller.delegate.ts @@ -202,7 +202,7 @@ export class VideoControllerDelegate { OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), Version : record.Version, - CratedAt : record.CreatedAt, + CreatedAt : record.CreatedAt, }; }; From 9b70e0c379e0d01fa1011b8fb60e856cc3d8a514 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 9 Jul 2023 16:49:37 +0000 Subject: [PATCH 139/169] Bump tough-cookie from 4.0.0 to 4.1.3 Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.0.0 to 4.1.3. - [Release notes](https://github.com/salesforce/tough-cookie/releases) - [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md) - [Commits](https://github.com/salesforce/tough-cookie/compare/v4.0.0...v4.1.3) --- updated-dependencies: - dependency-name: tough-cookie dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index fbfaa9d..28cc11b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8982,14 +8982,15 @@ "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=" }, "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", - "universalify": "^0.1.2" + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { "node": ">=6" @@ -9357,9 +9358,9 @@ "integrity": "sha512-QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==" }, "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, "engines": { "node": ">= 4.0.0" @@ -16752,14 +16753,15 @@ "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=" }, "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", - "universalify": "^0.1.2" + "universalify": "^0.2.0", + "url-parse": "^1.5.3" } }, "tr46": { @@ -17020,9 +17022,9 @@ "integrity": "sha512-QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==" }, "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true }, "unpipe": { From 509d76d352477fa7063f990439a2fa23bf3330cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Jul 2023 00:05:54 +0000 Subject: [PATCH 140/169] Bump semver from 5.7.1 to 5.7.2 Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 72 +++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index fbfaa9d..4111b58 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1105,9 +1105,9 @@ } }, "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -1146,9 +1146,9 @@ } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -5837,9 +5837,9 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -6851,9 +6851,9 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -8232,9 +8232,9 @@ "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -9262,9 +9262,9 @@ } }, "node_modules/twilio/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } @@ -10753,9 +10753,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -10784,9 +10784,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -14382,9 +14382,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -15195,9 +15195,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -16210,9 +16210,9 @@ "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -16951,9 +16951,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" } } }, From cf8071bb8a768f9b039a91177ef3b3c909789454 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 16:02:30 +0000 Subject: [PATCH 141/169] Bump word-wrap from 1.2.3 to 1.2.4 Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4. - [Release notes](https://github.com/jonschlinkert/word-wrap/releases) - [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4) --- updated-dependencies: - dependency-name: word-wrap dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index fbfaa9d..7e50616 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9664,9 +9664,9 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -17273,9 +17273,9 @@ "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "dev": true }, "wrap-ansi": { From 84d1840f501989a91a295271b640ac0cc1ae5169 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Wed, 30 Aug 2023 13:15:25 +0530 Subject: [PATCH 142/169] Added privileges for admin --- seed.data/role.privileges.json | 169 ++++++++++++++++++++++++++++++++- 1 file changed, 168 insertions(+), 1 deletion(-) diff --git a/seed.data/role.privileges.json b/seed.data/role.privileges.json index beef333..cf93d99 100644 --- a/seed.data/role.privileges.json +++ b/seed.data/role.privileges.json @@ -33,7 +33,174 @@ "ApiClient.RenewApiKey", "Careplan.Search", - "Careplan.GetById" + "Careplan.GetById", + "CareplanCategory.Create", + "CareplanCategory.Search", + "CareplanCategory.GetById", + "CareplanCategory.Update", + "CareplanCategory.Delete", + + "Careplan.Create", + "Careplan.Search", + "Careplan.GetById", + "Careplan.Update", + "Careplan.Delete", + + "ActionPlan.Create", + "ActionPlan.Search", + "ActionPlan.GetById", + "ActionPlan.Update", + "ActionPlan.Delete", + + "Animation.Create", + "Animation.Search", + "Animation.GetById", + "Animation.Update", + "Animation.Delete", + + "Appointment.Create", + "Appointment.Search", + "Appointment.GetById", + "Appointment.Update", + "Appointment.Delete", + + "Article.Create", + "Article.Search", + "Article.GetById", + "Article.Update", + "Article.Delete", + + "Assessment.Create", + "Assessment.Search", + "Assessment.GetById", + "Assessment.Update", + "Assessment.Delete", + + "Audio.Create", + "Audio.Search", + "Audio.GetById", + "Audio.Update", + "Audio.Delete", + + "Biometrics.Create", + "Biometrics.Search", + "Biometrics.GetById", + "Biometrics.Update", + "Biometrics.Delete", + + "CareplanActivity.Create", + "CareplanActivity.Search", + "CareplanActivity.GetById", + "CareplanActivity.Update", + "CareplanActivity.Delete", + + "Challenge.Create", + "Challenge.Search", + "Challenge.GetById", + "Challenge.Update", + "Challenge.Delete", + + "Checkup.Create", + "Checkup.Search", + "Checkup.GetById", + "Checkup.Update", + "Checkup.Delete", + + "Consultation.Create", + "Consultation.Search", + "Consultation.GetById", + "Consultation.Update", + "Consultation.Delete", + + "Exercise.Create", + "Exercise.Search", + "Exercise.GetById", + "Exercise.Update", + "Exercise.Delete", + + "Goal.Create", + "Goal.Search", + "Goal.GetById", + "Goal.Update", + "Goal.Delete", + + "Infographics.Create", + "Infographics.Search", + "Infographics.GetById", + "Infographics.Update", + "Infographics.Delete", + + "Medication.Create", + "Medication.Search", + "Medication.GetById", + "Medication.Update", + "Medication.Delete", + + "Meditation.Create", + "Meditation.Search", + "Meditation.GetById", + "Meditation.Update", + "Meditation.Delete", + + "Message.Create", + "Message.Search", + "Message.GetById", + "Message.Update", + "Message.Delete", + + "Nutrition.Create", + "Nutrition.Search", + "Nutrition.GetById", + "Nutrition.Update", + "Nutrition.Delete", + + "Physiotherapy.Create", + "Physiotherapy.Search", + "Physiotherapy.GetById", + "Physiotherapy.Update", + "Physiotherapy.Delete", + + "Priority.Create", + "Priority.Search", + "Priority.GetById", + "Priority.Update", + "Priority.Delete", + + "Reflection.Create", + "Reflection.Search", + "Reflection.GetById", + "Reflection.Update", + "Reflection.Delete", + + "Reminder.Create", + "Reminder.Search", + "Reminder.GetById", + "Reminder.Update", + "Reminder.Delete", + + "Video.Create", + "Video.Search", + "Video.GetById", + "Video.Update", + "Video.Delete", + + "WebLink.Create", + "WebLink.Search", + "WebLink.GetById", + "WebLink.Update", + "WebLink.Delete", + + "WebNewsfeed.Create", + "WebNewsfeed.Search", + "WebNewsfeed.GetById", + "WebNewsfeed.Update", + "WebNewsfeed.Delete", + + "WordPower.Create", + "WordPower.Search", + "WordPower.GetById", + "WordPower.Update", + "WordPower.Delete" ] }, { From ed7a3481a7e180770e04033e55f0f7faf0f26b92 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Wed, 6 Sep 2023 12:38:09 +0530 Subject: [PATCH 143/169] Fixed issue of retriving the createdAt date in response --- src/api/assets/meditation/meditation.controller.delegate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/assets/meditation/meditation.controller.delegate.ts b/src/api/assets/meditation/meditation.controller.delegate.ts index 0a56b79..2a5b25a 100644 --- a/src/api/assets/meditation/meditation.controller.delegate.ts +++ b/src/api/assets/meditation/meditation.controller.delegate.ts @@ -210,7 +210,7 @@ export class MeditationControllerDelegate { OwnerUserId : record.OwnerUserId, Tags : JSON.parse(record.Tags), Version : record.Version, - CreatedAt : record.Version, + CreatedAt : record.CreatedAt, }; }; From daf0f4b4dfc764af0c98a90fd19561689e40e4ec Mon Sep 17 00:00:00 2001 From: RupaliD Date: Wed, 6 Sep 2023 12:38:41 +0530 Subject: [PATCH 144/169] Fixed validation issue of careplan description --- src/api/careplan/careplan/careplan.validator.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/careplan/careplan/careplan.validator.ts b/src/api/careplan/careplan/careplan.validator.ts index 485312a..ea6e967 100644 --- a/src/api/careplan/careplan/careplan.validator.ts +++ b/src/api/careplan/careplan/careplan.validator.ts @@ -13,7 +13,7 @@ export class CareplanValidator { version : ['uuidv4'] }).optional(), Name : joi.string().max(256).required(), - Description : joi.string().optional(), + Description : joi.string().allow('', null).optional(), Version : joi.string().max(32).optional(), Tags : joi.array().items(joi.string()).optional(), OwnerUserId : joi.string().guid({ @@ -62,7 +62,7 @@ export class CareplanValidator { version : ['uuidv4'] }).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().allow('', null).optional(), Version : joi.string().max(32).optional(), Tags : joi.array().items(joi.string()).optional(), OwnerUserId : joi.string().guid({ From 80679e5fd4b43f37bc81fa4a9543910feae497cc Mon Sep 17 00:00:00 2001 From: RupaliD Date: Thu, 7 Sep 2023 17:31:23 +0530 Subject: [PATCH 145/169] Fixed appointment description update issue --- src/api/assets/appointment/appointment.validator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/assets/appointment/appointment.validator.ts b/src/api/assets/appointment/appointment.validator.ts index 2b8fd47..e416cd6 100644 --- a/src/api/assets/appointment/appointment.validator.ts +++ b/src/api/assets/appointment/appointment.validator.ts @@ -31,7 +31,7 @@ export class AppointmentValidator { const schema = joi.object({ AssetCode : joi.string().max(256).optional(), Name : joi.string().max(256).optional(), - Description : joi.string().optional(), + Description : joi.string().optional().allow(null, ''), AppointmentType : joi.string().valid("Doctor", "Lab", "Physiotherapy", "Other").optional(), Tags : joi.array().items(joi.string()).optional(), Version : joi.string().max(128).optional() From fd76cc4f0d166f5e48808a7d13606499ebec3d02 Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Fri, 29 Sep 2023 09:05:39 +0000 Subject: [PATCH 146/169] fix: package.json & package-lock.json to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-SHARP-5922108 --- package-lock.json | 158 ++++++++++++++++++++++++++++++++++++---------- package.json | 2 +- 2 files changed, 125 insertions(+), 35 deletions(-) diff --git a/package-lock.json b/package-lock.json index fbfaa9d..624ca08 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,7 @@ "readdirp": "^3.6.0", "reflect-metadata": "^0.1.13", "sequelize": "^6.15.0", - "sharp": "^0.30.0", + "sharp": "^0.32.6", "sleep": "^6.3.0", "timezone-support": "^2.0.2", "tsyringe": "^4.6.0", @@ -3024,6 +3024,11 @@ "follow-redirects": "^1.14.8" } }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + }, "node_modules/babel-jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", @@ -3848,9 +3853,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", "engines": { "node": ">=8" } @@ -4706,6 +4711,11 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, "node_modules/fast-glob": { "version": "3.2.11", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", @@ -7138,9 +7148,9 @@ } }, "node_modules/node-addon-api": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", - "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" }, "node_modules/node-cron": { "version": "3.0.0", @@ -7940,6 +7950,11 @@ } ] }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -8232,9 +8247,9 @@ "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -8391,27 +8406,47 @@ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sharp": { - "version": "0.30.7", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz", - "integrity": "sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==", + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", "hasInstallScript": true, "dependencies": { "color": "^4.2.3", - "detect-libc": "^2.0.1", - "node-addon-api": "^5.0.0", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", "prebuild-install": "^7.1.1", - "semver": "^7.3.7", + "semver": "^7.5.4", "simple-get": "^4.0.1", - "tar-fs": "^2.1.1", + "tar-fs": "^3.0.4", "tunnel-agent": "^0.6.0" }, "engines": { - "node": ">=12.13.0" + "node": ">=14.15.0" }, "funding": { "url": "https://opencollective.com/libvips" } }, + "node_modules/sharp/node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dependencies": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "node_modules/sharp/node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -8650,6 +8685,15 @@ "node": ">=10.0.0" } }, + "node_modules/streamx": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", + "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -12272,6 +12316,11 @@ "follow-redirects": "^1.14.8" } }, + "b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + }, "babel-jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", @@ -12896,9 +12945,9 @@ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, "detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==" }, "detect-newline": { "version": "3.1.0", @@ -13565,6 +13614,11 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, "fast-glob": { "version": "3.2.11", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", @@ -15427,9 +15481,9 @@ } }, "node-addon-api": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", - "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" }, "node-cron": { "version": "3.0.0", @@ -16009,6 +16063,11 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -16210,9 +16269,9 @@ "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -16314,18 +16373,40 @@ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sharp": { - "version": "0.30.7", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.7.tgz", - "integrity": "sha512-G+MY2YW33jgflKPTXXptVO28HvNOo9G3j0MybYAHeEmby+QuD2U98dT6ueht9cv/XDqZspSpIhoSW+BAKJ7Hig==", + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", "requires": { "color": "^4.2.3", - "detect-libc": "^2.0.1", - "node-addon-api": "^5.0.0", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", "prebuild-install": "^7.1.1", - "semver": "^7.3.7", + "semver": "^7.5.4", "simple-get": "^4.0.1", - "tar-fs": "^2.1.1", + "tar-fs": "^3.0.4", "tunnel-agent": "^0.6.0" + }, + "dependencies": { + "tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "requires": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "requires": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + } } }, "shebang-command": { @@ -16495,6 +16576,15 @@ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" }, + "streamx": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", + "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", + "requires": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", diff --git a/package.json b/package.json index ae2395e..bdef23b 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "readdirp": "^3.6.0", "reflect-metadata": "^0.1.13", "sequelize": "^6.15.0", - "sharp": "^0.30.0", + "sharp": "^0.32.6", "sleep": "^6.3.0", "timezone-support": "^2.0.2", "tsyringe": "^4.6.0", From dca33fbe9be086b53a8b6067ef32ac70e12e3328 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Mon, 2 Oct 2023 12:58:08 +0530 Subject: [PATCH 147/169] Fixes for sorting the careplan --- src/api/careplan/careplan/careplan.controller.delegate.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/api/careplan/careplan/careplan.controller.delegate.ts b/src/api/careplan/careplan/careplan.controller.delegate.ts index 4355764..c5ecf59 100644 --- a/src/api/careplan/careplan/careplan.controller.delegate.ts +++ b/src/api/careplan/careplan/careplan.controller.delegate.ts @@ -106,6 +106,14 @@ export class CareplanControllerDelegate { if (isActive != null) { filters['IsActive'] = isActive; } + var orderBy = query.orderBy ? query.orderBy : 'CreatedAt'; + if (orderBy != null) { + filters['OrderBy'] = orderBy; + } + var order = query.order ? query.order : 'ASC'; + if (order != null) { + filters['Order'] = order; + } return filters; }; From 7c81c8de5f2c4258a56717b69a4f63924c3ad102 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Tue, 3 Oct 2023 12:18:12 +0530 Subject: [PATCH 148/169] Care plan , enrollment and enrollment task search fixes --- .../careplan/careplan.controller.delegate.ts | 8 ++++++++ .../enrollment.task.controller.delegate.ts | 12 ++++++++++++ .../enrollment.task.validator.ts | 6 +++++- .../enrollment.controller.delegate.ts | 17 ++++++++++++++++- .../enrollment/enrollment.validator.ts | 7 ++++++- .../enrollment/enrollment.task.service.ts | 2 +- 6 files changed, 48 insertions(+), 4 deletions(-) diff --git a/src/api/careplan/careplan/careplan.controller.delegate.ts b/src/api/careplan/careplan/careplan.controller.delegate.ts index c5ecf59..ac5cdc9 100644 --- a/src/api/careplan/careplan/careplan.controller.delegate.ts +++ b/src/api/careplan/careplan/careplan.controller.delegate.ts @@ -114,6 +114,14 @@ export class CareplanControllerDelegate { if (order != null) { filters['Order'] = order; } + var itemsPerPage = query.itemsPerPage ? query.itemsPerPage : null; + if (itemsPerPage != null) { + filters['ItemsPerPage'] = parseInt(itemsPerPage); + } + var pageIndex = query.pageIndex ? query.pageIndex : null; + if (pageIndex != null) { + filters['PageIndex'] = parseInt(pageIndex); + } return filters; }; diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index 800f5bf..0067ae7 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -90,6 +90,18 @@ export class EnrollmentTaskControllerDelegate { if (orderBy != null) { filters['OrderBy'] = orderBy; } + var itemsPerPage = query.itemsPerPage ? query.itemsPerPage : null; + if (itemsPerPage != null) { + filters['ItemsPerPage'] = parseInt(itemsPerPage); + } + var order = query.order ? query.order : null; + if (order != null) { + filters['Order'] = order; + } + var pageIndex = query.pageIndex ? query.pageIndex : null; + if (pageIndex != null) { + filters['PageIndex'] = parseInt(pageIndex); + } return filters; }; diff --git a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts index 29c9eaa..f1e5bee 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.validator.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.validator.ts @@ -50,7 +50,11 @@ export class EnrollmentTaskValidator { scheduledDate : joi.date().iso().optional(), timeSlot : joi.string().valid("Early morning", "Morning", "Afternoon", "Late afternoon", "Evening", "Night", "Late night", "Unspecified", "Whole day").optional(), isRegistrationActivity : joi.boolean().optional(), - orderBy : joi.string().valid("ScheduledDate", "CreatedAt"), + orderBy : joi.string().valid("ScheduledDate", "CreatedAt", "AssetType"), + pageIndex : joi.number().min(0).optional(), + itemsPerPage : joi.number().min(1).optional(), + order : joi.string().valid('ascending', 'descending').optional() + .error(()=> new Error("order param: 'ascending' and 'descending' are the only valid values.")), }); return await schema.validateAsync(query); diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index d0dce8d..1319277 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -267,11 +267,26 @@ export class EnrollmentControllerDelegate { if (startDate != null) { filters['StartDate'] = startDate; } - var endDate = query.endDate ? query.endDate : null; if (endDate != null) { filters['EndDate'] = endDate; } + var orderBy = query.orderBy ? query.orderBy : null; + if (orderBy != null) { + filters['OrderBy'] = orderBy; + } + var itemsPerPage = query.itemsPerPage ? query.itemsPerPage : null; + if (itemsPerPage != null) { + filters['ItemsPerPage'] = parseInt(itemsPerPage); + } + var order = query.order ? query.order : null; + if (order != null) { + filters['Order'] = order; + } + var pageIndex = query.pageIndex ? query.pageIndex : null; + if (pageIndex != null) { + filters['PageIndex'] = parseInt(pageIndex); + } return filters; }; diff --git a/src/api/enrollment/enrollment/enrollment.validator.ts b/src/api/enrollment/enrollment/enrollment.validator.ts index 5ee73fc..944d76c 100644 --- a/src/api/enrollment/enrollment/enrollment.validator.ts +++ b/src/api/enrollment/enrollment/enrollment.validator.ts @@ -56,7 +56,12 @@ export class EnrollmentValidator { displayId : joi.string().optional(), startDate : joi.date().iso().optional(), endDate : joi.date().iso().optional(), - progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional() + progressStatus : joi.string().valid("Pending", "In-progress", "Completed", "Cancelled", "Delayed", "Unknown").optional(), + pageIndex : joi.number().min(0).optional(), + itemsPerPage : joi.number().min(1).optional(), + orderBy : joi.string().max(256).optional(), + order : joi.string().valid('ascending', 'descending').optional() + .error(()=> new Error("order param: 'ascending' and 'descending' are the only valid values.")), }); return await schema.validateAsync(query); diff --git a/src/database/repository.services/enrollment/enrollment.task.service.ts b/src/database/repository.services/enrollment/enrollment.task.service.ts index fdd6437..d28c8ea 100644 --- a/src/database/repository.services/enrollment/enrollment.task.service.ts +++ b/src/database/repository.services/enrollment/enrollment.task.service.ts @@ -245,7 +245,7 @@ export class EnrollmentTaskService { private addPaginationToSearch = (search, filters) => { - let limit = 250; + let limit = 25; if (filters.ItemsPerPage) { limit = filters.ItemsPerPage; } From 205774babd616d8cc23e74280eb0e0944b54ddeb Mon Sep 17 00:00:00 2001 From: rf-opssupport <84499879+rf-opssupport@users.noreply.github.com> Date: Mon, 16 Oct 2023 19:50:05 +0530 Subject: [PATCH 149/169] Feature/doc (#103) * Create release_flow.md * Update release_flow.md * Create REAN_Platform_Deployment_Workflows.md * Update README.md * Update README.md * Updated doc * Update release_flow.md removed the sub headings from the release workflow to avoid duplication --- README.md | 2 + .../REAN_Platform_Deployment_Workflows.md | 111 ++++++++++++++++++ docs/release_flow.md | 51 ++++++++ 3 files changed, 164 insertions(+) create mode 100644 docs/release_docs/REAN_Platform_Deployment_Workflows.md create mode 100644 docs/release_flow.md diff --git a/README.md b/README.md index afcfe1a..56deb10 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ This service supports following workflows. ### Highlights - API currently supports client authentication using API keys. - User authentication is also applicable for careplan and asset creators and admin. + +* [Release Flow](docs/release_flow.md) ### Currently in progress - Careplan service supports static careplan schedules, but support for dynamic scheduling of careplans is in progress. When complete, the scheduling will be driven by rule engine, events and participant responses. diff --git a/docs/release_docs/REAN_Platform_Deployment_Workflows.md b/docs/release_docs/REAN_Platform_Deployment_Workflows.md new file mode 100644 index 0000000..98c8d4f --- /dev/null +++ b/docs/release_docs/REAN_Platform_Deployment_Workflows.md @@ -0,0 +1,111 @@ +# REAN Platform Deployment Workflows + +## PR-CI-CD + +**Mode of Trigger:** Automated + +The PR Workflow is triggered automatically whenever a Pull Request with a source branch as a `feature/*` branch is created against the target branch as the `develop` branch. + +### PR Workflow Diagram +![PR-ci-cd_workflow](https://github.com/REAN-Foundation/reancare-service/blob/develop/assets/images/pr-ci-cd_workflow.png?raw=true) + +### GitHub Action Workflow Run +![pr](https://github.com/REAN-Foundation/reancare-service/blob/develop/assets/images/Pr-ci-cd_example.png?raw=true) + +### Jobs + +The PR workflow employs two jobs: + +#### CodeScan-ESLint +In this job, we analyze the code that the developer wrote against certain rules to identify any stylistic or programmatic errors. +* This job uses the [Super-linter](https://github.com/marketplace/actions/super-linter) action. +* It utilizes a static code analysis tool to detect problematic patterns within the application's source code. + +#### Build-Docker-Image +In this job, we validate the Dockerfile and test the image build process to uncover any issues arising from recent code changes. +* This job uses [docker/build-push-action](https://github.com/marketplace/actions/build-and-push-docker-images). +* It generates a Docker image with an image tag using the branch name and the short SHA of the commit, such as `feature/test_5e38e33`. + +## Dev-CI-CD + +**Mode of Trigger:** Automated + +The Dev Workflow is automatically initiated whenever a Pull Request is merged into the `develop` branch. This workflow encompasses building the applications and deploying the changes to the RF Platform Development environment. + +### Dev Workflow Diagram +![Dev-ci-cd_workflow](https://github.com/REAN-Foundation/reancare-service/blob/develop/assets/images/dev-ci-cd_workflow.png?raw=true) + +### GitHub Action Workflow Run +![dev](https://github.com/REAN-Foundation/reancare-service/blob/develop/assets/images/Dev-ci-cd_example.png?raw=true) + +### Jobs + +#### Deploy-ECS +The Deploy ECS job encompasses the following steps: + +* It utilizes [docker/build-push-action](https://github.com/marketplace/actions/build-and-push-docker-images). +* This job functions within the 'dev' environment and logs into ECR using credentials. It then constructs a new ECR Docker image with an image tag derived from the branch name and the short SHA of the commit. For instance, `/careplan-service-dev-uat:develop_5e38e33`. +* Subsequently, the job generates a fresh version of the Amazon ECS task definition, integrating the new Docker image. The deployment of the Amazon ECS task definition is orchestrated using the Duplo API. + +## UAT-CI-CD + +**Mode of Trigger:** Automated + +The UAT-CI-CD workflow can be activated through two methods: + +1. Creating a Pull Request to merge into the `MAIN` branch. +2. Initiating a Pull Request from a branch prefixed with 'release/'. + +### UAT Workflow Diagram +![uat-ci-cd_Workflow](https://github.com/REAN-Foundation/reancare-service/blob/develop/assets/images/uat-ci-cd_workflow.png?raw=true) + +### GitHub Action Workflow Run +![uat](https://github.com/REAN-Foundation/reancare-service/blob/develop/assets/images/Uat-ci-cd_example.png?raw=true) + +### Jobs + +#### CodeScan-ESLint +The CodeScan ESLint job executes the following steps: + +* It employs the [Super-linter](https://github.com/marketplace/actions/super-linter) action. +* Utilizing a static code analysis tool, this job identifies problematic patterns present in the application's source code. + +#### Label_Checks +The Label Checks job performs the subsequent actions: + +* It leverages [pull-request-label-checker](https://github.com/marketplace/actions/label-checker-for-pull-requests). +* Upon a Pull Request event, the job assesses whether the Pull Request bears one of the major, minor, or patch labels. + +#### Deploy-ECS +The Deploy ECS job encompasses the ensuing steps: + +* It employs [docker/build-push-action](https://github.com/marketplace/actions/build-and-push-docker-images). +* This job operates within the 'UAT' environment and authenticates to ECR using credentials. It proceeds to build a fresh ECR Docker image accompanied by an image tag derived from the branch name and the short SHA of the commit, such as `/careplan-service-dev-uat:develop_5e38e33`. +* Subsequently, the job generates a new version of the Amazon ECS task definition, incorporating the updated Docker image. The deployment of the Amazon ECS task definition is facilitated using the Duplo API. + +## PROD-CI-CD + +**Mode of Trigger:** Automated + +The Prod Workflow is automatically initiated whenever a Pull Request is merged into the main branch. This workflow encompasses building the applications and deploying the changes to the RF Platform Production environment. + +### Prod Workflow Diagram +![prod-ci-cd_Workflow](https://github.com/REAN-Foundation/reancare-service/blob/develop/assets/images/PROD-ci-cd_workflow.png?raw=true) + +### GitHub Action Workflow Run +![prod](https://github.com/REAN-Foundation/reancare-service/blob/develop/assets/images/prod-ci-cd_example.png?raw=true) + +### Jobs + +#### Publish-Release +The Publish-Release job undertakes the ensuing actions: + +* It utilizes [release-drafter](https://github.com/release-drafter/release-drafter). +* This job generates a new GitHub release, with the versioning based on the label assigned by the developer to the pull request. + +#### Deploy-ECS +The Deploy-ECS job encompasses the following steps: + +* It employs [docker/build-push-action](https://github.com/marketplace/actions/build-and-push-docker-images). +* This job authenticates to ECR using credentials and assembles a new ECR Docker image accompanied by an image tag based on the ID of the release generated by the Publish-Release job. For instance, `careplan-service-dev-uat:97777323`. +* Subsequently, the job produces a new version of the Amazon ECS task definition, integrating the updated Docker image. The deployment of the Amazon ECS task definition is facilitated using the Duplo API. diff --git a/docs/release_flow.md b/docs/release_flow.md new file mode 100644 index 0000000..0a940b5 --- /dev/null +++ b/docs/release_flow.md @@ -0,0 +1,51 @@ +# About Release Flow + +1. For general guidance about using GitHub actions, you can take a look at [Github Actions Guide](https://docs.github.com/en/actions/guides). +2. We have a total of 7 active release workflows. These are located under [Workflows](https://github.com/REAN-Foundation/reancare-service/tree/develop/.github/workflows). + +## Table Of Contents +- [Branching Strategy](#Branching-Strategy) +- [Develop to Main Branch Workflow](#Develop-to-Main-branch-Workflow) + - [Develop Branch Workflow](#Develop-Branch-Workflow) + - [Main branch Workflow](#Main-branch-Workflow) +- [Release Workflows](#Release-Workflows) + - [REAN Foundation Platform Workflows](#REAN-Foundation-Platform-Workflows) + + +## Branching Strategy + +We are following the GitFlow branching strategy. Please refer [here](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow). + +* ```main```: The main branch serves as the stable and production-ready branch, where all the changes from release branches are merged and tested before deployment. +* ```develop```: The develop branch, where all the changes from feature branches are merged +* ``` feature/*```: The feature branch, individual features, or enhancements are developed on separate branches, allowing for isolated development and easy collaboration before merging. +* ```release/*```: The release branch is a branch used for allowing isolated testing and preparation of the release before merging it into the main branch. +* ```hotfix/*```: The hotfix branch, hotfixes for critical issues are handled separately by creating dedicated branches and merging them directly into the main branch. + +## Develop to Main Branch Workflow + +The diagram below explains the end-to-end process and stages for promoting the code from the develop branch to the master branch. + +![workflow_diagram](https://github.com/REAN-Foundation/reancare-service/blob/develop/assets/images/workflow_diagram.png?raw=true) + +### Develop Branch Workflow + +1. The developer will create a Feature branch and a Pull Request to develop the branch, triggering the PR-ci-cd workflow. +2. After the Pull request merges into develop branch it will Trigger the DEV-ci-cd workflow. + +### Main branch Workflow + +1. The developer will create a Release branch and a Pull Request to the main branch, triggering the UAT-ci-cd workflow. +2. After the Pull request merges into the main branch it will trigger the PROD-ci-cd workflow. + +# Release Workflows + +There are different types of workflows designed for the type of source branch used based on the GitFlow workflow and the deployment targets as explained below + +### REAN Foundation Platform Workflows + +* [PR-CI-CD](https://github.com/REAN-Foundation/reancare-service/blob/develop/docs/release_docs/REAN_Platform_Deployment_Workflows.md#pr-ci-cd) +* [Dev-CI-CD](https://github.com/REAN-Foundation/reancare-service/blob/develop/docs/release_docs/REAN_Platform_Deployment_Workflows.md#dev-ci-cd). +* [UAT-CI-CD](https://github.com/REAN-Foundation/reancare-service/blob/develop/docs/release_docs/REAN_Platform_Deployment_Workflows.md#uat-ci-cd). +* [PROD-CI-CD](https://github.com/REAN-Foundation/reancare-service/blob/develop/docs/release_docs/REAN_Platform_Deployment_Workflows.md#prod-ci-cd). + From f6c8bf44b94e702fe126f0b999a5ec283564f71d Mon Sep 17 00:00:00 2001 From: RupaliD Date: Tue, 17 Oct 2023 08:57:43 +0530 Subject: [PATCH 150/169] Added db migration script --- scripts/db_migration/17_10_2023.sql | 132 ++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 scripts/db_migration/17_10_2023.sql diff --git a/scripts/db_migration/17_10_2023.sql b/scripts/db_migration/17_10_2023.sql new file mode 100644 index 0000000..fae8a31 --- /dev/null +++ b/scripts/db_migration/17_10_2023.sql @@ -0,0 +1,132 @@ +-- AlterTable +ALTER TABLE `asset_action_plans` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_animations` MODIFY `Transcript` text NULL, +MODIFY `Url` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_appointments` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_articles` MODIFY `Summary` text NULL, +MODIFY `Url` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_assessments` MODIFY `Description` text NULL, +MODIFY `Template` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_audio` MODIFY `Transcript` text NULL, +MODIFY `Url` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_biometrics` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_challenges` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_checkups` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_consultations` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_exercises` MODIFY `Description` text NULL, +MODIFY `RecommendedDurationMin` int NULL DEFAULT 15, +MODIFY `Tags` text NULL; +-- AlterTable +ALTER TABLE `asset_goals` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_infographics` MODIFY `Description` text NULL, +MODIFY `Url` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_medications` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_meditations` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_messages` MODIFY `Name` text NOT NULL, +MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Url` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1', +MODIFY `TemplateName` text NOT NULL, +MODIFY `TemplateVariables` text NULL, +MODIFY `TemplateButtonIds` text NULL; +-- AlterTable +ALTER TABLE `asset_nutritions` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_physiotherapy` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_priorities` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_reflections` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_reminders` MODIFY `Description` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_video` MODIFY `Transcript` text NULL, +MODIFY `Url` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_web_links` MODIFY `Description` text NULL, +MODIFY `Url` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_web_newsfeeds` MODIFY `Description` text NULL, +MODIFY `Url` text NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `asset_word_power` MODIFY `Description` text NULL, +MODIFY `AdditionalResources` text NOT NULL, +MODIFY `Tags` text NULL, +MODIFY `Version` varchar(128) NULL DEFAULT 'V1'; +-- AlterTable +ALTER TABLE `careplan_activities` MODIFY `AssetId` char(36) NULL; +-- AlterTable +ALTER TABLE `careplans` MODIFY `Description` text NULL, +MODIFY `Tags` text NOT NULL; +-- AlterTable +ALTER TABLE `file_resources` MODIFY `StorageKey` text NULL, +MODIFY `Tags` text NOT NULL; +-- AlterTable +ALTER TABLE `participant_activity_responses` MODIFY `Response` text NOT NULL; +-- AlterTable +ALTER TABLE `selected_action_plans` MODIFY `Description` text NOT NULL, +MODIFY `AdditionalDetails` text NULL; +-- AlterTable +ALTER TABLE `selected_goals` MODIFY `Description` text NOT NULL, +MODIFY `AdditionalDetails` text NULL; +-- AlterTable +ALTER TABLE `selected_priorities` MODIFY `Description` text NOT NULL; From d729ed688acf3003132d63c0eb40e691fd190611 Mon Sep 17 00:00:00 2001 From: RupaliD Date: Wed, 18 Oct 2023 11:37:09 +0530 Subject: [PATCH 151/169] changed the script name --- ...10_2023.sql => update_tags_description-version_17_10_2023.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename scripts/db_migration/{17_10_2023.sql => update_tags_description-version_17_10_2023.sql} (100%) diff --git a/scripts/db_migration/17_10_2023.sql b/scripts/db_migration/update_tags_description-version_17_10_2023.sql similarity index 100% rename from scripts/db_migration/17_10_2023.sql rename to scripts/db_migration/update_tags_description-version_17_10_2023.sql From 7a350f6f01bc274b854947686ca3e803a68cbf6e Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Wed, 1 Nov 2023 07:45:22 +0530 Subject: [PATCH 152/169] Updated scheduling for mock drill --- .../enrollment.controller.delegate.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 1319277..61a4e2e 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -211,8 +211,21 @@ export class EnrollmentControllerDelegate { } let dt = null; - dt = TimeHelper.addDuration(startDate, daysToAdd, DurationType.Day); - dt = TimeHelper.addDuration(dt, 270, DurationType.Minute); + const reminder = daysToAdd % 4; + const days = Math.ceil(daysToAdd / 4); + dt = TimeHelper.addDuration(startDate, days, DurationType.Day); + if (reminder === 1) { + dt = TimeHelper.addDuration(dt, 360, DurationType.Minute); + } else if (reminder === 2) { + dt = TimeHelper.addDuration(dt, 360 + 120 * 1, DurationType.Minute); + } else if (reminder === 3) { + dt = TimeHelper.addDuration(dt, 360 + 120 * 2, DurationType.Minute); + } else if (reminder === 0) { + dt = TimeHelper.addDuration(dt, 360 + 120 * 3, DurationType.Minute); + } + + // dt = TimeHelper.addDuration(startDate, daysToAdd, DurationType.Day); + // dt = TimeHelper.addDuration(dt, 270, DurationType.Minute); var createModel: EnrollmentTaskCreateModel = { EnrollmentId : record.id, From 135b8006d2f44e397d5023ac2413f87e5dd0a8c8 Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Thu, 7 Dec 2023 18:35:42 +0530 Subject: [PATCH 153/169] Updated normal scheduling --- .../enrollment.controller.delegate.ts | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 61a4e2e..1319277 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -211,21 +211,8 @@ export class EnrollmentControllerDelegate { } let dt = null; - const reminder = daysToAdd % 4; - const days = Math.ceil(daysToAdd / 4); - dt = TimeHelper.addDuration(startDate, days, DurationType.Day); - if (reminder === 1) { - dt = TimeHelper.addDuration(dt, 360, DurationType.Minute); - } else if (reminder === 2) { - dt = TimeHelper.addDuration(dt, 360 + 120 * 1, DurationType.Minute); - } else if (reminder === 3) { - dt = TimeHelper.addDuration(dt, 360 + 120 * 2, DurationType.Minute); - } else if (reminder === 0) { - dt = TimeHelper.addDuration(dt, 360 + 120 * 3, DurationType.Minute); - } - - // dt = TimeHelper.addDuration(startDate, daysToAdd, DurationType.Day); - // dt = TimeHelper.addDuration(dt, 270, DurationType.Minute); + dt = TimeHelper.addDuration(startDate, daysToAdd, DurationType.Day); + dt = TimeHelper.addDuration(dt, 270, DurationType.Minute); var createModel: EnrollmentTaskCreateModel = { EnrollmentId : record.id, From 061d0ea6af06b6bf07b0bb75d31fca6f4ba1ce3a Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Thu, 7 Dec 2023 13:17:27 +0000 Subject: [PATCH 154/169] fix: package.json & package-lock.json to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-FASTXMLPARSER-5777726 --- package-lock.json | 1547 +++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 793 insertions(+), 756 deletions(-) diff --git a/package-lock.json b/package-lock.json index c3f8828..b27c620 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@aws-sdk/client-comprehendmedical": "^3.282.0", + "@aws-sdk/client-comprehendmedical": "^3.359.0", "@types/adm-zip": "^0.4.34", "@types/bcryptjs": "^2.4.2", "@types/express": "^4.17.17", @@ -180,11 +180,11 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.347.0.tgz", - "integrity": "sha512-P/2qE6ntYEmYG4Ez535nJWZbXqgbkJx8CMz7ChEuEg3Gp3dvVYEKg+iEUEvlqQ2U5dWP5J3ehw5po9t86IsVPQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.357.0.tgz", + "integrity": "sha512-nQYDJon87quPwt2JZJwUN2GFKJnvE5kWb6tZP4xb5biSGUKBqDQo06oYed7yokatCuCMouIXV462aN0fWODtOw==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -192,42 +192,42 @@ } }, "node_modules/@aws-sdk/client-comprehendmedical": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.350.0.tgz", - "integrity": "sha512-27FwE/CejN+mBGPm7sCLJ2EfzWCOUysy/cxtGBstMPXRvLnxt7ds82YC9iy/vog4dTvCvO0i2AUc6L2nCZgeZw==", + "version": "3.359.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.359.0.tgz", + "integrity": "sha512-xOZdMkoO4WjBgWaAaRzos5te2mIjxdVRf4dachxwe9ij/E3kpKTCBorffxXRNaGGBdrOYhsePA8yPqKh9Zl7jQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.350.0", - "@aws-sdk/config-resolver": "3.347.0", - "@aws-sdk/credential-provider-node": "3.350.0", - "@aws-sdk/fetch-http-handler": "3.347.0", - "@aws-sdk/hash-node": "3.347.0", - "@aws-sdk/invalid-dependency": "3.347.0", - "@aws-sdk/middleware-content-length": "3.347.0", - "@aws-sdk/middleware-endpoint": "3.347.0", - "@aws-sdk/middleware-host-header": "3.347.0", - "@aws-sdk/middleware-logger": "3.347.0", - "@aws-sdk/middleware-recursion-detection": "3.347.0", - "@aws-sdk/middleware-retry": "3.347.0", - "@aws-sdk/middleware-serde": "3.347.0", - "@aws-sdk/middleware-signing": "3.347.0", - "@aws-sdk/middleware-stack": "3.347.0", - "@aws-sdk/middleware-user-agent": "3.347.0", - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/node-http-handler": "3.350.0", - "@aws-sdk/smithy-client": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/client-sts": "3.359.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-node": "3.358.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.358.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.347.0", - "@aws-sdk/util-defaults-mode-node": "3.347.0", - "@aws-sdk/util-endpoints": "3.347.0", - "@aws-sdk/util-retry": "3.347.0", - "@aws-sdk/util-user-agent-browser": "3.347.0", - "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-defaults-mode-browser": "3.358.0", + "@aws-sdk/util-defaults-mode-node": "3.358.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", "@aws-sdk/util-utf8": "3.310.0", "@smithy/protocol-http": "^1.0.1", "@smithy/types": "^1.0.0", @@ -239,39 +239,39 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.350.0.tgz", - "integrity": "sha512-2vpiv6SEjmQGK3ZueGzvTMG6NenjWp0CHjmda71d1Iqr+tZ2UlfC35+3ioU8JP+jiXLL+y9r+SCer3IC8N/i+Q==", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.358.0.tgz", + "integrity": "sha512-Kc9IsoPIHJfkjDuStyItwQAOpnxw/I9xfF3vvukeN9vkXcRiWeMDhEXACN4L1AYFlU9FHQSRdNwpYTIz7OrD2A==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.347.0", - "@aws-sdk/fetch-http-handler": "3.347.0", - "@aws-sdk/hash-node": "3.347.0", - "@aws-sdk/invalid-dependency": "3.347.0", - "@aws-sdk/middleware-content-length": "3.347.0", - "@aws-sdk/middleware-endpoint": "3.347.0", - "@aws-sdk/middleware-host-header": "3.347.0", - "@aws-sdk/middleware-logger": "3.347.0", - "@aws-sdk/middleware-recursion-detection": "3.347.0", - "@aws-sdk/middleware-retry": "3.347.0", - "@aws-sdk/middleware-serde": "3.347.0", - "@aws-sdk/middleware-stack": "3.347.0", - "@aws-sdk/middleware-user-agent": "3.347.0", - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/node-http-handler": "3.350.0", - "@aws-sdk/smithy-client": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.358.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.347.0", - "@aws-sdk/util-defaults-mode-node": "3.347.0", - "@aws-sdk/util-endpoints": "3.347.0", - "@aws-sdk/util-retry": "3.347.0", - "@aws-sdk/util-user-agent-browser": "3.347.0", - "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-defaults-mode-browser": "3.358.0", + "@aws-sdk/util-defaults-mode-node": "3.358.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", "@aws-sdk/util-utf8": "3.310.0", "@smithy/protocol-http": "^1.0.1", "@smithy/types": "^1.0.0", @@ -282,39 +282,39 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.350.0.tgz", - "integrity": "sha512-v3UrWIglg9PPzGXqhyGB/qPZ8ifiGM9r4LV8vve1TpiKsUdf1Khtx1eB8yqjNO0vIsYUF+j1C23QT1qAN2DcEA==", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.358.0.tgz", + "integrity": "sha512-Gy09fSlhJdGbr8rNNR8EdLaUynB1B34nw8kN1aFT4CdAnjFKxTainqG6Aq4vx64TbMDMhvMYWpNAluvq7UHVhw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.347.0", - "@aws-sdk/fetch-http-handler": "3.347.0", - "@aws-sdk/hash-node": "3.347.0", - "@aws-sdk/invalid-dependency": "3.347.0", - "@aws-sdk/middleware-content-length": "3.347.0", - "@aws-sdk/middleware-endpoint": "3.347.0", - "@aws-sdk/middleware-host-header": "3.347.0", - "@aws-sdk/middleware-logger": "3.347.0", - "@aws-sdk/middleware-recursion-detection": "3.347.0", - "@aws-sdk/middleware-retry": "3.347.0", - "@aws-sdk/middleware-serde": "3.347.0", - "@aws-sdk/middleware-stack": "3.347.0", - "@aws-sdk/middleware-user-agent": "3.347.0", - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/node-http-handler": "3.350.0", - "@aws-sdk/smithy-client": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.358.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.347.0", - "@aws-sdk/util-defaults-mode-node": "3.347.0", - "@aws-sdk/util-endpoints": "3.347.0", - "@aws-sdk/util-retry": "3.347.0", - "@aws-sdk/util-user-agent-browser": "3.347.0", - "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-defaults-mode-browser": "3.358.0", + "@aws-sdk/util-defaults-mode-node": "3.358.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", "@aws-sdk/util-utf8": "3.310.0", "@smithy/protocol-http": "^1.0.1", "@smithy/types": "^1.0.0", @@ -325,46 +325,46 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.350.0.tgz", - "integrity": "sha512-s8RsJ6upWQgeUt8GdV3j3ZeTS7BQXedk77RhZ7wzvVwAjO9wow4uS7Iyic4kS3Y/6d26s0MO2vP4bR6HW6U6ZQ==", + "version": "3.359.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.359.0.tgz", + "integrity": "sha512-zpyui8hXvEUvq8MwzZsm51ni0intvPjtV8dgx10nVJnm605nqrLlAMGqQ1S/UxO7CVmhqWbh5dnGHEc//UJlsw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.347.0", - "@aws-sdk/credential-provider-node": "3.350.0", - "@aws-sdk/fetch-http-handler": "3.347.0", - "@aws-sdk/hash-node": "3.347.0", - "@aws-sdk/invalid-dependency": "3.347.0", - "@aws-sdk/middleware-content-length": "3.347.0", - "@aws-sdk/middleware-endpoint": "3.347.0", - "@aws-sdk/middleware-host-header": "3.347.0", - "@aws-sdk/middleware-logger": "3.347.0", - "@aws-sdk/middleware-recursion-detection": "3.347.0", - "@aws-sdk/middleware-retry": "3.347.0", - "@aws-sdk/middleware-sdk-sts": "3.347.0", - "@aws-sdk/middleware-serde": "3.347.0", - "@aws-sdk/middleware-signing": "3.347.0", - "@aws-sdk/middleware-stack": "3.347.0", - "@aws-sdk/middleware-user-agent": "3.347.0", - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/node-http-handler": "3.350.0", - "@aws-sdk/smithy-client": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-node": "3.358.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-sdk-sts": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.358.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.347.0", - "@aws-sdk/util-defaults-mode-node": "3.347.0", - "@aws-sdk/util-endpoints": "3.347.0", - "@aws-sdk/util-retry": "3.347.0", - "@aws-sdk/util-user-agent-browser": "3.347.0", - "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-defaults-mode-browser": "3.358.0", + "@aws-sdk/util-defaults-mode-node": "3.358.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", "@aws-sdk/util-utf8": "3.310.0", "@smithy/protocol-http": "^1.0.1", "@smithy/types": "^1.0.0", - "fast-xml-parser": "4.2.4", + "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" }, "engines": { @@ -372,13 +372,13 @@ } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.347.0.tgz", - "integrity": "sha512-2ja+Sf/VnUO7IQ3nKbDQ5aumYKKJUaTm/BuVJ29wNho8wYHfuf7wHZV0pDTkB8RF5SH7IpHap7zpZAj39Iq+EA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.357.0.tgz", + "integrity": "sha512-cukfg0nX7Tzx/xFyH5F4Eyb8DA1ITCGtSQv4vnEjgUop+bkzckuGLKEeBcBhyZY+aw+2C9CVwIHwIMhRm0ul5w==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.347.0", + "@aws-sdk/util-middleware": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -386,12 +386,12 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.347.0.tgz", - "integrity": "sha512-UnEM+LKGpXKzw/1WvYEQsC6Wj9PupYZdQOE+e2Dgy2dqk/pVFy4WueRtFXYDT2B41ppv3drdXUuKZRIDVqIgNQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.357.0.tgz", + "integrity": "sha512-UOecwfqvXgJVqhfWSZ2S44v2Nq2oceW0PQVQp0JAa9opc2rxSVIfyOhPr0yMoPmpyNcP22rgeg6ce70KULYwiA==", "dependencies": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -399,14 +399,14 @@ } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.347.0.tgz", - "integrity": "sha512-7scCy/DCDRLIhlqTxff97LQWDnRwRXji3bxxMg+xWOTTaJe7PWx+etGSbBWaL42vsBHFShQjSLvJryEgoBktpw==", - "dependencies": { - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.357.0.tgz", + "integrity": "sha512-upw/bfsl7/WydT6gM0lBuR4Ipp4fzYm/E3ObFr0Mg5OkgVPt5ZJE+eeFTvwCpDdBSTKs4JfrK6/iEK8A23Q1jQ==", + "dependencies": { + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -414,18 +414,18 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.350.0.tgz", - "integrity": "sha512-mGGU0PpnG0VDNKSuGi083U1egjprrU9/XoRtgf+iYvAKXRR/0XA4pGW5c7zpHY7m4iLhBuRj6N4oxQsH9cMtWg==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.347.0", - "@aws-sdk/credential-provider-imds": "3.347.0", - "@aws-sdk/credential-provider-process": "3.347.0", - "@aws-sdk/credential-provider-sso": "3.350.0", - "@aws-sdk/credential-provider-web-identity": "3.347.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/types": "3.347.0", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.358.0.tgz", + "integrity": "sha512-Blmw4bhGxpaYvPmrbRKAltqnNDDSf6ZegNqJasc5OWvAlHJNvB/hYPmyQN0oFy79BXn7PbBip1QaLWaEhJvpAA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/credential-provider-process": "3.357.0", + "@aws-sdk/credential-provider-sso": "3.358.0", + "@aws-sdk/credential-provider-web-identity": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -433,19 +433,19 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.350.0.tgz", - "integrity": "sha512-xmqwCFwj/CZPx6AKHNb24Kpr0eHW9VISt9r+SfgH8PaYg5cNyX1pKmMbQCket5ov+WvHEQtOK7aBafak7dhauA==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.347.0", - "@aws-sdk/credential-provider-imds": "3.347.0", - "@aws-sdk/credential-provider-ini": "3.350.0", - "@aws-sdk/credential-provider-process": "3.347.0", - "@aws-sdk/credential-provider-sso": "3.350.0", - "@aws-sdk/credential-provider-web-identity": "3.347.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/types": "3.347.0", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.358.0.tgz", + "integrity": "sha512-iLjyRNOT0ycdLqkzXNW+V2zibVljkLjL8j45FpK6mNrAwc/Ynr7EYuRRp5OuRiiYDO3ZoneAxpBJQ5SqmK2Jfg==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/credential-provider-ini": "3.358.0", + "@aws-sdk/credential-provider-process": "3.357.0", + "@aws-sdk/credential-provider-sso": "3.358.0", + "@aws-sdk/credential-provider-web-identity": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -453,13 +453,13 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.347.0.tgz", - "integrity": "sha512-yl1z4MsaBdXd4GQ2halIvYds23S67kElyOwz7g8kaQ4kHj+UoYWxz3JVW/DGusM6XmQ9/F67utBrUVA0uhQYyw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.357.0.tgz", + "integrity": "sha512-qFWWilFPsc2hR7O0KIhwcE78w+pVIK+uQR6MQMfdRyxUndgiuCorJwVjedc3yZtmnoELHF34j+m8whTBXv9E7Q==", "dependencies": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -467,15 +467,15 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.350.0.tgz", - "integrity": "sha512-u/3kv+PJeVawzBtWBei+IX1/z50mwhpPe3VrKSTns4CPUw8b5sqIYWkAaw5hxm0td69+xcL98RzIJsEpJc4QSQ==", - "dependencies": { - "@aws-sdk/client-sso": "3.350.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/token-providers": "3.350.0", - "@aws-sdk/types": "3.347.0", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.358.0.tgz", + "integrity": "sha512-hKu5NshKohSDoHaXKyeCW88J8dBt4TMljrL+WswTMifuThO9ptyMq4PCdl4z7CNjIq6zo3ftc/uNf8TY7Ga8+w==", + "dependencies": { + "@aws-sdk/client-sso": "3.358.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/token-providers": "3.358.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -483,12 +483,12 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.347.0.tgz", - "integrity": "sha512-DxoTlVK8lXjS1zVphtz/Ab+jkN/IZor9d6pP2GjJHNoAIIzXfRwwj5C8vr4eTayx/5VJ7GRP91J8GJ2cKly8Qw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.357.0.tgz", + "integrity": "sha512-0KRRAFrXy5HJe2vqnCWCoCS+fQw7IoIj3KQsuURJMW4F+ifisxCgEsh3brJ2LQlN4ElWTRJhlrDHNZ/pd61D4w==", "dependencies": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -496,34 +496,34 @@ } }, "node_modules/@aws-sdk/eventstream-codec": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.347.0.tgz", - "integrity": "sha512-61q+SyspjsaQ4sdgjizMyRgVph2CiW4aAtfpoH69EJFJfTxTR/OqnZ9Jx/3YiYi0ksrvDenJddYodfWWJqD8/w==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.357.0.tgz", + "integrity": "sha512-bqenTHG6GH6aCk/Il+ooWXVVAZuc8lOgVEy9bE2hI49oVqT8zSuXxQB+w1WWyZoAOPcelsjayB1wfPub8VDBxQ==", "dependencies": { "@aws-crypto/crc32": "3.0.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-hex-encoding": "3.310.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.347.0.tgz", - "integrity": "sha512-sQ5P7ivY8//7wdxfA76LT1sF6V2Tyyz1qF6xXf9sihPN5Q1Y65c+SKpMzXyFSPqWZ82+SQQuDliYZouVyS6kQQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.357.0.tgz", + "integrity": "sha512-5sPloTO8y8fAnS/6/Sfp/aVoL9zuhzkLdWBORNzMazdynVNEzWKWCPZ27RQpgkaCDHiXjqUY4kfuFXAGkvFfDQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/querystring-builder": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-base64": "3.310.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/hash-node": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.347.0.tgz", - "integrity": "sha512-96+ml/4EaUaVpzBdOLGOxdoXOjkPgkoJp/0i1fxOJEvl8wdAQSwc3IugVK9wZkCxy2DlENtgOe6DfIOhfffm/g==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.357.0.tgz", + "integrity": "sha512-fq3LS9AxHKb7dTZkm6iM1TrGk6XOTZz96iEZPME1+vjiSEXGWuebHt87q92n+KozVGRypn9MId3lHOPBBjygNQ==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-buffer-from": "3.310.0", "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" @@ -533,11 +533,11 @@ } }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.347.0.tgz", - "integrity": "sha512-8imQcwLwqZ/wTJXZqzXT9pGLIksTRckhGLZaXT60tiBOPKuerTsus2L59UstLs5LP8TKaVZKFFSsjRIn9dQdmQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.357.0.tgz", + "integrity": "sha512-HnCYZczf0VdyxMVMMxmA3QJAyyPSFbcMtZzgKbxVTWTG7GKpQe0psWZu/7O2Nk31mKg6vEUdiP1FylqLBsgMOA==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, @@ -553,12 +553,12 @@ } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.347.0.tgz", - "integrity": "sha512-i4qtWTDImMaDUtwKQPbaZpXsReiwiBomM1cWymCU4bhz81HL01oIxOxOBuiM+3NlDoCSPr3KI6txZSz/8cqXCQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.357.0.tgz", + "integrity": "sha512-zQOFEyzOXAgN4M54tYNWGxKxnyzY0WwYDTFzh9riJRmxN1hTEKHUKmze4nILIf5rkQmOG4kTf1qmfazjkvZAhw==", "dependencies": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -566,14 +566,14 @@ } }, "node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.347.0.tgz", - "integrity": "sha512-unF0c6dMaUL1ffU+37Ugty43DgMnzPWXr/Jup/8GbK5fzzWT5NQq6dj9KHPubMbWeEjQbmczvhv25JuJdK8gNQ==", - "dependencies": { - "@aws-sdk/middleware-serde": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", - "@aws-sdk/util-middleware": "3.347.0", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.357.0.tgz", + "integrity": "sha512-ScJi0SL8X/Lyi0Fp5blg0QN/Z6PoRwV/ZJXd8dQkXSznkbSvJHfqPP0xk/w3GcQ1TKsu5YEPfeYy8ejcq+7Pgg==", + "dependencies": { + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -581,12 +581,12 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.347.0.tgz", - "integrity": "sha512-kpKmR9OvMlnReqp5sKcJkozbj1wmlblbVSbnQAIkzeQj2xD5dnVR3Nn2ogQKxSmU1Fv7dEroBtrruJ1o3fY38A==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.357.0.tgz", + "integrity": "sha512-HuGLcP7JP1qJ5wGT9GSlEknDaTSnOzHY4T6IPFuvFjAy3PvY5siQNm6+VRqdVS+n6/kzpL3JP5sAVM3aoxHT6Q==", "dependencies": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -594,11 +594,11 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.347.0.tgz", - "integrity": "sha512-NYC+Id5UCkVn+3P1t/YtmHt75uED06vwaKyxDy0UmB2K66PZLVtwWbLpVWrhbroaw1bvUHYcRyQ9NIfnVcXQjA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.357.0.tgz", + "integrity": "sha512-dncT3tr+lZ9+duZo52rASgO6AKVwRcsc2/T93gmaYVrJqI6WWAwQ7yML5s72l9ZjQ5LZ+4jjrgtlufavAS0eCg==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -606,12 +606,12 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.347.0.tgz", - "integrity": "sha512-qfnSvkFKCAMjMHR31NdsT0gv5Sq/ZHTUD4yQsSLpbVQ6iYAS834lrzXt41iyEHt57Y514uG7F/Xfvude3u4icQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.357.0.tgz", + "integrity": "sha512-AXC54IeDS3jC1dbbkYHML4STvBPcKZ4IJTWdjEK1RCOgqXd0Ze1cE1e21wyj1tM6prF03zLyvpBd+3TS++nqfA==", "dependencies": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -619,15 +619,15 @@ } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.347.0.tgz", - "integrity": "sha512-CpdM+8dCSbX96agy4FCzOfzDmhNnGBM/pxrgIVLm5nkYTLuXp/d7ubpFEUHULr+4hCd5wakHotMt7yO29NFaVw==", - "dependencies": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/service-error-classification": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/util-middleware": "3.347.0", - "@aws-sdk/util-retry": "3.347.0", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.357.0.tgz", + "integrity": "sha512-ZCbXCYv3nglQqwREYxxpclrnR9MYPAnHlLcC8e9PbApqxGnaZdhoywxoqbgqT3hf/RM7kput4vEHDl1fyymcRQ==", + "dependencies": { + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/service-error-classification": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", "tslib": "^2.5.0", "uuid": "^8.3.2" }, @@ -636,12 +636,12 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.347.0.tgz", - "integrity": "sha512-38LJ0bkIoVF3W97x6Jyyou72YV9Cfbml4OaDEdnrCOo0EssNZM5d7RhjMvQDwww7/3OBY/BzeOcZKfJlkYUXGw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.357.0.tgz", + "integrity": "sha512-Ng2VjLrPiL02QOcs1qs9jG2boO4Gn+v3VIbOJLG4zXcfbSq55iIWtlmr2ljfw9vP5aLhWtcODfmKHS5Bp+019Q==", "dependencies": { - "@aws-sdk/middleware-signing": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -649,11 +649,11 @@ } }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.347.0.tgz", - "integrity": "sha512-x5Foi7jRbVJXDu9bHfyCbhYDH5pKK+31MmsSJ3k8rY8keXLBxm2XEEg/AIoV9/TUF9EeVvZ7F1/RmMpJnWQsEg==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.357.0.tgz", + "integrity": "sha512-bGI4kYuuEsFjlANbyJLyy4AovETnyf/SukgLOG7Qjbua+ZGuzvRhMsk21mBKKGrnsTO4PmtieJo6xClThGAN8g==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -661,15 +661,15 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.347.0.tgz", - "integrity": "sha512-zVBF/4MGKnvhAE/J+oAL/VAehiyv+trs2dqSQXwHou9j8eA8Vm8HS2NdOwpkZQchIxTuwFlqSusDuPEdYFbvGw==", - "dependencies": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/signature-v4": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/util-middleware": "3.347.0", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.357.0.tgz", + "integrity": "sha512-yB9ewEqI6Fw1OrmKFrUypbCqN5ijk06UGPochybamMuPxxkwMT3bnrm7eezsCA+TZbJyKhpffpyobwuv+xGNrA==", + "dependencies": { + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/signature-v4": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -677,9 +677,9 @@ } }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.347.0.tgz", - "integrity": "sha512-Izidg4rqtYMcKuvn2UzgEpPLSmyd8ub9+LQ2oIzG3mpIzCBITq7wp40jN1iNkMg+X6KEnX9vdMJIYZsPYMCYuQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.357.0.tgz", + "integrity": "sha512-nNV+jfwGwmbOGZujAY/U8AW3EbVlxa9DJDLz3TPp/39o6Vu5KEzHJyDDNreo2k9V/TMvV+nOzHafufgPdagv7w==", "dependencies": { "tslib": "^2.5.0" }, @@ -688,13 +688,13 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.347.0.tgz", - "integrity": "sha512-wJbGN3OE1/daVCrwk49whhIr9E0j1N4gWwN/wi4WuyYIA+5lMUfVp0aGIOvZR+878DxuFz2hQ4XcZVT4K2WvQw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.357.0.tgz", + "integrity": "sha512-M/CsAXjGblZS4rEbMb0Dn9IXbfq4EjVaTHBfvuILU/dKRppWvjnm2lRtqCZ+LIT3ATbAjA3/dY7dWsjxQWwijA==", "dependencies": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -702,13 +702,13 @@ } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.347.0.tgz", - "integrity": "sha512-faU93d3+5uTTUcotGgMXF+sJVFjrKh+ufW+CzYKT4yUHammyaIab/IbTPWy2hIolcEGtuPeVoxXw8TXbkh/tuw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.357.0.tgz", + "integrity": "sha512-kwBIzKCaW3UWqLdELhy7TcN8itNMOjbzga530nalFILMvn2IxrkdKQhNgxGBXy6QK6kCOtH6OmcrG3/oZkLwig==", "dependencies": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -716,14 +716,14 @@ } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.350.0.tgz", - "integrity": "sha512-oD96GAlmpzYilCdC8wwyURM5lNfNHZCjm/kxBkQulHKa2kRbIrnD9GfDqdCkWA5cTpjh1NzGLT4D6e6UFDjt9w==", - "dependencies": { - "@aws-sdk/abort-controller": "3.347.0", - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/querystring-builder": "3.347.0", - "@aws-sdk/types": "3.347.0", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.357.0.tgz", + "integrity": "sha512-uoab4xIJux+Q9hQ9A/vWEAjojtBQ0U4K7xEQVa0BXEv7MHH5zv51H+VtrelU1Ed6hsHq4Sx0bxBMFpbbWhNyjA==", + "dependencies": { + "@aws-sdk/abort-controller": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -731,11 +731,11 @@ } }, "node_modules/@aws-sdk/property-provider": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.347.0.tgz", - "integrity": "sha512-t3nJ8CYPLKAF2v9nIHOHOlF0CviQbTvbFc2L4a+A+EVd/rM4PzL3+3n8ZJsr0h7f6uD04+b5YRFgKgnaqLXlEg==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.357.0.tgz", + "integrity": "sha512-im4W0u8WaYxG7J7ko4Xl3OEzK3Mrm1Rz6/txTGe6hTIHlyUISu1ekOQJXK6XYPqNMn8v1G3BiQREoRXUEJFbHg==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -743,11 +743,11 @@ } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.347.0.tgz", - "integrity": "sha512-2YdBhc02Wvy03YjhGwUxF0UQgrPWEy8Iq75pfS42N+/0B/+eWX1aQgfjFxIpLg7YSjT5eKtYOQGlYd4MFTgj9g==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.357.0.tgz", + "integrity": "sha512-w1JHiI50VEea7duDeAspUiKJmmdIQblvRyjVMOqWA6FIQAyDVuEiPX7/MdQr0ScxhtRQxHbP0I4MFyl7ctRQvA==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -755,11 +755,11 @@ } }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.347.0.tgz", - "integrity": "sha512-phtKTe6FXoV02MoPkIVV6owXI8Mwr5IBN3bPoxhcPvJG2AjEmnetSIrhb8kwc4oNhlwfZwH6Jo5ARW/VEWbZtg==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.357.0.tgz", + "integrity": "sha512-aQcicqB6Y2cNaXPPwunz612a01SMiQQPsdz632F/3Lzn0ua82BJKobHOtaiTUlmVJ5Q4/EAeNfwZgL7tTUNtDQ==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-uri-escape": "3.310.0", "tslib": "^2.5.0" }, @@ -768,11 +768,11 @@ } }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.347.0.tgz", - "integrity": "sha512-5VXOhfZz78T2W7SuXf2avfjKglx1VZgZgp9Zfhrt/Rq+MTu2D+PZc5zmJHhYigD7x83jLSLogpuInQpFMA9LgA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.357.0.tgz", + "integrity": "sha512-Svvq+atRNP9s2VxiklcUNgCzmt3T5kfs7X2C+yjmxHvOQTPjLNaNGbfC/vhjOK7aoXw0h+lBac48r5ymx1PbQA==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -780,19 +780,19 @@ } }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.347.0.tgz", - "integrity": "sha512-xZ3MqSY81Oy2gh5g0fCtooAbahqh9VhsF8vcKjVX8+XPbGC8y+kej82+MsMg4gYL8gRFB9u4hgYbNgIS6JTAvg==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.357.0.tgz", + "integrity": "sha512-VuXeL4g5vKO9HjgCZlxmH8Uv1FcqUSjmbPpQkbNtYIDck6u0qzM0rG+n0/1EjyQbPSr3MhW/pkWs5nx2Nljlyg==", "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.347.0.tgz", - "integrity": "sha512-Xw+zAZQVLb+xMNHChXQ29tzzLqm3AEHsD8JJnlkeFjeMnWQtXdUfOARl5s8NzAppcKQNlVe2gPzjaKjoy2jz1Q==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.357.0.tgz", + "integrity": "sha512-ceyqM4XxQe0Plb/oQAD2t1UOV2Iy4PFe1oAGM8dfJzYrRKu7zvMwru7/WaB3NYq+/mIY6RU+jjhRmjQ3GySVqA==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -800,15 +800,15 @@ } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.347.0.tgz", - "integrity": "sha512-58Uq1do+VsTHYkP11dTK+DF53fguoNNJL9rHRWhzP+OcYv3/mBMLoS2WPz/x9FO5mBg4ESFsug0I6mXbd36tjw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.357.0.tgz", + "integrity": "sha512-itt4/Jh9FqnzK30qIjXFBvM4J7zN4S/AAqsRMnaX7U4f/MV+1YxQHmzimpdMnsCXXs2jqFqKVRu6DewxJ3nbxg==", "dependencies": { - "@aws-sdk/eventstream-codec": "3.347.0", + "@aws-sdk/eventstream-codec": "3.357.0", "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.347.0", + "@aws-sdk/util-middleware": "3.357.0", "@aws-sdk/util-uri-escape": "3.310.0", "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" @@ -818,12 +818,14 @@ } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.347.0.tgz", - "integrity": "sha512-PaGTDsJLGK0sTjA6YdYQzILRlPRN3uVFyqeBUkfltXssvUzkm8z2t1lz2H4VyJLAhwnG5ZuZTNEV/2mcWrU7JQ==", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.358.0.tgz", + "integrity": "sha512-oqctxWb9yAqCh4ENwUkt9MC01l5uKoy+QCiSUUhQ76k7R3lyGOge9ycyRyoKl+oZWvEpnjZevXQFqEfGzkL7bA==", "dependencies": { - "@aws-sdk/middleware-stack": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-stream": "3.358.0", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "engines": { @@ -831,14 +833,14 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.350.0.tgz", - "integrity": "sha512-VIfVMV5An1VQQ6bOKQTHPsRFHD3/YRGOPk9lDTVJGOK0G1DIFYd/10ZaLQ86rCWLck2lGhjxsOen2N2n6MtA0A==", - "dependencies": { - "@aws-sdk/client-sso-oidc": "3.350.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/types": "3.347.0", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.358.0.tgz", + "integrity": "sha512-vATKNCwNhCSo2LzvtkIzW9Yp2/aKNR032VPtIWlDtWGGFhkzGi4FPS0VTdfefxz4rqPWfBz53mh54d9xylsWVw==", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.358.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -846,9 +848,9 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.347.0.tgz", - "integrity": "sha512-GkCMy79mdjU9OTIe5KT58fI/6uqdf8UmMdWqVHmFJ+UpEzOci7L/uw4sOXWo7xpPzLs6cJ7s5ouGZW4GRPmHFA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.357.0.tgz", + "integrity": "sha512-/riCRaXg3p71BeWnShrai0y0QTdXcouPSM0Cn1olZbzTf7s71aLEewrc96qFrL70XhY4XvnxMpqQh+r43XIL3g==", "dependencies": { "tslib": "^2.5.0" }, @@ -857,12 +859,12 @@ } }, "node_modules/@aws-sdk/url-parser": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.347.0.tgz", - "integrity": "sha512-lhrnVjxdV7hl+yCnJfDZOaVLSqKjxN20MIOiijRiqaWGLGEAiSqBreMhL89X1WKCifxAs4zZf9YB9SbdziRpAA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.357.0.tgz", + "integrity": "sha512-fAaU6cFsaAba01lCRsRJiYR/LfXvX2wudyEyutBVglE4dWSoSeu3QJNxImIzTBULfbiFhz59++NQ1JUVx88IVg==", "dependencies": { - "@aws-sdk/querystring-parser": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/querystring-parser": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, @@ -921,12 +923,12 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.347.0.tgz", - "integrity": "sha512-+JHFA4reWnW/nMWwrLKqL2Lm/biw/Dzi/Ix54DAkRZ08C462jMKVnUlzAI+TfxQE3YLm99EIa0G7jiEA+p81Qw==", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.358.0.tgz", + "integrity": "sha512-KGfw64wRL/gROLD4Gatda8cUsaNKNhSnx+yDDcG2WkFlFfLr6FHvTijpRxvIM2Jau2ZhcdGzbegLjsFxviTJAA==", "dependencies": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", "bowser": "^2.11.0", "tslib": "^2.5.0" }, @@ -935,15 +937,15 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.347.0.tgz", - "integrity": "sha512-A8BzIVhAAZE5WEukoAN2kYebzTc99ZgncbwOmgCCbvdaYlk5tzguR/s+uoT4G0JgQGol/4hAMuJEl7elNgU6RQ==", - "dependencies": { - "@aws-sdk/config-resolver": "3.347.0", - "@aws-sdk/credential-provider-imds": "3.347.0", - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.358.0.tgz", + "integrity": "sha512-2C5on0yppDS0xGpFkHRqfrG9TeTq6ive1hPX1V8UCkiI/TBQYl88XCKCKct8zTcejyK9klZUDGI8QQTan2UWkw==", + "dependencies": { + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -951,11 +953,11 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.347.0.tgz", - "integrity": "sha512-/WUkirizeNAqwVj0zkcrqdQ9pUm1HY5kU+qy7xTR0OebkuJauglkmSTMD+56L1JPunWqHhlwCMVRaz5eaJdSEQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.357.0.tgz", + "integrity": "sha512-XHKyS5JClT9su9hDif715jpZiWHQF9gKZXER8tW0gOizU3R9cyWc9EsJ2BRhFNhi7nt/JF/CLUEc5qDx3ETbUw==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -974,9 +976,9 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", - "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", + "version": "3.465.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.465.0.tgz", + "integrity": "sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==", "dependencies": { "tslib": "^2.5.0" }, @@ -985,9 +987,9 @@ } }, "node_modules/@aws-sdk/util-middleware": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.347.0.tgz", - "integrity": "sha512-8owqUA3ePufeYTUvlzdJ7Z0miLorTwx+rNol5lourGQZ9JXsVMo23+yGA7nOlFuXSGkoKpMOtn6S0BT2bcfeiw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.357.0.tgz", + "integrity": "sha512-pV1krjZs7BdahZBfsCJMatE8kcor7GFsBOWrQgQDm9T0We5b5xPpOO2vxAD0RytBpY8Ky2ELs/+qXMv7l5fWIA==", "dependencies": { "tslib": "^2.5.0" }, @@ -996,17 +998,35 @@ } }, "node_modules/@aws-sdk/util-retry": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.347.0.tgz", - "integrity": "sha512-NxnQA0/FHFxriQAeEgBonA43Q9/VPFQa8cfJDuT2A1YZruMasgjcltoZszi1dvoIRWSZsFTW42eY2gdOd0nffQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.357.0.tgz", + "integrity": "sha512-SUqYJE9msbuOVq+vnUy+t0LH7XuYNFz66dSF8q6tedsbJK4j8tgya0I1Ct3m06ynGrXDJMaj39I7AXCyW9bjtw==", "dependencies": { - "@aws-sdk/service-error-classification": "3.347.0", + "@aws-sdk/service-error-classification": "3.357.0", "tslib": "^2.5.0" }, "engines": { "node": ">= 14.0.0" } }, + "node_modules/@aws-sdk/util-stream": { + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream/-/util-stream-3.358.0.tgz", + "integrity": "sha512-zUhpjxAXV2+0eALlTU6uXRYMs10XYpcYzl3NtLRe4wWgnrOOOZnF/t5LQDoKXOfaMdzwZ+i90+PYr+6JQ58+7g==", + "dependencies": { + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/util-uri-escape": { "version": "3.310.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz", @@ -1019,22 +1039,22 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.347.0.tgz", - "integrity": "sha512-ydxtsKVtQefgbk1Dku1q7pMkjDYThauG9/8mQkZUAVik55OUZw71Zzr3XO8J8RKvQG8lmhPXuAQ0FKAyycc0RA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.357.0.tgz", + "integrity": "sha512-JHaWlNIUkPNvXkqeDOrqFzAlAgdwZK5mZw7FQnCRvf8tdSogpGZSkuyb9Z6rLD9gC40Srbc2nepO1cFpeMsDkA==", "dependencies": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.347.0.tgz", - "integrity": "sha512-6X0b9qGsbD1s80PmbaB6v1/ZtLfSx6fjRX8caM7NN0y/ObuLoX8LhYnW6WlB2f1+xb4EjaCNgpP/zCf98MXosw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.357.0.tgz", + "integrity": "sha512-RdpQoaJWQvcS99TVgSbT451iGrlH4qpWUWFA9U1IRhxOSsmC1hz8ME7xc8nci9SREx/ZlfT3ai6LpoAzAtIEMA==", "dependencies": { - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" }, "engines": { @@ -2195,11 +2215,11 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.0.1.tgz", - "integrity": "sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.2.0.tgz", + "integrity": "sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==", "dependencies": { - "@smithy/types": "^1.0.0", + "@smithy/types": "^1.2.0", "tslib": "^2.5.0" }, "engines": { @@ -2207,9 +2227,9 @@ } }, "node_modules/@smithy/types": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz", - "integrity": "sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.2.0.tgz", + "integrity": "sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==", "dependencies": { "tslib": "^2.5.0" }, @@ -4788,9 +4808,9 @@ "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" }, "node_modules/fast-xml-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz", - "integrity": "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", "funding": [ { "type": "paypal", @@ -9202,9 +9222,9 @@ } }, "node_modules/tslib": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -10061,51 +10081,51 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.347.0.tgz", - "integrity": "sha512-P/2qE6ntYEmYG4Ez535nJWZbXqgbkJx8CMz7ChEuEg3Gp3dvVYEKg+iEUEvlqQ2U5dWP5J3ehw5po9t86IsVPQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.357.0.tgz", + "integrity": "sha512-nQYDJon87quPwt2JZJwUN2GFKJnvE5kWb6tZP4xb5biSGUKBqDQo06oYed7yokatCuCMouIXV462aN0fWODtOw==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/client-comprehendmedical": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.350.0.tgz", - "integrity": "sha512-27FwE/CejN+mBGPm7sCLJ2EfzWCOUysy/cxtGBstMPXRvLnxt7ds82YC9iy/vog4dTvCvO0i2AUc6L2nCZgeZw==", + "version": "3.359.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.359.0.tgz", + "integrity": "sha512-xOZdMkoO4WjBgWaAaRzos5te2mIjxdVRf4dachxwe9ij/E3kpKTCBorffxXRNaGGBdrOYhsePA8yPqKh9Zl7jQ==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.350.0", - "@aws-sdk/config-resolver": "3.347.0", - "@aws-sdk/credential-provider-node": "3.350.0", - "@aws-sdk/fetch-http-handler": "3.347.0", - "@aws-sdk/hash-node": "3.347.0", - "@aws-sdk/invalid-dependency": "3.347.0", - "@aws-sdk/middleware-content-length": "3.347.0", - "@aws-sdk/middleware-endpoint": "3.347.0", - "@aws-sdk/middleware-host-header": "3.347.0", - "@aws-sdk/middleware-logger": "3.347.0", - "@aws-sdk/middleware-recursion-detection": "3.347.0", - "@aws-sdk/middleware-retry": "3.347.0", - "@aws-sdk/middleware-serde": "3.347.0", - "@aws-sdk/middleware-signing": "3.347.0", - "@aws-sdk/middleware-stack": "3.347.0", - "@aws-sdk/middleware-user-agent": "3.347.0", - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/node-http-handler": "3.350.0", - "@aws-sdk/smithy-client": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/client-sts": "3.359.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-node": "3.358.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.358.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.347.0", - "@aws-sdk/util-defaults-mode-node": "3.347.0", - "@aws-sdk/util-endpoints": "3.347.0", - "@aws-sdk/util-retry": "3.347.0", - "@aws-sdk/util-user-agent-browser": "3.347.0", - "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-defaults-mode-browser": "3.358.0", + "@aws-sdk/util-defaults-mode-node": "3.358.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", "@aws-sdk/util-utf8": "3.310.0", "@smithy/protocol-http": "^1.0.1", "@smithy/types": "^1.0.0", @@ -10114,39 +10134,39 @@ } }, "@aws-sdk/client-sso": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.350.0.tgz", - "integrity": "sha512-2vpiv6SEjmQGK3ZueGzvTMG6NenjWp0CHjmda71d1Iqr+tZ2UlfC35+3ioU8JP+jiXLL+y9r+SCer3IC8N/i+Q==", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.358.0.tgz", + "integrity": "sha512-Kc9IsoPIHJfkjDuStyItwQAOpnxw/I9xfF3vvukeN9vkXcRiWeMDhEXACN4L1AYFlU9FHQSRdNwpYTIz7OrD2A==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.347.0", - "@aws-sdk/fetch-http-handler": "3.347.0", - "@aws-sdk/hash-node": "3.347.0", - "@aws-sdk/invalid-dependency": "3.347.0", - "@aws-sdk/middleware-content-length": "3.347.0", - "@aws-sdk/middleware-endpoint": "3.347.0", - "@aws-sdk/middleware-host-header": "3.347.0", - "@aws-sdk/middleware-logger": "3.347.0", - "@aws-sdk/middleware-recursion-detection": "3.347.0", - "@aws-sdk/middleware-retry": "3.347.0", - "@aws-sdk/middleware-serde": "3.347.0", - "@aws-sdk/middleware-stack": "3.347.0", - "@aws-sdk/middleware-user-agent": "3.347.0", - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/node-http-handler": "3.350.0", - "@aws-sdk/smithy-client": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.358.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.347.0", - "@aws-sdk/util-defaults-mode-node": "3.347.0", - "@aws-sdk/util-endpoints": "3.347.0", - "@aws-sdk/util-retry": "3.347.0", - "@aws-sdk/util-user-agent-browser": "3.347.0", - "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-defaults-mode-browser": "3.358.0", + "@aws-sdk/util-defaults-mode-node": "3.358.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", "@aws-sdk/util-utf8": "3.310.0", "@smithy/protocol-http": "^1.0.1", "@smithy/types": "^1.0.0", @@ -10154,39 +10174,39 @@ } }, "@aws-sdk/client-sso-oidc": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.350.0.tgz", - "integrity": "sha512-v3UrWIglg9PPzGXqhyGB/qPZ8ifiGM9r4LV8vve1TpiKsUdf1Khtx1eB8yqjNO0vIsYUF+j1C23QT1qAN2DcEA==", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.358.0.tgz", + "integrity": "sha512-Gy09fSlhJdGbr8rNNR8EdLaUynB1B34nw8kN1aFT4CdAnjFKxTainqG6Aq4vx64TbMDMhvMYWpNAluvq7UHVhw==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.347.0", - "@aws-sdk/fetch-http-handler": "3.347.0", - "@aws-sdk/hash-node": "3.347.0", - "@aws-sdk/invalid-dependency": "3.347.0", - "@aws-sdk/middleware-content-length": "3.347.0", - "@aws-sdk/middleware-endpoint": "3.347.0", - "@aws-sdk/middleware-host-header": "3.347.0", - "@aws-sdk/middleware-logger": "3.347.0", - "@aws-sdk/middleware-recursion-detection": "3.347.0", - "@aws-sdk/middleware-retry": "3.347.0", - "@aws-sdk/middleware-serde": "3.347.0", - "@aws-sdk/middleware-stack": "3.347.0", - "@aws-sdk/middleware-user-agent": "3.347.0", - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/node-http-handler": "3.350.0", - "@aws-sdk/smithy-client": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.358.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.347.0", - "@aws-sdk/util-defaults-mode-node": "3.347.0", - "@aws-sdk/util-endpoints": "3.347.0", - "@aws-sdk/util-retry": "3.347.0", - "@aws-sdk/util-user-agent-browser": "3.347.0", - "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-defaults-mode-browser": "3.358.0", + "@aws-sdk/util-defaults-mode-node": "3.358.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", "@aws-sdk/util-utf8": "3.310.0", "@smithy/protocol-http": "^1.0.1", "@smithy/types": "^1.0.0", @@ -10194,189 +10214,189 @@ } }, "@aws-sdk/client-sts": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.350.0.tgz", - "integrity": "sha512-s8RsJ6upWQgeUt8GdV3j3ZeTS7BQXedk77RhZ7wzvVwAjO9wow4uS7Iyic4kS3Y/6d26s0MO2vP4bR6HW6U6ZQ==", + "version": "3.359.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.359.0.tgz", + "integrity": "sha512-zpyui8hXvEUvq8MwzZsm51ni0intvPjtV8dgx10nVJnm605nqrLlAMGqQ1S/UxO7CVmhqWbh5dnGHEc//UJlsw==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.347.0", - "@aws-sdk/credential-provider-node": "3.350.0", - "@aws-sdk/fetch-http-handler": "3.347.0", - "@aws-sdk/hash-node": "3.347.0", - "@aws-sdk/invalid-dependency": "3.347.0", - "@aws-sdk/middleware-content-length": "3.347.0", - "@aws-sdk/middleware-endpoint": "3.347.0", - "@aws-sdk/middleware-host-header": "3.347.0", - "@aws-sdk/middleware-logger": "3.347.0", - "@aws-sdk/middleware-recursion-detection": "3.347.0", - "@aws-sdk/middleware-retry": "3.347.0", - "@aws-sdk/middleware-sdk-sts": "3.347.0", - "@aws-sdk/middleware-serde": "3.347.0", - "@aws-sdk/middleware-signing": "3.347.0", - "@aws-sdk/middleware-stack": "3.347.0", - "@aws-sdk/middleware-user-agent": "3.347.0", - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/node-http-handler": "3.350.0", - "@aws-sdk/smithy-client": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-node": "3.358.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/hash-node": "3.357.0", + "@aws-sdk/invalid-dependency": "3.357.0", + "@aws-sdk/middleware-content-length": "3.357.0", + "@aws-sdk/middleware-endpoint": "3.357.0", + "@aws-sdk/middleware-host-header": "3.357.0", + "@aws-sdk/middleware-logger": "3.357.0", + "@aws-sdk/middleware-recursion-detection": "3.357.0", + "@aws-sdk/middleware-retry": "3.357.0", + "@aws-sdk/middleware-sdk-sts": "3.357.0", + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/middleware-user-agent": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/smithy-client": "3.358.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.347.0", - "@aws-sdk/util-defaults-mode-node": "3.347.0", - "@aws-sdk/util-endpoints": "3.347.0", - "@aws-sdk/util-retry": "3.347.0", - "@aws-sdk/util-user-agent-browser": "3.347.0", - "@aws-sdk/util-user-agent-node": "3.347.0", + "@aws-sdk/util-defaults-mode-browser": "3.358.0", + "@aws-sdk/util-defaults-mode-node": "3.358.0", + "@aws-sdk/util-endpoints": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", + "@aws-sdk/util-user-agent-browser": "3.357.0", + "@aws-sdk/util-user-agent-node": "3.357.0", "@aws-sdk/util-utf8": "3.310.0", "@smithy/protocol-http": "^1.0.1", "@smithy/types": "^1.0.0", - "fast-xml-parser": "4.2.4", + "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" } }, "@aws-sdk/config-resolver": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.347.0.tgz", - "integrity": "sha512-2ja+Sf/VnUO7IQ3nKbDQ5aumYKKJUaTm/BuVJ29wNho8wYHfuf7wHZV0pDTkB8RF5SH7IpHap7zpZAj39Iq+EA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.357.0.tgz", + "integrity": "sha512-cukfg0nX7Tzx/xFyH5F4Eyb8DA1ITCGtSQv4vnEjgUop+bkzckuGLKEeBcBhyZY+aw+2C9CVwIHwIMhRm0ul5w==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.347.0", + "@aws-sdk/util-middleware": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-env": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.347.0.tgz", - "integrity": "sha512-UnEM+LKGpXKzw/1WvYEQsC6Wj9PupYZdQOE+e2Dgy2dqk/pVFy4WueRtFXYDT2B41ppv3drdXUuKZRIDVqIgNQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.357.0.tgz", + "integrity": "sha512-UOecwfqvXgJVqhfWSZ2S44v2Nq2oceW0PQVQp0JAa9opc2rxSVIfyOhPr0yMoPmpyNcP22rgeg6ce70KULYwiA==", "requires": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-imds": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.347.0.tgz", - "integrity": "sha512-7scCy/DCDRLIhlqTxff97LQWDnRwRXji3bxxMg+xWOTTaJe7PWx+etGSbBWaL42vsBHFShQjSLvJryEgoBktpw==", - "requires": { - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.357.0.tgz", + "integrity": "sha512-upw/bfsl7/WydT6gM0lBuR4Ipp4fzYm/E3ObFr0Mg5OkgVPt5ZJE+eeFTvwCpDdBSTKs4JfrK6/iEK8A23Q1jQ==", + "requires": { + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.350.0.tgz", - "integrity": "sha512-mGGU0PpnG0VDNKSuGi083U1egjprrU9/XoRtgf+iYvAKXRR/0XA4pGW5c7zpHY7m4iLhBuRj6N4oxQsH9cMtWg==", - "requires": { - "@aws-sdk/credential-provider-env": "3.347.0", - "@aws-sdk/credential-provider-imds": "3.347.0", - "@aws-sdk/credential-provider-process": "3.347.0", - "@aws-sdk/credential-provider-sso": "3.350.0", - "@aws-sdk/credential-provider-web-identity": "3.347.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/types": "3.347.0", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.358.0.tgz", + "integrity": "sha512-Blmw4bhGxpaYvPmrbRKAltqnNDDSf6ZegNqJasc5OWvAlHJNvB/hYPmyQN0oFy79BXn7PbBip1QaLWaEhJvpAA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/credential-provider-process": "3.357.0", + "@aws-sdk/credential-provider-sso": "3.358.0", + "@aws-sdk/credential-provider-web-identity": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-node": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.350.0.tgz", - "integrity": "sha512-xmqwCFwj/CZPx6AKHNb24Kpr0eHW9VISt9r+SfgH8PaYg5cNyX1pKmMbQCket5ov+WvHEQtOK7aBafak7dhauA==", - "requires": { - "@aws-sdk/credential-provider-env": "3.347.0", - "@aws-sdk/credential-provider-imds": "3.347.0", - "@aws-sdk/credential-provider-ini": "3.350.0", - "@aws-sdk/credential-provider-process": "3.347.0", - "@aws-sdk/credential-provider-sso": "3.350.0", - "@aws-sdk/credential-provider-web-identity": "3.347.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/types": "3.347.0", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.358.0.tgz", + "integrity": "sha512-iLjyRNOT0ycdLqkzXNW+V2zibVljkLjL8j45FpK6mNrAwc/Ynr7EYuRRp5OuRiiYDO3ZoneAxpBJQ5SqmK2Jfg==", + "requires": { + "@aws-sdk/credential-provider-env": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/credential-provider-ini": "3.358.0", + "@aws-sdk/credential-provider-process": "3.357.0", + "@aws-sdk/credential-provider-sso": "3.358.0", + "@aws-sdk/credential-provider-web-identity": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-process": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.347.0.tgz", - "integrity": "sha512-yl1z4MsaBdXd4GQ2halIvYds23S67kElyOwz7g8kaQ4kHj+UoYWxz3JVW/DGusM6XmQ9/F67utBrUVA0uhQYyw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.357.0.tgz", + "integrity": "sha512-qFWWilFPsc2hR7O0KIhwcE78w+pVIK+uQR6MQMfdRyxUndgiuCorJwVjedc3yZtmnoELHF34j+m8whTBXv9E7Q==", "requires": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.350.0.tgz", - "integrity": "sha512-u/3kv+PJeVawzBtWBei+IX1/z50mwhpPe3VrKSTns4CPUw8b5sqIYWkAaw5hxm0td69+xcL98RzIJsEpJc4QSQ==", - "requires": { - "@aws-sdk/client-sso": "3.350.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/token-providers": "3.350.0", - "@aws-sdk/types": "3.347.0", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.358.0.tgz", + "integrity": "sha512-hKu5NshKohSDoHaXKyeCW88J8dBt4TMljrL+WswTMifuThO9ptyMq4PCdl4z7CNjIq6zo3ftc/uNf8TY7Ga8+w==", + "requires": { + "@aws-sdk/client-sso": "3.358.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/token-providers": "3.358.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.347.0.tgz", - "integrity": "sha512-DxoTlVK8lXjS1zVphtz/Ab+jkN/IZor9d6pP2GjJHNoAIIzXfRwwj5C8vr4eTayx/5VJ7GRP91J8GJ2cKly8Qw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.357.0.tgz", + "integrity": "sha512-0KRRAFrXy5HJe2vqnCWCoCS+fQw7IoIj3KQsuURJMW4F+ifisxCgEsh3brJ2LQlN4ElWTRJhlrDHNZ/pd61D4w==", "requires": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/eventstream-codec": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.347.0.tgz", - "integrity": "sha512-61q+SyspjsaQ4sdgjizMyRgVph2CiW4aAtfpoH69EJFJfTxTR/OqnZ9Jx/3YiYi0ksrvDenJddYodfWWJqD8/w==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.357.0.tgz", + "integrity": "sha512-bqenTHG6GH6aCk/Il+ooWXVVAZuc8lOgVEy9bE2hI49oVqT8zSuXxQB+w1WWyZoAOPcelsjayB1wfPub8VDBxQ==", "requires": { "@aws-crypto/crc32": "3.0.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-hex-encoding": "3.310.0", "tslib": "^2.5.0" } }, "@aws-sdk/fetch-http-handler": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.347.0.tgz", - "integrity": "sha512-sQ5P7ivY8//7wdxfA76LT1sF6V2Tyyz1qF6xXf9sihPN5Q1Y65c+SKpMzXyFSPqWZ82+SQQuDliYZouVyS6kQQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.357.0.tgz", + "integrity": "sha512-5sPloTO8y8fAnS/6/Sfp/aVoL9zuhzkLdWBORNzMazdynVNEzWKWCPZ27RQpgkaCDHiXjqUY4kfuFXAGkvFfDQ==", "requires": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/querystring-builder": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-base64": "3.310.0", "tslib": "^2.5.0" } }, "@aws-sdk/hash-node": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.347.0.tgz", - "integrity": "sha512-96+ml/4EaUaVpzBdOLGOxdoXOjkPgkoJp/0i1fxOJEvl8wdAQSwc3IugVK9wZkCxy2DlENtgOe6DfIOhfffm/g==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.357.0.tgz", + "integrity": "sha512-fq3LS9AxHKb7dTZkm6iM1TrGk6XOTZz96iEZPME1+vjiSEXGWuebHt87q92n+KozVGRypn9MId3lHOPBBjygNQ==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-buffer-from": "3.310.0", "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" } }, "@aws-sdk/invalid-dependency": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.347.0.tgz", - "integrity": "sha512-8imQcwLwqZ/wTJXZqzXT9pGLIksTRckhGLZaXT60tiBOPKuerTsus2L59UstLs5LP8TKaVZKFFSsjRIn9dQdmQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.357.0.tgz", + "integrity": "sha512-HnCYZczf0VdyxMVMMxmA3QJAyyPSFbcMtZzgKbxVTWTG7GKpQe0psWZu/7O2Nk31mKg6vEUdiP1FylqLBsgMOA==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, @@ -10389,247 +10409,249 @@ } }, "@aws-sdk/middleware-content-length": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.347.0.tgz", - "integrity": "sha512-i4qtWTDImMaDUtwKQPbaZpXsReiwiBomM1cWymCU4bhz81HL01oIxOxOBuiM+3NlDoCSPr3KI6txZSz/8cqXCQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.357.0.tgz", + "integrity": "sha512-zQOFEyzOXAgN4M54tYNWGxKxnyzY0WwYDTFzh9riJRmxN1hTEKHUKmze4nILIf5rkQmOG4kTf1qmfazjkvZAhw==", "requires": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-endpoint": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.347.0.tgz", - "integrity": "sha512-unF0c6dMaUL1ffU+37Ugty43DgMnzPWXr/Jup/8GbK5fzzWT5NQq6dj9KHPubMbWeEjQbmczvhv25JuJdK8gNQ==", - "requires": { - "@aws-sdk/middleware-serde": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/url-parser": "3.347.0", - "@aws-sdk/util-middleware": "3.347.0", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.357.0.tgz", + "integrity": "sha512-ScJi0SL8X/Lyi0Fp5blg0QN/Z6PoRwV/ZJXd8dQkXSznkbSvJHfqPP0xk/w3GcQ1TKsu5YEPfeYy8ejcq+7Pgg==", + "requires": { + "@aws-sdk/middleware-serde": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-host-header": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.347.0.tgz", - "integrity": "sha512-kpKmR9OvMlnReqp5sKcJkozbj1wmlblbVSbnQAIkzeQj2xD5dnVR3Nn2ogQKxSmU1Fv7dEroBtrruJ1o3fY38A==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.357.0.tgz", + "integrity": "sha512-HuGLcP7JP1qJ5wGT9GSlEknDaTSnOzHY4T6IPFuvFjAy3PvY5siQNm6+VRqdVS+n6/kzpL3JP5sAVM3aoxHT6Q==", "requires": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-logger": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.347.0.tgz", - "integrity": "sha512-NYC+Id5UCkVn+3P1t/YtmHt75uED06vwaKyxDy0UmB2K66PZLVtwWbLpVWrhbroaw1bvUHYcRyQ9NIfnVcXQjA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.357.0.tgz", + "integrity": "sha512-dncT3tr+lZ9+duZo52rASgO6AKVwRcsc2/T93gmaYVrJqI6WWAwQ7yML5s72l9ZjQ5LZ+4jjrgtlufavAS0eCg==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.347.0.tgz", - "integrity": "sha512-qfnSvkFKCAMjMHR31NdsT0gv5Sq/ZHTUD4yQsSLpbVQ6iYAS834lrzXt41iyEHt57Y514uG7F/Xfvude3u4icQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.357.0.tgz", + "integrity": "sha512-AXC54IeDS3jC1dbbkYHML4STvBPcKZ4IJTWdjEK1RCOgqXd0Ze1cE1e21wyj1tM6prF03zLyvpBd+3TS++nqfA==", "requires": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-retry": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.347.0.tgz", - "integrity": "sha512-CpdM+8dCSbX96agy4FCzOfzDmhNnGBM/pxrgIVLm5nkYTLuXp/d7ubpFEUHULr+4hCd5wakHotMt7yO29NFaVw==", - "requires": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/service-error-classification": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/util-middleware": "3.347.0", - "@aws-sdk/util-retry": "3.347.0", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.357.0.tgz", + "integrity": "sha512-ZCbXCYv3nglQqwREYxxpclrnR9MYPAnHlLcC8e9PbApqxGnaZdhoywxoqbgqT3hf/RM7kput4vEHDl1fyymcRQ==", + "requires": { + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/service-error-classification": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", + "@aws-sdk/util-retry": "3.357.0", "tslib": "^2.5.0", "uuid": "^8.3.2" } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.347.0.tgz", - "integrity": "sha512-38LJ0bkIoVF3W97x6Jyyou72YV9Cfbml4OaDEdnrCOo0EssNZM5d7RhjMvQDwww7/3OBY/BzeOcZKfJlkYUXGw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.357.0.tgz", + "integrity": "sha512-Ng2VjLrPiL02QOcs1qs9jG2boO4Gn+v3VIbOJLG4zXcfbSq55iIWtlmr2ljfw9vP5aLhWtcODfmKHS5Bp+019Q==", "requires": { - "@aws-sdk/middleware-signing": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/middleware-signing": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-serde": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.347.0.tgz", - "integrity": "sha512-x5Foi7jRbVJXDu9bHfyCbhYDH5pKK+31MmsSJ3k8rY8keXLBxm2XEEg/AIoV9/TUF9EeVvZ7F1/RmMpJnWQsEg==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.357.0.tgz", + "integrity": "sha512-bGI4kYuuEsFjlANbyJLyy4AovETnyf/SukgLOG7Qjbua+ZGuzvRhMsk21mBKKGrnsTO4PmtieJo6xClThGAN8g==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-signing": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.347.0.tgz", - "integrity": "sha512-zVBF/4MGKnvhAE/J+oAL/VAehiyv+trs2dqSQXwHou9j8eA8Vm8HS2NdOwpkZQchIxTuwFlqSusDuPEdYFbvGw==", - "requires": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/signature-v4": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/util-middleware": "3.347.0", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.357.0.tgz", + "integrity": "sha512-yB9ewEqI6Fw1OrmKFrUypbCqN5ijk06UGPochybamMuPxxkwMT3bnrm7eezsCA+TZbJyKhpffpyobwuv+xGNrA==", + "requires": { + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/signature-v4": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-middleware": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/middleware-stack": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.347.0.tgz", - "integrity": "sha512-Izidg4rqtYMcKuvn2UzgEpPLSmyd8ub9+LQ2oIzG3mpIzCBITq7wp40jN1iNkMg+X6KEnX9vdMJIYZsPYMCYuQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.357.0.tgz", + "integrity": "sha512-nNV+jfwGwmbOGZujAY/U8AW3EbVlxa9DJDLz3TPp/39o6Vu5KEzHJyDDNreo2k9V/TMvV+nOzHafufgPdagv7w==", "requires": { "tslib": "^2.5.0" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.347.0.tgz", - "integrity": "sha512-wJbGN3OE1/daVCrwk49whhIr9E0j1N4gWwN/wi4WuyYIA+5lMUfVp0aGIOvZR+878DxuFz2hQ4XcZVT4K2WvQw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.357.0.tgz", + "integrity": "sha512-M/CsAXjGblZS4rEbMb0Dn9IXbfq4EjVaTHBfvuILU/dKRppWvjnm2lRtqCZ+LIT3ATbAjA3/dY7dWsjxQWwijA==", "requires": { - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/types": "3.347.0", - "@aws-sdk/util-endpoints": "3.347.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-endpoints": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/node-config-provider": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.347.0.tgz", - "integrity": "sha512-faU93d3+5uTTUcotGgMXF+sJVFjrKh+ufW+CzYKT4yUHammyaIab/IbTPWy2hIolcEGtuPeVoxXw8TXbkh/tuw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.357.0.tgz", + "integrity": "sha512-kwBIzKCaW3UWqLdELhy7TcN8itNMOjbzga530nalFILMvn2IxrkdKQhNgxGBXy6QK6kCOtH6OmcrG3/oZkLwig==", "requires": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/node-http-handler": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.350.0.tgz", - "integrity": "sha512-oD96GAlmpzYilCdC8wwyURM5lNfNHZCjm/kxBkQulHKa2kRbIrnD9GfDqdCkWA5cTpjh1NzGLT4D6e6UFDjt9w==", - "requires": { - "@aws-sdk/abort-controller": "3.347.0", - "@aws-sdk/protocol-http": "3.347.0", - "@aws-sdk/querystring-builder": "3.347.0", - "@aws-sdk/types": "3.347.0", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.357.0.tgz", + "integrity": "sha512-uoab4xIJux+Q9hQ9A/vWEAjojtBQ0U4K7xEQVa0BXEv7MHH5zv51H+VtrelU1Ed6hsHq4Sx0bxBMFpbbWhNyjA==", + "requires": { + "@aws-sdk/abort-controller": "3.357.0", + "@aws-sdk/protocol-http": "3.357.0", + "@aws-sdk/querystring-builder": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/property-provider": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.347.0.tgz", - "integrity": "sha512-t3nJ8CYPLKAF2v9nIHOHOlF0CviQbTvbFc2L4a+A+EVd/rM4PzL3+3n8ZJsr0h7f6uD04+b5YRFgKgnaqLXlEg==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.357.0.tgz", + "integrity": "sha512-im4W0u8WaYxG7J7ko4Xl3OEzK3Mrm1Rz6/txTGe6hTIHlyUISu1ekOQJXK6XYPqNMn8v1G3BiQREoRXUEJFbHg==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/protocol-http": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.347.0.tgz", - "integrity": "sha512-2YdBhc02Wvy03YjhGwUxF0UQgrPWEy8Iq75pfS42N+/0B/+eWX1aQgfjFxIpLg7YSjT5eKtYOQGlYd4MFTgj9g==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.357.0.tgz", + "integrity": "sha512-w1JHiI50VEea7duDeAspUiKJmmdIQblvRyjVMOqWA6FIQAyDVuEiPX7/MdQr0ScxhtRQxHbP0I4MFyl7ctRQvA==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/querystring-builder": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.347.0.tgz", - "integrity": "sha512-phtKTe6FXoV02MoPkIVV6owXI8Mwr5IBN3bPoxhcPvJG2AjEmnetSIrhb8kwc4oNhlwfZwH6Jo5ARW/VEWbZtg==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.357.0.tgz", + "integrity": "sha512-aQcicqB6Y2cNaXPPwunz612a01SMiQQPsdz632F/3Lzn0ua82BJKobHOtaiTUlmVJ5Q4/EAeNfwZgL7tTUNtDQ==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-uri-escape": "3.310.0", "tslib": "^2.5.0" } }, "@aws-sdk/querystring-parser": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.347.0.tgz", - "integrity": "sha512-5VXOhfZz78T2W7SuXf2avfjKglx1VZgZgp9Zfhrt/Rq+MTu2D+PZc5zmJHhYigD7x83jLSLogpuInQpFMA9LgA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.357.0.tgz", + "integrity": "sha512-Svvq+atRNP9s2VxiklcUNgCzmt3T5kfs7X2C+yjmxHvOQTPjLNaNGbfC/vhjOK7aoXw0h+lBac48r5ymx1PbQA==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/service-error-classification": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.347.0.tgz", - "integrity": "sha512-xZ3MqSY81Oy2gh5g0fCtooAbahqh9VhsF8vcKjVX8+XPbGC8y+kej82+MsMg4gYL8gRFB9u4hgYbNgIS6JTAvg==" + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.357.0.tgz", + "integrity": "sha512-VuXeL4g5vKO9HjgCZlxmH8Uv1FcqUSjmbPpQkbNtYIDck6u0qzM0rG+n0/1EjyQbPSr3MhW/pkWs5nx2Nljlyg==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.347.0.tgz", - "integrity": "sha512-Xw+zAZQVLb+xMNHChXQ29tzzLqm3AEHsD8JJnlkeFjeMnWQtXdUfOARl5s8NzAppcKQNlVe2gPzjaKjoy2jz1Q==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.357.0.tgz", + "integrity": "sha512-ceyqM4XxQe0Plb/oQAD2t1UOV2Iy4PFe1oAGM8dfJzYrRKu7zvMwru7/WaB3NYq+/mIY6RU+jjhRmjQ3GySVqA==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/signature-v4": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.347.0.tgz", - "integrity": "sha512-58Uq1do+VsTHYkP11dTK+DF53fguoNNJL9rHRWhzP+OcYv3/mBMLoS2WPz/x9FO5mBg4ESFsug0I6mXbd36tjw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.357.0.tgz", + "integrity": "sha512-itt4/Jh9FqnzK30qIjXFBvM4J7zN4S/AAqsRMnaX7U4f/MV+1YxQHmzimpdMnsCXXs2jqFqKVRu6DewxJ3nbxg==", "requires": { - "@aws-sdk/eventstream-codec": "3.347.0", + "@aws-sdk/eventstream-codec": "3.357.0", "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.347.0", + "@aws-sdk/util-middleware": "3.357.0", "@aws-sdk/util-uri-escape": "3.310.0", "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" } }, "@aws-sdk/smithy-client": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.347.0.tgz", - "integrity": "sha512-PaGTDsJLGK0sTjA6YdYQzILRlPRN3uVFyqeBUkfltXssvUzkm8z2t1lz2H4VyJLAhwnG5ZuZTNEV/2mcWrU7JQ==", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.358.0.tgz", + "integrity": "sha512-oqctxWb9yAqCh4ENwUkt9MC01l5uKoy+QCiSUUhQ76k7R3lyGOge9ycyRyoKl+oZWvEpnjZevXQFqEfGzkL7bA==", "requires": { - "@aws-sdk/middleware-stack": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/middleware-stack": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-stream": "3.358.0", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" } }, "@aws-sdk/token-providers": { - "version": "3.350.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.350.0.tgz", - "integrity": "sha512-VIfVMV5An1VQQ6bOKQTHPsRFHD3/YRGOPk9lDTVJGOK0G1DIFYd/10ZaLQ86rCWLck2lGhjxsOen2N2n6MtA0A==", - "requires": { - "@aws-sdk/client-sso-oidc": "3.350.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/shared-ini-file-loader": "3.347.0", - "@aws-sdk/types": "3.347.0", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.358.0.tgz", + "integrity": "sha512-vATKNCwNhCSo2LzvtkIzW9Yp2/aKNR032VPtIWlDtWGGFhkzGi4FPS0VTdfefxz4rqPWfBz53mh54d9xylsWVw==", + "requires": { + "@aws-sdk/client-sso-oidc": "3.358.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/shared-ini-file-loader": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/types": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.347.0.tgz", - "integrity": "sha512-GkCMy79mdjU9OTIe5KT58fI/6uqdf8UmMdWqVHmFJ+UpEzOci7L/uw4sOXWo7xpPzLs6cJ7s5ouGZW4GRPmHFA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.357.0.tgz", + "integrity": "sha512-/riCRaXg3p71BeWnShrai0y0QTdXcouPSM0Cn1olZbzTf7s71aLEewrc96qFrL70XhY4XvnxMpqQh+r43XIL3g==", "requires": { "tslib": "^2.5.0" } }, "@aws-sdk/url-parser": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.347.0.tgz", - "integrity": "sha512-lhrnVjxdV7hl+yCnJfDZOaVLSqKjxN20MIOiijRiqaWGLGEAiSqBreMhL89X1WKCifxAs4zZf9YB9SbdziRpAA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.357.0.tgz", + "integrity": "sha512-fAaU6cFsaAba01lCRsRJiYR/LfXvX2wudyEyutBVglE4dWSoSeu3QJNxImIzTBULfbiFhz59++NQ1JUVx88IVg==", "requires": { - "@aws-sdk/querystring-parser": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/querystring-parser": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, @@ -10676,35 +10698,35 @@ } }, "@aws-sdk/util-defaults-mode-browser": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.347.0.tgz", - "integrity": "sha512-+JHFA4reWnW/nMWwrLKqL2Lm/biw/Dzi/Ix54DAkRZ08C462jMKVnUlzAI+TfxQE3YLm99EIa0G7jiEA+p81Qw==", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.358.0.tgz", + "integrity": "sha512-KGfw64wRL/gROLD4Gatda8cUsaNKNhSnx+yDDcG2WkFlFfLr6FHvTijpRxvIM2Jau2ZhcdGzbegLjsFxviTJAA==", "requires": { - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.347.0.tgz", - "integrity": "sha512-A8BzIVhAAZE5WEukoAN2kYebzTc99ZgncbwOmgCCbvdaYlk5tzguR/s+uoT4G0JgQGol/4hAMuJEl7elNgU6RQ==", - "requires": { - "@aws-sdk/config-resolver": "3.347.0", - "@aws-sdk/credential-provider-imds": "3.347.0", - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/property-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.358.0.tgz", + "integrity": "sha512-2C5on0yppDS0xGpFkHRqfrG9TeTq6ive1hPX1V8UCkiI/TBQYl88XCKCKct8zTcejyK9klZUDGI8QQTan2UWkw==", + "requires": { + "@aws-sdk/config-resolver": "3.357.0", + "@aws-sdk/credential-provider-imds": "3.357.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/property-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, "@aws-sdk/util-endpoints": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.347.0.tgz", - "integrity": "sha512-/WUkirizeNAqwVj0zkcrqdQ9pUm1HY5kU+qy7xTR0OebkuJauglkmSTMD+56L1JPunWqHhlwCMVRaz5eaJdSEQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.357.0.tgz", + "integrity": "sha512-XHKyS5JClT9su9hDif715jpZiWHQF9gKZXER8tW0gOizU3R9cyWc9EsJ2BRhFNhi7nt/JF/CLUEc5qDx3ETbUw==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, @@ -10717,27 +10739,42 @@ } }, "@aws-sdk/util-locate-window": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", - "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", + "version": "3.465.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.465.0.tgz", + "integrity": "sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==", "requires": { "tslib": "^2.5.0" } }, "@aws-sdk/util-middleware": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.347.0.tgz", - "integrity": "sha512-8owqUA3ePufeYTUvlzdJ7Z0miLorTwx+rNol5lourGQZ9JXsVMo23+yGA7nOlFuXSGkoKpMOtn6S0BT2bcfeiw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.357.0.tgz", + "integrity": "sha512-pV1krjZs7BdahZBfsCJMatE8kcor7GFsBOWrQgQDm9T0We5b5xPpOO2vxAD0RytBpY8Ky2ELs/+qXMv7l5fWIA==", "requires": { "tslib": "^2.5.0" } }, "@aws-sdk/util-retry": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.347.0.tgz", - "integrity": "sha512-NxnQA0/FHFxriQAeEgBonA43Q9/VPFQa8cfJDuT2A1YZruMasgjcltoZszi1dvoIRWSZsFTW42eY2gdOd0nffQ==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.357.0.tgz", + "integrity": "sha512-SUqYJE9msbuOVq+vnUy+t0LH7XuYNFz66dSF8q6tedsbJK4j8tgya0I1Ct3m06ynGrXDJMaj39I7AXCyW9bjtw==", + "requires": { + "@aws-sdk/service-error-classification": "3.357.0", + "tslib": "^2.5.0" + } + }, + "@aws-sdk/util-stream": { + "version": "3.358.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream/-/util-stream-3.358.0.tgz", + "integrity": "sha512-zUhpjxAXV2+0eALlTU6uXRYMs10XYpcYzl3NtLRe4wWgnrOOOZnF/t5LQDoKXOfaMdzwZ+i90+PYr+6JQ58+7g==", "requires": { - "@aws-sdk/service-error-classification": "3.347.0", + "@aws-sdk/fetch-http-handler": "3.357.0", + "@aws-sdk/node-http-handler": "3.357.0", + "@aws-sdk/types": "3.357.0", + "@aws-sdk/util-base64": "3.310.0", + "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" } }, @@ -10750,22 +10787,22 @@ } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.347.0.tgz", - "integrity": "sha512-ydxtsKVtQefgbk1Dku1q7pMkjDYThauG9/8mQkZUAVik55OUZw71Zzr3XO8J8RKvQG8lmhPXuAQ0FKAyycc0RA==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.357.0.tgz", + "integrity": "sha512-JHaWlNIUkPNvXkqeDOrqFzAlAgdwZK5mZw7FQnCRvf8tdSogpGZSkuyb9Z6rLD9gC40Srbc2nepO1cFpeMsDkA==", "requires": { - "@aws-sdk/types": "3.347.0", + "@aws-sdk/types": "3.357.0", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.347.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.347.0.tgz", - "integrity": "sha512-6X0b9qGsbD1s80PmbaB6v1/ZtLfSx6fjRX8caM7NN0y/ObuLoX8LhYnW6WlB2f1+xb4EjaCNgpP/zCf98MXosw==", + "version": "3.357.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.357.0.tgz", + "integrity": "sha512-RdpQoaJWQvcS99TVgSbT451iGrlH4qpWUWFA9U1IRhxOSsmC1hz8ME7xc8nci9SREx/ZlfT3ai6LpoAzAtIEMA==", "requires": { - "@aws-sdk/node-config-provider": "3.347.0", - "@aws-sdk/types": "3.347.0", + "@aws-sdk/node-config-provider": "3.357.0", + "@aws-sdk/types": "3.357.0", "tslib": "^2.5.0" } }, @@ -11669,18 +11706,18 @@ } }, "@smithy/protocol-http": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.0.1.tgz", - "integrity": "sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.2.0.tgz", + "integrity": "sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==", "requires": { - "@smithy/types": "^1.0.0", + "@smithy/types": "^1.2.0", "tslib": "^2.5.0" } }, "@smithy/types": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz", - "integrity": "sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.2.0.tgz", + "integrity": "sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==", "requires": { "tslib": "^2.5.0" } @@ -13694,9 +13731,9 @@ "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" }, "fast-xml-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz", - "integrity": "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", "requires": { "strnum": "^1.0.5" } @@ -16950,9 +16987,9 @@ } }, "tslib": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", - "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "tsutils": { "version": "3.21.0", diff --git a/package.json b/package.json index ae2395e..0c90dd8 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "author": "Kiran Kharade", "license": "ISC", "dependencies": { - "@aws-sdk/client-comprehendmedical": "^3.282.0", + "@aws-sdk/client-comprehendmedical": "^3.359.0", "@types/adm-zip": "^0.4.34", "@types/bcryptjs": "^2.4.2", "@types/express": "^4.17.17", From ea6fd8933ee4c1b055c510168c7b13b12340c7a3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Dec 2023 13:17:43 +0000 Subject: [PATCH 155/169] Bump axios from 0.26.1 to 1.6.0 Bumps [axios](https://github.com/axios/axios) from 0.26.1 to 1.6.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v0.26.1...v1.6.0) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- package-lock.json | 85 +++++++++++++++++++++++++++++++++++++---------- package.json | 2 +- 2 files changed, 68 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index c3f8828..c45b0e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "ansi-regex": "^6.0.1", "approx-string-match": "^1.1.0", "aws-sdk": "^2.1328.0", - "axios": "^0.26.1", + "axios": "^1.6.0", "bcryptjs": "^2.4.3", "body-parser": "^1.19.0", "check-password-strength": "^2.0.5", @@ -3022,8 +3022,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "node_modules/available-typed-arrays": { "version": "1.0.5", @@ -3065,11 +3064,26 @@ } }, "node_modules/axios": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", + "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", "dependencies": { - "follow-redirects": "^1.14.8" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, "node_modules/babel-jest": { @@ -3622,7 +3636,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -3865,7 +3878,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -7907,6 +7919,11 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -9275,6 +9292,14 @@ "node": ">=6.0" } }, + "node_modules/twilio/node_modules/axios": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "dependencies": { + "follow-redirects": "^1.14.8" + } + }, "node_modules/twilio/node_modules/jsonwebtoken": { "version": "8.5.1", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", @@ -12330,8 +12355,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "available-typed-arrays": { "version": "1.0.5", @@ -12363,11 +12387,25 @@ } }, "axios": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", + "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", "requires": { - "follow-redirects": "^1.14.8" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } } }, "babel-jest": { @@ -12785,7 +12823,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -12975,8 +13012,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "denque": { "version": "2.0.1", @@ -16047,6 +16083,11 @@ "ipaddr.js": "1.9.1" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -17012,6 +17053,14 @@ "xmlbuilder": "^13.0.2" }, "dependencies": { + "axios": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "requires": { + "follow-redirects": "^1.14.8" + } + }, "jsonwebtoken": { "version": "8.5.1", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", diff --git a/package.json b/package.json index ae2395e..c1d620a 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "ansi-regex": "^6.0.1", "approx-string-match": "^1.1.0", "aws-sdk": "^2.1328.0", - "axios": "^0.26.1", + "axios": "^1.6.0", "bcryptjs": "^2.4.3", "body-parser": "^1.19.0", "check-password-strength": "^2.0.5", From efc287737a2c0d529e4b11b3c13867bd93dcbb33 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Dec 2023 13:17:43 +0000 Subject: [PATCH 156/169] Bump @babel/traverse from 7.17.10 to 7.23.5 Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.17.10 to 7.23.5. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.5/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 606 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 452 insertions(+), 154 deletions(-) diff --git a/package-lock.json b/package-lock.json index c3f8828..e5377eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1139,19 +1139,34 @@ } }, "node_modules/@babel/generator": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", - "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", + "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", "dev": true, "dependencies": { - "@babel/types": "^7.17.10", - "@jridgewell/gen-mapping": "^0.1.0", + "@babel/types": "^7.23.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@babel/helper-compilation-targets": { "version": "7.17.10", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", @@ -1180,37 +1195,34 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1269,21 +1281,30 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" @@ -1313,13 +1334,13 @@ } }, "node_modules/@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -1398,9 +1419,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", - "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", + "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1572,45 +1593,117 @@ } }, "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template/node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz", - "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==", + "node_modules/@babel/template/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.10", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.10", - "@babel/types": "^7.17.10", + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/template/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/template/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/template/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/template/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/template/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/template/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", + "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.5", + "@babel/types": "^7.23.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1619,17 +1712,68 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/traverse/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/traverse/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -1639,13 +1783,35 @@ "node": ">=4" } }, + "node_modules/@babel/traverse/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", - "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", + "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2090,9 +2256,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, "engines": { "node": ">=6.0.0" @@ -2108,19 +2274,19 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.10.tgz", - "integrity": "sha512-Q0YbBd6OTsXm8Y21+YUSDXupHnodNC2M4O18jtd3iwJ3+vMZNdKGols0a9G6JOK0dcJ3IdUUHoh908ZI6qhk8Q==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@nodelib/fs.scandir": { @@ -10842,14 +11008,28 @@ } }, "@babel/generator": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", - "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", + "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", "dev": true, "requires": { - "@babel/types": "^7.17.10", - "@jridgewell/gen-mapping": "^0.1.0", + "@babel/types": "^7.23.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, "@babel/helper-compilation-targets": { @@ -10873,31 +11053,28 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true }, "@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" } }, "@babel/helper-module-imports": { @@ -10941,18 +11118,24 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" } }, + "@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true }, "@babel/helper-validator-option": { @@ -10973,13 +11156,13 @@ } }, "@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "dependencies": { @@ -11042,9 +11225,9 @@ } }, "@babel/parser": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", - "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", + "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", "dev": true }, "@babel/plugin-syntax-async-generators": { @@ -11165,69 +11348,184 @@ } }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "dependencies": { "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" } } } }, "@babel/traverse": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz", - "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.10", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.10", - "@babel/types": "^7.17.10", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", + "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.5", + "@babel/types": "^7.23.5", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, "@babel/types": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", - "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", + "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, @@ -11579,9 +11877,9 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true }, "@jridgewell/set-array": { @@ -11591,19 +11889,19 @@ "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.10.tgz", - "integrity": "sha512-Q0YbBd6OTsXm8Y21+YUSDXupHnodNC2M4O18jtd3iwJ3+vMZNdKGols0a9G6JOK0dcJ3IdUUHoh908ZI6qhk8Q==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@nodelib/fs.scandir": { From 956e540228d658072c84c2b28a219343e3129e1a Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Fri, 5 Jan 2024 18:46:39 +0000 Subject: [PATCH 157/169] fix: package.json & package-lock.json to reduce vulnerabilities The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-AXIOS-6144788 --- package-lock.json | 348 ++++++++++------------------------------------ package.json | 4 +- 2 files changed, 79 insertions(+), 273 deletions(-) diff --git a/package-lock.json b/package-lock.json index c3f8828..1db1408 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "ansi-regex": "^6.0.1", "approx-string-match": "^1.1.0", "aws-sdk": "^2.1328.0", - "axios": "^0.26.1", + "axios": "^1.6.4", "bcryptjs": "^2.4.3", "body-parser": "^1.19.0", "check-password-strength": "^2.0.5", @@ -51,7 +51,7 @@ "sleep": "^6.3.0", "timezone-support": "^2.0.2", "tsyringe": "^4.6.0", - "twilio": "^3.67.2", + "twilio": "^4.19.3", "uuid": "^8.3.2", "uuid-apikey": "^1.5.3" }, @@ -3005,11 +3005,6 @@ "node": ">=8" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -3022,8 +3017,7 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "node_modules/available-typed-arrays": { "version": "1.0.5", @@ -3065,11 +3059,26 @@ } }, "node_modules/axios": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.4.tgz", + "integrity": "sha512-heJnIs6N4aa1eSthhN9M5ioILu8Wi8vmQW9iHQ9NUvfkJb0lEEDUiIdQNAuBtfUt3FxReaKdpQA5DbmMOqzF/A==", "dependencies": { - "follow-redirects": "^1.14.8" + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" } }, "node_modules/babel-jest": { @@ -3622,7 +3631,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -3776,9 +3784,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.1.tgz", - "integrity": "sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==" + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" }, "node_modules/debug": { "version": "4.3.4", @@ -3865,7 +3873,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -4912,9 +4919,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", "funding": [ { "type": "individual", @@ -6820,36 +6827,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" - }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -6862,11 +6839,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" - }, "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", @@ -7753,11 +7725,6 @@ "node": ">=8" } }, - "node_modules/pop-iterate": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pop-iterate/-/pop-iterate-1.0.1.tgz", - "integrity": "sha1-zqz9q0q/NT16DyqqLB/Hs/lBO6M=" - }, "node_modules/postgres-array": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", @@ -7907,6 +7874,11 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -7936,16 +7908,6 @@ "node": ">=6" } }, - "node_modules/q": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/q/-/q-2.0.3.tgz", - "integrity": "sha1-dbjbAlWhpa+C9Yw/Oqoe/sfQ0TQ=", - "dependencies": { - "asap": "^2.0.0", - "pop-iterate": "^1.0.1", - "weak-map": "^1.0.5" - } - }, "node_modules/qs": { "version": "6.10.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", @@ -8211,11 +8173,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rootpath": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/rootpath/-/rootpath-0.1.2.tgz", - "integrity": "sha1-Wzeah9ypBum5HWkKWZQ5vvJn6ms=" - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -9255,72 +9212,21 @@ } }, "node_modules/twilio": { - "version": "3.77.0", - "resolved": "https://registry.npmjs.org/twilio/-/twilio-3.77.0.tgz", - "integrity": "sha512-jacZBKSzRBIoTdJv43U5bftdY9ptPAisH/ydd0k0ggja+GoecvCZ4MaoTgHRGDD2tR9srsw7U1nQCrqw0elobg==", + "version": "4.19.3", + "resolved": "https://registry.npmjs.org/twilio/-/twilio-4.19.3.tgz", + "integrity": "sha512-3X5Czl9Vg4QFl+2pnfMQ+H8YfEDQ4WeuAmqjUpbK65x0DfmxTCHuPEFWUKVZCJZew6iltJB/1whhVvIKETe54A==", "dependencies": { - "axios": "^0.26.1", - "dayjs": "^1.8.29", + "axios": "^1.6.0", + "dayjs": "^1.11.9", "https-proxy-agent": "^5.0.0", - "jsonwebtoken": "^8.5.1", - "lodash": "^4.17.21", - "q": "2.0.x", + "jsonwebtoken": "^9.0.0", "qs": "^6.9.4", - "rootpath": "^0.1.2", "scmp": "^2.1.0", "url-parse": "^1.5.9", "xmlbuilder": "^13.0.2" }, "engines": { - "node": ">=6.0" - } - }, - "node_modules/twilio/node_modules/jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=4", - "npm": ">=1.4.28" - } - }, - "node_modules/twilio/node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/twilio/node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/twilio/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" + "node": ">=14.0" } }, "node_modules/type-check": { @@ -9600,11 +9506,6 @@ "makeerror": "1.0.12" } }, - "node_modules/weak-map": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", - "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==" - }, "node_modules/webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", @@ -12316,11 +12217,6 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -12330,8 +12226,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "available-typed-arrays": { "version": "1.0.5", @@ -12363,11 +12258,25 @@ } }, "axios": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.4.tgz", + "integrity": "sha512-heJnIs6N4aa1eSthhN9M5ioILu8Wi8vmQW9iHQ9NUvfkJb0lEEDUiIdQNAuBtfUt3FxReaKdpQA5DbmMOqzF/A==", "requires": { - "follow-redirects": "^1.14.8" + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } } }, "babel-jest": { @@ -12785,7 +12694,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -12913,9 +12821,9 @@ } }, "dayjs": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.1.tgz", - "integrity": "sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==" + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" }, "debug": { "version": "4.3.4", @@ -12975,8 +12883,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "denque": { "version": "2.0.1", @@ -13792,9 +13699,9 @@ "dev": true }, "follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" }, "for-each": { "version": "0.3.3", @@ -15217,36 +15124,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" - }, - "lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" - }, - "lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" - }, - "lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" - }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -15259,11 +15136,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" - }, "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", @@ -15939,11 +15811,6 @@ } } }, - "pop-iterate": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pop-iterate/-/pop-iterate-1.0.1.tgz", - "integrity": "sha1-zqz9q0q/NT16DyqqLB/Hs/lBO6M=" - }, "postgres-array": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", @@ -16047,6 +15914,11 @@ "ipaddr.js": "1.9.1" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -16073,16 +15945,6 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, - "q": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/q/-/q-2.0.3.tgz", - "integrity": "sha1-dbjbAlWhpa+C9Yw/Oqoe/sfQ0TQ=", - "requires": { - "asap": "^2.0.0", - "pop-iterate": "^1.0.1", - "weak-map": "^1.0.5" - } - }, "qs": { "version": "6.10.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", @@ -16264,11 +16126,6 @@ "glob": "^7.1.3" } }, - "rootpath": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/rootpath/-/rootpath-0.1.2.tgz", - "integrity": "sha1-Wzeah9ypBum5HWkKWZQ5vvJn6ms=" - }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -16995,64 +16852,18 @@ } }, "twilio": { - "version": "3.77.0", - "resolved": "https://registry.npmjs.org/twilio/-/twilio-3.77.0.tgz", - "integrity": "sha512-jacZBKSzRBIoTdJv43U5bftdY9ptPAisH/ydd0k0ggja+GoecvCZ4MaoTgHRGDD2tR9srsw7U1nQCrqw0elobg==", + "version": "4.19.3", + "resolved": "https://registry.npmjs.org/twilio/-/twilio-4.19.3.tgz", + "integrity": "sha512-3X5Czl9Vg4QFl+2pnfMQ+H8YfEDQ4WeuAmqjUpbK65x0DfmxTCHuPEFWUKVZCJZew6iltJB/1whhVvIKETe54A==", "requires": { - "axios": "^0.26.1", - "dayjs": "^1.8.29", + "axios": "^1.6.0", + "dayjs": "^1.11.9", "https-proxy-agent": "^5.0.0", - "jsonwebtoken": "^8.5.1", - "lodash": "^4.17.21", - "q": "2.0.x", + "jsonwebtoken": "^9.0.0", "qs": "^6.9.4", - "rootpath": "^0.1.2", "scmp": "^2.1.0", "url-parse": "^1.5.9", "xmlbuilder": "^13.0.2" - }, - "dependencies": { - "jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "requires": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - } - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } } }, "type-check": { @@ -17280,11 +17091,6 @@ "makeerror": "1.0.12" } }, - "weak-map": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", - "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==" - }, "webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", diff --git a/package.json b/package.json index ae2395e..79290e8 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "ansi-regex": "^6.0.1", "approx-string-match": "^1.1.0", "aws-sdk": "^2.1328.0", - "axios": "^0.26.1", + "axios": "^1.6.4", "bcryptjs": "^2.4.3", "body-parser": "^1.19.0", "check-password-strength": "^2.0.5", @@ -60,7 +60,7 @@ "sleep": "^6.3.0", "timezone-support": "^2.0.2", "tsyringe": "^4.6.0", - "twilio": "^3.67.2", + "twilio": "^4.19.3", "uuid": "^8.3.2", "uuid-apikey": "^1.5.3" }, From a93973f8622e49aa68446b78fbb6d8ebabc05cae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:45:07 +0000 Subject: [PATCH 158/169] Bump follow-redirects from 1.15.0 to 1.15.4 Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.0 to 1.15.4. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.0...v1.15.4) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index c3f8828..8053bc3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4912,9 +4912,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", "funding": [ { "type": "individual", @@ -13792,9 +13792,9 @@ "dev": true }, "follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" }, "for-each": { "version": "0.3.3", From e8646d7ed83fa98bb91d984abbb3bd6f9a02a7b6 Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Mon, 19 Feb 2024 17:19:18 +0000 Subject: [PATCH 159/169] fix: upgrade @aws-sdk/client-comprehendmedical from 3.359.0 to 3.501.0 Snyk has created this PR to upgrade @aws-sdk/client-comprehendmedical from 3.359.0 to 3.501.0. See this package in npm: https://www.npmjs.com/package/@aws-sdk/client-comprehendmedical See this project in Snyk: https://app.snyk.io/org/rf-opssupport/project/299a0289-70f0-4381-acc9-5a2a4d85ec08?utm_source=github&utm_medium=referral&page=upgrade-pr --- package-lock.json | 2957 +++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 1545 insertions(+), 1414 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5b8e616..b6fa3f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@aws-sdk/client-comprehendmedical": "^3.359.0", + "@aws-sdk/client-comprehendmedical": "^3.501.0", "@types/adm-zip": "^0.4.34", "@types/bcryptjs": "^2.4.2", "@types/express": "^4.17.17", @@ -179,58 +179,49 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/@aws-sdk/abort-controller": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.357.0.tgz", - "integrity": "sha512-nQYDJon87quPwt2JZJwUN2GFKJnvE5kWb6tZP4xb5biSGUKBqDQo06oYed7yokatCuCMouIXV462aN0fWODtOw==", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/client-comprehendmedical": { - "version": "3.359.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.359.0.tgz", - "integrity": "sha512-xOZdMkoO4WjBgWaAaRzos5te2mIjxdVRf4dachxwe9ij/E3kpKTCBorffxXRNaGGBdrOYhsePA8yPqKh9Zl7jQ==", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.501.0.tgz", + "integrity": "sha512-Wy/QNOis9hJa+UCCe6gStKM9eBvJumwobC2Yr15M9Ti1AnWiM4GI4Yo9OH4ewV3x03pDqZBE7bYkFKjK3si4GA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.359.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-node": "3.358.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.358.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.358.0", - "@aws-sdk/util-defaults-mode-node": "3.358.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", + "@aws-sdk/client-sts": "3.501.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/credential-provider-node": "3.501.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-signing": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0", "uuid": "^8.3.2" }, @@ -239,85 +230,46 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.358.0.tgz", - "integrity": "sha512-Kc9IsoPIHJfkjDuStyItwQAOpnxw/I9xfF3vvukeN9vkXcRiWeMDhEXACN4L1AYFlU9FHQSRdNwpYTIz7OrD2A==", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.358.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.358.0", - "@aws-sdk/util-defaults-mode-node": "3.358.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.358.0.tgz", - "integrity": "sha512-Gy09fSlhJdGbr8rNNR8EdLaUynB1B34nw8kN1aFT4CdAnjFKxTainqG6Aq4vx64TbMDMhvMYWpNAluvq7UHVhw==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.496.0.tgz", + "integrity": "sha512-fuaMuxKg7CMUsP9l3kxYWCOxFsBjdA0xj5nlikaDm1661/gB4KkAiGqRY8LsQkpNXvXU8Nj+f7oCFADFyGYzyw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.358.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.358.0", - "@aws-sdk/util-defaults-mode-node": "3.358.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -325,45 +277,48 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.359.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.359.0.tgz", - "integrity": "sha512-zpyui8hXvEUvq8MwzZsm51ni0intvPjtV8dgx10nVJnm605nqrLlAMGqQ1S/UxO7CVmhqWbh5dnGHEc//UJlsw==", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.501.0.tgz", + "integrity": "sha512-Uwc/xuxsA46dZS5s+4U703LBNDrGpWF7RB4XYEEMD21BLfGuqntxLLQux8xxKt3Pcur0CsXNja5jXt3uLnE5MA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-node": "3.358.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-sdk-sts": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.358.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.358.0", - "@aws-sdk/util-defaults-mode-node": "3.358.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/credential-provider-node": "3.501.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" }, @@ -371,14 +326,16 @@ "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/config-resolver": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.357.0.tgz", - "integrity": "sha512-cukfg0nX7Tzx/xFyH5F4Eyb8DA1ITCGtSQv4vnEjgUop+bkzckuGLKEeBcBhyZY+aw+2C9CVwIHwIMhRm0ul5w==", + "node_modules/@aws-sdk/core": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.496.0.tgz", + "integrity": "sha512-yT+ug7Cw/3eJi7x2es0+46x12+cIJm5Xv+GPWsrTFD1TKgqO/VPEgfDtHFagDNbFmjNQA65Ygc/kEdIX9ICX/A==", "dependencies": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.357.0", + "@smithy/core": "^1.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/signature-v4": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -386,27 +343,13 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.357.0.tgz", - "integrity": "sha512-UOecwfqvXgJVqhfWSZ2S44v2Nq2oceW0PQVQp0JAa9opc2rxSVIfyOhPr0yMoPmpyNcP22rgeg6ce70KULYwiA==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.496.0.tgz", + "integrity": "sha512-lukQMJ8SWWP5RqkRNOHi/H+WMhRvSWa3Fc5Jf/VP6xHiPLfF1XafcvthtV91e0VwPCiseI+HqChrcGq8pvnxHw==", "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.357.0.tgz", - "integrity": "sha512-upw/bfsl7/WydT6gM0lBuR4Ipp4fzYm/E3ObFr0Mg5OkgVPt5ZJE+eeFTvwCpDdBSTKs4JfrK6/iEK8A23Q1jQ==", - "dependencies": { - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -414,18 +357,19 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.358.0.tgz", - "integrity": "sha512-Blmw4bhGxpaYvPmrbRKAltqnNDDSf6ZegNqJasc5OWvAlHJNvB/hYPmyQN0oFy79BXn7PbBip1QaLWaEhJvpAA==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/credential-provider-process": "3.357.0", - "@aws-sdk/credential-provider-sso": "3.358.0", - "@aws-sdk/credential-provider-web-identity": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.501.0.tgz", + "integrity": "sha512-6UXnwLtYIr298ljveumCVXsH+x7csGscK5ylY+veRFy514NqyloRdJt8JY26hhh5SF9MYnkW+JyWSJ2Ls3tOjQ==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.496.0", + "@aws-sdk/credential-provider-process": "3.496.0", + "@aws-sdk/credential-provider-sso": "3.501.0", + "@aws-sdk/credential-provider-web-identity": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -433,19 +377,20 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.358.0.tgz", - "integrity": "sha512-iLjyRNOT0ycdLqkzXNW+V2zibVljkLjL8j45FpK6mNrAwc/Ynr7EYuRRp5OuRiiYDO3ZoneAxpBJQ5SqmK2Jfg==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/credential-provider-ini": "3.358.0", - "@aws-sdk/credential-provider-process": "3.357.0", - "@aws-sdk/credential-provider-sso": "3.358.0", - "@aws-sdk/credential-provider-web-identity": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.501.0.tgz", + "integrity": "sha512-NM62D8gYrQ1nyLYwW4k48B2/lMHDzHDcQccS1wJakr6bg5sdtG06CumwlVcY+LAa0o1xRnhHmh/yiwj/nN4avw==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.496.0", + "@aws-sdk/credential-provider-ini": "3.501.0", + "@aws-sdk/credential-provider-process": "3.496.0", + "@aws-sdk/credential-provider-sso": "3.501.0", + "@aws-sdk/credential-provider-web-identity": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -453,13 +398,14 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.357.0.tgz", - "integrity": "sha512-qFWWilFPsc2hR7O0KIhwcE78w+pVIK+uQR6MQMfdRyxUndgiuCorJwVjedc3yZtmnoELHF34j+m8whTBXv9E7Q==", - "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.496.0.tgz", + "integrity": "sha512-/YZscCTGOKVmGr916Th4XF8Sz6JDtZ/n2loHG9exok9iy/qIbACsTRNLP9zexPxhPoue/oZqecY5xbVljfY34A==", + "dependencies": { + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -467,15 +413,16 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.358.0.tgz", - "integrity": "sha512-hKu5NshKohSDoHaXKyeCW88J8dBt4TMljrL+WswTMifuThO9ptyMq4PCdl4z7CNjIq6zo3ftc/uNf8TY7Ga8+w==", - "dependencies": { - "@aws-sdk/client-sso": "3.358.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/token-providers": "3.358.0", - "@aws-sdk/types": "3.357.0", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.501.0.tgz", + "integrity": "sha512-y90dlvvZ55PwecODFdMx0NiNlJJfm7X6S61PKdLNCMRcu1YK+eWn0CmPHGHobBUQ4SEYhnFLcHSsf+VMim6BtQ==", + "dependencies": { + "@aws-sdk/client-sso": "3.496.0", + "@aws-sdk/token-providers": "3.501.0", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -483,97 +430,13 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.357.0.tgz", - "integrity": "sha512-0KRRAFrXy5HJe2vqnCWCoCS+fQw7IoIj3KQsuURJMW4F+ifisxCgEsh3brJ2LQlN4ElWTRJhlrDHNZ/pd61D4w==", - "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/eventstream-codec": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.357.0.tgz", - "integrity": "sha512-bqenTHG6GH6aCk/Il+ooWXVVAZuc8lOgVEy9bE2hI49oVqT8zSuXxQB+w1WWyZoAOPcelsjayB1wfPub8VDBxQ==", - "dependencies": { - "@aws-crypto/crc32": "3.0.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.357.0.tgz", - "integrity": "sha512-5sPloTO8y8fAnS/6/Sfp/aVoL9zuhzkLdWBORNzMazdynVNEzWKWCPZ27RQpgkaCDHiXjqUY4kfuFXAGkvFfDQ==", - "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/querystring-builder": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@aws-sdk/hash-node": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.357.0.tgz", - "integrity": "sha512-fq3LS9AxHKb7dTZkm6iM1TrGk6XOTZz96iEZPME1+vjiSEXGWuebHt87q92n+KozVGRypn9MId3lHOPBBjygNQ==", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.357.0.tgz", - "integrity": "sha512-HnCYZczf0VdyxMVMMxmA3QJAyyPSFbcMtZzgKbxVTWTG7GKpQe0psWZu/7O2Nk31mKg6vEUdiP1FylqLBsgMOA==", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz", - "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.357.0.tgz", - "integrity": "sha512-zQOFEyzOXAgN4M54tYNWGxKxnyzY0WwYDTFzh9riJRmxN1hTEKHUKmze4nILIf5rkQmOG4kTf1qmfazjkvZAhw==", - "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.357.0.tgz", - "integrity": "sha512-ScJi0SL8X/Lyi0Fp5blg0QN/Z6PoRwV/ZJXd8dQkXSznkbSvJHfqPP0xk/w3GcQ1TKsu5YEPfeYy8ejcq+7Pgg==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.496.0.tgz", + "integrity": "sha512-IbP+qLlvJSpNPj+zW6TtFuLRTK5Tf0hW+2pom4vFyi5YSH4pn8UOC136UdewX8vhXGS9BJQ5zBDMasIyl5VeGQ==", "dependencies": { - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -581,12 +444,13 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.357.0.tgz", - "integrity": "sha512-HuGLcP7JP1qJ5wGT9GSlEknDaTSnOzHY4T6IPFuvFjAy3PvY5siQNm6+VRqdVS+n6/kzpL3JP5sAVM3aoxHT6Q==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.496.0.tgz", + "integrity": "sha512-jUdPpSJeqCYXf6hSjfwsfHway7peIV8Vz51w/BN91bF4vB/bYwAC5o9/iJiK/EoByp5asxA8fg9wFOyGjzdbLg==", "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.496.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -594,11 +458,12 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.357.0.tgz", - "integrity": "sha512-dncT3tr+lZ9+duZo52rASgO6AKVwRcsc2/T93gmaYVrJqI6WWAwQ7yML5s72l9ZjQ5LZ+4jjrgtlufavAS0eCg==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.496.0.tgz", + "integrity": "sha512-EwMVSY6iBMeGbVnvwdaFl/ClMS/YWtxCAo+bcEtgk8ltRuo7qgbJem8Km/fvWC1vdWvIbe4ArdJ8iGzq62ffAw==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.496.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -606,54 +471,13 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.357.0.tgz", - "integrity": "sha512-AXC54IeDS3jC1dbbkYHML4STvBPcKZ4IJTWdjEK1RCOgqXd0Ze1cE1e21wyj1tM6prF03zLyvpBd+3TS++nqfA==", - "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-retry": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.357.0.tgz", - "integrity": "sha512-ZCbXCYv3nglQqwREYxxpclrnR9MYPAnHlLcC8e9PbApqxGnaZdhoywxoqbgqT3hf/RM7kput4vEHDl1fyymcRQ==", - "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/service-error-classification": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.357.0.tgz", - "integrity": "sha512-Ng2VjLrPiL02QOcs1qs9jG2boO4Gn+v3VIbOJLG4zXcfbSq55iIWtlmr2ljfw9vP5aLhWtcODfmKHS5Bp+019Q==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.496.0.tgz", + "integrity": "sha512-+IuOcFsfqg2WAnaEzH6KhVbicqCxtOq9w3DH2jwTpddRlCx2Kqf6wCzg8luhHRGyjBZdsbIS+OXwyMevoppawA==", "dependencies": { - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-serde": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.357.0.tgz", - "integrity": "sha512-bGI4kYuuEsFjlANbyJLyy4AovETnyf/SukgLOG7Qjbua+ZGuzvRhMsk21mBKKGrnsTO4PmtieJo6xClThGAN8g==", - "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.496.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -661,26 +485,16 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.357.0.tgz", - "integrity": "sha512-yB9ewEqI6Fw1OrmKFrUypbCqN5ijk06UGPochybamMuPxxkwMT3bnrm7eezsCA+TZbJyKhpffpyobwuv+xGNrA==", - "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/signature-v4": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/middleware-stack": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.357.0.tgz", - "integrity": "sha512-nNV+jfwGwmbOGZujAY/U8AW3EbVlxa9DJDLz3TPp/39o6Vu5KEzHJyDDNreo2k9V/TMvV+nOzHafufgPdagv7w==", - "dependencies": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.496.0.tgz", + "integrity": "sha512-Oq73Brs4IConvWnRlh8jM1V7LHoTw9SVQklu/QW2FPlNrB3B8fuTdWHHYIWv7ybw1bykXoCY99v865Mmq/Or/g==", + "dependencies": { + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/signature-v4": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -688,144 +502,30 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.357.0.tgz", - "integrity": "sha512-M/CsAXjGblZS4rEbMb0Dn9IXbfq4EjVaTHBfvuILU/dKRppWvjnm2lRtqCZ+LIT3ATbAjA3/dY7dWsjxQWwijA==", - "dependencies": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/node-config-provider": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.357.0.tgz", - "integrity": "sha512-kwBIzKCaW3UWqLdELhy7TcN8itNMOjbzga530nalFILMvn2IxrkdKQhNgxGBXy6QK6kCOtH6OmcrG3/oZkLwig==", - "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/node-http-handler": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.357.0.tgz", - "integrity": "sha512-uoab4xIJux+Q9hQ9A/vWEAjojtBQ0U4K7xEQVa0BXEv7MHH5zv51H+VtrelU1Ed6hsHq4Sx0bxBMFpbbWhNyjA==", - "dependencies": { - "@aws-sdk/abort-controller": "3.357.0", - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/querystring-builder": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/property-provider": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.357.0.tgz", - "integrity": "sha512-im4W0u8WaYxG7J7ko4Xl3OEzK3Mrm1Rz6/txTGe6hTIHlyUISu1ekOQJXK6XYPqNMn8v1G3BiQREoRXUEJFbHg==", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/protocol-http": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.357.0.tgz", - "integrity": "sha512-w1JHiI50VEea7duDeAspUiKJmmdIQblvRyjVMOqWA6FIQAyDVuEiPX7/MdQr0ScxhtRQxHbP0I4MFyl7ctRQvA==", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/querystring-builder": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.357.0.tgz", - "integrity": "sha512-aQcicqB6Y2cNaXPPwunz612a01SMiQQPsdz632F/3Lzn0ua82BJKobHOtaiTUlmVJ5Q4/EAeNfwZgL7tTUNtDQ==", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/querystring-parser": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.357.0.tgz", - "integrity": "sha512-Svvq+atRNP9s2VxiklcUNgCzmt3T5kfs7X2C+yjmxHvOQTPjLNaNGbfC/vhjOK7aoXw0h+lBac48r5ymx1PbQA==", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/service-error-classification": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.357.0.tgz", - "integrity": "sha512-VuXeL4g5vKO9HjgCZlxmH8Uv1FcqUSjmbPpQkbNtYIDck6u0qzM0rG+n0/1EjyQbPSr3MhW/pkWs5nx2Nljlyg==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.357.0.tgz", - "integrity": "sha512-ceyqM4XxQe0Plb/oQAD2t1UOV2Iy4PFe1oAGM8dfJzYrRKu7zvMwru7/WaB3NYq+/mIY6RU+jjhRmjQ3GySVqA==", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/signature-v4": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.357.0.tgz", - "integrity": "sha512-itt4/Jh9FqnzK30qIjXFBvM4J7zN4S/AAqsRMnaX7U4f/MV+1YxQHmzimpdMnsCXXs2jqFqKVRu6DewxJ3nbxg==", - "dependencies": { - "@aws-sdk/eventstream-codec": "3.357.0", - "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.357.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.496.0.tgz", + "integrity": "sha512-+iMtRxFk0GmFWNUF4ilxylOQd9PZdR4ZC9jkcPIh1PZlvKtpCyFywKlk5RRZKklSoJ/CttcqwhMvOXTNbWm/0w==", + "dependencies": { + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/smithy-client": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.358.0.tgz", - "integrity": "sha512-oqctxWb9yAqCh4ENwUkt9MC01l5uKoy+QCiSUUhQ76k7R3lyGOge9ycyRyoKl+oZWvEpnjZevXQFqEfGzkL7bA==", + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.496.0.tgz", + "integrity": "sha512-URrNVOPHPgEDm6QFu6lDC2cUFs+Jx23mA3jEwCvoKlXiEY/ZoWjH8wlX3OMUlLrF1qoUTuD03jjrJzF6zoCgug==", "dependencies": { - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-stream": "3.358.0", - "@smithy/types": "^1.0.0", + "@aws-sdk/types": "3.496.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -833,142 +533,72 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.358.0.tgz", - "integrity": "sha512-vATKNCwNhCSo2LzvtkIzW9Yp2/aKNR032VPtIWlDtWGGFhkzGi4FPS0VTdfefxz4rqPWfBz53mh54d9xylsWVw==", - "dependencies": { - "@aws-sdk/client-sso-oidc": "3.358.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/types": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.357.0.tgz", - "integrity": "sha512-/riCRaXg3p71BeWnShrai0y0QTdXcouPSM0Cn1olZbzTf7s71aLEewrc96qFrL70XhY4XvnxMpqQh+r43XIL3g==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/url-parser": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.357.0.tgz", - "integrity": "sha512-fAaU6cFsaAba01lCRsRJiYR/LfXvX2wudyEyutBVglE4dWSoSeu3QJNxImIzTBULfbiFhz59++NQ1JUVx88IVg==", - "dependencies": { - "@aws-sdk/querystring-parser": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "node_modules/@aws-sdk/util-base64": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz", - "integrity": "sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg==", - "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.310.0.tgz", - "integrity": "sha512-sxsC3lPBGfpHtNTUoGXMQXLwjmR0zVpx0rSvzTPAuoVILVsp5AU/w5FphNPxD5OVIjNbZv9KsKTuvNTiZjDp9g==", - "dependencies": { - "tslib": "^2.5.0" - } - }, - "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.310.0.tgz", - "integrity": "sha512-2tqGXdyKhyA6w4zz7UPoS8Ip+7sayOg9BwHNidiGm2ikbDxm1YrCfYXvCBdwaJxa4hJfRVz+aL9e+d3GqPI9pQ==", + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.501.0.tgz", + "integrity": "sha512-MvLPhNxlStmQqVm2crGLUqYWvK/AbMmI9j4FbEfJ15oG/I+730zjSJQEy2MvdiqbJRDPZ/tRCL89bUedOrmi0g==", "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz", - "integrity": "sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-config-provider": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.310.0.tgz", - "integrity": "sha512-xIBaYo8dwiojCw8vnUcIL4Z5tyfb1v3yjqyJKJWV/dqKUFOOS0U591plmXbM+M/QkXyML3ypon1f8+BoaDExrg==", + "node_modules/@aws-sdk/types": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.496.0.tgz", + "integrity": "sha512-umkGadK4QuNQaMoDICMm7NKRI/mYSXiyPjcn3d53BhsuArYU/52CebGQKdt4At7SwwsiVJZw9RNBHyN5Mm0HVw==", "dependencies": { + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.358.0.tgz", - "integrity": "sha512-KGfw64wRL/gROLD4Gatda8cUsaNKNhSnx+yDDcG2WkFlFfLr6FHvTijpRxvIM2Jau2ZhcdGzbegLjsFxviTJAA==", - "dependencies": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "bowser": "^2.11.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.358.0.tgz", - "integrity": "sha512-2C5on0yppDS0xGpFkHRqfrG9TeTq6ive1hPX1V8UCkiI/TBQYl88XCKCKct8zTcejyK9klZUDGI8QQTan2UWkw==", - "dependencies": { - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.357.0.tgz", - "integrity": "sha512-XHKyS5JClT9su9hDif715jpZiWHQF9gKZXER8tW0gOizU3R9cyWc9EsJ2BRhFNhi7nt/JF/CLUEc5qDx3ETbUw==", - "dependencies": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz", - "integrity": "sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.496.0.tgz", + "integrity": "sha512-1QzOiWHi383ZwqSi/R2KgKCd7M+6DxkxI5acqLPm8mvDRDP2jRjrnVaC0g9/tlttWousGEemDUWStwrD2mVYSw==", "dependencies": { + "@aws-sdk/types": "3.496.0", + "@smithy/types": "^2.9.1", + "@smithy/util-endpoints": "^1.1.1", "tslib": "^2.5.0" }, "engines": { @@ -976,61 +606,9 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.465.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.465.0.tgz", - "integrity": "sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-middleware": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.357.0.tgz", - "integrity": "sha512-pV1krjZs7BdahZBfsCJMatE8kcor7GFsBOWrQgQDm9T0We5b5xPpOO2vxAD0RytBpY8Ky2ELs/+qXMv7l5fWIA==", - "dependencies": { - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-retry": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.357.0.tgz", - "integrity": "sha512-SUqYJE9msbuOVq+vnUy+t0LH7XuYNFz66dSF8q6tedsbJK4j8tgya0I1Ct3m06ynGrXDJMaj39I7AXCyW9bjtw==", - "dependencies": { - "@aws-sdk/service-error-classification": "3.357.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@aws-sdk/util-stream": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream/-/util-stream-3.358.0.tgz", - "integrity": "sha512-zUhpjxAXV2+0eALlTU6uXRYMs10XYpcYzl3NtLRe4wWgnrOOOZnF/t5LQDoKXOfaMdzwZ+i90+PYr+6JQ58+7g==", - "dependencies": { - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz", - "integrity": "sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q==", + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz", + "integrity": "sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==", "dependencies": { "tslib": "^2.5.0" }, @@ -1039,22 +617,24 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.357.0.tgz", - "integrity": "sha512-JHaWlNIUkPNvXkqeDOrqFzAlAgdwZK5mZw7FQnCRvf8tdSogpGZSkuyb9Z6rLD9gC40Srbc2nepO1cFpeMsDkA==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.496.0.tgz", + "integrity": "sha512-4j2spN+h0I0qfSMsGvJXTfQBu1e18rPdekKvzsGJxhaAE1tNgUfUT4nbvc5uVn0sNjZmirskmJ3kfbzVOrqIFg==", "dependencies": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.496.0", + "@smithy/types": "^2.9.1", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.357.0.tgz", - "integrity": "sha512-RdpQoaJWQvcS99TVgSbT451iGrlH4qpWUWFA9U1IRhxOSsmC1hz8ME7xc8nci9SREx/ZlfT3ai6LpoAzAtIEMA==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.496.0.tgz", + "integrity": "sha512-h0Ax0jlDc7UIo3KoSI4C4tVLBFoiAdx3+DhTVfgLS7x93d41dMlziPoBX2RgdcFn37qnzw6AQKTVTMwDbRCGpg==", "dependencies": { - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.496.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1069,18 +649,6 @@ } } }, - "node_modules/@aws-sdk/util-utf8": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz", - "integrity": "sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA==", - "dependencies": { - "@aws-sdk/util-buffer-from": "3.310.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/util-utf8-browser": { "version": "3.259.0", "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", @@ -2380,23 +1948,522 @@ "@sinonjs/commons": "^1.7.0" } }, - "node_modules/@smithy/protocol-http": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.2.0.tgz", - "integrity": "sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==", + "node_modules/@smithy/abort-controller": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.1.tgz", + "integrity": "sha512-1+qdrUqLhaALYL0iOcN43EP6yAXXQ2wWZ6taf4S2pNGowmOc5gx+iMQv+E42JizNJjB0+gEadOXeV1Bf7JWL1Q==", "dependencies": { - "@smithy/types": "^1.2.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/types": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.2.0.tgz", - "integrity": "sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==", + "node_modules/@smithy/config-resolver": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.1.tgz", + "integrity": "sha512-lxfLDpZm+AWAHPFZps5JfDoO9Ux1764fOgvRUBpHIO8HWHcSN1dkgsago1qLRVgm1BZ8RCm8cgv99QvtaOWIhw==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.2.tgz", + "integrity": "sha512-tYDmTp0f2TZVE18jAOH1PnmkngLQ+dOGUlMd1u67s87ieueNeyqhja6z/Z4MxhybEiXKOWFOmGjfTZWFxljwJw==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.1.tgz", + "integrity": "sha512-7XHjZUxmZYnONheVQL7j5zvZXga+EWNgwEAP6OPZTi7l8J4JTeNh9aIOfE5fKHZ/ee2IeNOh54ZrSna+Vc6TFA==", "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/eventstream-codec": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.1.tgz", + "integrity": "sha512-E8KYBxBIuU4c+zrpR22VsVrOPoEDzk35bQR3E+xm4k6Pa6JqzkDOdMyf9Atac5GPNKHJBdVaQ4JtjdWX2rl/nw==", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.1.tgz", + "integrity": "sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg==", + "dependencies": { + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-base64": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/hash-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.1.tgz", + "integrity": "sha512-Qhoq0N8f2OtCnvUpCf+g1vSyhYQrZjhSwvJ9qvR8BUGOtTXiyv2x1OD2e6jVGmlpC4E4ax1USHoyGfV9JFsACg==", + "dependencies": { + "@smithy/types": "^2.9.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.1.tgz", + "integrity": "sha512-7WTgnKw+VPg8fxu2v9AlNOQ5yaz6RA54zOVB4f6vQuR0xFKd+RzlCpt0WidYTsye7F+FYDIaS/RnJW4pxjNInw==", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz", + "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.1.tgz", + "integrity": "sha512-rSr9ezUl9qMgiJR0UVtVOGEZElMdGFyl8FzWEF5iEKTlcWxGr2wTqGfDwtH3LAB7h+FPkxqv4ZU4cpuCN9Kf/g==", + "dependencies": { + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.1.tgz", + "integrity": "sha512-XPZTb1E2Oav60Ven3n2PFx+rX9EDsU/jSTA8VDamt7FXks67ekjPY/XrmmPDQaFJOTUHJNKjd8+kZxVO5Ael4Q==", + "dependencies": { + "@smithy/middleware-serde": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.1.tgz", + "integrity": "sha512-eMIHOBTXro6JZ+WWzZWd/8fS8ht5nS5KDQjzhNMHNRcG5FkNTqcKpYhw7TETMYzbLfhO5FYghHy1vqDWM4FLDA==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/service-error-classification": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-retry": "^2.1.1", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.1.tgz", + "integrity": "sha512-D8Gq0aQBeE1pxf3cjWVkRr2W54t+cdM2zx78tNrVhqrDykRA7asq8yVJij1u5NDtKzKqzBSPYh7iW0svUKg76g==", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.1.tgz", + "integrity": "sha512-KPJhRlhsl8CjgGXK/DoDcrFGfAqoqvuwlbxy+uOO4g2Azn1dhH+GVfC3RAp+6PoL5PWPb+vt6Z23FP+Mr6qeCw==", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.1.tgz", + "integrity": "sha512-epzK3x1xNxA9oJgHQ5nz+2j6DsJKdHfieb+YgJ7ATWxzNcB7Hc+Uya2TUck5MicOPhDV8HZImND7ZOecVr+OWg==", + "dependencies": { + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.3.1.tgz", + "integrity": "sha512-gLA8qK2nL9J0Rk/WEZSvgin4AppvuCYRYg61dcUo/uKxvMZsMInL5I5ZdJTogOvdfVug3N2dgI5ffcUfS4S9PA==", + "dependencies": { + "@smithy/abort-controller": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.1.tgz", + "integrity": "sha512-FX7JhhD/o5HwSwg6GLK9zxrMUrGnb3PzNBrcthqHKBc3dH0UfgEAU24xnJ8F0uow5mj17UeBEOI6o3CF2k7Mhw==", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.1.1.tgz", + "integrity": "sha512-6ZRTSsaXuSL9++qEwH851hJjUA0OgXdQFCs+VDw4tGH256jQ3TjYY/i34N4vd24RV3nrjNsgd1yhb57uMoKbzQ==", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.1.tgz", + "integrity": "sha512-C/ko/CeEa8jdYE4gt6nHO5XDrlSJ3vdCG0ZAc6nD5ZIE7LBp0jCx4qoqp7eoutBu7VrGMXERSRoPqwi1WjCPbg==", + "dependencies": { + "@smithy/types": "^2.9.1", + "@smithy/util-uri-escape": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.1.tgz", + "integrity": "sha512-H4+6jKGVhG1W4CIxfBaSsbm98lOO88tpDWmZLgkJpt8Zkk/+uG0FmmqMuCAc3HNM2ZDV+JbErxr0l5BcuIf/XQ==", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.1.tgz", + "integrity": "sha512-txEdZxPUgM1PwGvDvHzqhXisrc5LlRWYCf2yyHfvITWioAKat7srQvpjMAvgzf0t6t7j8yHrryXU9xt7RZqFpw==", + "dependencies": { + "@smithy/types": "^2.9.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.1.tgz", + "integrity": "sha512-2E2kh24igmIznHLB6H05Na4OgIEilRu0oQpYXo3LCNRrawHAcfDKq9004zJs+sAMt2X5AbY87CUCJ7IpqpSgdw==", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.1.tgz", + "integrity": "sha512-Hb7xub0NHuvvQD3YwDSdanBmYukoEkhqBjqoxo+bSdC0ryV9cTfgmNjuAQhTPYB6yeU7hTR+sPRiFMlxqv6kmg==", + "dependencies": { + "@smithy/eventstream-codec": "^2.1.1", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-uri-escape": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.3.1.tgz", + "integrity": "sha512-YsTdU8xVD64r2pLEwmltrNvZV6XIAC50LN6ivDopdt+YiF/jGH6PY9zUOu0CXD/d8GMB8gbhnpPsdrjAXHS9QA==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-stream": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.9.1.tgz", + "integrity": "sha512-vjXlKNXyprDYDuJ7UW5iobdmyDm6g8dDG+BFUncAg/3XJaN45Gy5RWWWUVgrzIK7S4R1KWgIX5LeJcfvSI24bw==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.1.tgz", + "integrity": "sha512-qC9Bv8f/vvFIEkHsiNrUKYNl8uKQnn4BdhXl7VzQRP774AwIjiSMMwkbT+L7Fk8W8rzYVifzJNYxv1HwvfBo3Q==", + "dependencies": { + "@smithy/querystring-parser": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-base64": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz", + "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==", + "dependencies": { + "@smithy/util-buffer-from": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz", + "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==", + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz", + "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz", + "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==", + "dependencies": { + "@smithy/is-array-buffer": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz", + "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.1.tgz", + "integrity": "sha512-lqLz/9aWRO6mosnXkArtRuQqqZBhNpgI65YDpww4rVQBuUT7qzKbDLG5AmnQTCiU4rOquaZO/Kt0J7q9Uic7MA==", + "dependencies": { + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.0.tgz", + "integrity": "sha512-iFJp/N4EtkanFpBUtSrrIbtOIBf69KNuve03ic1afhJ9/korDxdM0c6cCH4Ehj/smI9pDCfVv+bqT3xZjF2WaA==", + "dependencies": { + "@smithy/config-resolver": "^2.1.1", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.1.tgz", + "integrity": "sha512-sI4d9rjoaekSGEtq3xSb2nMjHMx8QXcz2cexnVyRWsy4yQ9z3kbDpX+7fN0jnbdOp0b3KSTZJZ2Yb92JWSanLw==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz", + "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.1.tgz", + "integrity": "sha512-mKNrk8oz5zqkNcbcgAAepeJbmfUW6ogrT2Z2gDbIUzVzNAHKJQTYmH9jcy0jbWb+m7ubrvXKb6uMjkSgAqqsFA==", + "dependencies": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.1.tgz", + "integrity": "sha512-Mg+xxWPTeSPrthpC5WAamJ6PW4Kbo01Fm7lWM1jmGRvmrRdsd3192Gz2fBXAMURyXpaNxyZf6Hr/nQ4q70oVEA==", + "dependencies": { + "@smithy/service-error-classification": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.1.tgz", + "integrity": "sha512-J7SMIpUYvU4DQN55KmBtvaMc7NM3CZ2iWICdcgaovtLzseVhAqFRYqloT3mh0esrFw+3VEK6nQFteFsTqZSECQ==", + "dependencies": { + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz", + "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz", + "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -10287,767 +10354,431 @@ "@aws-crypto/supports-web-crypto": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", - "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", - "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", - "requires": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-sdk/abort-controller": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.357.0.tgz", - "integrity": "sha512-nQYDJon87quPwt2JZJwUN2GFKJnvE5kWb6tZP4xb5biSGUKBqDQo06oYed7yokatCuCMouIXV462aN0fWODtOw==", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/client-comprehendmedical": { - "version": "3.359.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.359.0.tgz", - "integrity": "sha512-xOZdMkoO4WjBgWaAaRzos5te2mIjxdVRf4dachxwe9ij/E3kpKTCBorffxXRNaGGBdrOYhsePA8yPqKh9Zl7jQ==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.359.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-node": "3.358.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.358.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.358.0", - "@aws-sdk/util-defaults-mode-node": "3.358.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - } - }, - "@aws-sdk/client-sso": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.358.0.tgz", - "integrity": "sha512-Kc9IsoPIHJfkjDuStyItwQAOpnxw/I9xfF3vvukeN9vkXcRiWeMDhEXACN4L1AYFlU9FHQSRdNwpYTIz7OrD2A==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.358.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.358.0", - "@aws-sdk/util-defaults-mode-node": "3.358.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/client-sso-oidc": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.358.0.tgz", - "integrity": "sha512-Gy09fSlhJdGbr8rNNR8EdLaUynB1B34nw8kN1aFT4CdAnjFKxTainqG6Aq4vx64TbMDMhvMYWpNAluvq7UHVhw==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.358.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.358.0", - "@aws-sdk/util-defaults-mode-node": "3.358.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/client-sts": { - "version": "3.359.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.359.0.tgz", - "integrity": "sha512-zpyui8hXvEUvq8MwzZsm51ni0intvPjtV8dgx10nVJnm605nqrLlAMGqQ1S/UxO7CVmhqWbh5dnGHEc//UJlsw==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-node": "3.358.0", - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/hash-node": "3.357.0", - "@aws-sdk/invalid-dependency": "3.357.0", - "@aws-sdk/middleware-content-length": "3.357.0", - "@aws-sdk/middleware-endpoint": "3.357.0", - "@aws-sdk/middleware-host-header": "3.357.0", - "@aws-sdk/middleware-logger": "3.357.0", - "@aws-sdk/middleware-recursion-detection": "3.357.0", - "@aws-sdk/middleware-retry": "3.357.0", - "@aws-sdk/middleware-sdk-sts": "3.357.0", - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/middleware-user-agent": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/smithy-client": "3.358.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-body-length-browser": "3.310.0", - "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.358.0", - "@aws-sdk/util-defaults-mode-node": "3.358.0", - "@aws-sdk/util-endpoints": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "@aws-sdk/util-user-agent-browser": "3.357.0", - "@aws-sdk/util-user-agent-node": "3.357.0", - "@aws-sdk/util-utf8": "3.310.0", - "@smithy/protocol-http": "^1.0.1", - "@smithy/types": "^1.0.0", - "fast-xml-parser": "4.2.5", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/config-resolver": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.357.0.tgz", - "integrity": "sha512-cukfg0nX7Tzx/xFyH5F4Eyb8DA1ITCGtSQv4vnEjgUop+bkzckuGLKEeBcBhyZY+aw+2C9CVwIHwIMhRm0ul5w==", - "requires": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-env": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.357.0.tgz", - "integrity": "sha512-UOecwfqvXgJVqhfWSZ2S44v2Nq2oceW0PQVQp0JAa9opc2rxSVIfyOhPr0yMoPmpyNcP22rgeg6ce70KULYwiA==", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-imds": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.357.0.tgz", - "integrity": "sha512-upw/bfsl7/WydT6gM0lBuR4Ipp4fzYm/E3ObFr0Mg5OkgVPt5ZJE+eeFTvwCpDdBSTKs4JfrK6/iEK8A23Q1jQ==", - "requires": { - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-ini": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.358.0.tgz", - "integrity": "sha512-Blmw4bhGxpaYvPmrbRKAltqnNDDSf6ZegNqJasc5OWvAlHJNvB/hYPmyQN0oFy79BXn7PbBip1QaLWaEhJvpAA==", - "requires": { - "@aws-sdk/credential-provider-env": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/credential-provider-process": "3.357.0", - "@aws-sdk/credential-provider-sso": "3.358.0", - "@aws-sdk/credential-provider-web-identity": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-node": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.358.0.tgz", - "integrity": "sha512-iLjyRNOT0ycdLqkzXNW+V2zibVljkLjL8j45FpK6mNrAwc/Ynr7EYuRRp5OuRiiYDO3ZoneAxpBJQ5SqmK2Jfg==", - "requires": { - "@aws-sdk/credential-provider-env": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/credential-provider-ini": "3.358.0", - "@aws-sdk/credential-provider-process": "3.357.0", - "@aws-sdk/credential-provider-sso": "3.358.0", - "@aws-sdk/credential-provider-web-identity": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-process": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.357.0.tgz", - "integrity": "sha512-qFWWilFPsc2hR7O0KIhwcE78w+pVIK+uQR6MQMfdRyxUndgiuCorJwVjedc3yZtmnoELHF34j+m8whTBXv9E7Q==", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-sso": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.358.0.tgz", - "integrity": "sha512-hKu5NshKohSDoHaXKyeCW88J8dBt4TMljrL+WswTMifuThO9ptyMq4PCdl4z7CNjIq6zo3ftc/uNf8TY7Ga8+w==", - "requires": { - "@aws-sdk/client-sso": "3.358.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/token-providers": "3.358.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/credential-provider-web-identity": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.357.0.tgz", - "integrity": "sha512-0KRRAFrXy5HJe2vqnCWCoCS+fQw7IoIj3KQsuURJMW4F+ifisxCgEsh3brJ2LQlN4ElWTRJhlrDHNZ/pd61D4w==", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/eventstream-codec": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.357.0.tgz", - "integrity": "sha512-bqenTHG6GH6aCk/Il+ooWXVVAZuc8lOgVEy9bE2hI49oVqT8zSuXxQB+w1WWyZoAOPcelsjayB1wfPub8VDBxQ==", - "requires": { - "@aws-crypto/crc32": "3.0.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/fetch-http-handler": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.357.0.tgz", - "integrity": "sha512-5sPloTO8y8fAnS/6/Sfp/aVoL9zuhzkLdWBORNzMazdynVNEzWKWCPZ27RQpgkaCDHiXjqUY4kfuFXAGkvFfDQ==", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/querystring-builder": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/hash-node": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.357.0.tgz", - "integrity": "sha512-fq3LS9AxHKb7dTZkm6iM1TrGk6XOTZz96iEZPME1+vjiSEXGWuebHt87q92n+KozVGRypn9MId3lHOPBBjygNQ==", - "requires": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/invalid-dependency": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.357.0.tgz", - "integrity": "sha512-HnCYZczf0VdyxMVMMxmA3QJAyyPSFbcMtZzgKbxVTWTG7GKpQe0psWZu/7O2Nk31mKg6vEUdiP1FylqLBsgMOA==", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/is-array-buffer": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.310.0.tgz", - "integrity": "sha512-urnbcCR+h9NWUnmOtet/s4ghvzsidFmspfhYaHAmSRdy9yDjdjBJMFjjsn85A1ODUktztm+cVncXjQ38WCMjMQ==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-content-length": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.357.0.tgz", - "integrity": "sha512-zQOFEyzOXAgN4M54tYNWGxKxnyzY0WwYDTFzh9riJRmxN1hTEKHUKmze4nILIf5rkQmOG4kTf1qmfazjkvZAhw==", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-endpoint": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.357.0.tgz", - "integrity": "sha512-ScJi0SL8X/Lyi0Fp5blg0QN/Z6PoRwV/ZJXd8dQkXSznkbSvJHfqPP0xk/w3GcQ1TKsu5YEPfeYy8ejcq+7Pgg==", - "requires": { - "@aws-sdk/middleware-serde": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/url-parser": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-host-header": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.357.0.tgz", - "integrity": "sha512-HuGLcP7JP1qJ5wGT9GSlEknDaTSnOzHY4T6IPFuvFjAy3PvY5siQNm6+VRqdVS+n6/kzpL3JP5sAVM3aoxHT6Q==", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-logger": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.357.0.tgz", - "integrity": "sha512-dncT3tr+lZ9+duZo52rASgO6AKVwRcsc2/T93gmaYVrJqI6WWAwQ7yML5s72l9ZjQ5LZ+4jjrgtlufavAS0eCg==", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-recursion-detection": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.357.0.tgz", - "integrity": "sha512-AXC54IeDS3jC1dbbkYHML4STvBPcKZ4IJTWdjEK1RCOgqXd0Ze1cE1e21wyj1tM6prF03zLyvpBd+3TS++nqfA==", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-retry": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.357.0.tgz", - "integrity": "sha512-ZCbXCYv3nglQqwREYxxpclrnR9MYPAnHlLcC8e9PbApqxGnaZdhoywxoqbgqT3hf/RM7kput4vEHDl1fyymcRQ==", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/service-error-classification": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "@aws-sdk/util-retry": "3.357.0", - "tslib": "^2.5.0", - "uuid": "^8.3.2" - } - }, - "@aws-sdk/middleware-sdk-sts": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.357.0.tgz", - "integrity": "sha512-Ng2VjLrPiL02QOcs1qs9jG2boO4Gn+v3VIbOJLG4zXcfbSq55iIWtlmr2ljfw9vP5aLhWtcODfmKHS5Bp+019Q==", - "requires": { - "@aws-sdk/middleware-signing": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-serde": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.357.0.tgz", - "integrity": "sha512-bGI4kYuuEsFjlANbyJLyy4AovETnyf/SukgLOG7Qjbua+ZGuzvRhMsk21mBKKGrnsTO4PmtieJo6xClThGAN8g==", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-signing": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.357.0.tgz", - "integrity": "sha512-yB9ewEqI6Fw1OrmKFrUypbCqN5ijk06UGPochybamMuPxxkwMT3bnrm7eezsCA+TZbJyKhpffpyobwuv+xGNrA==", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/signature-v4": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-middleware": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-stack": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.357.0.tgz", - "integrity": "sha512-nNV+jfwGwmbOGZujAY/U8AW3EbVlxa9DJDLz3TPp/39o6Vu5KEzHJyDDNreo2k9V/TMvV+nOzHafufgPdagv7w==", - "requires": { - "tslib": "^2.5.0" - } - }, - "@aws-sdk/middleware-user-agent": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.357.0.tgz", - "integrity": "sha512-M/CsAXjGblZS4rEbMb0Dn9IXbfq4EjVaTHBfvuILU/dKRppWvjnm2lRtqCZ+LIT3ATbAjA3/dY7dWsjxQWwijA==", - "requires": { - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-endpoints": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/node-config-provider": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.357.0.tgz", - "integrity": "sha512-kwBIzKCaW3UWqLdELhy7TcN8itNMOjbzga530nalFILMvn2IxrkdKQhNgxGBXy6QK6kCOtH6OmcrG3/oZkLwig==", - "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/node-http-handler": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.357.0.tgz", - "integrity": "sha512-uoab4xIJux+Q9hQ9A/vWEAjojtBQ0U4K7xEQVa0BXEv7MHH5zv51H+VtrelU1Ed6hsHq4Sx0bxBMFpbbWhNyjA==", - "requires": { - "@aws-sdk/abort-controller": "3.357.0", - "@aws-sdk/protocol-http": "3.357.0", - "@aws-sdk/querystring-builder": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/property-provider": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.357.0.tgz", - "integrity": "sha512-im4W0u8WaYxG7J7ko4Xl3OEzK3Mrm1Rz6/txTGe6hTIHlyUISu1ekOQJXK6XYPqNMn8v1G3BiQREoRXUEJFbHg==", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/protocol-http": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.357.0.tgz", - "integrity": "sha512-w1JHiI50VEea7duDeAspUiKJmmdIQblvRyjVMOqWA6FIQAyDVuEiPX7/MdQr0ScxhtRQxHbP0I4MFyl7ctRQvA==", - "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/querystring-builder": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.357.0.tgz", - "integrity": "sha512-aQcicqB6Y2cNaXPPwunz612a01SMiQQPsdz632F/3Lzn0ua82BJKobHOtaiTUlmVJ5Q4/EAeNfwZgL7tTUNtDQ==", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", "requires": { - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "tslib": "^2.5.0" + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, - "@aws-sdk/querystring-parser": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.357.0.tgz", - "integrity": "sha512-Svvq+atRNP9s2VxiklcUNgCzmt3T5kfs7X2C+yjmxHvOQTPjLNaNGbfC/vhjOK7aoXw0h+lBac48r5ymx1PbQA==", + "@aws-crypto/util": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } } }, - "@aws-sdk/service-error-classification": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.357.0.tgz", - "integrity": "sha512-VuXeL4g5vKO9HjgCZlxmH8Uv1FcqUSjmbPpQkbNtYIDck6u0qzM0rG+n0/1EjyQbPSr3MhW/pkWs5nx2Nljlyg==" - }, - "@aws-sdk/shared-ini-file-loader": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.357.0.tgz", - "integrity": "sha512-ceyqM4XxQe0Plb/oQAD2t1UOV2Iy4PFe1oAGM8dfJzYrRKu7zvMwru7/WaB3NYq+/mIY6RU+jjhRmjQ3GySVqA==", + "@aws-sdk/client-comprehendmedical": { + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-comprehendmedical/-/client-comprehendmedical-3.501.0.tgz", + "integrity": "sha512-Wy/QNOis9hJa+UCCe6gStKM9eBvJumwobC2Yr15M9Ti1AnWiM4GI4Yo9OH4ewV3x03pDqZBE7bYkFKjK3si4GA==", "requires": { - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/client-sts": "3.501.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/credential-provider-node": "3.501.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-signing": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0", + "uuid": "^8.3.2" } }, - "@aws-sdk/signature-v4": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.357.0.tgz", - "integrity": "sha512-itt4/Jh9FqnzK30qIjXFBvM4J7zN4S/AAqsRMnaX7U4f/MV+1YxQHmzimpdMnsCXXs2jqFqKVRu6DewxJ3nbxg==", + "@aws-sdk/client-sso": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.496.0.tgz", + "integrity": "sha512-fuaMuxKg7CMUsP9l3kxYWCOxFsBjdA0xj5nlikaDm1661/gB4KkAiGqRY8LsQkpNXvXU8Nj+f7oCFADFyGYzyw==", "requires": { - "@aws-sdk/eventstream-codec": "3.357.0", - "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.357.0", - "@aws-sdk/util-uri-escape": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" } }, - "@aws-sdk/smithy-client": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.358.0.tgz", - "integrity": "sha512-oqctxWb9yAqCh4ENwUkt9MC01l5uKoy+QCiSUUhQ76k7R3lyGOge9ycyRyoKl+oZWvEpnjZevXQFqEfGzkL7bA==", + "@aws-sdk/client-sts": { + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.501.0.tgz", + "integrity": "sha512-Uwc/xuxsA46dZS5s+4U703LBNDrGpWF7RB4XYEEMD21BLfGuqntxLLQux8xxKt3Pcur0CsXNja5jXt3uLnE5MA==", "requires": { - "@aws-sdk/middleware-stack": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-stream": "3.358.0", - "@smithy/types": "^1.0.0", + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/credential-provider-node": "3.501.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" } }, - "@aws-sdk/token-providers": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.358.0.tgz", - "integrity": "sha512-vATKNCwNhCSo2LzvtkIzW9Yp2/aKNR032VPtIWlDtWGGFhkzGi4FPS0VTdfefxz4rqPWfBz53mh54d9xylsWVw==", - "requires": { - "@aws-sdk/client-sso-oidc": "3.358.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/shared-ini-file-loader": "3.357.0", - "@aws-sdk/types": "3.357.0", + "@aws-sdk/core": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.496.0.tgz", + "integrity": "sha512-yT+ug7Cw/3eJi7x2es0+46x12+cIJm5Xv+GPWsrTFD1TKgqO/VPEgfDtHFagDNbFmjNQA65Ygc/kEdIX9ICX/A==", + "requires": { + "@smithy/core": "^1.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/signature-v4": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/types": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.357.0.tgz", - "integrity": "sha512-/riCRaXg3p71BeWnShrai0y0QTdXcouPSM0Cn1olZbzTf7s71aLEewrc96qFrL70XhY4XvnxMpqQh+r43XIL3g==", + "@aws-sdk/credential-provider-env": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.496.0.tgz", + "integrity": "sha512-lukQMJ8SWWP5RqkRNOHi/H+WMhRvSWa3Fc5Jf/VP6xHiPLfF1XafcvthtV91e0VwPCiseI+HqChrcGq8pvnxHw==", "requires": { + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/url-parser": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.357.0.tgz", - "integrity": "sha512-fAaU6cFsaAba01lCRsRJiYR/LfXvX2wudyEyutBVglE4dWSoSeu3QJNxImIzTBULfbiFhz59++NQ1JUVx88IVg==", - "requires": { - "@aws-sdk/querystring-parser": "3.357.0", - "@aws-sdk/types": "3.357.0", + "@aws-sdk/credential-provider-ini": { + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.501.0.tgz", + "integrity": "sha512-6UXnwLtYIr298ljveumCVXsH+x7csGscK5ylY+veRFy514NqyloRdJt8JY26hhh5SF9MYnkW+JyWSJ2Ls3tOjQ==", + "requires": { + "@aws-sdk/credential-provider-env": "3.496.0", + "@aws-sdk/credential-provider-process": "3.496.0", + "@aws-sdk/credential-provider-sso": "3.501.0", + "@aws-sdk/credential-provider-web-identity": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-base64": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz", - "integrity": "sha512-v3+HBKQvqgdzcbL+pFswlx5HQsd9L6ZTlyPVL2LS9nNXnCcR3XgGz9jRskikRUuUvUXtkSG1J88GAOnJ/apTPg==", - "requires": { - "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/credential-provider-node": { + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.501.0.tgz", + "integrity": "sha512-NM62D8gYrQ1nyLYwW4k48B2/lMHDzHDcQccS1wJakr6bg5sdtG06CumwlVcY+LAa0o1xRnhHmh/yiwj/nN4avw==", + "requires": { + "@aws-sdk/credential-provider-env": "3.496.0", + "@aws-sdk/credential-provider-ini": "3.501.0", + "@aws-sdk/credential-provider-process": "3.496.0", + "@aws-sdk/credential-provider-sso": "3.501.0", + "@aws-sdk/credential-provider-web-identity": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-body-length-browser": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.310.0.tgz", - "integrity": "sha512-sxsC3lPBGfpHtNTUoGXMQXLwjmR0zVpx0rSvzTPAuoVILVsp5AU/w5FphNPxD5OVIjNbZv9KsKTuvNTiZjDp9g==", - "requires": { + "@aws-sdk/credential-provider-process": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.496.0.tgz", + "integrity": "sha512-/YZscCTGOKVmGr916Th4XF8Sz6JDtZ/n2loHG9exok9iy/qIbACsTRNLP9zexPxhPoue/oZqecY5xbVljfY34A==", + "requires": { + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-body-length-node": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.310.0.tgz", - "integrity": "sha512-2tqGXdyKhyA6w4zz7UPoS8Ip+7sayOg9BwHNidiGm2ikbDxm1YrCfYXvCBdwaJxa4hJfRVz+aL9e+d3GqPI9pQ==", - "requires": { + "@aws-sdk/credential-provider-sso": { + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.501.0.tgz", + "integrity": "sha512-y90dlvvZ55PwecODFdMx0NiNlJJfm7X6S61PKdLNCMRcu1YK+eWn0CmPHGHobBUQ4SEYhnFLcHSsf+VMim6BtQ==", + "requires": { + "@aws-sdk/client-sso": "3.496.0", + "@aws-sdk/token-providers": "3.501.0", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-buffer-from": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.310.0.tgz", - "integrity": "sha512-i6LVeXFtGih5Zs8enLrt+ExXY92QV25jtEnTKHsmlFqFAuL3VBeod6boeMXkN2p9lbSVVQ1sAOOYZOHYbYkntw==", + "@aws-sdk/credential-provider-web-identity": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.496.0.tgz", + "integrity": "sha512-IbP+qLlvJSpNPj+zW6TtFuLRTK5Tf0hW+2pom4vFyi5YSH4pn8UOC136UdewX8vhXGS9BJQ5zBDMasIyl5VeGQ==", "requires": { - "@aws-sdk/is-array-buffer": "3.310.0", + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-config-provider": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.310.0.tgz", - "integrity": "sha512-xIBaYo8dwiojCw8vnUcIL4Z5tyfb1v3yjqyJKJWV/dqKUFOOS0U591plmXbM+M/QkXyML3ypon1f8+BoaDExrg==", + "@aws-sdk/middleware-host-header": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.496.0.tgz", + "integrity": "sha512-jUdPpSJeqCYXf6hSjfwsfHway7peIV8Vz51w/BN91bF4vB/bYwAC5o9/iJiK/EoByp5asxA8fg9wFOyGjzdbLg==", "requires": { + "@aws-sdk/types": "3.496.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-defaults-mode-browser": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.358.0.tgz", - "integrity": "sha512-KGfw64wRL/gROLD4Gatda8cUsaNKNhSnx+yDDcG2WkFlFfLr6FHvTijpRxvIM2Jau2ZhcdGzbegLjsFxviTJAA==", + "@aws-sdk/middleware-logger": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.496.0.tgz", + "integrity": "sha512-EwMVSY6iBMeGbVnvwdaFl/ClMS/YWtxCAo+bcEtgk8ltRuo7qgbJem8Km/fvWC1vdWvIbe4ArdJ8iGzq62ffAw==", "requires": { - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "bowser": "^2.11.0", + "@aws-sdk/types": "3.496.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-defaults-mode-node": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.358.0.tgz", - "integrity": "sha512-2C5on0yppDS0xGpFkHRqfrG9TeTq6ive1hPX1V8UCkiI/TBQYl88XCKCKct8zTcejyK9klZUDGI8QQTan2UWkw==", + "@aws-sdk/middleware-recursion-detection": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.496.0.tgz", + "integrity": "sha512-+IuOcFsfqg2WAnaEzH6KhVbicqCxtOq9w3DH2jwTpddRlCx2Kqf6wCzg8luhHRGyjBZdsbIS+OXwyMevoppawA==", "requires": { - "@aws-sdk/config-resolver": "3.357.0", - "@aws-sdk/credential-provider-imds": "3.357.0", - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/property-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.496.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-endpoints": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.357.0.tgz", - "integrity": "sha512-XHKyS5JClT9su9hDif715jpZiWHQF9gKZXER8tW0gOizU3R9cyWc9EsJ2BRhFNhi7nt/JF/CLUEc5qDx3ETbUw==", - "requires": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/middleware-signing": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.496.0.tgz", + "integrity": "sha512-Oq73Brs4IConvWnRlh8jM1V7LHoTw9SVQklu/QW2FPlNrB3B8fuTdWHHYIWv7ybw1bykXoCY99v865Mmq/Or/g==", + "requires": { + "@aws-sdk/types": "3.496.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/signature-v4": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-hex-encoding": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz", - "integrity": "sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==", - "requires": { + "@aws-sdk/middleware-user-agent": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.496.0.tgz", + "integrity": "sha512-+iMtRxFk0GmFWNUF4ilxylOQd9PZdR4ZC9jkcPIh1PZlvKtpCyFywKlk5RRZKklSoJ/CttcqwhMvOXTNbWm/0w==", + "requires": { + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-locate-window": { - "version": "3.465.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.465.0.tgz", - "integrity": "sha512-f+QNcWGswredzC1ExNAB/QzODlxwaTdXkNT5cvke2RLX8SFU5pYk6h4uCtWC0vWPELzOfMfloBrJefBzlarhsw==", + "@aws-sdk/region-config-resolver": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.496.0.tgz", + "integrity": "sha512-URrNVOPHPgEDm6QFu6lDC2cUFs+Jx23mA3jEwCvoKlXiEY/ZoWjH8wlX3OMUlLrF1qoUTuD03jjrJzF6zoCgug==", "requires": { + "@aws-sdk/types": "3.496.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-middleware": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.357.0.tgz", - "integrity": "sha512-pV1krjZs7BdahZBfsCJMatE8kcor7GFsBOWrQgQDm9T0We5b5xPpOO2vxAD0RytBpY8Ky2ELs/+qXMv7l5fWIA==", + "@aws-sdk/token-providers": { + "version": "3.501.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.501.0.tgz", + "integrity": "sha512-MvLPhNxlStmQqVm2crGLUqYWvK/AbMmI9j4FbEfJ15oG/I+730zjSJQEy2MvdiqbJRDPZ/tRCL89bUedOrmi0g==", "requires": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.496.0", + "@aws-sdk/middleware-logger": "3.496.0", + "@aws-sdk/middleware-recursion-detection": "3.496.0", + "@aws-sdk/middleware-user-agent": "3.496.0", + "@aws-sdk/region-config-resolver": "3.496.0", + "@aws-sdk/types": "3.496.0", + "@aws-sdk/util-endpoints": "3.496.0", + "@aws-sdk/util-user-agent-browser": "3.496.0", + "@aws-sdk/util-user-agent-node": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-retry": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.357.0.tgz", - "integrity": "sha512-SUqYJE9msbuOVq+vnUy+t0LH7XuYNFz66dSF8q6tedsbJK4j8tgya0I1Ct3m06ynGrXDJMaj39I7AXCyW9bjtw==", + "@aws-sdk/types": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.496.0.tgz", + "integrity": "sha512-umkGadK4QuNQaMoDICMm7NKRI/mYSXiyPjcn3d53BhsuArYU/52CebGQKdt4At7SwwsiVJZw9RNBHyN5Mm0HVw==", "requires": { - "@aws-sdk/service-error-classification": "3.357.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-stream": { - "version": "3.358.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream/-/util-stream-3.358.0.tgz", - "integrity": "sha512-zUhpjxAXV2+0eALlTU6uXRYMs10XYpcYzl3NtLRe4wWgnrOOOZnF/t5LQDoKXOfaMdzwZ+i90+PYr+6JQ58+7g==", + "@aws-sdk/util-endpoints": { + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.496.0.tgz", + "integrity": "sha512-1QzOiWHi383ZwqSi/R2KgKCd7M+6DxkxI5acqLPm8mvDRDP2jRjrnVaC0g9/tlttWousGEemDUWStwrD2mVYSw==", "requires": { - "@aws-sdk/fetch-http-handler": "3.357.0", - "@aws-sdk/node-http-handler": "3.357.0", - "@aws-sdk/types": "3.357.0", - "@aws-sdk/util-base64": "3.310.0", - "@aws-sdk/util-buffer-from": "3.310.0", - "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-utf8": "3.310.0", + "@aws-sdk/types": "3.496.0", + "@smithy/types": "^2.9.1", + "@smithy/util-endpoints": "^1.1.1", "tslib": "^2.5.0" } }, - "@aws-sdk/util-uri-escape": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.310.0.tgz", - "integrity": "sha512-drzt+aB2qo2LgtDoiy/3sVG8w63cgLkqFIa2NFlGpUgHFWTXkqtbgf4L5QdjRGKWhmZsnqkbtL7vkSWEcYDJ4Q==", + "@aws-sdk/util-locate-window": { + "version": "3.495.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.495.0.tgz", + "integrity": "sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==", "requires": { "tslib": "^2.5.0" } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.357.0.tgz", - "integrity": "sha512-JHaWlNIUkPNvXkqeDOrqFzAlAgdwZK5mZw7FQnCRvf8tdSogpGZSkuyb9Z6rLD9gC40Srbc2nepO1cFpeMsDkA==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.496.0.tgz", + "integrity": "sha512-4j2spN+h0I0qfSMsGvJXTfQBu1e18rPdekKvzsGJxhaAE1tNgUfUT4nbvc5uVn0sNjZmirskmJ3kfbzVOrqIFg==", "requires": { - "@aws-sdk/types": "3.357.0", + "@aws-sdk/types": "3.496.0", + "@smithy/types": "^2.9.1", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.357.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.357.0.tgz", - "integrity": "sha512-RdpQoaJWQvcS99TVgSbT451iGrlH4qpWUWFA9U1IRhxOSsmC1hz8ME7xc8nci9SREx/ZlfT3ai6LpoAzAtIEMA==", - "requires": { - "@aws-sdk/node-config-provider": "3.357.0", - "@aws-sdk/types": "3.357.0", - "tslib": "^2.5.0" - } - }, - "@aws-sdk/util-utf8": { - "version": "3.310.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.310.0.tgz", - "integrity": "sha512-DnLfFT8uCO22uOJc0pt0DsSNau1GTisngBCDw8jQuWT5CqogMJu4b/uXmwEqfj8B3GX6Xsz8zOd6JpRlPftQoA==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.496.0.tgz", + "integrity": "sha512-h0Ax0jlDc7UIo3KoSI4C4tVLBFoiAdx3+DhTVfgLS7x93d41dMlziPoBX2RgdcFn37qnzw6AQKTVTMwDbRCGpg==", "requires": { - "@aws-sdk/util-buffer-from": "3.310.0", + "@aws-sdk/types": "3.496.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, @@ -12073,20 +11804,420 @@ "@sinonjs/commons": "^1.7.0" } }, + "@smithy/abort-controller": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.1.tgz", + "integrity": "sha512-1+qdrUqLhaALYL0iOcN43EP6yAXXQ2wWZ6taf4S2pNGowmOc5gx+iMQv+E42JizNJjB0+gEadOXeV1Bf7JWL1Q==", + "requires": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/config-resolver": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.1.tgz", + "integrity": "sha512-lxfLDpZm+AWAHPFZps5JfDoO9Ux1764fOgvRUBpHIO8HWHcSN1dkgsago1qLRVgm1BZ8RCm8cgv99QvtaOWIhw==", + "requires": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/core": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.2.tgz", + "integrity": "sha512-tYDmTp0f2TZVE18jAOH1PnmkngLQ+dOGUlMd1u67s87ieueNeyqhja6z/Z4MxhybEiXKOWFOmGjfTZWFxljwJw==", + "requires": { + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/credential-provider-imds": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.1.tgz", + "integrity": "sha512-7XHjZUxmZYnONheVQL7j5zvZXga+EWNgwEAP6OPZTi7l8J4JTeNh9aIOfE5fKHZ/ee2IeNOh54ZrSna+Vc6TFA==", + "requires": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/eventstream-codec": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.1.tgz", + "integrity": "sha512-E8KYBxBIuU4c+zrpR22VsVrOPoEDzk35bQR3E+xm4k6Pa6JqzkDOdMyf9Atac5GPNKHJBdVaQ4JtjdWX2rl/nw==", + "requires": { + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/fetch-http-handler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.1.tgz", + "integrity": "sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg==", + "requires": { + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-base64": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/hash-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.1.tgz", + "integrity": "sha512-Qhoq0N8f2OtCnvUpCf+g1vSyhYQrZjhSwvJ9qvR8BUGOtTXiyv2x1OD2e6jVGmlpC4E4ax1USHoyGfV9JFsACg==", + "requires": { + "@smithy/types": "^2.9.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/invalid-dependency": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.1.tgz", + "integrity": "sha512-7WTgnKw+VPg8fxu2v9AlNOQ5yaz6RA54zOVB4f6vQuR0xFKd+RzlCpt0WidYTsye7F+FYDIaS/RnJW4pxjNInw==", + "requires": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/is-array-buffer": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz", + "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==", + "requires": { + "tslib": "^2.5.0" + } + }, + "@smithy/middleware-content-length": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.1.tgz", + "integrity": "sha512-rSr9ezUl9qMgiJR0UVtVOGEZElMdGFyl8FzWEF5iEKTlcWxGr2wTqGfDwtH3LAB7h+FPkxqv4ZU4cpuCN9Kf/g==", + "requires": { + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/middleware-endpoint": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.1.tgz", + "integrity": "sha512-XPZTb1E2Oav60Ven3n2PFx+rX9EDsU/jSTA8VDamt7FXks67ekjPY/XrmmPDQaFJOTUHJNKjd8+kZxVO5Ael4Q==", + "requires": { + "@smithy/middleware-serde": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/middleware-retry": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.1.tgz", + "integrity": "sha512-eMIHOBTXro6JZ+WWzZWd/8fS8ht5nS5KDQjzhNMHNRcG5FkNTqcKpYhw7TETMYzbLfhO5FYghHy1vqDWM4FLDA==", + "requires": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/service-error-classification": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-retry": "^2.1.1", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + } + }, + "@smithy/middleware-serde": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.1.tgz", + "integrity": "sha512-D8Gq0aQBeE1pxf3cjWVkRr2W54t+cdM2zx78tNrVhqrDykRA7asq8yVJij1u5NDtKzKqzBSPYh7iW0svUKg76g==", + "requires": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/middleware-stack": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.1.tgz", + "integrity": "sha512-KPJhRlhsl8CjgGXK/DoDcrFGfAqoqvuwlbxy+uOO4g2Azn1dhH+GVfC3RAp+6PoL5PWPb+vt6Z23FP+Mr6qeCw==", + "requires": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/node-config-provider": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.1.tgz", + "integrity": "sha512-epzK3x1xNxA9oJgHQ5nz+2j6DsJKdHfieb+YgJ7ATWxzNcB7Hc+Uya2TUck5MicOPhDV8HZImND7ZOecVr+OWg==", + "requires": { + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/node-http-handler": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.3.1.tgz", + "integrity": "sha512-gLA8qK2nL9J0Rk/WEZSvgin4AppvuCYRYg61dcUo/uKxvMZsMInL5I5ZdJTogOvdfVug3N2dgI5ffcUfS4S9PA==", + "requires": { + "@smithy/abort-controller": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/property-provider": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.1.tgz", + "integrity": "sha512-FX7JhhD/o5HwSwg6GLK9zxrMUrGnb3PzNBrcthqHKBc3dH0UfgEAU24xnJ8F0uow5mj17UeBEOI6o3CF2k7Mhw==", + "requires": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, "@smithy/protocol-http": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.2.0.tgz", - "integrity": "sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.1.1.tgz", + "integrity": "sha512-6ZRTSsaXuSL9++qEwH851hJjUA0OgXdQFCs+VDw4tGH256jQ3TjYY/i34N4vd24RV3nrjNsgd1yhb57uMoKbzQ==", + "requires": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/querystring-builder": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.1.tgz", + "integrity": "sha512-C/ko/CeEa8jdYE4gt6nHO5XDrlSJ3vdCG0ZAc6nD5ZIE7LBp0jCx4qoqp7eoutBu7VrGMXERSRoPqwi1WjCPbg==", + "requires": { + "@smithy/types": "^2.9.1", + "@smithy/util-uri-escape": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/querystring-parser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.1.tgz", + "integrity": "sha512-H4+6jKGVhG1W4CIxfBaSsbm98lOO88tpDWmZLgkJpt8Zkk/+uG0FmmqMuCAc3HNM2ZDV+JbErxr0l5BcuIf/XQ==", + "requires": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/service-error-classification": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.1.tgz", + "integrity": "sha512-txEdZxPUgM1PwGvDvHzqhXisrc5LlRWYCf2yyHfvITWioAKat7srQvpjMAvgzf0t6t7j8yHrryXU9xt7RZqFpw==", + "requires": { + "@smithy/types": "^2.9.1" + } + }, + "@smithy/shared-ini-file-loader": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.1.tgz", + "integrity": "sha512-2E2kh24igmIznHLB6H05Na4OgIEilRu0oQpYXo3LCNRrawHAcfDKq9004zJs+sAMt2X5AbY87CUCJ7IpqpSgdw==", "requires": { - "@smithy/types": "^1.2.0", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/signature-v4": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.1.tgz", + "integrity": "sha512-Hb7xub0NHuvvQD3YwDSdanBmYukoEkhqBjqoxo+bSdC0ryV9cTfgmNjuAQhTPYB6yeU7hTR+sPRiFMlxqv6kmg==", + "requires": { + "@smithy/eventstream-codec": "^2.1.1", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-uri-escape": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/smithy-client": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.3.1.tgz", + "integrity": "sha512-YsTdU8xVD64r2pLEwmltrNvZV6XIAC50LN6ivDopdt+YiF/jGH6PY9zUOu0CXD/d8GMB8gbhnpPsdrjAXHS9QA==", + "requires": { + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-stream": "^2.1.1", "tslib": "^2.5.0" } }, "@smithy/types": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.2.0.tgz", - "integrity": "sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.9.1.tgz", + "integrity": "sha512-vjXlKNXyprDYDuJ7UW5iobdmyDm6g8dDG+BFUncAg/3XJaN45Gy5RWWWUVgrzIK7S4R1KWgIX5LeJcfvSI24bw==", + "requires": { + "tslib": "^2.5.0" + } + }, + "@smithy/url-parser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.1.tgz", + "integrity": "sha512-qC9Bv8f/vvFIEkHsiNrUKYNl8uKQnn4BdhXl7VzQRP774AwIjiSMMwkbT+L7Fk8W8rzYVifzJNYxv1HwvfBo3Q==", + "requires": { + "@smithy/querystring-parser": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/util-base64": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz", + "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==", + "requires": { + "@smithy/util-buffer-from": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/util-body-length-browser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz", + "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==", + "requires": { + "tslib": "^2.5.0" + } + }, + "@smithy/util-body-length-node": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz", + "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==", + "requires": { + "tslib": "^2.5.0" + } + }, + "@smithy/util-buffer-from": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz", + "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==", + "requires": { + "@smithy/is-array-buffer": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/util-config-provider": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz", + "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==", + "requires": { + "tslib": "^2.5.0" + } + }, + "@smithy/util-defaults-mode-browser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.1.tgz", + "integrity": "sha512-lqLz/9aWRO6mosnXkArtRuQqqZBhNpgI65YDpww4rVQBuUT7qzKbDLG5AmnQTCiU4rOquaZO/Kt0J7q9Uic7MA==", + "requires": { + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "bowser": "^2.11.0", + "tslib": "^2.5.0" + } + }, + "@smithy/util-defaults-mode-node": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.2.0.tgz", + "integrity": "sha512-iFJp/N4EtkanFpBUtSrrIbtOIBf69KNuve03ic1afhJ9/korDxdM0c6cCH4Ehj/smI9pDCfVv+bqT3xZjF2WaA==", + "requires": { + "@smithy/config-resolver": "^2.1.1", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/util-endpoints": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.1.tgz", + "integrity": "sha512-sI4d9rjoaekSGEtq3xSb2nMjHMx8QXcz2cexnVyRWsy4yQ9z3kbDpX+7fN0jnbdOp0b3KSTZJZ2Yb92JWSanLw==", + "requires": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/util-hex-encoding": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz", + "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==", + "requires": { + "tslib": "^2.5.0" + } + }, + "@smithy/util-middleware": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.1.tgz", + "integrity": "sha512-mKNrk8oz5zqkNcbcgAAepeJbmfUW6ogrT2Z2gDbIUzVzNAHKJQTYmH9jcy0jbWb+m7ubrvXKb6uMjkSgAqqsFA==", + "requires": { + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/util-retry": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.1.tgz", + "integrity": "sha512-Mg+xxWPTeSPrthpC5WAamJ6PW4Kbo01Fm7lWM1jmGRvmrRdsd3192Gz2fBXAMURyXpaNxyZf6Hr/nQ4q70oVEA==", + "requires": { + "@smithy/service-error-classification": "^2.1.1", + "@smithy/types": "^2.9.1", + "tslib": "^2.5.0" + } + }, + "@smithy/util-stream": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.1.tgz", + "integrity": "sha512-J7SMIpUYvU4DQN55KmBtvaMc7NM3CZ2iWICdcgaovtLzseVhAqFRYqloT3mh0esrFw+3VEK6nQFteFsTqZSECQ==", + "requires": { + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + } + }, + "@smithy/util-uri-escape": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz", + "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==", + "requires": { + "tslib": "^2.5.0" + } + }, + "@smithy/util-utf8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz", + "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==", "requires": { + "@smithy/util-buffer-from": "^2.1.1", "tslib": "^2.5.0" } }, diff --git a/package.json b/package.json index e423ca8..12f11ab 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "author": "Kiran Kharade", "license": "ISC", "dependencies": { - "@aws-sdk/client-comprehendmedical": "^3.359.0", + "@aws-sdk/client-comprehendmedical": "^3.501.0", "@types/adm-zip": "^0.4.34", "@types/bcryptjs": "^2.4.2", "@types/express": "^4.17.17", From a0fff3d0db053143a6376b23a1fa11b8a1db894a Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Mon, 19 Feb 2024 17:19:22 +0000 Subject: [PATCH 160/169] fix: upgrade sharp from 0.32.6 to 0.33.2 Snyk has created this PR to upgrade sharp from 0.32.6 to 0.33.2. See this package in npm: https://www.npmjs.com/package/sharp See this project in Snyk: https://app.snyk.io/org/rf-opssupport/project/299a0289-70f0-4381-acc9-5a2a4d85ec08?utm_source=github&utm_medium=referral&page=upgrade-pr --- package-lock.json | 1277 +++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 658 insertions(+), 621 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5b8e616..b75fdd9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,7 @@ "readdirp": "^3.6.0", "reflect-metadata": "^0.1.13", "sequelize": "^6.15.0", - "sharp": "^0.32.6", + "sharp": "^0.33.2", "sleep": "^6.3.0", "timezone-support": "^2.0.2", "tsyringe": "^4.6.0", @@ -1865,6 +1865,15 @@ "node": ">=12" } }, + "node_modules/@emnapi/runtime": { + "version": "0.45.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.45.0.tgz", + "integrity": "sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -1927,6 +1936,437 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.2.tgz", + "integrity": "sha512-itHBs1rPmsmGF9p4qRe++CzCgd+kFYktnsoR1sbIAfsRMrJZau0Tt1AH9KVnufc2/tU02Gf6Ibujx+15qRE03w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.1" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.2.tgz", + "integrity": "sha512-/rK/69Rrp9x5kaWBjVN07KixZanRr+W1OiyKdXcbjQD6KbW+obaTeBBtLUAtbBsnlTTmWthw99xqoOS7SsySDg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.1" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.1.tgz", + "integrity": "sha512-kQyrSNd6lmBV7O0BUiyu/OEw9yeNGFbQhbxswS1i6rMDwBBSX+e+rPzu3S+MwAiGU3HdLze3PanQ4Xkfemgzcw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "macos": ">=11", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.1.tgz", + "integrity": "sha512-eVU/JYLPVjhhrd8Tk6gosl5pVlvsqiFlt50wotCvdkFGf+mDNBJxMh+bvav+Wt3EBnNZWq8Sp2I7XfSjm8siog==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "macos": ">=10.13", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.1.tgz", + "integrity": "sha512-FtdMvR4R99FTsD53IA3LxYGghQ82t3yt0ZQ93WMZ2xV3dqrb0E8zq4VHaTOuLEAuA83oDawHV3fd+BsAPadHIQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.1.tgz", + "integrity": "sha512-bnGG+MJjdX70mAQcSLxgeJco11G+MxTz+ebxlz8Y3dxyeb3Nkl7LgLI0mXupoO+u1wRNx/iRj5yHtzA4sde1yA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.1.tgz", + "integrity": "sha512-3+rzfAR1YpMOeA2zZNp+aYEzGNWK4zF3+sdMxuCS3ey9HhDbJ66w6hDSHDMoap32DueFwhhs3vwooAB2MaK4XQ==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.1.tgz", + "integrity": "sha512-3NR1mxFsaSgMMzz1bAnnKbSAI+lHXVTqAHgc1bgzjHuXjo4hlscpUxc0vFSAPKI3yuzdzcZOkq7nDPrP2F8Jgw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.1.tgz", + "integrity": "sha512-5aBRcjHDG/T6jwC3Edl3lP8nl9U2Yo8+oTl5drd1dh9Z1EBfzUKAJFUDTDisDjUwc7N4AjnPGfCA3jl3hY8uDg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.1.tgz", + "integrity": "sha512-dcT7inI9DBFK6ovfeWRe3hG30h51cBAP5JXlZfx6pzc/Mnf9HFCQDLtYf4MCBjxaaTfjCCjkBxcy3XzOAo5txw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.2.tgz", + "integrity": "sha512-Fndk/4Zq3vAc4G/qyfXASbS3HBZbKrlnKZLEJzPLrXoJuipFNNwTes71+Ki1hwYW5lch26niRYoZFAtZVf3EGA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.1" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.2.tgz", + "integrity": "sha512-pz0NNo882vVfqJ0yNInuG9YH71smP4gRSdeL09ukC2YLE6ZyZePAlWKEHgAzJGTiOh8Qkaov6mMIMlEhmLdKew==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.1" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.2.tgz", + "integrity": "sha512-MBoInDXDppMfhSzbMmOQtGfloVAflS2rP1qPcUIiITMi36Mm5YR7r0ASND99razjQUpHTzjrU1flO76hKvP5RA==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.28", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.1" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.2.tgz", + "integrity": "sha512-xUT82H5IbXewKkeF5aiooajoO1tQV4PnKfS/OZtb5DDdxS/FCI/uXTVZ35GQ97RZXsycojz/AJ0asoz6p2/H/A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.1" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.2.tgz", + "integrity": "sha512-F+0z8JCu/UnMzg8IYW1TMeiViIWBVg7IWP6nE0p5S5EPQxlLd76c8jYemG21X99UzFwgkRo5yz2DS+zbrnxZeA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.1" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.2.tgz", + "integrity": "sha512-+ZLE3SQmSL+Fn1gmSaM8uFusW5Y3J9VOf+wMGNnTtJUMUxFhv+P4UPaYEYT8tqnyYVaOVGgMN/zsOxn9pSsO2A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "musl": ">=1.2.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.1" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.2.tgz", + "integrity": "sha512-fLbTaESVKuQcpm8ffgBD7jLb/CQLcATju/jxtTXR1XCLwbOQt+OL5zPHSDMmp2JZIeq82e18yE0Vv7zh6+6BfQ==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/runtime": "^0.45.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.2.tgz", + "integrity": "sha512-okBpql96hIGuZ4lN3+nsAjGeggxKm7hIRu9zyec0lnfB8E7Z6p95BuRZzDDXZOl2e8UmR4RhYt631i7mfmKU8g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.2.tgz", + "integrity": "sha512-E4magOks77DK47FwHUIGH0RYWSgRBfGdK56kIHSVeB9uIS4pPFr4N2kIVsXdQQo4LzOsENKV5KAhRlRL7eMAdg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -3272,11 +3712,6 @@ "node": ">= 6" } }, - "node_modules/b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" - }, "node_modules/babel-jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", @@ -3407,39 +3842,6 @@ "node": "*" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/body-parser": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", @@ -3703,11 +4105,6 @@ "resolved": "https://registry.npmjs.org/check-password-strength/-/check-password-strength-2.0.5.tgz", "integrity": "sha512-b61T/+4OIGWSMRxJUsYOY44Cf9w7orIt2OQmF/WgH16qbJKIT1jG3XHx3jP+o090eH7rq13DRleKgXCiROBzMQ==" }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, "node_modules/ci-info": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", @@ -4006,34 +4403,12 @@ "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", "dev": true }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", "dev": true }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -4244,14 +4619,6 @@ "node": ">= 0.8" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -4847,14 +5214,6 @@ "node": ">=0.8" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "engines": { - "node": ">=6" - } - }, "node_modules/expect": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", @@ -4957,11 +5316,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" - }, "node_modules/fast-glob": { "version": "3.2.11", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", @@ -5184,11 +5538,6 @@ "node": ">= 0.6" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -5355,11 +5704,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, "node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -5752,11 +6096,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, "node_modules/internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", @@ -7213,17 +7552,6 @@ "node": ">=6" } }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -7239,12 +7567,8 @@ "node_modules/minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true }, "node_modules/moment": { "version": "2.29.4", @@ -7329,11 +7653,6 @@ "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -7388,22 +7707,6 @@ "node": ">= 0.6" } }, - "node_modules/node-abi": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.22.0.tgz", - "integrity": "sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" - }, "node_modules/node-cron": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.0.tgz", @@ -7603,6 +7906,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "dependencies": { "wrappy": "1" } @@ -8001,31 +8305,6 @@ "node": ">=0.10.0" } }, - "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -8131,15 +8410,6 @@ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -8207,11 +8477,6 @@ } ] }, - "node_modules/queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" - }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -8225,35 +8490,13 @@ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, "node_modules/react-is": { @@ -8262,19 +8505,6 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -8663,45 +8893,42 @@ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sharp": { - "version": "0.32.6", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", - "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.2.tgz", + "integrity": "sha512-WlYOPyyPDiiM07j/UO+E720ju6gtNtHjEGg5vovUk1Lgxyjm2LFO+37Nt/UI3MMh2l6hxTWQWi7qk3cXJTutcQ==", "hasInstallScript": true, "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.2", - "node-addon-api": "^6.1.0", - "prebuild-install": "^7.1.1", - "semver": "^7.5.4", - "simple-get": "^4.0.1", - "tar-fs": "^3.0.4", - "tunnel-agent": "^0.6.0" + "semver": "^7.5.4" }, "engines": { - "node": ">=14.15.0" + "libvips": ">=8.15.1", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, "funding": { "url": "https://opencollective.com/libvips" - } - }, - "node_modules/sharp/node_modules/tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", - "dependencies": { - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - } - }, - "node_modules/sharp/node_modules/tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.2", + "@img/sharp-darwin-x64": "0.33.2", + "@img/sharp-libvips-darwin-arm64": "1.0.1", + "@img/sharp-libvips-darwin-x64": "1.0.1", + "@img/sharp-libvips-linux-arm": "1.0.1", + "@img/sharp-libvips-linux-arm64": "1.0.1", + "@img/sharp-libvips-linux-s390x": "1.0.1", + "@img/sharp-libvips-linux-x64": "1.0.1", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.1", + "@img/sharp-libvips-linuxmusl-x64": "1.0.1", + "@img/sharp-linux-arm": "0.33.2", + "@img/sharp-linux-arm64": "0.33.2", + "@img/sharp-linux-s390x": "0.33.2", + "@img/sharp-linux-x64": "0.33.2", + "@img/sharp-linuxmusl-arm64": "0.33.2", + "@img/sharp-linuxmusl-x64": "0.33.2", + "@img/sharp-wasm32": "0.33.2", + "@img/sharp-win32-ia32": "0.33.2", + "@img/sharp-win32-x64": "0.33.2" } }, "node_modules/shebang-command": { @@ -8744,49 +8971,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -8942,23 +9126,6 @@ "node": ">=10.0.0" } }, - "node_modules/streamx": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", - "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", - "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, "node_modules/string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -9160,32 +9327,6 @@ "node": ">=8" } }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -9491,17 +9632,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, "node_modules/twilio": { "version": "3.77.0", "resolved": "https://registry.npmjs.org/twilio/-/twilio-3.77.0.tgz", @@ -9732,11 +9862,6 @@ "which-typed-array": "^1.1.2" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -10025,7 +10150,8 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "node_modules/write-file-atomic": { "version": "3.0.3", @@ -11657,6 +11783,15 @@ "@cspotcode/source-map-consumer": "0.8.0" } }, + "@emnapi/runtime": { + "version": "0.45.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.45.0.tgz", + "integrity": "sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==", + "optional": true, + "requires": { + "tslib": "^2.4.0" + } + }, "@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -11712,6 +11847,147 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "@img/sharp-darwin-arm64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.2.tgz", + "integrity": "sha512-itHBs1rPmsmGF9p4qRe++CzCgd+kFYktnsoR1sbIAfsRMrJZau0Tt1AH9KVnufc2/tU02Gf6Ibujx+15qRE03w==", + "optional": true, + "requires": { + "@img/sharp-libvips-darwin-arm64": "1.0.1" + } + }, + "@img/sharp-darwin-x64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.2.tgz", + "integrity": "sha512-/rK/69Rrp9x5kaWBjVN07KixZanRr+W1OiyKdXcbjQD6KbW+obaTeBBtLUAtbBsnlTTmWthw99xqoOS7SsySDg==", + "optional": true, + "requires": { + "@img/sharp-libvips-darwin-x64": "1.0.1" + } + }, + "@img/sharp-libvips-darwin-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.1.tgz", + "integrity": "sha512-kQyrSNd6lmBV7O0BUiyu/OEw9yeNGFbQhbxswS1i6rMDwBBSX+e+rPzu3S+MwAiGU3HdLze3PanQ4Xkfemgzcw==", + "optional": true + }, + "@img/sharp-libvips-darwin-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.1.tgz", + "integrity": "sha512-eVU/JYLPVjhhrd8Tk6gosl5pVlvsqiFlt50wotCvdkFGf+mDNBJxMh+bvav+Wt3EBnNZWq8Sp2I7XfSjm8siog==", + "optional": true + }, + "@img/sharp-libvips-linux-arm": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.1.tgz", + "integrity": "sha512-FtdMvR4R99FTsD53IA3LxYGghQ82t3yt0ZQ93WMZ2xV3dqrb0E8zq4VHaTOuLEAuA83oDawHV3fd+BsAPadHIQ==", + "optional": true + }, + "@img/sharp-libvips-linux-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.1.tgz", + "integrity": "sha512-bnGG+MJjdX70mAQcSLxgeJco11G+MxTz+ebxlz8Y3dxyeb3Nkl7LgLI0mXupoO+u1wRNx/iRj5yHtzA4sde1yA==", + "optional": true + }, + "@img/sharp-libvips-linux-s390x": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.1.tgz", + "integrity": "sha512-3+rzfAR1YpMOeA2zZNp+aYEzGNWK4zF3+sdMxuCS3ey9HhDbJ66w6hDSHDMoap32DueFwhhs3vwooAB2MaK4XQ==", + "optional": true + }, + "@img/sharp-libvips-linux-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.1.tgz", + "integrity": "sha512-3NR1mxFsaSgMMzz1bAnnKbSAI+lHXVTqAHgc1bgzjHuXjo4hlscpUxc0vFSAPKI3yuzdzcZOkq7nDPrP2F8Jgw==", + "optional": true + }, + "@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.1.tgz", + "integrity": "sha512-5aBRcjHDG/T6jwC3Edl3lP8nl9U2Yo8+oTl5drd1dh9Z1EBfzUKAJFUDTDisDjUwc7N4AjnPGfCA3jl3hY8uDg==", + "optional": true + }, + "@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.1.tgz", + "integrity": "sha512-dcT7inI9DBFK6ovfeWRe3hG30h51cBAP5JXlZfx6pzc/Mnf9HFCQDLtYf4MCBjxaaTfjCCjkBxcy3XzOAo5txw==", + "optional": true + }, + "@img/sharp-linux-arm": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.2.tgz", + "integrity": "sha512-Fndk/4Zq3vAc4G/qyfXASbS3HBZbKrlnKZLEJzPLrXoJuipFNNwTes71+Ki1hwYW5lch26niRYoZFAtZVf3EGA==", + "optional": true, + "requires": { + "@img/sharp-libvips-linux-arm": "1.0.1" + } + }, + "@img/sharp-linux-arm64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.2.tgz", + "integrity": "sha512-pz0NNo882vVfqJ0yNInuG9YH71smP4gRSdeL09ukC2YLE6ZyZePAlWKEHgAzJGTiOh8Qkaov6mMIMlEhmLdKew==", + "optional": true, + "requires": { + "@img/sharp-libvips-linux-arm64": "1.0.1" + } + }, + "@img/sharp-linux-s390x": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.2.tgz", + "integrity": "sha512-MBoInDXDppMfhSzbMmOQtGfloVAflS2rP1qPcUIiITMi36Mm5YR7r0ASND99razjQUpHTzjrU1flO76hKvP5RA==", + "optional": true, + "requires": { + "@img/sharp-libvips-linux-s390x": "1.0.1" + } + }, + "@img/sharp-linux-x64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.2.tgz", + "integrity": "sha512-xUT82H5IbXewKkeF5aiooajoO1tQV4PnKfS/OZtb5DDdxS/FCI/uXTVZ35GQ97RZXsycojz/AJ0asoz6p2/H/A==", + "optional": true, + "requires": { + "@img/sharp-libvips-linux-x64": "1.0.1" + } + }, + "@img/sharp-linuxmusl-arm64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.2.tgz", + "integrity": "sha512-F+0z8JCu/UnMzg8IYW1TMeiViIWBVg7IWP6nE0p5S5EPQxlLd76c8jYemG21X99UzFwgkRo5yz2DS+zbrnxZeA==", + "optional": true, + "requires": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.1" + } + }, + "@img/sharp-linuxmusl-x64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.2.tgz", + "integrity": "sha512-+ZLE3SQmSL+Fn1gmSaM8uFusW5Y3J9VOf+wMGNnTtJUMUxFhv+P4UPaYEYT8tqnyYVaOVGgMN/zsOxn9pSsO2A==", + "optional": true, + "requires": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.1" + } + }, + "@img/sharp-wasm32": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.2.tgz", + "integrity": "sha512-fLbTaESVKuQcpm8ffgBD7jLb/CQLcATju/jxtTXR1XCLwbOQt+OL5zPHSDMmp2JZIeq82e18yE0Vv7zh6+6BfQ==", + "optional": true, + "requires": { + "@emnapi/runtime": "^0.45.0" + } + }, + "@img/sharp-win32-ia32": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.2.tgz", + "integrity": "sha512-okBpql96hIGuZ4lN3+nsAjGeggxKm7hIRu9zyec0lnfB8E7Z6p95BuRZzDDXZOl2e8UmR4RhYt631i7mfmKU8g==", + "optional": true + }, + "@img/sharp-win32-x64": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.2.tgz", + "integrity": "sha512-E4magOks77DK47FwHUIGH0RYWSgRBfGdK56kIHSVeB9uIS4pPFr4N2kIVsXdQQo4LzOsENKV5KAhRlRL7eMAdg==", + "optional": true + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -12788,11 +13064,6 @@ } } }, - "b4a": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", - "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" - }, "babel-jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", @@ -12885,27 +13156,6 @@ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, "body-parser": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", @@ -13104,11 +13354,6 @@ "resolved": "https://registry.npmjs.org/check-password-strength/-/check-password-strength-2.0.5.tgz", "integrity": "sha512-b61T/+4OIGWSMRxJUsYOY44Cf9w7orIt2OQmF/WgH16qbJKIT1jG3XHx3jP+o090eH7rq13DRleKgXCiROBzMQ==" }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, "ci-info": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", @@ -13353,25 +13598,12 @@ "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", "dev": true }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "requires": { - "mimic-response": "^3.1.0" - } - }, "dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", "dev": true }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -13523,14 +13755,6 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, "enquirer": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", @@ -13989,11 +14213,6 @@ "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" }, - "expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" - }, "expect": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", @@ -14084,11 +14303,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" - }, "fast-glob": { "version": "3.2.11", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", @@ -14256,11 +14470,6 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -14381,11 +14590,6 @@ "get-intrinsic": "^1.1.1" } }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, "glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -14667,11 +14871,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, "internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", @@ -15797,11 +15996,6 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -15814,12 +16008,8 @@ "minimist": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true }, "moment": { "version": "2.29.4", @@ -15893,11 +16083,6 @@ "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" }, - "napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -15942,19 +16127,6 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, - "node-abi": { - "version": "3.22.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.22.0.tgz", - "integrity": "sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w==", - "requires": { - "semver": "^7.3.5" - } - }, - "node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" - }, "node-cron": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.0.tgz", @@ -16100,6 +16272,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -16393,25 +16566,6 @@ "xtend": "^4.0.0" } }, - "prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "requires": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - } - }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -16489,15 +16643,6 @@ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -16538,11 +16683,6 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "queue-tick": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", - "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" - }, "range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -16559,40 +16699,12 @@ "unpipe": "1.0.0" } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - } - } - }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -16848,40 +16960,32 @@ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sharp": { - "version": "0.32.6", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", - "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", - "requires": { + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.2.tgz", + "integrity": "sha512-WlYOPyyPDiiM07j/UO+E720ju6gtNtHjEGg5vovUk1Lgxyjm2LFO+37Nt/UI3MMh2l6hxTWQWi7qk3cXJTutcQ==", + "requires": { + "@img/sharp-darwin-arm64": "0.33.2", + "@img/sharp-darwin-x64": "0.33.2", + "@img/sharp-libvips-darwin-arm64": "1.0.1", + "@img/sharp-libvips-darwin-x64": "1.0.1", + "@img/sharp-libvips-linux-arm": "1.0.1", + "@img/sharp-libvips-linux-arm64": "1.0.1", + "@img/sharp-libvips-linux-s390x": "1.0.1", + "@img/sharp-libvips-linux-x64": "1.0.1", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.1", + "@img/sharp-libvips-linuxmusl-x64": "1.0.1", + "@img/sharp-linux-arm": "0.33.2", + "@img/sharp-linux-arm64": "0.33.2", + "@img/sharp-linux-s390x": "0.33.2", + "@img/sharp-linux-x64": "0.33.2", + "@img/sharp-linuxmusl-arm64": "0.33.2", + "@img/sharp-linuxmusl-x64": "0.33.2", + "@img/sharp-wasm32": "0.33.2", + "@img/sharp-win32-ia32": "0.33.2", + "@img/sharp-win32-x64": "0.33.2", "color": "^4.2.3", "detect-libc": "^2.0.2", - "node-addon-api": "^6.1.0", - "prebuild-install": "^7.1.1", - "semver": "^7.5.4", - "simple-get": "^4.0.1", - "tar-fs": "^3.0.4", - "tunnel-agent": "^0.6.0" - }, - "dependencies": { - "tar-fs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", - "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", - "requires": { - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^3.1.5" - } - }, - "tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", - "requires": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" - } - } + "semver": "^7.5.4" } }, "shebang-command": { @@ -16915,21 +17019,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" - }, - "simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "requires": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -17051,23 +17140,6 @@ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" }, - "streamx": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", - "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", - "requires": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -17221,29 +17293,6 @@ } } }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - } - }, "terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -17454,14 +17503,6 @@ } } }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, "twilio": { "version": "3.77.0", "resolved": "https://registry.npmjs.org/twilio/-/twilio-3.77.0.tgz", @@ -17655,11 +17696,6 @@ "which-typed-array": "^1.1.2" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -17885,7 +17921,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "write-file-atomic": { "version": "3.0.3", diff --git a/package.json b/package.json index e423ca8..cc39837 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "readdirp": "^3.6.0", "reflect-metadata": "^0.1.13", "sequelize": "^6.15.0", - "sharp": "^0.32.6", + "sharp": "^0.33.2", "sleep": "^6.3.0", "timezone-support": "^2.0.2", "tsyringe": "^4.6.0", From 1c51f885f60b04bac84a98d0e98e8f2e76eec2dc Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Mon, 19 Feb 2024 17:19:26 +0000 Subject: [PATCH 161/169] fix: upgrade express-rate-limit from 6.4.0 to 6.11.2 Snyk has created this PR to upgrade express-rate-limit from 6.4.0 to 6.11.2. See this package in npm: https://www.npmjs.com/package/express-rate-limit See this project in Snyk: https://app.snyk.io/org/rf-opssupport/project/299a0289-70f0-4381-acc9-5a2a4d85ec08?utm_source=github&utm_medium=referral&page=upgrade-pr --- package-lock.json | 16 ++++++++-------- package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5b8e616..a8cb451 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ "dotenv": "^8.2.0", "express": "^4.17.1", "express-fileupload": "^1.2.1", - "express-rate-limit": "^6.2.0", + "express-rate-limit": "^6.11.2", "generate-password": "^1.7.0", "googleapis": "^95.0.0", "helmet": "^5.0.2", @@ -4923,11 +4923,11 @@ } }, "node_modules/express-rate-limit": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.4.0.tgz", - "integrity": "sha512-lxQRZI4gi3qAWTf0/Uqsyugsz57h8bd7QyllXBgJvd6DJKokzW7C5DTaNvwzvAQzwHGFaItybfYGhC8gpu0V2A==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.11.2.tgz", + "integrity": "sha512-a7uwwfNTh1U60ssiIkuLFWHt4hAC5yxlLGU2VP0X4YNlyEDZAqF4tK3GD3NSitVBrCQmQ0++0uOyFOgC2y4DDw==", "engines": { - "node": ">= 12.9.0" + "node": ">= 14" }, "peerDependencies": { "express": "^4 || ^5" @@ -14068,9 +14068,9 @@ } }, "express-rate-limit": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.4.0.tgz", - "integrity": "sha512-lxQRZI4gi3qAWTf0/Uqsyugsz57h8bd7QyllXBgJvd6DJKokzW7C5DTaNvwzvAQzwHGFaItybfYGhC8gpu0V2A==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.11.2.tgz", + "integrity": "sha512-a7uwwfNTh1U60ssiIkuLFWHt4hAC5yxlLGU2VP0X4YNlyEDZAqF4tK3GD3NSitVBrCQmQ0++0uOyFOgC2y4DDw==", "requires": {} }, "extend": { diff --git a/package.json b/package.json index e423ca8..0733b88 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "dotenv": "^8.2.0", "express": "^4.17.1", "express-fileupload": "^1.2.1", - "express-rate-limit": "^6.2.0", + "express-rate-limit": "^6.11.2", "generate-password": "^1.7.0", "googleapis": "^95.0.0", "helmet": "^5.0.2", From 49b008c0195d3238b3322750199be765b952fa52 Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Wed, 21 Feb 2024 15:18:08 +0530 Subject: [PATCH 162/169] Updated the careplan scheduling for testing --- .../assessment.controller.delegate.ts | 85 +++++++++++++------ .../assets/assessment/assessment.validator.ts | 14 +-- .../enrollment.controller.delegate.ts | 81 +++++++++++++++++- .../enrollment/enrollment.validator.ts | 3 +- src/common/needle.service.ts | 44 ++++++++++ .../mappers/assets/assessment.mapper.ts | 20 +++-- .../models/assets/assessment.model.ts | 8 ++ .../assets/assessment.domain.types.ts | 6 ++ .../enrollment/enrollment.domain.types.ts | 1 + 9 files changed, 214 insertions(+), 48 deletions(-) create mode 100644 src/common/needle.service.ts diff --git a/src/api/assets/assessment/assessment.controller.delegate.ts b/src/api/assets/assessment/assessment.controller.delegate.ts index b91cd43..13e562d 100644 --- a/src/api/assets/assessment/assessment.controller.delegate.ts +++ b/src/api/assets/assessment/assessment.controller.delegate.ts @@ -23,6 +23,7 @@ import { AssessmentSearchResults } from '../../../domain.types/assets/assessment.domain.types'; import { AssetHelper } from '../../../database/repository.services/assets/asset.helper'; +import { NeedleService } from '../../../common/needle.service'; /////////////////////////////////////////////////////////////////////////////////////// @@ -40,6 +41,7 @@ export class AssessmentControllerDelegate { create = async (requestBody: any) => { await validator.validateCreateRequest(requestBody); + requestBody = await this.updateAssessmentId(requestBody); var createModel: AssessmentCreateModel = this.getCreateModel(requestBody); var record = await this._service.create(createModel); if (record === null) { @@ -72,7 +74,11 @@ export class AssessmentControllerDelegate { if (record === null) { ErrorHandler.throwNotFoundError('Assessment with id ' + id.toString() + ' cannot be found!'); } - const updateModel: AssessmentUpdateModel = this.getUpdateModel(requestBody); + let updateModel: AssessmentUpdateModel = this.getUpdateModel(requestBody); + // First find in reancare that template is present or not then update the code otherwise don't update + if (updateModel.ReferenceTemplateCode) { + updateModel = await this.updateAssessmentId(updateModel); + } const updated = await this._service.update(id, updateModel); if (updated == null) { throw new ApiError('Unable to update assessment!', 400); @@ -153,19 +159,24 @@ export class AssessmentControllerDelegate { if (Helper.hasProperty(requestBody, 'Version')) { updateModel.Version = requestBody.Version; } - + if (Helper.hasProperty(requestBody, 'ReferenceTemplateCode')) { + updateModel.ReferenceTemplateCode = requestBody.ReferenceTemplateCode; + requestBody = this.updateAssessmentId(requestBody); + } return updateModel; }; getCreateModel = (requestBody): AssessmentCreateModel => { return { - AssetCode : requestBody.AssetCode ? requestBody.AssetCode : null, - Name : requestBody.Name ? requestBody.Name : null, - Description : requestBody.Description ? requestBody.Description : null, - Template : requestBody.Template ? requestBody.Template : '{}', - Tags : requestBody.Tags ? JSON.stringify(requestBody.Tags) as string : JSON.stringify([]), - Version : requestBody.Version ? requestBody.Version : 'V1', - OwnerUserId : requestBody.OwnerUserId + AssetCode : requestBody.AssetCode ? requestBody.AssetCode : null, + Name : requestBody.Name ? requestBody.Name : null, + Description : requestBody.Description ? requestBody.Description : null, + Template : requestBody.Template ? requestBody.Template : '{}', + ReferenceTemplateCode : requestBody.ReferenceTemplateCode ? requestBody.ReferenceTemplateCode : null, + ReferenceTemplateId : requestBody.ReferenceTemplateId ? requestBody.ReferenceTemplateId : null, + Tags : requestBody.Tags ? JSON.stringify(requestBody.Tags) as string : JSON.stringify([]), + Version : requestBody.Version ? requestBody.Version : 'V1', + OwnerUserId : requestBody.OwnerUserId }; }; @@ -174,15 +185,17 @@ export class AssessmentControllerDelegate { return null; } return { - id : record.id, - AssetCode : record.AssetCode, - Name : record.Name, - Description : record.Description, - AssetCategory : record.AssetCategory, - Template : record.Template, - OwnerUserId : record.OwnerUserId, - Tags : JSON.parse(record.Tags), - Version : record.Version + id : record.id, + AssetCode : record.AssetCode, + Name : record.Name, + Description : record.Description, + AssetCategory : record.AssetCategory, + Template : record.Template, + ReferenceTemplateCode : record.ReferenceTemplateCode, + ReferenceTemplateId : record.ReferenceTemplateId, + OwnerUserId : record.OwnerUserId, + Tags : JSON.parse(record.Tags), + Version : record.Version }; }; @@ -191,19 +204,35 @@ export class AssessmentControllerDelegate { return null; } return { - id : record.id, - AssetCode : record.AssetCode, - Name : record.Name, - Description : record.Description, - AssetCategory : record.AssetCategory, - Template : record.Template, - OwnerUserId : record.OwnerUserId, - Tags : JSON.parse(record.Tags), - Version : record.Version, - CreatedAt : record.CreatedAt, + id : record.id, + AssetCode : record.AssetCode, + Name : record.Name, + Description : record.Description, + AssetCategory : record.AssetCategory, + Template : record.Template, + ReferenceTemplateCode : record.ReferenceTemplateCode, + ReferenceTemplateId : record.ReferenceTemplateId, + OwnerUserId : record.OwnerUserId, + Tags : JSON.parse(record.Tags), + Version : record.Version, + CreatedAt : record.CreatedAt, }; }; + updateAssessmentId = async (requestBody) => { + + if (requestBody.ReferenceTemplateCode) { + const templateCode = requestBody.ReferenceTemplateCode; + const apiURL = `/clinical/assessment-templates/search?displayCode=${templateCode}`; + const serachResults = await NeedleService.needleRequestForREAN("get", apiURL); + const items = serachResults.Data.AssessmentTemplateRecords.Items; + if (items.length !== 0) { + requestBody.ReferenceTemplateId = items[0].id; + } + } + return requestBody; + }; + //#endregion } diff --git a/src/api/assets/assessment/assessment.validator.ts b/src/api/assets/assessment/assessment.validator.ts index 64191d3..8970fbe 100644 --- a/src/api/assets/assessment/assessment.validator.ts +++ b/src/api/assets/assessment/assessment.validator.ts @@ -19,6 +19,7 @@ export class AssessmentValidator { OwnerUserId : joi.string().guid({ version : ['uuidv4'] }).optional(), + ReferenceTemplateCode : joi.string().max(256).optional(), }); return await schema.validateAsync(requestBody); } catch (error) { @@ -29,12 +30,13 @@ export class AssessmentValidator { static validateUpdateRequest = async (requestBody) => { try { const schema = joi.object({ - AssetCode : joi.string().max(256).optional(), - Name : joi.string().max(256).optional(), - Description : joi.string().optional().allow(null, ''), - Template : joi.string().optional().allow(null, ''), - Tags : joi.array().items(joi.string()).optional(), - Version : joi.string().max(128).optional() + AssetCode : joi.string().max(256).optional(), + Name : joi.string().max(256).optional(), + Description : joi.string().optional().allow(null, ''), + Template : joi.string().optional().allow(null, ''), + Tags : joi.array().items(joi.string()).optional(), + Version : joi.string().max(128).optional(), + ReferenceTemplateCode : joi.string().max(256).optional() }); return await schema.validateAsync(requestBody); } catch (error) { diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 1319277..9c2d696 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -91,9 +91,12 @@ export class EnrollmentControllerDelegate { if (record == null) { ErrorHandler.throwInternalServerError('Unable to update displayId!'); } - - await this.generateRegistrationTasks(record); - await this.generateScheduledTasks(record); + if (requestBody.IsTest === true) { + await this.generateScheduledTasks_Testing(record); + } else { + await this.generateRegistrationTasks(record); + await this.generateScheduledTasks(record); + } return this.getEnrichedDto(record); }; @@ -235,6 +238,75 @@ export class EnrollmentControllerDelegate { } }; + generateScheduledTasks_Testing = async(record) => { + + try { + + const scheduledActivities = + await this._careplanActivityService.getScheduledActivities(record.CareplanId); + const totalTasks = scheduledActivities.length; // Total number of tasks + const tasks = scheduledActivities; + + const startHour = 17.5; // 12 PM + const minutesInDay = 24 * 60; // Total minutes in a day + const minutesInWeek = 7 * minutesInDay; // Total minutes in a week + + // Calculate the interval between tasks + const interval = 15; // in minutes + + // Calculate the number of tasks per day + const tasksPerDay = Math.ceil(totalTasks / 7); + + // Initialize the schedule + const schedule = []; + + // Distribute tasks evenly over 7 days + for (let day = 0; day < 7; day++) { + const dailyTasks = []; + const startSequence = day * tasksPerDay; + const endSequence = Math.min((day + 1) * tasksPerDay, totalTasks); + + for (let i = startSequence; i < endSequence; i++) { + dailyTasks.push(tasks[i]); + } + + schedule.push(dailyTasks); + } + const today = new Date().toISOString().split("T")[0]; + + // Display the schedule + schedule.forEach((tasks, day) => { + const dt = TimeHelper.addDuration(new Date(today), day + 1, DurationType.Day); + const dateString = dt.toISOString().split("T")[0]; + let currentTime = startHour * 60; // Convert start hour to minutes + tasks.forEach( async task => { + const hours = Math.floor(currentTime / 60); + const minutes = currentTime % 60; + const scheduleDateTime = new Date(`${dateString}T${hours}:${minutes.toString().padStart(2, '0')}:00`); + currentTime += interval; + + var createModel: EnrollmentTaskCreateModel = { + EnrollmentId : record.id, + ParticipantId : record.ParticipantId, + CareplanId : record.CareplanId, + CareplanActivityId : task.id, + AssetId : task.AssetId, + AssetType : task.AssetType, + TimeSlot : task.TimeSlot, + IsRegistrationActivity : false, + ScheduledDate : scheduleDateTime + }; + + const activity = await this._enrollmentTaskService.create(createModel); + Logger.instance().log(`Scheduled activity for day: ${dateString} \n${JSON.stringify(activity, null, 2)}`); + }); + }); + + } catch (error) { + ErrorHandler.throwDbAccessError('DB Error: Unable to create enrollment scheduled tasks for testing!', error); + } + }; + getSearchFilters = (query) => { var filters = {}; @@ -325,7 +397,8 @@ export class EnrollmentControllerDelegate { EndDate : requestBody.EndDate ? requestBody.EndDate : null, WeekOffset : requestBody.WeekOffset ? requestBody.WeekOffset : 0, DayOffset : requestBody.DayOffset ? requestBody.DayOffset : 0, - EnrollmentDate : requestBody.EnrollmentDate ? requestBody.EnrollmentDate : new Date() + EnrollmentDate : requestBody.EnrollmentDate ? requestBody.EnrollmentDate : new Date(), + IsTest : requestBody.IsTest ? requestBody.IsTest : false }; }; diff --git a/src/api/enrollment/enrollment/enrollment.validator.ts b/src/api/enrollment/enrollment/enrollment.validator.ts index 944d76c..add325d 100644 --- a/src/api/enrollment/enrollment/enrollment.validator.ts +++ b/src/api/enrollment/enrollment/enrollment.validator.ts @@ -21,7 +21,8 @@ export class EnrollmentValidator { EndDate : joi.date().iso().optional().allow(null), WeekOffset : joi.number().optional(), DayOffset : joi.number().optional(), - EnrollmentDate : joi.date().iso().optional() + EnrollmentDate : joi.date().iso().optional(), + IsTest : joi.boolean().optional(), }); return await schema.validateAsync(requestBody); } catch (error) { diff --git a/src/common/needle.service.ts b/src/common/needle.service.ts new file mode 100644 index 0000000..6ebea91 --- /dev/null +++ b/src/common/needle.service.ts @@ -0,0 +1,44 @@ +import needle from "needle"; +import { Logger } from "./logger"; +import { Helper } from "./helper"; + +export class NeedleService { + + public static async needleRequestForREAN (method: string, url:string, accessToken?, obj?) { + const ReanBackendBaseUrl = process.env.REANCARE_BACKEND_BASE_URL; + if (!accessToken) { + accessToken = null; + } + const options = await NeedleService.getHeaders(accessToken); + const apiUrl = ReanBackendBaseUrl + url; + let response = null; + if (method === "get") { + response = await needle(method, apiUrl, options); + + } else { + response = await needle(method, apiUrl, obj, options); + } + + if (response.statusCode === 200 || response.statusCode === 201) { + Logger.instance().log('Reancare Api is successfull'); + } else { + Logger.instance().log("Failed to get response from Reancare API."); + } + + return response.body; + } + + private static getHeaders = (accessToken?: any) => { + const reancare_api_key = process.env.REANCARE_API_KEY; + if (!accessToken) { + accessToken = null; + } + const headers = { + "authorization" : `Bearer ${accessToken}`, + "x-api-key" : reancare_api_key + }; + const options = Helper.getNeedleOptions(headers); + return options; + }; + +} diff --git a/src/database/mappers/assets/assessment.mapper.ts b/src/database/mappers/assets/assessment.mapper.ts index 67cdd30..071bd74 100644 --- a/src/database/mappers/assets/assessment.mapper.ts +++ b/src/database/mappers/assets/assessment.mapper.ts @@ -11,15 +11,17 @@ export class AssessmentMapper { return null; } const dto: AssessmentDto = { - id : assessment.id, - AssetCode : assessment.AssetCode, - Name : assessment.Name, - Description : assessment.Description, - AssetCategory : assessment.AssetCategory, - Template : assessment.Template, - OwnerUserId : assessment.OwnerUserId, - Tags : assessment.Tags, - Version : assessment.Version, + id : assessment.id, + AssetCode : assessment.AssetCode, + Name : assessment.Name, + Description : assessment.Description, + AssetCategory : assessment.AssetCategory, + Template : assessment.Template, + ReferenceTemplateCode : assessment.ReferenceTemplateCode, + ReferenceTemplateId : assessment.ReferenceTemplateId, + OwnerUserId : assessment.OwnerUserId, + Tags : assessment.Tags, + Version : assessment.Version, }; return dto; diff --git a/src/database/models/assets/assessment.model.ts b/src/database/models/assets/assessment.model.ts index 5f2ea52..5700783 100644 --- a/src/database/models/assets/assessment.model.ts +++ b/src/database/models/assets/assessment.model.ts @@ -51,6 +51,14 @@ export class AssessmentModel { allowNull : true, defaultValue : '{}' }, + ReferenceTemplateCode : { + type : DataTypes.STRING(256), + allowNull : true + }, + ReferenceTemplateId : { + type : DataTypes.STRING(256), + allowNull : true + }, OwnerUserId : { type : DataTypes.UUID, allowNull : true diff --git a/src/domain.types/assets/assessment.domain.types.ts b/src/domain.types/assets/assessment.domain.types.ts index 4c7a468..10fe850 100644 --- a/src/domain.types/assets/assessment.domain.types.ts +++ b/src/domain.types/assets/assessment.domain.types.ts @@ -11,6 +11,8 @@ export interface AssessmentCreateModel { Name ? : string; Description ? : string; Template ? : string; + ReferenceTemplateCode ? : string; + ReferenceTemplateId ? : string; Tags ? : string; Version ? : string; OwnerUserId?: uuid; @@ -21,6 +23,8 @@ export interface AssessmentUpdateModel { Name ? : string; Description ? : string; Template ? : string; + ReferenceTemplateCode ? : string; + ReferenceTemplateId ? : string; Tags ? : string; Version ? : string; OwnerUserId?: uuid; @@ -33,6 +37,8 @@ export interface AssessmentDto { Description: string; AssetCategory: string; Template: string; + ReferenceTemplateCode : string; + ReferenceTemplateId? : string; OwnerUserId: uuid; Tags: string[]; Version: string; diff --git a/src/domain.types/enrollment/enrollment.domain.types.ts b/src/domain.types/enrollment/enrollment.domain.types.ts index 8ef34a5..4c8e5d5 100644 --- a/src/domain.types/enrollment/enrollment.domain.types.ts +++ b/src/domain.types/enrollment/enrollment.domain.types.ts @@ -18,6 +18,7 @@ export interface EnrollmentCreateModel { WeekOffset ?: number; DayOffset ?: number; EnrollmentDate ?: Date; + IsTest ?: boolean; } export interface EnrollmentUpdateModel { From 2b4c694ed5af44ca6e23ed320e039cbf527949c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 16 Mar 2024 23:30:29 +0000 Subject: [PATCH 163/169] build(deps): bump follow-redirects from 1.15.4 to 1.15.6 Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 238 +++++++++++++++++++++------------------------- 1 file changed, 106 insertions(+), 132 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2d3d015..733f1f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3752,12 +3752,11 @@ } }, "node_modules/axios": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.4.tgz", - "integrity": "sha512-heJnIs6N4aa1eSthhN9M5ioILu8Wi8vmQW9iHQ9NUvfkJb0lEEDUiIdQNAuBtfUt3FxReaKdpQA5DbmMOqzF/A==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dependencies": { - "follow-redirects": "^1.15.4", - + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -5537,9 +5536,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -7323,14 +7322,20 @@ } }, "node_modules/jsonwebtoken": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", - "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", "dependencies": { "jws": "^3.2.2", - "lodash": "^4.17.21", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", "ms": "^2.1.1", - "semver": "^7.3.8" + "semver": "^7.5.4" }, "engines": { "node": ">=12", @@ -7430,6 +7435,36 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -7442,6 +7477,11 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", @@ -9658,62 +9698,6 @@ "node": ">=6.0" } }, - "node_modules/twilio/node_modules/axios": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", - "dependencies": { - "follow-redirects": "^1.14.8" - } - }, - "node_modules/twilio/node_modules/jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=4", - "npm": ">=1.4.28" - } - }, - "node_modules/twilio/node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/twilio/node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/twilio/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -13102,11 +13086,11 @@ } }, "axios": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.4.tgz", - "integrity": "sha512-heJnIs6N4aa1eSthhN9M5ioILu8Wi8vmQW9iHQ9NUvfkJb0lEEDUiIdQNAuBtfUt3FxReaKdpQA5DbmMOqzF/A==", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "requires": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" }, @@ -14491,9 +14475,9 @@ "dev": true }, "follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, "for-each": { "version": "0.3.3", @@ -15808,14 +15792,20 @@ "dev": true }, "jsonwebtoken": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", - "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", "requires": { "jws": "^3.2.2", - "lodash": "^4.17.21", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", "ms": "^2.1.1", - "semver": "^7.3.8" + "semver": "^7.5.4" }, "dependencies": { "jwa": { @@ -15901,6 +15891,36 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -15913,6 +15933,11 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", @@ -17520,57 +17545,6 @@ "scmp": "^2.1.0", "url-parse": "^1.5.9", "xmlbuilder": "^13.0.2" - }, - "dependencies": { - "axios": { - "version": "0.26.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", - "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", - "requires": { - "follow-redirects": "^1.14.8" - } - }, - "jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "requires": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - } - }, - "jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "requires": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "requires": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - } } }, "type-check": { From 0381b72bb621d763b0cb42919da51b65a42e8b86 Mon Sep 17 00:00:00 2001 From: Kiran Kharade Date: Tue, 19 Mar 2024 13:33:15 +0530 Subject: [PATCH 164/169] package upgrades --- package-lock.json | 246 +++++----------------------------------------- package.json | 2 +- 2 files changed, 25 insertions(+), 223 deletions(-) diff --git a/package-lock.json b/package-lock.json index 733f1f8..1fc016c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ "needle": "^3.0.0", "node-cron": "^3.0.0", "node-forge": "^1.3.0", - "node-xlsx": "^0.21.0", + "node-xlsx": "^0.4.0", "pg": "^8.8.0", "pg-hstore": "^2.3.4", "readdirp": "^3.6.0", @@ -3494,21 +3494,6 @@ "node": ">=0.4.0" } }, - "node_modules/adler-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", - "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", - "dependencies": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.0" - }, - "bin": { - "adler32": "bin/adler32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/adm-zip": { "version": "0.5.9", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", @@ -4117,26 +4102,6 @@ } ] }, - "node_modules/cfb": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", - "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", - "dependencies": { - "adler-32": "~1.3.0", - "crc-32": "~1.2.0" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cfb/node_modules/adler-32": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", - "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", - "engines": { - "node": ">=0.8" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -4223,14 +4188,6 @@ "node": ">= 0.12.0" } }, - "node_modules/codepage": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", - "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", - "engines": { - "node": ">=0.8" - } - }, "node_modules/collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -4369,17 +4326,6 @@ "node": ">= 0.10" } }, - "node_modules/crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -5268,14 +5214,6 @@ "node": ">= 0.8.0" } }, - "node_modules/exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", - "engines": { - "node": ">=0.8" - } - }, "node_modules/expect": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", @@ -5584,14 +5522,6 @@ "node": ">= 0.6" } }, - "node_modules/frac": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", - "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", - "engines": { - "node": ">=0.8" - } - }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -7845,17 +7775,23 @@ "dev": true }, "node_modules/node-xlsx": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/node-xlsx/-/node-xlsx-0.21.0.tgz", - "integrity": "sha512-MB+KcNCuRzwjgr17scpKiVTPd4Vbj3V+7QwKpqACGyJzhvC67xCQUbw2vYEIKtNfMfcLxgB2q2kEuRS8rmak9g==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-xlsx/-/node-xlsx-0.4.0.tgz", + "integrity": "sha512-jy8AmCx8JrmPxZLS6ykUlpwBMQClZwBmzEyMjSzIlPIBXiy9EI+/DUlD9zq0Znsn/8zCTkA8ck/lqv0z46w1ww==", "dependencies": { - "xlsx": "^0.17.4" - }, + "debug": ">= 0.7.2", + "node-zip": "~1.0.1" + } + }, + "node_modules/node-zip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/node-zip/-/node-zip-1.0.1.tgz", + "integrity": "sha512-X8wJ2lUj6foyRP/MoSM6KMnSlOlS97bHjElCUnRTgpdyUDcE5jReVja9X4nqbjXQIBIIwspznPrM2R2aLH5rcA==", "bin": { - "node-xlsx": "lib/bin/cli.js" + "nodezip": "bin/nodezip" }, "engines": { - "node": ">=10.0.0" + "node": "*" } }, "node_modules/normalize-path": { @@ -8412,17 +8348,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/printj": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", - "bin": { - "printj": "bin/printj.njs" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -9126,17 +9051,6 @@ "node": ">= 0.6" } }, - "node_modules/ssf": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", - "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", - "dependencies": { - "frac": "~1.1.2" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/stack-utils": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", @@ -10066,22 +9980,6 @@ "@types/node": "*" } }, - "node_modules/wmf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", - "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/word": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", - "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", - "engines": { - "node": ">=0.8" - } - }, "node_modules/word-wrap": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", @@ -10170,26 +10068,6 @@ } } }, - "node_modules/xlsx": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.5.tgz", - "integrity": "sha512-lXNU0TuYsvElzvtI6O7WIVb9Zar1XYw7Xb3VAx2wn8N/n0whBYrCnHMxtFyIiUU1Wjf09WzmLALDfBO5PqTb1g==", - "dependencies": { - "adler-32": "~1.2.0", - "cfb": "^1.1.4", - "codepage": "~1.15.0", - "crc-32": "~1.2.0", - "ssf": "~0.11.2", - "wmf": "~1.0.1", - "word": "~0.3.0" - }, - "bin": { - "xlsx": "bin/xlsx.njs" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", @@ -12903,15 +12781,6 @@ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true }, - "adler-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", - "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", - "requires": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.0" - } - }, "adm-zip": { "version": "0.5.9", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.9.tgz", @@ -13360,22 +13229,6 @@ "integrity": "sha512-1gLHWyfVoRDsHieO+CaeYe7jSo/MT7D7lhaXUiwwbuR5BwQxORs0f1tAwUSQr3YbxRXJvxHM/PA5FfPQRnsPeQ==", "dev": true }, - "cfb": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", - "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", - "requires": { - "adler-32": "~1.3.0", - "crc-32": "~1.2.0" - }, - "dependencies": { - "adler-32": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", - "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==" - } - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -13445,11 +13298,6 @@ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, - "codepage": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", - "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==" - }, "collect-v8-coverage": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", @@ -13566,11 +13414,6 @@ "vary": "^1" } }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" - }, "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -14251,11 +14094,6 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, - "exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" - }, "expect": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", @@ -14503,11 +14341,6 @@ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, - "frac": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", - "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" - }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -16231,13 +16064,19 @@ "dev": true }, "node-xlsx": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/node-xlsx/-/node-xlsx-0.21.0.tgz", - "integrity": "sha512-MB+KcNCuRzwjgr17scpKiVTPd4Vbj3V+7QwKpqACGyJzhvC67xCQUbw2vYEIKtNfMfcLxgB2q2kEuRS8rmak9g==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-xlsx/-/node-xlsx-0.4.0.tgz", + "integrity": "sha512-jy8AmCx8JrmPxZLS6ykUlpwBMQClZwBmzEyMjSzIlPIBXiy9EI+/DUlD9zq0Znsn/8zCTkA8ck/lqv0z46w1ww==", "requires": { - "xlsx": "^0.17.4" + "debug": ">= 0.7.2", + "node-zip": "~1.0.1" } }, + "node-zip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/node-zip/-/node-zip-1.0.1.tgz", + "integrity": "sha512-X8wJ2lUj6foyRP/MoSM6KMnSlOlS97bHjElCUnRTgpdyUDcE5jReVja9X4nqbjXQIBIIwspznPrM2R2aLH5rcA==" + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -16641,11 +16480,6 @@ } } }, - "printj": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" - }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -17134,14 +16968,6 @@ "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==" }, - "ssf": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", - "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", - "requires": { - "frac": "~1.1.2" - } - }, "stack-utils": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", @@ -17842,16 +17668,6 @@ "@types/node": "*" } }, - "wmf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", - "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" - }, - "word": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", - "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" - }, "word-wrap": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", @@ -17913,20 +17729,6 @@ "dev": true, "requires": {} }, - "xlsx": { - "version": "0.17.5", - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.5.tgz", - "integrity": "sha512-lXNU0TuYsvElzvtI6O7WIVb9Zar1XYw7Xb3VAx2wn8N/n0whBYrCnHMxtFyIiUU1Wjf09WzmLALDfBO5PqTb1g==", - "requires": { - "adler-32": "~1.2.0", - "cfb": "^1.1.4", - "codepage": "~1.15.0", - "crc-32": "~1.2.0", - "ssf": "~0.11.2", - "wmf": "~1.0.1", - "word": "~0.3.0" - } - }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", diff --git a/package.json b/package.json index e36d42c..79dadf3 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "needle": "^3.0.0", "node-cron": "^3.0.0", "node-forge": "^1.3.0", - "node-xlsx": "^0.21.0", + "node-xlsx": "^0.4.0", "pg": "^8.8.0", "pg-hstore": "^2.3.4", "readdirp": "^3.6.0", From 55ed2ed2980599d9c01a083e5722b58cf78bf493 Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Thu, 21 Mar 2024 08:12:27 +0530 Subject: [PATCH 165/169] updated the enrollment testing careplan start time --- src/api/enrollment/enrollment/enrollment.controller.delegate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 9c2d696..06e87b8 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -247,7 +247,7 @@ export class EnrollmentControllerDelegate { const totalTasks = scheduledActivities.length; // Total number of tasks const tasks = scheduledActivities; - const startHour = 17.5; // 12 PM + const startHour = 14.5; // 9 AM + 05:30 IST const minutesInDay = 24 * 60; // Total minutes in a day const minutesInWeek = 7 * minutesInDay; // Total minutes in a week From 83f8b477577ac3878b5b0a3e4188c73123249a75 Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Thu, 28 Mar 2024 09:31:23 +0530 Subject: [PATCH 166/169] added the test careplan parameter to env file --- .../enrollment.task/enrollment.task.controller.delegate.ts | 2 +- src/api/enrollment/enrollment/enrollment.controller.delegate.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts index 0067ae7..1ed7c63 100644 --- a/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts +++ b/src/api/enrollment/enrollment.task/enrollment.task.controller.delegate.ts @@ -90,7 +90,7 @@ export class EnrollmentTaskControllerDelegate { if (orderBy != null) { filters['OrderBy'] = orderBy; } - var itemsPerPage = query.itemsPerPage ? query.itemsPerPage : null; + var itemsPerPage = query.itemsPerPage ? query.itemsPerPage : 120; if (itemsPerPage != null) { filters['ItemsPerPage'] = parseInt(itemsPerPage); } diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 06e87b8..5ae891f 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -247,7 +247,7 @@ export class EnrollmentControllerDelegate { const totalTasks = scheduledActivities.length; // Total number of tasks const tasks = scheduledActivities; - const startHour = 14.5; // 9 AM + 05:30 IST + const startHour: number = parseFloat(process.env.TEST_CAREPLAN_START_HOUR) ?? 14.5; // 9 AM + 05:30 IST const minutesInDay = 24 * 60; // Total minutes in a day const minutesInWeek = 7 * minutesInDay; // Total minutes in a week From f09cdb0e57222d4d62a501c4ed5370d435e6ca19 Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Mon, 1 Jul 2024 18:57:09 +0530 Subject: [PATCH 167/169] Update time of user task --- src/api/enrollment/enrollment/enrollment.controller.delegate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 5ae891f..56f051d 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -215,7 +215,7 @@ export class EnrollmentControllerDelegate { let dt = null; dt = TimeHelper.addDuration(startDate, daysToAdd, DurationType.Day); - dt = TimeHelper.addDuration(dt, 270, DurationType.Minute); + dt = TimeHelper.addDuration(dt, 540, DurationType.Minute); var createModel: EnrollmentTaskCreateModel = { EnrollmentId : record.id, From 8944e6956df52d28b376bba2705da9dda28db912 Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Mon, 1 Jul 2024 19:44:41 +0530 Subject: [PATCH 168/169] remove eslint errors --- src/api/enrollment/enrollment/enrollment.controller.delegate.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts index 56f051d..f49b3fe 100644 --- a/src/api/enrollment/enrollment/enrollment.controller.delegate.ts +++ b/src/api/enrollment/enrollment/enrollment.controller.delegate.ts @@ -248,8 +248,6 @@ export class EnrollmentControllerDelegate { const tasks = scheduledActivities; const startHour: number = parseFloat(process.env.TEST_CAREPLAN_START_HOUR) ?? 14.5; // 9 AM + 05:30 IST - const minutesInDay = 24 * 60; // Total minutes in a day - const minutesInWeek = 7 * minutesInDay; // Total minutes in a week // Calculate the interval between tasks const interval = 15; // in minutes From 0b97cfdfc048fb04f2d05c24f5a614d04b1024d2 Mon Sep 17 00:00:00 2001 From: vinay-debug <84920398+vinay-debug@users.noreply.github.com> Date: Tue, 2 Jul 2024 08:52:37 +0530 Subject: [PATCH 169/169] Fixed eslint errors --- src/api/user/user.controller.delegate.ts | 4 ++-- src/common/helper.ts | 4 ++-- src/database/models/api.client.model.ts | 2 +- src/database/models/assets/action.plan.model.ts | 2 +- src/database/models/assets/appointment.model.ts | 2 +- src/database/models/assets/assessment.model.ts | 2 +- src/database/models/assets/biometrics.model.ts | 2 +- src/database/models/assets/challenge.model.ts | 2 +- src/database/models/assets/checkup.model.ts | 2 +- src/database/models/assets/consultation.model.ts | 2 +- src/database/models/assets/exercise.model.ts | 2 +- src/database/models/assets/goal.model.ts | 2 +- src/database/models/assets/medication.model.ts | 2 +- src/database/models/assets/meditation.model.ts | 2 +- src/database/models/assets/message.model.ts | 2 +- src/database/models/assets/nutrition.model.ts | 2 +- src/database/models/assets/priority.model.ts | 2 +- src/database/models/assets/reflection.model.ts | 2 +- src/database/models/assets/reminder.model.ts | 2 +- src/database/models/assets/web.link.model.ts | 2 +- src/database/models/assets/web.newsfeed.model.ts | 2 +- src/database/models/assets/word.power.model.ts | 2 +- src/database/models/careplan/careplan.category.model.ts | 2 +- src/database/models/enrollment/participant.model.ts | 2 +- 24 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/api/user/user.controller.delegate.ts b/src/api/user/user.controller.delegate.ts index 0f2b5f4..f41e76c 100644 --- a/src/api/user/user.controller.delegate.ts +++ b/src/api/user/user.controller.delegate.ts @@ -178,8 +178,8 @@ export class UserControllerDelegate { sendOtp = async (requestBody) => { await validator.validateSendOtpRequest(requestBody); - const countryCode = (typeof requestBody.CountryCode !== undefined) ? requestBody.CountryCode : '+91'; - const phone = (typeof requestBody.Phone !== undefined) ? requestBody.Phone : null; + const countryCode = (requestBody.CountryCode) ? requestBody.CountryCode : '+91'; + const phone = (requestBody.Phone) ? requestBody.Phone : null; const user = await this._service.getUser(countryCode, phone, null, null); if (user === null) { ErrorHandler.throwNotFoundError('User does not exist!'); diff --git a/src/common/helper.ts b/src/common/helper.ts index 3fa7707..e2c3501 100644 --- a/src/common/helper.ts +++ b/src/common/helper.ts @@ -325,14 +325,14 @@ export class Helper { }; static checkStr(val: any) { - if (typeof val === null || typeof val === undefined || typeof val !== 'string') { + if (val === null || val === undefined || typeof val !== 'string') { return null; } return val; } static isStr(val: any): boolean { - if (typeof val === null || typeof val === undefined || typeof val !== 'string') { + if (val === null || val === undefined || typeof val !== 'string') { return false; } return true; diff --git a/src/database/models/api.client.model.ts b/src/database/models/api.client.model.ts index 8f7da77..1b002c9 100644 --- a/src/database/models/api.client.model.ts +++ b/src/database/models/api.client.model.ts @@ -85,7 +85,7 @@ export class ApiClientModel { tableName : ApiClientModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... // models.ApiClient.belongsTo(models.User, { diff --git a/src/database/models/assets/action.plan.model.ts b/src/database/models/assets/action.plan.model.ts index cd7aa74..7f7f782 100644 --- a/src/database/models/assets/action.plan.model.ts +++ b/src/database/models/assets/action.plan.model.ts @@ -79,7 +79,7 @@ export class ActionPlanModel { tableName : ActionPlanModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/appointment.model.ts b/src/database/models/assets/appointment.model.ts index 6cb894d..f953694 100644 --- a/src/database/models/assets/appointment.model.ts +++ b/src/database/models/assets/appointment.model.ts @@ -85,7 +85,7 @@ export class AppointmentModel { tableName : AppointmentModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/assessment.model.ts b/src/database/models/assets/assessment.model.ts index 5700783..c0034a6 100644 --- a/src/database/models/assets/assessment.model.ts +++ b/src/database/models/assets/assessment.model.ts @@ -92,7 +92,7 @@ export class AssessmentModel { tableName : AssessmentModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/biometrics.model.ts b/src/database/models/assets/biometrics.model.ts index a85fc46..441952e 100644 --- a/src/database/models/assets/biometrics.model.ts +++ b/src/database/models/assets/biometrics.model.ts @@ -89,7 +89,7 @@ export class BiometricsModel { tableName : BiometricsModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/challenge.model.ts b/src/database/models/assets/challenge.model.ts index be3161b..ecdaa89 100644 --- a/src/database/models/assets/challenge.model.ts +++ b/src/database/models/assets/challenge.model.ts @@ -79,7 +79,7 @@ export class ChallengeModel { tableName : ChallengeModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/checkup.model.ts b/src/database/models/assets/checkup.model.ts index c809aba..116af22 100644 --- a/src/database/models/assets/checkup.model.ts +++ b/src/database/models/assets/checkup.model.ts @@ -79,7 +79,7 @@ export class CheckupModel { tableName : CheckupModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/consultation.model.ts b/src/database/models/assets/consultation.model.ts index a7ac02c..d593a9b 100644 --- a/src/database/models/assets/consultation.model.ts +++ b/src/database/models/assets/consultation.model.ts @@ -85,7 +85,7 @@ export class ConsultationModel { tableName : ConsultationModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/exercise.model.ts b/src/database/models/assets/exercise.model.ts index a359d4f..80e4c6e 100644 --- a/src/database/models/assets/exercise.model.ts +++ b/src/database/models/assets/exercise.model.ts @@ -96,7 +96,7 @@ export class ExerciseModel { tableName : ExerciseModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/goal.model.ts b/src/database/models/assets/goal.model.ts index e8e25ee..696c22b 100644 --- a/src/database/models/assets/goal.model.ts +++ b/src/database/models/assets/goal.model.ts @@ -79,7 +79,7 @@ export class GoalModel { tableName : GoalModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/medication.model.ts b/src/database/models/assets/medication.model.ts index f2e2558..e805105 100644 --- a/src/database/models/assets/medication.model.ts +++ b/src/database/models/assets/medication.model.ts @@ -79,7 +79,7 @@ export class MedicationModel { tableName : MedicationModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/meditation.model.ts b/src/database/models/assets/meditation.model.ts index 176ffc8..b549db7 100644 --- a/src/database/models/assets/meditation.model.ts +++ b/src/database/models/assets/meditation.model.ts @@ -90,7 +90,7 @@ export class MeditationModel { tableName : MeditationModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/message.model.ts b/src/database/models/assets/message.model.ts index a582f57..8b3e406 100644 --- a/src/database/models/assets/message.model.ts +++ b/src/database/models/assets/message.model.ts @@ -105,7 +105,7 @@ export class MessageModel { tableName : MessageModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/nutrition.model.ts b/src/database/models/assets/nutrition.model.ts index 0a17d85..c667d42 100644 --- a/src/database/models/assets/nutrition.model.ts +++ b/src/database/models/assets/nutrition.model.ts @@ -79,7 +79,7 @@ export class NutritionModel { tableName : NutritionModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/priority.model.ts b/src/database/models/assets/priority.model.ts index fe1ed48..e7688be 100644 --- a/src/database/models/assets/priority.model.ts +++ b/src/database/models/assets/priority.model.ts @@ -79,7 +79,7 @@ export class PriorityModel { tableName : PriorityModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/reflection.model.ts b/src/database/models/assets/reflection.model.ts index 1b3b161..1e5aa44 100644 --- a/src/database/models/assets/reflection.model.ts +++ b/src/database/models/assets/reflection.model.ts @@ -79,7 +79,7 @@ export class ReflectionModel { tableName : ReflectionModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/reminder.model.ts b/src/database/models/assets/reminder.model.ts index fbe0c08..b2f4223 100644 --- a/src/database/models/assets/reminder.model.ts +++ b/src/database/models/assets/reminder.model.ts @@ -79,7 +79,7 @@ export class ReminderModel { tableName : ReminderModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/web.link.model.ts b/src/database/models/assets/web.link.model.ts index 53c598b..7b64879 100644 --- a/src/database/models/assets/web.link.model.ts +++ b/src/database/models/assets/web.link.model.ts @@ -83,7 +83,7 @@ export class WebLinkModel { tableName : WebLinkModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/web.newsfeed.model.ts b/src/database/models/assets/web.newsfeed.model.ts index 5699f28..3e2b169 100644 --- a/src/database/models/assets/web.newsfeed.model.ts +++ b/src/database/models/assets/web.newsfeed.model.ts @@ -83,7 +83,7 @@ export class WebNewsfeedModel { tableName : WebNewsfeedModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/assets/word.power.model.ts b/src/database/models/assets/word.power.model.ts index 1ceea9f..fc561eb 100644 --- a/src/database/models/assets/word.power.model.ts +++ b/src/database/models/assets/word.power.model.ts @@ -84,7 +84,7 @@ export class WordPowerModel { tableName : WordPowerModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... diff --git a/src/database/models/careplan/careplan.category.model.ts b/src/database/models/careplan/careplan.category.model.ts index a03239e..df5f03a 100644 --- a/src/database/models/careplan/careplan.category.model.ts +++ b/src/database/models/careplan/careplan.category.model.ts @@ -44,7 +44,7 @@ export class CareplanCategoryModel { tableName : CareplanCategoryModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... }; diff --git a/src/database/models/enrollment/participant.model.ts b/src/database/models/enrollment/participant.model.ts index cf0de28..a7e41be 100644 --- a/src/database/models/enrollment/participant.model.ts +++ b/src/database/models/enrollment/participant.model.ts @@ -86,7 +86,7 @@ export class ParticipantModel { tableName : ParticipantModel.TableName, }); - static associate = (models) => { + static associate = () => { //Add associations here... };