@oneblink/apps-react 9.0.0-beta.2 → 9.0.0-beta.4
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/dist/OneBlinkForm.d.ts +6 -10
- package/dist/OneBlinkForm.js +0 -4
- package/dist/OneBlinkForm.js.map +1 -1
- package/dist/OneBlinkFormBase.d.ts +1 -1
- package/dist/OneBlinkFormBase.js +2 -1
- package/dist/OneBlinkFormBase.js.map +1 -1
- package/dist/OneBlinkReadOnlyForm.d.ts +1 -1
- package/dist/OneBlinkReadOnlyForm.js +1 -1
- package/dist/OneBlinkReadOnlyForm.js.map +1 -1
- package/dist/PaymentReceipt.d.ts +1 -1
- package/dist/PaymentReceipt.js +1 -1
- package/dist/PaymentReceipt.js.map +1 -1
- package/dist/apps/Sentry.d.ts +7 -0
- package/dist/apps/Sentry.js +16 -0
- package/dist/apps/Sentry.js.map +1 -0
- package/dist/apps/approvals-service.d.ts +390 -0
- package/dist/apps/approvals-service.js +987 -0
- package/dist/apps/approvals-service.js.map +1 -0
- package/dist/apps/attachments-service.d.ts +49 -0
- package/dist/apps/attachments-service.js +134 -0
- package/dist/apps/attachments-service.js.map +1 -0
- package/dist/apps/auth-service.d.ts +114 -0
- package/dist/apps/auth-service.js +194 -0
- package/dist/apps/auth-service.js.map +1 -0
- package/dist/apps/auto-save-service.d.ts +82 -0
- package/dist/apps/auto-save-service.js +105 -0
- package/dist/apps/auto-save-service.js.map +1 -0
- package/dist/apps/draft-service.d.ts +148 -0
- package/dist/apps/draft-service.js +583 -0
- package/dist/apps/draft-service.js.map +1 -0
- package/dist/apps/form-service.d.ts +204 -0
- package/dist/apps/form-service.js +718 -0
- package/dist/apps/form-service.js.map +1 -0
- package/dist/apps/form-store-service.d.ts +141 -0
- package/dist/apps/form-store-service.js +114 -0
- package/dist/apps/form-store-service.js.map +1 -0
- package/dist/apps/forms-app-environment-service.d.ts +19 -0
- package/dist/apps/forms-app-environment-service.js +55 -0
- package/dist/apps/forms-app-environment-service.js.map +1 -0
- package/dist/apps/forms-app-service.d.ts +18 -0
- package/dist/apps/forms-app-service.js +53 -0
- package/dist/apps/forms-app-service.js.map +1 -0
- package/dist/apps/index.d.ts +252 -0
- package/dist/apps/index.js +254 -0
- package/dist/apps/index.js.map +1 -0
- package/dist/apps/job-service.d.ts +20 -0
- package/dist/apps/job-service.js +95 -0
- package/dist/apps/job-service.js.map +1 -0
- package/dist/apps/localisation-service.d.ts +207 -0
- package/dist/apps/localisation-service.js +321 -0
- package/dist/apps/localisation-service.js.map +1 -0
- package/dist/apps/notification-service.d.ts +83 -0
- package/dist/apps/notification-service.js +315 -0
- package/dist/apps/notification-service.js.map +1 -0
- package/dist/apps/offline-service.d.ts +18 -0
- package/dist/apps/offline-service.js +25 -0
- package/dist/apps/offline-service.js.map +1 -0
- package/dist/apps/payment-service.d.ts +110 -0
- package/dist/apps/payment-service.js +182 -0
- package/dist/apps/payment-service.js.map +1 -0
- package/dist/apps/prefill-service.d.ts +14 -0
- package/dist/apps/prefill-service.js +19 -0
- package/dist/apps/prefill-service.js.map +1 -0
- package/dist/apps/scheduled-tasks-service.d.ts +127 -0
- package/dist/apps/scheduled-tasks-service.js +240 -0
- package/dist/apps/scheduled-tasks-service.js.map +1 -0
- package/dist/apps/scheduling-service.d.ts +101 -0
- package/dist/apps/scheduling-service.js +171 -0
- package/dist/apps/scheduling-service.js.map +1 -0
- package/dist/apps/services/AWSCognitoClient.d.ts +55 -0
- package/dist/apps/services/AWSCognitoClient.js +436 -0
- package/dist/apps/services/AWSCognitoClient.js.map +1 -0
- package/dist/apps/services/api/drafts.d.ts +7 -0
- package/dist/apps/services/api/drafts.js +236 -0
- package/dist/apps/services/api/drafts.js.map +1 -0
- package/dist/apps/services/api/notifications.d.ts +3 -0
- package/dist/apps/services/api/notifications.js +60 -0
- package/dist/apps/services/api/notifications.js.map +1 -0
- package/dist/apps/services/api/payment.d.ts +23 -0
- package/dist/apps/services/api/payment.js +235 -0
- package/dist/apps/services/api/payment.js.map +1 -0
- package/dist/apps/services/api/post-submission-attachment-urls.d.ts +7 -0
- package/dist/apps/services/api/post-submission-attachment-urls.js +19 -0
- package/dist/apps/services/api/post-submission-attachment-urls.js.map +1 -0
- package/dist/apps/services/api/prefill.d.ts +1 -0
- package/dist/apps/services/api/prefill.js +70 -0
- package/dist/apps/services/api/prefill.js.map +1 -0
- package/dist/apps/services/api/receipt-id.d.ts +2 -0
- package/dist/apps/services/api/receipt-id.js +54 -0
- package/dist/apps/services/api/receipt-id.js.map +1 -0
- package/dist/apps/services/api/scheduling.d.ts +38 -0
- package/dist/apps/services/api/scheduling.js +142 -0
- package/dist/apps/services/api/scheduling.js.map +1 -0
- package/dist/apps/services/api/submissions.d.ts +18 -0
- package/dist/apps/services/api/submissions.js +166 -0
- package/dist/apps/services/api/submissions.js.map +1 -0
- package/dist/apps/services/cognito.d.ts +302 -0
- package/dist/apps/services/cognito.js +441 -0
- package/dist/apps/services/cognito.js.map +1 -0
- package/dist/apps/services/draft-data-store.d.ts +16 -0
- package/dist/apps/services/draft-data-store.js +115 -0
- package/dist/apps/services/draft-data-store.js.map +1 -0
- package/dist/apps/services/errors/oneBlinkAppsError.d.ts +35 -0
- package/dist/apps/services/errors/oneBlinkAppsError.js +32 -0
- package/dist/apps/services/errors/oneBlinkAppsError.js.map +1 -0
- package/dist/apps/services/external-id-generation.d.ts +4 -0
- package/dist/apps/services/external-id-generation.js +59 -0
- package/dist/apps/services/external-id-generation.js.map +1 -0
- package/dist/apps/services/fetch.d.ts +12 -0
- package/dist/apps/services/fetch.js +95 -0
- package/dist/apps/services/fetch.js.map +1 -0
- package/dist/apps/services/forms-key.d.ts +51 -0
- package/dist/apps/services/forms-key.js +83 -0
- package/dist/apps/services/forms-key.js.map +1 -0
- package/dist/apps/services/generate-generic-error.d.ts +3 -0
- package/dist/apps/services/generate-generic-error.js +52 -0
- package/dist/apps/services/generate-generic-error.js.map +1 -0
- package/dist/apps/services/generateOneBlinkDownloader.d.ts +2 -0
- package/dist/apps/services/generateOneBlinkDownloader.js +11 -0
- package/dist/apps/services/generateOneBlinkDownloader.js.map +1 -0
- package/dist/apps/services/generateOneBlinkUploader.d.ts +2 -0
- package/dist/apps/services/generateOneBlinkUploader.js +11 -0
- package/dist/apps/services/generateOneBlinkUploader.js.map +1 -0
- package/dist/apps/services/getDeviceInformation.d.ts +17 -0
- package/dist/apps/services/getDeviceInformation.js +38 -0
- package/dist/apps/services/getDeviceInformation.js.map +1 -0
- package/dist/apps/services/integration-elements.d.ts +383 -0
- package/dist/apps/services/integration-elements.js +761 -0
- package/dist/apps/services/integration-elements.js.map +1 -0
- package/dist/apps/services/job-prefill.d.ts +40 -0
- package/dist/apps/services/job-prefill.js +78 -0
- package/dist/apps/services/job-prefill.js.map +1 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.d.ts +29 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js +59 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.d.ts +27 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.js +63 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.d.ts +30 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js +116 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.d.ts +49 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js +116 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/receipt-items.d.ts +8 -0
- package/dist/apps/services/payment-providers/receipt-items.js +58 -0
- package/dist/apps/services/payment-providers/receipt-items.js.map +1 -0
- package/dist/apps/services/pending-queue.d.ts +150 -0
- package/dist/apps/services/pending-queue.js +316 -0
- package/dist/apps/services/pending-queue.js.map +1 -0
- package/dist/apps/services/prepareSubmissionData.d.ts +2 -0
- package/dist/apps/services/prepareSubmissionData.js +113 -0
- package/dist/apps/services/prepareSubmissionData.js.map +1 -0
- package/dist/apps/services/query-string.d.ts +1 -0
- package/dist/apps/services/query-string.js +16 -0
- package/dist/apps/services/query-string.js.map +1 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.d.ts +3 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.js +18 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.js.map +1 -0
- package/dist/apps/services/schedulingHandlers.d.ts +36 -0
- package/dist/apps/services/schedulingHandlers.js +76 -0
- package/dist/apps/services/schedulingHandlers.js.map +1 -0
- package/dist/apps/services/server-validation.d.ts +2 -0
- package/dist/apps/services/server-validation.js +36 -0
- package/dist/apps/services/server-validation.js.map +1 -0
- package/dist/apps/services/serverRequest.d.ts +5 -0
- package/dist/apps/services/serverRequest.js +24 -0
- package/dist/apps/services/serverRequest.js.map +1 -0
- package/dist/apps/services/submit.d.ts +19 -0
- package/dist/apps/services/submit.js +219 -0
- package/dist/apps/services/submit.js.map +1 -0
- package/dist/apps/services/uploadAttachment.d.ts +52 -0
- package/dist/apps/services/uploadAttachment.js +73 -0
- package/dist/apps/services/uploadAttachment.js.map +1 -0
- package/dist/apps/services/user-token.d.ts +27 -0
- package/dist/apps/services/user-token.js +33 -0
- package/dist/apps/services/user-token.js.map +1 -0
- package/dist/apps/services/utils.d.ts +12 -0
- package/dist/apps/services/utils.js +100 -0
- package/dist/apps/services/utils.js.map +1 -0
- package/dist/apps/submission-service.d.ts +226 -0
- package/dist/apps/submission-service.js +425 -0
- package/dist/apps/submission-service.js.map +1 -0
- package/dist/apps/tenants.d.ts +29 -0
- package/dist/apps/tenants.js +127 -0
- package/dist/apps/tenants.js.map +1 -0
- package/dist/apps/types/form.d.ts +4 -0
- package/dist/apps/types/form.js +2 -0
- package/dist/apps/types/form.js.map +1 -0
- package/dist/apps/types/payments.d.ts +45 -0
- package/dist/apps/types/payments.js +2 -0
- package/dist/apps/types/payments.js.map +1 -0
- package/dist/apps/types/scheduling.d.ts +5 -0
- package/dist/apps/types/scheduling.js +2 -0
- package/dist/apps/types/scheduling.js.map +1 -0
- package/dist/apps/types/submissions.d.ts +175 -0
- package/dist/apps/types/submissions.js +2 -0
- package/dist/apps/types/submissions.js.map +1 -0
- package/dist/components/ArcGISWebMap.js +1 -1
- package/dist/components/ArcGISWebMap.js.map +1 -1
- package/dist/components/CustomAccordion.d.ts +3 -3
- package/dist/components/Lists.d.ts +4 -1
- package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsForm.d.ts +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsForm.js +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsForm.js.map +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js +1 -1
- package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js.map +1 -1
- package/dist/components/calendar-bookings/ErrorModal.d.ts +1 -1
- package/dist/components/calendar-bookings/ErrorModal.js +1 -1
- package/dist/components/calendar-bookings/ErrorModal.js.map +1 -1
- package/dist/components/downloadable-files/index.d.ts +1 -1
- package/dist/components/downloadable-files/index.js +1 -1
- package/dist/components/downloadable-files/index.js.map +1 -1
- package/dist/components/downloadable-files/resource-components.d.ts +1 -1
- package/dist/components/downloadable-files/resource-components.js +1 -1
- package/dist/components/downloadable-files/resource-components.js.map +1 -1
- package/dist/components/formStore/FormStoreTableProvider.js +1 -1
- package/dist/components/formStore/FormStoreTableProvider.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js +1 -1
- package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreProvider.js +1 -1
- package/dist/components/formStore/OneBlinkFormStoreProvider.js.map +1 -1
- package/dist/components/formStore/OneBlinkFormStoreTable.js.map +1 -1
- package/dist/components/formStore/display/ElementDisplay.js +2 -2
- package/dist/components/formStore/display/ElementDisplay.js.map +1 -1
- package/dist/components/formStore/table/ColumnFilters.js +1 -1
- package/dist/components/formStore/table/ColumnFilters.js.map +1 -1
- package/dist/components/formStore/table/FormElementTableCell.js +1 -1
- package/dist/components/formStore/table/FormElementTableCell.js.map +1 -1
- package/dist/components/formStore/table/Pickers.js +1 -1
- package/dist/components/formStore/table/Pickers.js.map +1 -1
- package/dist/components/formStore/table/generateColumns.d.ts +1 -1
- package/dist/components/formStore/table/generateColumns.js.map +1 -1
- package/dist/components/formStore/table/useFormStoreTable.d.ts +1 -1
- package/dist/components/formStore/table/useFormStoreTable.js +1 -1
- package/dist/components/formStore/table/useFormStoreTable.js.map +1 -1
- package/dist/components/formStore/useFormStoreTableContext.d.ts +2 -2
- package/dist/components/mfa/MfaDialog.d.ts +1 -1
- package/dist/components/mfa/MfaDialog.js +1 -1
- package/dist/components/mfa/MfaDialog.js.map +1 -1
- package/dist/components/mfa/MultiFactorAuthentication.d.ts +1 -1
- package/dist/components/payments/PaymentForm.js +1 -1
- package/dist/components/payments/PaymentForm.js.map +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.d.ts +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.js +1 -1
- package/dist/components/payments/WestpacQuickStreamPaymentForm.js.map +1 -1
- package/dist/components/renderer/AutocompleteDropdown.js +1 -1
- package/dist/components/renderer/AutocompleteDropdown.js.map +1 -1
- package/dist/components/renderer/LookupNotification.js +2 -2
- package/dist/components/renderer/LookupNotification.js.map +1 -1
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js +1 -1
- package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js.map +1 -1
- package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
- package/dist/components/renderer/ReverseGeocode.js +1 -1
- package/dist/components/renderer/ReverseGeocode.js.map +1 -1
- package/dist/form-elements/FormElementAPINSWLiquorLicence.js +1 -1
- package/dist/form-elements/FormElementAPINSWLiquorLicence.js.map +1 -1
- package/dist/form-elements/FormElementArcGISWebMap.js.map +1 -1
- package/dist/form-elements/FormElementAutocomplete.js +1 -1
- package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
- package/dist/form-elements/FormElementBSB.js +1 -1
- package/dist/form-elements/FormElementBSB.js.map +1 -1
- package/dist/form-elements/FormElementCalculation.js +2 -2
- package/dist/form-elements/FormElementCalculation.js.map +1 -1
- package/dist/form-elements/FormElementCivicaNameRecord.js +1 -1
- package/dist/form-elements/FormElementCivicaNameRecord.js.map +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.js +1 -1
- package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
- package/dist/form-elements/FormElementCompliance.d.ts +1 -1
- package/dist/form-elements/FormElementCompliance.js.map +1 -1
- package/dist/form-elements/FormElementDate.js +1 -1
- package/dist/form-elements/FormElementDate.js.map +1 -1
- package/dist/form-elements/FormElementDateTime.js +1 -1
- package/dist/form-elements/FormElementDateTime.js.map +1 -1
- package/dist/form-elements/FormElementFile.d.ts +1 -1
- package/dist/form-elements/FormElementFile.js.map +1 -1
- package/dist/form-elements/FormElementFiles.d.ts +1 -1
- package/dist/form-elements/FormElementFiles.js.map +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.js +1 -1
- package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
- package/dist/form-elements/FormElementGoogleAddress.js +1 -1
- package/dist/form-elements/FormElementGoogleAddress.js.map +1 -1
- package/dist/form-elements/FormElementLocation.js +1 -1
- package/dist/form-elements/FormElementLocation.js.map +1 -1
- package/dist/form-elements/FormElementNumber.js +1 -1
- package/dist/form-elements/FormElementNumber.js.map +1 -1
- package/dist/form-elements/FormElementPointAddress.js +1 -1
- package/dist/form-elements/FormElementPointAddress.js.map +1 -1
- package/dist/form-elements/FormElementPointAddressV3.js +1 -1
- package/dist/form-elements/FormElementPointAddressV3.js.map +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.js +1 -1
- package/dist/form-elements/FormElementPointCadastralParcel.js.map +1 -1
- package/dist/form-elements/FormElementSummary.js +1 -1
- package/dist/form-elements/FormElementSummary.js.map +1 -1
- package/dist/form-elements/FormElementTime.js +1 -1
- package/dist/form-elements/FormElementTime.js.map +1 -1
- package/dist/hooks/attachments/useAttachment.d.ts +1 -1
- package/dist/hooks/attachments/useAttachment.js +1 -1
- package/dist/hooks/attachments/useAttachment.js.map +1 -1
- package/dist/hooks/attachments/useAttachments.d.ts +1 -1
- package/dist/hooks/attachments/useAttachments.js.map +1 -1
- package/dist/hooks/useAuth.js +1 -1
- package/dist/hooks/useAuth.js.map +1 -1
- package/dist/hooks/useConditionalLogic.js +1 -1
- package/dist/hooks/useConditionalLogic.js.map +1 -1
- package/dist/hooks/useDrafts.d.ts +1 -1
- package/dist/hooks/useDrafts.js +1 -1
- package/dist/hooks/useDrafts.js.map +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.d.ts +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.js +1 -1
- package/dist/hooks/useDynamicOptionsLoaderState.js.map +1 -1
- package/dist/hooks/useFormElementLookups.d.ts +1 -1
- package/dist/hooks/useFormElementLookups.js +1 -1
- package/dist/hooks/useFormElementLookups.js.map +1 -1
- package/dist/hooks/useFormSubmissionAutoSaveState.d.ts +1 -1
- package/dist/hooks/useFormSubmissionAutoSaveState.js +1 -1
- package/dist/hooks/useFormSubmissionAutoSaveState.js.map +1 -1
- package/dist/hooks/useIsOffline.js +1 -1
- package/dist/hooks/useIsOffline.js.map +1 -1
- package/dist/hooks/useLogin.js +1 -1
- package/dist/hooks/useLogin.js.map +1 -1
- package/dist/hooks/useMfa.d.ts +1 -1
- package/dist/hooks/useMfa.js +1 -1
- package/dist/hooks/useMfa.js.map +1 -1
- package/dist/hooks/useOnUploadAttachment.d.ts +1 -1
- package/dist/hooks/useOnUploadAttachment.js +1 -1
- package/dist/hooks/useOnUploadAttachment.js.map +1 -1
- package/dist/hooks/usePendingSubmissions.d.ts +1 -1
- package/dist/hooks/usePendingSubmissions.js +1 -1
- package/dist/hooks/usePendingSubmissions.js.map +1 -1
- package/dist/hooks/useReplaceableText.js +1 -1
- package/dist/hooks/useReplaceableText.js.map +1 -1
- package/dist/hooks/useSignUp.js +1 -1
- package/dist/hooks/useSignUp.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/services/attachments.d.ts +1 -1
- package/dist/services/attachments.js +1 -1
- package/dist/services/attachments.js.map +1 -1
- package/dist/services/blob-utils.js +1 -1
- package/dist/services/blob-utils.js.map +1 -1
- package/dist/services/checkIfAttachmentsExist.d.ts +1 -1
- package/dist/services/checkIfAttachmentsExist.js.map +1 -1
- package/dist/services/defaultCoordinates.js +1 -1
- package/dist/services/defaultCoordinates.js.map +1 -1
- package/dist/services/download-file.d.ts +1 -1
- package/dist/services/download-file.js +2 -2
- package/dist/services/download-file.js.map +1 -1
- package/dist/services/drawTimestampOnCanvas.js +1 -1
- package/dist/services/drawTimestampOnCanvas.js.map +1 -1
- package/dist/services/form-validation/validateSubmission.js +1 -1
- package/dist/services/form-validation/validateSubmission.js.map +1 -1
- package/dist/services/form-validation/validators.d.ts +1 -1
- package/dist/services/form-validation/validators.js.map +1 -1
- package/dist/services/generate-default-data.js +1 -1
- package/dist/services/generate-default-data.js.map +1 -1
- package/dist/services/injectableOptions.js +1 -1
- package/dist/services/injectableOptions.js.map +1 -1
- package/dist/styles.css +208 -204
- package/dist/types/attachments.d.ts +1 -1
- package/dist/types/attachments.js.map +1 -1
- package/dist/utils/sendGoogleAnalyticsEvent.js +1 -1
- package/dist/utils/sendGoogleAnalyticsEvent.js.map +1 -1
- package/package.json +42 -34
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { SubmissionEventTypes } from '@oneblink/types';
|
|
2
|
+
import { BasePaymentConfigurationPayload, PaymentProvider } from '../../types/payments';
|
|
3
|
+
import { FormSubmissionResult } from '../../types/submissions';
|
|
4
|
+
export default class WestpacQuickStreamPaymentProvider implements PaymentProvider<SubmissionEventTypes.WestpacQuickStreamSubmissionEvent> {
|
|
5
|
+
constructor(paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent, formSubmissionResult: FormSubmissionResult);
|
|
6
|
+
formSubmissionResult: FormSubmissionResult;
|
|
7
|
+
paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent;
|
|
8
|
+
preparePaymentConfiguration(payload: BasePaymentConfigurationPayload): {
|
|
9
|
+
path: string;
|
|
10
|
+
payload: BasePaymentConfigurationPayload;
|
|
11
|
+
};
|
|
12
|
+
verifyPaymentTransaction(query: Record<string, unknown>): Promise<{
|
|
13
|
+
receiptItems: import("../../types/payments").PaymentReceiptItem[];
|
|
14
|
+
transaction: {
|
|
15
|
+
isSuccess: boolean;
|
|
16
|
+
errorMessage: string;
|
|
17
|
+
};
|
|
18
|
+
submissionResult: FormSubmissionResult;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
export declare function getPaymentFormConfiguration({ formSubmissionResult, formSubmissionPaymentId, paymentSubmissionEvent, abortSignal, }: {
|
|
22
|
+
formSubmissionResult: FormSubmissionResult;
|
|
23
|
+
formSubmissionPaymentId: string;
|
|
24
|
+
paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent;
|
|
25
|
+
abortSignal: AbortSignal;
|
|
26
|
+
}): Promise<{
|
|
27
|
+
supplierBusinessCode: string;
|
|
28
|
+
publishableApiKey: string;
|
|
29
|
+
isTestMode: boolean;
|
|
30
|
+
}>;
|
|
31
|
+
export declare function completeTransaction({ formSubmissionPaymentId, formSubmissionResult, paymentSubmissionEvent, singleUseTokenId, captchaSiteKey, captchaToken, abortSignal, }: {
|
|
32
|
+
formSubmissionPaymentId: string;
|
|
33
|
+
formSubmissionResult: FormSubmissionResult;
|
|
34
|
+
paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent;
|
|
35
|
+
singleUseTokenId: string;
|
|
36
|
+
captchaSiteKey: string;
|
|
37
|
+
captchaToken: string;
|
|
38
|
+
abortSignal?: AbortSignal;
|
|
39
|
+
}): Promise<{
|
|
40
|
+
formSubmissionPayment: import("@oneblink/types/typescript/submissions").FormSubmissionPayment;
|
|
41
|
+
paymentReceiptUrl: string;
|
|
42
|
+
}>;
|
|
43
|
+
export declare function cancelPayment({ formSubmissionPaymentId, formSubmissionResult, abortSignal, }: {
|
|
44
|
+
formSubmissionPaymentId: string;
|
|
45
|
+
formSubmissionResult: FormSubmissionResult;
|
|
46
|
+
abortSignal?: AbortSignal;
|
|
47
|
+
}): Promise<{
|
|
48
|
+
paymentReceiptUrl: string;
|
|
49
|
+
}>;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import replaceInjectablesWithSubmissionValues from '../replaceInjectablesWithSubmissionValues';
|
|
2
|
+
import OneBlinkAppsError from '../errors/oneBlinkAppsError';
|
|
3
|
+
import { generateAmountReceiptItem, generateCreditCardMaskReceiptItem, generateSubmissionIdReceiptItem, prepareReceiptItems, } from './receipt-items';
|
|
4
|
+
import { cancelWestpacQuickStreamPayment, completeWestpacQuickStreamTransaction, getCustomFormPaymentConfiguration, } from '../api/payment';
|
|
5
|
+
export default class WestpacQuickStreamPaymentProvider {
|
|
6
|
+
constructor(paymentSubmissionEvent, formSubmissionResult) {
|
|
7
|
+
this.formSubmissionResult = formSubmissionResult;
|
|
8
|
+
this.paymentSubmissionEvent = paymentSubmissionEvent;
|
|
9
|
+
}
|
|
10
|
+
preparePaymentConfiguration(payload) {
|
|
11
|
+
if (!payload.submissionId) {
|
|
12
|
+
throw new Error('Westpac QuickStream Payments require the "submissionId" option.');
|
|
13
|
+
}
|
|
14
|
+
if (!payload.paymentFormUrl) {
|
|
15
|
+
throw new Error('Westpac QuickStream Payments require the "paymentFormUrl" option.');
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
path: `/forms/${this.formSubmissionResult.definition.id}/westpac-quick-stream-payment`,
|
|
19
|
+
payload,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
async verifyPaymentTransaction(query) {
|
|
23
|
+
const { paymentReferenceNumber, receiptNumber, maskedCardNumber4Digits, summaryCode, responseDescription, totalAmount, } = query;
|
|
24
|
+
if (!paymentReferenceNumber ||
|
|
25
|
+
!receiptNumber ||
|
|
26
|
+
!summaryCode ||
|
|
27
|
+
!responseDescription ||
|
|
28
|
+
!totalAmount) {
|
|
29
|
+
throw new OneBlinkAppsError('Transactions can not be verified unless navigating here directly after a payment.');
|
|
30
|
+
}
|
|
31
|
+
if (this.formSubmissionResult.submissionId !== paymentReferenceNumber) {
|
|
32
|
+
throw new OneBlinkAppsError('It looks like you are attempting to view a receipt for the incorrect payment.');
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
receiptItems: prepareReceiptItems([
|
|
36
|
+
generateSubmissionIdReceiptItem(this.formSubmissionResult.submissionId),
|
|
37
|
+
{
|
|
38
|
+
className: 'ob-payment-receipt__transaction-id',
|
|
39
|
+
valueClassName: 'cypress-payment-receipt-transaction-id',
|
|
40
|
+
icon: 'shopping_cart',
|
|
41
|
+
label: 'Receipt Number',
|
|
42
|
+
value: receiptNumber,
|
|
43
|
+
allowCopyToClipboard: true,
|
|
44
|
+
},
|
|
45
|
+
generateCreditCardMaskReceiptItem(maskedCardNumber4Digits),
|
|
46
|
+
generateAmountReceiptItem(parseFloat(totalAmount)),
|
|
47
|
+
]),
|
|
48
|
+
transaction: {
|
|
49
|
+
isSuccess: summaryCode === '0',
|
|
50
|
+
errorMessage: responseDescription,
|
|
51
|
+
},
|
|
52
|
+
submissionResult: this.formSubmissionResult,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export async function getPaymentFormConfiguration({ formSubmissionResult, formSubmissionPaymentId, paymentSubmissionEvent, abortSignal, }) {
|
|
57
|
+
const { supplierBusinessCode, publishableApiKey, isTestMode } = await getCustomFormPaymentConfiguration(`/forms/${formSubmissionResult.definition.id}/westpac-quick-stream-payment/${formSubmissionPaymentId}`, {
|
|
58
|
+
integrationEnvironmentId: paymentSubmissionEvent.configuration.environmentId,
|
|
59
|
+
}, abortSignal);
|
|
60
|
+
return {
|
|
61
|
+
supplierBusinessCode,
|
|
62
|
+
publishableApiKey,
|
|
63
|
+
isTestMode,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export async function completeTransaction({ formSubmissionPaymentId, formSubmissionResult, paymentSubmissionEvent, singleUseTokenId, captchaSiteKey, captchaToken, abortSignal, }) {
|
|
67
|
+
var _a, _b;
|
|
68
|
+
if (!formSubmissionResult.payment) {
|
|
69
|
+
throw new Error('"formSubmissionResult.payment" must have a value to complete transactions');
|
|
70
|
+
}
|
|
71
|
+
const { formSubmissionPayment } = await completeWestpacQuickStreamTransaction(formSubmissionResult.definition.id, {
|
|
72
|
+
formSubmissionPaymentId,
|
|
73
|
+
singleUseTokenId,
|
|
74
|
+
integrationEnvironmentId: paymentSubmissionEvent.configuration.environmentId,
|
|
75
|
+
customerReferenceNumber: replaceInjectablesWithSubmissionValues(paymentSubmissionEvent.configuration.customerReferenceNumber, formSubmissionResult).text,
|
|
76
|
+
principalAmount: formSubmissionResult.payment.amount,
|
|
77
|
+
recaptcha: {
|
|
78
|
+
siteKey: captchaSiteKey,
|
|
79
|
+
token: captchaToken,
|
|
80
|
+
},
|
|
81
|
+
}, abortSignal);
|
|
82
|
+
const url = new URL(formSubmissionResult.payment.paymentReceiptUrl);
|
|
83
|
+
if (formSubmissionPayment.type === 'WESTPAC_QUICK_STREAM' &&
|
|
84
|
+
formSubmissionPayment.paymentTransaction) {
|
|
85
|
+
url.searchParams.append('paymentReferenceNumber', formSubmissionPayment.paymentTransaction.paymentReferenceNumber);
|
|
86
|
+
url.searchParams.append('receiptNumber', formSubmissionPayment.paymentTransaction.receiptNumber);
|
|
87
|
+
url.searchParams.append('totalAmount', formSubmissionPayment.paymentTransaction.totalAmount.amount.toString());
|
|
88
|
+
url.searchParams.append('summaryCode', formSubmissionPayment.paymentTransaction.summaryCode);
|
|
89
|
+
url.searchParams.append('responseDescription', formSubmissionPayment.paymentTransaction.responseDescription);
|
|
90
|
+
if ((_a = formSubmissionPayment.paymentTransaction.creditCard) === null || _a === void 0 ? void 0 : _a.maskedCardNumber4Digits) {
|
|
91
|
+
url.searchParams.append('maskedCardNumber4Digits', (_b = formSubmissionPayment.paymentTransaction.creditCard) === null || _b === void 0 ? void 0 : _b.maskedCardNumber4Digits);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
formSubmissionPayment,
|
|
96
|
+
paymentReceiptUrl: url.href,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export async function cancelPayment({ formSubmissionPaymentId, formSubmissionResult, abortSignal, }) {
|
|
100
|
+
if (!formSubmissionResult.payment) {
|
|
101
|
+
throw new Error('"formSubmissionResult.payment" must have a value to cancel payments');
|
|
102
|
+
}
|
|
103
|
+
await cancelWestpacQuickStreamPayment(formSubmissionResult.definition.id, formSubmissionPaymentId, abortSignal);
|
|
104
|
+
const url = new URL(formSubmissionResult.payment.paymentReceiptUrl);
|
|
105
|
+
if (formSubmissionResult.submissionId) {
|
|
106
|
+
url.searchParams.append('paymentReferenceNumber', formSubmissionResult.submissionId);
|
|
107
|
+
}
|
|
108
|
+
url.searchParams.append('receiptNumber', formSubmissionPaymentId);
|
|
109
|
+
url.searchParams.append('totalAmount', formSubmissionResult.payment.amount.toString());
|
|
110
|
+
url.searchParams.append('summaryCode', '1');
|
|
111
|
+
url.searchParams.append('responseDescription', 'Payment Cancelled');
|
|
112
|
+
return {
|
|
113
|
+
paymentReceiptUrl: url.href,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=WestpacQuickStreamPaymentProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WestpacQuickStreamPaymentProvider.js","sourceRoot":"","sources":["../../../../src/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.ts"],"names":[],"mappings":"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","sourcesContent":["import { SubmissionEventTypes } from '@oneblink/types'\nimport {\n BasePaymentConfigurationPayload,\n PaymentProvider,\n} from '../../types/payments'\nimport { FormSubmissionResult } from '../../types/submissions'\nimport replaceInjectablesWithSubmissionValues from '../replaceInjectablesWithSubmissionValues'\nimport OneBlinkAppsError from '../errors/oneBlinkAppsError'\nimport {\n generateAmountReceiptItem,\n generateCreditCardMaskReceiptItem,\n generateSubmissionIdReceiptItem,\n prepareReceiptItems,\n} from './receipt-items'\nimport {\n cancelWestpacQuickStreamPayment,\n completeWestpacQuickStreamTransaction,\n getCustomFormPaymentConfiguration,\n} from '../api/payment'\n\nexport default class WestpacQuickStreamPaymentProvider\n implements\n PaymentProvider<SubmissionEventTypes.WestpacQuickStreamSubmissionEvent>\n{\n constructor(\n paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent,\n formSubmissionResult: FormSubmissionResult,\n ) {\n this.formSubmissionResult = formSubmissionResult\n this.paymentSubmissionEvent = paymentSubmissionEvent\n }\n\n formSubmissionResult: FormSubmissionResult\n paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent\n\n preparePaymentConfiguration(payload: BasePaymentConfigurationPayload) {\n if (!payload.submissionId) {\n throw new Error(\n 'Westpac QuickStream Payments require the \"submissionId\" option.',\n )\n }\n if (!payload.paymentFormUrl) {\n throw new Error(\n 'Westpac QuickStream Payments require the \"paymentFormUrl\" option.',\n )\n }\n return {\n path: `/forms/${this.formSubmissionResult.definition.id}/westpac-quick-stream-payment`,\n payload,\n }\n }\n\n async verifyPaymentTransaction(query: Record<string, unknown>) {\n const {\n paymentReferenceNumber,\n receiptNumber,\n maskedCardNumber4Digits,\n summaryCode,\n responseDescription,\n totalAmount,\n } = query as {\n paymentReferenceNumber?: string\n receiptNumber?: string\n maskedCardNumber4Digits?: string\n summaryCode?: string\n responseDescription?: string\n totalAmount?: string\n }\n if (\n !paymentReferenceNumber ||\n !receiptNumber ||\n !summaryCode ||\n !responseDescription ||\n !totalAmount\n ) {\n throw new OneBlinkAppsError(\n 'Transactions can not be verified unless navigating here directly after a payment.',\n )\n }\n if (this.formSubmissionResult.submissionId !== paymentReferenceNumber) {\n throw new OneBlinkAppsError(\n 'It looks like you are attempting to view a receipt for the incorrect payment.',\n )\n }\n\n return {\n receiptItems: prepareReceiptItems([\n generateSubmissionIdReceiptItem(this.formSubmissionResult.submissionId),\n {\n className: 'ob-payment-receipt__transaction-id',\n valueClassName: 'cypress-payment-receipt-transaction-id',\n icon: 'shopping_cart',\n label: 'Receipt Number',\n value: receiptNumber,\n allowCopyToClipboard: true,\n },\n generateCreditCardMaskReceiptItem(maskedCardNumber4Digits),\n generateAmountReceiptItem(parseFloat(totalAmount)),\n ]),\n transaction: {\n isSuccess: summaryCode === '0',\n errorMessage: responseDescription,\n },\n submissionResult: this.formSubmissionResult,\n }\n }\n}\n\nexport async function getPaymentFormConfiguration({\n formSubmissionResult,\n formSubmissionPaymentId,\n paymentSubmissionEvent,\n abortSignal,\n}: {\n formSubmissionResult: FormSubmissionResult\n formSubmissionPaymentId: string\n paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent\n abortSignal: AbortSignal\n}): Promise<{\n supplierBusinessCode: string\n publishableApiKey: string\n isTestMode: boolean\n}> {\n const { supplierBusinessCode, publishableApiKey, isTestMode } =\n await getCustomFormPaymentConfiguration<{\n supplierBusinessCode: string\n publishableApiKey: string\n isTestMode: boolean\n }>(\n `/forms/${formSubmissionResult.definition.id}/westpac-quick-stream-payment/${formSubmissionPaymentId}`,\n {\n integrationEnvironmentId:\n paymentSubmissionEvent.configuration.environmentId,\n },\n abortSignal,\n )\n\n return {\n supplierBusinessCode,\n publishableApiKey,\n isTestMode,\n }\n}\n\nexport async function completeTransaction({\n formSubmissionPaymentId,\n formSubmissionResult,\n paymentSubmissionEvent,\n singleUseTokenId,\n captchaSiteKey,\n captchaToken,\n abortSignal,\n}: {\n formSubmissionPaymentId: string\n formSubmissionResult: FormSubmissionResult\n paymentSubmissionEvent: SubmissionEventTypes.WestpacQuickStreamSubmissionEvent\n singleUseTokenId: string\n captchaSiteKey: string\n captchaToken: string\n abortSignal?: AbortSignal\n}) {\n if (!formSubmissionResult.payment) {\n throw new Error(\n '\"formSubmissionResult.payment\" must have a value to complete transactions',\n )\n }\n\n const { formSubmissionPayment } = await completeWestpacQuickStreamTransaction(\n formSubmissionResult.definition.id,\n {\n formSubmissionPaymentId,\n singleUseTokenId,\n integrationEnvironmentId:\n paymentSubmissionEvent.configuration.environmentId,\n customerReferenceNumber: replaceInjectablesWithSubmissionValues(\n paymentSubmissionEvent.configuration.customerReferenceNumber,\n formSubmissionResult,\n ).text,\n principalAmount: formSubmissionResult.payment.amount,\n recaptcha: {\n siteKey: captchaSiteKey,\n token: captchaToken,\n },\n },\n abortSignal,\n )\n\n const url = new URL(formSubmissionResult.payment.paymentReceiptUrl)\n if (\n formSubmissionPayment.type === 'WESTPAC_QUICK_STREAM' &&\n formSubmissionPayment.paymentTransaction\n ) {\n url.searchParams.append(\n 'paymentReferenceNumber',\n formSubmissionPayment.paymentTransaction.paymentReferenceNumber,\n )\n url.searchParams.append(\n 'receiptNumber',\n formSubmissionPayment.paymentTransaction.receiptNumber,\n )\n url.searchParams.append(\n 'totalAmount',\n formSubmissionPayment.paymentTransaction.totalAmount.amount.toString(),\n )\n url.searchParams.append(\n 'summaryCode',\n formSubmissionPayment.paymentTransaction.summaryCode,\n )\n url.searchParams.append(\n 'responseDescription',\n formSubmissionPayment.paymentTransaction.responseDescription,\n )\n if (\n formSubmissionPayment.paymentTransaction.creditCard\n ?.maskedCardNumber4Digits\n ) {\n url.searchParams.append(\n 'maskedCardNumber4Digits',\n formSubmissionPayment.paymentTransaction.creditCard\n ?.maskedCardNumber4Digits,\n )\n }\n }\n\n return {\n formSubmissionPayment,\n paymentReceiptUrl: url.href,\n }\n}\n\nexport async function cancelPayment({\n formSubmissionPaymentId,\n formSubmissionResult,\n abortSignal,\n}: {\n formSubmissionPaymentId: string\n formSubmissionResult: FormSubmissionResult\n abortSignal?: AbortSignal\n}) {\n if (!formSubmissionResult.payment) {\n throw new Error(\n '\"formSubmissionResult.payment\" must have a value to cancel payments',\n )\n }\n\n await cancelWestpacQuickStreamPayment(\n formSubmissionResult.definition.id,\n formSubmissionPaymentId,\n abortSignal,\n )\n\n const url = new URL(formSubmissionResult.payment.paymentReceiptUrl)\n if (formSubmissionResult.submissionId) {\n url.searchParams.append(\n 'paymentReferenceNumber',\n formSubmissionResult.submissionId,\n )\n }\n url.searchParams.append('receiptNumber', formSubmissionPaymentId)\n url.searchParams.append(\n 'totalAmount',\n formSubmissionResult.payment.amount.toString(),\n )\n url.searchParams.append('summaryCode', '1')\n url.searchParams.append('responseDescription', 'Payment Cancelled')\n\n return {\n paymentReceiptUrl: url.href,\n }\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PaymentReceiptItem } from '../../types/payments';
|
|
2
|
+
export declare function prepareReceiptItems(receiptItems: Array<PaymentReceiptItem | undefined>): PaymentReceiptItem[];
|
|
3
|
+
export declare function generateSubmissionIdReceiptItem(submissionId: string | undefined | null): PaymentReceiptItem | undefined;
|
|
4
|
+
export declare function generateCreditCardMaskReceiptItem(creditCardMask: string | undefined | null): PaymentReceiptItem | undefined;
|
|
5
|
+
export declare function generateAmountReceiptItem(amount: number | undefined | null): PaymentReceiptItem | undefined;
|
|
6
|
+
export declare function generateReceiptItem({ value, ...receiptItem }: Omit<PaymentReceiptItem, 'value'> & {
|
|
7
|
+
value: unknown;
|
|
8
|
+
}): PaymentReceiptItem | undefined;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { localisationService } from '../..';
|
|
2
|
+
export function prepareReceiptItems(receiptItems) {
|
|
3
|
+
return receiptItems.reduce((memo, receiptItem) => {
|
|
4
|
+
if (receiptItem) {
|
|
5
|
+
memo.push(receiptItem);
|
|
6
|
+
}
|
|
7
|
+
return memo;
|
|
8
|
+
}, []);
|
|
9
|
+
}
|
|
10
|
+
export function generateSubmissionIdReceiptItem(submissionId) {
|
|
11
|
+
if (!submissionId) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
className: 'ob-payment-receipt__submission-id',
|
|
16
|
+
valueClassName: 'cypress-payment-receipt-submission-id',
|
|
17
|
+
icon: 'receipt',
|
|
18
|
+
label: 'Submission Id',
|
|
19
|
+
value: submissionId,
|
|
20
|
+
allowCopyToClipboard: true,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function generateCreditCardMaskReceiptItem(creditCardMask) {
|
|
24
|
+
if (!creditCardMask) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
className: 'ob-payment-receipt__card-number',
|
|
29
|
+
valueClassName: 'cypress-payment-receipt-card-number',
|
|
30
|
+
icon: 'credit_card',
|
|
31
|
+
label: 'Card Number',
|
|
32
|
+
value: creditCardMask,
|
|
33
|
+
allowCopyToClipboard: false,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export function generateAmountReceiptItem(amount) {
|
|
37
|
+
if (typeof amount !== 'number') {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
className: 'ob-payment-receipt__amount',
|
|
42
|
+
valueClassName: 'cypress-payment-receipt-amount',
|
|
43
|
+
icon: 'attach_money',
|
|
44
|
+
label: 'Amount',
|
|
45
|
+
value: localisationService.formatCurrency(amount),
|
|
46
|
+
allowCopyToClipboard: false,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export function generateReceiptItem({ value, ...receiptItem }) {
|
|
50
|
+
if (!value || typeof value !== 'string') {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
...receiptItem,
|
|
55
|
+
value,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=receipt-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt-items.js","sourceRoot":"","sources":["../../../../src/apps/services/payment-providers/receipt-items.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AAG3C,MAAM,UAAU,mBAAmB,CACjC,YAAmD;IAEnD,OAAO,YAAY,CAAC,MAAM,CAAuB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE;QACrE,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,YAAuC;IAEvC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO;QACL,SAAS,EAAE,mCAAmC;QAC9C,cAAc,EAAE,uCAAuC;QACvD,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,YAAY;QACnB,oBAAoB,EAAE,IAAI;KAC3B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,cAAyC;IAEzC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO;QACL,SAAS,EAAE,iCAAiC;QAC5C,cAAc,EAAE,qCAAqC;QACrD,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,cAAc;QACrB,oBAAoB,EAAE,KAAK;KAC5B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,MAAiC;IAEjC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO;QACL,SAAS,EAAE,4BAA4B;QACvC,cAAc,EAAE,gCAAgC;QAChD,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC;QACjD,oBAAoB,EAAE,KAAK;KAC5B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAClC,KAAK,EACL,GAAG,WAAW,EAGf;IACC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO;QACL,GAAG,WAAW;QACd,KAAK;KACN,CAAA;AACH,CAAC","sourcesContent":["import { localisationService } from '../..'\nimport { PaymentReceiptItem } from '../../types/payments'\n\nexport function prepareReceiptItems(\n receiptItems: Array<PaymentReceiptItem | undefined>,\n): PaymentReceiptItem[] {\n return receiptItems.reduce<PaymentReceiptItem[]>((memo, receiptItem) => {\n if (receiptItem) {\n memo.push(receiptItem)\n }\n return memo\n }, [])\n}\n\nexport function generateSubmissionIdReceiptItem(\n submissionId: string | undefined | null,\n): PaymentReceiptItem | undefined {\n if (!submissionId) {\n return undefined\n }\n return {\n className: 'ob-payment-receipt__submission-id',\n valueClassName: 'cypress-payment-receipt-submission-id',\n icon: 'receipt',\n label: 'Submission Id',\n value: submissionId,\n allowCopyToClipboard: true,\n }\n}\n\nexport function generateCreditCardMaskReceiptItem(\n creditCardMask: string | undefined | null,\n): PaymentReceiptItem | undefined {\n if (!creditCardMask) {\n return undefined\n }\n return {\n className: 'ob-payment-receipt__card-number',\n valueClassName: 'cypress-payment-receipt-card-number',\n icon: 'credit_card',\n label: 'Card Number',\n value: creditCardMask,\n allowCopyToClipboard: false,\n }\n}\n\nexport function generateAmountReceiptItem(\n amount: number | undefined | null,\n): PaymentReceiptItem | undefined {\n if (typeof amount !== 'number') {\n return undefined\n }\n return {\n className: 'ob-payment-receipt__amount',\n valueClassName: 'cypress-payment-receipt-amount',\n icon: 'attach_money',\n label: 'Amount',\n value: localisationService.formatCurrency(amount),\n allowCopyToClipboard: false,\n }\n}\n\nexport function generateReceiptItem({\n value,\n ...receiptItem\n}: Omit<PaymentReceiptItem, 'value'> & {\n value: unknown\n}): PaymentReceiptItem | undefined {\n if (!value || typeof value !== 'string') {\n return undefined\n }\n return {\n ...receiptItem,\n value,\n }\n}\n"]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { FormSubmission, PendingFormSubmission, ProgressListener, ProgressListenerEvent } from '../types/submissions';
|
|
2
|
+
export type PendingQueueAction = 'SUBMIT_STARTED' | 'SUBMIT_FAILED' | 'SUBMIT_SUCCEEDED' | 'ADDITION' | 'DELETION' | 'EDIT_STARTED' | 'EDIT_CANCELLED';
|
|
3
|
+
export type PendingQueueListener = (results: PendingFormSubmission[], action: PendingQueueAction) => unknown;
|
|
4
|
+
/**
|
|
5
|
+
* Register a listener function that will be passed an array of
|
|
6
|
+
* PendingFormSubmissions when the pending queue is modified.
|
|
7
|
+
*
|
|
8
|
+
* ### Example
|
|
9
|
+
*
|
|
10
|
+
* ```js
|
|
11
|
+
* const listener = async (pendingSubmissions) => {
|
|
12
|
+
* // use pending submissions here...
|
|
13
|
+
* }
|
|
14
|
+
* const deregister =
|
|
15
|
+
* await submissionService.registerPendingQueueListener(listener)
|
|
16
|
+
*
|
|
17
|
+
* // When no longer needed, remember to deregister the listener
|
|
18
|
+
* deregister()
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @param listener
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
export declare function registerPendingQueueListener(listener: PendingQueueListener): () => void;
|
|
25
|
+
export declare function addFormSubmissionToPendingQueue(formSubmission: FormSubmission): Promise<void>;
|
|
26
|
+
export declare function updatePendingQueueSubmission(pendingTimestamp: string, newSubmission: PendingFormSubmission, action: 'SUBMIT_FAILED' | 'SUBMIT_STARTED' | 'EDIT_STARTED' | 'EDIT_CANCELLED', skipSentry?: boolean): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Cancel editing a PendingFormSubmission based on the `pendingTimestamp`
|
|
29
|
+
* property. The function marks the submission as ready for processing by the
|
|
30
|
+
* pending queue
|
|
31
|
+
*
|
|
32
|
+
* ### Example
|
|
33
|
+
*
|
|
34
|
+
* ```js
|
|
35
|
+
* const pendingTimestamp = '2020-07-29T01:03:26.573Z'
|
|
36
|
+
*
|
|
37
|
+
* await submissionService.cancelEditingPendingQueueSubmission(
|
|
38
|
+
* pendingTimestamp,
|
|
39
|
+
* )
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @param pendingTimestamp
|
|
43
|
+
*/
|
|
44
|
+
export declare function cancelEditingPendingQueueSubmission(pendingTimestamp: string): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Get an array of PendingFormSubmission
|
|
47
|
+
*
|
|
48
|
+
* ### Example
|
|
49
|
+
*
|
|
50
|
+
* ```js
|
|
51
|
+
* const pendingSubmission =
|
|
52
|
+
* await submissionService.getPendingQueueSubmissions()
|
|
53
|
+
* // Display pending submissions to user...
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @returns
|
|
57
|
+
*/
|
|
58
|
+
export declare function getPendingQueueSubmissions(): Promise<PendingFormSubmission[]>;
|
|
59
|
+
/**
|
|
60
|
+
* Delete a PendingFormSubmission before it is processed based on the
|
|
61
|
+
* `pendingTimestamp` property.
|
|
62
|
+
*
|
|
63
|
+
* ### Example
|
|
64
|
+
*
|
|
65
|
+
* ```js
|
|
66
|
+
* const pendingTimestamp = '2020-07-29T01:03:26.573Z'
|
|
67
|
+
* await submissionService.deletePendingQueueSubmission(pendingTimestamp)
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* @param pendingTimestamp
|
|
71
|
+
*/
|
|
72
|
+
export declare function deletePendingQueueSubmission(pendingTimestamp: string): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Edit a PendingFormSubmission before it is processed based on the
|
|
75
|
+
* `pendingTimestamp` property. The function places the submission in an editing
|
|
76
|
+
* state preventing it from being processed by the pending queue and returns a
|
|
77
|
+
* prefill id and form id
|
|
78
|
+
*
|
|
79
|
+
* ### Example
|
|
80
|
+
*
|
|
81
|
+
* ```js
|
|
82
|
+
* const pendingTimestamp = '2020-07-29T01:03:26.573Z'
|
|
83
|
+
* const { preFillFormDataId, formId } =
|
|
84
|
+
* await submissionService.editPendingQueueSubmission(pendingTimestamp)
|
|
85
|
+
* window.location.href = `https://mycoolforms.apps.oneblink.io/forms/${formId}?preFillFormDataId=${preFillFormDataId}`
|
|
86
|
+
* ```
|
|
87
|
+
*
|
|
88
|
+
* @param pendingTimestamp
|
|
89
|
+
*/
|
|
90
|
+
export declare function editPendingQueueSubmission(pendingTimestamp: string): Promise<{
|
|
91
|
+
preFillFormDataId: string;
|
|
92
|
+
formId: number;
|
|
93
|
+
}>;
|
|
94
|
+
export declare function removePendingQueueSubmission(pendingTimestamp: string, action: 'SUBMIT_SUCCEEDED' | 'DELETION'): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Register a listener function that will be passed a progress event when an
|
|
97
|
+
* attachment for an item in the pending queue is being processed.
|
|
98
|
+
*
|
|
99
|
+
* ### Example
|
|
100
|
+
*
|
|
101
|
+
* ```js
|
|
102
|
+
* const listener = async ({ progress }) => {
|
|
103
|
+
* // update the UI to reflect the progress here...
|
|
104
|
+
* }
|
|
105
|
+
* const deregister =
|
|
106
|
+
* await submissionService.registerPendingQueueAttachmentProgressListener(
|
|
107
|
+
* attachment.id,
|
|
108
|
+
* listener,
|
|
109
|
+
* )
|
|
110
|
+
*
|
|
111
|
+
* // When no longer needed, remember to deregister the listener
|
|
112
|
+
* deregister()
|
|
113
|
+
* ```
|
|
114
|
+
*
|
|
115
|
+
* @param attachmentId
|
|
116
|
+
* @param listener
|
|
117
|
+
* @returns
|
|
118
|
+
*/
|
|
119
|
+
export declare function registerPendingQueueAttachmentProgressListener(attachmentId: string, listener: ProgressListener): () => void;
|
|
120
|
+
export declare function executePendingQueueAttachmentProgressListeners(event: ProgressListenerEvent & {
|
|
121
|
+
attachmentId: string;
|
|
122
|
+
}): void;
|
|
123
|
+
/**
|
|
124
|
+
* Register a listener function that will be passed a progress event when an
|
|
125
|
+
* item in the pending queue is being processed.
|
|
126
|
+
*
|
|
127
|
+
* ### Example
|
|
128
|
+
*
|
|
129
|
+
* ```js
|
|
130
|
+
* const listener = async ({ progress }) => {
|
|
131
|
+
* // update the UI to reflect the progress here...
|
|
132
|
+
* }
|
|
133
|
+
* const deregister =
|
|
134
|
+
* await submissionService.registerPendingQueueProgressListener(
|
|
135
|
+
* pendingQueueItem.pendingTimestamp,
|
|
136
|
+
* listener,
|
|
137
|
+
* )
|
|
138
|
+
*
|
|
139
|
+
* // When no longer needed, remember to deregister the listener
|
|
140
|
+
* deregister()
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* @param pendingTimestamp
|
|
144
|
+
* @param listener
|
|
145
|
+
* @returns
|
|
146
|
+
*/
|
|
147
|
+
export declare function registerPendingQueueProgressListener(pendingTimestamp: string, listener: ProgressListener): () => void;
|
|
148
|
+
export declare function executePendingQueueProgressListeners(event: ProgressListenerEvent & {
|
|
149
|
+
pendingTimestamp: string;
|
|
150
|
+
}): void;
|