@getjones/test-infra 5.2.10 → 5.2.11
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/eslint.config.mjs +156 -156
- package/package.json +43 -42
- package/src/common/commonFlows/auth/auth.js +95 -95
- package/src/common/commonFlows/index.js +5 -5
- package/src/common/commonFlows/records/records.js +448 -423
- package/src/common/commonFlows/users/users.js +15 -15
- package/src/common/consts/accountSettings.js +112 -112
- package/src/common/consts/activationStatuses.js +6 -6
- package/src/common/consts/analysisStatuses.js +7 -7
- 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/projectSettings.js +28 -28
- package/src/common/consts/recordTypes.js +5 -5
- package/src/common/consts/requirementActions.js +10 -10
- package/src/common/consts/s3FileTypes.js +12 -12
- package/src/common/consts/userRoles.js +21 -21
- package/src/common/consts/userTypes.js +16 -16
- package/src/common/errorCodes.js +12 -11
- package/src/common/httpResponseStatusCodes.json +19 -19
- package/src/common/httpResponseTypes.json +2 -2
- package/src/common/requests/apiKeyAuth/requests.js +45 -45
- package/src/common/requests/cookieAuth/requests.js +40 -40
- package/src/common/requests/internalAuth/requests.js +48 -48
- package/src/common/requests/requestHandlers.js +112 -112
- package/src/common/utils/arrayUtils.js +19 -19
- package/src/common/utils/complianceUtil.js +114 -114
- 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 +102 -102
- package/src/common/utils/timeUtils.js +195 -195
- package/src/common/validations/typeValidations.js +36 -36
- package/src/defaults/configs/attributes.js +170 -170
- package/src/defaults/configs/auditConfigs.js +129 -129
- package/src/defaults/configs/coverage.js +144 -144
- package/src/defaults/configs/polices.js +28 -28
- package/src/defaults/configs/requirement.js +218 -218
- package/src/defaults/index.js +7 -7
- package/src/env.js +58 -58
- package/src/factory/globalRecord/globalRecord.js +43 -43
- package/src/factory/index.js +8 -8
- package/src/factory/records/records.js +295 -295
- package/src/factory/users/users.js +70 -70
- package/src/index.js +114 -114
- package/src/reporters/mochaReporter.js +273 -273
- package/src/resources/agreements/agreement.pdf +0 -0
- package/src/saas/internal-api/accountDirectory/api/accountDirectory.api.js +152 -152
- package/src/saas/internal-api/accountDirectory/api/accountDirectory.service.js +576 -576
- package/src/saas/internal-api/accountDirectory/consts/accountDirectory.consts.js +75 -75
- package/src/saas/internal-api/accountDirectory/index.js +5 -5
- package/src/saas/internal-api/accountDirectory/models/accountDirectory.models.js +172 -172
- package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +48 -48
- package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +104 -104
- 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 +60 -60
- package/src/saas/internal-api/accounts/api/emailCustomization/consts.js +8 -8
- package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +54 -54
- package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +67 -67
- package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
- package/src/saas/internal-api/accounts/api/settings/settings.service.js +58 -58
- 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 +110 -110
- package/src/saas/internal-api/accounts/utils/utils.js +60 -60
- 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 +49 -49
- package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +121 -121
- package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +40 -40
- package/src/saas/internal-api/auditCustomerRules/index.js +7 -7
- package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +55 -55
- package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +70 -70
- package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
- package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +116 -116
- package/src/saas/internal-api/auditNotes/index.js +4 -4
- package/src/saas/internal-api/auditNotes/models/audit.note.model.js +32 -32
- package/src/saas/internal-api/auditorComments/api/auditor.comments.api.js +20 -20
- package/src/saas/internal-api/auditorComments/api/auditor.comments.service.js +27 -27
- package/src/saas/internal-api/auditorComments/consts/auditor.comment.js +16 -16
- package/src/saas/internal-api/auditorComments/index.js +5 -5
- package/src/saas/internal-api/auditorComments/models/auditor.comment.model.js +40 -40
- package/src/saas/internal-api/auth/api/auth.api.js +78 -78
- package/src/saas/internal-api/auth/api/auth.service.js +172 -172
- package/src/saas/internal-api/auth/index.js +3 -3
- package/src/saas/internal-api/coi/api/coi.api.js +76 -76
- package/src/saas/internal-api/coi/api/coi.service.js +104 -104
- package/src/saas/internal-api/coi/consts/duplicateHandling.js +7 -7
- package/src/saas/internal-api/coi/consts/hashes.js +5 -5
- package/src/saas/internal-api/coi/consts/uploaderTypes.js +3 -3
- package/src/saas/internal-api/coi/index.js +16 -16
- package/src/saas/internal-api/coi/models/Combine.last.two.cois.model.js +25 -25
- package/src/saas/internal-api/coi/models/submit.coi.batch.model.js +23 -23
- package/src/saas/internal-api/coi/models/submit.coi.model.js +23 -23
- package/src/saas/internal-api/coi/utils/utils.js +185 -185
- 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/aiAudit/aiAudit.api.js +63 -63
- package/src/saas/internal-api/compliance/api/audit/aiAudit/aiAudit.service.js +99 -99
- package/src/saas/internal-api/compliance/api/audit/audit.api.js +124 -124
- package/src/saas/internal-api/compliance/api/audit/audit.service.js +390 -390
- package/src/saas/internal-api/compliance/api/complianceSnapshot/compliance.snapshot.api.js +32 -32
- package/src/saas/internal-api/compliance/api/complianceSnapshot/compliance.snapshot.service.js +73 -73
- package/src/saas/internal-api/compliance/api/convert/convert.api.js +12 -12
- package/src/saas/internal-api/compliance/api/convert/convert.service.js +7 -7
- 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 +86 -86
- package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +300 -300
- package/src/saas/internal-api/compliance/consts/audit.js +130 -130
- package/src/saas/internal-api/compliance/consts/overrideGapRequest/override.gap.request.js +7 -7
- package/src/saas/internal-api/compliance/index.js +41 -41
- package/src/saas/internal-api/compliance/models/audit/audit.model.js +109 -109
- package/src/saas/internal-api/compliance/models/overrideGapRequest/override.gap.request.model.js +16 -16
- package/src/saas/internal-api/compliance/models/waive/waive.model.js +112 -112
- package/src/saas/internal-api/compliance/utils/auditUtil.js +308 -308
- package/src/saas/internal-api/compliance/utils/coverageUtil.js +45 -45
- package/src/saas/internal-api/contractors/api/contractors.service.js +482 -482
- 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 +11 -11
- 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/verification.contractor.model.js +29 -29
- package/src/saas/internal-api/contractors/utils.js +25 -25
- package/src/saas/internal-api/customTags/api/customTags.api.js +47 -47
- package/src/saas/internal-api/customTags/api/customTags.service.js +96 -96
- package/src/saas/internal-api/customTags/index.js +4 -4
- package/src/saas/internal-api/customTags/models/customTagsModels.js +17 -17
- 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 +178 -178
- package/src/saas/internal-api/dbEmails/consts/consts.js +66 -66
- 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/fileScan/api/file.scan.api.js +14 -14
- package/src/saas/internal-api/fileScan/api/file.scan.service.js +35 -35
- package/src/saas/internal-api/fileScan/index.js +3 -3
- package/src/saas/internal-api/fileScan/models/update.scan.status.model.js +13 -13
- 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/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/consts.js +9 -9
- package/src/saas/internal-api/notificationCenter/index.js +4 -4
- package/src/saas/internal-api/outlook/api/outlook.api.js +14 -14
- package/src/saas/internal-api/outlook/api/outlook.service.js +14 -14
- package/src/saas/internal-api/outlook/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 +48 -48
- package/src/saas/internal-api/projects/utils/utils.js +159 -159
- package/src/saas/internal-api/recordHub/api/record.hub.api.js +20 -20
- package/src/saas/internal-api/recordHub/api/record.hub.service.js +86 -86
- 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/relatedDocs/api/related.docs.api.js +98 -98
- package/src/saas/internal-api/relatedDocs/api/related.docs.service.js +180 -180
- package/src/saas/internal-api/relatedDocs/index.js +4 -4
- package/src/saas/internal-api/relatedDocs/models/related.doc.model.js +36 -36
- package/src/saas/internal-api/reports/api/reports.api.js +56 -56
- package/src/saas/internal-api/reports/api/reports.service.js +68 -68
- package/src/saas/internal-api/reports/consts/consts.js +71 -71
- 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 +315 -315
- package/src/saas/internal-api/requests/index.js +21 -21
- package/src/saas/internal-api/requests/models/create.request.model.js +39 -39
- 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/lease/lease.api.js +74 -56
- package/src/saas/internal-api/requirements/api/lease/lease.service.js +167 -123
- package/src/saas/internal-api/requirements/api/requirements.api.js +65 -65
- package/src/saas/internal-api/requirements/api/requirements.service.js +198 -198
- package/src/saas/internal-api/requirements/consts/attributeTypes.json +8 -8
- package/src/saas/internal-api/requirements/consts/consts.js +20 -15
- package/src/saas/internal-api/requirements/index.js +22 -21
- package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
- package/src/saas/internal-api/requirements/models/extraction.request.model.js +16 -16
- package/src/saas/internal-api/requirements/models/policy.model.js +35 -35
- package/src/saas/internal-api/requirements/models/tab.extraction.request.model.js +14 -0
- 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/sampleCoi/api/sample.coi.api.js +15 -15
- package/src/saas/internal-api/sampleCoi/api/sample.coi.service.js +48 -48
- package/src/saas/internal-api/sampleCoi/consts/consts.js +22 -22
- package/src/saas/internal-api/sampleCoi/index.js +4 -4
- 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/tableOfContents/api/table.of.contents.api.js +37 -37
- package/src/saas/internal-api/tableOfContents/api/table.of.contents.service.js +19 -19
- package/src/saas/internal-api/tableOfContents/index.js +3 -3
- 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 +69 -69
- package/src/saas/internal-api/thread-scheduler/schedulerJobs.js +8 -8
- package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +49 -49
- package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +162 -162
- package/src/saas/internal-api/uploadFiles/consts.js +36 -36
- package/src/saas/internal-api/uploadFiles/index.js +5 -5
- package/src/saas/internal-api/uploadFiles/utils.js +34 -34
- 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 +109 -109
- package/src/saas/internal-api/users/api/users.api.js +158 -158
- package/src/saas/internal-api/users/api/users.service.js +363 -363
- package/src/saas/internal-api/users/index.js +17 -17
- 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 +14 -14
- package/src/saas/internal-api/users/models/tenant.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 +49 -49
- 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 +35 -35
- package/src/saas/openapi/coi/coi.service.js +53 -53
- package/src/saas/openapi/projects/projects.api.js +83 -83
- package/src/saas/openapi/projects/projects.service.js +71 -71
- package/src/saas/openapi/relatedDocs/related.docs.api.js +30 -30
- package/src/saas/openapi/relatedDocs/related.docs.service.js +55 -55
- package/src/saas/openapi/requests/index.js +7 -7
- package/src/saas/openapi/requests/models/invite.request.model.js +42 -42
- package/src/saas/openapi/requests/models/update.request.model.js +37 -37
- 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 +55 -55
- 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
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
const requests = require('../../../../common/requests/cookieAuth/requests');
|
|
2
|
-
const { backendUrl } = require('../../../../env').getEnv();
|
|
3
|
-
|
|
4
|
-
const Endpoints = {
|
|
5
|
-
login: `${backendUrl}/logincontroller`,
|
|
6
|
-
verifyEmail: `${backendUrl}/verify/email`,
|
|
7
|
-
createOneTimeSession: `${backendUrl}/vendor-app/one-time-session/create`,
|
|
8
|
-
verifyUser: `${backendUrl}/vendor-app/one-time-session/verify-user`,
|
|
9
|
-
twoFAResendCode: `${backendUrl}/_saas/2fa/resend-code`,
|
|
10
|
-
twoFAVerify: `${backendUrl}/_saas/2fa/verify`,
|
|
11
|
-
getAuthenticatedUser: `${backendUrl}/authenticate/user`,
|
|
12
|
-
isHubUser: email => `${backendUrl}/vendor-app/is-hub-user?email=${encodeURIComponent(email)}`,
|
|
13
|
-
resetPassword: `${backendUrl}/reset-password`,
|
|
14
|
-
loginAttempt: `${backendUrl}/saas/integration-tests/user-login-attempt`
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const login = (email, password) => {
|
|
18
|
-
return requests.postRequestHandler(Endpoints.login, { email, password });
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const verifyEmail = email => {
|
|
22
|
-
return requests.postRequestHandler(Endpoints.verifyEmail, { email });
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
const createOneTimeSession = email => {
|
|
26
|
-
return requests.postRequestHandler(Endpoints.createOneTimeSession, { email });
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const verifyUser = (email, oneTimeCode) => {
|
|
30
|
-
return requests.postRequestHandler(Endpoints.verifyUser, { email, oneTimeCode });
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const twoFAResendCode = (email, pendingSessionToken) => {
|
|
34
|
-
return requests.postRequestHandler(Endpoints.twoFAResendCode, { email, pendingSessionToken });
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const twoFAVerify = (email, code, pendingSessionToken) => {
|
|
38
|
-
return requests.postRequestHandler(Endpoints.twoFAVerify, { email, code, pendingSessionToken });
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const getAuthenticatedUser = context => {
|
|
42
|
-
return requests.getRequestHandler(Endpoints.getAuthenticatedUser, {}, context);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const isHubUser = email => {
|
|
46
|
-
return requests.postRequestHandler(Endpoints.isHubUser(email), null);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
const resetPassword = (password, linkData) => {
|
|
50
|
-
return requests.postRequestHandler(Endpoints.resetPassword, { password, linkData });
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
const getLoginAttempts = (email, context) => {
|
|
54
|
-
return requests.getRequestHandler(Endpoints.loginAttempt, { email }, context);
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
const backdateLoginAttempt = (body, context) => {
|
|
58
|
-
return requests.postRequestHandler(Endpoints.loginAttempt, body, context);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const deleteLoginAttempt = (email, context) => {
|
|
62
|
-
return requests.deleteRequestHandler(Endpoints.loginAttempt, context, {}, { email });
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
module.exports = {
|
|
66
|
-
login,
|
|
67
|
-
verifyEmail,
|
|
68
|
-
createOneTimeSession,
|
|
69
|
-
verifyUser,
|
|
70
|
-
twoFAResendCode,
|
|
71
|
-
twoFAVerify,
|
|
72
|
-
getAuthenticatedUser,
|
|
73
|
-
isHubUser,
|
|
74
|
-
resetPassword,
|
|
75
|
-
getLoginAttempts,
|
|
76
|
-
backdateLoginAttempt,
|
|
77
|
-
deleteLoginAttempt
|
|
78
|
-
};
|
|
1
|
+
const requests = require('../../../../common/requests/cookieAuth/requests');
|
|
2
|
+
const { backendUrl } = require('../../../../env').getEnv();
|
|
3
|
+
|
|
4
|
+
const Endpoints = {
|
|
5
|
+
login: `${backendUrl}/logincontroller`,
|
|
6
|
+
verifyEmail: `${backendUrl}/verify/email`,
|
|
7
|
+
createOneTimeSession: `${backendUrl}/vendor-app/one-time-session/create`,
|
|
8
|
+
verifyUser: `${backendUrl}/vendor-app/one-time-session/verify-user`,
|
|
9
|
+
twoFAResendCode: `${backendUrl}/_saas/2fa/resend-code`,
|
|
10
|
+
twoFAVerify: `${backendUrl}/_saas/2fa/verify`,
|
|
11
|
+
getAuthenticatedUser: `${backendUrl}/authenticate/user`,
|
|
12
|
+
isHubUser: email => `${backendUrl}/vendor-app/is-hub-user?email=${encodeURIComponent(email)}`,
|
|
13
|
+
resetPassword: `${backendUrl}/reset-password`,
|
|
14
|
+
loginAttempt: `${backendUrl}/saas/integration-tests/user-login-attempt`
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const login = (email, password) => {
|
|
18
|
+
return requests.postRequestHandler(Endpoints.login, { email, password });
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const verifyEmail = email => {
|
|
22
|
+
return requests.postRequestHandler(Endpoints.verifyEmail, { email });
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const createOneTimeSession = email => {
|
|
26
|
+
return requests.postRequestHandler(Endpoints.createOneTimeSession, { email });
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const verifyUser = (email, oneTimeCode) => {
|
|
30
|
+
return requests.postRequestHandler(Endpoints.verifyUser, { email, oneTimeCode });
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const twoFAResendCode = (email, pendingSessionToken) => {
|
|
34
|
+
return requests.postRequestHandler(Endpoints.twoFAResendCode, { email, pendingSessionToken });
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const twoFAVerify = (email, code, pendingSessionToken) => {
|
|
38
|
+
return requests.postRequestHandler(Endpoints.twoFAVerify, { email, code, pendingSessionToken });
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const getAuthenticatedUser = context => {
|
|
42
|
+
return requests.getRequestHandler(Endpoints.getAuthenticatedUser, {}, context);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const isHubUser = email => {
|
|
46
|
+
return requests.postRequestHandler(Endpoints.isHubUser(email), null);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const resetPassword = (password, linkData) => {
|
|
50
|
+
return requests.postRequestHandler(Endpoints.resetPassword, { password, linkData });
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const getLoginAttempts = (email, context) => {
|
|
54
|
+
return requests.getRequestHandler(Endpoints.loginAttempt, { email }, context);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const backdateLoginAttempt = (body, context) => {
|
|
58
|
+
return requests.postRequestHandler(Endpoints.loginAttempt, body, context);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const deleteLoginAttempt = (email, context) => {
|
|
62
|
+
return requests.deleteRequestHandler(Endpoints.loginAttempt, context, {}, { email });
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
module.exports = {
|
|
66
|
+
login,
|
|
67
|
+
verifyEmail,
|
|
68
|
+
createOneTimeSession,
|
|
69
|
+
verifyUser,
|
|
70
|
+
twoFAResendCode,
|
|
71
|
+
twoFAVerify,
|
|
72
|
+
getAuthenticatedUser,
|
|
73
|
+
isHubUser,
|
|
74
|
+
resetPassword,
|
|
75
|
+
getLoginAttempts,
|
|
76
|
+
backdateLoginAttempt,
|
|
77
|
+
deleteLoginAttempt
|
|
78
|
+
};
|
|
@@ -1,172 +1,172 @@
|
|
|
1
|
-
const { getEnv, requiredValidation, getSystemUserIdentity, addUserIdentity } = require('../../../../env');
|
|
2
|
-
const { credentials } = getEnv();
|
|
3
|
-
|
|
4
|
-
const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
|
|
5
|
-
|
|
6
|
-
const authApi = require('./auth.api');
|
|
7
|
-
|
|
8
|
-
const getAuthCookie = async (email, password) => {
|
|
9
|
-
const systemUser = getSystemUserIdentity(email);
|
|
10
|
-
|
|
11
|
-
if (systemUser) {
|
|
12
|
-
return systemUser.cookie;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
try {
|
|
16
|
-
const response = await authApi.login(email, password);
|
|
17
|
-
|
|
18
|
-
if (response.status !== httpResponseStatusCodes.OK) {
|
|
19
|
-
throw Error(`Error: ${JSON.stringify(response.data)}`);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const authCookie = response.headers['set-cookie'].find(item => item.startsWith('JonesToken='));
|
|
23
|
-
|
|
24
|
-
addUserIdentity(email, authCookie, response.data.user.id);
|
|
25
|
-
|
|
26
|
-
return authCookie;
|
|
27
|
-
} catch (error) {
|
|
28
|
-
throw new Error(`Failed to login with email: ${email}\nError: ${error}`);
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const verifyEmail = email => {
|
|
33
|
-
return authApi.verifyEmail(email);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const createOneTimeSession = email => {
|
|
37
|
-
return authApi.createOneTimeSession(email);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const getHubUserCookie = async (email, oneTimeCode) => {
|
|
41
|
-
try {
|
|
42
|
-
const response = await authApi.verifyUser(email, oneTimeCode);
|
|
43
|
-
|
|
44
|
-
if (response.status !== httpResponseStatusCodes.OK && response.status !== httpResponseStatusCodes.NO_CONTENT) {
|
|
45
|
-
throw Error(`Error: ${JSON.stringify(response.data)}`);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const authCookie = response.headers['set-cookie'].find(item => item.startsWith('JonesToken='));
|
|
49
|
-
|
|
50
|
-
return authCookie;
|
|
51
|
-
} catch (error) {
|
|
52
|
-
throw new Error(`Failed to login to vendor hub by email:${email}`, error);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
const getIcsCookie = () => {
|
|
57
|
-
const { superUser, superUserPassword } = credentials;
|
|
58
|
-
|
|
59
|
-
requiredValidation({
|
|
60
|
-
'credentials.superUser': superUser,
|
|
61
|
-
'credentials.superUserPassword': superUserPassword
|
|
62
|
-
});
|
|
63
|
-
return getAuthCookie(superUser, superUserPassword);
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
const getAuditorCookie = () => {
|
|
67
|
-
const { auditorUser, auditorPassword } = credentials;
|
|
68
|
-
requiredValidation({
|
|
69
|
-
'credentials.auditorUser': auditorUser,
|
|
70
|
-
'credentials.auditorPassword': auditorPassword
|
|
71
|
-
});
|
|
72
|
-
return getAuthCookie(auditorUser, auditorPassword);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
const getOperatorCookie = () => {
|
|
76
|
-
const { operatorUser, operatorPassword } = credentials;
|
|
77
|
-
requiredValidation({
|
|
78
|
-
'credentials.operatorUser': operatorUser,
|
|
79
|
-
'credentials.operatorPassword': operatorPassword
|
|
80
|
-
});
|
|
81
|
-
return getAuthCookie(operatorUser, operatorPassword);
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
const login = (email, password) => {
|
|
85
|
-
return authApi.login(email, password);
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
const twoFAResendCode = (email, pendingSessionToken) => {
|
|
89
|
-
return authApi.twoFAResendCode(email, pendingSessionToken);
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
const twoFAVerify = (email, code, pendingSessionToken) => {
|
|
93
|
-
return authApi.twoFAVerify(email, code, pendingSessionToken);
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
const getAuthenticatedUser = context => {
|
|
97
|
-
return authApi.getAuthenticatedUser(context);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
const isHubUser = async (email, { expectError } = {}) => {
|
|
101
|
-
const response = await authApi.isHubUser(email);
|
|
102
|
-
|
|
103
|
-
if (!expectError && response.status !== httpResponseStatusCodes.OK) {
|
|
104
|
-
throw new Error(`is-hub-user failed for ${email}: ${JSON.stringify(response.data)}`);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return response.data;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
const resetPassword = async (password, linkData, { expectError = false } = {}) => {
|
|
111
|
-
const response = await authApi.resetPassword(password, linkData);
|
|
112
|
-
|
|
113
|
-
if (!expectError && response.status !== httpResponseStatusCodes.OK) {
|
|
114
|
-
throw Error(`Failed to reset password. Status code: ${response.status}`);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
return response;
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
// Reads the user_login_attempt row via the ICS-secured test-only endpoint.
|
|
121
|
-
// A 404 (no row ever created) is a distinct state from a cleared row (200, counter 0, null dates);
|
|
122
|
-
// pass { expectError: true } to receive the raw response and tell them apart, otherwise the
|
|
123
|
-
// wrapper throws on any non-200 rather than flattening a 404 into a zeroed row.
|
|
124
|
-
const getLoginAttempts = async (email, { expectError } = {}) => {
|
|
125
|
-
const response = await authApi.getLoginAttempts(email, await getIcsCookie());
|
|
126
|
-
|
|
127
|
-
if (!expectError && response.status !== httpResponseStatusCodes.OK) {
|
|
128
|
-
throw new Error(`getLoginAttempts failed for ${email}: ${JSON.stringify(response.data)}`);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
return expectError ? response : response.data;
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
// Backdates the failed-login timestamps for an existing row. The endpoint returns 204 No Content.
|
|
135
|
-
const backdateLoginAttempt = async (email, { dateLastFailedLogin, dateFirstFailedLogin } = {}) => {
|
|
136
|
-
const response = await authApi.backdateLoginAttempt(
|
|
137
|
-
{ email, dateLastFailedLogin, dateFirstFailedLogin }, await getIcsCookie());
|
|
138
|
-
|
|
139
|
-
if (response.status !== httpResponseStatusCodes.NO_CONTENT && response.status !== httpResponseStatusCodes.OK) {
|
|
140
|
-
throw new Error(`backdateLoginAttempt failed for ${email}: ${JSON.stringify(response.data)}`);
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
// Clears the user_login_attempt row for an email via the ICS-secured test-only endpoint.
|
|
145
|
-
// Idempotent: the endpoint returns 204 whether or not a row existed, so this is safe to call
|
|
146
|
-
// on non-existent-email subjects when resetting lockout state between runs.
|
|
147
|
-
const deleteLoginAttempt = async email => {
|
|
148
|
-
const response = await authApi.deleteLoginAttempt(email, await getIcsCookie());
|
|
149
|
-
|
|
150
|
-
if (response.status !== httpResponseStatusCodes.NO_CONTENT && response.status !== httpResponseStatusCodes.OK) {
|
|
151
|
-
throw new Error(`deleteLoginAttempt failed for ${email}: ${JSON.stringify(response.data)}`);
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
module.exports = {
|
|
156
|
-
getAuthCookie,
|
|
157
|
-
verifyEmail,
|
|
158
|
-
createOneTimeSession,
|
|
159
|
-
getHubUserCookie,
|
|
160
|
-
getIcsCookie,
|
|
161
|
-
getAuditorCookie,
|
|
162
|
-
getOperatorCookie,
|
|
163
|
-
login,
|
|
164
|
-
twoFAResendCode,
|
|
165
|
-
twoFAVerify,
|
|
166
|
-
getAuthenticatedUser,
|
|
167
|
-
isHubUser,
|
|
168
|
-
resetPassword,
|
|
169
|
-
getLoginAttempts,
|
|
170
|
-
backdateLoginAttempt,
|
|
171
|
-
deleteLoginAttempt
|
|
172
|
-
};
|
|
1
|
+
const { getEnv, requiredValidation, getSystemUserIdentity, addUserIdentity } = require('../../../../env');
|
|
2
|
+
const { credentials } = getEnv();
|
|
3
|
+
|
|
4
|
+
const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
|
|
5
|
+
|
|
6
|
+
const authApi = require('./auth.api');
|
|
7
|
+
|
|
8
|
+
const getAuthCookie = async (email, password) => {
|
|
9
|
+
const systemUser = getSystemUserIdentity(email);
|
|
10
|
+
|
|
11
|
+
if (systemUser) {
|
|
12
|
+
return systemUser.cookie;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
try {
|
|
16
|
+
const response = await authApi.login(email, password);
|
|
17
|
+
|
|
18
|
+
if (response.status !== httpResponseStatusCodes.OK) {
|
|
19
|
+
throw Error(`Error: ${JSON.stringify(response.data)}`);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const authCookie = response.headers['set-cookie'].find(item => item.startsWith('JonesToken='));
|
|
23
|
+
|
|
24
|
+
addUserIdentity(email, authCookie, response.data.user.id);
|
|
25
|
+
|
|
26
|
+
return authCookie;
|
|
27
|
+
} catch (error) {
|
|
28
|
+
throw new Error(`Failed to login with email: ${email}\nError: ${error}`);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const verifyEmail = email => {
|
|
33
|
+
return authApi.verifyEmail(email);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const createOneTimeSession = email => {
|
|
37
|
+
return authApi.createOneTimeSession(email);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const getHubUserCookie = async (email, oneTimeCode) => {
|
|
41
|
+
try {
|
|
42
|
+
const response = await authApi.verifyUser(email, oneTimeCode);
|
|
43
|
+
|
|
44
|
+
if (response.status !== httpResponseStatusCodes.OK && response.status !== httpResponseStatusCodes.NO_CONTENT) {
|
|
45
|
+
throw Error(`Error: ${JSON.stringify(response.data)}`);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const authCookie = response.headers['set-cookie'].find(item => item.startsWith('JonesToken='));
|
|
49
|
+
|
|
50
|
+
return authCookie;
|
|
51
|
+
} catch (error) {
|
|
52
|
+
throw new Error(`Failed to login to vendor hub by email:${email}`, error);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const getIcsCookie = () => {
|
|
57
|
+
const { superUser, superUserPassword } = credentials;
|
|
58
|
+
|
|
59
|
+
requiredValidation({
|
|
60
|
+
'credentials.superUser': superUser,
|
|
61
|
+
'credentials.superUserPassword': superUserPassword
|
|
62
|
+
});
|
|
63
|
+
return getAuthCookie(superUser, superUserPassword);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const getAuditorCookie = () => {
|
|
67
|
+
const { auditorUser, auditorPassword } = credentials;
|
|
68
|
+
requiredValidation({
|
|
69
|
+
'credentials.auditorUser': auditorUser,
|
|
70
|
+
'credentials.auditorPassword': auditorPassword
|
|
71
|
+
});
|
|
72
|
+
return getAuthCookie(auditorUser, auditorPassword);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const getOperatorCookie = () => {
|
|
76
|
+
const { operatorUser, operatorPassword } = credentials;
|
|
77
|
+
requiredValidation({
|
|
78
|
+
'credentials.operatorUser': operatorUser,
|
|
79
|
+
'credentials.operatorPassword': operatorPassword
|
|
80
|
+
});
|
|
81
|
+
return getAuthCookie(operatorUser, operatorPassword);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const login = (email, password) => {
|
|
85
|
+
return authApi.login(email, password);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const twoFAResendCode = (email, pendingSessionToken) => {
|
|
89
|
+
return authApi.twoFAResendCode(email, pendingSessionToken);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
const twoFAVerify = (email, code, pendingSessionToken) => {
|
|
93
|
+
return authApi.twoFAVerify(email, code, pendingSessionToken);
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
const getAuthenticatedUser = context => {
|
|
97
|
+
return authApi.getAuthenticatedUser(context);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
const isHubUser = async (email, { expectError } = {}) => {
|
|
101
|
+
const response = await authApi.isHubUser(email);
|
|
102
|
+
|
|
103
|
+
if (!expectError && response.status !== httpResponseStatusCodes.OK) {
|
|
104
|
+
throw new Error(`is-hub-user failed for ${email}: ${JSON.stringify(response.data)}`);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return response.data;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
const resetPassword = async (password, linkData, { expectError = false } = {}) => {
|
|
111
|
+
const response = await authApi.resetPassword(password, linkData);
|
|
112
|
+
|
|
113
|
+
if (!expectError && response.status !== httpResponseStatusCodes.OK) {
|
|
114
|
+
throw Error(`Failed to reset password. Status code: ${response.status}`);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return response;
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
// Reads the user_login_attempt row via the ICS-secured test-only endpoint.
|
|
121
|
+
// A 404 (no row ever created) is a distinct state from a cleared row (200, counter 0, null dates);
|
|
122
|
+
// pass { expectError: true } to receive the raw response and tell them apart, otherwise the
|
|
123
|
+
// wrapper throws on any non-200 rather than flattening a 404 into a zeroed row.
|
|
124
|
+
const getLoginAttempts = async (email, { expectError } = {}) => {
|
|
125
|
+
const response = await authApi.getLoginAttempts(email, await getIcsCookie());
|
|
126
|
+
|
|
127
|
+
if (!expectError && response.status !== httpResponseStatusCodes.OK) {
|
|
128
|
+
throw new Error(`getLoginAttempts failed for ${email}: ${JSON.stringify(response.data)}`);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return expectError ? response : response.data;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// Backdates the failed-login timestamps for an existing row. The endpoint returns 204 No Content.
|
|
135
|
+
const backdateLoginAttempt = async (email, { dateLastFailedLogin, dateFirstFailedLogin } = {}) => {
|
|
136
|
+
const response = await authApi.backdateLoginAttempt(
|
|
137
|
+
{ email, dateLastFailedLogin, dateFirstFailedLogin }, await getIcsCookie());
|
|
138
|
+
|
|
139
|
+
if (response.status !== httpResponseStatusCodes.NO_CONTENT && response.status !== httpResponseStatusCodes.OK) {
|
|
140
|
+
throw new Error(`backdateLoginAttempt failed for ${email}: ${JSON.stringify(response.data)}`);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
// Clears the user_login_attempt row for an email via the ICS-secured test-only endpoint.
|
|
145
|
+
// Idempotent: the endpoint returns 204 whether or not a row existed, so this is safe to call
|
|
146
|
+
// on non-existent-email subjects when resetting lockout state between runs.
|
|
147
|
+
const deleteLoginAttempt = async email => {
|
|
148
|
+
const response = await authApi.deleteLoginAttempt(email, await getIcsCookie());
|
|
149
|
+
|
|
150
|
+
if (response.status !== httpResponseStatusCodes.NO_CONTENT && response.status !== httpResponseStatusCodes.OK) {
|
|
151
|
+
throw new Error(`deleteLoginAttempt failed for ${email}: ${JSON.stringify(response.data)}`);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
module.exports = {
|
|
156
|
+
getAuthCookie,
|
|
157
|
+
verifyEmail,
|
|
158
|
+
createOneTimeSession,
|
|
159
|
+
getHubUserCookie,
|
|
160
|
+
getIcsCookie,
|
|
161
|
+
getAuditorCookie,
|
|
162
|
+
getOperatorCookie,
|
|
163
|
+
login,
|
|
164
|
+
twoFAResendCode,
|
|
165
|
+
twoFAVerify,
|
|
166
|
+
getAuthenticatedUser,
|
|
167
|
+
isHubUser,
|
|
168
|
+
resetPassword,
|
|
169
|
+
getLoginAttempts,
|
|
170
|
+
backdateLoginAttempt,
|
|
171
|
+
deleteLoginAttempt
|
|
172
|
+
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const services = require('./api/auth.service');
|
|
2
|
-
|
|
3
|
-
module.exports = { services };
|
|
1
|
+
const services = require('./api/auth.service');
|
|
2
|
+
|
|
3
|
+
module.exports = { services };
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
const axios = require('axios');
|
|
2
|
-
const FormData = require('form-data');
|
|
3
|
-
const requests = require('../../../../common/requests/cookieAuth/requests');
|
|
4
|
-
const internalRequests = require('../../../../common/requests/internalAuth/requests');
|
|
5
|
-
|
|
6
|
-
const { backendUrl } = require('../../../../env').getEnv();
|
|
7
|
-
|
|
8
|
-
const Endpoints = {
|
|
9
|
-
uploadToS3: `${backendUrl}/_saas/coi/upload`,
|
|
10
|
-
submitCoi: `${backendUrl}/coi/merge`,
|
|
11
|
-
submitCoiByUserContext: `${backendUrl}/saas/coi/merge`,
|
|
12
|
-
submitCoiBatch: `${backendUrl}/saas/coi/merge/batch`,
|
|
13
|
-
getCoiPresignedUrl: fileName => `${backendUrl}/saas/coi/${fileName}`,
|
|
14
|
-
getCoiPresignedUrlBeforeMerge: fileId => `${backendUrl}/saas/coi-file-before-merge/presigned-url/${fileId}`,
|
|
15
|
-
getCoiHashes: recordId => `${backendUrl}/jcsc/record/${recordId}/coi/hashes`,
|
|
16
|
-
getCombinedCoiByRecordId: recordId => `${backendUrl}/saas/record/${recordId}/coi/combined-coi-mapping`,
|
|
17
|
-
combineLastTwoCOIs: `${backendUrl}/saas/auditor/record/coi/merge-last-two`,
|
|
18
|
-
downloadProjectCoisInBulk: projectId => `${backendUrl}/saas/project/${projectId}/bulk-coi-download`
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const uploadToS3 = (contractorId, fileData) => {
|
|
22
|
-
const form = new FormData();
|
|
23
|
-
form.append('fileData', fileData);
|
|
24
|
-
|
|
25
|
-
return axios.post(Endpoints.uploadToS3, form, { params: { contractorId }, headers: form.getHeaders() });
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const submitCoi = submitCoiModel => {
|
|
29
|
-
return requests.postRequestHandler(Endpoints.submitCoi, submitCoiModel);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const submitCoiByUserContext = (submitCoiModel, context) => {
|
|
33
|
-
return requests.postRequestHandler(Endpoints.submitCoiByUserContext, submitCoiModel, context);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const submitCoiBatch = (submitCoiBatchModel, context) => {
|
|
37
|
-
return requests.postRequestHandler(Endpoints.submitCoiBatch, submitCoiBatchModel, context);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const getCoiPreSignedUrl = (coiFileName, context) => {
|
|
41
|
-
return requests.getRequestHandler(Endpoints.getCoiPresignedUrl(coiFileName), {}, context);
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
const getCoiPresignedUrlBeforeMerge = (fileId, context) => {
|
|
45
|
-
return requests.getRequestHandler(Endpoints.getCoiPresignedUrlBeforeMerge(fileId), {}, context);
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
const getCoiHashes = recordId => {
|
|
49
|
-
return internalRequests.getRequestHandler(Endpoints.getCoiHashes(recordId));
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
const getCombinedCoiByRecordId = (recordId, context) => {
|
|
53
|
-
return requests.getRequestHandler(Endpoints.getCombinedCoiByRecordId(recordId), {}, context);
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
const combineLastTwoCOIs = (combineLastTwoCOIsModel, context) => {
|
|
57
|
-
return requests.postRequestHandler(Endpoints.combineLastTwoCOIs, combineLastTwoCOIsModel, context);
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
const downloadProjectCoisInBulk = (projectId, context) => {
|
|
61
|
-
const emptyBody = {};
|
|
62
|
-
return requests.postRequestHandler(Endpoints.downloadProjectCoisInBulk(projectId), emptyBody, context);
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
module.exports = {
|
|
66
|
-
uploadToS3,
|
|
67
|
-
submitCoi,
|
|
68
|
-
submitCoiByUserContext,
|
|
69
|
-
submitCoiBatch,
|
|
70
|
-
getCoiPreSignedUrl,
|
|
71
|
-
getCoiPresignedUrlBeforeMerge,
|
|
72
|
-
getCoiHashes,
|
|
73
|
-
getCombinedCoiByRecordId,
|
|
74
|
-
combineLastTwoCOIs,
|
|
75
|
-
downloadProjectCoisInBulk
|
|
76
|
-
};
|
|
1
|
+
const axios = require('axios');
|
|
2
|
+
const FormData = require('form-data');
|
|
3
|
+
const requests = require('../../../../common/requests/cookieAuth/requests');
|
|
4
|
+
const internalRequests = require('../../../../common/requests/internalAuth/requests');
|
|
5
|
+
|
|
6
|
+
const { backendUrl } = require('../../../../env').getEnv();
|
|
7
|
+
|
|
8
|
+
const Endpoints = {
|
|
9
|
+
uploadToS3: `${backendUrl}/_saas/coi/upload`,
|
|
10
|
+
submitCoi: `${backendUrl}/coi/merge`,
|
|
11
|
+
submitCoiByUserContext: `${backendUrl}/saas/coi/merge`,
|
|
12
|
+
submitCoiBatch: `${backendUrl}/saas/coi/merge/batch`,
|
|
13
|
+
getCoiPresignedUrl: fileName => `${backendUrl}/saas/coi/${fileName}`,
|
|
14
|
+
getCoiPresignedUrlBeforeMerge: fileId => `${backendUrl}/saas/coi-file-before-merge/presigned-url/${fileId}`,
|
|
15
|
+
getCoiHashes: recordId => `${backendUrl}/jcsc/record/${recordId}/coi/hashes`,
|
|
16
|
+
getCombinedCoiByRecordId: recordId => `${backendUrl}/saas/record/${recordId}/coi/combined-coi-mapping`,
|
|
17
|
+
combineLastTwoCOIs: `${backendUrl}/saas/auditor/record/coi/merge-last-two`,
|
|
18
|
+
downloadProjectCoisInBulk: projectId => `${backendUrl}/saas/project/${projectId}/bulk-coi-download`
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const uploadToS3 = (contractorId, fileData) => {
|
|
22
|
+
const form = new FormData();
|
|
23
|
+
form.append('fileData', fileData);
|
|
24
|
+
|
|
25
|
+
return axios.post(Endpoints.uploadToS3, form, { params: { contractorId }, headers: form.getHeaders() });
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const submitCoi = submitCoiModel => {
|
|
29
|
+
return requests.postRequestHandler(Endpoints.submitCoi, submitCoiModel);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const submitCoiByUserContext = (submitCoiModel, context) => {
|
|
33
|
+
return requests.postRequestHandler(Endpoints.submitCoiByUserContext, submitCoiModel, context);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const submitCoiBatch = (submitCoiBatchModel, context) => {
|
|
37
|
+
return requests.postRequestHandler(Endpoints.submitCoiBatch, submitCoiBatchModel, context);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const getCoiPreSignedUrl = (coiFileName, context) => {
|
|
41
|
+
return requests.getRequestHandler(Endpoints.getCoiPresignedUrl(coiFileName), {}, context);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const getCoiPresignedUrlBeforeMerge = (fileId, context) => {
|
|
45
|
+
return requests.getRequestHandler(Endpoints.getCoiPresignedUrlBeforeMerge(fileId), {}, context);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const getCoiHashes = recordId => {
|
|
49
|
+
return internalRequests.getRequestHandler(Endpoints.getCoiHashes(recordId));
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const getCombinedCoiByRecordId = (recordId, context) => {
|
|
53
|
+
return requests.getRequestHandler(Endpoints.getCombinedCoiByRecordId(recordId), {}, context);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const combineLastTwoCOIs = (combineLastTwoCOIsModel, context) => {
|
|
57
|
+
return requests.postRequestHandler(Endpoints.combineLastTwoCOIs, combineLastTwoCOIsModel, context);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const downloadProjectCoisInBulk = (projectId, context) => {
|
|
61
|
+
const emptyBody = {};
|
|
62
|
+
return requests.postRequestHandler(Endpoints.downloadProjectCoisInBulk(projectId), emptyBody, context);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
module.exports = {
|
|
66
|
+
uploadToS3,
|
|
67
|
+
submitCoi,
|
|
68
|
+
submitCoiByUserContext,
|
|
69
|
+
submitCoiBatch,
|
|
70
|
+
getCoiPreSignedUrl,
|
|
71
|
+
getCoiPresignedUrlBeforeMerge,
|
|
72
|
+
getCoiHashes,
|
|
73
|
+
getCombinedCoiByRecordId,
|
|
74
|
+
combineLastTwoCOIs,
|
|
75
|
+
downloadProjectCoisInBulk
|
|
76
|
+
};
|