@oneblink/sdk 0.4.4-beta.1 → 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 +21 -21
  2. package/README.md +7 -19
  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 -201
  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 -859
  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
@@ -1,33 +0,0 @@
1
- // @flow
2
- 'use strict'
3
-
4
- const { elementSchema, formSchema } = require('./forms-schema.js')
5
-
6
- const Joi = require('joi')
7
-
8
- function validateJoiSchema /* :: <T> */ (
9
- data /* : mixed */,
10
- schema /* : Object */,
11
- options /* : ?Object */
12
- ) /* : T */ {
13
- const result = Joi.validate(data, schema, options)
14
- if (result.error) {
15
- throw result.error
16
- }
17
- return result.value
18
- }
19
-
20
- function validateWithFormSchema (form /* : mixed */) /* : Form */ {
21
- const validatedForm = validateJoiSchema(form, formSchema, { stripUnknown: true })
22
- return validatedForm
23
- }
24
-
25
- function validateWithElementSchema (element /* : mixed */) /* : FormElement */ {
26
- const validatedElement = validateJoiSchema(element, elementSchema, { stripUnknown: true })
27
- return validatedElement
28
- }
29
-
30
- module.exports = {
31
- validateWithFormSchema,
32
- validateWithElementSchema
33
- }
@@ -1,75 +0,0 @@
1
- // @flow
2
- 'use strict'
3
-
4
- const uuid = require('uuid/v4')
5
-
6
- const { validateWithElementSchema } = require('../lib/forms-validation.js')
7
-
8
- function generateFormElement (
9
- formElementGenerationData /* : mixed */
10
- ) /* : FormElement */ {
11
- if (!formElementGenerationData) {
12
- throw new Error('no form element generation data provided, please provide this data to generate a form element')
13
- }
14
-
15
- // initialise empty element object and spread data passed by user
16
- const formElement /* : Object */ = { ...formElementGenerationData }
17
-
18
- // element property: id
19
- formElement.id = uuid()
20
-
21
- // element property: options
22
- if (Array.isArray(formElementGenerationData.options)) {
23
- const options = formElementGenerationData.options.map((o, index) => {
24
- const option = o || {}
25
- return {
26
- ...option,
27
- id: uuid(),
28
- label: option.label || option.value || `Option ${index + 1}`,
29
- value: option.value || index.toString()
30
- }
31
- })
32
- formElement.options = options
33
- }
34
-
35
- // element property: type || default to: 'text'
36
- if (typeof formElementGenerationData.type === 'string') {
37
- formElement.type = formElementGenerationData.type
38
- } else {
39
- formElement.type = 'text'
40
- }
41
-
42
- // element property: required || default to: false
43
- if (typeof formElementGenerationData.required === 'boolean') {
44
- formElement.required = formElementGenerationData.required
45
- } else {
46
- formElement.required = false
47
- }
48
-
49
- // element property: label || default to: {type}
50
- if (typeof formElementGenerationData.label === 'string') {
51
- formElement.label = formElementGenerationData.label
52
- } else {
53
- formElement.label = formElement.type
54
- }
55
-
56
- // element property: name || default to: {label(without spaces)}
57
- if (typeof formElementGenerationData.name !== 'string') {
58
- formElement.name = formElement.label.replace(/\s+/g, '_')
59
- }
60
-
61
- // element property: conditionallyShow || default: false
62
- if (typeof formElementGenerationData.conditionallyShow === 'boolean') {
63
- formElement.conditionallyShow = formElementGenerationData.conditionallyShow
64
- } else {
65
- formElement.conditionallyShow = false
66
- }
67
-
68
- // element property: readOnly || default: false
69
- formElement.readOnly = formElementGenerationData.readOnly || false
70
-
71
- const validatedFormElement = validateWithElementSchema(formElement)
72
- return validatedFormElement
73
- }
74
-
75
- module.exports = generateFormElement
@@ -1,29 +0,0 @@
1
- // @flow
2
- 'use strict'
3
-
4
- const querystring = require('querystring')
5
-
6
- function generateFormUrl (
7
- endpoint /* : string */,
8
- formId /* : number */,
9
- token /* : string */,
10
- externalId /* : mixed */,
11
- preFillFormDataId /* : ?string */
12
- ) {
13
- if (!formId) {
14
- throw new Error('no form id provided, please provide a form id to generate a url')
15
- }
16
- let searchParams = {
17
- access_key: token
18
- }
19
- if (externalId) {
20
- searchParams = Object.assign({}, searchParams, { externalId })
21
- }
22
- if (preFillFormDataId) {
23
- searchParams = Object.assign({}, searchParams, { preFillFormDataId })
24
- }
25
- const search = querystring.stringify(searchParams)
26
- return `${endpoint}/${formId}?${search}`
27
- }
28
-
29
- module.exports = generateFormUrl
@@ -1,18 +0,0 @@
1
- // @flow
2
- 'use strict'
3
-
4
- const jwt = require('jsonwebtoken')
5
-
6
- function generateJWT (
7
- accessKey /* : string */,
8
- secretKey /* : string */,
9
- expiresInSeconds /* : number */
10
- ) {
11
- return jwt.sign({
12
- iss: accessKey
13
- }, secretKey, {
14
- expiresIn: expiresInSeconds
15
- })
16
- }
17
-
18
- module.exports = generateJWT
@@ -1,31 +0,0 @@
1
- // @flow
2
- 'use strict'
3
-
4
- /* ::
5
- import type {
6
- $AxiosError
7
- } from 'axios'
8
- */
9
-
10
- function oneBlinkAPIErrorHandler(
11
- error /* : $AxiosError<{
12
- error: string,
13
- message: string,
14
- statusCode: number
15
- }> */
16
- ) {
17
- if (error.response) {
18
- // The request was made and the server responded with a status code
19
- // that falls out of the range of 2xx
20
- error.response.data = error.response.data || {
21
- message: 'OneBlink API Internal Server Error'
22
- }
23
- const err = new Error(error.response.data.message)
24
- err.name = 'OneBlinkAPIError'
25
- throw err
26
- }
27
-
28
- throw error
29
- }
30
-
31
- module.exports = oneBlinkAPIErrorHandler
@@ -1,107 +0,0 @@
1
- // @flow
2
- 'use strict'
3
-
4
- /* ::
5
- import type {
6
- Axios,
7
- $AxiosError
8
- } from 'axios'
9
- */
10
-
11
- const querystring = require('querystring')
12
-
13
- const axios = require('axios')
14
-
15
- const pkg = require('../package.json')
16
- const generateJWT = require('./generate-jwt.js')
17
- const errorHandler = require('./one-blink-api-error-handler.js')
18
-
19
- module.exports = class OneBlinkAPI {
20
- /* ::
21
- oneBlinkAPI: Axios
22
- accessKey: string
23
- secretKey: string
24
- jwtExpiry: number
25
- */
26
- constructor(
27
- apiOrigin /* : mixed */,
28
- accessKey /* : mixed */,
29
- secretKey /* : mixed */
30
- ) {
31
- if (!accessKey || typeof accessKey !== 'string') {
32
- throw new TypeError('Must supply Access Key as a string')
33
- }
34
- if (!secretKey || typeof secretKey !== 'string') {
35
- throw new TypeError('Must supply Secret Key as a string')
36
- }
37
-
38
- this.jwtExpiry = 300
39
- this.accessKey = accessKey
40
- this.secretKey = secretKey
41
- this.oneBlinkAPI = axios.create({
42
- baseURL:
43
- typeof apiOrigin === 'string' ? apiOrigin : 'https://auth-api.blinkm.io'
44
- })
45
-
46
- const userAgentHeader = `Node.js ${pkg.name} / ${pkg.version}`
47
-
48
- this.oneBlinkAPI.defaults.headers.common['User-Agent'] = userAgentHeader
49
- }
50
-
51
- get defaultRequestConfig() {
52
- return {
53
- headers: {
54
- Authorization: `Bearer ${generateJWT(
55
- this.accessKey,
56
- this.secretKey,
57
- this.jwtExpiry
58
- )}`
59
- }
60
- }
61
- }
62
-
63
- getRequest /* :: <TOut> */(path /* : string */) /* : Promise<TOut> */ {
64
- // 5 minute expiry
65
- return this.oneBlinkAPI
66
- .get(path, this.defaultRequestConfig)
67
- .then(response => response.data)
68
- .catch(errorHandler)
69
- }
70
-
71
- searchRequest /*:: <T, TOut> */(
72
- path /* : string */,
73
- searchParams /* : ?T */
74
- ) /* : Promise<TOut> */ {
75
- const search = querystring.stringify(searchParams || {})
76
-
77
- return this.getRequest(`${path}?${search}`)
78
- }
79
-
80
- putRequest(path /* : string */, body /* : ?mixed */) /* Promise<Object> */ {
81
- // 5 minute expiry
82
- return this.oneBlinkAPI
83
- .put(path, body, this.defaultRequestConfig)
84
- .then(response => response.data)
85
- .catch(errorHandler)
86
- }
87
-
88
- postRequest /*:: <T, TOut> */(
89
- path /* : string */,
90
- body /* : ?T */
91
- ) /* : Promise<TOut> */ {
92
- // 5 minute expiry
93
- return this.oneBlinkAPI
94
- .post(path, body, this.defaultRequestConfig)
95
- .then(response => response.data)
96
- .catch(errorHandler)
97
- }
98
-
99
- async deleteRequest(path /* : string */) /* : Promise<void> */ {
100
- // 5 minute expiry
101
- try {
102
- await this.oneBlinkAPI.delete(path, this.defaultRequestConfig)
103
- } catch (error) {
104
- errorHandler(error)
105
- }
106
- }
107
- }
@@ -1,33 +0,0 @@
1
- // @flow
2
- 'use strict'
3
-
4
- const AWS = require('aws-sdk')
5
-
6
- function setPreFillData (
7
- preFillMeta /* : PreFillMeta */,
8
- data /* : mixed */
9
- )/* : Promise<mixed> */ {
10
- const s3 = new AWS.S3({
11
- region: preFillMeta.s3.region,
12
- accessKeyId: preFillMeta.credentials.AccessKeyId,
13
- secretAccessKey: preFillMeta.credentials.SecretAccessKey,
14
- sessionToken: preFillMeta.credentials.SessionToken
15
- })
16
-
17
- const objectMeta = {
18
- Bucket: preFillMeta.s3.bucket,
19
- Key: preFillMeta.s3.key,
20
- Body: Buffer.from(JSON.stringify(data) || '{}', 'UTF-8'),
21
- Expires: new Date(new Date().setFullYear(new Date().getFullYear() + 1)), // Max 1 year
22
- CacheControl: 'max-age=31536000' // Max 1 year(365 days)
23
- }
24
- const uploadOptions = {
25
- partSize: 5 * 1024 * 1024,
26
- queueSize: 1
27
- }
28
- return s3.upload(objectMeta, uploadOptions)
29
- .promise()
30
- .then(() => ({}))
31
- }
32
-
33
- module.exports = setPreFillData
@@ -1,29 +0,0 @@
1
- // @flow
2
- 'use strict'
3
-
4
- const AWS = require('aws-sdk')
5
-
6
- function getSubmissionData (
7
- retrievalData /* : FormRetrievalData */
8
- ) /* : Promise<S3SubmissionData> */ {
9
- const s3 = new AWS.S3({
10
- region: retrievalData.s3.region,
11
- accessKeyId: retrievalData.credentials.AccessKeyId,
12
- secretAccessKey: retrievalData.credentials.SecretAccessKey,
13
- sessionToken: retrievalData.credentials.SessionToken
14
- })
15
-
16
- const params = {
17
- Bucket: retrievalData.s3.bucket,
18
- Key: retrievalData.s3.key
19
- }
20
- return s3.getObject(params).promise()
21
- .then(s3Data => {
22
- const formData = s3Data.Body.toString()
23
- return JSON.parse(formData)
24
- })
25
- }
26
-
27
- module.exports = {
28
- getSubmissionData
29
- }
package/lib/tenant.js DELETED
@@ -1,23 +0,0 @@
1
- // @flow
2
- 'use strict'
3
-
4
- const apis = {
5
- ONEBLINK: 'https://auth-api.blinkm.io',
6
- CIVICPLUS: 'https://auth-api.transform.civicplus.com'
7
- }
8
-
9
- module.exports = (
10
- tenant /* : string */ = 'ONEBLINK',
11
- apiOrigin /* : mixed */
12
- ) => {
13
- if (!!tenant && !Object.keys(apis).includes(tenant.toUpperCase())) {
14
- throw new TypeError(
15
- ` Must be passed a valid tenant. Valid options are ${Object.keys(
16
- apis
17
- ).toString()}`
18
- )
19
- }
20
-
21
- if (apiOrigin) return apiOrigin
22
- return apis[tenant.toUpperCase()]
23
- }