@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.
- package/LICENSE +1 -1
- package/README.md +3 -15
- package/package.json +48 -40
- package/tenants/civicplus.d.ts +1 -0
- package/tenants/civicplus.js +26 -0
- package/tenants/civicplus.js.map +1 -0
- package/tenants/classes/Approvals.d.ts +95 -0
- package/tenants/classes/Approvals.js +95 -0
- package/tenants/classes/Approvals.js.map +1 -0
- package/tenants/classes/DataManager.d.ts +45 -0
- package/tenants/classes/DataManager.js +68 -0
- package/tenants/classes/DataManager.js.map +1 -0
- package/tenants/classes/EmailTemplates.d.ts +100 -0
- package/tenants/classes/EmailTemplates.js +128 -0
- package/tenants/classes/EmailTemplates.js.map +1 -0
- package/tenants/classes/Forms.d.ts +667 -0
- package/tenants/classes/Forms.js +859 -0
- package/tenants/classes/Forms.js.map +1 -0
- package/tenants/classes/FormsAppEnvironments.d.ts +103 -0
- package/tenants/classes/FormsAppEnvironments.js +131 -0
- package/tenants/classes/FormsAppEnvironments.js.map +1 -0
- package/tenants/classes/FormsApps.d.ts +207 -0
- package/tenants/classes/FormsApps.js +296 -0
- package/tenants/classes/FormsApps.js.map +1 -0
- package/tenants/classes/Jobs.d.ts +102 -0
- package/tenants/classes/Jobs.js +180 -0
- package/tenants/classes/Jobs.js.map +1 -0
- package/tenants/classes/Keys.d.ts +33 -0
- package/tenants/classes/Keys.js +46 -0
- package/tenants/classes/Keys.js.map +1 -0
- package/tenants/classes/Organisations.d.ts +50 -0
- package/tenants/classes/Organisations.js +73 -0
- package/tenants/classes/Organisations.js.map +1 -0
- package/tenants/classes/PDF.d.ts +108 -0
- package/tenants/classes/PDF.js +133 -0
- package/tenants/classes/PDF.js.map +1 -0
- package/tenants/classes/TeamMembers.d.ts +34 -0
- package/tenants/classes/TeamMembers.js +55 -0
- package/tenants/classes/TeamMembers.js.map +1 -0
- package/tenants/classes/index.d.ts +13 -0
- package/tenants/classes/index.js +33 -0
- package/tenants/classes/index.js.map +1 -0
- package/tenants/classes/sendEmail.d.ts +36 -0
- package/tenants/classes/sendEmail.js +53 -0
- package/tenants/classes/sendEmail.js.map +1 -0
- package/tenants/lib/forms-schema/common.d.ts +9 -0
- package/tenants/lib/forms-schema/common.js +67 -0
- package/tenants/lib/forms-schema/common.js.map +1 -0
- package/tenants/lib/forms-schema/element-schema.d.ts +3 -0
- package/tenants/lib/forms-schema/element-schema.js +230 -0
- package/tenants/lib/forms-schema/element-schema.js.map +1 -0
- package/tenants/lib/forms-schema/elements/AbnElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/AbnElement.js +22 -0
- package/tenants/lib/forms-schema/elements/AbnElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/AutocompleteElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/AutocompleteElement.js +30 -0
- package/tenants/lib/forms-schema/elements/AutocompleteElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/BarcodeElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/BarcodeElement.js +30 -0
- package/tenants/lib/forms-schema/elements/BarcodeElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/BooleanElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/BooleanElement.js +22 -0
- package/tenants/lib/forms-schema/elements/BooleanElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/BsbElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/BsbElement.js +22 -0
- package/tenants/lib/forms-schema/elements/BsbElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/CalculationElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/CalculationElement.js +32 -0
- package/tenants/lib/forms-schema/elements/CalculationElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/CameraElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/CameraElement.js +24 -0
- package/tenants/lib/forms-schema/elements/CameraElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/CaptchaElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/CaptchaElement.js +20 -0
- package/tenants/lib/forms-schema/elements/CaptchaElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/CheckboxElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/CheckboxElement.js +25 -0
- package/tenants/lib/forms-schema/elements/CheckboxElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/CivicaNameRecordElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/CivicaNameRecordElement.js +47 -0
- package/tenants/lib/forms-schema/elements/CivicaNameRecordElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/CivicaStreetNameElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/CivicaStreetNameElement.js +22 -0
- package/tenants/lib/forms-schema/elements/CivicaStreetNameElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/ComplianceElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/ComplianceElement.js +24 -0
- package/tenants/lib/forms-schema/elements/ComplianceElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/DateElement.d.ts +5 -0
- package/tenants/lib/forms-schema/elements/DateElement.js +70 -0
- package/tenants/lib/forms-schema/elements/DateElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/DrawElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/DrawElement.js +23 -0
- package/tenants/lib/forms-schema/elements/DrawElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/EmailElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/EmailElement.js +24 -0
- package/tenants/lib/forms-schema/elements/EmailElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/FilesElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/FilesElement.js +36 -0
- package/tenants/lib/forms-schema/elements/FilesElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/FormElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/FormElement.js +17 -0
- package/tenants/lib/forms-schema/elements/FormElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/FreshdeskDependentFieldElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/FreshdeskDependentFieldElement.js +31 -0
- package/tenants/lib/forms-schema/elements/FreshdeskDependentFieldElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/GeoscapeElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/GeoscapeElement.js +23 -0
- package/tenants/lib/forms-schema/elements/GeoscapeElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/HTMLElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/HTMLElement.js +22 -0
- package/tenants/lib/forms-schema/elements/HTMLElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/HeadingElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/HeadingElement.js +18 -0
- package/tenants/lib/forms-schema/elements/HeadingElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/ImageElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/ImageElement.js +18 -0
- package/tenants/lib/forms-schema/elements/ImageElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/InfoPageElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/InfoPageElement.js +17 -0
- package/tenants/lib/forms-schema/elements/InfoPageElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/LocationElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/LocationElement.js +21 -0
- package/tenants/lib/forms-schema/elements/LocationElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/NumberElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/NumberElement.js +95 -0
- package/tenants/lib/forms-schema/elements/NumberElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/PhoneElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/PhoneElement.js +24 -0
- package/tenants/lib/forms-schema/elements/PhoneElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/PointElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/PointElement.js +24 -0
- package/tenants/lib/forms-schema/elements/PointElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/RadioElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/RadioElement.js +24 -0
- package/tenants/lib/forms-schema/elements/RadioElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/RepeatableSetElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/RepeatableSetElement.js +44 -0
- package/tenants/lib/forms-schema/elements/RepeatableSetElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/SectionElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/SectionElement.js +34 -0
- package/tenants/lib/forms-schema/elements/SectionElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/SelectElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/SelectElement.js +34 -0
- package/tenants/lib/forms-schema/elements/SelectElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/SummaryElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/SummaryElement.js +22 -0
- package/tenants/lib/forms-schema/elements/SummaryElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/TextElement.d.ts +5 -0
- package/tenants/lib/forms-schema/elements/TextElement.js +45 -0
- package/tenants/lib/forms-schema/elements/TextElement.js.map +1 -0
- package/tenants/lib/forms-schema/elements/TimeElement.d.ts +4 -0
- package/tenants/lib/forms-schema/elements/TimeElement.js +23 -0
- package/tenants/lib/forms-schema/elements/TimeElement.js.map +1 -0
- package/tenants/lib/forms-schema/index.d.ts +15 -0
- package/tenants/lib/forms-schema/index.js +441 -0
- package/tenants/lib/forms-schema/index.js.map +1 -0
- package/tenants/lib/forms-schema/property-schemas.d.ts +53 -0
- package/tenants/lib/forms-schema/property-schemas.js +239 -0
- package/tenants/lib/forms-schema/property-schemas.js.map +1 -0
- package/tenants/lib/forms-validation/common.d.ts +5 -0
- package/tenants/lib/forms-validation/common.js +50 -0
- package/tenants/lib/forms-validation/common.js.map +1 -0
- package/tenants/lib/forms-validation/index.d.ts +8 -0
- package/tenants/lib/forms-validation/index.js +165 -0
- package/tenants/lib/forms-validation/index.js.map +1 -0
- package/tenants/lib/forms-validation/validate-form-events.d.ts +16 -0
- package/tenants/lib/forms-validation/validate-form-events.js +164 -0
- package/tenants/lib/forms-validation/validate-form-events.js.map +1 -0
- package/tenants/lib/generate-form-element.d.ts +2 -0
- package/tenants/lib/generate-form-element.js +49 -0
- package/tenants/lib/generate-form-element.js.map +1 -0
- package/tenants/lib/generate-form-url.d.ts +9 -0
- package/tenants/lib/generate-form-url.js +32 -0
- package/tenants/lib/generate-form-url.js.map +1 -0
- package/tenants/lib/generate-jwt.d.ts +1 -0
- package/tenants/lib/generate-jwt.js +15 -0
- package/tenants/lib/generate-jwt.js.map +1 -0
- package/tenants/lib/generate-page-element.d.ts +2 -0
- package/tenants/lib/generate-page-element.js +32 -0
- package/tenants/lib/generate-page-element.js.map +1 -0
- package/tenants/lib/generate-tenant.d.ts +2 -0
- package/tenants/lib/generate-tenant.js +13 -0
- package/tenants/lib/generate-tenant.js.map +1 -0
- package/tenants/lib/one-blink-api.d.ts +37 -0
- package/tenants/lib/one-blink-api.js +122 -0
- package/tenants/lib/one-blink-api.js.map +1 -0
- package/tenants/lib/package.d.ts +2 -0
- package/tenants/lib/package.js +6 -0
- package/tenants/lib/package.js.map +1 -0
- package/tenants/lib/pre-fill-data.d.ts +2 -0
- package/tenants/lib/pre-fill-data.js +29 -0
- package/tenants/lib/pre-fill-data.js.map +1 -0
- package/tenants/lib/retrieve-submission-data.d.ts +2 -0
- package/tenants/lib/retrieve-submission-data.js +26 -0
- package/tenants/lib/retrieve-submission-data.js.map +1 -0
- package/tenants/lib/tenant-configuration.d.ts +3 -0
- package/tenants/lib/tenant-configuration.js +22 -0
- package/tenants/lib/tenant-configuration.js.map +1 -0
- package/tenants/lib/upload-asset.d.ts +4 -0
- package/tenants/lib/upload-asset.js +30 -0
- package/tenants/lib/upload-asset.js.map +1 -0
- package/tenants/lib/user-token-helpers.d.ts +9 -0
- package/tenants/lib/user-token-helpers.js +34 -0
- package/tenants/lib/user-token-helpers.js.map +1 -0
- package/tenants/oneblink.d.ts +1 -0
- package/tenants/oneblink.js +26 -0
- package/tenants/oneblink.js.map +1 -0
- package/tenants/types.d.ts +304 -0
- package/tenants/types.js +18 -0
- package/tenants/types.js.map +1 -0
- package/changelog.md +0 -197
- package/classes/Forms.js +0 -244
- package/classes/FormsApps.js +0 -98
- package/classes/Jobs.js +0 -133
- package/classes/Keys.js +0 -23
- package/classes/Organisations.js +0 -25
- package/classes/TeamMembers.js +0 -34
- package/flow-typed/npm/axios_v0.18.x.js +0 -165
- package/flow-typed/npm/jest_v24.x.x.js +0 -1186
- package/flow-typed/types.js +0 -301
- package/index.js +0 -18
- package/lib/forms-schema.js +0 -860
- package/lib/forms-validation.js +0 -33
- package/lib/generate-form-element.js +0 -75
- package/lib/generate-form-url.js +0 -29
- package/lib/generate-jwt.js +0 -18
- package/lib/one-blink-api-error-handler.js +0 -31
- package/lib/one-blink-api.js +0 -107
- package/lib/pre-fill-data.js +0 -33
- package/lib/retrieve-submission-data.js +0 -29
- 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":";;;;;AACA,yEAA8C;AAE9C,gEAA8B;AAE9B,MAAM,QAAQ,GAAG,aAAa,CAAA;AAE9B,MAAqB,SAAU,SAAQ,uBAAW;IAChD;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,SAAS,CACb,KAAa;QAEb,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC7B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;SAC5B;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAE/B,OAAO,sBAAG,CAAC,MAAM,CAAC,KAAK,CAAM,CAAA;IAC/B,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,KAAK,CAAC,SAAS,CACpB,KAAa;QAEb,MAAM,eAAe,GAAG,IAAI,SAAS,CAAC;YACpC,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,UAAU;SACtB,CAAC,CAAA;QAEF,OAAO,MAAM,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,sCAAsC,CAAC,CACtD,CAAA;SACF;QAED,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC,CAAA;IACtD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,aAAa,CACjB,iBAA2B;QAE3B,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;YACzC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAC7D,CAAA;SACF;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;YACnC,MAAM,EAAE,uBAAW,CAAC,MAAM,CAAC,SAAS;YACpC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,iBAAiB,EAAE;aAC7C;SACF,CAAC,CAAA;QACF,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,cAAc,CAClB,QAAoD;QAEpD,OAAO,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,cAAc,CAClB,QAAiC;QAEjC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,EAAE;YAChD,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,uCAAuC,CAAC,CACvD,CAAA;SACF;QAED,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,QAAQ,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;IACjE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,sCAAsC,CAAC,CACtD,CAAA;SACF;QAED,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC,CAAA;IACzD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,MAA0E;QAE1E,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,sCAAsC,CAAC,CACtD,CAAA;SACF;QAED,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,QAAQ,IAAI,UAAU,SAAS,EAAE,MAAM,CAAC,CAAA;IACrE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,UAAU,CACd,YAA4C;QAE5C,OAAO,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IACrD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,UAAU,CAAC,cAAsB;QACrC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;YACtC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAC1D,CAAA;SACF;QAED,OAAO,KAAK,CAAC,aAAa,CAAC,aAAa,cAAc,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAAkB;QAElB,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,sCAAsC,CAAC,CACtD,CAAA;SACF;QAED,OAAO,KAAK,CAAC,UAAU,CAAC,kBAAkB,UAAU,kBAAkB,CAAC,CAAA;IACzE,CAAC;IACD;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAAkB,EAClB,oBAGC;QAED,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,sCAAsC,CAAC,CACtD,CAAA;SACF;QAED,IAAI,CAAC,oBAAoB,EAAE;YACzB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CACX,0EAA0E,CAC3E,CACF,CAAA;SACF;QAED,IAAI,OAAO,oBAAoB,CAAC,YAAY,KAAK,QAAQ,EAAE;YACzD,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,wCAAwC,CAAC,CACxD,CAAA;SACF;QAED,IACE,oBAAoB,CAAC,SAAS;YAC9B,OAAO,oBAAoB,CAAC,SAAS,KAAK,QAAQ,EAClD;YACA,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,mDAAmD,CAAC,CACnE,CAAA;SACF;QAED,OAAO,KAAK,CAAC,WAAW,CAAC,kBAAkB,UAAU,kBAAkB,EAAE;YACvE,YAAY,EAAE,oBAAoB,CAAC,YAAY;YAC/C,SAAS,EAAE,oBAAoB,CAAC,SAAS;SAC1C,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC3C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAClC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,SAAS,CAAC,sCAAsC,CAAC,CACtD,CAAA;SACF;QAED,OAAO,KAAK,CAAC,aAAa,CAAC,eAAe,UAAU,kBAAkB,CAAC,CAAA;IACzE,CAAC;CACF;AA3WD,4BA2WC"}
|
|
@@ -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"}
|