@oneblink/apps-react 9.0.0-beta.1 → 9.0.0-beta.3

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 (208) hide show
  1. package/dist/OneBlinkForm.d.ts +6 -6
  2. package/dist/OneBlinkFormBase.js +1 -0
  3. package/dist/OneBlinkFormBase.js.map +1 -1
  4. package/dist/apps/Sentry.d.ts +7 -0
  5. package/dist/apps/Sentry.js +16 -0
  6. package/dist/apps/Sentry.js.map +1 -0
  7. package/dist/apps/approvals-service.d.ts +390 -0
  8. package/dist/apps/approvals-service.js +987 -0
  9. package/dist/apps/approvals-service.js.map +1 -0
  10. package/dist/apps/attachments-service.d.ts +49 -0
  11. package/dist/apps/attachments-service.js +134 -0
  12. package/dist/apps/attachments-service.js.map +1 -0
  13. package/dist/apps/auth-service.d.ts +114 -0
  14. package/dist/apps/auth-service.js +194 -0
  15. package/dist/apps/auth-service.js.map +1 -0
  16. package/dist/apps/auto-save-service.d.ts +82 -0
  17. package/dist/apps/auto-save-service.js +105 -0
  18. package/dist/apps/auto-save-service.js.map +1 -0
  19. package/dist/apps/draft-service.d.ts +148 -0
  20. package/dist/apps/draft-service.js +583 -0
  21. package/dist/apps/draft-service.js.map +1 -0
  22. package/dist/apps/form-service.d.ts +204 -0
  23. package/dist/apps/form-service.js +718 -0
  24. package/dist/apps/form-service.js.map +1 -0
  25. package/dist/apps/form-store-service.d.ts +141 -0
  26. package/dist/apps/form-store-service.js +114 -0
  27. package/dist/apps/form-store-service.js.map +1 -0
  28. package/dist/apps/forms-app-environment-service.d.ts +19 -0
  29. package/dist/apps/forms-app-environment-service.js +55 -0
  30. package/dist/apps/forms-app-environment-service.js.map +1 -0
  31. package/dist/apps/forms-app-service.d.ts +18 -0
  32. package/dist/apps/forms-app-service.js +53 -0
  33. package/dist/apps/forms-app-service.js.map +1 -0
  34. package/dist/apps/index.d.ts +252 -0
  35. package/dist/apps/index.js +254 -0
  36. package/dist/apps/index.js.map +1 -0
  37. package/dist/apps/job-service.d.ts +20 -0
  38. package/dist/apps/job-service.js +95 -0
  39. package/dist/apps/job-service.js.map +1 -0
  40. package/dist/apps/localisation-service.d.ts +207 -0
  41. package/dist/apps/localisation-service.js +321 -0
  42. package/dist/apps/localisation-service.js.map +1 -0
  43. package/dist/apps/notification-service.d.ts +83 -0
  44. package/dist/apps/notification-service.js +315 -0
  45. package/dist/apps/notification-service.js.map +1 -0
  46. package/dist/apps/offline-service.d.ts +18 -0
  47. package/dist/apps/offline-service.js +25 -0
  48. package/dist/apps/offline-service.js.map +1 -0
  49. package/dist/apps/payment-service.d.ts +110 -0
  50. package/dist/apps/payment-service.js +182 -0
  51. package/dist/apps/payment-service.js.map +1 -0
  52. package/dist/apps/prefill-service.d.ts +14 -0
  53. package/dist/apps/prefill-service.js +19 -0
  54. package/dist/apps/prefill-service.js.map +1 -0
  55. package/dist/apps/scheduled-tasks-service.d.ts +127 -0
  56. package/dist/apps/scheduled-tasks-service.js +240 -0
  57. package/dist/apps/scheduled-tasks-service.js.map +1 -0
  58. package/dist/apps/scheduling-service.d.ts +101 -0
  59. package/dist/apps/scheduling-service.js +171 -0
  60. package/dist/apps/scheduling-service.js.map +1 -0
  61. package/dist/apps/services/AWSCognitoClient.d.ts +55 -0
  62. package/dist/apps/services/AWSCognitoClient.js +436 -0
  63. package/dist/apps/services/AWSCognitoClient.js.map +1 -0
  64. package/dist/apps/services/api/drafts.d.ts +7 -0
  65. package/dist/apps/services/api/drafts.js +236 -0
  66. package/dist/apps/services/api/drafts.js.map +1 -0
  67. package/dist/apps/services/api/notifications.d.ts +3 -0
  68. package/dist/apps/services/api/notifications.js +60 -0
  69. package/dist/apps/services/api/notifications.js.map +1 -0
  70. package/dist/apps/services/api/payment.d.ts +23 -0
  71. package/dist/apps/services/api/payment.js +235 -0
  72. package/dist/apps/services/api/payment.js.map +1 -0
  73. package/dist/apps/services/api/post-submission-attachment-urls.d.ts +7 -0
  74. package/dist/apps/services/api/post-submission-attachment-urls.js +19 -0
  75. package/dist/apps/services/api/post-submission-attachment-urls.js.map +1 -0
  76. package/dist/apps/services/api/prefill.d.ts +1 -0
  77. package/dist/apps/services/api/prefill.js +70 -0
  78. package/dist/apps/services/api/prefill.js.map +1 -0
  79. package/dist/apps/services/api/receipt-id.d.ts +2 -0
  80. package/dist/apps/services/api/receipt-id.js +54 -0
  81. package/dist/apps/services/api/receipt-id.js.map +1 -0
  82. package/dist/apps/services/api/scheduling.d.ts +38 -0
  83. package/dist/apps/services/api/scheduling.js +142 -0
  84. package/dist/apps/services/api/scheduling.js.map +1 -0
  85. package/dist/apps/services/api/submissions.d.ts +18 -0
  86. package/dist/apps/services/api/submissions.js +166 -0
  87. package/dist/apps/services/api/submissions.js.map +1 -0
  88. package/dist/apps/services/cognito.d.ts +302 -0
  89. package/dist/apps/services/cognito.js +441 -0
  90. package/dist/apps/services/cognito.js.map +1 -0
  91. package/dist/apps/services/draft-data-store.d.ts +16 -0
  92. package/dist/apps/services/draft-data-store.js +115 -0
  93. package/dist/apps/services/draft-data-store.js.map +1 -0
  94. package/dist/apps/services/errors/oneBlinkAppsError.d.ts +35 -0
  95. package/dist/apps/services/errors/oneBlinkAppsError.js +32 -0
  96. package/dist/apps/services/errors/oneBlinkAppsError.js.map +1 -0
  97. package/dist/apps/services/external-id-generation.d.ts +4 -0
  98. package/dist/apps/services/external-id-generation.js +59 -0
  99. package/dist/apps/services/external-id-generation.js.map +1 -0
  100. package/dist/apps/services/fetch.d.ts +12 -0
  101. package/dist/apps/services/fetch.js +95 -0
  102. package/dist/apps/services/fetch.js.map +1 -0
  103. package/dist/apps/services/forms-key.d.ts +51 -0
  104. package/dist/apps/services/forms-key.js +83 -0
  105. package/dist/apps/services/forms-key.js.map +1 -0
  106. package/dist/apps/services/generate-generic-error.d.ts +3 -0
  107. package/dist/apps/services/generate-generic-error.js +52 -0
  108. package/dist/apps/services/generate-generic-error.js.map +1 -0
  109. package/dist/apps/services/generateOneBlinkDownloader.d.ts +2 -0
  110. package/dist/apps/services/generateOneBlinkDownloader.js +11 -0
  111. package/dist/apps/services/generateOneBlinkDownloader.js.map +1 -0
  112. package/dist/apps/services/generateOneBlinkUploader.d.ts +2 -0
  113. package/dist/apps/services/generateOneBlinkUploader.js +11 -0
  114. package/dist/apps/services/generateOneBlinkUploader.js.map +1 -0
  115. package/dist/apps/services/getDeviceInformation.d.ts +17 -0
  116. package/dist/apps/services/getDeviceInformation.js +38 -0
  117. package/dist/apps/services/getDeviceInformation.js.map +1 -0
  118. package/dist/apps/services/integration-elements.d.ts +383 -0
  119. package/dist/apps/services/integration-elements.js +761 -0
  120. package/dist/apps/services/integration-elements.js.map +1 -0
  121. package/dist/apps/services/job-prefill.d.ts +40 -0
  122. package/dist/apps/services/job-prefill.js +78 -0
  123. package/dist/apps/services/job-prefill.js.map +1 -0
  124. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.d.ts +29 -0
  125. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js +59 -0
  126. package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js.map +1 -0
  127. package/dist/apps/services/payment-providers/CPPayPaymentProvider.d.ts +27 -0
  128. package/dist/apps/services/payment-providers/CPPayPaymentProvider.js +63 -0
  129. package/dist/apps/services/payment-providers/CPPayPaymentProvider.js.map +1 -0
  130. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.d.ts +30 -0
  131. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js +116 -0
  132. package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js.map +1 -0
  133. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.d.ts +49 -0
  134. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js +116 -0
  135. package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js.map +1 -0
  136. package/dist/apps/services/payment-providers/receipt-items.d.ts +8 -0
  137. package/dist/apps/services/payment-providers/receipt-items.js +58 -0
  138. package/dist/apps/services/payment-providers/receipt-items.js.map +1 -0
  139. package/dist/apps/services/pending-queue.d.ts +150 -0
  140. package/dist/apps/services/pending-queue.js +316 -0
  141. package/dist/apps/services/pending-queue.js.map +1 -0
  142. package/dist/apps/services/prepareSubmissionData.d.ts +2 -0
  143. package/dist/apps/services/prepareSubmissionData.js +113 -0
  144. package/dist/apps/services/prepareSubmissionData.js.map +1 -0
  145. package/dist/apps/services/query-string.d.ts +1 -0
  146. package/dist/apps/services/query-string.js +16 -0
  147. package/dist/apps/services/query-string.js.map +1 -0
  148. package/dist/apps/services/replaceInjectablesWithSubmissionValues.d.ts +3 -0
  149. package/dist/apps/services/replaceInjectablesWithSubmissionValues.js +18 -0
  150. package/dist/apps/services/replaceInjectablesWithSubmissionValues.js.map +1 -0
  151. package/dist/apps/services/schedulingHandlers.d.ts +36 -0
  152. package/dist/apps/services/schedulingHandlers.js +76 -0
  153. package/dist/apps/services/schedulingHandlers.js.map +1 -0
  154. package/dist/apps/services/server-validation.d.ts +2 -0
  155. package/dist/apps/services/server-validation.js +36 -0
  156. package/dist/apps/services/server-validation.js.map +1 -0
  157. package/dist/apps/services/serverRequest.d.ts +5 -0
  158. package/dist/apps/services/serverRequest.js +24 -0
  159. package/dist/apps/services/serverRequest.js.map +1 -0
  160. package/dist/apps/services/submit.d.ts +19 -0
  161. package/dist/apps/services/submit.js +219 -0
  162. package/dist/apps/services/submit.js.map +1 -0
  163. package/dist/apps/services/uploadAttachment.d.ts +52 -0
  164. package/dist/apps/services/uploadAttachment.js +73 -0
  165. package/dist/apps/services/uploadAttachment.js.map +1 -0
  166. package/dist/apps/services/user-token.d.ts +27 -0
  167. package/dist/apps/services/user-token.js +33 -0
  168. package/dist/apps/services/user-token.js.map +1 -0
  169. package/dist/apps/services/utils.d.ts +12 -0
  170. package/dist/apps/services/utils.js +100 -0
  171. package/dist/apps/services/utils.js.map +1 -0
  172. package/dist/apps/submission-service.d.ts +226 -0
  173. package/dist/apps/submission-service.js +425 -0
  174. package/dist/apps/submission-service.js.map +1 -0
  175. package/dist/apps/tenants.d.ts +29 -0
  176. package/dist/apps/tenants.js +127 -0
  177. package/dist/apps/tenants.js.map +1 -0
  178. package/dist/apps/types/form.d.ts +4 -0
  179. package/dist/apps/types/form.js +2 -0
  180. package/dist/apps/types/form.js.map +1 -0
  181. package/dist/apps/types/payments.d.ts +45 -0
  182. package/dist/apps/types/payments.js +2 -0
  183. package/dist/apps/types/payments.js.map +1 -0
  184. package/dist/apps/types/scheduling.d.ts +5 -0
  185. package/dist/apps/types/scheduling.js +2 -0
  186. package/dist/apps/types/scheduling.js.map +1 -0
  187. package/dist/apps/types/submissions.d.ts +175 -0
  188. package/dist/apps/types/submissions.js +2 -0
  189. package/dist/apps/types/submissions.js.map +1 -0
  190. package/dist/components/CustomAccordion.d.ts +3 -3
  191. package/dist/components/Lists.d.ts +4 -1
  192. package/dist/components/formStore/display/ElementDisplay.js +2 -2
  193. package/dist/components/formStore/display/ElementDisplay.js.map +1 -1
  194. package/dist/components/formStore/useFormStoreTableContext.d.ts +2 -2
  195. package/dist/components/mfa/MultiFactorAuthentication.d.ts +1 -1
  196. package/dist/components/renderer/LookupNotification.js +1 -1
  197. package/dist/components/renderer/LookupNotification.js.map +1 -1
  198. package/dist/form-elements/FormElementAutocomplete.js +1 -1
  199. package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
  200. package/dist/hooks/attachments/useAttachment.js +1 -1
  201. package/dist/hooks/attachments/useAttachment.js.map +1 -1
  202. package/dist/index.d.ts +1 -0
  203. package/dist/index.js +2 -0
  204. package/dist/index.js.map +1 -1
  205. package/dist/services/download-file.js +1 -1
  206. package/dist/services/download-file.js.map +1 -1
  207. package/dist/styles.css +208 -204
  208. package/package.json +43 -35
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-service.js","sourceRoot":"","sources":["../../src/apps/auth-service.ts"],"names":[],"mappings":"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","sourcesContent":["import { MiscTypes } from '@oneblink/types'\nimport OneBlinkAppsError from './services/errors/oneBlinkAppsError'\nimport {\n getIdToken,\n getFormsKeyId,\n setFormsKeyToken,\n} from './services/forms-key'\nimport {\n init as initCognito,\n registerAuthListener,\n isLoggedIn,\n loginHostedUI,\n loginUsernamePassword,\n changePassword,\n forgotPassword,\n handleAuthentication,\n logoutHostedUI,\n logout as logoutCognito,\n getUserProfile,\n getUsername,\n getUserFriendlyName,\n LoginAttemptResponse,\n checkIsMfaEnabled,\n disableMfa,\n setupMfa,\n generateMfaQrCodeUrl,\n} from './services/cognito'\nimport { getRequest, postRequest, HTTPError } from './services/fetch'\nimport tenants from './tenants'\nimport { getUserToken, setUserToken } from './services/user-token'\nimport utilsService from './services/utils'\n\nexport {\n registerAuthListener,\n loginHostedUI,\n loginUsernamePassword,\n handleAuthentication,\n logoutHostedUI,\n changePassword,\n forgotPassword,\n isLoggedIn,\n getIdToken,\n getUserProfile,\n getFormsKeyId,\n setFormsKeyToken,\n getUserToken,\n setUserToken,\n getUserFriendlyName,\n LoginAttemptResponse,\n checkIsMfaEnabled,\n disableMfa,\n setupMfa,\n generateMfaQrCodeUrl,\n}\nimport Sentry from './Sentry'\n\n/**\n * Log the current user out and remove an data stored locally by the user e.g.\n * drafts.\n *\n * #### Example\n *\n * ```js\n * await authService.logout()\n * ```\n */\nexport async function logout() {\n console.log('Logging out...')\n\n try {\n await utilsService.localForage.clear()\n } catch (error) {\n Sentry.captureException(error)\n console.warn('Could not clear localForage before logging out', error)\n }\n\n await logoutCognito()\n}\n\n/**\n * Initialize the service with required configuration. **This must be done\n * before using before some of the function in this service.**\n *\n * #### Example\n *\n * ```js\n * authService.init({\n * oAuthClientId: 'YOUR_OAUTH_CLIENT_ID',\n * })\n * ```\n *\n * @param options\n */\nexport function init({ oAuthClientId }: { oAuthClientId: string }) {\n initCognito({\n region: tenants.current.awsRegion,\n loginDomain: tenants.current.loginDomain,\n oAuthClientId,\n redirectUri: window.location.origin + '/callback',\n logoutUri: window.location.origin + '/logout',\n })\n\n const listener = () => {\n Sentry.setTag('username', getUsername() || undefined)\n }\n listener()\n registerAuthListener(listener)\n}\n\n/**\n * Determine if the current user is a OneBlink App User for a OneBlink Forms\n * App. Returns `false` if the current user is not logged in.\n *\n * #### Example\n *\n * ```js\n * const formsAppId = 1\n * const isAuthorised = await authService.isAuthorised(formsAppId)\n * if (!isAuthorised) {\n * // handle unauthorised user\n * }\n * ```\n *\n * @param formsAppId\n * @param abortSignal\n * @returns\n */\nexport async function isAuthorised(\n formsAppId: number,\n abortSignal?: AbortSignal,\n): Promise<boolean> {\n return getCurrentFormsAppUser(formsAppId, abortSignal)\n .then(() => true)\n .catch((error) => {\n if (error.status >= 400 && error.status < 500) {\n return false\n } else {\n Sentry.captureException(error)\n console.log(\n 'Could not determine if the current user has access to this forms app',\n error,\n )\n return false\n }\n })\n}\n\n/**\n * Get the current user's App User details for a OneBlink Forms App. Returns\n * `undefined` if the current user is not logged in.\n *\n * #### Example\n *\n * ```js\n * const formsAppId = 1\n * const formsAppUserDetails =\n * await authService.getCurrentFormsAppUser(formsAppId)\n * if (!formsAppUserDetails) {\n * // handle unauthorised user\n * }\n * ```\n *\n * @param formsAppId\n * @returns\n */\nexport async function getCurrentFormsAppUser(\n formsAppId: number,\n abortSignal?: AbortSignal,\n): Promise<\n | {\n userProfile?: MiscTypes.UserProfile\n formsAppId: number\n groups: string[]\n }\n | undefined\n> {\n if (getFormsKeyId()) {\n return {\n formsAppId,\n groups: [],\n }\n }\n\n const userProfile = getUserProfile()\n\n if (!userProfile) {\n return undefined\n }\n\n const url = `${tenants.current.apiOrigin}/forms-apps/${formsAppId}/my-forms-app-user`\n return await getRequest<{\n userProfile?: MiscTypes.UserProfile\n formsAppId: number\n groups: string[]\n }>(url, abortSignal)\n}\n\n/**\n * If the current user is not a Forms App User, this function will send a\n * request on behalf of the current user to the OneBlink Forms App\n * administrators to request access.\n *\n * #### Example\n *\n * ```js\n * const formsAppId = 1\n * await authService.requestAccess(formsAppId)\n * // Display a message to user indicating a request has been sent to the application administrators\n * ```\n *\n * @param formsAppId\n */\nexport async function requestAccess(formsAppId: number): Promise<void> {\n if (!isLoggedIn()) {\n throw new OneBlinkAppsError(\n 'You must login before requesting access to this application',\n {\n requiresLogin: true,\n },\n )\n }\n\n try {\n const url = `${tenants.current.apiOrigin}/forms-apps/${formsAppId}/request-access`\n await postRequest(url)\n } catch (error) {\n Sentry.captureException(error)\n console.warn('Error while requesting access to forms app', error)\n\n throw new OneBlinkAppsError(\n 'Sorry, we could not request access automatically right now, please try again. If the problem persists, please contact your administrator yourself.',\n {\n originalError: error as Error,\n title: 'Error Requesting Access',\n httpStatusCode: (error as HTTPError).status,\n },\n )\n }\n}\n\n/**\n * Allow a user to sign up to a forms app.\n *\n * #### Example\n *\n * ```js\n * await authService.signUp({\n * formsAppId: 1,\n * email: 'test@oneblink.io',\n * firstName: 'first',\n * lastName: 'last',\n * })\n * ```\n *\n * @param {formsAppId, email, generatePassword, firstName, lastName}\n * @returns\n */\n\nexport async function signUp({\n formsAppId,\n email,\n firstName,\n lastName,\n}: {\n formsAppId: number\n email: string\n firstName?: string\n lastName?: string\n}): Promise<void> {\n try {\n const url = `${tenants.current.apiOrigin}/forms-apps/${formsAppId}/sign-up`\n return await postRequest(url, {\n email,\n firstName,\n lastName,\n })\n } catch (error) {\n Sentry.captureException(error)\n console.warn('Error while calling sign-up to forms app', error)\n\n throw new OneBlinkAppsError(\n 'Sorry, we could not create you a account right now, please try again. If the problem persists, please contact your administrator yourself.',\n {\n originalError: error as Error,\n title: 'Error Signing up',\n httpStatusCode: (error as HTTPError).status,\n },\n )\n }\n}\n"]}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Get keys for autosave data.
3
+ *
4
+ * #### Example
5
+ *
6
+ * ```js
7
+ * const keys = await autoSaveService.getAutoSaveDataKeys()
8
+ * if (keys.length) {
9
+ * // Display keys to user
10
+ * }
11
+ * ```
12
+ *
13
+ * @returns
14
+ */
15
+ export declare function getAutoSaveKeys(): Promise<string[]>;
16
+ /**
17
+ * Get saved data.
18
+ *
19
+ * #### Example
20
+ *
21
+ * ```js
22
+ * const formId = 1
23
+ * const myKey = 'my-key'
24
+ * const prefillData = await autoSaveService.getAutoSaveData(formId, myKey)
25
+ * if (prefillData) {
26
+ * // Ask user if they would like to continue with this prefill data.
27
+ * }
28
+ * ```
29
+ *
30
+ * @param formId
31
+ * @param autoSaveKey
32
+ * @returns
33
+ */
34
+ export declare function getAutoSaveData<T>(formId: number, autoSaveKey: string | null | undefined): Promise<T | null>;
35
+ /**
36
+ * Create or update saved data.
37
+ *
38
+ * #### Example
39
+ *
40
+ * ```js
41
+ * const formId = 1
42
+ * const myKey = 'my-key'
43
+ * await autoSaveService.upsertAutoSaveData(formId, myKey, {
44
+ * form: 'data',
45
+ * goes: 'here',
46
+ * })
47
+ * ```
48
+ *
49
+ * @param formId
50
+ * @param autoSaveKey
51
+ * @param model
52
+ * @returns
53
+ */
54
+ export declare function upsertAutoSaveData<T extends Record<string, unknown>>(formId: number, autoSaveKey: string | null | undefined, model: T): Promise<T>;
55
+ /**
56
+ * Delete saved data.
57
+ *
58
+ * #### Example
59
+ *
60
+ * ```js
61
+ * const formId = 1
62
+ * const myKey = 'my-key'
63
+ * await autoSaveService.deleteAutoSaveData(formId, myKey)
64
+ * ```
65
+ *
66
+ * @param formId
67
+ * @param autoSaveKey
68
+ * @returns
69
+ */
70
+ export declare function deleteAutoSaveData(formId: number, autoSaveKey: string | null | undefined): Promise<void>;
71
+ /**
72
+ * Delete all auto saved data.
73
+ *
74
+ * #### Example
75
+ *
76
+ * ```js
77
+ * await autoSaveService.deleteAllAutosaveData()
78
+ * ```
79
+ *
80
+ * @returns
81
+ */
82
+ export declare function deleteAllAutosaveData(): Promise<void>;
@@ -0,0 +1,105 @@
1
+ import utilsService from './services/utils';
2
+ const defaultAutoSaveKey = 'NO_AUTO_SAVE_KEY';
3
+ const autosaveKeyPrefix = 'AUTO_SAVE_';
4
+ function getAutoSaveKey(formId, autoSaveKey) {
5
+ return `${autosaveKeyPrefix}${formId}_${autoSaveKey || defaultAutoSaveKey}`;
6
+ }
7
+ /**
8
+ * Get keys for autosave data.
9
+ *
10
+ * #### Example
11
+ *
12
+ * ```js
13
+ * const keys = await autoSaveService.getAutoSaveDataKeys()
14
+ * if (keys.length) {
15
+ * // Display keys to user
16
+ * }
17
+ * ```
18
+ *
19
+ * @returns
20
+ */
21
+ export async function getAutoSaveKeys() {
22
+ return await utilsService.getLocalForageKeys(autosaveKeyPrefix);
23
+ }
24
+ /**
25
+ * Get saved data.
26
+ *
27
+ * #### Example
28
+ *
29
+ * ```js
30
+ * const formId = 1
31
+ * const myKey = 'my-key'
32
+ * const prefillData = await autoSaveService.getAutoSaveData(formId, myKey)
33
+ * if (prefillData) {
34
+ * // Ask user if they would like to continue with this prefill data.
35
+ * }
36
+ * ```
37
+ *
38
+ * @param formId
39
+ * @param autoSaveKey
40
+ * @returns
41
+ */
42
+ export async function getAutoSaveData(formId, autoSaveKey) {
43
+ const key = getAutoSaveKey(formId, autoSaveKey);
44
+ return utilsService.getLocalForageItem(key);
45
+ }
46
+ /**
47
+ * Create or update saved data.
48
+ *
49
+ * #### Example
50
+ *
51
+ * ```js
52
+ * const formId = 1
53
+ * const myKey = 'my-key'
54
+ * await autoSaveService.upsertAutoSaveData(formId, myKey, {
55
+ * form: 'data',
56
+ * goes: 'here',
57
+ * })
58
+ * ```
59
+ *
60
+ * @param formId
61
+ * @param autoSaveKey
62
+ * @param model
63
+ * @returns
64
+ */
65
+ export async function upsertAutoSaveData(formId, autoSaveKey, model) {
66
+ const key = getAutoSaveKey(formId, autoSaveKey);
67
+ return utilsService.setLocalForageItem(key, model);
68
+ }
69
+ /**
70
+ * Delete saved data.
71
+ *
72
+ * #### Example
73
+ *
74
+ * ```js
75
+ * const formId = 1
76
+ * const myKey = 'my-key'
77
+ * await autoSaveService.deleteAutoSaveData(formId, myKey)
78
+ * ```
79
+ *
80
+ * @param formId
81
+ * @param autoSaveKey
82
+ * @returns
83
+ */
84
+ export async function deleteAutoSaveData(formId, autoSaveKey) {
85
+ const key = getAutoSaveKey(formId, autoSaveKey);
86
+ return utilsService.removeLocalForageItem(key);
87
+ }
88
+ /**
89
+ * Delete all auto saved data.
90
+ *
91
+ * #### Example
92
+ *
93
+ * ```js
94
+ * await autoSaveService.deleteAllAutosaveData()
95
+ * ```
96
+ *
97
+ * @returns
98
+ */
99
+ export async function deleteAllAutosaveData() {
100
+ const keys = await getAutoSaveKeys();
101
+ console.log('Deleting all autosave data from local forage...');
102
+ await Promise.all(keys.map((k) => utilsService.removeLocalForageItem(k)));
103
+ console.log('All Autosave data deleted from local forage successfully.');
104
+ }
105
+ //# sourceMappingURL=auto-save-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-save-service.js","sourceRoot":"","sources":["../../src/apps/auto-save-service.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAE3C,MAAM,kBAAkB,GAAG,kBAAkB,CAAA;AAC7C,MAAM,iBAAiB,GAAG,YAAY,CAAA;AAEtC,SAAS,cAAc,CACrB,MAAc,EACd,WAAsC;IAEtC,OAAO,GAAG,iBAAiB,GAAG,MAAM,IAAI,WAAW,IAAI,kBAAkB,EAAE,CAAA;AAC7E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,OAAO,MAAM,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;AACjE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,WAAsC;IAEtC,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC/C,OAAO,YAAY,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,WAAsC,EACtC,KAAQ;IAER,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC/C,OAAO,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACpD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,WAAsC;IAEtC,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC/C,OAAO,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAA;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAA;IACpC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;IAC9D,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzE,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAA;AAC1E,CAAC","sourcesContent":["import utilsService from './services/utils'\n\nconst defaultAutoSaveKey = 'NO_AUTO_SAVE_KEY'\nconst autosaveKeyPrefix = 'AUTO_SAVE_'\n\nfunction getAutoSaveKey(\n formId: number,\n autoSaveKey: string | null | undefined,\n) {\n return `${autosaveKeyPrefix}${formId}_${autoSaveKey || defaultAutoSaveKey}`\n}\n\n/**\n * Get keys for autosave data.\n *\n * #### Example\n *\n * ```js\n * const keys = await autoSaveService.getAutoSaveDataKeys()\n * if (keys.length) {\n * // Display keys to user\n * }\n * ```\n *\n * @returns\n */\nexport async function getAutoSaveKeys(): Promise<string[]> {\n return await utilsService.getLocalForageKeys(autosaveKeyPrefix)\n}\n\n/**\n * Get saved data.\n *\n * #### Example\n *\n * ```js\n * const formId = 1\n * const myKey = 'my-key'\n * const prefillData = await autoSaveService.getAutoSaveData(formId, myKey)\n * if (prefillData) {\n * // Ask user if they would like to continue with this prefill data.\n * }\n * ```\n *\n * @param formId\n * @param autoSaveKey\n * @returns\n */\nexport async function getAutoSaveData<T>(\n formId: number,\n autoSaveKey: string | null | undefined,\n): Promise<T | null> {\n const key = getAutoSaveKey(formId, autoSaveKey)\n return utilsService.getLocalForageItem(key)\n}\n\n/**\n * Create or update saved data.\n *\n * #### Example\n *\n * ```js\n * const formId = 1\n * const myKey = 'my-key'\n * await autoSaveService.upsertAutoSaveData(formId, myKey, {\n * form: 'data',\n * goes: 'here',\n * })\n * ```\n *\n * @param formId\n * @param autoSaveKey\n * @param model\n * @returns\n */\nexport async function upsertAutoSaveData<T extends Record<string, unknown>>(\n formId: number,\n autoSaveKey: string | null | undefined,\n model: T,\n): Promise<T> {\n const key = getAutoSaveKey(formId, autoSaveKey)\n return utilsService.setLocalForageItem(key, model)\n}\n\n/**\n * Delete saved data.\n *\n * #### Example\n *\n * ```js\n * const formId = 1\n * const myKey = 'my-key'\n * await autoSaveService.deleteAutoSaveData(formId, myKey)\n * ```\n *\n * @param formId\n * @param autoSaveKey\n * @returns\n */\nexport async function deleteAutoSaveData(\n formId: number,\n autoSaveKey: string | null | undefined,\n): Promise<void> {\n const key = getAutoSaveKey(formId, autoSaveKey)\n return utilsService.removeLocalForageItem(key)\n}\n\n/**\n * Delete all auto saved data.\n *\n * #### Example\n *\n * ```js\n * await autoSaveService.deleteAllAutosaveData()\n * ```\n *\n * @returns\n */\nexport async function deleteAllAutosaveData() {\n const keys = await getAutoSaveKeys()\n console.log('Deleting all autosave data from local forage...')\n await Promise.all(keys.map((k) => utilsService.removeLocalForageItem(k)))\n console.log('All Autosave data deleted from local forage successfully.')\n}\n"]}
@@ -0,0 +1,148 @@
1
+ import { getLatestFormSubmissionDraftVersion } from './services/draft-data-store';
2
+ import { DraftSubmission, DraftSubmissionInput, LocalFormSubmissionDraft, ProgressListener } from './types/submissions';
3
+ /**
4
+ * Register a listener function that will be passed an array of Drafts when a
5
+ * draft is added, updated or deleted.
6
+ *
7
+ * #### Example
8
+ *
9
+ * ```js
10
+ * const listener = async (drafts) => {
11
+ * // use drafts here...
12
+ * }
13
+ * const deregister = await draftService.registerDraftsListener(listener)
14
+ *
15
+ * // When no longer needed, remember to deregister the listener
16
+ * deregister()
17
+ * ```
18
+ *
19
+ * @param listener
20
+ * @returns
21
+ */
22
+ declare function registerDraftsListener(listener: (drafts: LocalFormSubmissionDraft[]) => unknown): () => void;
23
+ /**
24
+ * Create or update a Draft in the local store and sync it with remote drafts.
25
+ * Will also handle cleaning up auto save data (if the `autoSaveKey` property is
26
+ * passed).
27
+ *
28
+ * #### Example
29
+ *
30
+ * ```js
31
+ * const abortController = new AbortController()
32
+ * const formSubmissionDraftId = 'd3aeb944-d0b3-11ea-87d0-0242ac130003' // pass `undefined` to create a new draft
33
+ * const autoSaveKey = 'SET ME TO DELETE AUTOSAVE DATA AFTER SAVING DRAFT'
34
+ * const draftSubmissionInput = {
35
+ * title: 1,
36
+ * formsAppId: 1,
37
+ * submission: {
38
+ * form: 'data',
39
+ * goes: 'here',
40
+ * },
41
+ * definition: {
42
+ * form: 'definition',
43
+ * goes: 'here',
44
+ * },
45
+ * }
46
+ * await draftService.upsertDraft({
47
+ * formSubmissionDraftId,
48
+ * autoSaveKey,
49
+ * draftSubmissionInput,
50
+ * abortSignal: abortController.signal,
51
+ * onProgress: (progress) => {
52
+ * // ...
53
+ * },
54
+ * })
55
+ * ```
56
+ *
57
+ * @param options
58
+ * @returns
59
+ */
60
+ declare function upsertDraft({ formSubmissionDraftId, draftSubmissionInput, autoSaveKey, onProgress, abortSignal, pendingTimestamp, }: {
61
+ formSubmissionDraftId: string | undefined;
62
+ draftSubmissionInput: DraftSubmissionInput;
63
+ autoSaveKey?: string;
64
+ onProgress?: ProgressListener;
65
+ abortSignal?: AbortSignal;
66
+ pendingTimestamp?: string;
67
+ }): Promise<void>;
68
+ /**
69
+ * Get an array of Drafts for the currently logged in user.
70
+ *
71
+ * #### Example
72
+ *
73
+ * ```js
74
+ * const drafts = await draftService.getDrafts()
75
+ * ```
76
+ *
77
+ * @returns
78
+ */
79
+ declare function getDrafts(): Promise<LocalFormSubmissionDraft[]>;
80
+ /**
81
+ * Get an array of Drafts that have been submitted publicly on this device.
82
+ *
83
+ * #### Example
84
+ *
85
+ * ```js
86
+ * const drafts = await draftService.getPublicDrafts()
87
+ * ```
88
+ *
89
+ * @returns
90
+ */
91
+ declare function getPublicDrafts(): Promise<LocalFormSubmissionDraft[]>;
92
+ /**
93
+ * Get a single Draft and the associated submission data.
94
+ *
95
+ * #### Example
96
+ *
97
+ * ```js
98
+ * const draftId = 'd3aeb944-d0b3-11ea-87d0-0242ac130003'
99
+ * const { draft, draftData, lastElementUpdated } =
100
+ * await draftService.getDraftAndData(draftId)
101
+ * // use "draftData" to prefill a from
102
+ * ```
103
+ *
104
+ * @param draftId
105
+ * @returns
106
+ */
107
+ declare function getDraftAndData(formsAppId: number, formSubmissionDraftId: string | undefined | null, abortSignal: AbortSignal | undefined): Promise<DraftSubmission | undefined>;
108
+ /**
109
+ * Remove a draft from the local store and sync with remote drafts.
110
+ *
111
+ * #### Example
112
+ *
113
+ * ```js
114
+ * const draftId = 'd3aeb944-d0b3-11ea-87d0-0242ac130003'
115
+ * await draftService.deleteDraft(draftId)
116
+ * ```
117
+ *
118
+ * @param draftId
119
+ * @param formsAppId
120
+ * @returns
121
+ */
122
+ declare function deleteDraft(formSubmissionDraftId: string, formsAppId: number, abortSignal?: AbortSignal): Promise<void>;
123
+ /**
124
+ * Force a sync of remote drafts with locally stored drafts. This function will
125
+ * swallow all errors thrown unless `true` is passed for the `throwError`
126
+ * property.
127
+ *
128
+ * #### Example
129
+ *
130
+ * ```js
131
+ * await draftService.syncDrafts({
132
+ * throwError: true,
133
+ * formsAppId: 1,
134
+ * })
135
+ * ```
136
+ *
137
+ * @param param0
138
+ * @returns
139
+ */
140
+ declare function syncDrafts({ formsAppId, throwError, abortSignal, }: {
141
+ /** The id of the OneBlink Forms App to sync drafts with */
142
+ formsAppId: number;
143
+ /** `true` to throw errors while syncing */
144
+ throwError?: boolean;
145
+ /** Signal to abort the requests */
146
+ abortSignal?: AbortSignal;
147
+ }): Promise<void>;
148
+ export { registerDraftsListener, upsertDraft, getDraftAndData, getDrafts, getPublicDrafts, deleteDraft, syncDrafts, getLatestFormSubmissionDraftVersion, LocalFormSubmissionDraft, };