@oneblink/sdk 0.4.4-beta.0 → 0.4.4-beta.2

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 (231) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -15
  3. package/package.json +48 -40
  4. package/tenants/civicplus.d.ts +1 -0
  5. package/tenants/civicplus.js +26 -0
  6. package/tenants/civicplus.js.map +1 -0
  7. package/tenants/classes/Approvals.d.ts +95 -0
  8. package/tenants/classes/Approvals.js +95 -0
  9. package/tenants/classes/Approvals.js.map +1 -0
  10. package/tenants/classes/DataManager.d.ts +45 -0
  11. package/tenants/classes/DataManager.js +68 -0
  12. package/tenants/classes/DataManager.js.map +1 -0
  13. package/tenants/classes/EmailTemplates.d.ts +100 -0
  14. package/tenants/classes/EmailTemplates.js +128 -0
  15. package/tenants/classes/EmailTemplates.js.map +1 -0
  16. package/tenants/classes/Forms.d.ts +667 -0
  17. package/tenants/classes/Forms.js +859 -0
  18. package/tenants/classes/Forms.js.map +1 -0
  19. package/tenants/classes/FormsAppEnvironments.d.ts +103 -0
  20. package/tenants/classes/FormsAppEnvironments.js +131 -0
  21. package/tenants/classes/FormsAppEnvironments.js.map +1 -0
  22. package/tenants/classes/FormsApps.d.ts +207 -0
  23. package/tenants/classes/FormsApps.js +296 -0
  24. package/tenants/classes/FormsApps.js.map +1 -0
  25. package/tenants/classes/Jobs.d.ts +102 -0
  26. package/tenants/classes/Jobs.js +180 -0
  27. package/tenants/classes/Jobs.js.map +1 -0
  28. package/tenants/classes/Keys.d.ts +33 -0
  29. package/tenants/classes/Keys.js +46 -0
  30. package/tenants/classes/Keys.js.map +1 -0
  31. package/tenants/classes/Organisations.d.ts +50 -0
  32. package/tenants/classes/Organisations.js +73 -0
  33. package/tenants/classes/Organisations.js.map +1 -0
  34. package/tenants/classes/PDF.d.ts +108 -0
  35. package/tenants/classes/PDF.js +133 -0
  36. package/tenants/classes/PDF.js.map +1 -0
  37. package/tenants/classes/TeamMembers.d.ts +34 -0
  38. package/tenants/classes/TeamMembers.js +55 -0
  39. package/tenants/classes/TeamMembers.js.map +1 -0
  40. package/tenants/classes/index.d.ts +13 -0
  41. package/tenants/classes/index.js +33 -0
  42. package/tenants/classes/index.js.map +1 -0
  43. package/tenants/classes/sendEmail.d.ts +36 -0
  44. package/tenants/classes/sendEmail.js +53 -0
  45. package/tenants/classes/sendEmail.js.map +1 -0
  46. package/tenants/lib/forms-schema/common.d.ts +9 -0
  47. package/tenants/lib/forms-schema/common.js +67 -0
  48. package/tenants/lib/forms-schema/common.js.map +1 -0
  49. package/tenants/lib/forms-schema/element-schema.d.ts +3 -0
  50. package/tenants/lib/forms-schema/element-schema.js +230 -0
  51. package/tenants/lib/forms-schema/element-schema.js.map +1 -0
  52. package/tenants/lib/forms-schema/elements/AbnElement.d.ts +4 -0
  53. package/tenants/lib/forms-schema/elements/AbnElement.js +22 -0
  54. package/tenants/lib/forms-schema/elements/AbnElement.js.map +1 -0
  55. package/tenants/lib/forms-schema/elements/AutocompleteElement.d.ts +4 -0
  56. package/tenants/lib/forms-schema/elements/AutocompleteElement.js +30 -0
  57. package/tenants/lib/forms-schema/elements/AutocompleteElement.js.map +1 -0
  58. package/tenants/lib/forms-schema/elements/BarcodeElement.d.ts +4 -0
  59. package/tenants/lib/forms-schema/elements/BarcodeElement.js +30 -0
  60. package/tenants/lib/forms-schema/elements/BarcodeElement.js.map +1 -0
  61. package/tenants/lib/forms-schema/elements/BooleanElement.d.ts +4 -0
  62. package/tenants/lib/forms-schema/elements/BooleanElement.js +22 -0
  63. package/tenants/lib/forms-schema/elements/BooleanElement.js.map +1 -0
  64. package/tenants/lib/forms-schema/elements/BsbElement.d.ts +4 -0
  65. package/tenants/lib/forms-schema/elements/BsbElement.js +22 -0
  66. package/tenants/lib/forms-schema/elements/BsbElement.js.map +1 -0
  67. package/tenants/lib/forms-schema/elements/CalculationElement.d.ts +4 -0
  68. package/tenants/lib/forms-schema/elements/CalculationElement.js +32 -0
  69. package/tenants/lib/forms-schema/elements/CalculationElement.js.map +1 -0
  70. package/tenants/lib/forms-schema/elements/CameraElement.d.ts +4 -0
  71. package/tenants/lib/forms-schema/elements/CameraElement.js +24 -0
  72. package/tenants/lib/forms-schema/elements/CameraElement.js.map +1 -0
  73. package/tenants/lib/forms-schema/elements/CaptchaElement.d.ts +4 -0
  74. package/tenants/lib/forms-schema/elements/CaptchaElement.js +20 -0
  75. package/tenants/lib/forms-schema/elements/CaptchaElement.js.map +1 -0
  76. package/tenants/lib/forms-schema/elements/CheckboxElement.d.ts +4 -0
  77. package/tenants/lib/forms-schema/elements/CheckboxElement.js +25 -0
  78. package/tenants/lib/forms-schema/elements/CheckboxElement.js.map +1 -0
  79. package/tenants/lib/forms-schema/elements/CivicaNameRecordElement.d.ts +4 -0
  80. package/tenants/lib/forms-schema/elements/CivicaNameRecordElement.js +47 -0
  81. package/tenants/lib/forms-schema/elements/CivicaNameRecordElement.js.map +1 -0
  82. package/tenants/lib/forms-schema/elements/CivicaStreetNameElement.d.ts +4 -0
  83. package/tenants/lib/forms-schema/elements/CivicaStreetNameElement.js +22 -0
  84. package/tenants/lib/forms-schema/elements/CivicaStreetNameElement.js.map +1 -0
  85. package/tenants/lib/forms-schema/elements/ComplianceElement.d.ts +4 -0
  86. package/tenants/lib/forms-schema/elements/ComplianceElement.js +24 -0
  87. package/tenants/lib/forms-schema/elements/ComplianceElement.js.map +1 -0
  88. package/tenants/lib/forms-schema/elements/DateElement.d.ts +5 -0
  89. package/tenants/lib/forms-schema/elements/DateElement.js +70 -0
  90. package/tenants/lib/forms-schema/elements/DateElement.js.map +1 -0
  91. package/tenants/lib/forms-schema/elements/DrawElement.d.ts +4 -0
  92. package/tenants/lib/forms-schema/elements/DrawElement.js +23 -0
  93. package/tenants/lib/forms-schema/elements/DrawElement.js.map +1 -0
  94. package/tenants/lib/forms-schema/elements/EmailElement.d.ts +4 -0
  95. package/tenants/lib/forms-schema/elements/EmailElement.js +24 -0
  96. package/tenants/lib/forms-schema/elements/EmailElement.js.map +1 -0
  97. package/tenants/lib/forms-schema/elements/FilesElement.d.ts +4 -0
  98. package/tenants/lib/forms-schema/elements/FilesElement.js +36 -0
  99. package/tenants/lib/forms-schema/elements/FilesElement.js.map +1 -0
  100. package/tenants/lib/forms-schema/elements/FormElement.d.ts +4 -0
  101. package/tenants/lib/forms-schema/elements/FormElement.js +17 -0
  102. package/tenants/lib/forms-schema/elements/FormElement.js.map +1 -0
  103. package/tenants/lib/forms-schema/elements/FreshdeskDependentFieldElement.d.ts +4 -0
  104. package/tenants/lib/forms-schema/elements/FreshdeskDependentFieldElement.js +31 -0
  105. package/tenants/lib/forms-schema/elements/FreshdeskDependentFieldElement.js.map +1 -0
  106. package/tenants/lib/forms-schema/elements/GeoscapeElement.d.ts +4 -0
  107. package/tenants/lib/forms-schema/elements/GeoscapeElement.js +23 -0
  108. package/tenants/lib/forms-schema/elements/GeoscapeElement.js.map +1 -0
  109. package/tenants/lib/forms-schema/elements/HTMLElement.d.ts +4 -0
  110. package/tenants/lib/forms-schema/elements/HTMLElement.js +22 -0
  111. package/tenants/lib/forms-schema/elements/HTMLElement.js.map +1 -0
  112. package/tenants/lib/forms-schema/elements/HeadingElement.d.ts +4 -0
  113. package/tenants/lib/forms-schema/elements/HeadingElement.js +18 -0
  114. package/tenants/lib/forms-schema/elements/HeadingElement.js.map +1 -0
  115. package/tenants/lib/forms-schema/elements/ImageElement.d.ts +4 -0
  116. package/tenants/lib/forms-schema/elements/ImageElement.js +18 -0
  117. package/tenants/lib/forms-schema/elements/ImageElement.js.map +1 -0
  118. package/tenants/lib/forms-schema/elements/InfoPageElement.d.ts +4 -0
  119. package/tenants/lib/forms-schema/elements/InfoPageElement.js +17 -0
  120. package/tenants/lib/forms-schema/elements/InfoPageElement.js.map +1 -0
  121. package/tenants/lib/forms-schema/elements/LocationElement.d.ts +4 -0
  122. package/tenants/lib/forms-schema/elements/LocationElement.js +21 -0
  123. package/tenants/lib/forms-schema/elements/LocationElement.js.map +1 -0
  124. package/tenants/lib/forms-schema/elements/NumberElement.d.ts +4 -0
  125. package/tenants/lib/forms-schema/elements/NumberElement.js +95 -0
  126. package/tenants/lib/forms-schema/elements/NumberElement.js.map +1 -0
  127. package/tenants/lib/forms-schema/elements/PhoneElement.d.ts +4 -0
  128. package/tenants/lib/forms-schema/elements/PhoneElement.js +24 -0
  129. package/tenants/lib/forms-schema/elements/PhoneElement.js.map +1 -0
  130. package/tenants/lib/forms-schema/elements/PointElement.d.ts +4 -0
  131. package/tenants/lib/forms-schema/elements/PointElement.js +24 -0
  132. package/tenants/lib/forms-schema/elements/PointElement.js.map +1 -0
  133. package/tenants/lib/forms-schema/elements/RadioElement.d.ts +4 -0
  134. package/tenants/lib/forms-schema/elements/RadioElement.js +24 -0
  135. package/tenants/lib/forms-schema/elements/RadioElement.js.map +1 -0
  136. package/tenants/lib/forms-schema/elements/RepeatableSetElement.d.ts +4 -0
  137. package/tenants/lib/forms-schema/elements/RepeatableSetElement.js +44 -0
  138. package/tenants/lib/forms-schema/elements/RepeatableSetElement.js.map +1 -0
  139. package/tenants/lib/forms-schema/elements/SectionElement.d.ts +4 -0
  140. package/tenants/lib/forms-schema/elements/SectionElement.js +34 -0
  141. package/tenants/lib/forms-schema/elements/SectionElement.js.map +1 -0
  142. package/tenants/lib/forms-schema/elements/SelectElement.d.ts +4 -0
  143. package/tenants/lib/forms-schema/elements/SelectElement.js +34 -0
  144. package/tenants/lib/forms-schema/elements/SelectElement.js.map +1 -0
  145. package/tenants/lib/forms-schema/elements/SummaryElement.d.ts +4 -0
  146. package/tenants/lib/forms-schema/elements/SummaryElement.js +22 -0
  147. package/tenants/lib/forms-schema/elements/SummaryElement.js.map +1 -0
  148. package/tenants/lib/forms-schema/elements/TextElement.d.ts +5 -0
  149. package/tenants/lib/forms-schema/elements/TextElement.js +45 -0
  150. package/tenants/lib/forms-schema/elements/TextElement.js.map +1 -0
  151. package/tenants/lib/forms-schema/elements/TimeElement.d.ts +4 -0
  152. package/tenants/lib/forms-schema/elements/TimeElement.js +23 -0
  153. package/tenants/lib/forms-schema/elements/TimeElement.js.map +1 -0
  154. package/tenants/lib/forms-schema/index.d.ts +15 -0
  155. package/tenants/lib/forms-schema/index.js +441 -0
  156. package/tenants/lib/forms-schema/index.js.map +1 -0
  157. package/tenants/lib/forms-schema/property-schemas.d.ts +53 -0
  158. package/tenants/lib/forms-schema/property-schemas.js +239 -0
  159. package/tenants/lib/forms-schema/property-schemas.js.map +1 -0
  160. package/tenants/lib/forms-validation/common.d.ts +5 -0
  161. package/tenants/lib/forms-validation/common.js +50 -0
  162. package/tenants/lib/forms-validation/common.js.map +1 -0
  163. package/tenants/lib/forms-validation/index.d.ts +8 -0
  164. package/tenants/lib/forms-validation/index.js +165 -0
  165. package/tenants/lib/forms-validation/index.js.map +1 -0
  166. package/tenants/lib/forms-validation/validate-form-events.d.ts +16 -0
  167. package/tenants/lib/forms-validation/validate-form-events.js +164 -0
  168. package/tenants/lib/forms-validation/validate-form-events.js.map +1 -0
  169. package/tenants/lib/generate-form-element.d.ts +2 -0
  170. package/tenants/lib/generate-form-element.js +49 -0
  171. package/tenants/lib/generate-form-element.js.map +1 -0
  172. package/tenants/lib/generate-form-url.d.ts +9 -0
  173. package/tenants/lib/generate-form-url.js +32 -0
  174. package/tenants/lib/generate-form-url.js.map +1 -0
  175. package/tenants/lib/generate-jwt.d.ts +1 -0
  176. package/tenants/lib/generate-jwt.js +15 -0
  177. package/tenants/lib/generate-jwt.js.map +1 -0
  178. package/tenants/lib/generate-page-element.d.ts +2 -0
  179. package/tenants/lib/generate-page-element.js +32 -0
  180. package/tenants/lib/generate-page-element.js.map +1 -0
  181. package/tenants/lib/generate-tenant.d.ts +2 -0
  182. package/tenants/lib/generate-tenant.js +13 -0
  183. package/tenants/lib/generate-tenant.js.map +1 -0
  184. package/tenants/lib/one-blink-api.d.ts +37 -0
  185. package/tenants/lib/one-blink-api.js +122 -0
  186. package/tenants/lib/one-blink-api.js.map +1 -0
  187. package/tenants/lib/package.d.ts +2 -0
  188. package/tenants/lib/package.js +6 -0
  189. package/tenants/lib/package.js.map +1 -0
  190. package/tenants/lib/pre-fill-data.d.ts +2 -0
  191. package/tenants/lib/pre-fill-data.js +29 -0
  192. package/tenants/lib/pre-fill-data.js.map +1 -0
  193. package/tenants/lib/retrieve-submission-data.d.ts +2 -0
  194. package/tenants/lib/retrieve-submission-data.js +26 -0
  195. package/tenants/lib/retrieve-submission-data.js.map +1 -0
  196. package/tenants/lib/tenant-configuration.d.ts +3 -0
  197. package/tenants/lib/tenant-configuration.js +22 -0
  198. package/tenants/lib/tenant-configuration.js.map +1 -0
  199. package/tenants/lib/upload-asset.d.ts +4 -0
  200. package/tenants/lib/upload-asset.js +30 -0
  201. package/tenants/lib/upload-asset.js.map +1 -0
  202. package/tenants/lib/user-token-helpers.d.ts +9 -0
  203. package/tenants/lib/user-token-helpers.js +34 -0
  204. package/tenants/lib/user-token-helpers.js.map +1 -0
  205. package/tenants/oneblink.d.ts +1 -0
  206. package/tenants/oneblink.js +26 -0
  207. package/tenants/oneblink.js.map +1 -0
  208. package/tenants/types.d.ts +304 -0
  209. package/tenants/types.js +18 -0
  210. package/tenants/types.js.map +1 -0
  211. package/changelog.md +0 -197
  212. package/classes/Forms.js +0 -244
  213. package/classes/FormsApps.js +0 -98
  214. package/classes/Jobs.js +0 -133
  215. package/classes/Keys.js +0 -23
  216. package/classes/Organisations.js +0 -25
  217. package/classes/TeamMembers.js +0 -34
  218. package/flow-typed/npm/axios_v0.18.x.js +0 -165
  219. package/flow-typed/npm/jest_v24.x.x.js +0 -1186
  220. package/flow-typed/types.js +0 -301
  221. package/index.js +0 -18
  222. package/lib/forms-schema.js +0 -860
  223. package/lib/forms-validation.js +0 -33
  224. package/lib/generate-form-element.js +0 -75
  225. package/lib/generate-form-url.js +0 -29
  226. package/lib/generate-jwt.js +0 -18
  227. package/lib/one-blink-api-error-handler.js +0 -31
  228. package/lib/one-blink-api.js +0 -107
  229. package/lib/pre-fill-data.js +0 -33
  230. package/lib/retrieve-submission-data.js +0 -29
  231. package/lib/tenant.js +0 -23
