@getjones/test-infra 3.0.1 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/package.json +30 -30
  2. package/src/common/commonFlows/auth/auth.js +40 -40
  3. package/src/common/commonFlows/index.js +4 -4
  4. package/src/common/commonFlows/records/records.js +123 -102
  5. package/src/common/consts/activationStatuses.js +6 -6
  6. package/src/common/consts/constantsForRecordsSortingAndFilters.js +40 -0
  7. package/src/common/consts/dashboardCharts.js +18 -18
  8. package/src/common/consts/projectSettings.js +6 -6
  9. package/src/common/consts/recordTypes.js +5 -5
  10. package/src/common/consts/s3FileTypes.js +12 -12
  11. package/src/common/consts/userTypes.js +8 -8
  12. package/src/common/errorCodes.js +3 -3
  13. package/src/common/httpResponseStatusCodes.json +11 -11
  14. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  15. package/src/common/requests/cookieAuth/requests.js +40 -40
  16. package/src/common/requests/internalAuth/requests.js +48 -48
  17. package/src/common/requests/requestHandlers.js +78 -78
  18. package/src/common/utils/complianceUtil.js +83 -83
  19. package/src/common/utils/configsUtil.js +22 -22
  20. package/src/common/utils/dataTypeUtils.js +41 -41
  21. package/src/common/utils/numberUtils.js +22 -22
  22. package/src/common/utils/objectUtils.js +7 -7
  23. package/src/common/utils/timeUtils.js +177 -177
  24. package/src/common/validations/errorValidation.js +16 -16
  25. package/src/common/validations/typeValidations.js +36 -36
  26. package/src/defaults/configs/auditConfigs.js +91 -91
  27. package/src/defaults/configs/coverage.js +227 -227
  28. package/src/defaults/configs/polices.js +64 -64
  29. package/src/defaults/configs/requirement.js +32 -32
  30. package/src/defaults/index.js +6 -6
  31. package/src/env.js +57 -57
  32. package/src/factory/globalRecord/globalRecord.js +70 -70
  33. package/src/factory/index.js +8 -8
  34. package/src/factory/records/records.js +169 -183
  35. package/src/factory/users/users.js +77 -77
  36. package/src/index.js +91 -91
  37. package/src/resources/virusFile.pdf +0 -0
  38. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
  39. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
  40. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +29 -29
  41. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +61 -61
  42. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  43. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  44. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  45. package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
  46. package/src/saas/internal-api/accounts/consts/consts.js +6 -6
  47. package/src/saas/internal-api/accounts/index.js +22 -22
  48. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  49. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +38 -38
  50. package/src/saas/internal-api/accounts/utils/utils.js +58 -58
  51. package/src/saas/internal-api/agreement/api/agreement.api.js +35 -35
  52. package/src/saas/internal-api/agreement/api/agreement.service.js +81 -81
  53. package/src/saas/internal-api/agreement/consts/consts.js +8 -8
  54. package/src/saas/internal-api/agreement/index.js +11 -11
  55. package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
  56. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +43 -43
  57. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
  58. package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
  59. package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
  60. package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
  61. package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
  62. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  63. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  64. package/src/saas/internal-api/auditNotes/index.js +4 -4
  65. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  66. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  67. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  68. package/src/saas/internal-api/auth/index.js +3 -3
  69. package/src/saas/internal-api/coi/api/coi.api.js +40 -40
  70. package/src/saas/internal-api/coi/api/coi.service.js +26 -26
  71. package/src/saas/internal-api/coi/consts/hashes.js +4 -0
  72. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  73. package/src/saas/internal-api/coi/index.js +14 -13
  74. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
  75. package/src/saas/internal-api/coi/utils/utils.js +48 -48
  76. package/src/saas/internal-api/compliance/api/audit/audit.api.js +100 -100
  77. package/src/saas/internal-api/compliance/api/audit/audit.service.js +242 -230
  78. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  79. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  80. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  81. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
  82. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +33 -33
  83. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +141 -141
  84. package/src/saas/internal-api/compliance/consts/audit.js +103 -103
  85. package/src/saas/internal-api/compliance/index.js +33 -33
  86. package/src/saas/internal-api/compliance/models/audit/audit.model.js +94 -94
  87. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  88. package/src/saas/internal-api/compliance/utils/auditUtil.js +222 -222
  89. package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
  90. package/src/saas/internal-api/contractors/api/contractors.api.js +185 -179
  91. package/src/saas/internal-api/contractors/api/contractors.service.js +259 -247
  92. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  93. package/src/saas/internal-api/contractors/index.js +8 -8
  94. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  95. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +62 -60
  96. package/src/saas/internal-api/contractors/models/link.request.model.js +10 -0
  97. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  98. package/src/saas/internal-api/contractors/utils.js +25 -25
  99. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  100. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  101. package/src/saas/internal-api/dashboard/index.js +5 -5
  102. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  103. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  104. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +147 -147
  105. package/src/saas/internal-api/dbEmails/consts/consts.js +54 -54
  106. package/src/saas/internal-api/dbEmails/index.js +6 -6
  107. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  108. package/src/saas/internal-api/dbEmails/utils/util.js +82 -82
  109. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  110. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  111. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  112. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
  113. package/src/saas/internal-api/globalRecord/api/global.record.service.js +105 -105
  114. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  115. package/src/saas/internal-api/globalRecord/index.js +6 -6
  116. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  117. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  118. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  119. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  120. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  121. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  122. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  123. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  124. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  125. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  126. package/src/saas/internal-api/projects/index.js +24 -24
  127. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  128. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  129. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
  130. package/src/saas/internal-api/projects/utils/utils.js +156 -156
  131. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  132. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
  133. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  134. package/src/saas/internal-api/recordNotes/index.js +3 -3
  135. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  136. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  137. package/src/saas/internal-api/reports/consts/consts.js +65 -64
  138. package/src/saas/internal-api/reports/index.js +15 -15
  139. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  140. package/src/saas/internal-api/requests/api/requests.api.js +120 -96
  141. package/src/saas/internal-api/requests/api/requests.service.js +272 -220
  142. package/src/saas/internal-api/requests/index.js +20 -18
  143. package/src/saas/internal-api/requests/models/create.request.model.js +33 -34
  144. package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -0
  145. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
  146. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  147. package/src/saas/internal-api/requests/models/requestListCriteriaModel.js +17 -17
  148. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  149. package/src/saas/internal-api/requests/utils.js +8 -8
  150. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  151. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  152. package/src/saas/internal-api/requestsTable/index.js +3 -3
  153. package/src/saas/internal-api/requirements/api/requirements.api.js +51 -51
  154. package/src/saas/internal-api/requirements/api/requirements.service.js +153 -153
  155. package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -6
  156. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  157. package/src/saas/internal-api/requirements/index.js +10 -10
  158. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  159. package/src/saas/internal-api/requirements/models/policy.model.js +33 -33
  160. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  161. package/src/saas/internal-api/requirements/utils/utils.js +116 -116
  162. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  163. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  164. package/src/saas/internal-api/serviceArea/index.js +4 -4
  165. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  166. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  167. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  168. package/src/saas/internal-api/tabs/index.js +3 -3
  169. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  170. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  171. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +31 -31
  172. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +42 -42
  173. package/src/saas/internal-api/uploadFiles/consts.js +12 -12
  174. package/src/saas/internal-api/uploadFiles/index.js +3 -3
  175. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
  176. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +97 -97
  177. package/src/saas/internal-api/users/api/users.api.js +115 -115
  178. package/src/saas/internal-api/users/api/users.service.js +203 -203
  179. package/src/saas/internal-api/users/index.js +16 -16
  180. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  181. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  182. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  183. package/src/saas/internal-api/users/models/users.model.js +41 -41
  184. package/src/saas/internal-api/users/utils/util.js +39 -39
  185. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  186. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  187. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  188. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  189. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  190. package/src/saas/openapi/coi/coi.api.js +20 -20
  191. package/src/saas/openapi/coi/coi.service.js +13 -13
  192. package/src/saas/openapi/projects/projects.api.js +83 -83
  193. package/src/saas/openapi/projects/projects.service.js +64 -64
  194. package/src/saas/openapi/requests/index.js +7 -7
  195. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  196. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  197. package/src/saas/openapi/requests/requests.api.js +82 -82
  198. package/src/saas/openapi/requests/requests.service.js +70 -70
  199. package/src/saas/openapi/requirements/index.js +6 -6
  200. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  201. package/src/saas/openapi/requirements/requirements.api.js +32 -32
  202. package/src/saas/openapi/requirements/requirements.service.js +37 -37
  203. package/src/saas/openapi/tabs/index.js +6 -6
  204. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  205. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  206. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  207. package/src/saas/openapi/users/user.model.js +10 -10
  208. package/src/saas/openapi/users/users.api.js +33 -33
  209. package/src/saas/openapi/users/users.service.js +41 -41
  210. package/tests/env.test.js +40 -40
  211. package/tests/validation.test.js +83 -83
  212. package/.npmrc.bak +0 -2
  213. package/package.json.bak +0 -30
