@getjones/test-infra 4.5.13 → 4.5.15
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/package.json +30 -30
- package/src/common/commonFlows/auth/auth.js +40 -40
- package/src/common/commonFlows/index.js +4 -4
- package/src/common/commonFlows/records/records.js +269 -269
- package/src/common/consts/accountSettings.js +44 -44
- package/src/common/consts/activationStatuses.js +6 -6
- package/src/common/consts/autocomplete.js +10 -10
- package/src/common/consts/constantsForRecordsSortingAndFilters.js +49 -49
- package/src/common/consts/dashboardCharts.js +18 -18
- package/src/common/consts/homepage/AttentionTab.js +6 -6
- package/src/common/consts/homepage/sortOptions.js +19 -19
- package/src/common/consts/ocrStatuses.js +6 -6
- package/src/common/consts/projectSettings.js +21 -21
- package/src/common/consts/recordTypes.js +5 -5
- package/src/common/consts/requirementActions.js +10 -10
- package/src/common/consts/s3FileTypes.js +13 -13
- package/src/common/consts/userRoles.js +18 -18
- 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/httpResponseTypes.json +2 -2
- 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 -48
- package/src/common/requests/requestHandlers.js +80 -80
- package/src/common/utils/complianceUtil.js +113 -113
- 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 +125 -125
- package/src/defaults/configs/coverage.js +144 -144
- package/src/defaults/configs/polices.js +76 -76
- 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 +43 -43
- package/src/factory/index.js +8 -8
- package/src/factory/records/records.js +281 -281
- package/src/factory/users/users.js +69 -69
- package/src/index.js +103 -103
- package/src/resources/virusFile.pdf +0 -0
- package/src/saas/internal-api/accountDirectory/api/accountDirectory.api.js +50 -50
- package/src/saas/internal-api/accountDirectory/api/accountDirectory.service.js +182 -182
- package/src/saas/internal-api/accountDirectory/index.js +4 -4
- package/src/saas/internal-api/accountDirectory/models/accountDirectory.model.js +40 -40
- 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 +8 -8
- 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 +53 -53
- package/src/saas/internal-api/accounts/utils/utils.js +61 -61
- package/src/saas/internal-api/agreement/api/agreement.api.js +39 -39
- package/src/saas/internal-api/agreement/api/agreement.service.js +121 -121
- package/src/saas/internal-api/agreement/consts/consts.js +11 -11
- package/src/saas/internal-api/agreement/index.js +12 -12
- package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
- package/src/saas/internal-api/agreement/models/createAgreementByAuditorModel.js +11 -11
- package/src/saas/internal-api/agreement/models/createAgreementByPMModel.js +13 -13
- 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 +58 -58
- package/src/saas/internal-api/coi/api/coi.service.js +61 -61
- package/src/saas/internal-api/coi/consts/hashes.js +5 -5
- package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
- package/src/saas/internal-api/coi/index.js +14 -14
- package/src/saas/internal-api/coi/models/Combine.last.two.cois.model.js +25 -25
- package/src/saas/internal-api/coi/models/submit.coi.model.js +19 -19
- package/src/saas/internal-api/coi/utils/utils.js +117 -117
- package/src/saas/internal-api/compliance/api/amBestRating/am.best.rating.api.js +12 -12
- package/src/saas/internal-api/compliance/api/amBestRating/am.best.rating.service.js +14 -14
- package/src/saas/internal-api/compliance/api/audit/audit.api.js +112 -112
- package/src/saas/internal-api/compliance/api/audit/audit.service.js +319 -318
- 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 +46 -46
- package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +38 -38
- package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +189 -189
- package/src/saas/internal-api/compliance/consts/audit.js +113 -113
- package/src/saas/internal-api/compliance/index.js +36 -36
- package/src/saas/internal-api/compliance/models/audit/audit.model.js +96 -96
- package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
- package/src/saas/internal-api/compliance/utils/auditUtil.js +269 -269
- package/src/saas/internal-api/compliance/utils/coverageUtil.js +45 -45
- package/src/saas/internal-api/contractors/api/contractors.api.js +209 -209
- package/src/saas/internal-api/contractors/api/contractors.service.js +361 -361
- 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 +73 -73
- package/src/saas/internal-api/contractors/models/link.request.model.js +10 -10
- package/src/saas/internal-api/contractors/models/subscription.contractor.model.js +13 -13
- 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 +156 -156
- package/src/saas/internal-api/dbEmails/consts/consts.js +56 -56
- 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 +87 -87
- 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 +112 -112
- 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/jonesNetworkTab/api/jones.network.tab.api.js +14 -14
- package/src/saas/internal-api/jonesNetworkTab/api/jones.network.tab.service.js +16 -16
- package/src/saas/internal-api/jonesNetworkTab/index.js +3 -3
- package/src/saas/internal-api/notificationCenter/api/notification.center.api.js +32 -32
- package/src/saas/internal-api/notificationCenter/api/notification.center.service.js +49 -49
- package/src/saas/internal-api/notificationCenter/index.js +3 -3
- package/src/saas/internal-api/policyFile/api/policy.file.api.js +43 -43
- package/src/saas/internal-api/policyFile/api/policy.file.service.js +117 -117
- package/src/saas/internal-api/policyFile/consts.js +21 -21
- package/src/saas/internal-api/policyFile/index.js +11 -11
- package/src/saas/internal-api/policyFile/models/create.policy.file.model.js +11 -11
- package/src/saas/internal-api/policyFile/models/set.publish.flag.to.policy.model.js +13 -13
- package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
- package/src/saas/internal-api/projects/api/core/projects.service.js +77 -77
- 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 +40 -40
- package/src/saas/internal-api/projects/utils/utils.js +155 -155
- package/src/saas/internal-api/recordHub/api/record.hub.api.js +14 -14
- package/src/saas/internal-api/recordHub/api/record.hub.service.js +32 -32
- package/src/saas/internal-api/recordHub/index.js +3 -3
- package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
- package/src/saas/internal-api/recordNotes/api/record.notes.service.js +56 -56
- 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 +62 -62
- package/src/saas/internal-api/reports/api/reports.service.js +79 -79
- package/src/saas/internal-api/reports/consts/consts.js +74 -74
- 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 +132 -132
- package/src/saas/internal-api/requests/api/requests.service.js +312 -312
- package/src/saas/internal-api/requests/index.js +21 -21
- package/src/saas/internal-api/requests/models/create.request.model.js +36 -36
- package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -18
- 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/homepageRequestCriteriaModel.js +19 -19
- package/src/saas/internal-api/requests/models/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 +16 -16
- 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 +57 -57
- package/src/saas/internal-api/requirements/api/requirements.service.js +184 -184
- package/src/saas/internal-api/requirements/consts/attributeTypes.json +8 -8
- 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 +35 -35
- package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
- package/src/saas/internal-api/requirements/utils/utils.js +129 -129
- 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 +60 -60
- 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 +55 -55
- package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +43 -43
- package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +107 -107
- package/src/saas/internal-api/uploadFiles/consts.js +12 -12
- package/src/saas/internal-api/uploadFiles/index.js +5 -5
- package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +38 -38
- package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +108 -108
- package/src/saas/internal-api/users/api/users.api.js +126 -127
- package/src/saas/internal-api/users/api/users.service.js +258 -258
- 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 +43 -43
- package/src/saas/internal-api/users/utils/util.js +39 -39
- package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +26 -26
- package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +19 -19
- 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 +30 -30
- package/src/saas/openapi/coi/coi.service.js +43 -43
- 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 +40 -40
- package/src/saas/openapi/requests/models/update.request.model.js +35 -35
- package/src/saas/openapi/requests/requests.api.js +93 -93
- package/src/saas/openapi/requests/requests.service.js +94 -94
- 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 +41 -41
- package/src/saas/openapi/requirements/requirements.service.js +49 -49
- 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 +51 -51
- package/tests/env.test.js +40 -40
- package/tests/validation.test.js +83 -83
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
const { expect } = require('chai');
|
|
2
|
-
const env = require('../../../../../env');
|
|
3
|
-
const accountsAPI = require('./accounts.core.api');
|
|
4
|
-
const CreateAccountModel = require('../../models/core/create.account.model');
|
|
5
|
-
const { validateType } = require('../../../../../common/validations/typeValidations');
|
|
6
|
-
const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
|
|
7
|
-
|
|
8
|
-
const { accountCreationSecret } = env.getEnv();
|
|
9
|
-
|
|
10
|
-
const createAccount = async (createAccountModel, context) => {
|
|
11
|
-
validateType(createAccountModel, CreateAccountModel);
|
|
12
|
-
|
|
13
|
-
env.requiredValidation({
|
|
14
|
-
accountCreationSecret: accountCreationSecret,
|
|
15
|
-
'credentials.strongPassword': createAccountModel.password
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
return accountsAPI.create(createAccountModel, context);
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const getAccount = async (accountName, context) => {
|
|
22
|
-
const response = await accountsAPI.getByName(accountName, context);
|
|
23
|
-
expect(response.status, 'Failed to get accounts by name').to.equal(httpResponseStatusCodes.OK);
|
|
24
|
-
|
|
25
|
-
const existingAccounts = response.data;
|
|
26
|
-
|
|
27
|
-
if (!existingAccounts || !existingAccounts.length) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (existingAccounts.length > 1) {
|
|
32
|
-
throw new Error(`Got more than one account with the name: ${accountName}. IDs: ${existingAccounts.map(item => item.userId).join(', ')}`);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return existingAccounts[0];
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const getOrCreateAccount = async (createAccountModel, context) => {
|
|
39
|
-
validateType(createAccountModel, CreateAccountModel);
|
|
40
|
-
const existingAccount = await getAccount(createAccountModel.companyName, context);
|
|
41
|
-
|
|
42
|
-
if (existingAccount) {
|
|
43
|
-
return existingAccount;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const response = await accountsAPI.create(createAccountModel, context);
|
|
47
|
-
|
|
48
|
-
if (!response.data) {
|
|
49
|
-
throw new Error(`Account by the name ${createAccountModel.companyName} was not created\n${response}`);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return response.data;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const getAccountId = async (accountName, context) => {
|
|
56
|
-
const account = await getAccount(accountName, context);
|
|
57
|
-
|
|
58
|
-
if (!account) {
|
|
59
|
-
console.error(`Account ${accountName} does not exist`);
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return account.userId;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
const deleteAccountByName = async (accountName, context) => {
|
|
67
|
-
const accountId = await getAccountId(accountName, context);
|
|
68
|
-
return accountsAPI.deleteAccount(accountId, context);
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
const deleteAccountById = async (accountId, context) => {
|
|
72
|
-
return accountsAPI.deleteAccount(accountId, context);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
const getFromCertificateHolder = async certificateHolder => {
|
|
76
|
-
const response = await accountsAPI.getFromCertificateHolder(certificateHolder);
|
|
77
|
-
|
|
78
|
-
if (response.status !== httpResponseStatusCodes.OK) {
|
|
79
|
-
throw Error(`Failed to get account by certificate holder: ${certificateHolder} - Response: ${response.status}`);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return response.data;
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
module.exports = {
|
|
86
|
-
getAccount,
|
|
87
|
-
getOrCreateAccount,
|
|
88
|
-
getAccountId,
|
|
89
|
-
createAccount,
|
|
90
|
-
deleteAccountByName,
|
|
91
|
-
deleteAccountById,
|
|
92
|
-
getFromCertificateHolder
|
|
93
|
-
};
|
|
1
|
+
const { expect } = require('chai');
|
|
2
|
+
const env = require('../../../../../env');
|
|
3
|
+
const accountsAPI = require('./accounts.core.api');
|
|
4
|
+
const CreateAccountModel = require('../../models/core/create.account.model');
|
|
5
|
+
const { validateType } = require('../../../../../common/validations/typeValidations');
|
|
6
|
+
const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
|
|
7
|
+
|
|
8
|
+
const { accountCreationSecret } = env.getEnv();
|
|
9
|
+
|
|
10
|
+
const createAccount = async (createAccountModel, context) => {
|
|
11
|
+
validateType(createAccountModel, CreateAccountModel);
|
|
12
|
+
|
|
13
|
+
env.requiredValidation({
|
|
14
|
+
accountCreationSecret: accountCreationSecret,
|
|
15
|
+
'credentials.strongPassword': createAccountModel.password
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
return accountsAPI.create(createAccountModel, context);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const getAccount = async (accountName, context) => {
|
|
22
|
+
const response = await accountsAPI.getByName(accountName, context);
|
|
23
|
+
expect(response.status, 'Failed to get accounts by name').to.equal(httpResponseStatusCodes.OK);
|
|
24
|
+
|
|
25
|
+
const existingAccounts = response.data;
|
|
26
|
+
|
|
27
|
+
if (!existingAccounts || !existingAccounts.length) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (existingAccounts.length > 1) {
|
|
32
|
+
throw new Error(`Got more than one account with the name: ${accountName}. IDs: ${existingAccounts.map(item => item.userId).join(', ')}`);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return existingAccounts[0];
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const getOrCreateAccount = async (createAccountModel, context) => {
|
|
39
|
+
validateType(createAccountModel, CreateAccountModel);
|
|
40
|
+
const existingAccount = await getAccount(createAccountModel.companyName, context);
|
|
41
|
+
|
|
42
|
+
if (existingAccount) {
|
|
43
|
+
return existingAccount;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const response = await accountsAPI.create(createAccountModel, context);
|
|
47
|
+
|
|
48
|
+
if (!response.data) {
|
|
49
|
+
throw new Error(`Account by the name ${createAccountModel.companyName} was not created\n${response}`);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return response.data;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const getAccountId = async (accountName, context) => {
|
|
56
|
+
const account = await getAccount(accountName, context);
|
|
57
|
+
|
|
58
|
+
if (!account) {
|
|
59
|
+
console.error(`Account ${accountName} does not exist`);
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return account.userId;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const deleteAccountByName = async (accountName, context) => {
|
|
67
|
+
const accountId = await getAccountId(accountName, context);
|
|
68
|
+
return accountsAPI.deleteAccount(accountId, context);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const deleteAccountById = async (accountId, context) => {
|
|
72
|
+
return accountsAPI.deleteAccount(accountId, context);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const getFromCertificateHolder = async certificateHolder => {
|
|
76
|
+
const response = await accountsAPI.getFromCertificateHolder(certificateHolder);
|
|
77
|
+
|
|
78
|
+
if (response.status !== httpResponseStatusCodes.OK) {
|
|
79
|
+
throw Error(`Failed to get account by certificate holder: ${certificateHolder} - Response: ${response.status}`);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return response.data;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
module.exports = {
|
|
86
|
+
getAccount,
|
|
87
|
+
getOrCreateAccount,
|
|
88
|
+
getAccountId,
|
|
89
|
+
createAccount,
|
|
90
|
+
deleteAccountByName,
|
|
91
|
+
deleteAccountById,
|
|
92
|
+
getFromCertificateHolder
|
|
93
|
+
};
|
package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
const requests = require('../../../../../common/requests/cookieAuth/requests');
|
|
2
|
-
const internalRequests = require('../../../../../common/requests/internalAuth/requests');
|
|
3
|
-
|
|
4
|
-
const { backendUrl } = require('../../../../../env').getEnv();
|
|
5
|
-
|
|
6
|
-
const Endpoints = {
|
|
7
|
-
getCobranding: accountId => `${backendUrl}/saas/cobranding/fetch?accountId=${accountId}`,
|
|
8
|
-
deleteCobranding: accountId => `${backendUrl}/saas/cobranding/archive?accountId=${accountId}`,
|
|
9
|
-
publishCobranding: `${backendUrl}/saas/cobranding/publish`,
|
|
10
|
-
getAccountsByCobrandingEmail: email => `${backendUrl}/jcsc/account/from-email/${email}`
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const getCobranding = (accountId, context) => {
|
|
14
|
-
return requests.getRequestHandler(Endpoints.getCobranding(accountId), {}, context);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const deleteCobranding = (accountId, context) => {
|
|
18
|
-
return requests.deleteRequestHandler(Endpoints.deleteCobranding(accountId), context);
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const publishCobranding = (formData, context) => {
|
|
22
|
-
return requests.postRequestHandler(Endpoints.publishCobranding, formData, context, formData.getHeaders());
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
const getAccountsByCobrandingEmail = email => {
|
|
26
|
-
return internalRequests.getRequestHandler(Endpoints.getAccountsByCobrandingEmail(email), {});
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
module.exports = { getCobranding, deleteCobranding, publishCobranding, getAccountsByCobrandingEmail };
|
|
1
|
+
const requests = require('../../../../../common/requests/cookieAuth/requests');
|
|
2
|
+
const internalRequests = require('../../../../../common/requests/internalAuth/requests');
|
|
3
|
+
|
|
4
|
+
const { backendUrl } = require('../../../../../env').getEnv();
|
|
5
|
+
|
|
6
|
+
const Endpoints = {
|
|
7
|
+
getCobranding: accountId => `${backendUrl}/saas/cobranding/fetch?accountId=${accountId}`,
|
|
8
|
+
deleteCobranding: accountId => `${backendUrl}/saas/cobranding/archive?accountId=${accountId}`,
|
|
9
|
+
publishCobranding: `${backendUrl}/saas/cobranding/publish`,
|
|
10
|
+
getAccountsByCobrandingEmail: email => `${backendUrl}/jcsc/account/from-email/${email}`
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const getCobranding = (accountId, context) => {
|
|
14
|
+
return requests.getRequestHandler(Endpoints.getCobranding(accountId), {}, context);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const deleteCobranding = (accountId, context) => {
|
|
18
|
+
return requests.deleteRequestHandler(Endpoints.deleteCobranding(accountId), context);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const publishCobranding = (formData, context) => {
|
|
22
|
+
return requests.postRequestHandler(Endpoints.publishCobranding, formData, context, formData.getHeaders());
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const getAccountsByCobrandingEmail = email => {
|
|
26
|
+
return internalRequests.getRequestHandler(Endpoints.getAccountsByCobrandingEmail(email), {});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
module.exports = { getCobranding, deleteCobranding, publishCobranding, getAccountsByCobrandingEmail };
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
const FormData = require('form-data');
|
|
2
|
-
|
|
3
|
-
const emailCustomizationsAPI = require('./accounts.email.customizations.api');
|
|
4
|
-
const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
|
|
5
|
-
|
|
6
|
-
const getCobranding = async (accountId, context) => {
|
|
7
|
-
const response = await emailCustomizationsAPI.getCobranding(accountId, context);
|
|
8
|
-
|
|
9
|
-
if (response.status !== httpResponseStatusCodes.OK) {
|
|
10
|
-
throw Error(`Failed to get cobranding by account id: ${accountId} - Response: ${response.status}`);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return response.data;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const deleteCobranding = async (accountId, context) => {
|
|
17
|
-
const response = await emailCustomizationsAPI.deleteCobranding(accountId, context);
|
|
18
|
-
|
|
19
|
-
if (response.status !== httpResponseStatusCodes.OK) {
|
|
20
|
-
throw Error(`Failed to delete cobranding by account id: ${accountId} - Response: ${response.status}`);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return response.data;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const publishCobranding = async (publishCobrandingModel, context) => {
|
|
27
|
-
const publishCobrandingStr = JSON.stringify(publishCobrandingModel);
|
|
28
|
-
|
|
29
|
-
const formData = new FormData();
|
|
30
|
-
// File names are passed as empty so the integration tests won't need to start handle files
|
|
31
|
-
// In this case the backend just take the file name from the cobrandingData object
|
|
32
|
-
// and doesn't check against S3. This will work as long as we won't check the content of the cobranded
|
|
33
|
-
// emails themselves as there there won't be images.
|
|
34
|
-
formData.append('file', '');
|
|
35
|
-
formData.append('coBrandingData', publishCobrandingStr) ;
|
|
36
|
-
|
|
37
|
-
const response = await emailCustomizationsAPI.publishCobranding(formData, context);
|
|
38
|
-
|
|
39
|
-
if (response.status !== httpResponseStatusCodes.OK) {
|
|
40
|
-
throw Error(`Failed to publish cobranding with from email: ${publishCobrandingModel.fromEmailAddress} - Response: ${response.status}`);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return response.data;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const getAccountsByCobrandingEmail = async email => {
|
|
47
|
-
const response = await emailCustomizationsAPI.getAccountsByCobrandingEmail(email);
|
|
48
|
-
|
|
49
|
-
if (response.status !== httpResponseStatusCodes.OK) {
|
|
50
|
-
throw Error(`Failed to get account ids by email: ${email} - Response: ${response.status}`);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return response.data;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
module.exports = {
|
|
57
|
-
getCobranding,
|
|
58
|
-
deleteCobranding,
|
|
59
|
-
publishCobranding,
|
|
60
|
-
getAccountsByCobrandingEmail
|
|
61
|
-
};
|
|
1
|
+
const FormData = require('form-data');
|
|
2
|
+
|
|
3
|
+
const emailCustomizationsAPI = require('./accounts.email.customizations.api');
|
|
4
|
+
const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
|
|
5
|
+
|
|
6
|
+
const getCobranding = async (accountId, context) => {
|
|
7
|
+
const response = await emailCustomizationsAPI.getCobranding(accountId, context);
|
|
8
|
+
|
|
9
|
+
if (response.status !== httpResponseStatusCodes.OK) {
|
|
10
|
+
throw Error(`Failed to get cobranding by account id: ${accountId} - Response: ${response.status}`);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return response.data;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const deleteCobranding = async (accountId, context) => {
|
|
17
|
+
const response = await emailCustomizationsAPI.deleteCobranding(accountId, context);
|
|
18
|
+
|
|
19
|
+
if (response.status !== httpResponseStatusCodes.OK) {
|
|
20
|
+
throw Error(`Failed to delete cobranding by account id: ${accountId} - Response: ${response.status}`);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return response.data;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const publishCobranding = async (publishCobrandingModel, context) => {
|
|
27
|
+
const publishCobrandingStr = JSON.stringify(publishCobrandingModel);
|
|
28
|
+
|
|
29
|
+
const formData = new FormData();
|
|
30
|
+
// File names are passed as empty so the integration tests won't need to start handle files
|
|
31
|
+
// In this case the backend just take the file name from the cobrandingData object
|
|
32
|
+
// and doesn't check against S3. This will work as long as we won't check the content of the cobranded
|
|
33
|
+
// emails themselves as there there won't be images.
|
|
34
|
+
formData.append('file', '');
|
|
35
|
+
formData.append('coBrandingData', publishCobrandingStr) ;
|
|
36
|
+
|
|
37
|
+
const response = await emailCustomizationsAPI.publishCobranding(formData, context);
|
|
38
|
+
|
|
39
|
+
if (response.status !== httpResponseStatusCodes.OK) {
|
|
40
|
+
throw Error(`Failed to publish cobranding with from email: ${publishCobrandingModel.fromEmailAddress} - Response: ${response.status}`);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return response.data;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const getAccountsByCobrandingEmail = async email => {
|
|
47
|
+
const response = await emailCustomizationsAPI.getAccountsByCobrandingEmail(email);
|
|
48
|
+
|
|
49
|
+
if (response.status !== httpResponseStatusCodes.OK) {
|
|
50
|
+
throw Error(`Failed to get account ids by email: ${email} - Response: ${response.status}`);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return response.data;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
module.exports = {
|
|
57
|
+
getCobranding,
|
|
58
|
+
deleteCobranding,
|
|
59
|
+
publishCobranding,
|
|
60
|
+
getAccountsByCobrandingEmail
|
|
61
|
+
};
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
const requests = require('../../../../../common/requests/cookieAuth/requests');
|
|
2
|
-
const { backendUrl } = require('../../../../../env').getEnv();
|
|
3
|
-
|
|
4
|
-
const Endpoints = {
|
|
5
|
-
createApiKey: `${backendUrl}/saas/integration-tests/api-keys`,
|
|
6
|
-
getStaticApiKeyByAccountId: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/static-api-keys`,
|
|
7
|
-
getApiKeyByKeyValue: `${backendUrl}/saas/integration-tests/api-keys`,
|
|
8
|
-
removeStaticApiKey: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/static-api-keys`,
|
|
9
|
-
dynamicApiKey: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/dynamic-api-key`
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const createStaticApiKey = (data, context) => {
|
|
13
|
-
return requests.postRequestHandler(Endpoints.createApiKey, data, context);
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const createGeneratorApiKey = (data, context) => {
|
|
17
|
-
return requests.postRequestHandler(Endpoints.createApiKey, data, context);
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
const getStaticApiKeyByAccountId = (accountId, context) => {
|
|
21
|
-
return requests.getRequestHandler(Endpoints.getStaticApiKeyByAccountId(accountId), {}, context);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const getApiKeyDetails = (apiKeyValue, context) => {
|
|
25
|
-
return requests.getRequestHandler(Endpoints.getApiKeyByKeyValue, { apiKeyValue }, context);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const deleteStaticApiKey = (accountId, context) => {
|
|
29
|
-
return requests.deleteRequestHandler(Endpoints.removeStaticApiKey(accountId), context);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const deleteDynamicApiKey = (accountId, context) => {
|
|
33
|
-
return requests.deleteRequestHandler(Endpoints.dynamicApiKey(accountId), context);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const makeDynamicApiKeyExpired = (accountId, context) => {
|
|
37
|
-
return requests.patchRequestHandler(Endpoints.dynamicApiKey(accountId), context, {});
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
module.exports = {
|
|
41
|
-
createStaticApiKey,
|
|
42
|
-
createGeneratorApiKey,
|
|
43
|
-
getStaticApiKeyByAccountId,
|
|
44
|
-
getApiKeyDetails,
|
|
45
|
-
makeDynamicApiKeyExpired,
|
|
46
|
-
deleteStaticApiKey,
|
|
47
|
-
deleteDynamicApiKey
|
|
48
|
-
};
|
|
1
|
+
const requests = require('../../../../../common/requests/cookieAuth/requests');
|
|
2
|
+
const { backendUrl } = require('../../../../../env').getEnv();
|
|
3
|
+
|
|
4
|
+
const Endpoints = {
|
|
5
|
+
createApiKey: `${backendUrl}/saas/integration-tests/api-keys`,
|
|
6
|
+
getStaticApiKeyByAccountId: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/static-api-keys`,
|
|
7
|
+
getApiKeyByKeyValue: `${backendUrl}/saas/integration-tests/api-keys`,
|
|
8
|
+
removeStaticApiKey: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/static-api-keys`,
|
|
9
|
+
dynamicApiKey: accountId => `${backendUrl}/saas/integration-tests/accounts/${accountId}/dynamic-api-key`
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const createStaticApiKey = (data, context) => {
|
|
13
|
+
return requests.postRequestHandler(Endpoints.createApiKey, data, context);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const createGeneratorApiKey = (data, context) => {
|
|
17
|
+
return requests.postRequestHandler(Endpoints.createApiKey, data, context);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const getStaticApiKeyByAccountId = (accountId, context) => {
|
|
21
|
+
return requests.getRequestHandler(Endpoints.getStaticApiKeyByAccountId(accountId), {}, context);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const getApiKeyDetails = (apiKeyValue, context) => {
|
|
25
|
+
return requests.getRequestHandler(Endpoints.getApiKeyByKeyValue, { apiKeyValue }, context);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const deleteStaticApiKey = (accountId, context) => {
|
|
29
|
+
return requests.deleteRequestHandler(Endpoints.removeStaticApiKey(accountId), context);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const deleteDynamicApiKey = (accountId, context) => {
|
|
33
|
+
return requests.deleteRequestHandler(Endpoints.dynamicApiKey(accountId), context);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const makeDynamicApiKeyExpired = (accountId, context) => {
|
|
37
|
+
return requests.patchRequestHandler(Endpoints.dynamicApiKey(accountId), context, {});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
module.exports = {
|
|
41
|
+
createStaticApiKey,
|
|
42
|
+
createGeneratorApiKey,
|
|
43
|
+
getStaticApiKeyByAccountId,
|
|
44
|
+
getApiKeyDetails,
|
|
45
|
+
makeDynamicApiKeyExpired,
|
|
46
|
+
deleteStaticApiKey,
|
|
47
|
+
deleteDynamicApiKey
|
|
48
|
+
};
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
const accountsAPI = require('./accounts.openapi.api');
|
|
2
|
-
const crypto = require('crypto');
|
|
3
|
-
|
|
4
|
-
const generateApiKeyValue = accountName => {
|
|
5
|
-
return crypto.createHash('sha256').update(accountName).digest('base64');
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
const createStaticApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'ACCOUNT_STATIC', apiKeyName = null } = {}) => {
|
|
9
|
-
const data = { accountId, apiKeyValue, apiKeyName, apiKeyType };
|
|
10
|
-
return accountsAPI.createStaticApiKey(data, context);
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const createGeneratorApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'GENERATOR', apiKeyName = null } = {}) => {
|
|
14
|
-
const data = { accountId, apiKeyValue, apiKeyName, apiKeyType };
|
|
15
|
-
return accountsAPI.createGeneratorApiKey(data, context);
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
const getStaticApiKeyByAccountId = async (accountId, context) => {
|
|
19
|
-
return accountsAPI.getStaticApiKeyByAccountId(accountId, context);
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const getApiKeyDetails = async (apiKeyValue, context) => {
|
|
23
|
-
return accountsAPI.getApiKeyDetails(apiKeyValue, context);
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const deleteStaticApiKey = async (accountId, context) => {
|
|
27
|
-
return accountsAPI.deleteStaticApiKey(accountId, context);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const getOrCreateStaticApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'ACCOUNT_STATIC', apiKeyName = null } = {}) => {
|
|
31
|
-
let response = await getStaticApiKeyByAccountId(accountId, context);
|
|
32
|
-
|
|
33
|
-
if (response.data.apiKeyValue) {
|
|
34
|
-
return response.data;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
response = await getApiKeyDetails(apiKeyValue, context);
|
|
38
|
-
|
|
39
|
-
if (!response.data.apiKeyValue) {
|
|
40
|
-
response = await createStaticApiKey(accountId, apiKeyValue, context, { apiKeyType, apiKeyName });
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return response.data;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const getOrCreateGeneratorApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'GENERATOR', apiKeyName = null } = {}) => {
|
|
47
|
-
const existingApiKey = await getApiKeyDetails(apiKeyValue, context);
|
|
48
|
-
|
|
49
|
-
if (!existingApiKey.apiKeyValue) {
|
|
50
|
-
return createGeneratorApiKey(accountId, apiKeyValue, context, { apiKeyType, apiKeyName });
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return existingApiKey;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
const deleteDynamicApiKey = async (accountId, context) => {
|
|
57
|
-
return accountsAPI.deleteDynamicApiKey(accountId, context);
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
const makeDynamicApiKeyExpired = async (accountId, context) => {
|
|
61
|
-
return accountsAPI.makeDynamicApiKeyExpired(accountId, context);
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
module.exports = {
|
|
65
|
-
createStaticApiKey,
|
|
66
|
-
generateApiKeyValue,
|
|
67
|
-
getOrCreateStaticApiKey,
|
|
68
|
-
getOrCreateGeneratorApiKey,
|
|
69
|
-
getStaticApiKeyByAccountId,
|
|
70
|
-
getApiKeyDetails,
|
|
71
|
-
makeDynamicApiKeyExpired,
|
|
72
|
-
deleteStaticApiKey,
|
|
73
|
-
deleteDynamicApiKey
|
|
74
|
-
};
|
|
1
|
+
const accountsAPI = require('./accounts.openapi.api');
|
|
2
|
+
const crypto = require('crypto');
|
|
3
|
+
|
|
4
|
+
const generateApiKeyValue = accountName => {
|
|
5
|
+
return crypto.createHash('sha256').update(accountName).digest('base64');
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const createStaticApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'ACCOUNT_STATIC', apiKeyName = null } = {}) => {
|
|
9
|
+
const data = { accountId, apiKeyValue, apiKeyName, apiKeyType };
|
|
10
|
+
return accountsAPI.createStaticApiKey(data, context);
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const createGeneratorApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'GENERATOR', apiKeyName = null } = {}) => {
|
|
14
|
+
const data = { accountId, apiKeyValue, apiKeyName, apiKeyType };
|
|
15
|
+
return accountsAPI.createGeneratorApiKey(data, context);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const getStaticApiKeyByAccountId = async (accountId, context) => {
|
|
19
|
+
return accountsAPI.getStaticApiKeyByAccountId(accountId, context);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const getApiKeyDetails = async (apiKeyValue, context) => {
|
|
23
|
+
return accountsAPI.getApiKeyDetails(apiKeyValue, context);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const deleteStaticApiKey = async (accountId, context) => {
|
|
27
|
+
return accountsAPI.deleteStaticApiKey(accountId, context);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const getOrCreateStaticApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'ACCOUNT_STATIC', apiKeyName = null } = {}) => {
|
|
31
|
+
let response = await getStaticApiKeyByAccountId(accountId, context);
|
|
32
|
+
|
|
33
|
+
if (response.data.apiKeyValue) {
|
|
34
|
+
return response.data;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
response = await getApiKeyDetails(apiKeyValue, context);
|
|
38
|
+
|
|
39
|
+
if (!response.data.apiKeyValue) {
|
|
40
|
+
response = await createStaticApiKey(accountId, apiKeyValue, context, { apiKeyType, apiKeyName });
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return response.data;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const getOrCreateGeneratorApiKey = async (accountId, apiKeyValue, context, { apiKeyType = 'GENERATOR', apiKeyName = null } = {}) => {
|
|
47
|
+
const existingApiKey = await getApiKeyDetails(apiKeyValue, context);
|
|
48
|
+
|
|
49
|
+
if (!existingApiKey.apiKeyValue) {
|
|
50
|
+
return createGeneratorApiKey(accountId, apiKeyValue, context, { apiKeyType, apiKeyName });
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return existingApiKey;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const deleteDynamicApiKey = async (accountId, context) => {
|
|
57
|
+
return accountsAPI.deleteDynamicApiKey(accountId, context);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const makeDynamicApiKeyExpired = async (accountId, context) => {
|
|
61
|
+
return accountsAPI.makeDynamicApiKeyExpired(accountId, context);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
module.exports = {
|
|
65
|
+
createStaticApiKey,
|
|
66
|
+
generateApiKeyValue,
|
|
67
|
+
getOrCreateStaticApiKey,
|
|
68
|
+
getOrCreateGeneratorApiKey,
|
|
69
|
+
getStaticApiKeyByAccountId,
|
|
70
|
+
getApiKeyDetails,
|
|
71
|
+
makeDynamicApiKeyExpired,
|
|
72
|
+
deleteStaticApiKey,
|
|
73
|
+
deleteDynamicApiKey
|
|
74
|
+
};
|
|
@@ -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
|
+
};
|