@23blocks/block-forms 2.0.0 → 3.0.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 +628 -2
- 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/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) {
|
|
@@ -370,12 +380,621 @@ function createFormSetsService(transport, _config) {
|
|
|
370
380
|
};
|
|
371
381
|
}
|
|
372
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
|
+
|
|
373
985
|
function createFormsBlock(transport, config) {
|
|
374
986
|
return {
|
|
375
987
|
forms: createFormsService(transport),
|
|
376
988
|
schemas: createFormSchemasService(transport),
|
|
377
989
|
instances: createFormInstancesService(transport),
|
|
378
|
-
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)
|
|
379
998
|
};
|
|
380
999
|
}
|
|
381
1000
|
const formsBlockMetadata = {
|
|
@@ -386,7 +1005,14 @@ const formsBlockMetadata = {
|
|
|
386
1005
|
'Form',
|
|
387
1006
|
'FormSchema',
|
|
388
1007
|
'FormInstance',
|
|
389
|
-
'FormSet'
|
|
1008
|
+
'FormSet',
|
|
1009
|
+
'Landing',
|
|
1010
|
+
'Subscription',
|
|
1011
|
+
'Appointment',
|
|
1012
|
+
'Survey',
|
|
1013
|
+
'Referral',
|
|
1014
|
+
'MailTemplate',
|
|
1015
|
+
'PublicForm'
|
|
390
1016
|
]
|
|
391
1017
|
};
|
|
392
1018
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Transport, BlockConfig, BlockMetadata } from '@23blocks/contracts';
|
|
2
|
-
import { type FormsService, type FormSchemasService, type FormInstancesService, type FormSetsService } from './services';
|
|
2
|
+
import { type FormsService, type FormSchemasService, type FormInstancesService, type FormSetsService, type LandingsService, type SubscriptionsService, type AppointmentsService, type SurveysService, type ReferralsService, type MailTemplatesService, type PublicFormsService } from './services';
|
|
3
3
|
export interface FormsBlockConfig extends BlockConfig {
|
|
4
4
|
appId: string;
|
|
5
5
|
tenantId?: string;
|
|
@@ -9,6 +9,13 @@ export interface FormsBlock {
|
|
|
9
9
|
schemas: FormSchemasService;
|
|
10
10
|
instances: FormInstancesService;
|
|
11
11
|
sets: FormSetsService;
|
|
12
|
+
landings: LandingsService;
|
|
13
|
+
subscriptions: SubscriptionsService;
|
|
14
|
+
appointments: AppointmentsService;
|
|
15
|
+
surveys: SurveysService;
|
|
16
|
+
referrals: ReferralsService;
|
|
17
|
+
mailTemplates: MailTemplatesService;
|
|
18
|
+
publicForms: PublicFormsService;
|
|
12
19
|
}
|
|
13
20
|
export declare function createFormsBlock(transport: Transport, config: FormsBlockConfig): FormsBlock;
|
|
14
21
|
export declare const formsBlockMetadata: BlockMetadata;
|