@@ -0,0 +1,296 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const one_blink_api_1 = __importDefault(require("../lib/one-blink-api"));
7
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
8
+ const basePath = `/forms-apps`;
9
+ class FormsApps extends one_blink_api_1.default {
10
+ /**
11
+ * #### Example
12
+ *
13
+ * ```typescript
14
+ * const OneBlink = require('@oneblink/sdk')
15
+ *
16
+ * const options = {
17
+ * accessKey: '123455678901ABCDEFGHIJKL',
18
+ * secretKey: '123455678901ABCDEFGHIJKL123455678901ABCDEFGHIJKL',
19
+ * }
20
+ * const formsAppsSDK = new OneBlink.FormsApps(options)
21
+ * ```
22
+ */
23
+ constructor(options) {
24
+ options = options || {};
25
+ super(options.accessKey, options.secretKey);
26
+ }
27
+ /**
28
+ * Verify a JWT and return its result
29
+ *
30
+ * #### Example
31
+ *
32
+ * ```javascript
33
+ * const token =
34
+ * 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
35
+ * // or
36
+ * const token =
37
+ * 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
38
+ * OneBlink.FormsApps.verifyJWT(token)
39
+ * .then((result) => {
40
+ * // Result is Decoded Token
41
+ * })
42
+ * .catch((e) => {
43
+ * // Token was invalid
44
+ * })
45
+ * ```
46
+ *
47
+ * @param token The JWT you wish to verify
48
+ */
49
+ async verifyJWT(token) {
50
+ if (token.includes('Bearer ')) {
51
+ token = token.split(' ')[1];
52
+ }
53
+ await this.getMyFormsApp(token);
54
+ return jsonwebtoken_1.default.decode(token);
55
+ }
56
+ /** @deprecated Use `(new FormsApps()).verifyJWT()` instead */
57
+ static async verifyJWT(token) {
58
+ const formsAppsClient = new FormsApps({
59
+ accessKey: 'not used',
60
+ secretKey: 'not used',
61
+ });
62
+ return await formsAppsClient.verifyJWT(token);
63
+ }
64
+ /**
65
+ * Get a single Forms App by its identifier
66
+ *
67
+ * #### Example
68
+ *
69
+ * ```javascript
70
+ * const formsAppId = 1
71
+ * formsAppsSDK.getFormsApp(formsAppId).then((formsApp) => {
72
+ * // Use Forms App here...
73
+ * })
74
+ * ```
75
+ *
76
+ * @param formsAppId The exact identifier of the Forms App you wish to get
77
+ */
78
+ async getFormsApp(formsAppId) {
79
+ if (typeof formsAppId !== 'number') {
80
+ return Promise.reject(new TypeError('Must supply "formsAppId" as a number'));
81
+ }
82
+ return super.getRequest(`${basePath}/${formsAppId}`);
83
+ }
84
+ /**
85
+ * Get a single Forms App for the Bearer token of a Forms App User
86
+ *
87
+ * #### Example
88
+ *
89
+ * ```javascript
90
+ * const bearerToken = ''
91
+ * formsAppsSDK.getMyFormsApp(bearerToken).then((formsApp) => {
92
+ * // Use Forms App here...
93
+ * })
94
+ * ```
95
+ *
96
+ * @param formsAppUserToken The Bearer token in the `Authorization` header
97
+ * from a request from an App User
98
+ */
99
+ async getMyFormsApp(formsAppUserToken) {
100
+ if (typeof formsAppUserToken !== 'string') {
101
+ return Promise.reject(new TypeError('Must supply "formsAppUserToken" as a string'));
102
+ }
103
+ const response = await super.request({
104
+ origin: one_blink_api_1.default.tenant.apiOrigin,
105
+ method: 'GET',
106
+ path: '/my-forms-app',
107
+ headers: {
108
+ Authorization: `Bearer ${formsAppUserToken}`,
109
+ },
110
+ });
111
+ return await response.json();
112
+ }
113
+ /**
114
+ * Create a Forms App
115
+ *
116
+ * #### Example
117
+ *
118
+ * ```javascript
119
+ * formsAppsSDK.createFormsApp(formsApp).then((savedFormsApp) => {
120
+ * // Use Forms App here...
121
+ * })
122
+ * ```
123
+ *
124
+ * @param formsApp Forms App properties
125
+ */
126
+ async createFormsApp(formsApp) {
127
+ return super.postRequest(basePath, formsApp);
128
+ }
129
+ /**
130
+ * Update a Forms App
131
+ *
132
+ * #### Example
133
+ *
134
+ * ```javascript
135
+ * formsAppsSDK.updateFormsApp(formsApp).then((savedFormsApp) => {
136
+ * // Use Forms App here...
137
+ * })
138
+ * ```
139
+ *
140
+ * @param formsApp Forms App properties
141
+ */
142
+ async updateFormsApp(formsApp) {
143
+ if (!formsApp || typeof formsApp.id !== 'number') {
144
+ return Promise.reject(new TypeError('Must supply "formsApp.id" as a number'));
145
+ }
146
+ return super.putRequest(`${basePath}/${formsApp.id}`, formsApp);
147
+ }
148
+ /**
149
+ * Delete a Forms App by its identifier
150
+ *
151
+ * #### Example
152
+ *
153
+ * ```javascript
154
+ * const formsAppId = 1
155
+ * formsAppsSDK.deleteFormsApp(formsAppId).then(() => {
156
+ * // Forms App has been deleted...
157
+ * })
158
+ * ```
159
+ *
160
+ * @param formsAppId The exact identifier of the Forms App you wish to delete
161
+ */
162
+ async deleteFormsApp(formsAppId) {
163
+ if (typeof formsAppId !== 'number') {
164
+ return Promise.reject(new TypeError('Must supply "formsAppId" as a number'));
165
+ }
166
+ return super.deleteRequest(`${basePath}/${formsAppId}`);
167
+ }
168
+ /**
169
+ * Update styles for Forms App
170
+ *
171
+ * #### Example
172
+ *
173
+ * ```javascript
174
+ * formsAppsSDK.updateStyles(formsAppId, styles).then(() => {
175
+ * // Styles have been updated...
176
+ * })
177
+ * ```
178
+ *
179
+ * @param formsAppId The exact identifier of the Forms App you wish to update the styles
180
+ * @param styles Forms App styles properties
181
+ */
182
+ async updateStyles(formsAppId, styles) {
183
+ if (typeof formsAppId !== 'number') {
184
+ return Promise.reject(new TypeError('Must supply "formsAppId" as a number'));
185
+ }
186
+ return super.putRequest(`${basePath}/${formsAppId}/styles`, styles);
187
+ }
188
+ /**
189
+ * Create a Forms App User
190
+ *
191
+ * #### Example
192
+ *
193
+ * ```javascript
194
+ * formsAppsSDK.createUser(formsAppUser).then((savedFormsAppUser) => {
195
+ * // Use Forms App User here...
196
+ * })
197
+ * ```
198
+ *
199
+ * @param formsAppUser Forms App User
200
+ */
201
+ async createUser(formsAppUser) {
202
+ return super.postRequest('/appUsers', formsAppUser);
203
+ }
204
+ /**
205
+ * Delete a Forms App User by its identifier
206
+ *
207
+ * #### Example
208
+ *
209
+ * ```javascript
210
+ * const formsAppUserId = 1
211
+ * formsAppsSDK.deleteUser(formsAppUserId).then(() => {
212
+ * // Forms App User has been deleted...
213
+ * })
214
+ * ```
215
+ *
216
+ * @param formsAppUserId The exact Forms App User identifier you wish to delete
217
+ */
218
+ async deleteUser(formsAppUserId) {
219
+ if (typeof formsAppUserId !== 'number') {
220
+ return Promise.reject(new TypeError('Must supply "formsAppUserId" as a number'));
221
+ }
222
+ return super.deleteRequest(`/appUsers/${formsAppUserId}`);
223
+ }
224
+ /**
225
+ * Get the email address forms app emails will be sent from
226
+ *
227
+ * #### Example
228
+ *
229
+ * ```javascript
230
+ * const res = await formsAppsSDK.getSendingAddress(formsAppId)
231
+ * ```
232
+ *
233
+ * @param formsAppId The ID of the forms app you wish to get the sending address for
234
+ */
235
+ async getSendingAddress(formsAppId) {
236
+ if (typeof formsAppId !== 'number') {
237
+ return Promise.reject(new TypeError('Must supply "formsAppId" as a number'));
238
+ }
239
+ return super.getRequest(`/v2/forms-apps/${formsAppId}/sending-address`);
240
+ }
241
+ /**
242
+ * Set the email address forms app emails will be sent from
243
+ *
244
+ * #### Example
245
+ *
246
+ * ```javascript
247
+ * const res = await formsAppsSDK.setSendingAddress(
248
+ * formsAppId,
249
+ * sendingAddressConfig,
250
+ * )
251
+ * ```
252
+ *
253
+ * @param formsAppId The ID of the forms app you wish to set the sending address for
254
+ * @param sendingAddressConfig The object containing the `emailAddress` &
255
+ * `emailName` properties
256
+ */
257
+ async setSendingAddress(formsAppId, sendingAddressConfig) {
258
+ if (typeof formsAppId !== 'number') {
259
+ return Promise.reject(new TypeError('Must supply "formsAppId" as a number'));
260
+ }
261
+ if (!sendingAddressConfig) {
262
+ return Promise.reject(new TypeError('Must supply an object containing "emailAddress" & "emailName" properties'));
263
+ }
264
+ if (typeof sendingAddressConfig.emailAddress !== 'string') {
265
+ return Promise.reject(new TypeError('Must supply "emailAddress" as a string'));
266
+ }
267
+ if (sendingAddressConfig.emailName &&
268
+ typeof sendingAddressConfig.emailName !== 'string') {
269
+ return Promise.reject(new TypeError('Must supply "emailName" as a string or not at all'));
270
+ }
271
+ return super.postRequest(`/v2/forms-apps/${formsAppId}/sending-address`, {
272
+ emailAddress: sendingAddressConfig.emailAddress,
273
+ emailName: sendingAddressConfig.emailName,
274
+ });
275
+ }
276
+ /**
277
+ * Remove a custom sending address for a forms app
278
+ *
279
+ * #### Example
280
+ *
281
+ * ```javascript
282
+ * const formsAppId = 1
283
+ * await formsAppsSDK.deleteSendingAddress(formsAppId)
284
+ * ```
285
+ *
286
+ * @param formsAppId The ID of the forms app you wish to remove the sending address from
287
+ */
288
+ async deleteSendingAddress(formsAppId) {
289
+ if (typeof formsAppId !== 'number') {
290
+ return Promise.reject(new TypeError('Must supply "formsAppId" as a number'));
291
+ }
292
+ return super.deleteRequest(`/forms-apps/${formsAppId}/sending-address`);
293
+ }
294
+ }
295
+ exports.default = FormsApps;
296
+ //# sourceMappingURL=FormsApps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormsApps.js","sourceRoot":"","sources":["../../src/classes/FormsApps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { SubmissionTypes } from '@oneblink/types';
2
+ import OneBlinkAPI from '../lib/one-blink-api';
3
+ import { ConstructorOptions, JobsSearchResult } from '../types';
4
+ export default class Jobs extends OneBlinkAPI {
5
+ /**
6
+ * #### Example
7
+ *
8
+ * ```typescript
9
+ * const OneBlink = require('@oneblink/sdk')
10
+ *
11
+ * const options = {
12
+ * accessKey: '123455678901ABCDEFGHIJKL',
13
+ * secretKey: '123455678901ABCDEFGHIJKL123455678901ABCDEFGHIJKL',
14
+ * }
15
+ * const jobs = new OneBlink.Jobs(options)
16
+ * ```
17
+ */
18
+ constructor(options: ConstructorOptions);
19
+ /**
20
+ * Create a single Job
21
+ *
22
+ * #### Example
23
+ *
24
+ * ```javascript
25
+ * const newJob = {
26
+ * username: 'user@domain.io',
27
+ * formId: 1,
28
+ * externalId: 'your-job-identifier',
29
+ * details: {
30
+ * key: 'JOB-123',
31
+ * title: 'Job Title',
32
+ * description: 'Job description',
33
+ * type: 'Type',
34
+ * priority: 3,
35
+ * },
36
+ * }
37
+ *
38
+ * const preFillData = {
39
+ * text_element: 'abc',
40
+ * number_element: 123,
41
+ * }
42
+ *
43
+ * jobs.createJob(newJob, preFillData).then((job) => {
44
+ * // job.id can be used to delete the Job
45
+ * })
46
+ * ```
47
+ *
48
+ * @param data The Job to create
49
+ * @param preFillData Key/value pairs with the form field names as keys and
50
+ * the pre-fill data as the values
51
+ */
52
+ createJob(data: SubmissionTypes.NewFormsAppJob, preFillData?: Record<string, unknown>): Promise<SubmissionTypes.FormsAppJob>;
53
+ /**
54
+ * Delete a single Job
55
+ *
56
+ * #### Example
57
+ *
58
+ * ```javascript
59
+ * const jobId = 'f73985fd-2dba-4bf7-abbe-e204889f5216'
60
+ * jobs.deleteJob(jobId).then(() => {
61
+ * // Job has been deleted
62
+ * })
63
+ * ```
64
+ *
65
+ * @param jobId The exact id of the job you wish to delete
66
+ */
67
+ deleteJob(jobId: string): Promise<void>;
68
+ /**
69
+ * Search Jobs
70
+ *
71
+ * #### Example
72
+ *
73
+ * ```javascript
74
+ * const results = await jobs.searchJobs({
75
+ * username: 'user@domain.io',
76
+ * formId: 10,
77
+ * })
78
+ *
79
+ * // an array of jobs
80
+ * const jobs = results.jobs
81
+ * ```
82
+ *
83
+ * @param options Search options
84
+ */
85
+ searchJobs(options?: {
86
+ /** The `externalId` property of a job */
87
+ externalId?: string;
88
+ /** The `formId` matching the form that a job was created for */
89
+ formId?: number;
90
+ /** The `username` that the job was assigned to */
91
+ username?: string;
92
+ /** Whether the job has been submitted or not */
93
+ isSubmitted?: boolean;
94
+ /** Limit the number of jobs returned */
95
+ limit?: number;
96
+ /**
97
+ * Skip a specific number of results, used in conjunction with `limit` to
98
+ * enforce paging
99
+ */
100
+ offset?: number;
101
+ }): Promise<JobsSearchResult>;
102
+ }
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const joi_1 = __importDefault(require("joi"));
7
+ const one_blink_api_1 = __importDefault(require("../lib/one-blink-api"));
8
+ const pre_fill_data_1 = __importDefault(require("../lib/pre-fill-data"));
9
+ const newJobSchema = joi_1.default.object()
10
+ .required()
11
+ .keys({
12
+ username: joi_1.default.string().required(),
13
+ formId: joi_1.default.number().required().min(1),
14
+ externalId: joi_1.default.string(),
15
+ details: joi_1.default.object().required().keys({
16
+ key: joi_1.default.string(),
17
+ title: joi_1.default.string().required(),
18
+ description: joi_1.default.string(),
19
+ type: joi_1.default.string(),
20
+ priority: joi_1.default.number(),
21
+ }),
22
+ });
23
+ class Jobs extends one_blink_api_1.default {
24
+ /**
25
+ * #### Example
26
+ *
27
+ * ```typescript
28
+ * const OneBlink = require('@oneblink/sdk')
29
+ *
30
+ * const options = {
31
+ * accessKey: '123455678901ABCDEFGHIJKL',
32
+ * secretKey: '123455678901ABCDEFGHIJKL123455678901ABCDEFGHIJKL',
33
+ * }
34
+ * const jobs = new OneBlink.Jobs(options)
35
+ * ```
36
+ */
37
+ constructor(options) {
38
+ options = options || {};
39
+ super(options.accessKey, options.secretKey);
40
+ }
41
+ /**
42
+ * Create a single Job
43
+ *
44
+ * #### Example
45
+ *
46
+ * ```javascript
47
+ * const newJob = {
48
+ * username: 'user@domain.io',
49
+ * formId: 1,
50
+ * externalId: 'your-job-identifier',
51
+ * details: {
52
+ * key: 'JOB-123',
53
+ * title: 'Job Title',
54
+ * description: 'Job description',
55
+ * type: 'Type',
56
+ * priority: 3,
57
+ * },
58
+ * }
59
+ *
60
+ * const preFillData = {
61
+ * text_element: 'abc',
62
+ * number_element: 123,
63
+ * }
64
+ *
65
+ * jobs.createJob(newJob, preFillData).then((job) => {
66
+ * // job.id can be used to delete the Job
67
+ * })
68
+ * ```
69
+ *
70
+ * @param data The Job to create
71
+ * @param preFillData Key/value pairs with the form field names as keys and
72
+ * the pre-fill data as the values
73
+ */
74
+ async createJob(data, preFillData) {
75
+ const result = newJobSchema.validate(data, { stripUnknown: true });
76
+ if (result.error) {
77
+ throw result.error;
78
+ }
79
+ const newJob = result.value;
80
+ if (preFillData) {
81
+ const preFillMeta = await super.postEmptyRequest(`/forms/${newJob.formId}/pre-fill-credentials`);
82
+ await (0, pre_fill_data_1.default)(preFillMeta, preFillData);
83
+ newJob.preFillFormDataId = preFillMeta.preFillFormDataId;
84
+ }
85
+ const job = await super.postRequest('/jobs', newJob);
86
+ return job;
87
+ }
88
+ /**
89
+ * Delete a single Job
90
+ *
91
+ * #### Example
92
+ *
93
+ * ```javascript
94
+ * const jobId = 'f73985fd-2dba-4bf7-abbe-e204889f5216'
95
+ * jobs.deleteJob(jobId).then(() => {
96
+ * // Job has been deleted
97
+ * })
98
+ * ```
99
+ *
100
+ * @param jobId The exact id of the job you wish to delete
101
+ */
102
+ deleteJob(jobId) {
103
+ if (!jobId || typeof jobId !== 'string') {
104
+ return Promise.reject(new TypeError('Must supply "jobId" as a string'));
105
+ }
106
+ return super.deleteRequest(`/jobs/${jobId}`);
107
+ }
108
+ /**
109
+ * Search Jobs
110
+ *
111
+ * #### Example
112
+ *
113
+ * ```javascript
114
+ * const results = await jobs.searchJobs({
115
+ * username: 'user@domain.io',
116
+ * formId: 10,
117
+ * })
118
+ *
119
+ * // an array of jobs
120
+ * const jobs = results.jobs
121
+ * ```
122
+ *
123
+ * @param options Search options
124
+ */
125
+ async searchJobs(options) {
126
+ let searchOptions = {};
127
+ if (options) {
128
+ if (options.externalId) {
129
+ if (typeof options.externalId !== 'string') {
130
+ throw new TypeError(`externalId must be provided as a string or not at all`);
131
+ }
132
+ searchOptions = Object.assign(searchOptions, {
133
+ externalId: options.externalId,
134
+ });
135
+ }
136
+ if (options.username) {
137
+ if (typeof options.username !== 'string') {
138
+ throw new TypeError(`username must be provided as a string or not at all`);
139
+ }
140
+ searchOptions = Object.assign(searchOptions, {
141
+ username: options.username,
142
+ });
143
+ }
144
+ if (options.isSubmitted) {
145
+ if (typeof options.isSubmitted !== 'boolean') {
146
+ throw new TypeError(`isSubmitted must be provided as a boolean or not at all`);
147
+ }
148
+ searchOptions = Object.assign(searchOptions, {
149
+ isSubmitted: options.isSubmitted,
150
+ });
151
+ }
152
+ if (options.formId) {
153
+ if (typeof options.formId !== 'number') {
154
+ throw new TypeError(`formId must be provided as a number or not at all`);
155
+ }
156
+ searchOptions = Object.assign(searchOptions, {
157
+ formId: options.formId,
158
+ });
159
+ }
160
+ if (options.limit) {
161
+ if (typeof options.limit !== 'number') {
162
+ throw new TypeError(`limit must be provided as a number or not at all`);
163
+ }
164
+ searchOptions = Object.assign(searchOptions, { limit: options.limit });
165
+ }
166
+ if (options.offset) {
167
+ if (typeof options.offset !== 'number') {
168
+ throw new TypeError(`offset must be provided as a number or not at all`);
169
+ }
170
+ searchOptions = Object.assign(searchOptions, {
171
+ offset: options.offset,
172
+ });
173
+ }
174
+ }
175
+ const results = await super.searchRequest(`/jobs`, searchOptions);
176
+ return results;
177
+ }
178
+ }
179
+ exports.default = Jobs;
180
+ //# sourceMappingURL=Jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Jobs.js","sourceRoot":"","sources":["../../src/classes/Jobs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { KeyTypes } from '@oneblink/types';
2
+ import OneBlinkAPI from '../lib/one-blink-api';
3
+ import { ConstructorOptions } from '../types';
4
+ export default class Keys extends OneBlinkAPI {
5
+ /**
6
+ * #### Example
7
+ *
8
+ * ```typescript
9
+ * const OneBlink = require('@oneblink/sdk')
10
+ *
11
+ * const options = {
12
+ * accessKey: '123455678901ABCDEFGHIJKL',
13
+ * secretKey: '123455678901ABCDEFGHIJKL123455678901ABCDEFGHIJKL',
14
+ * }
15
+ * const keys = new OneBlink.Keys(options)
16
+ * ```
17
+ */
18
+ constructor(options: ConstructorOptions);
19
+ /**
20
+ * #### Example
21
+ *
22
+ * ```javascript
23
+ * const keyId = '123455678901ABCDEFGHIJKL'
24
+ * keys.getKey(keyId).then((key) => {
25
+ * // Use key here...
26
+ * })
27
+ * ```
28
+ *
29
+ * @param keyId The exact id of the key you wish to get
30
+ * @returns
31
+ */
32
+ getKey(keyId: string): Promise<KeyTypes.Key>;
33
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const one_blink_api_1 = __importDefault(require("../lib/one-blink-api"));
7
+ class Keys extends one_blink_api_1.default {
8
+ /**
9
+ * #### Example
10
+ *
11
+ * ```typescript
12
+ * const OneBlink = require('@oneblink/sdk')
13
+ *
14
+ * const options = {
15
+ * accessKey: '123455678901ABCDEFGHIJKL',
16
+ * secretKey: '123455678901ABCDEFGHIJKL123455678901ABCDEFGHIJKL',
17
+ * }
18
+ * const keys = new OneBlink.Keys(options)
19
+ * ```
20
+ */
21
+ constructor(options) {
22
+ options = options || {};
23
+ super(options.accessKey, options.secretKey);
24
+ }
25
+ /**
26
+ * #### Example
27
+ *
28
+ * ```javascript
29
+ * const keyId = '123455678901ABCDEFGHIJKL'
30
+ * keys.getKey(keyId).then((key) => {
31
+ * // Use key here...
32
+ * })
33
+ * ```
34
+ *
35
+ * @param keyId The exact id of the key you wish to get
36
+ * @returns
37
+ */
38
+ getKey(keyId) {
39
+ if (typeof keyId !== 'string') {
40
+ return Promise.reject(new TypeError('Must supply "keyId" as a string'));
41
+ }
42
+ return super.getRequest(`/keys/${keyId}`);
43
+ }
44
+ }
45
+ exports.default = Keys;
46
+ //# sourceMappingURL=Keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Keys.js","sourceRoot":"","sources":["../../src/classes/Keys.ts"],"names":[],"mappings":";;;;;AACA,yEAA8C;AAG9C,MAAqB,IAAK,SAAQ,uBAAW;IAC3C;;;;;;;;;;;;OAYG;IACH,YAAY,OAA2B;QACrC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;QACvB,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC7C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,KAAa;QAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC,CAAA;SACxE;QAED,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,KAAK,EAAE,CAAC,CAAA;IAC3C,CAAC;CACF;AAvCD,uBAuCC"}