@getjones/test-infra 2.8.4 → 2.8.6

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 (176) hide show
  1. package/package.json +29 -29
  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 +72 -72
  5. package/src/common/consts/dashboardCharts.js +17 -17
  6. package/src/common/consts/recordTypes.js +5 -5
  7. package/src/common/consts/userTypes.js +5 -5
  8. package/src/common/httpResponseStatusCodes.json +11 -11
  9. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  10. package/src/common/requests/cookieAuth/requests.js +40 -40
  11. package/src/common/requests/requestHandlers.js +78 -78
  12. package/src/common/utils/complianceUtil.js +56 -56
  13. package/src/common/utils/dataTypeUtils.js +41 -41
  14. package/src/common/utils/numberUtils.js +22 -22
  15. package/src/common/utils/objectUtils.js +7 -7
  16. package/src/common/utils/timeUtils.js +175 -175
  17. package/src/common/validations/errorValidation.js +16 -16
  18. package/src/common/validations/typeValidations.js +36 -36
  19. package/src/defaults/configs/auditConfigs.js +91 -91
  20. package/src/defaults/configs/coverage.js +227 -227
  21. package/src/defaults/configs/polices.js +49 -49
  22. package/src/defaults/configs/requirement.js +32 -32
  23. package/src/defaults/index.js +6 -6
  24. package/src/env.js +57 -57
  25. package/src/factory/index.js +7 -7
  26. package/src/factory/records/records.js +141 -142
  27. package/src/factory/users/users.js +79 -79
  28. package/src/index.js +83 -81
  29. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +28 -28
  30. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +77 -77
  31. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  32. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  33. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  34. package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
  35. package/src/saas/internal-api/accounts/consts/consts.js +6 -6
  36. package/src/saas/internal-api/accounts/index.js +21 -21
  37. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  38. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +38 -38
  39. package/src/saas/internal-api/accounts/utils/utils.js +66 -66
  40. package/src/saas/internal-api/agreement/api/agreement.api.js +24 -0
  41. package/src/saas/internal-api/agreement/api/agreement.service.js +17 -0
  42. package/src/saas/internal-api/agreement/consts/consts.js +8 -0
  43. package/src/saas/internal-api/agreement/index.js +11 -0
  44. package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -0
  45. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  46. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  47. package/src/saas/internal-api/auditNotes/index.js +4 -4
  48. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  49. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  50. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  51. package/src/saas/internal-api/auth/index.js +3 -3
  52. package/src/saas/internal-api/coi/api/coi.api.js +34 -34
  53. package/src/saas/internal-api/coi/api/coi.service.js +22 -22
  54. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  55. package/src/saas/internal-api/coi/index.js +13 -13
  56. package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
  57. package/src/saas/internal-api/coi/utils/utils.js +48 -48
  58. package/src/saas/internal-api/compliance/api/audit/audit.api.js +46 -46
  59. package/src/saas/internal-api/compliance/api/audit/audit.service.js +143 -143
  60. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  61. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  62. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  63. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
  64. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +33 -33
  65. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +127 -127
  66. package/src/saas/internal-api/compliance/consts/audit.js +71 -71
  67. package/src/saas/internal-api/compliance/index.js +33 -33
  68. package/src/saas/internal-api/compliance/models/audit/audit.model.js +84 -84
  69. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  70. package/src/saas/internal-api/compliance/utils/auditUtil.js +222 -222
  71. package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
  72. package/src/saas/internal-api/contractors/api/contractors.api.js +152 -153
  73. package/src/saas/internal-api/contractors/api/contractors.service.js +169 -169
  74. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  75. package/src/saas/internal-api/contractors/index.js +9 -9
  76. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  77. package/src/saas/internal-api/contractors/models/create.contractor.model.js +22 -22
  78. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
  79. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  80. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  81. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  82. package/src/saas/internal-api/dashboard/index.js +5 -5
  83. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  84. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  85. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +127 -127
  86. package/src/saas/internal-api/dbEmails/consts/consts.js +37 -37
  87. package/src/saas/internal-api/dbEmails/index.js +5 -5
  88. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +21 -21
  89. package/src/saas/internal-api/dbEmails/utils/util.js +68 -68
  90. package/src/saas/internal-api/globalRecord/api/global.record.api.js +82 -82
  91. package/src/saas/internal-api/globalRecord/api/global.record.service.js +95 -95
  92. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  93. package/src/saas/internal-api/globalRecord/index.js +6 -6
  94. package/src/saas/internal-api/globalRecord/models/global.record.model.js +43 -43
  95. package/src/saas/internal-api/globalRecord/utils/util.js +148 -148
  96. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  97. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  98. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  99. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  100. package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
  101. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  102. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  103. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  104. package/src/saas/internal-api/projects/index.js +24 -24
  105. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  106. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  107. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
  108. package/src/saas/internal-api/projects/utils/utils.js +156 -156
  109. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  110. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +29 -29
  111. package/src/saas/internal-api/recordNotes/index.js +3 -3
  112. package/src/saas/internal-api/reports/api/reports.api.js +39 -39
  113. package/src/saas/internal-api/reports/api/reports.service.js +34 -34
  114. package/src/saas/internal-api/reports/consts/consts.js +63 -63
  115. package/src/saas/internal-api/reports/index.js +15 -15
  116. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  117. package/src/saas/internal-api/requests/api/requests.api.js +72 -72
  118. package/src/saas/internal-api/requests/api/requests.service.js +122 -122
  119. package/src/saas/internal-api/requests/index.js +14 -14
  120. package/src/saas/internal-api/requests/models/create.request.model.js +33 -33
  121. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  122. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  123. package/src/saas/internal-api/requests/utils.js +8 -8
  124. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  125. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  126. package/src/saas/internal-api/requestsTable/index.js +3 -3
  127. package/src/saas/internal-api/requirements/api/requirements.api.js +45 -45
  128. package/src/saas/internal-api/requirements/api/requirements.service.js +134 -134
  129. package/src/saas/internal-api/requirements/consts/attributeTypes.json +5 -5
  130. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  131. package/src/saas/internal-api/requirements/index.js +9 -9
  132. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  133. package/src/saas/internal-api/requirements/models/policy.model.js +32 -32
  134. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  135. package/src/saas/internal-api/requirements/utils/utils.js +102 -102
  136. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  137. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  138. package/src/saas/internal-api/serviceArea/index.js +4 -4
  139. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  140. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  141. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  142. package/src/saas/internal-api/tabs/index.js +3 -3
  143. package/src/saas/internal-api/tabs/models/tabs.model.js +18 -18
  144. package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
  145. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
  146. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +78 -78
  147. package/src/saas/internal-api/users/api/users.api.js +77 -77
  148. package/src/saas/internal-api/users/api/users.service.js +101 -101
  149. package/src/saas/internal-api/users/index.js +11 -11
  150. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  151. package/src/saas/internal-api/users/models/users.model.js +31 -31
  152. package/src/saas/internal-api/users/utils/util.js +20 -20
  153. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
  154. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
  155. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  156. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  157. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  158. package/src/saas/openapi/coi/coi.api.js +20 -20
  159. package/src/saas/openapi/coi/coi.service.js +13 -13
  160. package/src/saas/openapi/projects/projects.api.js +59 -59
  161. package/src/saas/openapi/projects/projects.service.js +44 -44
  162. package/src/saas/openapi/requests/index.js +7 -7
  163. package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
  164. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  165. package/src/saas/openapi/requests/requests.api.js +76 -76
  166. package/src/saas/openapi/requests/requests.service.js +65 -65
  167. package/src/saas/openapi/requirements/index.js +6 -6
  168. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  169. package/src/saas/openapi/requirements/requirements.api.js +26 -26
  170. package/src/saas/openapi/requirements/requirements.service.js +32 -32
  171. package/src/saas/openapi/tabs/index.js +6 -6
  172. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  173. package/src/saas/openapi/tabs/tabs.api.js +18 -18
  174. package/src/saas/openapi/tabs/tabs.service.js +11 -11
  175. package/tests/env.test.js +40 -40
  176. package/tests/validation.test.js +83 -83
