@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.
Files changed (368) hide show
  1. package/dist/OneBlinkForm.d.ts +6 -10
  2. package/dist/OneBlinkForm.js +0 -4
  3. package/dist/OneBlinkForm.js.map +1 -1
  4. package/dist/OneBlinkFormBase.d.ts +1 -1
  5. package/dist/OneBlinkFormBase.js +2 -1
  6. package/dist/OneBlinkFormBase.js.map +1 -1
  7. package/dist/OneBlinkReadOnlyForm.d.ts +1 -1
  8. package/dist/OneBlinkReadOnlyForm.js +1 -1
  9. package/dist/OneBlinkReadOnlyForm.js.map +1 -1
  10. package/dist/PaymentReceipt.d.ts +1 -1
  11. package/dist/PaymentReceipt.js +1 -1
  12. package/dist/PaymentReceipt.js.map +1 -1
  13. package/dist/apps/Sentry.d.ts +7 -0
  14. package/dist/apps/Sentry.js +16 -0
  15. package/dist/apps/Sentry.js.map +1 -0
  16. package/dist/apps/approvals-service.d.ts +390 -0
  17. package/dist/apps/approvals-service.js +987 -0
  18. package/dist/apps/approvals-service.js.map +1 -0
  19. package/dist/apps/attachments-service.d.ts +49 -0
  20. package/dist/apps/attachments-service.js +134 -0
  21. package/dist/apps/attachments-service.js.map +1 -0
  22. package/dist/apps/auth-service.d.ts +114 -0
  23. package/dist/apps/auth-service.js +194 -0
  24. package/dist/apps/auth-service.js.map +1 -0
  25. package/dist/apps/auto-save-service.d.ts +82 -0
  26. package/dist/apps/auto-save-service.js +105 -0
  27. package/dist/apps/auto-save-service.js.map +1 -0
  28. package/dist/apps/draft-service.d.ts +148 -0
  29. package/dist/apps/draft-service.js +583 -0
  30. package/dist/apps/draft-service.js.map +1 -0
  31. package/dist/apps/form-service.d.ts +204 -0
  32. package/dist/apps/form-service.js +718 -0
  33. package/dist/apps/form-service.js.map +1 -0
  34. package/dist/apps/form-store-service.d.ts +141 -0
  35. package/dist/apps/form-store-service.js +114 -0
  36. package/dist/apps/form-store-service.js.map +1 -0
  37. package/dist/apps/forms-app-environment-service.d.ts +19 -0
  38. package/dist/apps/forms-app-environment-service.js +55 -0
  39. package/dist/apps/forms-app-environment-service.js.map +1 -0
  40. package/dist/apps/forms-app-service.d.ts +18 -0
  41. package/dist/apps/forms-app-service.js +53 -0
  42. package/dist/apps/forms-app-service.js.map +1 -0
  43. package/dist/apps/index.d.ts +252 -0
  44. package/dist/apps/index.js +254 -0
  45. package/dist/apps/index.js.map +1 -0
  46. package/dist/apps/job-service.d.ts +20 -0
  47. package/dist/apps/job-service.js +95 -0
  48. package/dist/apps/job-service.js.map +1 -0
  49. package/dist/apps/localisation-service.d.ts +207 -0
  50. package/dist/apps/localisation-service.js +321 -0
  51. package/dist/apps/localisation-service.js.map +1 -0
  52. package/dist/apps/notification-service.d.ts +83 -0
  53. package/dist/apps/notification-service.js +315 -0
  54. package/dist/apps/notification-service.js.map +1 -0
  55. package/dist/apps/offline-service.d.ts +18 -0
  56. package/dist/apps/offline-service.js +25 -0
  57. package/dist/apps/offline-service.js.map +1 -0
  58. package/dist/apps/payment-service.d.ts +110 -0
  59. package/dist/apps/payment-service.js +182 -0
  60. package/dist/apps/payment-service.js.map +1 -0
  61. package/dist/apps/prefill-service.d.ts +14 -0
  62. package/dist/apps/prefill-service.js +19 -0
  63. package/dist/apps/prefill-service.js.map +1 -0
  64. package/dist/apps/scheduled-tasks-service.d.ts +127 -0
  65. package/dist/apps/scheduled-tasks-service.js +240 -0
  66. package/dist/apps/scheduled-tasks-service.js.map +1 -0
  67. package/dist/apps/scheduling-service.d.ts +101 -0
  68. package/dist/apps/scheduling-service.js +171 -0
  69. package/dist/apps/scheduling-service.js.map +1 -0
  70. package/dist/apps/services/AWSCognitoClient.d.ts +55 -0
  71. package/dist/apps/services/AWSCognitoClient.js +436 -0
  72. package/dist/apps/services/AWSCognitoClient.js.map +1 -0
  73. package/dist/apps/services/api/drafts.d.ts +7 -0
  74. package/dist/apps/services/api/drafts.js +236 -0
  75. package/dist/apps/services/api/drafts.js.map +1 -0
  76. package/dist/apps/services/api/notifications.d.ts +3 -0
  77. package/dist/apps/services/api/notifications.js +60 -0
  78. package/dist/apps/services/api/notifications.js.map +1 -0
  79. package/dist/apps/services/api/payment.d.ts +23 -0
  80. package/dist/apps/services/api/payment.js +235 -0
  81. package/dist/apps/services/api/payment.js.map +1 -0
  82. package/dist/apps/services/api/post-submission-attachment-urls.d.ts +7 -0
  83. package/dist/apps/services/api/post-submission-attachment-urls.js +19 -0
  84. package/dist/apps/services/api/post-submission-attachment-urls.js.map +1 -0
  85. package/dist/apps/services/api/prefill.d.ts +1 -0
  86. package/dist/apps/services/api/prefill.js +70 -0
  87. package/dist/apps/services/api/prefill.js.map +1 -0
  88. package/dist/apps/services/api/receipt-id.d.ts +2 -0
  89. package/dist/apps/services/api/receipt-id.js +54 -0
  90. package/dist/apps/services/api/receipt-id.js.map +1 -0
  91. package/dist/apps/services/api/scheduling.d.ts +38 -0
  92. package/dist/apps/services/api/scheduling.js +142 -0
  93. package/dist/apps/services/api/scheduling.js.map +1 -0
  94. package/dist/apps/services/api/submissions.d.ts +18 -0
  95. package/dist/apps/services/api/submissions.js +166 -0
  96. package/dist/apps/services/api/submissions.js.map +1 -0
  97. package/dist/apps/services/cognito.d.ts +302 -0
  98. package/dist/apps/services/cognito.js +441 -0
  99. package/dist/apps/services/cognito.js.map +1 -0
  100. package/dist/apps/services/draft-data-store.d.ts +16 -0
  101. package/dist/apps/services/draft-data-store.js +115 -0
  102. package/dist/apps/services/draft-data-store.js.map +1 -0
  103. package/dist/apps/services/errors/oneBlinkAppsError.d.ts +35 -0
  104. package/dist/apps/services/errors/oneBlinkAppsError.js +32 -0
  105. package/dist/apps/services/errors/oneBlinkAppsError.js.map +1 -0
  106. package/dist/apps/services/external-id-generation.d.ts +4 -0
  107. package/dist/apps/services/external-id-generation.js +59 -0
  108. package/dist/apps/services/external-id-generation.js.map +1 -0
  109. package/dist/apps/services/fetch.d.ts +12 -0
  110. package/dist/apps/services/fetch.js +95 -0
  111. package/dist/apps/services/fetch.js.map +1 -0
  112. package/dist/apps/services/forms-key.d.ts +51 -0
  113. package/dist/apps/services/forms-key.js +83 -0
  114. package/dist/apps/services/forms-key.js.map +1 -0
  115. package/dist/apps/services/generate-generic-error.d.ts +3 -0
  116. package/dist/apps/services/generate-generic-error.js +52 -0
  117. package/dist/apps/services/generate-generic-error.js.map +1 -0
  118. package/dist/apps/services/generateOneBlinkDownloader.d.ts +2 -0
  119. package/dist/apps/services/generateOneBlinkDownloader.js +11 -0
  120. package/dist/apps/services/generateOneBlinkDownloader.js.map +1 -0
  121. package/dist/apps/services/generateOneBlinkUploader.d.ts +2 -0
  122. package/dist/apps/services/generateOneBlinkUploader.js +11 -0
  123. package/dist/apps/services/generateOneBlinkUploader.js.map +1 -0
  124. package/dist/apps/services/getDeviceInformation.d.ts +17 -0
  125. package/dist/apps/services/getDeviceInformation.js +38 -0
  126. package/dist/apps/services/getDeviceInformation.js.map +1 -0
  127. package/dist/apps/services/integration-elements.d.ts +383 -0
  128. package/dist/apps/services/integration-elements.js +761 -0
  129. package/dist/apps/services/integration-elements.js.map +1 -0
  130. package/dist/apps/services/job-prefill.d.ts +40 -0
  131. package/dist/apps/services/job-prefill.js +78 -0
  132. package/dist/apps/services/job-prefill.js.map +1 -0
  133. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.d.ts +29 -0
  134. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js +59 -0
  135. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js.map +1 -0
  136. package/dist/apps/services/payment-providers/CPPayPaymentProvider.d.ts +27 -0
  137. package/dist/apps/services/payment-providers/CPPayPaymentProvider.js +63 -0
  138. package/dist/apps/services/payment-providers/CPPayPaymentProvider.js.map +1 -0
  139. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.d.ts +30 -0
  140. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js +116 -0
  141. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js.map +1 -0
  142. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.d.ts +49 -0
  143. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js +116 -0
  144. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js.map +1 -0
  145. package/dist/apps/services/payment-providers/receipt-items.d.ts +8 -0
  146. package/dist/apps/services/payment-providers/receipt-items.js +58 -0
  147. package/dist/apps/services/payment-providers/receipt-items.js.map +1 -0
  148. package/dist/apps/services/pending-queue.d.ts +150 -0
  149. package/dist/apps/services/pending-queue.js +316 -0
  150. package/dist/apps/services/pending-queue.js.map +1 -0
  151. package/dist/apps/services/prepareSubmissionData.d.ts +2 -0
  152. package/dist/apps/services/prepareSubmissionData.js +113 -0
  153. package/dist/apps/services/prepareSubmissionData.js.map +1 -0
  154. package/dist/apps/services/query-string.d.ts +1 -0
  155. package/dist/apps/services/query-string.js +16 -0
  156. package/dist/apps/services/query-string.js.map +1 -0
  157. package/dist/apps/services/replaceInjectablesWithSubmissionValues.d.ts +3 -0
  158. package/dist/apps/services/replaceInjectablesWithSubmissionValues.js +18 -0
  159. package/dist/apps/services/replaceInjectablesWithSubmissionValues.js.map +1 -0
  160. package/dist/apps/services/schedulingHandlers.d.ts +36 -0
  161. package/dist/apps/services/schedulingHandlers.js +76 -0
  162. package/dist/apps/services/schedulingHandlers.js.map +1 -0
  163. package/dist/apps/services/server-validation.d.ts +2 -0
  164. package/dist/apps/services/server-validation.js +36 -0
  165. package/dist/apps/services/server-validation.js.map +1 -0
  166. package/dist/apps/services/serverRequest.d.ts +5 -0
  167. package/dist/apps/services/serverRequest.js +24 -0
  168. package/dist/apps/services/serverRequest.js.map +1 -0
  169. package/dist/apps/services/submit.d.ts +19 -0
  170. package/dist/apps/services/submit.js +219 -0
  171. package/dist/apps/services/submit.js.map +1 -0
  172. package/dist/apps/services/uploadAttachment.d.ts +52 -0
  173. package/dist/apps/services/uploadAttachment.js +73 -0
  174. package/dist/apps/services/uploadAttachment.js.map +1 -0
  175. package/dist/apps/services/user-token.d.ts +27 -0
  176. package/dist/apps/services/user-token.js +33 -0
  177. package/dist/apps/services/user-token.js.map +1 -0
  178. package/dist/apps/services/utils.d.ts +12 -0
  179. package/dist/apps/services/utils.js +100 -0
  180. package/dist/apps/services/utils.js.map +1 -0
  181. package/dist/apps/submission-service.d.ts +226 -0
  182. package/dist/apps/submission-service.js +425 -0
  183. package/dist/apps/submission-service.js.map +1 -0
  184. package/dist/apps/tenants.d.ts +29 -0
  185. package/dist/apps/tenants.js +127 -0
  186. package/dist/apps/tenants.js.map +1 -0
  187. package/dist/apps/types/form.d.ts +4 -0
  188. package/dist/apps/types/form.js +2 -0
  189. package/dist/apps/types/form.js.map +1 -0
  190. package/dist/apps/types/payments.d.ts +45 -0
  191. package/dist/apps/types/payments.js +2 -0
  192. package/dist/apps/types/payments.js.map +1 -0
  193. package/dist/apps/types/scheduling.d.ts +5 -0
  194. package/dist/apps/types/scheduling.js +2 -0
  195. package/dist/apps/types/scheduling.js.map +1 -0
  196. package/dist/apps/types/submissions.d.ts +175 -0
  197. package/dist/apps/types/submissions.js +2 -0
  198. package/dist/apps/types/submissions.js.map +1 -0
  199. package/dist/components/ArcGISWebMap.js +1 -1
  200. package/dist/components/ArcGISWebMap.js.map +1 -1
  201. package/dist/components/CustomAccordion.d.ts +3 -3
  202. package/dist/components/Lists.d.ts +4 -1
  203. package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js +1 -1
  204. package/dist/components/calendar-bookings/CalendarBookingsCancelForm.js.map +1 -1
  205. package/dist/components/calendar-bookings/CalendarBookingsForm.d.ts +1 -1
  206. package/dist/components/calendar-bookings/CalendarBookingsForm.js +1 -1
  207. package/dist/components/calendar-bookings/CalendarBookingsForm.js.map +1 -1
  208. package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js +1 -1
  209. package/dist/components/calendar-bookings/CalendarBookingsReschedulingForm.js.map +1 -1
  210. package/dist/components/calendar-bookings/ErrorModal.d.ts +1 -1
  211. package/dist/components/calendar-bookings/ErrorModal.js +1 -1
  212. package/dist/components/calendar-bookings/ErrorModal.js.map +1 -1
  213. package/dist/components/downloadable-files/index.d.ts +1 -1
  214. package/dist/components/downloadable-files/index.js +1 -1
  215. package/dist/components/downloadable-files/index.js.map +1 -1
  216. package/dist/components/downloadable-files/resource-components.d.ts +1 -1
  217. package/dist/components/downloadable-files/resource-components.js +1 -1
  218. package/dist/components/downloadable-files/resource-components.js.map +1 -1
  219. package/dist/components/formStore/FormStoreTableProvider.js +1 -1
  220. package/dist/components/formStore/FormStoreTableProvider.js.map +1 -1
  221. package/dist/components/formStore/OneBlinkFormStoreClearFiltersButton.js.map +1 -1
  222. package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js +1 -1
  223. package/dist/components/formStore/OneBlinkFormStoreDownloadButton.js.map +1 -1
  224. package/dist/components/formStore/OneBlinkFormStoreProvider.js +1 -1
  225. package/dist/components/formStore/OneBlinkFormStoreProvider.js.map +1 -1
  226. package/dist/components/formStore/OneBlinkFormStoreTable.js.map +1 -1
  227. package/dist/components/formStore/display/ElementDisplay.js +2 -2
  228. package/dist/components/formStore/display/ElementDisplay.js.map +1 -1
  229. package/dist/components/formStore/table/ColumnFilters.js +1 -1
  230. package/dist/components/formStore/table/ColumnFilters.js.map +1 -1
  231. package/dist/components/formStore/table/FormElementTableCell.js +1 -1
  232. package/dist/components/formStore/table/FormElementTableCell.js.map +1 -1
  233. package/dist/components/formStore/table/Pickers.js +1 -1
  234. package/dist/components/formStore/table/Pickers.js.map +1 -1
  235. package/dist/components/formStore/table/generateColumns.d.ts +1 -1
  236. package/dist/components/formStore/table/generateColumns.js.map +1 -1
  237. package/dist/components/formStore/table/useFormStoreTable.d.ts +1 -1
  238. package/dist/components/formStore/table/useFormStoreTable.js +1 -1
  239. package/dist/components/formStore/table/useFormStoreTable.js.map +1 -1
  240. package/dist/components/formStore/useFormStoreTableContext.d.ts +2 -2
  241. package/dist/components/mfa/MfaDialog.d.ts +1 -1
  242. package/dist/components/mfa/MfaDialog.js +1 -1
  243. package/dist/components/mfa/MfaDialog.js.map +1 -1
  244. package/dist/components/mfa/MultiFactorAuthentication.d.ts +1 -1
  245. package/dist/components/payments/PaymentForm.js +1 -1
  246. package/dist/components/payments/PaymentForm.js.map +1 -1
  247. package/dist/components/payments/WestpacQuickStreamPaymentForm.d.ts +1 -1
  248. package/dist/components/payments/WestpacQuickStreamPaymentForm.js +1 -1
  249. package/dist/components/payments/WestpacQuickStreamPaymentForm.js.map +1 -1
  250. package/dist/components/renderer/AutocompleteDropdown.js +1 -1
  251. package/dist/components/renderer/AutocompleteDropdown.js.map +1 -1
  252. package/dist/components/renderer/LookupNotification.js +2 -2
  253. package/dist/components/renderer/LookupNotification.js.map +1 -1
  254. package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js +1 -1
  255. package/dist/components/renderer/OneBlinkAppsErrorOriginalMessage.js.map +1 -1
  256. package/dist/components/renderer/OneBlinkFormElements.js.map +1 -1
  257. package/dist/components/renderer/ReverseGeocode.js +1 -1
  258. package/dist/components/renderer/ReverseGeocode.js.map +1 -1
  259. package/dist/form-elements/FormElementAPINSWLiquorLicence.js +1 -1
  260. package/dist/form-elements/FormElementAPINSWLiquorLicence.js.map +1 -1
  261. package/dist/form-elements/FormElementArcGISWebMap.js.map +1 -1
  262. package/dist/form-elements/FormElementAutocomplete.js +1 -1
  263. package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
  264. package/dist/form-elements/FormElementBSB.js +1 -1
  265. package/dist/form-elements/FormElementBSB.js.map +1 -1
  266. package/dist/form-elements/FormElementCalculation.js +2 -2
  267. package/dist/form-elements/FormElementCalculation.js.map +1 -1
  268. package/dist/form-elements/FormElementCivicaNameRecord.js +1 -1
  269. package/dist/form-elements/FormElementCivicaNameRecord.js.map +1 -1
  270. package/dist/form-elements/FormElementCivicaStreetName.js +1 -1
  271. package/dist/form-elements/FormElementCivicaStreetName.js.map +1 -1
  272. package/dist/form-elements/FormElementCompliance.d.ts +1 -1
  273. package/dist/form-elements/FormElementCompliance.js.map +1 -1
  274. package/dist/form-elements/FormElementDate.js +1 -1
  275. package/dist/form-elements/FormElementDate.js.map +1 -1
  276. package/dist/form-elements/FormElementDateTime.js +1 -1
  277. package/dist/form-elements/FormElementDateTime.js.map +1 -1
  278. package/dist/form-elements/FormElementFile.d.ts +1 -1
  279. package/dist/form-elements/FormElementFile.js.map +1 -1
  280. package/dist/form-elements/FormElementFiles.d.ts +1 -1
  281. package/dist/form-elements/FormElementFiles.js.map +1 -1
  282. package/dist/form-elements/FormElementGeoscapeAddress.js +1 -1
  283. package/dist/form-elements/FormElementGeoscapeAddress.js.map +1 -1
  284. package/dist/form-elements/FormElementGoogleAddress.js +1 -1
  285. package/dist/form-elements/FormElementGoogleAddress.js.map +1 -1
  286. package/dist/form-elements/FormElementLocation.js +1 -1
  287. package/dist/form-elements/FormElementLocation.js.map +1 -1
  288. package/dist/form-elements/FormElementNumber.js +1 -1
  289. package/dist/form-elements/FormElementNumber.js.map +1 -1
  290. package/dist/form-elements/FormElementPointAddress.js +1 -1
  291. package/dist/form-elements/FormElementPointAddress.js.map +1 -1
  292. package/dist/form-elements/FormElementPointAddressV3.js +1 -1
  293. package/dist/form-elements/FormElementPointAddressV3.js.map +1 -1
  294. package/dist/form-elements/FormElementPointCadastralParcel.js +1 -1
  295. package/dist/form-elements/FormElementPointCadastralParcel.js.map +1 -1
  296. package/dist/form-elements/FormElementSummary.js +1 -1
  297. package/dist/form-elements/FormElementSummary.js.map +1 -1
  298. package/dist/form-elements/FormElementTime.js +1 -1
  299. package/dist/form-elements/FormElementTime.js.map +1 -1
  300. package/dist/hooks/attachments/useAttachment.d.ts +1 -1
  301. package/dist/hooks/attachments/useAttachment.js +1 -1
  302. package/dist/hooks/attachments/useAttachment.js.map +1 -1
  303. package/dist/hooks/attachments/useAttachments.d.ts +1 -1
  304. package/dist/hooks/attachments/useAttachments.js.map +1 -1
  305. package/dist/hooks/useAuth.js +1 -1
  306. package/dist/hooks/useAuth.js.map +1 -1
  307. package/dist/hooks/useConditionalLogic.js +1 -1
  308. package/dist/hooks/useConditionalLogic.js.map +1 -1
  309. package/dist/hooks/useDrafts.d.ts +1 -1
  310. package/dist/hooks/useDrafts.js +1 -1
  311. package/dist/hooks/useDrafts.js.map +1 -1
  312. package/dist/hooks/useDynamicOptionsLoaderState.d.ts +1 -1
  313. package/dist/hooks/useDynamicOptionsLoaderState.js +1 -1
  314. package/dist/hooks/useDynamicOptionsLoaderState.js.map +1 -1
  315. package/dist/hooks/useFormElementLookups.d.ts +1 -1
  316. package/dist/hooks/useFormElementLookups.js +1 -1
  317. package/dist/hooks/useFormElementLookups.js.map +1 -1
  318. package/dist/hooks/useFormSubmissionAutoSaveState.d.ts +1 -1
  319. package/dist/hooks/useFormSubmissionAutoSaveState.js +1 -1
  320. package/dist/hooks/useFormSubmissionAutoSaveState.js.map +1 -1
  321. package/dist/hooks/useIsOffline.js +1 -1
  322. package/dist/hooks/useIsOffline.js.map +1 -1
  323. package/dist/hooks/useLogin.js +1 -1
  324. package/dist/hooks/useLogin.js.map +1 -1
  325. package/dist/hooks/useMfa.d.ts +1 -1
  326. package/dist/hooks/useMfa.js +1 -1
  327. package/dist/hooks/useMfa.js.map +1 -1
  328. package/dist/hooks/useOnUploadAttachment.d.ts +1 -1
  329. package/dist/hooks/useOnUploadAttachment.js +1 -1
  330. package/dist/hooks/useOnUploadAttachment.js.map +1 -1
  331. package/dist/hooks/usePendingSubmissions.d.ts +1 -1
  332. package/dist/hooks/usePendingSubmissions.js +1 -1
  333. package/dist/hooks/usePendingSubmissions.js.map +1 -1
  334. package/dist/hooks/useReplaceableText.js +1 -1
  335. package/dist/hooks/useReplaceableText.js.map +1 -1
  336. package/dist/hooks/useSignUp.js +1 -1
  337. package/dist/hooks/useSignUp.js.map +1 -1
  338. package/dist/index.d.ts +1 -0
  339. package/dist/index.js +2 -0
  340. package/dist/index.js.map +1 -1
  341. package/dist/services/attachments.d.ts +1 -1
  342. package/dist/services/attachments.js +1 -1
  343. package/dist/services/attachments.js.map +1 -1
  344. package/dist/services/blob-utils.js +1 -1
  345. package/dist/services/blob-utils.js.map +1 -1
  346. package/dist/services/checkIfAttachmentsExist.d.ts +1 -1
  347. package/dist/services/checkIfAttachmentsExist.js.map +1 -1
  348. package/dist/services/defaultCoordinates.js +1 -1
  349. package/dist/services/defaultCoordinates.js.map +1 -1
  350. package/dist/services/download-file.d.ts +1 -1
  351. package/dist/services/download-file.js +2 -2
  352. package/dist/services/download-file.js.map +1 -1
  353. package/dist/services/drawTimestampOnCanvas.js +1 -1
  354. package/dist/services/drawTimestampOnCanvas.js.map +1 -1
  355. package/dist/services/form-validation/validateSubmission.js +1 -1
  356. package/dist/services/form-validation/validateSubmission.js.map +1 -1
  357. package/dist/services/form-validation/validators.d.ts +1 -1
  358. package/dist/services/form-validation/validators.js.map +1 -1
  359. package/dist/services/generate-default-data.js +1 -1
  360. package/dist/services/generate-default-data.js.map +1 -1
  361. package/dist/services/injectableOptions.js +1 -1
  362. package/dist/services/injectableOptions.js.map +1 -1
  363. package/dist/styles.css +208 -204
  364. package/dist/types/attachments.d.ts +1 -1
  365. package/dist/types/attachments.js.map +1 -1
  366. package/dist/utils/sendGoogleAnalyticsEvent.js +1 -1
  367. package/dist/utils/sendGoogleAnalyticsEvent.js.map +1 -1
  368. package/package.json +42 -34
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../../src/apps/services/api/payment.ts"],"names":[],"mappings":"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","sourcesContent":["import { SubmissionEventTypes, SubmissionTypes } from '@oneblink/types'\nimport { HTTPError, deleteRequest, getRequest, postRequest } from '../fetch'\nimport OneBlinkAppsError from '../errors/oneBlinkAppsError'\nimport tenants from '../../tenants'\nimport Sentry from '../../Sentry'\nimport {\n BasePaymentConfigurationPayload,\n PaymentProvider,\n} from '../../types/payments'\nimport { isOffline } from '../../offline-service'\nimport { NewFormSubmission } from '../../submission-service'\n\nasync function getCustomFormPaymentConfiguration<T>(\n path: string,\n {\n integrationEnvironmentId,\n }: {\n integrationEnvironmentId: string\n },\n abortSignal?: AbortSignal,\n) {\n const url = new URL(path, tenants.current.apiOrigin)\n url.searchParams.append('integrationEnvironmentId', integrationEnvironmentId)\n\n console.log('Attempting to get payment configuration', url.href)\n\n try {\n return await getRequest<T>(url.href, abortSignal)\n } catch (err) {\n const error = err as HTTPError\n Sentry.captureException(error)\n console.warn(\n 'Error occurred while attempting to retrieve configuration for payment',\n error,\n )\n switch (error.status) {\n case 401: {\n throw new OneBlinkAppsError(\n 'You cannot retrieve payment configuration until you have logged in. Please login and try again.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresLogin: true,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You do not have access retrieve payment configuration. Please contact your administrator to gain the correct level of access.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresAccessRequest: true,\n },\n )\n }\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the payment configuration. Please contact your administrator to ensure your application configuration has been completed successfully.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n }\n}\n\nasync function completeWestpacQuickStreamTransaction(\n formId: number,\n payload: {\n formSubmissionPaymentId: string\n singleUseTokenId: string\n integrationEnvironmentId: string\n customerReferenceNumber: string\n principalAmount: number\n recaptcha: NonNullable<NewFormSubmission['recaptchas']>[number]\n },\n abortSignal?: AbortSignal,\n) {\n const url = `${tenants.current.apiOrigin}/forms/${formId}/westpac-quick-stream-transaction`\n console.log('Attempting to complete Westpac QuickStream transaction', url)\n try {\n return await postRequest<{\n formSubmissionPayment: SubmissionTypes.FormSubmissionPayment\n }>(url, payload, abortSignal)\n } catch (err) {\n const error = err as HTTPError\n Sentry.captureException(error)\n console.warn(\n 'Error occurred while attempting to generate configuration for payment',\n error,\n )\n switch (error.status) {\n case 401: {\n throw new OneBlinkAppsError(\n 'You cannot complete transactions until you have logged in. Please login and try again.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresLogin: true,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You do not have access complete transactions. Please contact your administrator to gain the correct level of access.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresAccessRequest: true,\n },\n )\n }\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the configuration required to complete a transaction. Please contact your administrator to ensure your application configuration has been completed successfully.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n }\n}\n\nasync function cancelWestpacQuickStreamPayment(\n formId: number,\n formSubmissionPaymentId: string,\n abortSignal?: AbortSignal,\n) {\n try {\n const url = `${tenants.current.apiOrigin}/forms/${formId}/westpac-quick-stream-payment/${formSubmissionPaymentId}`\n console.log('Attempting to cancel Westpac QuickStream payment', url)\n return await deleteRequest(url, abortSignal)\n } catch (error) {\n Sentry.captureException(error)\n\n const httpError = error as HTTPError\n if (isOffline()) {\n throw new OneBlinkAppsError(\n 'You are currently offline, please connect to the internet to continue',\n {\n originalError: httpError,\n isOffline: true,\n },\n )\n }\n switch (httpError.status) {\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the form you are looking for. Please contact support if the problem persists.',\n {\n originalError: httpError,\n title: 'Unknown Form',\n httpStatusCode: httpError.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: httpError,\n httpStatusCode: httpError.status,\n },\n )\n }\n }\n }\n}\n\nfunction generatePaymentConfiguration(\n paymentProvider: PaymentProvider<SubmissionEventTypes.FormPaymentEvent>,\n basePayload: BasePaymentConfigurationPayload,\n): Promise<{ hostedFormUrl: string }> {\n const { path, payload } =\n paymentProvider.preparePaymentConfiguration(basePayload)\n const url = `${tenants.current.apiOrigin}${path}`\n console.log('Attempting to generate payment configuration', url)\n return postRequest<{ hostedFormUrl: string }>(url, payload).catch((error) => {\n Sentry.captureException(error)\n console.warn(\n 'Error occurred while attempting to generate configuration for payment',\n error,\n )\n switch (error.status) {\n case 401: {\n throw new OneBlinkAppsError(\n 'You cannot make payments until you have logged in. Please login and try again.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresLogin: true,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You do not have access make payments. Please contact your administrator to gain the correct level of access.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresAccessRequest: true,\n },\n )\n }\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the configuration required to make a payment. Please contact your administrator to ensure your application configuration has been completed successfully.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n })\n}\n\nconst verifyPaymentTransaction = <T>(\n path: string,\n payload: unknown,\n): Promise<T> => {\n const url = `${tenants.current.apiOrigin}${path}`\n console.log('Attempting to verify payment transaction', url)\n return postRequest<T>(url, payload).catch((error) => {\n Sentry.captureException(error)\n console.warn(\n 'Error occurred while attempting to verify a transaction',\n error,\n )\n switch (error.status) {\n case 401: {\n throw new OneBlinkAppsError(\n 'You cannot verify a transaction until you have logged in. Please login and try again.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresLogin: true,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You do not have access to verify your transactions. Please contact your administrator to gain the correct level of access.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresAccessRequest: true,\n },\n )\n }\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the configuration required to verify your transaction. Please contact your administrator to ensure your application configuration has been completed successfully.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n })\n}\n\nconst acknowledgeCPPayTransaction = async (\n formId: number,\n payload: unknown,\n): Promise<void> => {\n const url = `${tenants.current.apiOrigin}/forms/${formId}/cp-pay-acknowledge`\n console.log('Attempting to acknowledge CP Pay transaction', url)\n await postRequest(url, payload).catch((error) => {\n Sentry.captureException(error)\n console.warn(\n 'Error occurred while attempting to acknowledge a CP Pay transaction',\n error,\n )\n switch (error.status) {\n case 401: {\n throw new OneBlinkAppsError(\n 'You cannot acknowledge a transaction until you have logged in. Please login and try again.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresLogin: true,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You do not have access to acknowledge your transactions. Please contact your administrator to gain the correct level of access.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresAccessRequest: true,\n },\n )\n }\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the configuration required to acknowledge your transaction. Please contact your administrator to ensure your application configuration has been completed successfully.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n })\n}\n\nexport {\n generatePaymentConfiguration,\n acknowledgeCPPayTransaction,\n verifyPaymentTransaction,\n getCustomFormPaymentConfiguration,\n completeWestpacQuickStreamTransaction,\n cancelWestpacQuickStreamPayment,\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { FormSubmissionResult } from '../../types/submissions';
2
+ declare const getPostSubmissionAttachments: (formSumbissionResult: FormSubmissionResult) => Promise<{
3
+ signedUrl: string;
4
+ filename: string;
5
+ contentType: string;
6
+ }[]>;
7
+ export default getPostSubmissionAttachments;
@@ -0,0 +1,19 @@
1
+ import tenants from '../../tenants';
2
+ import OneBlinkAppsError from '../errors/oneBlinkAppsError';
3
+ import { getRequest } from '../fetch';
4
+ import generateGenericError from '../generate-generic-error';
5
+ const getPostSubmissionAttachments = async (formSumbissionResult) => {
6
+ if (!formSumbissionResult.attachmentsAccessToken) {
7
+ throw new OneBlinkAppsError('No access token passed for fetching post-submission attachment URLs');
8
+ }
9
+ try {
10
+ const result = await getRequest(`${tenants.current.apiOrigin}/forms/${formSumbissionResult.definition.id}/submissions/${formSumbissionResult.submissionId}/attachment-urls?accessToken=${formSumbissionResult.attachmentsAccessToken}`);
11
+ return result;
12
+ }
13
+ catch (err) {
14
+ console.error('Error occurred while attempting to get post-submission attachment URLs', err);
15
+ throw generateGenericError(err);
16
+ }
17
+ };
18
+ export default getPostSubmissionAttachments;
19
+ //# sourceMappingURL=post-submission-attachment-urls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-submission-attachment-urls.js","sourceRoot":"","sources":["../../../../src/apps/services/api/post-submission-attachment-urls.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAA;AAEnC,OAAO,iBAAiB,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,oBAAoB,MAAM,2BAA2B,CAAA;AAE5D,MAAM,4BAA4B,GAAG,KAAK,EACxC,oBAA0C,EAC1C,EAAE;IACF,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;QACjD,MAAM,IAAI,iBAAiB,CACzB,qEAAqE,CACtE,CAAA;IACH,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAO7B,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,UAAU,oBAAoB,CAAC,UAAU,CAAC,EAAE,gBAAgB,oBAAoB,CAAC,YAAY,gCAAgC,oBAAoB,CAAC,sBAAsB,EAAE,CACvM,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,wEAAwE,EACxE,GAAG,CACJ,CAAA;QACD,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;AACH,CAAC,CAAA;AAED,eAAe,4BAA4B,CAAA","sourcesContent":["import tenants from '../../tenants'\nimport { FormSubmissionResult } from '../../types/submissions'\nimport OneBlinkAppsError from '../errors/oneBlinkAppsError'\nimport { getRequest } from '../fetch'\nimport generateGenericError from '../generate-generic-error'\n\nconst getPostSubmissionAttachments = async (\n formSumbissionResult: FormSubmissionResult,\n) => {\n if (!formSumbissionResult.attachmentsAccessToken) {\n throw new OneBlinkAppsError(\n 'No access token passed for fetching post-submission attachment URLs',\n )\n }\n try {\n const result = await getRequest<\n {\n signedUrl: string\n filename: string\n contentType: string\n }[]\n >(\n `${tenants.current.apiOrigin}/forms/${formSumbissionResult.definition.id}/submissions/${formSumbissionResult.submissionId}/attachment-urls?accessToken=${formSumbissionResult.attachmentsAccessToken}`,\n )\n return result\n } catch (err) {\n console.error(\n 'Error occurred while attempting to get post-submission attachment URLs',\n err,\n )\n throw generateGenericError(err)\n }\n}\n\nexport default getPostSubmissionAttachments\n"]}
@@ -0,0 +1 @@
1
+ export declare function downloadPreFillFormData<T extends Record<string, unknown>>(formId: number, preFillFormDataId: string, abortSignal?: AbortSignal): Promise<T>;
@@ -0,0 +1,70 @@
1
+ import { OneBlinkStorageError } from '@oneblink/storage';
2
+ import Sentry from '../../Sentry';
3
+ import { isOffline } from '../../offline-service';
4
+ import OneBlinkAppsError from '../errors/oneBlinkAppsError';
5
+ import generateOneBlinkDownloader from '../generateOneBlinkDownloader';
6
+ export async function downloadPreFillFormData(formId, preFillFormDataId, abortSignal) {
7
+ try {
8
+ console.log('Attempting to download pre fill form data:', {
9
+ formId,
10
+ preFillFormDataId,
11
+ });
12
+ const oneblinkDownloader = generateOneBlinkDownloader();
13
+ const data = await oneblinkDownloader.downloadPrefillData({
14
+ preFillFormDataId,
15
+ formId,
16
+ abortSignal,
17
+ });
18
+ if (!data) {
19
+ throw new OneBlinkAppsError("Data has been removed based on your administrator's prefill data retention policy.", {
20
+ title: 'Prefill Data Unavailable',
21
+ });
22
+ }
23
+ return data;
24
+ }
25
+ catch (error) {
26
+ console.error('Error retrieving pre-fill data', error);
27
+ if (error instanceof OneBlinkAppsError) {
28
+ throw error;
29
+ }
30
+ Sentry.captureException(error);
31
+ if (isOffline()) {
32
+ throw new OneBlinkAppsError('You are currently offline and do not have a local copy of this app available, please connect to the internet and try again', {
33
+ originalError: error instanceof Error ? error : undefined,
34
+ isOffline: true,
35
+ });
36
+ }
37
+ if (error instanceof OneBlinkStorageError) {
38
+ switch (error.httpStatusCode) {
39
+ case 401: {
40
+ throw new OneBlinkAppsError('The application you are attempting to view requires authentication. Please login and try again.', {
41
+ originalError: error,
42
+ requiresLogin: true,
43
+ httpStatusCode: error.httpStatusCode,
44
+ });
45
+ }
46
+ case 403: {
47
+ throw new OneBlinkAppsError('You do not have access to this application. Please contact your administrator to gain the correct level of access.', {
48
+ originalError: error,
49
+ requiresAccessRequest: true,
50
+ httpStatusCode: error.httpStatusCode,
51
+ });
52
+ }
53
+ case 400:
54
+ case 404: {
55
+ throw new OneBlinkAppsError(error.message, {
56
+ title: 'Invalid Request',
57
+ httpStatusCode: error.httpStatusCode,
58
+ });
59
+ }
60
+ }
61
+ }
62
+ throw new OneBlinkAppsError('An unknown error has occurred. Please contact support if the problem persists.', {
63
+ originalError: error instanceof Error ? error : undefined,
64
+ httpStatusCode: error instanceof OneBlinkStorageError
65
+ ? error.httpStatusCode
66
+ : undefined,
67
+ });
68
+ }
69
+ }
70
+ //# sourceMappingURL=prefill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prefill.js","sourceRoot":"","sources":["../../../../src/apps/services/api/prefill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,MAAM,MAAM,cAAc,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,iBAAiB,MAAM,6BAA6B,CAAA;AAC3D,OAAO,0BAA0B,MAAM,+BAA+B,CAAA;AAEtE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAG3C,MAAc,EACd,iBAAyB,EACzB,WAAyB;IAEzB,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE;YACxD,MAAM;YACN,iBAAiB;SAClB,CAAC,CAAA;QACF,MAAM,kBAAkB,GAAG,0BAA0B,EAAE,CAAA;QACvD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,mBAAmB,CAAI;YAC3D,iBAAiB;YACjB,MAAM;YACN,WAAW;SACZ,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,iBAAiB,CACzB,oFAAoF,EACpF;gBACE,KAAK,EAAE,0BAA0B;aAClC,CACF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;QAEtD,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAE9B,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,iBAAiB,CACzB,4HAA4H,EAC5H;gBACE,aAAa,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACzD,SAAS,EAAE,IAAI;aAChB,CACF,CAAA;QACH,CAAC;QAED,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAC1C,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC7B,KAAK,GAAG,CAAC,CAAC,CAAC;oBACT,MAAM,IAAI,iBAAiB,CACzB,iGAAiG,EACjG;wBACE,aAAa,EAAE,KAAK;wBACpB,aAAa,EAAE,IAAI;wBACnB,cAAc,EAAE,KAAK,CAAC,cAAc;qBACrC,CACF,CAAA;gBACH,CAAC;gBACD,KAAK,GAAG,CAAC,CAAC,CAAC;oBACT,MAAM,IAAI,iBAAiB,CACzB,oHAAoH,EACpH;wBACE,aAAa,EAAE,KAAK;wBACpB,qBAAqB,EAAE,IAAI;wBAC3B,cAAc,EAAE,KAAK,CAAC,cAAc;qBACrC,CACF,CAAA;gBACH,CAAC;gBACD,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC,CAAC,CAAC;oBACT,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE;wBACzC,KAAK,EAAE,iBAAiB;wBACxB,cAAc,EAAE,KAAK,CAAC,cAAc;qBACrC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,iBAAiB,CACzB,gFAAgF,EAChF;YACE,aAAa,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACzD,cAAc,EACZ,KAAK,YAAY,oBAAoB;gBACnC,CAAC,CAAC,KAAK,CAAC,cAAc;gBACtB,CAAC,CAAC,SAAS;SAChB,CACF,CAAA;IACH,CAAC;AACH,CAAC","sourcesContent":["import { OneBlinkStorageError } from '@oneblink/storage'\nimport Sentry from '../../Sentry'\nimport { isOffline } from '../../offline-service'\nimport OneBlinkAppsError from '../errors/oneBlinkAppsError'\nimport generateOneBlinkDownloader from '../generateOneBlinkDownloader'\n\nexport async function downloadPreFillFormData<\n T extends Record<string, unknown>,\n>(\n formId: number,\n preFillFormDataId: string,\n abortSignal?: AbortSignal,\n): Promise<T> {\n try {\n console.log('Attempting to download pre fill form data:', {\n formId,\n preFillFormDataId,\n })\n const oneblinkDownloader = generateOneBlinkDownloader()\n const data = await oneblinkDownloader.downloadPrefillData<T>({\n preFillFormDataId,\n formId,\n abortSignal,\n })\n if (!data) {\n throw new OneBlinkAppsError(\n \"Data has been removed based on your administrator's prefill data retention policy.\",\n {\n title: 'Prefill Data Unavailable',\n },\n )\n }\n return data\n } catch (error) {\n console.error('Error retrieving pre-fill data', error)\n\n if (error instanceof OneBlinkAppsError) {\n throw error\n }\n\n Sentry.captureException(error)\n\n if (isOffline()) {\n throw new OneBlinkAppsError(\n 'You are currently offline and do not have a local copy of this app available, please connect to the internet and try again',\n {\n originalError: error instanceof Error ? error : undefined,\n isOffline: true,\n },\n )\n }\n\n if (error instanceof OneBlinkStorageError) {\n switch (error.httpStatusCode) {\n case 401: {\n throw new OneBlinkAppsError(\n 'The application you are attempting to view requires authentication. Please login and try again.',\n {\n originalError: error,\n requiresLogin: true,\n httpStatusCode: error.httpStatusCode,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You do not have access to this application. Please contact your administrator to gain the correct level of access.',\n {\n originalError: error,\n requiresAccessRequest: true,\n httpStatusCode: error.httpStatusCode,\n },\n )\n }\n case 400:\n case 404: {\n throw new OneBlinkAppsError(error.message, {\n title: 'Invalid Request',\n httpStatusCode: error.httpStatusCode,\n })\n }\n }\n }\n\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error instanceof Error ? error : undefined,\n httpStatusCode:\n error instanceof OneBlinkStorageError\n ? error.httpStatusCode\n : undefined,\n },\n )\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ declare function generateReceiptId(formId: number, abortSignal?: AbortSignal): Promise<string>;
2
+ export default generateReceiptId;
@@ -0,0 +1,54 @@
1
+ import tenants from '../../tenants';
2
+ import OneBlinkAppsError from '../errors/oneBlinkAppsError';
3
+ import { postRequest } from '../fetch';
4
+ async function generateReceiptId(formId, abortSignal) {
5
+ const url = `${tenants.current.apiOrigin}/forms/${formId}/receipt-id`;
6
+ try {
7
+ const { receiptId } = await postRequest(url, {}, abortSignal);
8
+ return receiptId;
9
+ }
10
+ catch (err) {
11
+ console.warn('Error occurred while attempting to generate External ID from API', err);
12
+ if (err instanceof OneBlinkAppsError) {
13
+ throw err;
14
+ }
15
+ const error = err;
16
+ switch (error.status) {
17
+ case 401: {
18
+ throw new OneBlinkAppsError('You cannot submit this form until you have logged in. Please login and try again.', {
19
+ originalError: error,
20
+ httpStatusCode: error.status,
21
+ requiresLogin: true,
22
+ });
23
+ }
24
+ case 403: {
25
+ throw new OneBlinkAppsError('You do not have access to this form. Please contact your administrator to gain the correct level of access.', {
26
+ originalError: error,
27
+ httpStatusCode: error.status,
28
+ requiresAccessRequest: true,
29
+ });
30
+ }
31
+ case 400: {
32
+ throw new OneBlinkAppsError(error.message, {
33
+ originalError: error,
34
+ title: 'Error Generating Receipt',
35
+ httpStatusCode: error.status,
36
+ });
37
+ }
38
+ case 404: {
39
+ throw new OneBlinkAppsError('We could not find the form you are attempting to submit. Please contact your administrator to ensure your application configuration has been completed successfully.', {
40
+ originalError: error,
41
+ title: 'Error Generating Receipt',
42
+ httpStatusCode: error.status,
43
+ });
44
+ }
45
+ default: {
46
+ throw new OneBlinkAppsError('An unknown error has occurred. Please contact support if the problem persists.', {
47
+ originalError: error,
48
+ });
49
+ }
50
+ }
51
+ }
52
+ }
53
+ export default generateReceiptId;
54
+ //# sourceMappingURL=receipt-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receipt-id.js","sourceRoot":"","sources":["../../../../src/apps/services/api/receipt-id.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAA;AACnC,OAAO,iBAAiB,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAa,WAAW,EAAE,MAAM,UAAU,CAAA;AAEjD,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,WAAyB;IACxE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,UAAU,MAAM,aAAa,CAAA;IACrE,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,WAAW,CACrC,GAAG,EACH,EAAE,EACF,WAAW,CACZ,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CACV,kEAAkE,EAClE,GAAG,CACJ,CAAA;QACD,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAA;QACX,CAAC;QAED,MAAM,KAAK,GAAG,GAAgB,CAAA;QAC9B,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,GAAG,CAAC,CAAC,CAAC;gBACT,MAAM,IAAI,iBAAiB,CACzB,mFAAmF,EACnF;oBACE,aAAa,EAAE,KAAK;oBACpB,cAAc,EAAE,KAAK,CAAC,MAAM;oBAC5B,aAAa,EAAE,IAAI;iBACpB,CACF,CAAA;YACH,CAAC;YACD,KAAK,GAAG,CAAC,CAAC,CAAC;gBACT,MAAM,IAAI,iBAAiB,CACzB,6GAA6G,EAC7G;oBACE,aAAa,EAAE,KAAK;oBACpB,cAAc,EAAE,KAAK,CAAC,MAAM;oBAC5B,qBAAqB,EAAE,IAAI;iBAC5B,CACF,CAAA;YACH,CAAC;YACD,KAAK,GAAG,CAAC,CAAC,CAAC;gBACT,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE;oBACzC,aAAa,EAAE,KAAK;oBACpB,KAAK,EAAE,0BAA0B;oBACjC,cAAc,EAAE,KAAK,CAAC,MAAM;iBAC7B,CAAC,CAAA;YACJ,CAAC;YACD,KAAK,GAAG,CAAC,CAAC,CAAC;gBACT,MAAM,IAAI,iBAAiB,CACzB,sKAAsK,EACtK;oBACE,aAAa,EAAE,KAAK;oBACpB,KAAK,EAAE,0BAA0B;oBACjC,cAAc,EAAE,KAAK,CAAC,MAAM;iBAC7B,CACF,CAAA;YACH,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAI,iBAAiB,CACzB,gFAAgF,EAChF;oBACE,aAAa,EAAE,KAAK;iBACrB,CACF,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,eAAe,iBAAiB,CAAA","sourcesContent":["import tenants from '../../tenants'\nimport OneBlinkAppsError from '../errors/oneBlinkAppsError'\nimport { HTTPError, postRequest } from '../fetch'\n\nasync function generateReceiptId(formId: number, abortSignal?: AbortSignal) {\n const url = `${tenants.current.apiOrigin}/forms/${formId}/receipt-id`\n try {\n const { receiptId } = await postRequest<{ receiptId: string }>(\n url,\n {},\n abortSignal,\n )\n return receiptId\n } catch (err) {\n console.warn(\n 'Error occurred while attempting to generate External ID from API',\n err,\n )\n if (err instanceof OneBlinkAppsError) {\n throw err\n }\n\n const error = err as HTTPError\n switch (error.status) {\n case 401: {\n throw new OneBlinkAppsError(\n 'You cannot submit this form until you have logged in. Please login and try again.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresLogin: true,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You do not have access to this form. Please contact your administrator to gain the correct level of access.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresAccessRequest: true,\n },\n )\n }\n case 400: {\n throw new OneBlinkAppsError(error.message, {\n originalError: error,\n title: 'Error Generating Receipt',\n httpStatusCode: error.status,\n })\n }\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the form you are attempting to submit. Please contact your administrator to ensure your application configuration has been completed successfully.',\n {\n originalError: error,\n title: 'Error Generating Receipt',\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error,\n },\n )\n }\n }\n }\n}\n\nexport default generateReceiptId\n"]}
@@ -0,0 +1,38 @@
1
+ import { SubmissionEventTypes } from '@oneblink/types';
2
+ import { FormSubmissionResult } from '../../types/submissions';
3
+ import { SchedulingUrlConfiguration } from '../../types/scheduling';
4
+ declare function generateSchedulingConfiguration({ formSubmissionResult, schedulingSubmissionEvent, schedulingUrlConfiguration: { schedulingCancelUrl, schedulingRescheduleUrl }, }: {
5
+ formSubmissionResult: FormSubmissionResult;
6
+ schedulingSubmissionEvent: SubmissionEventTypes.FormSchedulingEvent;
7
+ schedulingUrlConfiguration: SchedulingUrlConfiguration;
8
+ }): Promise<void>;
9
+ /**
10
+ * Create a Nylas Session
11
+ *
12
+ * #### Example
13
+ *
14
+ * ```js
15
+ * const { sessionId, configurationId, bookingRef, name, email } =
16
+ * await schedulingService.createNylasExistingBookingSession(
17
+ * '89c6e98e-f56f-45fc-84fe-c4fc62331d34',
18
+ * )
19
+ * // use sessionId and configurationId/bookingRef to create or modify nylas bookings
20
+ * ```
21
+ *
22
+ * @param submissionId
23
+ * @param abortSignal
24
+ * @returns
25
+ */
26
+ declare function createNylasExistingBookingSession(submissionId: string, abortSignal: AbortSignal): Promise<{
27
+ /** The identifier to allow the user to make a booking */
28
+ sessionId: string;
29
+ /** The identifier for the configuration the user will make a booking with */
30
+ configurationId: string;
31
+ /** The name of the current user to prefill into the booking form */
32
+ name: string | undefined;
33
+ /** The email address of the current user to prefill into the booking form */
34
+ email: string | undefined;
35
+ /** The unique reference for an existing booking to reschedule or cancel */
36
+ bookingRef: string | undefined;
37
+ }>;
38
+ export { generateSchedulingConfiguration, createNylasExistingBookingSession };
@@ -0,0 +1,142 @@
1
+ import { HTTPError, postRequest } from '../fetch';
2
+ import OneBlinkAppsError from '../errors/oneBlinkAppsError';
3
+ import tenants from '../../tenants';
4
+ import Sentry from '../../Sentry';
5
+ import { submissionService } from '@oneblink/sdk-core';
6
+ function getBookingQuerystringValue(elementId, formSubmissionResult) {
7
+ if (elementId) {
8
+ const value = submissionService.getRootElementValueById(elementId, formSubmissionResult.definition.elements, formSubmissionResult.submission);
9
+ if (value && typeof value === 'string') {
10
+ return value;
11
+ }
12
+ }
13
+ }
14
+ async function startNylasBooking({ formSubmissionResult, schedulingSubmissionEvent, schedulingCancelUrl, schedulingRescheduleUrl, }) {
15
+ const url = `${tenants.current.apiOrigin}/scheduling/nylas/start-booking`;
16
+ const body = {
17
+ formId: formSubmissionResult.definition.id,
18
+ nylasConfigurationId: schedulingSubmissionEvent.configuration.nylasConfigurationId,
19
+ submissionId: formSubmissionResult.submissionId,
20
+ schedulingCancelUrl,
21
+ schedulingRescheduleUrl,
22
+ name: getBookingQuerystringValue(schedulingSubmissionEvent.configuration.nameElementId, formSubmissionResult),
23
+ email: getBookingQuerystringValue(schedulingSubmissionEvent.configuration.emailElementId, formSubmissionResult),
24
+ };
25
+ console.log('Attempting to generate scheduling configuration', url, body);
26
+ await postRequest(url, body);
27
+ }
28
+ async function generateSchedulingConfiguration({ formSubmissionResult, schedulingSubmissionEvent, schedulingUrlConfiguration: { schedulingCancelUrl, schedulingRescheduleUrl }, }) {
29
+ try {
30
+ await startNylasBooking({
31
+ formSubmissionResult,
32
+ schedulingSubmissionEvent,
33
+ schedulingCancelUrl,
34
+ schedulingRescheduleUrl,
35
+ });
36
+ return;
37
+ }
38
+ catch (error) {
39
+ console.warn('Error occurred while attempting to generate configuration for scheduling submission event', error);
40
+ Sentry.captureException(error);
41
+ if (error instanceof OneBlinkAppsError) {
42
+ throw error;
43
+ }
44
+ if (error instanceof HTTPError) {
45
+ switch (error.status) {
46
+ case 401: {
47
+ throw new OneBlinkAppsError('You cannot make bookings until you have logged in. Please login and try again.', {
48
+ originalError: error,
49
+ httpStatusCode: error.status,
50
+ requiresLogin: true,
51
+ });
52
+ }
53
+ case 403: {
54
+ throw new OneBlinkAppsError('You do not have access to make bookings. Please contact your administrator to gain the correct level of access.', {
55
+ originalError: error,
56
+ httpStatusCode: error.status,
57
+ requiresAccessRequest: true,
58
+ });
59
+ }
60
+ case 400:
61
+ case 404: {
62
+ throw new OneBlinkAppsError('We could not find the configuration required to make a booking. Please contact your administrator to verify your configuration.', {
63
+ originalError: error,
64
+ httpStatusCode: error.status,
65
+ });
66
+ }
67
+ }
68
+ }
69
+ throw new OneBlinkAppsError('An unknown error has occurred. Please contact support if the problem persists.', {
70
+ originalError: error instanceof Error ? error : undefined,
71
+ });
72
+ }
73
+ }
74
+ /**
75
+ * Create a Nylas Session
76
+ *
77
+ * #### Example
78
+ *
79
+ * ```js
80
+ * const { sessionId, configurationId, bookingRef, name, email } =
81
+ * await schedulingService.createNylasExistingBookingSession(
82
+ * '89c6e98e-f56f-45fc-84fe-c4fc62331d34',
83
+ * )
84
+ * // use sessionId and configurationId/bookingRef to create or modify nylas bookings
85
+ * ```
86
+ *
87
+ * @param submissionId
88
+ * @param abortSignal
89
+ * @returns
90
+ */
91
+ async function createNylasExistingBookingSession(submissionId, abortSignal) {
92
+ const url = `${tenants.current.apiOrigin}/scheduling/nylas/authorise-booking`;
93
+ try {
94
+ return await postRequest(url, { submissionId }, abortSignal);
95
+ }
96
+ catch (e) {
97
+ console.warn('Error occurred while attempting to create a nylas session', e);
98
+ Sentry.captureException(e);
99
+ if (e instanceof OneBlinkAppsError) {
100
+ throw e;
101
+ }
102
+ const error = e;
103
+ switch (error.status) {
104
+ case 401: {
105
+ throw new OneBlinkAppsError('You cannot start a session until you have logged in. Please login and try again.', {
106
+ originalError: error,
107
+ httpStatusCode: error.status,
108
+ requiresLogin: true,
109
+ });
110
+ }
111
+ case 403: {
112
+ throw new OneBlinkAppsError('You may not create or modify a calendar booking for a form you did not submit', {
113
+ originalError: error,
114
+ httpStatusCode: error.status,
115
+ requiresAccessRequest: true,
116
+ });
117
+ }
118
+ case 400:
119
+ throw new OneBlinkAppsError(error.message, {
120
+ title: 'Invalid Request',
121
+ originalError: error,
122
+ httpStatusCode: error.status,
123
+ });
124
+ case 404: {
125
+ throw new OneBlinkAppsError('We could not find a booking to create a session', {
126
+ title: 'Invalid Request',
127
+ originalError: error,
128
+ httpStatusCode: error.status,
129
+ });
130
+ }
131
+ default: {
132
+ throw new OneBlinkAppsError('An unknown error has occurred. Please contact support if the problem persists.', {
133
+ title: 'Unknown Erorr',
134
+ originalError: error,
135
+ httpStatusCode: error.status,
136
+ });
137
+ }
138
+ }
139
+ }
140
+ }
141
+ export { generateSchedulingConfiguration, createNylasExistingBookingSession };
142
+ //# sourceMappingURL=scheduling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduling.js","sourceRoot":"","sources":["../../../../src/apps/services/api/scheduling.ts"],"names":[],"mappings":"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","sourcesContent":["import { SubmissionEventTypes } from '@oneblink/types'\nimport { HTTPError, postRequest } from '../fetch'\nimport OneBlinkAppsError from '../errors/oneBlinkAppsError'\nimport tenants from '../../tenants'\nimport Sentry from '../../Sentry'\nimport { FormSubmissionResult } from '../../types/submissions'\nimport { submissionService } from '@oneblink/sdk-core'\nimport { SchedulingUrlConfiguration } from '../../types/scheduling'\n\nfunction getBookingQuerystringValue(\n elementId: string | undefined,\n formSubmissionResult: FormSubmissionResult,\n) {\n if (elementId) {\n const value = submissionService.getRootElementValueById(\n elementId,\n formSubmissionResult.definition.elements,\n formSubmissionResult.submission,\n )\n if (value && typeof value === 'string') {\n return value\n }\n }\n}\n\nasync function startNylasBooking({\n formSubmissionResult,\n schedulingSubmissionEvent,\n schedulingCancelUrl,\n schedulingRescheduleUrl,\n}: {\n formSubmissionResult: FormSubmissionResult\n schedulingSubmissionEvent: SubmissionEventTypes.NylasSubmissionEvent\n schedulingCancelUrl: string\n schedulingRescheduleUrl?: string\n}): Promise<void> {\n const url = `${tenants.current.apiOrigin}/scheduling/nylas/start-booking`\n const body = {\n formId: formSubmissionResult.definition.id,\n nylasConfigurationId:\n schedulingSubmissionEvent.configuration.nylasConfigurationId,\n submissionId: formSubmissionResult.submissionId,\n schedulingCancelUrl,\n schedulingRescheduleUrl,\n name: getBookingQuerystringValue(\n schedulingSubmissionEvent.configuration.nameElementId,\n formSubmissionResult,\n ),\n email: getBookingQuerystringValue(\n schedulingSubmissionEvent.configuration.emailElementId,\n formSubmissionResult,\n ),\n }\n console.log('Attempting to generate scheduling configuration', url, body)\n\n await postRequest(url, body)\n}\n\nasync function generateSchedulingConfiguration({\n formSubmissionResult,\n schedulingSubmissionEvent,\n schedulingUrlConfiguration: { schedulingCancelUrl, schedulingRescheduleUrl },\n}: {\n formSubmissionResult: FormSubmissionResult\n schedulingSubmissionEvent: SubmissionEventTypes.FormSchedulingEvent\n schedulingUrlConfiguration: SchedulingUrlConfiguration\n}): Promise<void> {\n try {\n await startNylasBooking({\n formSubmissionResult,\n schedulingSubmissionEvent,\n schedulingCancelUrl,\n schedulingRescheduleUrl,\n })\n return\n } catch (error) {\n console.warn(\n 'Error occurred while attempting to generate configuration for scheduling submission event',\n error,\n )\n Sentry.captureException(error)\n if (error instanceof OneBlinkAppsError) {\n throw error\n }\n if (error instanceof HTTPError) {\n switch (error.status) {\n case 401: {\n throw new OneBlinkAppsError(\n 'You cannot make bookings until you have logged in. Please login and try again.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresLogin: true,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You do not have access to make bookings. Please contact your administrator to gain the correct level of access.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresAccessRequest: true,\n },\n )\n }\n case 400:\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find the configuration required to make a booking. Please contact your administrator to verify your configuration.',\n {\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n }\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n originalError: error instanceof Error ? error : undefined,\n },\n )\n }\n}\n\n/**\n * Create a Nylas Session\n *\n * #### Example\n *\n * ```js\n * const { sessionId, configurationId, bookingRef, name, email } =\n * await schedulingService.createNylasExistingBookingSession(\n * '89c6e98e-f56f-45fc-84fe-c4fc62331d34',\n * )\n * // use sessionId and configurationId/bookingRef to create or modify nylas bookings\n * ```\n *\n * @param submissionId\n * @param abortSignal\n * @returns\n */\nasync function createNylasExistingBookingSession(\n submissionId: string,\n abortSignal: AbortSignal,\n): Promise<{\n /** The identifier to allow the user to make a booking */\n sessionId: string\n /** The identifier for the configuration the user will make a booking with */\n configurationId: string\n /** The name of the current user to prefill into the booking form */\n name: string | undefined\n /** The email address of the current user to prefill into the booking form */\n email: string | undefined\n /** The unique reference for an existing booking to reschedule or cancel */\n bookingRef: string | undefined\n}> {\n const url = `${tenants.current.apiOrigin}/scheduling/nylas/authorise-booking`\n try {\n return await postRequest(url, { submissionId }, abortSignal)\n } catch (e) {\n console.warn('Error occurred while attempting to create a nylas session', e)\n Sentry.captureException(e)\n if (e instanceof OneBlinkAppsError) {\n throw e\n }\n\n const error = e as HTTPError\n switch (error.status) {\n case 401: {\n throw new OneBlinkAppsError(\n 'You cannot start a session until you have logged in. Please login and try again.',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresLogin: true,\n },\n )\n }\n case 403: {\n throw new OneBlinkAppsError(\n 'You may not create or modify a calendar booking for a form you did not submit',\n {\n originalError: error,\n httpStatusCode: error.status,\n requiresAccessRequest: true,\n },\n )\n }\n case 400:\n throw new OneBlinkAppsError(error.message, {\n title: 'Invalid Request',\n originalError: error,\n httpStatusCode: error.status,\n })\n case 404: {\n throw new OneBlinkAppsError(\n 'We could not find a booking to create a session',\n {\n title: 'Invalid Request',\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n default: {\n throw new OneBlinkAppsError(\n 'An unknown error has occurred. Please contact support if the problem persists.',\n {\n title: 'Unknown Erorr',\n originalError: error,\n httpStatusCode: error.status,\n },\n )\n }\n }\n }\n}\n\nexport { generateSchedulingConfiguration, createNylasExistingBookingSession }\n"]}
@@ -0,0 +1,18 @@
1
+ import { FormSubmission, ProgressListener } from '../../types/submissions';
2
+ export declare function uploadFormSubmission(formSubmission: FormSubmission,
3
+ /**
4
+ * The date and time (in ISO format) the form was completed I.e. when the user
5
+ * clicked the submit button
6
+ */
7
+ completionTimestamp: string, onProgress?: ProgressListener, abortSignal?: AbortSignal): Promise<import("@oneblink/storage/dist/http-handlers/types").OneBlinkResponse<{
8
+ submissionTimestamp: string;
9
+ submissionId: string;
10
+ pdfAccessToken?: string | undefined;
11
+ attachmentsAccessToken?: string | undefined;
12
+ preventPayment: boolean;
13
+ }>>;
14
+ export declare function downloadFormSubmission({ formId, submissionId, abortSignal, }: {
15
+ formId: number;
16
+ submissionId: string;
17
+ abortSignal?: AbortSignal;
18
+ }): Promise<import("@oneblink/types/typescript/submissions").S3SubmissionData>;
@@ -0,0 +1,166 @@
1
+ import OneBlinkAppsError from '../errors/oneBlinkAppsError';
2
+ import Sentry from '../../Sentry';
3
+ import { isOffline } from '../../offline-service';
4
+ import { getDeviceInformation } from '../getDeviceInformation';
5
+ import { getUserToken } from '../user-token';
6
+ import generateOneBlinkUploader from '../generateOneBlinkUploader';
7
+ import { OneBlinkStorageError } from '@oneblink/storage';
8
+ import generateOneBlinkDownloader from '../generateOneBlinkDownloader';
9
+ const getBadRequestError = (error) => {
10
+ return new OneBlinkAppsError(error.message, {
11
+ title: 'Invalid Submission',
12
+ httpStatusCode: error.httpStatusCode,
13
+ });
14
+ };
15
+ const getUnauthenticatedError = (error) => {
16
+ return new OneBlinkAppsError('The form you are attempting to complete requires authentication. Please login and try again.', {
17
+ requiresLogin: true,
18
+ originalError: error,
19
+ httpStatusCode: error.httpStatusCode,
20
+ });
21
+ };
22
+ const getUnauthorisedError = (error) => {
23
+ return new OneBlinkAppsError('You do not have access to complete this form. Please contact your administrator to gain the correct level of access.', {
24
+ requiresAccessRequest: true,
25
+ originalError: error,
26
+ httpStatusCode: error.httpStatusCode,
27
+ });
28
+ };
29
+ const getNotFoundError = (error) => {
30
+ return new OneBlinkAppsError('We could not find the form you are looking for. Please contact your administrator to ensure your form configuration has been completed successfully.', {
31
+ title: 'Unknown Form',
32
+ originalError: error,
33
+ httpStatusCode: error.httpStatusCode,
34
+ });
35
+ };
36
+ const getDefaultError = (error) => {
37
+ return new OneBlinkAppsError('An unknown error has occurred. Please contact support if the problem persists.', {
38
+ originalError: error,
39
+ httpStatusCode: error.httpStatusCode,
40
+ });
41
+ };
42
+ const handleError = (error) => {
43
+ if (/Failed to fetch/.test(error.message)) {
44
+ throw new OneBlinkAppsError('We encountered a network related issue. Please ensure you are connected to the internet before trying again. If the problem persists, contact your administrator.', {
45
+ title: 'Connectivity Issues',
46
+ originalError: error,
47
+ isOffline: true,
48
+ });
49
+ }
50
+ switch (error.httpStatusCode) {
51
+ case 400: {
52
+ return getBadRequestError(error);
53
+ }
54
+ case 401: {
55
+ return getUnauthenticatedError(error);
56
+ }
57
+ case 403: {
58
+ return getUnauthorisedError(error);
59
+ }
60
+ case 404: {
61
+ return getNotFoundError(error);
62
+ }
63
+ default: {
64
+ return getDefaultError(error);
65
+ }
66
+ }
67
+ };
68
+ export async function uploadFormSubmission(formSubmission,
69
+ /**
70
+ * The date and time (in ISO format) the form was completed I.e. when the user
71
+ * clicked the submit button
72
+ */
73
+ completionTimestamp, onProgress, abortSignal) {
74
+ var _a, _b, _c, _d;
75
+ try {
76
+ const oneblinkUploader = generateOneBlinkUploader();
77
+ const userToken = getUserToken();
78
+ console.log('Uploading submission');
79
+ return await oneblinkUploader.uploadSubmission({
80
+ completionTimestamp,
81
+ submission: formSubmission.submission,
82
+ definition: formSubmission.definition,
83
+ device: getDeviceInformation(),
84
+ userToken: userToken || undefined,
85
+ previousFormSubmissionApprovalId: formSubmission.previousFormSubmissionApprovalId,
86
+ jobId: formSubmission.jobId || undefined,
87
+ formsAppId: formSubmission.formsAppId,
88
+ externalId: formSubmission.externalId || undefined,
89
+ taskId: ((_a = formSubmission.taskCompletion) === null || _a === void 0 ? void 0 : _a.task.taskId) || undefined,
90
+ taskActionId: (_b = formSubmission.taskCompletion) === null || _b === void 0 ? void 0 : _b.taskAction.taskActionId,
91
+ taskGroupInstanceId: (_d = (_c = formSubmission.taskCompletion) === null || _c === void 0 ? void 0 : _c.taskGroupInstance) === null || _d === void 0 ? void 0 : _d.taskGroupInstanceId,
92
+ recaptchas: formSubmission.recaptchas,
93
+ onProgress,
94
+ abortSignal,
95
+ formSubmissionDraftId: formSubmission.formSubmissionDraftId,
96
+ });
97
+ }
98
+ catch (error) {
99
+ throw handleError(error);
100
+ }
101
+ }
102
+ export async function downloadFormSubmission({ formId, submissionId, abortSignal, }) {
103
+ try {
104
+ console.log('Attempting to download form submission data:', {
105
+ formId,
106
+ submissionId,
107
+ });
108
+ const oneblinkDownloader = generateOneBlinkDownloader();
109
+ const submissionData = await oneblinkDownloader.downloadSubmission({
110
+ formId,
111
+ submissionId,
112
+ abortSignal,
113
+ });
114
+ if (!submissionData) {
115
+ throw new OneBlinkAppsError("This submission has been removed based on your administrator's retention policy.", {
116
+ title: 'Submission Data Unavailable',
117
+ });
118
+ }
119
+ return submissionData;
120
+ }
121
+ catch (error) {
122
+ console.error('Error retrieving form submission data', error);
123
+ if (error instanceof OneBlinkAppsError) {
124
+ throw error;
125
+ }
126
+ Sentry.captureException(error);
127
+ if (isOffline()) {
128
+ throw new OneBlinkAppsError('You are currently offline, please connect to the internet and try again', {
129
+ originalError: error instanceof Error ? error : undefined,
130
+ isOffline: true,
131
+ });
132
+ }
133
+ if (error instanceof OneBlinkStorageError) {
134
+ switch (error.httpStatusCode) {
135
+ case 401: {
136
+ throw new OneBlinkAppsError('The submission you are attempting to view requires authentication. Please login and try again.', {
137
+ originalError: error,
138
+ requiresLogin: true,
139
+ httpStatusCode: error.httpStatusCode,
140
+ });
141
+ }
142
+ case 403: {
143
+ throw new OneBlinkAppsError('You do not have access to submission data. Please contact your administrator to gain the correct level of access.', {
144
+ originalError: error,
145
+ requiresAccessRequest: true,
146
+ httpStatusCode: error.httpStatusCode,
147
+ });
148
+ }
149
+ case 400:
150
+ case 404: {
151
+ throw new OneBlinkAppsError(error.message, {
152
+ title: 'Invalid Request',
153
+ httpStatusCode: error.httpStatusCode,
154
+ });
155
+ }
156
+ }
157
+ }
158
+ throw new OneBlinkAppsError('An unknown error has occurred. Please contact support if the problem persists.', {
159
+ originalError: error instanceof Error ? error : undefined,
160
+ httpStatusCode: error instanceof OneBlinkStorageError
161
+ ? error.httpStatusCode
162
+ : undefined,
163
+ });
164
+ }
165
+ }
166
+ //# sourceMappingURL=submissions.js.map