@getjones/test-infra 2.14.0 → 3.0.1
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.
- package/.npmrc.bak +2 -0
- package/package.json +30 -30
- package/package.json.bak +30 -0
- package/src/common/commonFlows/auth/auth.js +40 -40
- package/src/common/commonFlows/index.js +4 -4
- package/src/common/commonFlows/records/records.js +102 -102
- package/src/common/consts/activationStatuses.js +6 -6
- package/src/common/consts/dashboardCharts.js +18 -18
- package/src/common/consts/projectSettings.js +6 -6
- package/src/common/consts/recordTypes.js +5 -5
- package/src/common/consts/s3FileTypes.js +12 -12
- package/src/common/consts/userTypes.js +8 -8
- package/src/common/errorCodes.js +3 -3
- package/src/common/httpResponseStatusCodes.json +11 -11
- package/src/common/requests/apiKeyAuth/requests.js +44 -44
- package/src/common/requests/cookieAuth/requests.js +40 -40
- package/src/common/requests/internalAuth/requests.js +48 -38
- package/src/common/requests/requestHandlers.js +78 -78
- package/src/common/utils/complianceUtil.js +83 -83
- package/src/common/utils/configsUtil.js +22 -22
- package/src/common/utils/dataTypeUtils.js +41 -41
- package/src/common/utils/numberUtils.js +22 -22
- package/src/common/utils/objectUtils.js +7 -7
- package/src/common/utils/timeUtils.js +177 -177
- package/src/common/validations/errorValidation.js +16 -16
- package/src/common/validations/typeValidations.js +36 -36
- package/src/defaults/configs/auditConfigs.js +91 -91
- package/src/defaults/configs/coverage.js +227 -227
- package/src/defaults/configs/polices.js +64 -64
- package/src/defaults/configs/requirement.js +32 -32
- package/src/defaults/index.js +6 -6
- package/src/env.js +57 -57
- package/src/factory/globalRecord/globalRecord.js +70 -70
- package/src/factory/index.js +8 -8
- package/src/factory/records/records.js +183 -183
- package/src/factory/users/users.js +77 -77
- package/src/index.js +91 -91
- package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
- package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
- package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +29 -29
- package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +61 -61
- package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
- package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
- package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
- package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
- package/src/saas/internal-api/accounts/consts/consts.js +6 -6
- package/src/saas/internal-api/accounts/index.js +22 -22
- package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
- package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +38 -38
- package/src/saas/internal-api/accounts/utils/utils.js +58 -58
- package/src/saas/internal-api/agreement/api/agreement.api.js +35 -35
- package/src/saas/internal-api/agreement/api/agreement.service.js +81 -81
- package/src/saas/internal-api/agreement/consts/consts.js +8 -8
- package/src/saas/internal-api/agreement/index.js +11 -11
- package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
- package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +43 -43
- package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
- package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
- package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
- package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
- package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
- package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
- package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
- package/src/saas/internal-api/auditNotes/index.js +4 -4
- package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
- package/src/saas/internal-api/auth/api/auth.api.js +27 -27
- package/src/saas/internal-api/auth/api/auth.service.js +90 -90
- package/src/saas/internal-api/auth/index.js +3 -3
- package/src/saas/internal-api/coi/api/coi.api.js +40 -34
- package/src/saas/internal-api/coi/api/coi.service.js +26 -22
- package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
- package/src/saas/internal-api/coi/index.js +13 -13
- package/src/saas/internal-api/coi/models/submit.coi.model.js +9 -9
- package/src/saas/internal-api/coi/utils/utils.js +48 -48
- package/src/saas/internal-api/compliance/api/audit/audit.api.js +100 -100
- package/src/saas/internal-api/compliance/api/audit/audit.service.js +230 -230
- package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
- package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
- package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
- package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
- package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +33 -33
- package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +141 -141
- package/src/saas/internal-api/compliance/consts/audit.js +103 -103
- package/src/saas/internal-api/compliance/index.js +33 -33
- package/src/saas/internal-api/compliance/models/audit/audit.model.js +94 -94
- package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
- package/src/saas/internal-api/compliance/utils/auditUtil.js +222 -222
- package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
- package/src/saas/internal-api/contractors/api/contractors.api.js +179 -179
- package/src/saas/internal-api/contractors/api/contractors.service.js +247 -234
- package/src/saas/internal-api/contractors/consts/consts.js +6 -6
- package/src/saas/internal-api/contractors/index.js +8 -8
- package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
- package/src/saas/internal-api/contractors/models/edit.contractor.model.js +60 -60
- package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
- package/src/saas/internal-api/contractors/utils.js +25 -25
- package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
- package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
- package/src/saas/internal-api/dashboard/index.js +5 -5
- package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
- package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
- package/src/saas/internal-api/dbEmails/api/db.emails.service.js +147 -147
- package/src/saas/internal-api/dbEmails/consts/consts.js +54 -54
- package/src/saas/internal-api/dbEmails/index.js +6 -6
- package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
- package/src/saas/internal-api/dbEmails/utils/util.js +82 -82
- package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
- package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
- package/src/saas/internal-api/emailCustomization/index.js +3 -3
- package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -95
- package/src/saas/internal-api/globalRecord/api/global.record.service.js +105 -106
- package/src/saas/internal-api/globalRecord/consts.js +20 -20
- package/src/saas/internal-api/globalRecord/index.js +6 -6
- package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
- package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
- package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
- package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
- package/src/saas/internal-api/homepageCharts/index.js +3 -3
- package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
- package/src/saas/internal-api/projects/api/core/projects.service.js +65 -65
- package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
- package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
- package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
- package/src/saas/internal-api/projects/index.js +24 -24
- package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
- package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
- package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +41 -41
- package/src/saas/internal-api/projects/utils/utils.js +156 -156
- package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
- package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
- package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
- package/src/saas/internal-api/recordNotes/index.js +3 -3
- package/src/saas/internal-api/reports/api/reports.api.js +39 -39
- package/src/saas/internal-api/reports/api/reports.service.js +34 -34
- package/src/saas/internal-api/reports/consts/consts.js +64 -64
- package/src/saas/internal-api/reports/index.js +15 -15
- package/src/saas/internal-api/reports/models/report.model.js +27 -27
- package/src/saas/internal-api/requests/api/requests.api.js +96 -90
- package/src/saas/internal-api/requests/api/requests.service.js +220 -208
- package/src/saas/internal-api/requests/index.js +18 -16
- package/src/saas/internal-api/requests/models/create.request.model.js +34 -34
- package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
- package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
- package/src/saas/internal-api/requests/models/{inner.page.request.criteria.model.js → requestListCriteriaModel.js} +17 -17
- package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
- package/src/saas/internal-api/requests/utils.js +8 -8
- package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
- package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
- package/src/saas/internal-api/requestsTable/index.js +3 -3
- package/src/saas/internal-api/requirements/api/requirements.api.js +51 -45
- package/src/saas/internal-api/requirements/api/requirements.service.js +153 -142
- package/src/saas/internal-api/requirements/consts/attributeTypes.json +6 -6
- package/src/saas/internal-api/requirements/consts/consts.js +6 -6
- package/src/saas/internal-api/requirements/index.js +10 -10
- package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
- package/src/saas/internal-api/requirements/models/policy.model.js +33 -33
- package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
- package/src/saas/internal-api/requirements/utils/utils.js +116 -116
- package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
- package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
- package/src/saas/internal-api/serviceArea/index.js +4 -4
- package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
- package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
- package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
- package/src/saas/internal-api/tabs/index.js +3 -3
- package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
- package/src/saas/internal-api/thread-scheduler/runner.js +39 -39
- package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +31 -31
- package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +42 -42
- package/src/saas/internal-api/uploadFiles/consts.js +12 -12
- package/src/saas/internal-api/uploadFiles/index.js +3 -3
- package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +32 -32
- package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +97 -97
- package/src/saas/internal-api/users/api/users.api.js +115 -115
- package/src/saas/internal-api/users/api/users.service.js +203 -203
- package/src/saas/internal-api/users/index.js +16 -16
- package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
- package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
- package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
- package/src/saas/internal-api/users/models/users.model.js +41 -41
- package/src/saas/internal-api/users/utils/util.js +39 -39
- package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +20 -20
- package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +14 -14
- package/src/saas/internal-api/vendorProfile/index.js +3 -3
- package/src/saas/openapi/accounts/accounts.api.js +17 -17
- package/src/saas/openapi/accounts/accounts.service.js +11 -11
- package/src/saas/openapi/coi/coi.api.js +20 -20
- package/src/saas/openapi/coi/coi.service.js +13 -13
- package/src/saas/openapi/projects/projects.api.js +83 -83
- package/src/saas/openapi/projects/projects.service.js +64 -64
- package/src/saas/openapi/requests/index.js +7 -7
- package/src/saas/openapi/requests/models/invite.request.model.js +37 -37
- package/src/saas/openapi/requests/models/update.request.model.js +35 -35
- package/src/saas/openapi/requests/requests.api.js +82 -82
- package/src/saas/openapi/requests/requests.service.js +70 -70
- package/src/saas/openapi/requirements/index.js +6 -6
- package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
- package/src/saas/openapi/requirements/requirements.api.js +32 -32
- package/src/saas/openapi/requirements/requirements.service.js +37 -37
- package/src/saas/openapi/tabs/index.js +6 -6
- package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
- package/src/saas/openapi/tabs/tabs.api.js +27 -27
- package/src/saas/openapi/tabs/tabs.service.js +19 -19
- package/src/saas/openapi/users/user.model.js +10 -10
- package/src/saas/openapi/users/users.api.js +33 -33
- package/src/saas/openapi/users/users.service.js +41 -41
- package/tests/env.test.js +40 -40
- package/tests/validation.test.js +83 -83
- package/src/resources/virusFile.pdf +0 -0
|
@@ -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,58 +1,58 @@
|
|
|
1
|
-
const coreService = require('../api/core/accounts.core.service');
|
|
2
|
-
const CreateAccountModel = require('../models/core/create.account.model');
|
|
3
|
-
const configsUtil = require('../../../../common/utils/configsUtil');
|
|
4
|
-
|
|
5
|
-
const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
|
|
6
|
-
const createAccountModel = new CreateAccountModel(
|
|
7
|
-
accountName,
|
|
8
|
-
email,
|
|
9
|
-
password,
|
|
10
|
-
propertyType = type
|
|
11
|
-
);
|
|
12
|
-
return coreService.getOrCreateAccount(createAccountModel, context);
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const createAccount = async (context, accountName, email, { password, type } = {}) => {
|
|
16
|
-
const createAccountModel = new CreateAccountModel(
|
|
17
|
-
accountName,
|
|
18
|
-
email,
|
|
19
|
-
password,
|
|
20
|
-
propertyType = type
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
const response = await coreService.createAccount(createAccountModel, context);
|
|
24
|
-
return response.data;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const deleteAccountByName = async (context, accountName) => {
|
|
28
|
-
const existingAccount = await coreService.getAccount(accountName, context);
|
|
29
|
-
|
|
30
|
-
return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const isUIConfig = config => {
|
|
34
|
-
return configsUtil.isUIConfig(config, attributesConvertor);
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const parseAccountSettingsConfig = (accountId, settingsConfig) => {
|
|
38
|
-
const settings = configsUtil.objectConvertor(settingsConfig, attributesConvertor);
|
|
39
|
-
return { ... settings, accountId };
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
module.exports = {
|
|
43
|
-
getOrCreateAccount,
|
|
44
|
-
createAccount,
|
|
45
|
-
deleteAccountByName,
|
|
46
|
-
parseAccountSettingsConfig,
|
|
47
|
-
isUIConfig
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
const attributesConvertor = {
|
|
51
|
-
'Enable high priority in auditor portal': 'isHighPriority',
|
|
52
|
-
'Analytics Dashboard': 'hasAnalyticsDashboard',
|
|
53
|
-
'Email on welcome page experiment': 'isEmailOnWelcomePageVA',
|
|
54
|
-
'Exclude account records from the Jones Network': 'isExcludedFromNetwork',
|
|
55
|
-
'OCR Audit Enabled': 'isOcrEnabled',
|
|
56
|
-
'Coverage Auditing': 'isCoverageAudit',
|
|
57
|
-
'Account Requirements': 'isAccountRequirementsEnabled'
|
|
58
|
-
};
|
|
1
|
+
const coreService = require('../api/core/accounts.core.service');
|
|
2
|
+
const CreateAccountModel = require('../models/core/create.account.model');
|
|
3
|
+
const configsUtil = require('../../../../common/utils/configsUtil');
|
|
4
|
+
|
|
5
|
+
const getOrCreateAccount = (context, accountName, email, { password, type } = {}) => {
|
|
6
|
+
const createAccountModel = new CreateAccountModel(
|
|
7
|
+
accountName,
|
|
8
|
+
email,
|
|
9
|
+
password,
|
|
10
|
+
propertyType = type
|
|
11
|
+
);
|
|
12
|
+
return coreService.getOrCreateAccount(createAccountModel, context);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const createAccount = async (context, accountName, email, { password, type } = {}) => {
|
|
16
|
+
const createAccountModel = new CreateAccountModel(
|
|
17
|
+
accountName,
|
|
18
|
+
email,
|
|
19
|
+
password,
|
|
20
|
+
propertyType = type
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
const response = await coreService.createAccount(createAccountModel, context);
|
|
24
|
+
return response.data;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const deleteAccountByName = async (context, accountName) => {
|
|
28
|
+
const existingAccount = await coreService.getAccount(accountName, context);
|
|
29
|
+
|
|
30
|
+
return existingAccount && coreService.deleteAccountById(existingAccount.userId, context);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const isUIConfig = config => {
|
|
34
|
+
return configsUtil.isUIConfig(config, attributesConvertor);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const parseAccountSettingsConfig = (accountId, settingsConfig) => {
|
|
38
|
+
const settings = configsUtil.objectConvertor(settingsConfig, attributesConvertor);
|
|
39
|
+
return { ... settings, accountId };
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
module.exports = {
|
|
43
|
+
getOrCreateAccount,
|
|
44
|
+
createAccount,
|
|
45
|
+
deleteAccountByName,
|
|
46
|
+
parseAccountSettingsConfig,
|
|
47
|
+
isUIConfig
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const attributesConvertor = {
|
|
51
|
+
'Enable high priority in auditor portal': 'isHighPriority',
|
|
52
|
+
'Analytics Dashboard': 'hasAnalyticsDashboard',
|
|
53
|
+
'Email on welcome page experiment': 'isEmailOnWelcomePageVA',
|
|
54
|
+
'Exclude account records from the Jones Network': 'isExcludedFromNetwork',
|
|
55
|
+
'OCR Audit Enabled': 'isOcrEnabled',
|
|
56
|
+
'Coverage Auditing': 'isCoverageAudit',
|
|
57
|
+
'Account Requirements': 'isAccountRequirementsEnabled'
|
|
58
|
+
};
|
|
@@ -1,35 +1,35 @@
|
|
|
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
|
-
getAgreementPreSignedUrl: `${backendUrl}/pre-signed-url/upload/agreement`
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const getAgreementPreSignedUrl = (formData, context) => {
|
|
13
|
-
return requests.postRequestHandler(Endpoints.getAgreementPreSignedUrl, formData, context, formData.getHeaders());
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const uploadAgreementToS3 = (preSignedUrl, file) => {
|
|
17
|
-
return requests.putRequestHandler(preSignedUrl, file);
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const createAgreement = (createAgreementModel, context) => {
|
|
21
|
-
return requests.postRequestHandler(Endpoints.create, createAgreementModel, context);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const deleteAgreement = (recordId, context) => {
|
|
25
|
-
const headers = {};
|
|
26
|
-
const params = { contractorId: recordId };
|
|
27
|
-
return requests.deleteRequestHandler(Endpoints.delete, context, headers, params);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
module.exports = {
|
|
31
|
-
createAgreement,
|
|
32
|
-
deleteAgreement,
|
|
33
|
-
uploadAgreementToS3,
|
|
34
|
-
getAgreementPreSignedUrl
|
|
35
|
-
};
|
|
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
|
+
getAgreementPreSignedUrl: `${backendUrl}/pre-signed-url/upload/agreement`
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const getAgreementPreSignedUrl = (formData, context) => {
|
|
13
|
+
return requests.postRequestHandler(Endpoints.getAgreementPreSignedUrl, formData, context, formData.getHeaders());
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const uploadAgreementToS3 = (preSignedUrl, file) => {
|
|
17
|
+
return requests.putRequestHandler(preSignedUrl, file);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const createAgreement = (createAgreementModel, context) => {
|
|
21
|
+
return requests.postRequestHandler(Endpoints.create, createAgreementModel, context);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const deleteAgreement = (recordId, context) => {
|
|
25
|
+
const headers = {};
|
|
26
|
+
const params = { contractorId: recordId };
|
|
27
|
+
return requests.deleteRequestHandler(Endpoints.delete, context, headers, params);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
module.exports = {
|
|
31
|
+
createAgreement,
|
|
32
|
+
deleteAgreement,
|
|
33
|
+
uploadAgreementToS3,
|
|
34
|
+
getAgreementPreSignedUrl
|
|
35
|
+
};
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
const FormData = require('form-data');
|
|
2
|
-
const path = require('path');
|
|
3
|
-
const uploadFileApi = require('../../../internal-api/uploadFiles/api/upload.file.api');
|
|
4
|
-
const agreementAPI = require('./agreement.api');
|
|
5
|
-
const { CreateAgreementModel } = require('../models/create.agreement.model');
|
|
6
|
-
const { validateType } = require('../../../../common/validations/typeValidations');
|
|
7
|
-
const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
|
|
8
|
-
const { CONTRACT, TEMP_DOCUMENTS } = require('../../../../common/consts/s3FileTypes');
|
|
9
|
-
|
|
10
|
-
const createAgreement = (createAgreementModel, context) => {
|
|
11
|
-
validateType(createAgreementModel, CreateAgreementModel);
|
|
12
|
-
return agreementAPI.createAgreement(createAgreementModel, context);
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const deleteAgreement = (recordId, context) => {
|
|
16
|
-
return agreementAPI.deleteAgreement(recordId, context);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const getAgreementPreSignedUrl = (recordId, context, { filePath }) => {
|
|
20
|
-
const formData = new FormData();
|
|
21
|
-
const fileName = path.basename(filePath);
|
|
22
|
-
formData.append('recordId', recordId);
|
|
23
|
-
formData.append('fileType', TEMP_DOCUMENTS);
|
|
24
|
-
formData.append('fileName', fileName) ;
|
|
25
|
-
|
|
26
|
-
return agreementAPI.getAgreementPreSignedUrl(formData, context);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const uploadAgreementToTempBucket = (preSignedUrl, file) => {
|
|
30
|
-
return agreementAPI.uploadAgreementToS3(preSignedUrl, file);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const uploadAgreementToS3 = (fileName, recordId) => {
|
|
34
|
-
const formData = new FormData();
|
|
35
|
-
formData.append('fileName', fileName) ;
|
|
36
|
-
formData.append('fileType', CONTRACT);
|
|
37
|
-
formData.append('recordId', recordId);
|
|
38
|
-
return uploadFileApi.uploadFile(formData);
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const validateResponse = (response, recordId) => {
|
|
42
|
-
if (response.status !== httpResponseStatusCodes.OK) {
|
|
43
|
-
throw new Error(`Failed to upload agreement to S3 for record ${recordId}`);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
const uploadAgreement = async (
|
|
48
|
-
recordId,
|
|
49
|
-
filePath,
|
|
50
|
-
uploaderId,
|
|
51
|
-
context,
|
|
52
|
-
{ contractorDateModified } = {}
|
|
53
|
-
) => {
|
|
54
|
-
const { data: { preSignedUrl, fileName: fullFilePath } } = await getAgreementPreSignedUrl(recordId, context, { filePath });
|
|
55
|
-
|
|
56
|
-
const uploadResults = await uploadAgreementToTempBucket(preSignedUrl, filePath);
|
|
57
|
-
validateResponse(uploadResults, recordId);
|
|
58
|
-
|
|
59
|
-
const response = await uploadAgreementToS3(fullFilePath, recordId);
|
|
60
|
-
validateResponse(response, recordId);
|
|
61
|
-
|
|
62
|
-
const createAgreementModel = new CreateAgreementModel({
|
|
63
|
-
contractorId: recordId,
|
|
64
|
-
contractorDateModified,
|
|
65
|
-
uploaderId,
|
|
66
|
-
signedContractName: fullFilePath
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
const createResponse = await createAgreement(createAgreementModel, context);
|
|
70
|
-
|
|
71
|
-
if (createResponse.status !== httpResponseStatusCodes.OK) {
|
|
72
|
-
throw new Error(`Failed to upload agreement for record ${recordId}`);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return createResponse;
|
|
76
|
-
};
|
|
77
|
-
module.exports = {
|
|
78
|
-
createAgreement,
|
|
79
|
-
deleteAgreement,
|
|
80
|
-
uploadAgreement
|
|
81
|
-
};
|
|
1
|
+
const FormData = require('form-data');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const uploadFileApi = require('../../../internal-api/uploadFiles/api/upload.file.api');
|
|
4
|
+
const agreementAPI = require('./agreement.api');
|
|
5
|
+
const { CreateAgreementModel } = require('../models/create.agreement.model');
|
|
6
|
+
const { validateType } = require('../../../../common/validations/typeValidations');
|
|
7
|
+
const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
|
|
8
|
+
const { CONTRACT, TEMP_DOCUMENTS } = require('../../../../common/consts/s3FileTypes');
|
|
9
|
+
|
|
10
|
+
const createAgreement = (createAgreementModel, context) => {
|
|
11
|
+
validateType(createAgreementModel, CreateAgreementModel);
|
|
12
|
+
return agreementAPI.createAgreement(createAgreementModel, context);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const deleteAgreement = (recordId, context) => {
|
|
16
|
+
return agreementAPI.deleteAgreement(recordId, context);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const getAgreementPreSignedUrl = (recordId, context, { filePath }) => {
|
|
20
|
+
const formData = new FormData();
|
|
21
|
+
const fileName = path.basename(filePath);
|
|
22
|
+
formData.append('recordId', recordId);
|
|
23
|
+
formData.append('fileType', TEMP_DOCUMENTS);
|
|
24
|
+
formData.append('fileName', fileName) ;
|
|
25
|
+
|
|
26
|
+
return agreementAPI.getAgreementPreSignedUrl(formData, context);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const uploadAgreementToTempBucket = (preSignedUrl, file) => {
|
|
30
|
+
return agreementAPI.uploadAgreementToS3(preSignedUrl, file);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const uploadAgreementToS3 = (fileName, recordId) => {
|
|
34
|
+
const formData = new FormData();
|
|
35
|
+
formData.append('fileName', fileName) ;
|
|
36
|
+
formData.append('fileType', CONTRACT);
|
|
37
|
+
formData.append('recordId', recordId);
|
|
38
|
+
return uploadFileApi.uploadFile(formData);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const validateResponse = (response, recordId) => {
|
|
42
|
+
if (response.status !== httpResponseStatusCodes.OK) {
|
|
43
|
+
throw new Error(`Failed to upload agreement to S3 for record ${recordId}`);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const uploadAgreement = async (
|
|
48
|
+
recordId,
|
|
49
|
+
filePath,
|
|
50
|
+
uploaderId,
|
|
51
|
+
context,
|
|
52
|
+
{ contractorDateModified } = {}
|
|
53
|
+
) => {
|
|
54
|
+
const { data: { preSignedUrl, fileName: fullFilePath } } = await getAgreementPreSignedUrl(recordId, context, { filePath });
|
|
55
|
+
|
|
56
|
+
const uploadResults = await uploadAgreementToTempBucket(preSignedUrl, filePath);
|
|
57
|
+
validateResponse(uploadResults, recordId);
|
|
58
|
+
|
|
59
|
+
const response = await uploadAgreementToS3(fullFilePath, recordId);
|
|
60
|
+
validateResponse(response, recordId);
|
|
61
|
+
|
|
62
|
+
const createAgreementModel = new CreateAgreementModel({
|
|
63
|
+
contractorId: recordId,
|
|
64
|
+
contractorDateModified,
|
|
65
|
+
uploaderId,
|
|
66
|
+
signedContractName: fullFilePath
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
const createResponse = await createAgreement(createAgreementModel, context);
|
|
70
|
+
|
|
71
|
+
if (createResponse.status !== httpResponseStatusCodes.OK) {
|
|
72
|
+
throw new Error(`Failed to upload agreement for record ${recordId}`);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return createResponse;
|
|
76
|
+
};
|
|
77
|
+
module.exports = {
|
|
78
|
+
createAgreement,
|
|
79
|
+
deleteAgreement,
|
|
80
|
+
uploadAgreement
|
|
81
|
+
};
|
|
@@ -1,8 +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 };
|
|
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 };
|
|
@@ -1,11 +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
|
-
agreement: agreementConsts
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
module.exports = { services, models, consts };
|
|
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
|
+
agreement: agreementConsts
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
module.exports = { services, models, consts };
|
|
@@ -1,12 +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 || null;
|
|
7
|
-
this.uploaderId = uploaderId;
|
|
8
|
-
this.signedContractName = signedContractName;
|
|
9
|
-
this.uploaderType = uploaderType;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
module.exports = { CreateAgreementModel };
|
|
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 || null;
|
|
7
|
+
this.uploaderId = uploaderId;
|
|
8
|
+
this.signedContractName = signedContractName;
|
|
9
|
+
this.uploaderType = uploaderType;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
module.exports = { CreateAgreementModel };
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
const requests = require('../../../../common/requests/cookieAuth/requests');
|
|
2
|
-
const { backendUrl } = require('../../../../env').getEnv();
|
|
3
|
-
|
|
4
|
-
const customerRuleBasePath = 'saas/customer-rule';
|
|
5
|
-
const customerRulesBasePath = 'saas/customer-rules';
|
|
6
|
-
|
|
7
|
-
const Endpoints = {
|
|
8
|
-
createCustomerRule: `${backendUrl}/${customerRuleBasePath}`,
|
|
9
|
-
getCustomerRulesForIcs: `${backendUrl}/${customerRulesBasePath}`,
|
|
10
|
-
getCustomerRulesForAuditor: `${backendUrl}/${customerRulesBasePath}/auditor`,
|
|
11
|
-
updateCustomerRule: ruleId => `${backendUrl}/${customerRuleBasePath}/${ruleId}`,
|
|
12
|
-
deleteCustomerRule: ruleId => `${backendUrl}/${customerRuleBasePath}/${ruleId}`
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const createCustomerRule = (customerRuleModel, context) => {
|
|
16
|
-
return requests.postRequestHandler(Endpoints.createCustomerRule, customerRuleModel, context);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const getCustomerRulesForIcs = (projectId, context) => {
|
|
20
|
-
const params = { projectId };
|
|
21
|
-
return requests.getRequestHandler(Endpoints.getCustomerRulesForIcs, params, context);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const getCustomerRulesForAuditor = (recordId, context) => {
|
|
25
|
-
const params = { recordId };
|
|
26
|
-
return requests.getRequestHandler(Endpoints.getCustomerRulesForAuditor, params, context);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const updateCustomerRule = (customerRuleModel, customerRuleId, context) => {
|
|
30
|
-
return requests.putRequestHandler(Endpoints.updateCustomerRule(customerRuleId), customerRuleModel, context);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const deleteCustomerRuleById = (customerRuleModel, customerRuleId, context) => {
|
|
34
|
-
return requests.deleteRequestHandler(Endpoints.deleteCustomerRule(customerRuleId), context, {}, {}, customerRuleModel);
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
module.exports = {
|
|
38
|
-
createCustomerRule,
|
|
39
|
-
getCustomerRulesForIcs,
|
|
40
|
-
getCustomerRulesForAuditor,
|
|
41
|
-
updateCustomerRule,
|
|
42
|
-
deleteCustomerRuleById
|
|
43
|
-
};
|
|
1
|
+
const requests = require('../../../../common/requests/cookieAuth/requests');
|
|
2
|
+
const { backendUrl } = require('../../../../env').getEnv();
|
|
3
|
+
|
|
4
|
+
const customerRuleBasePath = 'saas/customer-rule';
|
|
5
|
+
const customerRulesBasePath = 'saas/customer-rules';
|
|
6
|
+
|
|
7
|
+
const Endpoints = {
|
|
8
|
+
createCustomerRule: `${backendUrl}/${customerRuleBasePath}`,
|
|
9
|
+
getCustomerRulesForIcs: `${backendUrl}/${customerRulesBasePath}`,
|
|
10
|
+
getCustomerRulesForAuditor: `${backendUrl}/${customerRulesBasePath}/auditor`,
|
|
11
|
+
updateCustomerRule: ruleId => `${backendUrl}/${customerRuleBasePath}/${ruleId}`,
|
|
12
|
+
deleteCustomerRule: ruleId => `${backendUrl}/${customerRuleBasePath}/${ruleId}`
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const createCustomerRule = (customerRuleModel, context) => {
|
|
16
|
+
return requests.postRequestHandler(Endpoints.createCustomerRule, customerRuleModel, context);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const getCustomerRulesForIcs = (projectId, context) => {
|
|
20
|
+
const params = { projectId };
|
|
21
|
+
return requests.getRequestHandler(Endpoints.getCustomerRulesForIcs, params, context);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const getCustomerRulesForAuditor = (recordId, context) => {
|
|
25
|
+
const params = { recordId };
|
|
26
|
+
return requests.getRequestHandler(Endpoints.getCustomerRulesForAuditor, params, context);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const updateCustomerRule = (customerRuleModel, customerRuleId, context) => {
|
|
30
|
+
return requests.putRequestHandler(Endpoints.updateCustomerRule(customerRuleId), customerRuleModel, context);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const deleteCustomerRuleById = (customerRuleModel, customerRuleId, context) => {
|
|
34
|
+
return requests.deleteRequestHandler(Endpoints.deleteCustomerRule(customerRuleId), context, {}, {}, customerRuleModel);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
module.exports = {
|
|
38
|
+
createCustomerRule,
|
|
39
|
+
getCustomerRulesForIcs,
|
|
40
|
+
getCustomerRulesForAuditor,
|
|
41
|
+
updateCustomerRule,
|
|
42
|
+
deleteCustomerRuleById
|
|
43
|
+
};
|