@23blocks/block-forms 1.0.4 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +687 -88
- package/dist/src/lib/forms.block.d.ts +8 -1
- package/dist/src/lib/forms.block.d.ts.map +1 -1
- package/dist/src/lib/mappers/appointment.mapper.d.ts +4 -0
- package/dist/src/lib/mappers/appointment.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/index.d.ts +7 -0
- package/dist/src/lib/mappers/index.d.ts.map +1 -1
- package/dist/src/lib/mappers/landing.mapper.d.ts +4 -0
- package/dist/src/lib/mappers/landing.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/mail-template.mapper.d.ts +4 -0
- package/dist/src/lib/mappers/mail-template.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/public-form.mapper.d.ts +5 -0
- package/dist/src/lib/mappers/public-form.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/referral.mapper.d.ts +4 -0
- package/dist/src/lib/mappers/referral.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/subscription.mapper.d.ts +4 -0
- package/dist/src/lib/mappers/subscription.mapper.d.ts.map +1 -0
- package/dist/src/lib/mappers/survey.mapper.d.ts +4 -0
- package/dist/src/lib/mappers/survey.mapper.d.ts.map +1 -0
- package/dist/src/lib/services/appointments.service.d.ts +17 -0
- package/dist/src/lib/services/appointments.service.d.ts.map +1 -0
- package/dist/src/lib/services/form-instances.service.d.ts.map +1 -1
- package/dist/src/lib/services/form-schemas.service.d.ts.map +1 -1
- package/dist/src/lib/services/form-sets.service.d.ts.map +1 -1
- package/dist/src/lib/services/forms.service.d.ts.map +1 -1
- package/dist/src/lib/services/index.d.ts +7 -0
- package/dist/src/lib/services/index.d.ts.map +1 -1
- package/dist/src/lib/services/landings.service.d.ts +13 -0
- package/dist/src/lib/services/landings.service.d.ts.map +1 -0
- package/dist/src/lib/services/mail-templates.service.d.ts +14 -0
- package/dist/src/lib/services/mail-templates.service.d.ts.map +1 -0
- package/dist/src/lib/services/public-forms.service.d.ts +11 -0
- package/dist/src/lib/services/public-forms.service.d.ts.map +1 -0
- package/dist/src/lib/services/referrals.service.d.ts +13 -0
- package/dist/src/lib/services/referrals.service.d.ts.map +1 -0
- package/dist/src/lib/services/subscriptions.service.d.ts +13 -0
- package/dist/src/lib/services/subscriptions.service.d.ts.map +1 -0
- package/dist/src/lib/services/surveys.service.d.ts +17 -0
- package/dist/src/lib/services/surveys.service.d.ts.map +1 -0
- package/dist/src/lib/types/appointment.d.ts +71 -0
- package/dist/src/lib/types/appointment.d.ts.map +1 -0
- package/dist/src/lib/types/index.d.ts +7 -0
- package/dist/src/lib/types/index.d.ts.map +1 -1
- package/dist/src/lib/types/landing.d.ts +43 -0
- package/dist/src/lib/types/landing.d.ts.map +1 -0
- package/dist/src/lib/types/mail-template.d.ts +56 -0
- package/dist/src/lib/types/mail-template.d.ts.map +1 -0
- package/dist/src/lib/types/public-form.d.ts +27 -0
- package/dist/src/lib/types/public-form.d.ts.map +1 -0
- package/dist/src/lib/types/referral.d.ts +42 -0
- package/dist/src/lib/types/referral.d.ts.map +1 -0
- package/dist/src/lib/types/subscription.d.ts +40 -0
- package/dist/src/lib/types/subscription.d.ts.map +1 -0
- package/dist/src/lib/types/survey.d.ts +44 -0
- package/dist/src/lib/types/survey.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { decodeOne, decodePageResult } from '@23blocks/jsonapi-codec';
|
|
2
|
+
import { _ } from '@swc/helpers/_/_extends';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Parse a string value, returning undefined for empty/undefined
|
|
@@ -44,6 +45,15 @@ import { decodeOne, decodePageResult } from '@23blocks/jsonapi-codec';
|
|
|
44
45
|
const num = Number(value);
|
|
45
46
|
return isNaN(num) ? 0 : num;
|
|
46
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Parse an optional number value
|
|
50
|
+
*/ function parseOptionalNumber(value) {
|
|
51
|
+
if (value === null || value === undefined) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
const num = Number(value);
|
|
55
|
+
return isNaN(num) ? undefined : num;
|
|
56
|
+
}
|
|
47
57
|
/**
|
|
48
58
|
* Parse entity status
|
|
49
59
|
*/ function parseStatus(value) {
|
|
@@ -92,31 +102,25 @@ function createFormsService(transport, _config) {
|
|
|
92
102
|
},
|
|
93
103
|
async create (data) {
|
|
94
104
|
const response = await transport.post('/forms', {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
form_type: data.formType,
|
|
102
|
-
payload: data.payload
|
|
103
|
-
}
|
|
105
|
+
form: {
|
|
106
|
+
code: data.code,
|
|
107
|
+
name: data.name,
|
|
108
|
+
description: data.description,
|
|
109
|
+
form_type: data.formType,
|
|
110
|
+
payload: data.payload
|
|
104
111
|
}
|
|
105
112
|
});
|
|
106
113
|
return decodeOne(response, formMapper);
|
|
107
114
|
},
|
|
108
115
|
async update (uniqueId, data) {
|
|
109
116
|
const response = await transport.put(`/forms/${uniqueId}`, {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
status: data.status,
|
|
118
|
-
payload: data.payload
|
|
119
|
-
}
|
|
117
|
+
form: {
|
|
118
|
+
name: data.name,
|
|
119
|
+
description: data.description,
|
|
120
|
+
form_type: data.formType,
|
|
121
|
+
enabled: data.enabled,
|
|
122
|
+
status: data.status,
|
|
123
|
+
payload: data.payload
|
|
120
124
|
}
|
|
121
125
|
});
|
|
122
126
|
return decodeOne(response, formMapper);
|
|
@@ -168,35 +172,29 @@ function createFormSchemasService(transport, _config) {
|
|
|
168
172
|
},
|
|
169
173
|
async create (data) {
|
|
170
174
|
const response = await transport.post('/form_schemas', {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
ui_schema: data.uiSchema,
|
|
181
|
-
payload: data.payload
|
|
182
|
-
}
|
|
175
|
+
form_schema: {
|
|
176
|
+
form_unique_id: data.formUniqueId,
|
|
177
|
+
code: data.code,
|
|
178
|
+
name: data.name,
|
|
179
|
+
description: data.description,
|
|
180
|
+
version: data.version,
|
|
181
|
+
schema: data.schema,
|
|
182
|
+
ui_schema: data.uiSchema,
|
|
183
|
+
payload: data.payload
|
|
183
184
|
}
|
|
184
185
|
});
|
|
185
186
|
return decodeOne(response, formSchemaMapper);
|
|
186
187
|
},
|
|
187
188
|
async update (uniqueId, data) {
|
|
188
189
|
const response = await transport.put(`/form_schemas/${uniqueId}`, {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
status: data.status,
|
|
198
|
-
payload: data.payload
|
|
199
|
-
}
|
|
190
|
+
form_schema: {
|
|
191
|
+
name: data.name,
|
|
192
|
+
description: data.description,
|
|
193
|
+
schema: data.schema,
|
|
194
|
+
ui_schema: data.uiSchema,
|
|
195
|
+
enabled: data.enabled,
|
|
196
|
+
status: data.status,
|
|
197
|
+
payload: data.payload
|
|
200
198
|
}
|
|
201
199
|
});
|
|
202
200
|
return decodeOne(response, formSchemaMapper);
|
|
@@ -250,29 +248,23 @@ function createFormInstancesService(transport, _config) {
|
|
|
250
248
|
},
|
|
251
249
|
async create (data) {
|
|
252
250
|
const response = await transport.post('/form_instances', {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
data: data.data,
|
|
260
|
-
payload: data.payload
|
|
261
|
-
}
|
|
251
|
+
form_instance: {
|
|
252
|
+
form_schema_unique_id: data.formSchemaUniqueId,
|
|
253
|
+
form_schema_version: data.formSchemaVersion,
|
|
254
|
+
user_unique_id: data.userUniqueId,
|
|
255
|
+
data: data.data,
|
|
256
|
+
payload: data.payload
|
|
262
257
|
}
|
|
263
258
|
});
|
|
264
259
|
return decodeOne(response, formInstanceMapper);
|
|
265
260
|
},
|
|
266
261
|
async update (uniqueId, data) {
|
|
267
262
|
const response = await transport.put(`/form_instances/${uniqueId}`, {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
status: data.status,
|
|
274
|
-
payload: data.payload
|
|
275
|
-
}
|
|
263
|
+
form_instance: {
|
|
264
|
+
data: data.data,
|
|
265
|
+
enabled: data.enabled,
|
|
266
|
+
status: data.status,
|
|
267
|
+
payload: data.payload
|
|
276
268
|
}
|
|
277
269
|
});
|
|
278
270
|
return decodeOne(response, formInstanceMapper);
|
|
@@ -282,14 +274,11 @@ function createFormInstancesService(transport, _config) {
|
|
|
282
274
|
},
|
|
283
275
|
async submit (data) {
|
|
284
276
|
const response = await transport.post('/form_instances/submit', {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
data: data.data,
|
|
291
|
-
payload: data.payload
|
|
292
|
-
}
|
|
277
|
+
form_instance: {
|
|
278
|
+
form_schema_unique_id: data.formSchemaUniqueId,
|
|
279
|
+
form_schema_version: data.formSchemaVersion,
|
|
280
|
+
data: data.data,
|
|
281
|
+
payload: data.payload
|
|
293
282
|
}
|
|
294
283
|
});
|
|
295
284
|
return decodeOne(response, formInstanceMapper);
|
|
@@ -362,31 +351,25 @@ function createFormSetsService(transport, _config) {
|
|
|
362
351
|
},
|
|
363
352
|
async create (data) {
|
|
364
353
|
const response = await transport.post('/form_sets', {
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
forms: data.forms,
|
|
372
|
-
payload: data.payload
|
|
373
|
-
}
|
|
354
|
+
form_set: {
|
|
355
|
+
code: data.code,
|
|
356
|
+
name: data.name,
|
|
357
|
+
description: data.description,
|
|
358
|
+
forms: data.forms,
|
|
359
|
+
payload: data.payload
|
|
374
360
|
}
|
|
375
361
|
});
|
|
376
362
|
return decodeOne(response, formSetMapper);
|
|
377
363
|
},
|
|
378
364
|
async update (uniqueId, data) {
|
|
379
365
|
const response = await transport.put(`/form_sets/${uniqueId}`, {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
status: data.status,
|
|
388
|
-
payload: data.payload
|
|
389
|
-
}
|
|
366
|
+
form_set: {
|
|
367
|
+
name: data.name,
|
|
368
|
+
description: data.description,
|
|
369
|
+
forms: data.forms,
|
|
370
|
+
enabled: data.enabled,
|
|
371
|
+
status: data.status,
|
|
372
|
+
payload: data.payload
|
|
390
373
|
}
|
|
391
374
|
});
|
|
392
375
|
return decodeOne(response, formSetMapper);
|
|
@@ -397,12 +380,621 @@ function createFormSetsService(transport, _config) {
|
|
|
397
380
|
};
|
|
398
381
|
}
|
|
399
382
|
|
|
383
|
+
const landingMapper = {
|
|
384
|
+
type: 'landing_instance',
|
|
385
|
+
map: (resource)=>{
|
|
386
|
+
var _parseString, _resource_attributes_data;
|
|
387
|
+
return {
|
|
388
|
+
uniqueId: resource.id,
|
|
389
|
+
formUniqueId: (_parseString = parseString(resource.attributes['form_unique_id'])) != null ? _parseString : '',
|
|
390
|
+
userUniqueId: parseString(resource.attributes['user_unique_id']),
|
|
391
|
+
email: parseString(resource.attributes['email']),
|
|
392
|
+
firstName: parseString(resource.attributes['first_name']),
|
|
393
|
+
lastName: parseString(resource.attributes['last_name']),
|
|
394
|
+
phone: parseString(resource.attributes['phone']),
|
|
395
|
+
company: parseString(resource.attributes['company']),
|
|
396
|
+
data: (_resource_attributes_data = resource.attributes['data']) != null ? _resource_attributes_data : {},
|
|
397
|
+
status: parseStatus(resource.attributes['status']),
|
|
398
|
+
token: parseString(resource.attributes['token']),
|
|
399
|
+
submittedAt: parseDate(resource.attributes['submitted_at']),
|
|
400
|
+
payload: resource.attributes['payload'],
|
|
401
|
+
createdAt: parseDate(resource.attributes['created_at']),
|
|
402
|
+
updatedAt: parseDate(resource.attributes['updated_at'])
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
|
|
407
|
+
function createLandingsService(transport, _config) {
|
|
408
|
+
return {
|
|
409
|
+
async list (formUniqueId, params) {
|
|
410
|
+
const queryParams = {};
|
|
411
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
412
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
413
|
+
if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
|
|
414
|
+
if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
|
|
415
|
+
const response = await transport.get(`/landings/${formUniqueId}/instances`, {
|
|
416
|
+
params: queryParams
|
|
417
|
+
});
|
|
418
|
+
return decodePageResult(response, landingMapper);
|
|
419
|
+
},
|
|
420
|
+
async get (formUniqueId, uniqueId) {
|
|
421
|
+
const response = await transport.get(`/landings/${formUniqueId}/instances/${uniqueId}`);
|
|
422
|
+
return decodeOne(response, landingMapper);
|
|
423
|
+
},
|
|
424
|
+
async create (formUniqueId, data) {
|
|
425
|
+
const response = await transport.post(`/landings/${formUniqueId}/instances`, {
|
|
426
|
+
landing_instance: {
|
|
427
|
+
email: data.email,
|
|
428
|
+
first_name: data.firstName,
|
|
429
|
+
last_name: data.lastName,
|
|
430
|
+
phone: data.phone,
|
|
431
|
+
company: data.company,
|
|
432
|
+
data: data.data,
|
|
433
|
+
payload: data.payload
|
|
434
|
+
}
|
|
435
|
+
});
|
|
436
|
+
return decodeOne(response, landingMapper);
|
|
437
|
+
},
|
|
438
|
+
async update (formUniqueId, uniqueId, data) {
|
|
439
|
+
const response = await transport.put(`/landings/${formUniqueId}/instances/${uniqueId}`, {
|
|
440
|
+
landing_instance: {
|
|
441
|
+
email: data.email,
|
|
442
|
+
first_name: data.firstName,
|
|
443
|
+
last_name: data.lastName,
|
|
444
|
+
phone: data.phone,
|
|
445
|
+
company: data.company,
|
|
446
|
+
data: data.data,
|
|
447
|
+
status: data.status,
|
|
448
|
+
payload: data.payload
|
|
449
|
+
}
|
|
450
|
+
});
|
|
451
|
+
return decodeOne(response, landingMapper);
|
|
452
|
+
},
|
|
453
|
+
async delete (formUniqueId, uniqueId) {
|
|
454
|
+
await transport.delete(`/landings/${formUniqueId}/instances/${uniqueId}`);
|
|
455
|
+
}
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
const subscriptionMapper = {
|
|
460
|
+
type: 'subscription',
|
|
461
|
+
map: (resource)=>{
|
|
462
|
+
var _parseString, _parseString1, _resource_attributes_data;
|
|
463
|
+
return {
|
|
464
|
+
uniqueId: resource.id,
|
|
465
|
+
formUniqueId: (_parseString = parseString(resource.attributes['form_unique_id'])) != null ? _parseString : '',
|
|
466
|
+
userUniqueId: parseString(resource.attributes['user_unique_id']),
|
|
467
|
+
email: (_parseString1 = parseString(resource.attributes['email'])) != null ? _parseString1 : '',
|
|
468
|
+
firstName: parseString(resource.attributes['first_name']),
|
|
469
|
+
lastName: parseString(resource.attributes['last_name']),
|
|
470
|
+
phone: parseString(resource.attributes['phone']),
|
|
471
|
+
data: (_resource_attributes_data = resource.attributes['data']) != null ? _resource_attributes_data : {},
|
|
472
|
+
status: parseStatus(resource.attributes['status']),
|
|
473
|
+
subscribedAt: parseDate(resource.attributes['subscribed_at']),
|
|
474
|
+
unsubscribedAt: parseDate(resource.attributes['unsubscribed_at']),
|
|
475
|
+
payload: resource.attributes['payload'],
|
|
476
|
+
createdAt: parseDate(resource.attributes['created_at']),
|
|
477
|
+
updatedAt: parseDate(resource.attributes['updated_at'])
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
};
|
|
481
|
+
|
|
482
|
+
function createSubscriptionsService(transport, _config) {
|
|
483
|
+
return {
|
|
484
|
+
async list (formUniqueId, params) {
|
|
485
|
+
const queryParams = {};
|
|
486
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
487
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
488
|
+
if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
|
|
489
|
+
if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
|
|
490
|
+
const response = await transport.get(`/subscriptions/${formUniqueId}/instances`, {
|
|
491
|
+
params: queryParams
|
|
492
|
+
});
|
|
493
|
+
return decodePageResult(response, subscriptionMapper);
|
|
494
|
+
},
|
|
495
|
+
async get (formUniqueId, uniqueId) {
|
|
496
|
+
const response = await transport.get(`/subscriptions/${formUniqueId}/instances/${uniqueId}`);
|
|
497
|
+
return decodeOne(response, subscriptionMapper);
|
|
498
|
+
},
|
|
499
|
+
async create (formUniqueId, data) {
|
|
500
|
+
const response = await transport.post(`/subscriptions/${formUniqueId}/instances`, {
|
|
501
|
+
subscription: {
|
|
502
|
+
email: data.email,
|
|
503
|
+
first_name: data.firstName,
|
|
504
|
+
last_name: data.lastName,
|
|
505
|
+
phone: data.phone,
|
|
506
|
+
data: data.data,
|
|
507
|
+
payload: data.payload
|
|
508
|
+
}
|
|
509
|
+
});
|
|
510
|
+
return decodeOne(response, subscriptionMapper);
|
|
511
|
+
},
|
|
512
|
+
async update (formUniqueId, uniqueId, data) {
|
|
513
|
+
const response = await transport.put(`/subscriptions/${formUniqueId}/instances/${uniqueId}`, {
|
|
514
|
+
subscription: {
|
|
515
|
+
email: data.email,
|
|
516
|
+
first_name: data.firstName,
|
|
517
|
+
last_name: data.lastName,
|
|
518
|
+
phone: data.phone,
|
|
519
|
+
data: data.data,
|
|
520
|
+
status: data.status,
|
|
521
|
+
payload: data.payload
|
|
522
|
+
}
|
|
523
|
+
});
|
|
524
|
+
return decodeOne(response, subscriptionMapper);
|
|
525
|
+
},
|
|
526
|
+
async delete (formUniqueId, uniqueId) {
|
|
527
|
+
await transport.delete(`/subscriptions/${formUniqueId}/instances/${uniqueId}`);
|
|
528
|
+
}
|
|
529
|
+
};
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
const appointmentMapper = {
|
|
533
|
+
type: 'appointment',
|
|
534
|
+
map: (resource)=>{
|
|
535
|
+
var _parseString, _parseDate, _resource_attributes_data;
|
|
536
|
+
return {
|
|
537
|
+
uniqueId: resource.id,
|
|
538
|
+
formUniqueId: (_parseString = parseString(resource.attributes['form_unique_id'])) != null ? _parseString : '',
|
|
539
|
+
userUniqueId: parseString(resource.attributes['user_unique_id']),
|
|
540
|
+
email: parseString(resource.attributes['email']),
|
|
541
|
+
firstName: parseString(resource.attributes['first_name']),
|
|
542
|
+
lastName: parseString(resource.attributes['last_name']),
|
|
543
|
+
phone: parseString(resource.attributes['phone']),
|
|
544
|
+
scheduledAt: (_parseDate = parseDate(resource.attributes['scheduled_at'])) != null ? _parseDate : new Date(),
|
|
545
|
+
duration: parseOptionalNumber(resource.attributes['duration']),
|
|
546
|
+
timezone: parseString(resource.attributes['timezone']),
|
|
547
|
+
location: parseString(resource.attributes['location']),
|
|
548
|
+
notes: parseString(resource.attributes['notes']),
|
|
549
|
+
data: (_resource_attributes_data = resource.attributes['data']) != null ? _resource_attributes_data : {},
|
|
550
|
+
status: parseStatus(resource.attributes['status']),
|
|
551
|
+
confirmedAt: parseDate(resource.attributes['confirmed_at']),
|
|
552
|
+
cancelledAt: parseDate(resource.attributes['cancelled_at']),
|
|
553
|
+
payload: resource.attributes['payload'],
|
|
554
|
+
createdAt: parseDate(resource.attributes['created_at']),
|
|
555
|
+
updatedAt: parseDate(resource.attributes['updated_at'])
|
|
556
|
+
};
|
|
557
|
+
}
|
|
558
|
+
};
|
|
559
|
+
|
|
560
|
+
function createAppointmentsService(transport, _config) {
|
|
561
|
+
return {
|
|
562
|
+
async list (formUniqueId, params) {
|
|
563
|
+
const queryParams = {};
|
|
564
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
565
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
566
|
+
if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
|
|
567
|
+
if (params == null ? void 0 : params.fromDate) queryParams['from_date'] = params.fromDate instanceof Date ? params.fromDate.toISOString() : params.fromDate;
|
|
568
|
+
if (params == null ? void 0 : params.toDate) queryParams['to_date'] = params.toDate instanceof Date ? params.toDate.toISOString() : params.toDate;
|
|
569
|
+
if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
|
|
570
|
+
const response = await transport.get(`/appointments/${formUniqueId}/instances`, {
|
|
571
|
+
params: queryParams
|
|
572
|
+
});
|
|
573
|
+
return decodePageResult(response, appointmentMapper);
|
|
574
|
+
},
|
|
575
|
+
async get (formUniqueId, uniqueId) {
|
|
576
|
+
const response = await transport.get(`/appointments/${formUniqueId}/instances/${uniqueId}`);
|
|
577
|
+
return decodeOne(response, appointmentMapper);
|
|
578
|
+
},
|
|
579
|
+
async create (formUniqueId, data) {
|
|
580
|
+
const response = await transport.post(`/appointments/${formUniqueId}/instances`, {
|
|
581
|
+
appointment: {
|
|
582
|
+
email: data.email,
|
|
583
|
+
first_name: data.firstName,
|
|
584
|
+
last_name: data.lastName,
|
|
585
|
+
phone: data.phone,
|
|
586
|
+
scheduled_at: data.scheduledAt instanceof Date ? data.scheduledAt.toISOString() : data.scheduledAt,
|
|
587
|
+
duration: data.duration,
|
|
588
|
+
timezone: data.timezone,
|
|
589
|
+
location: data.location,
|
|
590
|
+
notes: data.notes,
|
|
591
|
+
data: data.data,
|
|
592
|
+
payload: data.payload
|
|
593
|
+
}
|
|
594
|
+
});
|
|
595
|
+
return decodeOne(response, appointmentMapper);
|
|
596
|
+
},
|
|
597
|
+
async update (formUniqueId, uniqueId, data) {
|
|
598
|
+
const response = await transport.put(`/appointments/${formUniqueId}/instances/${uniqueId}`, {
|
|
599
|
+
appointment: {
|
|
600
|
+
email: data.email,
|
|
601
|
+
first_name: data.firstName,
|
|
602
|
+
last_name: data.lastName,
|
|
603
|
+
phone: data.phone,
|
|
604
|
+
scheduled_at: data.scheduledAt instanceof Date ? data.scheduledAt.toISOString() : data.scheduledAt,
|
|
605
|
+
duration: data.duration,
|
|
606
|
+
timezone: data.timezone,
|
|
607
|
+
location: data.location,
|
|
608
|
+
notes: data.notes,
|
|
609
|
+
data: data.data,
|
|
610
|
+
status: data.status,
|
|
611
|
+
payload: data.payload
|
|
612
|
+
}
|
|
613
|
+
});
|
|
614
|
+
return decodeOne(response, appointmentMapper);
|
|
615
|
+
},
|
|
616
|
+
async delete (formUniqueId, uniqueId) {
|
|
617
|
+
await transport.delete(`/appointments/${formUniqueId}/instances/${uniqueId}`);
|
|
618
|
+
},
|
|
619
|
+
async confirm (formUniqueId, uniqueId) {
|
|
620
|
+
const response = await transport.post(`/appointments/${formUniqueId}/instances/${uniqueId}/confirm`, {});
|
|
621
|
+
return decodeOne(response, appointmentMapper);
|
|
622
|
+
},
|
|
623
|
+
async cancel (formUniqueId, uniqueId) {
|
|
624
|
+
const response = await transport.post(`/appointments/${formUniqueId}/instances/${uniqueId}/cancel`, {});
|
|
625
|
+
return decodeOne(response, appointmentMapper);
|
|
626
|
+
},
|
|
627
|
+
async reportList (data) {
|
|
628
|
+
const response = await transport.post('/reports/appointments/list', {
|
|
629
|
+
report: {
|
|
630
|
+
form_unique_id: data.formUniqueId,
|
|
631
|
+
from_date: data.fromDate instanceof Date ? data.fromDate.toISOString() : data.fromDate,
|
|
632
|
+
to_date: data.toDate instanceof Date ? data.toDate.toISOString() : data.toDate,
|
|
633
|
+
status: data.status,
|
|
634
|
+
group_by: data.groupBy
|
|
635
|
+
}
|
|
636
|
+
});
|
|
637
|
+
const result = decodePageResult(response, appointmentMapper);
|
|
638
|
+
return result.data;
|
|
639
|
+
},
|
|
640
|
+
async reportSummary (data) {
|
|
641
|
+
const response = await transport.post('/reports/appointments/summary', {
|
|
642
|
+
report: {
|
|
643
|
+
form_unique_id: data.formUniqueId,
|
|
644
|
+
from_date: data.fromDate instanceof Date ? data.fromDate.toISOString() : data.fromDate,
|
|
645
|
+
to_date: data.toDate instanceof Date ? data.toDate.toISOString() : data.toDate,
|
|
646
|
+
status: data.status,
|
|
647
|
+
group_by: data.groupBy
|
|
648
|
+
}
|
|
649
|
+
});
|
|
650
|
+
return response;
|
|
651
|
+
}
|
|
652
|
+
};
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
const surveyMapper = {
|
|
656
|
+
type: 'survey_instance',
|
|
657
|
+
map: (resource)=>{
|
|
658
|
+
var _parseString, _resource_attributes_data;
|
|
659
|
+
return {
|
|
660
|
+
uniqueId: resource.id,
|
|
661
|
+
formUniqueId: (_parseString = parseString(resource.attributes['form_unique_id'])) != null ? _parseString : '',
|
|
662
|
+
userUniqueId: parseString(resource.attributes['user_unique_id']),
|
|
663
|
+
email: parseString(resource.attributes['email']),
|
|
664
|
+
firstName: parseString(resource.attributes['first_name']),
|
|
665
|
+
lastName: parseString(resource.attributes['last_name']),
|
|
666
|
+
data: (_resource_attributes_data = resource.attributes['data']) != null ? _resource_attributes_data : {},
|
|
667
|
+
status: parseStatus(resource.attributes['status']),
|
|
668
|
+
token: parseString(resource.attributes['token']),
|
|
669
|
+
startedAt: parseDate(resource.attributes['started_at']),
|
|
670
|
+
completedAt: parseDate(resource.attributes['completed_at']),
|
|
671
|
+
payload: resource.attributes['payload'],
|
|
672
|
+
createdAt: parseDate(resource.attributes['created_at']),
|
|
673
|
+
updatedAt: parseDate(resource.attributes['updated_at'])
|
|
674
|
+
};
|
|
675
|
+
}
|
|
676
|
+
};
|
|
677
|
+
|
|
678
|
+
function createSurveysService(transport, _config) {
|
|
679
|
+
return {
|
|
680
|
+
async list (formUniqueId, params) {
|
|
681
|
+
const queryParams = {};
|
|
682
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
683
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
684
|
+
if (params == null ? void 0 : params.status) queryParams['status'] = String(params.status);
|
|
685
|
+
if (params == null ? void 0 : params.userUniqueId) queryParams['user_unique_id'] = params.userUniqueId;
|
|
686
|
+
if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
|
|
687
|
+
const response = await transport.get(`/surveys/${formUniqueId}/instances`, {
|
|
688
|
+
params: queryParams
|
|
689
|
+
});
|
|
690
|
+
return decodePageResult(response, surveyMapper);
|
|
691
|
+
},
|
|
692
|
+
async listByStatus (formUniqueId, status, params) {
|
|
693
|
+
const queryParams = {};
|
|
694
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
695
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
696
|
+
if (params == null ? void 0 : params.userUniqueId) queryParams['user_unique_id'] = params.userUniqueId;
|
|
697
|
+
if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
|
|
698
|
+
const response = await transport.get(`/surveys/${formUniqueId}/instances/status/${status}`, {
|
|
699
|
+
params: queryParams
|
|
700
|
+
});
|
|
701
|
+
return decodePageResult(response, surveyMapper);
|
|
702
|
+
},
|
|
703
|
+
async get (formUniqueId, uniqueId) {
|
|
704
|
+
const response = await transport.get(`/surveys/${formUniqueId}/instances/${uniqueId}`);
|
|
705
|
+
return decodeOne(response, surveyMapper);
|
|
706
|
+
},
|
|
707
|
+
async create (formUniqueId, data) {
|
|
708
|
+
const response = await transport.post(`/surveys/${formUniqueId}/instances`, {
|
|
709
|
+
survey_instance: {
|
|
710
|
+
user_unique_id: data.userUniqueId,
|
|
711
|
+
email: data.email,
|
|
712
|
+
first_name: data.firstName,
|
|
713
|
+
last_name: data.lastName,
|
|
714
|
+
data: data.data,
|
|
715
|
+
payload: data.payload
|
|
716
|
+
}
|
|
717
|
+
});
|
|
718
|
+
return decodeOne(response, surveyMapper);
|
|
719
|
+
},
|
|
720
|
+
async update (formUniqueId, uniqueId, data) {
|
|
721
|
+
const response = await transport.put(`/surveys/${formUniqueId}/instances/${uniqueId}`, {
|
|
722
|
+
survey_instance: {
|
|
723
|
+
email: data.email,
|
|
724
|
+
first_name: data.firstName,
|
|
725
|
+
last_name: data.lastName,
|
|
726
|
+
data: data.data,
|
|
727
|
+
status: data.status,
|
|
728
|
+
payload: data.payload
|
|
729
|
+
}
|
|
730
|
+
});
|
|
731
|
+
return decodeOne(response, surveyMapper);
|
|
732
|
+
},
|
|
733
|
+
async delete (formUniqueId, uniqueId) {
|
|
734
|
+
await transport.delete(`/surveys/${formUniqueId}/instances/${uniqueId}`);
|
|
735
|
+
},
|
|
736
|
+
async updateStatus (formUniqueId, uniqueId, data) {
|
|
737
|
+
const response = await transport.put(`/surveys/${formUniqueId}/instances/${uniqueId}/status`, {
|
|
738
|
+
survey_instance: {
|
|
739
|
+
status: data.status
|
|
740
|
+
}
|
|
741
|
+
});
|
|
742
|
+
return decodeOne(response, surveyMapper);
|
|
743
|
+
},
|
|
744
|
+
async resendMagicLink (formUniqueId, uniqueId) {
|
|
745
|
+
await transport.post(`/surveys/${formUniqueId}/instances/${uniqueId}/resend_magic_link`, {});
|
|
746
|
+
},
|
|
747
|
+
async listByUser (userUniqueId, params) {
|
|
748
|
+
const queryParams = {};
|
|
749
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
750
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
751
|
+
if (params == null ? void 0 : params.status) queryParams['status'] = String(params.status);
|
|
752
|
+
if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
|
|
753
|
+
const response = await transport.post('/surveys/users/', _({
|
|
754
|
+
user_unique_id: userUniqueId
|
|
755
|
+
}, queryParams));
|
|
756
|
+
return decodePageResult(response, surveyMapper);
|
|
757
|
+
}
|
|
758
|
+
};
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
const referralMapper = {
|
|
762
|
+
type: 'referral',
|
|
763
|
+
map: (resource)=>{
|
|
764
|
+
var _parseString, _parseString1, _resource_attributes_data;
|
|
765
|
+
return {
|
|
766
|
+
uniqueId: resource.id,
|
|
767
|
+
formUniqueId: (_parseString = parseString(resource.attributes['form_unique_id'])) != null ? _parseString : '',
|
|
768
|
+
referrerUniqueId: parseString(resource.attributes['referrer_unique_id']),
|
|
769
|
+
referrerEmail: parseString(resource.attributes['referrer_email']),
|
|
770
|
+
referrerName: parseString(resource.attributes['referrer_name']),
|
|
771
|
+
refereeEmail: (_parseString1 = parseString(resource.attributes['referee_email'])) != null ? _parseString1 : '',
|
|
772
|
+
refereeName: parseString(resource.attributes['referee_name']),
|
|
773
|
+
refereePhone: parseString(resource.attributes['referee_phone']),
|
|
774
|
+
data: (_resource_attributes_data = resource.attributes['data']) != null ? _resource_attributes_data : {},
|
|
775
|
+
status: parseStatus(resource.attributes['status']),
|
|
776
|
+
convertedAt: parseDate(resource.attributes['converted_at']),
|
|
777
|
+
payload: resource.attributes['payload'],
|
|
778
|
+
createdAt: parseDate(resource.attributes['created_at']),
|
|
779
|
+
updatedAt: parseDate(resource.attributes['updated_at'])
|
|
780
|
+
};
|
|
781
|
+
}
|
|
782
|
+
};
|
|
783
|
+
|
|
784
|
+
function createReferralsService(transport, _config) {
|
|
785
|
+
return {
|
|
786
|
+
async list (formUniqueId, params) {
|
|
787
|
+
const queryParams = {};
|
|
788
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
789
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
790
|
+
if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
|
|
791
|
+
if (params == null ? void 0 : params.referrerUniqueId) queryParams['referrer_unique_id'] = params.referrerUniqueId;
|
|
792
|
+
if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
|
|
793
|
+
const response = await transport.get(`/referrals/${formUniqueId}/instances`, {
|
|
794
|
+
params: queryParams
|
|
795
|
+
});
|
|
796
|
+
return decodePageResult(response, referralMapper);
|
|
797
|
+
},
|
|
798
|
+
async get (formUniqueId, uniqueId) {
|
|
799
|
+
const response = await transport.get(`/referrals/${formUniqueId}/instances/${uniqueId}`);
|
|
800
|
+
return decodeOne(response, referralMapper);
|
|
801
|
+
},
|
|
802
|
+
async create (formUniqueId, data) {
|
|
803
|
+
const response = await transport.post(`/referrals/${formUniqueId}/instances`, {
|
|
804
|
+
referral: {
|
|
805
|
+
referrer_unique_id: data.referrerUniqueId,
|
|
806
|
+
referrer_email: data.referrerEmail,
|
|
807
|
+
referrer_name: data.referrerName,
|
|
808
|
+
referee_email: data.refereeEmail,
|
|
809
|
+
referee_name: data.refereeName,
|
|
810
|
+
referee_phone: data.refereePhone,
|
|
811
|
+
data: data.data,
|
|
812
|
+
payload: data.payload
|
|
813
|
+
}
|
|
814
|
+
});
|
|
815
|
+
return decodeOne(response, referralMapper);
|
|
816
|
+
},
|
|
817
|
+
async update (formUniqueId, uniqueId, data) {
|
|
818
|
+
const response = await transport.put(`/referrals/${formUniqueId}/instances/${uniqueId}`, {
|
|
819
|
+
referral: {
|
|
820
|
+
referee_email: data.refereeEmail,
|
|
821
|
+
referee_name: data.refereeName,
|
|
822
|
+
referee_phone: data.refereePhone,
|
|
823
|
+
data: data.data,
|
|
824
|
+
status: data.status,
|
|
825
|
+
payload: data.payload
|
|
826
|
+
}
|
|
827
|
+
});
|
|
828
|
+
return decodeOne(response, referralMapper);
|
|
829
|
+
},
|
|
830
|
+
async delete (formUniqueId, uniqueId) {
|
|
831
|
+
await transport.delete(`/referrals/${formUniqueId}/instances/${uniqueId}`);
|
|
832
|
+
}
|
|
833
|
+
};
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
const mailTemplateMapper = {
|
|
837
|
+
type: 'mail_template',
|
|
838
|
+
map: (resource)=>{
|
|
839
|
+
var _parseString, _parseString1;
|
|
840
|
+
return {
|
|
841
|
+
uniqueId: resource.id,
|
|
842
|
+
name: (_parseString = parseString(resource.attributes['name'])) != null ? _parseString : '',
|
|
843
|
+
subject: (_parseString1 = parseString(resource.attributes['subject'])) != null ? _parseString1 : '',
|
|
844
|
+
htmlContent: parseString(resource.attributes['html_content']),
|
|
845
|
+
textContent: parseString(resource.attributes['text_content']),
|
|
846
|
+
provider: parseString(resource.attributes['provider']),
|
|
847
|
+
providerTemplateId: parseString(resource.attributes['provider_template_id']),
|
|
848
|
+
fromEmail: parseString(resource.attributes['from_email']),
|
|
849
|
+
fromName: parseString(resource.attributes['from_name']),
|
|
850
|
+
replyTo: parseString(resource.attributes['reply_to']),
|
|
851
|
+
status: parseStatus(resource.attributes['status']),
|
|
852
|
+
payload: resource.attributes['payload'],
|
|
853
|
+
createdAt: parseDate(resource.attributes['created_at']),
|
|
854
|
+
updatedAt: parseDate(resource.attributes['updated_at'])
|
|
855
|
+
};
|
|
856
|
+
}
|
|
857
|
+
};
|
|
858
|
+
|
|
859
|
+
function createMailTemplatesService(transport, _config) {
|
|
860
|
+
return {
|
|
861
|
+
async list (params) {
|
|
862
|
+
const queryParams = {};
|
|
863
|
+
if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
|
|
864
|
+
if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
|
|
865
|
+
if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
|
|
866
|
+
if (params == null ? void 0 : params.provider) queryParams['provider'] = params.provider;
|
|
867
|
+
if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
|
|
868
|
+
const response = await transport.get('/mailtemplates/', {
|
|
869
|
+
params: queryParams
|
|
870
|
+
});
|
|
871
|
+
return decodePageResult(response, mailTemplateMapper);
|
|
872
|
+
},
|
|
873
|
+
async get (uniqueId) {
|
|
874
|
+
const response = await transport.get(`/mailtemplates/${uniqueId}`);
|
|
875
|
+
return decodeOne(response, mailTemplateMapper);
|
|
876
|
+
},
|
|
877
|
+
async create (data) {
|
|
878
|
+
const response = await transport.post('/mailtemplates', {
|
|
879
|
+
mail_template: {
|
|
880
|
+
name: data.name,
|
|
881
|
+
subject: data.subject,
|
|
882
|
+
html_content: data.htmlContent,
|
|
883
|
+
text_content: data.textContent,
|
|
884
|
+
provider: data.provider,
|
|
885
|
+
provider_template_id: data.providerTemplateId,
|
|
886
|
+
from_email: data.fromEmail,
|
|
887
|
+
from_name: data.fromName,
|
|
888
|
+
reply_to: data.replyTo,
|
|
889
|
+
payload: data.payload
|
|
890
|
+
}
|
|
891
|
+
});
|
|
892
|
+
return decodeOne(response, mailTemplateMapper);
|
|
893
|
+
},
|
|
894
|
+
async update (uniqueId, data) {
|
|
895
|
+
const response = await transport.put(`/mailtemplates/${uniqueId}`, {
|
|
896
|
+
mail_template: {
|
|
897
|
+
name: data.name,
|
|
898
|
+
subject: data.subject,
|
|
899
|
+
html_content: data.htmlContent,
|
|
900
|
+
text_content: data.textContent,
|
|
901
|
+
provider: data.provider,
|
|
902
|
+
provider_template_id: data.providerTemplateId,
|
|
903
|
+
from_email: data.fromEmail,
|
|
904
|
+
from_name: data.fromName,
|
|
905
|
+
reply_to: data.replyTo,
|
|
906
|
+
status: data.status,
|
|
907
|
+
payload: data.payload
|
|
908
|
+
}
|
|
909
|
+
});
|
|
910
|
+
return decodeOne(response, mailTemplateMapper);
|
|
911
|
+
},
|
|
912
|
+
async delete (uniqueId) {
|
|
913
|
+
await transport.delete(`/mailtemplates/${uniqueId}`);
|
|
914
|
+
},
|
|
915
|
+
async getStats (uniqueId) {
|
|
916
|
+
const response = await transport.get(`/mailtemplates/${uniqueId}/stats`);
|
|
917
|
+
return response;
|
|
918
|
+
}
|
|
919
|
+
};
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
const publicFormMapper = {
|
|
923
|
+
type: 'public_form',
|
|
924
|
+
map: (resource)=>{
|
|
925
|
+
var _parseString, _resource_attributes_schema;
|
|
926
|
+
return {
|
|
927
|
+
uniqueId: resource.id,
|
|
928
|
+
formUniqueId: (_parseString = parseString(resource.attributes['form_unique_id'])) != null ? _parseString : '',
|
|
929
|
+
title: parseString(resource.attributes['title']),
|
|
930
|
+
description: parseString(resource.attributes['description']),
|
|
931
|
+
schema: (_resource_attributes_schema = resource.attributes['schema']) != null ? _resource_attributes_schema : {},
|
|
932
|
+
uiSchema: resource.attributes['ui_schema'],
|
|
933
|
+
settings: resource.attributes['settings'],
|
|
934
|
+
status: parseStatus(resource.attributes['status']),
|
|
935
|
+
payload: resource.attributes['payload'],
|
|
936
|
+
createdAt: parseDate(resource.attributes['created_at']),
|
|
937
|
+
updatedAt: parseDate(resource.attributes['updated_at'])
|
|
938
|
+
};
|
|
939
|
+
}
|
|
940
|
+
};
|
|
941
|
+
const publicFormResponseMapper = {
|
|
942
|
+
type: 'form_response',
|
|
943
|
+
map: (resource)=>{
|
|
944
|
+
var _parseString, _resource_attributes_data;
|
|
945
|
+
return {
|
|
946
|
+
uniqueId: resource.id,
|
|
947
|
+
formUniqueId: (_parseString = parseString(resource.attributes['form_unique_id'])) != null ? _parseString : '',
|
|
948
|
+
data: (_resource_attributes_data = resource.attributes['data']) != null ? _resource_attributes_data : {},
|
|
949
|
+
status: parseStatus(resource.attributes['status']),
|
|
950
|
+
submittedAt: parseDate(resource.attributes['submitted_at']),
|
|
951
|
+
payload: resource.attributes['payload'],
|
|
952
|
+
createdAt: parseDate(resource.attributes['created_at']),
|
|
953
|
+
updatedAt: parseDate(resource.attributes['updated_at'])
|
|
954
|
+
};
|
|
955
|
+
}
|
|
956
|
+
};
|
|
957
|
+
|
|
958
|
+
function createPublicFormsService(transport, _config) {
|
|
959
|
+
return {
|
|
960
|
+
async get (urlId) {
|
|
961
|
+
const response = await transport.get(`/${urlId}/forms/public`);
|
|
962
|
+
return decodeOne(response, publicFormMapper);
|
|
963
|
+
},
|
|
964
|
+
async submit (urlId, data) {
|
|
965
|
+
const response = await transport.post(`/${urlId}/forms/public`, {
|
|
966
|
+
form_submission: {
|
|
967
|
+
data: data.data,
|
|
968
|
+
payload: data.payload
|
|
969
|
+
}
|
|
970
|
+
});
|
|
971
|
+
return decodeOne(response, publicFormResponseMapper);
|
|
972
|
+
},
|
|
973
|
+
async draft (urlId, data) {
|
|
974
|
+
const response = await transport.patch(`/${urlId}/forms/public`, {
|
|
975
|
+
form_draft: {
|
|
976
|
+
data: data.data,
|
|
977
|
+
payload: data.payload
|
|
978
|
+
}
|
|
979
|
+
});
|
|
980
|
+
return decodeOne(response, publicFormResponseMapper);
|
|
981
|
+
}
|
|
982
|
+
};
|
|
983
|
+
}
|
|
984
|
+
|
|
400
985
|
function createFormsBlock(transport, config) {
|
|
401
986
|
return {
|
|
402
987
|
forms: createFormsService(transport),
|
|
403
988
|
schemas: createFormSchemasService(transport),
|
|
404
989
|
instances: createFormInstancesService(transport),
|
|
405
|
-
sets: createFormSetsService(transport)
|
|
990
|
+
sets: createFormSetsService(transport),
|
|
991
|
+
landings: createLandingsService(transport),
|
|
992
|
+
subscriptions: createSubscriptionsService(transport),
|
|
993
|
+
appointments: createAppointmentsService(transport),
|
|
994
|
+
surveys: createSurveysService(transport),
|
|
995
|
+
referrals: createReferralsService(transport),
|
|
996
|
+
mailTemplates: createMailTemplatesService(transport),
|
|
997
|
+
publicForms: createPublicFormsService(transport)
|
|
406
998
|
};
|
|
407
999
|
}
|
|
408
1000
|
const formsBlockMetadata = {
|
|
@@ -413,7 +1005,14 @@ const formsBlockMetadata = {
|
|
|
413
1005
|
'Form',
|
|
414
1006
|
'FormSchema',
|
|
415
1007
|
'FormInstance',
|
|
416
|
-
'FormSet'
|
|
1008
|
+
'FormSet',
|
|
1009
|
+
'Landing',
|
|
1010
|
+
'Subscription',
|
|
1011
|
+
'Appointment',
|
|
1012
|
+
'Survey',
|
|
1013
|
+
'Referral',
|
|
1014
|
+
'MailTemplate',
|
|
1015
|
+
'PublicForm'
|
|
417
1016
|
]
|
|
418
1017
|
};
|
|
419
1018
|
|