@@ -1,21 +1,21 @@
1
- const requests = require('../../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- get: accountId => `${backendUrl}/saas/account/${accountId}/settings`,
6
- edit: accountId => `${backendUrl}/saas/account/${accountId}/settings`
7
- };
8
-
9
- const getAccountSettings = (accountId, context) => {
10
- return requests.getRequestHandler(Endpoints.get(accountId), {}, context);
11
- };
12
-
13
- const updateAccountSettings = (updateAccountSettingsModel, context) => {
14
- const { accountId } = updateAccountSettingsModel;
15
- return requests.putRequestHandler(Endpoints.edit(accountId), updateAccountSettingsModel, context);
16
- };
17
-
18
- module.exports = {
19
- getAccountSettings,
20
- updateAccountSettings
21
- };
1
+ const requests = require('../../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ get: accountId => `${backendUrl}/saas/account/${accountId}/settings`,
6
+ edit: accountId => `${backendUrl}/saas/account/${accountId}/settings`
7
+ };
8
+
9
+ const getAccountSettings = (accountId, context) => {
10
+ return requests.getRequestHandler(Endpoints.get(accountId), {}, context);
11
+ };
12
+
13
+ const updateAccountSettings = (updateAccountSettingsModel, context) => {
14
+ const { accountId } = updateAccountSettingsModel;
15
+ return requests.putRequestHandler(Endpoints.edit(accountId), updateAccountSettingsModel, context);
16
+ };
17
+
18
+ module.exports = {
19
+ getAccountSettings,
20
+ updateAccountSettings
21
+ };
@@ -1,41 +1,41 @@
1
- const accountsAPI = require('./settings.api');
2
- const { validateType } = require('../../../../../common/validations/typeValidations');
3
- const UpdateAccountSettingsModel = require('../../models/settings/update.settings.model');
4
- const util = require('../../utils/utils');
5
- const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
6
-
7
- const getAccountSettings = (accountId, context) => {
8
- return accountsAPI.getAccountSettings(accountId, context);
9
- };
10
-
11
- const updateAccountSettings = (updateAccountSettingsModel, context) => {
12
- validateType(updateAccountSettingsModel, UpdateAccountSettingsModel);
13
- return accountsAPI.updateAccountSettings(updateAccountSettingsModel, context);
14
- };
15
-
16
- const restoreAccountSettings = (accountId, context) => {
17
- const updateAccountSettingsModel = new UpdateAccountSettingsModel(accountId);
18
- return accountsAPI.updateAccountSettings(updateAccountSettingsModel, context);
19
- };
20
-
21
- const setAccountSettings = async (accountId, settings, context) => {
22
- const isUIConfig = util.isUIConfig(settings);
23
-
24
- const settingsConfig = isUIConfig ? util.parseAccountSettingsConfig(accountId, settings) : settings;
25
- const settingsModel = new UpdateAccountSettingsModel(accountId, settingsConfig);
26
-
27
- const updateResponse = await updateAccountSettings(settingsModel, context);
28
-
29
- if (updateResponse.status !== httpResponseStatusCodes.OK) {
30
- throw new Error(`Failed to set account: ${accountId} settings\n${updateResponse.data}`);
31
- }
32
-
33
- return updateResponse;
34
- };
35
-
36
- module.exports = {
37
- getAccountSettings,
38
- updateAccountSettings,
39
- restoreAccountSettings,
40
- setAccountSettings
41
- };
1
+ const accountsAPI = require('./settings.api');
2
+ const { validateType } = require('../../../../../common/validations/typeValidations');
3
+ const UpdateAccountSettingsModel = require('../../models/settings/update.settings.model');
4
+ const util = require('../../utils/utils');
5
+ const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
6
+
7
+ const getAccountSettings = (accountId, context) => {
8
+ return accountsAPI.getAccountSettings(accountId, context);
9
+ };
10
+
11
+ const updateAccountSettings = (updateAccountSettingsModel, context) => {
12
+ validateType(updateAccountSettingsModel, UpdateAccountSettingsModel);
13
+ return accountsAPI.updateAccountSettings(updateAccountSettingsModel, context);
14
+ };
15
+
16
+ const restoreAccountSettings = (accountId, context) => {
17
+ const updateAccountSettingsModel = new UpdateAccountSettingsModel(accountId);
18
+ return accountsAPI.updateAccountSettings(updateAccountSettingsModel, context);
19
+ };
20
+
21
+ const setAccountSettings = async (accountId, settings, context) => {
22
+ const isUIConfig = util.isUIConfig(settings);
23
+
24
+ const settingsConfig = isUIConfig ? util.parseAccountSettingsConfig(accountId, settings) : settings;
25
+ const settingsModel = new UpdateAccountSettingsModel(accountId, settingsConfig);
26
+
27
+ const updateResponse = await updateAccountSettings(settingsModel, context);
28
+
29
+ if (updateResponse.status !== httpResponseStatusCodes.OK) {
30
+ throw new Error(`Failed to set account: ${accountId} settings\n${updateResponse.data}`);
31
+ }
32
+
33
+ return updateResponse;
34
+ };
35
+
36
+ module.exports = {
37
+ getAccountSettings,
38
+ updateAccountSettings,
39
+ restoreAccountSettings,
40
+ setAccountSettings
41
+ };
@@ -1,6 +1,6 @@
1
- const ACCOUNT_TYPES = {
2
- PROPERTY: 'Property Management',
3
- CONSTRUCTION: 'Construction'
4
- };
5
-
6
- module.exports = { ACCOUNT_TYPES };
1
+ const ACCOUNT_TYPES = {
2
+ PROPERTY: 'Property Management',
3
+ CONSTRUCTION: 'Construction'
4
+ };
5
+
6
+ module.exports = { ACCOUNT_TYPES };
@@ -1,21 +1,21 @@
1
- const CreateAccountModel = require('./models/core/create.account.model');
2
- const coreModels = { CreateAccountModel };
3
-
4
- const UpdateAccountSettingsModel = require('./models/settings/update.settings.model');
5
- const settingsModels = { UpdateAccountSettingsModel };
6
-
7
- const models = { core: coreModels, settings: settingsModels };
8
- const utils = require('./utils/utils');
9
- const consts = require('./consts/consts');
10
-
11
- const coreService = require('./api/core/accounts.core.service');
12
- const openApiServices = require('./api/openapi/accounts.openapi.service');
13
- const settingsServices = require('./api/settings/settings.service');
14
-
15
- const services = {
16
- core: coreService,
17
- openApi: openApiServices,
18
- settings: settingsServices
19
- };
20
-
21
- module.exports = { services, models, utils, consts };
1
+ const CreateAccountModel = require('./models/core/create.account.model');
2
+ const coreModels = { CreateAccountModel };
3
+
4
+ const UpdateAccountSettingsModel = require('./models/settings/update.settings.model');
5
+ const settingsModels = { UpdateAccountSettingsModel };
6
+
7
+ const models = { core: coreModels, settings: settingsModels };
8
+ const utils = require('./utils/utils');
9
+ const consts = require('./consts/consts');
10
+
11
+ const coreService = require('./api/core/accounts.core.service');
12
+ const openApiServices = require('./api/openapi/accounts.openapi.service');
13
+ const settingsServices = require('./api/settings/settings.service');
14
+
15
+ const services = {
16
+ core: coreService,
17
+ openApi: openApiServices,
18
+ settings: settingsServices
19
+ };
20
+
21
+ module.exports = { services, models, utils, consts };
@@ -1,16 +1,16 @@
1
- const env = require('../../../../../env');
2
- const { credentials, accountCreationSecret } = env.getEnv();
3
- const { ACCOUNT_TYPES } = require('../../consts/consts');
4
-
5
- class CreateAccountModel {
6
- constructor(accountName, email, password = credentials.strongPassword, propertyType = ACCOUNT_TYPES.PROPERTY) {
7
- this.companyName = accountName;
8
- this.email = email;
9
- this.password = password;
10
- this.verifyPassword = password;
11
- this.userType = propertyType;
12
- this.secret = accountCreationSecret;
13
- }
14
- }
15
-
16
- module.exports = CreateAccountModel;
1
+ const env = require('../../../../../env');
2
+ const { credentials, accountCreationSecret } = env.getEnv();
3
+ const { ACCOUNT_TYPES } = require('../../consts/consts');
4
+
5
+ class CreateAccountModel {
6
+ constructor(accountName, email, password = credentials.strongPassword, propertyType = ACCOUNT_TYPES.PROPERTY) {
7
+ this.companyName = accountName;
8
+ this.email = email;
9
+ this.password = password;
10
+ this.verifyPassword = password;
11
+ this.userType = propertyType;
12
+ this.secret = accountCreationSecret;
13
+ }
14
+ }
15
+
16
+ module.exports = CreateAccountModel;
@@ -1,38 +1,38 @@
1
- class UpdateAccountSettingsModel {
2
- constructor(
3
- accountId,
4
- {
5
- isHighPriority = false,
6
- hasAnalyticsDashboard = false,
7
- isEmailOnWelcomePageVA = false,
8
- isExcludedFromNetwork = false,
9
- isOcrEnabled = false,
10
- isCoverageAudit = false,
11
- isAccountRequirementsEnabled = false,
12
- isAccountRequirementsAutoRenewalsEnabled = false,
13
- autoGaps = {},
14
- auditSlaHours = 24,
15
- shouldReachOutVendors = true
16
- } = {}
17
- ) {
18
- this.accountId = accountId;
19
- this.isHighPriority = isHighPriority;
20
- this.hasAnalyticsDashboard = hasAnalyticsDashboard;
21
- this.isEmailOnWelcomePageVA = isEmailOnWelcomePageVA;
22
- this.isExcludedFromNetwork = isExcludedFromNetwork;
23
- this.isOcrEnabled = isOcrEnabled;
24
- this.isCoverageAudit = isCoverageAudit;
25
- this.isAccountRequirementsEnabled = isAccountRequirementsEnabled;
26
- this.isAccountRequirementsAutoRenewalsEnabled = isAccountRequirementsAutoRenewalsEnabled;
27
- this.autoGaps = { ... DEFAULT_AUTO_GAPS, ... autoGaps };
28
- this.auditSlaHours = auditSlaHours;
29
- this.shouldReachOutVendors = shouldReachOutVendors;
30
- }
31
- }
32
-
33
- const DEFAULT_AUTO_GAPS = {
34
- isAutoGapsEnabledForTenants: false,
35
- isAutoGapsEnabledForVendors: false
36
- };
37
-
38
- module.exports = UpdateAccountSettingsModel;
1
+ class UpdateAccountSettingsModel {
2
+ constructor(
3
+ accountId,
4
+ {
5
+ isHighPriority = false,
6
+ hasAnalyticsDashboard = false,
7
+ isEmailOnWelcomePageVA = false,
8
+ isExcludedFromNetwork = false,
9
+ isOcrEnabled = false,
10
+ isCoverageAudit = false,
11
+ isAccountRequirementsEnabled = false,
12
+ isAccountRequirementsAutoRenewalsEnabled = false,
13
+ autoGaps = {},
14
+ auditSlaHours = 24,
15
+ shouldReachOutVendors = true
16
+ } = {}
17
+ ) {
18
+ this.accountId = accountId;
19
+ this.isHighPriority = isHighPriority;
20
+ this.hasAnalyticsDashboard = hasAnalyticsDashboard;
21
+ this.isEmailOnWelcomePageVA = isEmailOnWelcomePageVA;
22
+ this.isExcludedFromNetwork = isExcludedFromNetwork;
23
+ this.isOcrEnabled = isOcrEnabled;
24
+ this.isCoverageAudit = isCoverageAudit;
25
+ this.isAccountRequirementsEnabled = isAccountRequirementsEnabled;
26
+ this.isAccountRequirementsAutoRenewalsEnabled = isAccountRequirementsAutoRenewalsEnabled;
27
+ this.autoGaps = { ... DEFAULT_AUTO_GAPS, ... autoGaps };
28
+ this.auditSlaHours = auditSlaHours;
29
+ this.shouldReachOutVendors = shouldReachOutVendors;
30
+ }
31
+ }
32
+
33
+ const DEFAULT_AUTO_GAPS = {
34
+ isAutoGapsEnabledForTenants: false,
35
+ isAutoGapsEnabledForVendors: false
36
+ };
37
+
38
+ module.exports = UpdateAccountSettingsModel;
@@ -1,66 +1,66 @@
1
- const coreService = require('../api/core/accounts.core.service');
2
- const CreateAccountModel = require('../models/core/create.account.model');
3
-
4
- const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
5
- const createAccountModel = new CreateAccountModel(
6
- accountName,
7
- email,
8
- password,
9
- propertyType = type
10
- );
11
- return coreService.getOrCreateAccount(createAccountModel, context);
12
- };
13
-
14
- const createAccount = async (context, accountName, email, { password, type } = {}) => {
15
- const createAccountModel = new CreateAccountModel(
16
- accountName,
17
- email,
18
- password,
19
- propertyType = type
20
- );
21
-
22
- const response = await coreService.createAccount(createAccountModel, context);
23
- return response.data;
24
- };
25
-
26
- const deleteAccountByName = async (context, accountName) => {
27
- const existingAccount = await coreService.getAccount(accountName, context);
28
-
29
- return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
30
- };
31
-
32
- const isUIConfig = config => {
33
- const convectorKeys = Object.keys(attributesConvertor);
34
- const configKeys = Object.keys(config);
35
-
36
- return convectorKeys.some(key => configKeys.includes(key));
37
- };
38
-
39
- const parseAccountSettingsConfig = (accountId, settingsConfig) => {
40
- const settings = { accountId };
41
-
42
- for (const field in settingsConfig) {
43
- const attributes = attributesConvertor[field];
44
- settings[attributes] = JSON.parse(settingsConfig[field]);
45
- }
46
-
47
- return settings;
48
- };
49
-
50
- module.exports = {
51
- getOrCreateAccount,
52
- createAccount,
53
- deleteAccountByName,
54
- parseAccountSettingsConfig,
55
- isUIConfig
56
- };
57
-
58
- const attributesConvertor = {
59
- 'Enable high priority in auditor portal': 'isHighPriority',
60
- 'Analytics Dashboard': 'hasAnalyticsDashboard',
61
- 'Email on welcome page experiment': 'isEmailOnWelcomePageVA',
62
- 'Exclude account records from the Jones Network': 'isExcludedFromNetwork',
63
- 'OCR Audit Enabled': 'isOcrEnabled',
64
- 'Coverage Auditing': 'isCoverageAudit',
65
- 'Account Requirements': 'isAccountRequirementsEnabled'
66
- };
1
+ const coreService = require('../api/core/accounts.core.service');
2
+ const CreateAccountModel = require('../models/core/create.account.model');
3
+
4
+ const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
5
+ const createAccountModel = new CreateAccountModel(
6
+ accountName,
7
+ email,
8
+ password,
9
+ propertyType = type
10
+ );
11
+ return coreService.getOrCreateAccount(createAccountModel, context);
12
+ };
13
+
14
+ const createAccount = async (context, accountName, email, { password, type } = {}) => {
15
+ const createAccountModel = new CreateAccountModel(
16
+ accountName,
17
+ email,
18
+ password,
19
+ propertyType = type
20
+ );
21
+
22
+ const response = await coreService.createAccount(createAccountModel, context);
23
+ return response.data;
24
+ };
25
+
26
+ const deleteAccountByName = async (context, accountName) => {
27
+ const existingAccount = await coreService.getAccount(accountName, context);
28
+
29
+ return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
30
+ };
31
+
32
+ const isUIConfig = config => {
33
+ const convectorKeys = Object.keys(attributesConvertor);
34
+ const configKeys = Object.keys(config);
35
+
36
+ return convectorKeys.some(key => configKeys.includes(key));
37
+ };
38
+
39
+ const parseAccountSettingsConfig = (accountId, settingsConfig) => {
40
+ const settings = { accountId };
41
+
42
+ for (const field in settingsConfig) {
43
+ const attributes = attributesConvertor[field];
44
+ settings[attributes] = JSON.parse(settingsConfig[field]);
45
+ }
46
+
47
+ return settings;
48
+ };
49
+
50
+ module.exports = {
51
+ getOrCreateAccount,
52
+ createAccount,
53
+ deleteAccountByName,
54
+ parseAccountSettingsConfig,
55
+ isUIConfig
56
+ };
57
+
58
+ const attributesConvertor = {
59
+ 'Enable high priority in auditor portal': 'isHighPriority',
60
+ 'Analytics Dashboard': 'hasAnalyticsDashboard',
61
+ 'Email on welcome page experiment': 'isEmailOnWelcomePageVA',
62
+ 'Exclude account records from the Jones Network': 'isExcludedFromNetwork',
63
+ 'OCR Audit Enabled': 'isOcrEnabled',
64
+ 'Coverage Auditing': 'isCoverageAudit',
65
+ 'Account Requirements': 'isAccountRequirementsEnabled'
66
+ };
@@ -0,0 +1,24 @@
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const AGREEMENT_API_URL = `${backendUrl}/saas/contractor/agreement`;
5
+
6
+ const Endpoints = {
7
+ create: AGREEMENT_API_URL,
8
+ delete: AGREEMENT_API_URL
9
+ };
10
+
11
+ const createAgreement = (createAgreementModel, context) => {
12
+ return requests.postRequestHandler(Endpoints.create, createAgreementModel, context);
13
+ };
14
+
15
+ const deleteAgreement = (recordId, context) => {
16
+ const headers = {};
17
+ const params = { contractorId: recordId };
18
+ return requests.deleteRequestHandler(Endpoints.delete, context, headers, params);
19
+ };
20
+
21
+ module.exports = {
22
+ createAgreement,
23
+ deleteAgreement
24
+ };
@@ -0,0 +1,17 @@
1
+ const agreementAPI = require('./agreement.api');
2
+ const { CreateAgreementModel } = require('../models/create.agreement.model');
3
+ const { validateType } = require('../../../../common/validations/typeValidations');
4
+
5
+ const createAgreement = (createAgreementModel, context) => {
6
+ validateType(createAgreementModel, CreateAgreementModel);
7
+ return agreementAPI.createAgreement(createAgreementModel, context);
8
+ };
9
+
10
+ const deleteAgreement = (recordId, context) => {
11
+ return agreementAPI.deleteAgreement(recordId, context);
12
+ };
13
+
14
+ module.exports = {
15
+ createAgreement,
16
+ deleteAgreement
17
+ };
@@ -0,0 +1,8 @@
1
+ const UPLOADER_TYPE = {
2
+ VENDOR: 'VENDOR',
3
+ USER: 'USER'
4
+ };
5
+
6
+ const DEFAULT_AGREEMENT_TEMPLATE = 'tpl_C3sgbpYx7LHyRNdtM7';
7
+
8
+ module.exports = { UPLOADER_TYPE, DEFAULT_AGREEMENT_TEMPLATE };
@@ -0,0 +1,11 @@
1
+ const createModel = require('./models/create.agreement.model');
2
+ const services = require('./api/agreement.service');
3
+ const agreementConsts = require('./consts/consts');
4
+
5
+ const models = { create: createModel };
6
+
7
+ const consts = {
8
+ audit: agreementConsts
9
+ };
10
+
11
+ module.exports = { services, models, consts };
@@ -0,0 +1,12 @@
1
+ const { UPLOADER_TYPE } = require('../consts/consts');
2
+
3
+ class CreateAgreementModel {
4
+ constructor({ contractorId, contractorDateModified, uploaderId, signedContractName, uploaderType = UPLOADER_TYPE.USER }) {
5
+ this.contractorId = contractorId;
6
+ this.contractorDateModified = contractorDateModified;
7
+ this.uploaderId = uploaderId;
8
+ this.signedContractName = signedContractName;
9
+ this.uploaderType = uploaderType;
10
+ }
11
+ }
12
+ module.exports = { CreateAgreementModel };
@@ -1,40 +1,40 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const saas_notes_path = 'saas/notes';
5
- const Endpoints = {
6
- saasNotes: `${backendUrl}/${saas_notes_path}`,
7
- getNotesForAuditor: `${backendUrl}/${saas_notes_path}/auditor`,
8
- updateNote: `${backendUrl}/${saas_notes_path}/update`,
9
- deleteNote: noteId => `${backendUrl}/${saas_notes_path}/${noteId}`
10
- };
11
-
12
- const createAuditNote = (noteModel, context) => {
13
- return requests.postRequestHandler(Endpoints.saasNotes, noteModel, context);
14
- };
15
-
16
- const getAuditNotesByProjectId = (projectId, context) => {
17
- const params = { projectId };
18
- return requests.getRequestHandler(Endpoints.saasNotes, params, context);
19
- };
20
-
21
- const getAuditNotesByRecordId = (recordId, context) => {
22
- const params = { contractorId: recordId };
23
- return requests.getRequestHandler(Endpoints.getNotesForAuditor, params, context);
24
- };
25
-
26
- const updateAuditNote = (noteModel, context) => {
27
- return requests.postRequestHandler(Endpoints.updateNote, noteModel, context);
28
- };
29
-
30
- const deleteAuditNoteById = (noteId, context) => {
31
- return requests.deleteRequestHandler(Endpoints.deleteNote(noteId), context);
32
- };
33
-
34
- module.exports = {
35
- createAuditNote,
36
- getAuditNotesByProjectId,
37
- getAuditNotesByRecordId,
38
- updateAuditNote,
39
- deleteAuditNoteById
40
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const saas_notes_path = 'saas/notes';
5
+ const Endpoints = {
6
+ saasNotes: `${backendUrl}/${saas_notes_path}`,
7
+ getNotesForAuditor: `${backendUrl}/${saas_notes_path}/auditor`,
8
+ updateNote: `${backendUrl}/${saas_notes_path}/update`,
9
+ deleteNote: noteId => `${backendUrl}/${saas_notes_path}/${noteId}`
10
+ };
11
+
12
+ const createAuditNote = (noteModel, context) => {
13
+ return requests.postRequestHandler(Endpoints.saasNotes, noteModel, context);
14
+ };
15
+
16
+ const getAuditNotesByProjectId = (projectId, context) => {
17
+ const params = { projectId };
18
+ return requests.getRequestHandler(Endpoints.saasNotes, params, context);
19
+ };
20
+
21
+ const getAuditNotesByRecordId = (recordId, context) => {
22
+ const params = { contractorId: recordId };
23
+ return requests.getRequestHandler(Endpoints.getNotesForAuditor, params, context);
24
+ };
25
+
26
+ const updateAuditNote = (noteModel, context) => {
27
+ return requests.postRequestHandler(Endpoints.updateNote, noteModel, context);
28
+ };
29
+
30
+ const deleteAuditNoteById = (noteId, context) => {
31
+ return requests.deleteRequestHandler(Endpoints.deleteNote(noteId), context);
32
+ };
33
+
34
+ module.exports = {
35
+ createAuditNote,
36
+ getAuditNotesByProjectId,
37
+ getAuditNotesByRecordId,
38
+ updateAuditNote,
39
+ deleteAuditNoteById
40
+ };