@@ -1,10 +1,10 @@
1
- const createModel = require('./models/create.requirement.model');
2
- const updateModel = require('./models/update.requirement.model');
3
- const policyModel = require('./models/policy.model');
4
- const services = require('./api/requirements.service');
5
- const consts = require('./consts/consts');
6
- const utils = require('./utils/utils');
7
-
8
- const models = { create: createModel, update: updateModel, policy: policyModel };
9
-
10
- module.exports = { services, models, consts, utils };
1
+ const createModel = require('./models/create.requirement.model');
2
+ const updateModel = require('./models/update.requirement.model');
3
+ const policyModel = require('./models/policy.model');
4
+ const services = require('./api/requirements.service');
5
+ const consts = require('./consts/consts');
6
+ const utils = require('./utils/utils');
7
+
8
+ const models = { create: createModel, update: updateModel, policy: policyModel };
9
+
10
+ module.exports = { services, models, consts, utils };
@@ -1,17 +1,17 @@
1
- const { validateType } = require('../../../../common/validations/typeValidations');
2
- const { PolicyModel } = require('./policy.model');
3
-
4
- const { REQUIREMENT_SHARING_LEVELS } = require('../consts/consts');
5
-
6
- class CreateRequirementModel {
7
- constructor(name, policies, sharingLevel = REQUIREMENT_SHARING_LEVELS.TAB) {
8
- this.name = name;
9
- this.policies = policies;
10
- this.sharingLevel = sharingLevel;
11
-
12
- validateType(policies, Array);
13
- policies && validateType(policies[0], PolicyModel);
14
- }
15
- }
16
-
17
- module.exports = { CreateRequirementModel };
1
+ const { validateType } = require('../../../../common/validations/typeValidations');
2
+ const { PolicyModel } = require('./policy.model');
3
+
4
+ const { REQUIREMENT_SHARING_LEVELS } = require('../consts/consts');
5
+
6
+ class CreateRequirementModel {
7
+ constructor(name, policies, sharingLevel = REQUIREMENT_SHARING_LEVELS.TAB) {
8
+ this.name = name;
9
+ this.policies = policies;
10
+ this.sharingLevel = sharingLevel;
11
+
12
+ validateType(policies, Array);
13
+ policies && validateType(policies[0], PolicyModel);
14
+ }
15
+ }
16
+
17
+ module.exports = { CreateRequirementModel };
@@ -1,33 +1,33 @@
1
- const Enum = require('enum');
2
- const { validateType } = require('../../../../common/validations/typeValidations');
3
-
4
- class PolicyModel {
5
- constructor(name, attributes) {
6
- this.policyName = name;
7
- this.attributes = attributes;
8
- validateType(attributes, Array);
9
- attributes && validateType(attributes[0], AttributeModel);
10
- }
11
- }
12
-
13
- class AttributeModel {
14
- constructor(name, type, values) {
15
- this.attributeName = name;
16
- this.type = type.value;
17
- this.values = values.map(value => ({ value }));
18
-
19
- if (!AttributeTypes.get(type) || !AttributeTypes.get(type.key)) {
20
- throw TypeError(`Expected type to be instance of: ${AttributeTypes.name}`);
21
- }
22
- }
23
- }
24
-
25
- const AttributeTypes = new Enum({
26
- 'ENDORSMENT': 'endorsment',
27
- 'LIMIT': 'limit',
28
- 'BOOLEAN': 'boolean',
29
- 'NUMERIC': 'numeric',
30
- 'MULTIPLE': 'multiple'
31
- }, { name: 'AttributeTypes' });
32
-
33
- module.exports = { PolicyModel, AttributeModel, AttributeTypes };
1
+ const Enum = require('enum');
2
+ const { validateType } = require('../../../../common/validations/typeValidations');
3
+
4
+ class PolicyModel {
5
+ constructor(name, attributes) {
6
+ this.policyName = name;
7
+ this.attributes = attributes;
8
+ validateType(attributes, Array);
9
+ attributes && validateType(attributes[0], AttributeModel);
10
+ }
11
+ }
12
+
13
+ class AttributeModel {
14
+ constructor(name, type, values) {
15
+ this.attributeName = name;
16
+ this.type = type.value;
17
+ this.values = values.map(value => ({ value }));
18
+
19
+ if (!AttributeTypes.get(type) || !AttributeTypes.get(type.key)) {
20
+ throw TypeError(`Expected type to be instance of: ${AttributeTypes.name}`);
21
+ }
22
+ }
23
+ }
24
+
25
+ const AttributeTypes = new Enum({
26
+ 'ENDORSMENT': 'endorsment',
27
+ 'LIMIT': 'limit',
28
+ 'BOOLEAN': 'boolean',
29
+ 'NUMERIC': 'numeric',
30
+ 'MULTIPLE': 'multiple'
31
+ }, { name: 'AttributeTypes' });
32
+
33
+ module.exports = { PolicyModel, AttributeModel, AttributeTypes };
@@ -1,19 +1,19 @@
1
- const { validateType } = require('../../../../common/validations/typeValidations');
2
- const { REQUIREMENT_SHARING_LEVELS } = require('../consts/consts');
3
- const { PolicyModel } = require('./policy.model');
4
- const { VENDORS } = require('../../../../common/consts/recordTypes');
5
- class UpdateRequirementModel {
6
- constructor({ id, name, policies, dateModified, sharingLevel = REQUIREMENT_SHARING_LEVELS.TAB, recordType = VENDORS }) {
7
- this.id = id;
8
- this.name = name;
9
- this.policies = policies;
10
- this.dateModified = dateModified;
11
- this.sharingLevel = sharingLevel;
12
- this.recordType = recordType;
13
-
14
- validateType(policies, Array);
15
- policies && validateType(policies[0], PolicyModel);
16
- }
17
- }
18
-
19
- module.exports = { UpdateRequirementModel };
1
+ const { validateType } = require('../../../../common/validations/typeValidations');
2
+ const { REQUIREMENT_SHARING_LEVELS } = require('../consts/consts');
3
+ const { PolicyModel } = require('./policy.model');
4
+ const { VENDORS } = require('../../../../common/consts/recordTypes');
5
+ class UpdateRequirementModel {
6
+ constructor({ id, name, policies, dateModified, sharingLevel = REQUIREMENT_SHARING_LEVELS.TAB, recordType = VENDORS }) {
7
+ this.id = id;
8
+ this.name = name;
9
+ this.policies = policies;
10
+ this.dateModified = dateModified;
11
+ this.sharingLevel = sharingLevel;
12
+ this.recordType = recordType;
13
+
14
+ validateType(policies, Array);
15
+ policies && validateType(policies[0], PolicyModel);
16
+ }
17
+ }
18
+
19
+ module.exports = { UpdateRequirementModel };
@@ -1,116 +1,116 @@
1
- const attributeTypes = require('../consts/attributeTypes.json');
2
- const dataTypeUtils = require('../../../../common/utils/dataTypeUtils');
3
- const { UpdateRequirementModel } = require('../models/update.requirement.model');
4
- const { AttributeModel, PolicyModel, AttributeTypes } = require('../models/policy.model');
5
- const { CreateRequirementModel } = require('../models/create.requirement.model');
6
-
7
- const customAttributes = {
8
- Including: 'multiple' //because attributeTypes.multiple => 'Multiple' with capital M
9
- };
10
-
11
- const numericAttributes = ['Indemnity Period', 'Notice of Cancellation', 'Notice of Cancellation Endorsement'];
12
-
13
- const convertNumericValuesToNumberType = function(value, attributeName) {
14
- if (dataTypeUtils.isString(value) && value.startsWith('$')) {
15
- return Number(value.replace(/[$,]/g, ''));
16
- }
17
-
18
- if (numericAttributes.includes(attributeName)) {
19
- return Number(value);
20
- }
21
-
22
- return value;
23
- };
24
-
25
- const preparePolicyAttributesTypes = function(value, attributeName) {
26
- const attributesValue = convertNumericValuesToNumberType(value, attributeName);
27
-
28
- if (dataTypeUtils.isNumber(attributesValue)) {
29
- return numericAttributes.includes(attributeName) ?
30
- AttributeTypes.get(attributeTypes.numeric) :
31
- AttributeTypes.get(attributeTypes.limit);
32
- }
33
-
34
- if (dataTypeUtils.isBoolean(attributesValue)) {
35
- return AttributeTypes.get(attributeTypes.boolean);
36
- }
37
-
38
- return AttributeTypes.get(attributeTypes.multiple);
39
- };
40
-
41
- const prepareEndorsmentAttributesTypes = function(value) {
42
- if (dataTypeUtils.isBoolean(value)) {
43
- return AttributeTypes.get(attributeTypes.boolean);
44
- }
45
-
46
- return AttributeTypes.get(attributeTypes.endorsment);
47
- };
48
-
49
- const parseRequirementConfig = function(config) {
50
- if (dataTypeUtils.isArray(config)) {
51
- // If config is an array type it means the config is already parsed.
52
- return config;
53
- }
54
-
55
- const policies = [];
56
- for (const policy in config) {
57
- const attributes = [];
58
-
59
- if (dataTypeUtils.isObject(config[policy])) {
60
- for (const attribute in config[policy]) {
61
- const attributeName = customAttributes[attribute] || attribute;
62
-
63
- attributes.push({
64
- name: attributeName,
65
- type: preparePolicyAttributesTypes(config[policy][attribute], attributeName),
66
- values: attributeName === customAttributes.Including ?
67
- config[policy][attribute].split(', ') :
68
- [convertNumericValuesToNumberType(config[policy][attribute], attributeName)]
69
- });
70
- };
71
- } else {
72
- attributes.push({
73
- name: policy,
74
- type: prepareEndorsmentAttributesTypes(config[policy]),
75
- values: [config[policy]]
76
- });
77
- }
78
-
79
- policies.push({
80
- name: policy,
81
- attributes
82
- });
83
- }
84
- return policies;
85
- };
86
-
87
- const getPolicyModel = function(policyData) {
88
- const attributes = policyData.attributes;
89
- const attributeModels = attributes.map(attribute =>
90
- new AttributeModel(attribute.name, attribute.type, attribute.values));
91
-
92
- return new PolicyModel(policyData.name, attributeModels);
93
- };
94
-
95
- const getCreateRequirementModel = function(requirement) {
96
- const { policies, name, sharingLevel } = requirement;
97
-
98
- const parsedPolicies = parseRequirementConfig(policies);
99
- const policyModels = parsedPolicies.map(policy => getPolicyModel(policy));
100
-
101
- return new CreateRequirementModel(name, policyModels, sharingLevel);
102
- };
103
-
104
- const getUpdateRequirementModel = function(updatedRequirement) {
105
- const { id, policies, name, recordType, sharingLevel, dateModified } = updatedRequirement;
106
-
107
- const parsedPolicies = parseRequirementConfig(policies);
108
- const policyModels = parsedPolicies.map(policy => getPolicyModel(policy));
109
-
110
- return new UpdateRequirementModel({ id, name, policies: policyModels, dateModified, sharingLevel, recordType });
111
- };
112
-
113
- module.exports = {
114
- getCreateRequirementModel,
115
- getUpdateRequirementModel
116
- };
1
+ const attributeTypes = require('../consts/attributeTypes.json');
2
+ const dataTypeUtils = require('../../../../common/utils/dataTypeUtils');
3
+ const { UpdateRequirementModel } = require('../models/update.requirement.model');
4
+ const { AttributeModel, PolicyModel, AttributeTypes } = require('../models/policy.model');
5
+ const { CreateRequirementModel } = require('../models/create.requirement.model');
6
+
7
+ const customAttributes = {
8
+ Including: 'multiple' //because attributeTypes.multiple => 'Multiple' with capital M
9
+ };
10
+
11
+ const numericAttributes = ['Indemnity Period', 'Notice of Cancellation', 'Notice of Cancellation Endorsement'];
12
+
13
+ const convertNumericValuesToNumberType = function(value, attributeName) {
14
+ if (dataTypeUtils.isString(value) && value.startsWith('$')) {
15
+ return Number(value.replace(/[$,]/g, ''));
16
+ }
17
+
18
+ if (numericAttributes.includes(attributeName)) {
19
+ return Number(value);
20
+ }
21
+
22
+ return value;
23
+ };
24
+
25
+ const preparePolicyAttributesTypes = function(value, attributeName) {
26
+ const attributesValue = convertNumericValuesToNumberType(value, attributeName);
27
+
28
+ if (dataTypeUtils.isNumber(attributesValue)) {
29
+ return numericAttributes.includes(attributeName) ?
30
+ AttributeTypes.get(attributeTypes.numeric) :
31
+ AttributeTypes.get(attributeTypes.limit);
32
+ }
33
+
34
+ if (dataTypeUtils.isBoolean(attributesValue)) {
35
+ return AttributeTypes.get(attributeTypes.boolean);
36
+ }
37
+
38
+ return AttributeTypes.get(attributeTypes.multiple);
39
+ };
40
+
41
+ const prepareEndorsmentAttributesTypes = function(value) {
42
+ if (dataTypeUtils.isBoolean(value)) {
43
+ return AttributeTypes.get(attributeTypes.boolean);
44
+ }
45
+
46
+ return AttributeTypes.get(attributeTypes.endorsment);
47
+ };
48
+
49
+ const parseRequirementConfig = function(config) {
50
+ if (dataTypeUtils.isArray(config)) {
51
+ // If config is an array type it means the config is already parsed.
52
+ return config;
53
+ }
54
+
55
+ const policies = [];
56
+ for (const policy in config) {
57
+ const attributes = [];
58
+
59
+ if (dataTypeUtils.isObject(config[policy])) {
60
+ for (const attribute in config[policy]) {
61
+ const attributeName = customAttributes[attribute] || attribute;
62
+
63
+ attributes.push({
64
+ name: attributeName,
65
+ type: preparePolicyAttributesTypes(config[policy][attribute], attributeName),
66
+ values: attributeName === customAttributes.Including ?
67
+ config[policy][attribute].split(', ') :
68
+ [convertNumericValuesToNumberType(config[policy][attribute], attributeName)]
69
+ });
70
+ };
71
+ } else {
72
+ attributes.push({
73
+ name: policy,
74
+ type: prepareEndorsmentAttributesTypes(config[policy]),
75
+ values: [config[policy]]
76
+ });
77
+ }
78
+
79
+ policies.push({
80
+ name: policy,
81
+ attributes
82
+ });
83
+ }
84
+ return policies;
85
+ };
86
+
87
+ const getPolicyModel = function(policyData) {
88
+ const attributes = policyData.attributes;
89
+ const attributeModels = attributes.map(attribute =>
90
+ new AttributeModel(attribute.name, attribute.type, attribute.values));
91
+
92
+ return new PolicyModel(policyData.name, attributeModels);
93
+ };
94
+
95
+ const getCreateRequirementModel = function(requirement) {
96
+ const { policies, name, sharingLevel } = requirement;
97
+
98
+ const parsedPolicies = parseRequirementConfig(policies);
99
+ const policyModels = parsedPolicies.map(policy => getPolicyModel(policy));
100
+
101
+ return new CreateRequirementModel(name, policyModels, sharingLevel);
102
+ };
103
+
104
+ const getUpdateRequirementModel = function(updatedRequirement) {
105
+ const { id, policies, name, recordType, sharingLevel, dateModified } = updatedRequirement;
106
+
107
+ const parsedPolicies = parseRequirementConfig(policies);
108
+ const policyModels = parsedPolicies.map(policy => getPolicyModel(policy));
109
+
110
+ return new UpdateRequirementModel({ id, name, policies: policyModels, dateModified, sharingLevel, recordType });
111
+ };
112
+
113
+ module.exports = {
114
+ getCreateRequirementModel,
115
+ getUpdateRequirementModel
116
+ };
@@ -1,12 +1,12 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- coordinates: (city, state) => `${backendUrl}/saas/coordinates?city=${city}&state=${state}`
6
- };
7
-
8
- const getCoordinatesByAddress = (city, state, context) => {
9
- return requests.getRequestHandler(Endpoints.coordinates(city, state), {}, context);
10
- };
11
-
12
- module.exports = { getCoordinatesByAddress };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ coordinates: (city, state) => `${backendUrl}/saas/coordinates?city=${city}&state=${state}`
6
+ };
7
+
8
+ const getCoordinatesByAddress = (city, state, context) => {
9
+ return requests.getRequestHandler(Endpoints.coordinates(city, state), {}, context);
10
+ };
11
+
12
+ module.exports = { getCoordinatesByAddress };
@@ -1,7 +1,7 @@
1
- const coordinates = require('./coordinates.api');
2
-
3
- const getCoordinatesByAddress = (city, state, context) => {
4
- return coordinates.getCoordinatesByAddress(city, state, context);
5
- };
6
-
7
- module.exports = { getCoordinatesByAddress };
1
+ const coordinates = require('./coordinates.api');
2
+
3
+ const getCoordinatesByAddress = (city, state, context) => {
4
+ return coordinates.getCoordinatesByAddress(city, state, context);
5
+ };
6
+
7
+ module.exports = { getCoordinatesByAddress };
@@ -1,4 +1,4 @@
1
- const services = require('./api/coordinates.service');
2
- const utils = require('./utils/utils');
3
-
4
- module.exports = { services, utils };
1
+ const services = require('./api/coordinates.service');
2
+ const utils = require('./utils/utils');
3
+
4
+ module.exports = { services, utils };
@@ -1,8 +1,8 @@
1
- const service = require('../api/coordinates.service');
2
-
3
- const getCoordinatesByAddress = async (city, state, context) => {
4
- const response = await service.getCoordinatesByAddress(city, state, context);
5
- return response.data;
6
- };
7
-
8
- module.exports = { getCoordinatesByAddress };
1
+ const service = require('../api/coordinates.service');
2
+
3
+ const getCoordinatesByAddress = async (city, state, context) => {
4
+ const response = await service.getCoordinatesByAddress(city, state, context);
5
+ return response.data;
6
+ };
7
+
8
+ module.exports = { getCoordinatesByAddress };
@@ -1,32 +1,32 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- getTabsByProjectId: `${backendUrl}/saas/vendortab`,
6
- getTabsByTabId: `${backendUrl}/saas/vendortab`,
7
- create: `${backendUrl}/saas/vendortab`,
8
- update: `${backendUrl}/saas/vendortab`,
9
- delete: `${backendUrl}/saas/vendortab`
10
- };
11
-
12
- const getTabByTabId = (tabId, context) => {
13
- return requests.getRequestHandler(Endpoints.getTabsByTabId, { tabId }, context);
14
- };
15
-
16
- const getTabsByProjectId = (projectId, context) => {
17
- return requests.getRequestHandler(Endpoints.getTabsByProjectId, { projectId }, context);
18
- };
19
-
20
- const createTab = (tabModel, context) => {
21
- return requests.postRequestHandler(Endpoints.create, tabModel, context);
22
- };
23
-
24
- const updateTab = (tabModel, context) => {
25
- return requests.putRequestHandler(Endpoints.update, tabModel, context);
26
- };
27
-
28
- const deleteTab = (tabId, context) => {
29
- return requests.deleteRequestHandler(Endpoints.delete, context, {}, { tabId });
30
- };
31
-
32
- module.exports = { getTabByTabId, getTabsByProjectId, createTab, updateTab, deleteTab };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ getTabsByProjectId: `${backendUrl}/saas/vendortab`,
6
+ getTabsByTabId: `${backendUrl}/saas/vendortab`,
7
+ create: `${backendUrl}/saas/vendortab`,
8
+ update: `${backendUrl}/saas/vendortab`,
9
+ delete: `${backendUrl}/saas/vendortab`
10
+ };
11
+
12
+ const getTabByTabId = (tabId, context) => {
13
+ return requests.getRequestHandler(Endpoints.getTabsByTabId, { tabId }, context);
14
+ };
15
+
16
+ const getTabsByProjectId = (projectId, context) => {
17
+ return requests.getRequestHandler(Endpoints.getTabsByProjectId, { projectId }, context);
18
+ };
19
+
20
+ const createTab = (tabModel, context) => {
21
+ return requests.postRequestHandler(Endpoints.create, tabModel, context);
22
+ };
23
+
24
+ const updateTab = (tabModel, context) => {
25
+ return requests.putRequestHandler(Endpoints.update, tabModel, context);
26
+ };
27
+
28
+ const deleteTab = (tabId, context) => {
29
+ return requests.deleteRequestHandler(Endpoints.delete, context, {}, { tabId });
30
+ };
31
+
32
+ module.exports = { getTabByTabId, getTabsByProjectId, createTab, updateTab, deleteTab };
@@ -1,54 +1,54 @@
1
- const tabsAPI = require('./tabs.api');
2
- const { CreateTabModel, UpdateTabModel } = require('../models/tabs.model');
3
-
4
- const createTab = async (projectId, tabName, tabType, context) => {
5
- const tabModel = new CreateTabModel(projectId, tabName, tabType);
6
- return tabsAPI.createTab(tabModel, context);
7
- };
8
-
9
- const getTabById = async (tabId, context) => {
10
- return tabsAPI.getTabByTabId(tabId, context);
11
- };
12
-
13
- const getTabsByProjectId = async (projectId, context) => {
14
- return tabsAPI.getTabsByProjectId(projectId, context);
15
- };
16
-
17
- const getTabsByName = async (projectId, tabName, context, { tabType } = {}) => {
18
- const { data: tabs } = await getTabsByProjectId(projectId, context);
19
- const requestedTab = tabType ?
20
- tabs.find(tab => tab.tabName === tabName && tab.type === tabType) :
21
- tabs.find(tab => tab.tabName === tabName);
22
- return requestedTab;
23
- };
24
-
25
- const getOrCreateTab = async (projectId, tabName, tabType, context) => {
26
- const { data: tabs } = await getTabsByProjectId(projectId, context);
27
- const existingTab = tabs.find(tab => tab.tabName === tabName && tab.type === tabType);
28
-
29
- if (existingTab) {
30
- return existingTab;
31
- }
32
-
33
- const createResponse = await createTab(projectId, tabName, tabType, context);
34
- return createResponse.data;
35
- };
36
-
37
- const updateTab = async ({ id, projectId, name, type, context, dateModified }) => {
38
- const tabModel = new UpdateTabModel({ id, projectId, name, type, dateModified });
39
- return tabsAPI.updateTab(tabModel, context);
40
- };
41
-
42
- const deleteTabById = async (tabId, context) => {
43
- return tabsAPI.deleteTab(tabId, context);
44
- };
45
-
46
- module.exports = {
47
- createTab,
48
- getTabById,
49
- getTabsByProjectId,
50
- getTabsByName,
51
- getOrCreateTab,
52
- updateTab,
53
- deleteTabById
54
- };
1
+ const tabsAPI = require('./tabs.api');
2
+ const { CreateTabModel, UpdateTabModel } = require('../models/tabs.model');
3
+
4
+ const createTab = async (projectId, tabName, tabType, context) => {
5
+ const tabModel = new CreateTabModel(projectId, tabName, tabType);
6
+ return tabsAPI.createTab(tabModel, context);
7
+ };
8
+
9
+ const getTabById = async (tabId, context) => {
10
+ return tabsAPI.getTabByTabId(tabId, context);
11
+ };
12
+
13
+ const getTabsByProjectId = async (projectId, context) => {
14
+ return tabsAPI.getTabsByProjectId(projectId, context);
15
+ };
16
+
17
+ const getTabsByName = async (projectId, tabName, context, { tabType } = {}) => {
18
+ const { data: tabs } = await getTabsByProjectId(projectId, context);
19
+ const requestedTab = tabType ?
20
+ tabs.find(tab => tab.tabName === tabName && tab.type === tabType) :
21
+ tabs.find(tab => tab.tabName === tabName);
22
+ return requestedTab;
23
+ };
24
+
25
+ const getOrCreateTab = async (projectId, tabName, tabType, context) => {
26
+ const { data: tabs } = await getTabsByProjectId(projectId, context);
27
+ const existingTab = tabs.find(tab => tab.tabName === tabName && tab.type === tabType);
28
+
29
+ if (existingTab) {
30
+ return existingTab;
31
+ }
32
+
33
+ const createResponse = await createTab(projectId, tabName, tabType, context);
34
+ return createResponse.data;
35
+ };
36
+
37
+ const updateTab = async ({ id, projectId, name, type, context, dateModified }) => {
38
+ const tabModel = new UpdateTabModel({ id, projectId, name, type, dateModified });
39
+ return tabsAPI.updateTab(tabModel, context);
40
+ };
41
+
42
+ const deleteTabById = async (tabId, context) => {
43
+ return tabsAPI.deleteTab(tabId, context);
44
+ };
45
+
46
+ module.exports = {
47
+ createTab,
48
+ getTabById,
49
+ getTabsByProjectId,
50
+ getTabsByName,
51
+ getOrCreateTab,
52
+ updateTab,
53
+ deleteTabById
54
+ };
@@ -1,3 +1,3 @@
1
- const services = require('./api/tabs.service');
2
-
3
- module.exports = { services };
1
+ const services = require('./api/tabs.service');
2
+
3
+ module.exports = { services };