@oneblink/sdk 2.3.0-beta.1 → 2.3.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/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oneblink/sdk",
|
|
3
3
|
"description": "OneBlink SDK to serve as an entry point for all OneBlink Services in NodeJS",
|
|
4
|
-
"version": "2.3.0
|
|
4
|
+
"version": "2.3.0",
|
|
5
5
|
"author": "OneBlink <developers@oneblink.io> (https://oneblink.io)",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/oneblink/sdk-node-js/issues"
|
|
@@ -46,33 +46,28 @@ function validateFormEventData(formElements, workflowEvent) {
|
|
|
46
46
|
return formEvent;
|
|
47
47
|
}
|
|
48
48
|
exports.validateFormEventData = validateFormEventData;
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const endDate = new Date(publishEndDate);
|
|
60
|
-
if (startDate >= endDate)
|
|
61
|
-
throw new Error('Publish Start Date must be before Publish End Date');
|
|
62
|
-
}
|
|
63
|
-
if (!validatedForm.submissionEvents) {
|
|
64
|
-
validatedForm.submissionEvents = [];
|
|
49
|
+
function validateReferenceDate({ element, referenceType, elements, }) {
|
|
50
|
+
if (element[referenceType]) {
|
|
51
|
+
//ensure element exists and is the same type
|
|
52
|
+
const referencedElement = elements.find((el) => el.id === element[referenceType]);
|
|
53
|
+
if (!referencedElement) {
|
|
54
|
+
throw new Error(`Referenced ${referenceType} not found`);
|
|
55
|
+
}
|
|
56
|
+
if (referencedElement.type !== element.type) {
|
|
57
|
+
throw new Error(`Referenced ${referenceType} not a ${element.type}`);
|
|
58
|
+
}
|
|
65
59
|
}
|
|
66
|
-
|
|
60
|
+
}
|
|
61
|
+
function validateFormElementReferences(rootElements, formElements) {
|
|
67
62
|
// Element References
|
|
68
|
-
for (const
|
|
69
|
-
switch (
|
|
63
|
+
for (const element of rootElements) {
|
|
64
|
+
switch (element.type) {
|
|
70
65
|
case 'summary': {
|
|
71
|
-
|
|
72
|
-
if (elementId ===
|
|
66
|
+
element.elementIds.forEach((elementId) => {
|
|
67
|
+
if (elementId === element.id) {
|
|
73
68
|
throw new Error('Summary element cannot summarised self');
|
|
74
69
|
}
|
|
75
|
-
const summarizedElement = sdk_core_1.formElementsService.findFormElement(
|
|
70
|
+
const summarizedElement = sdk_core_1.formElementsService.findFormElement(formElements, (formElement) => formElement.id === elementId);
|
|
76
71
|
if (!summarizedElement) {
|
|
77
72
|
throw new Error('Summarised elementId not found');
|
|
78
73
|
}
|
|
@@ -98,8 +93,52 @@ function validateWithFormSchema(form) {
|
|
|
98
93
|
});
|
|
99
94
|
break;
|
|
100
95
|
}
|
|
96
|
+
case 'date':
|
|
97
|
+
case 'datetime': {
|
|
98
|
+
if (element.toDateElementId) {
|
|
99
|
+
validateReferenceDate({
|
|
100
|
+
element,
|
|
101
|
+
referenceType: 'toDateElementId',
|
|
102
|
+
elements: rootElements,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
if (element.fromDateElementId) {
|
|
106
|
+
validateReferenceDate({
|
|
107
|
+
element,
|
|
108
|
+
referenceType: 'fromDateElementId',
|
|
109
|
+
elements: rootElements,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
case 'repeatableSet': {
|
|
115
|
+
(0, common_1.validateElementNamesAcrossNestedElements)(element.elements);
|
|
116
|
+
const repSetRootElements = (0, common_1.getRootFormElements)(element.elements);
|
|
117
|
+
validateFormElementReferences(repSetRootElements, element.elements);
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
101
120
|
}
|
|
102
121
|
}
|
|
122
|
+
}
|
|
123
|
+
function validateWithFormSchema(form) {
|
|
124
|
+
var _a, _b, _c;
|
|
125
|
+
const validatedForm = (0, common_1.validateJoiSchema)(form, forms_schema_1.formSchema, {
|
|
126
|
+
stripUnknown: true,
|
|
127
|
+
});
|
|
128
|
+
// validate element names are unique (including elements without a name with children)
|
|
129
|
+
(0, common_1.validateElementNamesAcrossNestedElements)(validatedForm.elements);
|
|
130
|
+
const { publishStartDate, publishEndDate } = validatedForm;
|
|
131
|
+
if (!!publishStartDate && !!publishEndDate) {
|
|
132
|
+
const startDate = new Date(publishStartDate);
|
|
133
|
+
const endDate = new Date(publishEndDate);
|
|
134
|
+
if (startDate >= endDate)
|
|
135
|
+
throw new Error('Publish Start Date must be before Publish End Date');
|
|
136
|
+
}
|
|
137
|
+
if (!validatedForm.submissionEvents) {
|
|
138
|
+
validatedForm.submissionEvents = [];
|
|
139
|
+
}
|
|
140
|
+
const rootFormElements = (0, common_1.getRootFormElements)(validatedForm.elements);
|
|
141
|
+
validateFormElementReferences(rootFormElements, validatedForm.elements);
|
|
103
142
|
// Form Event References
|
|
104
143
|
const formEventPropsToValidate = [
|
|
105
144
|
'draftEvents',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/forms-validation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAqB;AACrB,iDAAwD;AAMxD,kDAMwB;AACxB,uEAAkF;AAClF,qCAIiB;AACjB,+EAA8E;AAE9E,SAAS,qBAAqB,CAC5B,YAAqC,EACrC,aAAsB;IAEtB,MAAM,SAAS,GAAG,IAAA,0BAAiB,EAAC,aAAa,EAAE,kCAAmB,EAAE;QACtE,YAAY,EAAE,IAAI;KACnB,CAAmC,CAAA;IACpC,IAAA,wCAAiB,EAAC;QAChB,SAAS;QACT,YAAY,EAAE,WAAW;QACzB,qBAAqB,EAAE,YAAY;QACnC,gBAAgB,EAAE,IAAA,4BAAmB,EAAC,YAAY,CAAC;KACpD,CAAC,CAAA;IACF,OAAO,SAAS,CAAA;AAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/forms-validation/index.ts"],"names":[],"mappings":"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"}
|