@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.
- package/dist/OneBlinkForm.d.ts +6 -6
- package/dist/OneBlinkFormBase.js +1 -0
- package/dist/OneBlinkFormBase.js.map +1 -1
- package/dist/apps/Sentry.d.ts +7 -0
- package/dist/apps/Sentry.js +16 -0
- package/dist/apps/Sentry.js.map +1 -0
- package/dist/apps/approvals-service.d.ts +390 -0
- package/dist/apps/approvals-service.js +987 -0
- package/dist/apps/approvals-service.js.map +1 -0
- package/dist/apps/attachments-service.d.ts +49 -0
- package/dist/apps/attachments-service.js +134 -0
- package/dist/apps/attachments-service.js.map +1 -0
- package/dist/apps/auth-service.d.ts +114 -0
- package/dist/apps/auth-service.js +194 -0
- package/dist/apps/auth-service.js.map +1 -0
- package/dist/apps/auto-save-service.d.ts +82 -0
- package/dist/apps/auto-save-service.js +105 -0
- package/dist/apps/auto-save-service.js.map +1 -0
- package/dist/apps/draft-service.d.ts +148 -0
- package/dist/apps/draft-service.js +583 -0
- package/dist/apps/draft-service.js.map +1 -0
- package/dist/apps/form-service.d.ts +204 -0
- package/dist/apps/form-service.js +718 -0
- package/dist/apps/form-service.js.map +1 -0
- package/dist/apps/form-store-service.d.ts +141 -0
- package/dist/apps/form-store-service.js +114 -0
- package/dist/apps/form-store-service.js.map +1 -0
- package/dist/apps/forms-app-environment-service.d.ts +19 -0
- package/dist/apps/forms-app-environment-service.js +55 -0
- package/dist/apps/forms-app-environment-service.js.map +1 -0
- package/dist/apps/forms-app-service.d.ts +18 -0
- package/dist/apps/forms-app-service.js +53 -0
- package/dist/apps/forms-app-service.js.map +1 -0
- package/dist/apps/index.d.ts +252 -0
- package/dist/apps/index.js +254 -0
- package/dist/apps/index.js.map +1 -0
- package/dist/apps/job-service.d.ts +20 -0
- package/dist/apps/job-service.js +95 -0
- package/dist/apps/job-service.js.map +1 -0
- package/dist/apps/localisation-service.d.ts +207 -0
- package/dist/apps/localisation-service.js +321 -0
- package/dist/apps/localisation-service.js.map +1 -0
- package/dist/apps/notification-service.d.ts +83 -0
- package/dist/apps/notification-service.js +315 -0
- package/dist/apps/notification-service.js.map +1 -0
- package/dist/apps/offline-service.d.ts +18 -0
- package/dist/apps/offline-service.js +25 -0
- package/dist/apps/offline-service.js.map +1 -0
- package/dist/apps/payment-service.d.ts +110 -0
- package/dist/apps/payment-service.js +182 -0
- package/dist/apps/payment-service.js.map +1 -0
- package/dist/apps/prefill-service.d.ts +14 -0
- package/dist/apps/prefill-service.js +19 -0
- package/dist/apps/prefill-service.js.map +1 -0
- package/dist/apps/scheduled-tasks-service.d.ts +127 -0
- package/dist/apps/scheduled-tasks-service.js +240 -0
- package/dist/apps/scheduled-tasks-service.js.map +1 -0
- package/dist/apps/scheduling-service.d.ts +101 -0
- package/dist/apps/scheduling-service.js +171 -0
- package/dist/apps/scheduling-service.js.map +1 -0
- package/dist/apps/services/AWSCognitoClient.d.ts +55 -0
- package/dist/apps/services/AWSCognitoClient.js +436 -0
- package/dist/apps/services/AWSCognitoClient.js.map +1 -0
- package/dist/apps/services/api/drafts.d.ts +7 -0
- package/dist/apps/services/api/drafts.js +236 -0
- package/dist/apps/services/api/drafts.js.map +1 -0
- package/dist/apps/services/api/notifications.d.ts +3 -0
- package/dist/apps/services/api/notifications.js +60 -0
- package/dist/apps/services/api/notifications.js.map +1 -0
- package/dist/apps/services/api/payment.d.ts +23 -0
- package/dist/apps/services/api/payment.js +235 -0
- package/dist/apps/services/api/payment.js.map +1 -0
- package/dist/apps/services/api/post-submission-attachment-urls.d.ts +7 -0
- package/dist/apps/services/api/post-submission-attachment-urls.js +19 -0
- package/dist/apps/services/api/post-submission-attachment-urls.js.map +1 -0
- package/dist/apps/services/api/prefill.d.ts +1 -0
- package/dist/apps/services/api/prefill.js +70 -0
- package/dist/apps/services/api/prefill.js.map +1 -0
- package/dist/apps/services/api/receipt-id.d.ts +2 -0
- package/dist/apps/services/api/receipt-id.js +54 -0
- package/dist/apps/services/api/receipt-id.js.map +1 -0
- package/dist/apps/services/api/scheduling.d.ts +38 -0
- package/dist/apps/services/api/scheduling.js +142 -0
- package/dist/apps/services/api/scheduling.js.map +1 -0
- package/dist/apps/services/api/submissions.d.ts +18 -0
- package/dist/apps/services/api/submissions.js +166 -0
- package/dist/apps/services/api/submissions.js.map +1 -0
- package/dist/apps/services/cognito.d.ts +302 -0
- package/dist/apps/services/cognito.js +441 -0
- package/dist/apps/services/cognito.js.map +1 -0
- package/dist/apps/services/draft-data-store.d.ts +16 -0
- package/dist/apps/services/draft-data-store.js +115 -0
- package/dist/apps/services/draft-data-store.js.map +1 -0
- package/dist/apps/services/errors/oneBlinkAppsError.d.ts +35 -0
- package/dist/apps/services/errors/oneBlinkAppsError.js +32 -0
- package/dist/apps/services/errors/oneBlinkAppsError.js.map +1 -0
- package/dist/apps/services/external-id-generation.d.ts +4 -0
- package/dist/apps/services/external-id-generation.js +59 -0
- package/dist/apps/services/external-id-generation.js.map +1 -0
- package/dist/apps/services/fetch.d.ts +12 -0
- package/dist/apps/services/fetch.js +95 -0
- package/dist/apps/services/fetch.js.map +1 -0
- package/dist/apps/services/forms-key.d.ts +51 -0
- package/dist/apps/services/forms-key.js +83 -0
- package/dist/apps/services/forms-key.js.map +1 -0
- package/dist/apps/services/generate-generic-error.d.ts +3 -0
- package/dist/apps/services/generate-generic-error.js +52 -0
- package/dist/apps/services/generate-generic-error.js.map +1 -0
- package/dist/apps/services/generateOneBlinkDownloader.d.ts +2 -0
- package/dist/apps/services/generateOneBlinkDownloader.js +11 -0
- package/dist/apps/services/generateOneBlinkDownloader.js.map +1 -0
- package/dist/apps/services/generateOneBlinkUploader.d.ts +2 -0
- package/dist/apps/services/generateOneBlinkUploader.js +11 -0
- package/dist/apps/services/generateOneBlinkUploader.js.map +1 -0
- package/dist/apps/services/getDeviceInformation.d.ts +17 -0
- package/dist/apps/services/getDeviceInformation.js +38 -0
- package/dist/apps/services/getDeviceInformation.js.map +1 -0
- package/dist/apps/services/integration-elements.d.ts +383 -0
- package/dist/apps/services/integration-elements.js +761 -0
- package/dist/apps/services/integration-elements.js.map +1 -0
- package/dist/apps/services/job-prefill.d.ts +40 -0
- package/dist/apps/services/job-prefill.js +78 -0
- package/dist/apps/services/job-prefill.js.map +1 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.d.ts +29 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js +59 -0
- package/dist/apps/services/payment-providers/BPOINTPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.d.ts +27 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.js +63 -0
- package/dist/apps/services/payment-providers/CPPayPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.d.ts +30 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js +116 -0
- package/dist/apps/services/payment-providers/NSWGovPayPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.d.ts +49 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js +116 -0
- package/dist/apps/services/payment-providers/WestpacQuickStreamPaymentProvider.js.map +1 -0
- package/dist/apps/services/payment-providers/receipt-items.d.ts +8 -0
- package/dist/apps/services/payment-providers/receipt-items.js +58 -0
- package/dist/apps/services/payment-providers/receipt-items.js.map +1 -0
- package/dist/apps/services/pending-queue.d.ts +150 -0
- package/dist/apps/services/pending-queue.js +316 -0
- package/dist/apps/services/pending-queue.js.map +1 -0
- package/dist/apps/services/prepareSubmissionData.d.ts +2 -0
- package/dist/apps/services/prepareSubmissionData.js +113 -0
- package/dist/apps/services/prepareSubmissionData.js.map +1 -0
- package/dist/apps/services/query-string.d.ts +1 -0
- package/dist/apps/services/query-string.js +16 -0
- package/dist/apps/services/query-string.js.map +1 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.d.ts +3 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.js +18 -0
- package/dist/apps/services/replaceInjectablesWithSubmissionValues.js.map +1 -0
- package/dist/apps/services/schedulingHandlers.d.ts +36 -0
- package/dist/apps/services/schedulingHandlers.js +76 -0
- package/dist/apps/services/schedulingHandlers.js.map +1 -0
- package/dist/apps/services/server-validation.d.ts +2 -0
- package/dist/apps/services/server-validation.js +36 -0
- package/dist/apps/services/server-validation.js.map +1 -0
- package/dist/apps/services/serverRequest.d.ts +5 -0
- package/dist/apps/services/serverRequest.js +24 -0
- package/dist/apps/services/serverRequest.js.map +1 -0
- package/dist/apps/services/submit.d.ts +19 -0
- package/dist/apps/services/submit.js +219 -0
- package/dist/apps/services/submit.js.map +1 -0
- package/dist/apps/services/uploadAttachment.d.ts +52 -0
- package/dist/apps/services/uploadAttachment.js +73 -0
- package/dist/apps/services/uploadAttachment.js.map +1 -0
- package/dist/apps/services/user-token.d.ts +27 -0
- package/dist/apps/services/user-token.js +33 -0
- package/dist/apps/services/user-token.js.map +1 -0
- package/dist/apps/services/utils.d.ts +12 -0
- package/dist/apps/services/utils.js +100 -0
- package/dist/apps/services/utils.js.map +1 -0
- package/dist/apps/submission-service.d.ts +226 -0
- package/dist/apps/submission-service.js +425 -0
- package/dist/apps/submission-service.js.map +1 -0
- package/dist/apps/tenants.d.ts +29 -0
- package/dist/apps/tenants.js +127 -0
- package/dist/apps/tenants.js.map +1 -0
- package/dist/apps/types/form.d.ts +4 -0
- package/dist/apps/types/form.js +2 -0
- package/dist/apps/types/form.js.map +1 -0
- package/dist/apps/types/payments.d.ts +45 -0
- package/dist/apps/types/payments.js +2 -0
- package/dist/apps/types/payments.js.map +1 -0
- package/dist/apps/types/scheduling.d.ts +5 -0
- package/dist/apps/types/scheduling.js +2 -0
- package/dist/apps/types/scheduling.js.map +1 -0
- package/dist/apps/types/submissions.d.ts +175 -0
- package/dist/apps/types/submissions.js +2 -0
- package/dist/apps/types/submissions.js.map +1 -0
- package/dist/components/CustomAccordion.d.ts +3 -3
- package/dist/components/Lists.d.ts +4 -1
- package/dist/components/formStore/display/ElementDisplay.js +2 -2
- package/dist/components/formStore/display/ElementDisplay.js.map +1 -1
- package/dist/components/formStore/useFormStoreTableContext.d.ts +2 -2
- package/dist/components/mfa/MultiFactorAuthentication.d.ts +1 -1
- package/dist/components/renderer/LookupNotification.js +1 -1
- package/dist/components/renderer/LookupNotification.js.map +1 -1
- package/dist/form-elements/FormElementAutocomplete.js +1 -1
- package/dist/form-elements/FormElementAutocomplete.js.map +1 -1
- package/dist/hooks/attachments/useAttachment.js +1 -1
- package/dist/hooks/attachments/useAttachment.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/services/download-file.js +1 -1
- package/dist/services/download-file.js.map +1 -1
- package/dist/styles.css +208 -204
- 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, };
|