@routevn/creator-model 1.2.5 → 1.2.6
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 +1 -1
- package/src/model.js +103 -1
package/package.json
CHANGED
package/src/model.js
CHANGED
|
@@ -3656,6 +3656,21 @@ const validateKeyboardMap = ({ value, path, errorFactory }) => {
|
|
|
3656
3656
|
return VALID_RESULT;
|
|
3657
3657
|
};
|
|
3658
3658
|
|
|
3659
|
+
const validatePreviewObject = ({ value, path, errorFactory }) => {
|
|
3660
|
+
if (value === undefined) {
|
|
3661
|
+
return VALID_RESULT;
|
|
3662
|
+
}
|
|
3663
|
+
|
|
3664
|
+
if (!isPlainObject(value)) {
|
|
3665
|
+
return invalidFromErrorFactory(
|
|
3666
|
+
errorFactory,
|
|
3667
|
+
`${path} must be an object when provided`,
|
|
3668
|
+
);
|
|
3669
|
+
}
|
|
3670
|
+
|
|
3671
|
+
return VALID_RESULT;
|
|
3672
|
+
};
|
|
3673
|
+
|
|
3659
3674
|
const validateLayoutItems = ({ items, path, errorFactory }) => {
|
|
3660
3675
|
for (const [itemId, item] of Object.entries(items)) {
|
|
3661
3676
|
const itemPath = `${path}.${itemId}`;
|
|
@@ -3681,6 +3696,7 @@ const validateLayoutItems = ({ items, path, errorFactory }) => {
|
|
|
3681
3696
|
"layoutType",
|
|
3682
3697
|
"isFragment",
|
|
3683
3698
|
"thumbnailFileId",
|
|
3699
|
+
"preview",
|
|
3684
3700
|
"elements",
|
|
3685
3701
|
],
|
|
3686
3702
|
path: itemPath,
|
|
@@ -3729,6 +3745,17 @@ const validateLayoutItems = ({ items, path, errorFactory }) => {
|
|
|
3729
3745
|
);
|
|
3730
3746
|
}
|
|
3731
3747
|
|
|
3748
|
+
{
|
|
3749
|
+
const result = validatePreviewObject({
|
|
3750
|
+
value: item.preview,
|
|
3751
|
+
path: `${itemPath}.preview`,
|
|
3752
|
+
errorFactory,
|
|
3753
|
+
});
|
|
3754
|
+
if (result?.valid === false) {
|
|
3755
|
+
return result;
|
|
3756
|
+
}
|
|
3757
|
+
}
|
|
3758
|
+
|
|
3732
3759
|
if (item.type === "layout") {
|
|
3733
3760
|
if (!LAYOUT_TYPE_KEYS.includes(item.layoutType)) {
|
|
3734
3761
|
return invalidFromErrorFactory(
|
|
@@ -3786,6 +3813,7 @@ const validateControlItems = ({ items, path, errorFactory }) => {
|
|
|
3786
3813
|
"name",
|
|
3787
3814
|
"description",
|
|
3788
3815
|
"thumbnailFileId",
|
|
3816
|
+
"preview",
|
|
3789
3817
|
"elements",
|
|
3790
3818
|
"keyboard",
|
|
3791
3819
|
],
|
|
@@ -3835,6 +3863,17 @@ const validateControlItems = ({ items, path, errorFactory }) => {
|
|
|
3835
3863
|
);
|
|
3836
3864
|
}
|
|
3837
3865
|
|
|
3866
|
+
{
|
|
3867
|
+
const result = validatePreviewObject({
|
|
3868
|
+
value: item.preview,
|
|
3869
|
+
path: `${itemPath}.preview`,
|
|
3870
|
+
errorFactory,
|
|
3871
|
+
});
|
|
3872
|
+
if (result?.valid === false) {
|
|
3873
|
+
return result;
|
|
3874
|
+
}
|
|
3875
|
+
}
|
|
3876
|
+
|
|
3838
3877
|
if (item.type === "control") {
|
|
3839
3878
|
{
|
|
3840
3879
|
const result = validateNestedCollection({
|
|
@@ -8166,6 +8205,7 @@ const validateLayoutCreateData = ({ data, errorFactory }) => {
|
|
|
8166
8205
|
"layoutType",
|
|
8167
8206
|
"isFragment",
|
|
8168
8207
|
"thumbnailFileId",
|
|
8208
|
+
"preview",
|
|
8169
8209
|
"elements",
|
|
8170
8210
|
],
|
|
8171
8211
|
path: "payload.data",
|
|
@@ -8200,6 +8240,17 @@ const validateLayoutCreateData = ({ data, errorFactory }) => {
|
|
|
8200
8240
|
);
|
|
8201
8241
|
}
|
|
8202
8242
|
|
|
8243
|
+
{
|
|
8244
|
+
const result = validatePreviewObject({
|
|
8245
|
+
value: data.preview,
|
|
8246
|
+
path: "payload.data.preview",
|
|
8247
|
+
errorFactory,
|
|
8248
|
+
});
|
|
8249
|
+
if (result?.valid === false) {
|
|
8250
|
+
return result;
|
|
8251
|
+
}
|
|
8252
|
+
}
|
|
8253
|
+
|
|
8203
8254
|
if (data.type === "layout") {
|
|
8204
8255
|
if (!LAYOUT_TYPE_KEYS.includes(data.layoutType)) {
|
|
8205
8256
|
return invalidFromErrorFactory(
|
|
@@ -8240,6 +8291,7 @@ const validateLayoutUpdateData = ({ data, errorFactory }) => {
|
|
|
8240
8291
|
"layoutType",
|
|
8241
8292
|
"isFragment",
|
|
8242
8293
|
"thumbnailFileId",
|
|
8294
|
+
"preview",
|
|
8243
8295
|
],
|
|
8244
8296
|
path: "payload.data",
|
|
8245
8297
|
errorFactory,
|
|
@@ -8280,6 +8332,17 @@ const validateLayoutUpdateData = ({ data, errorFactory }) => {
|
|
|
8280
8332
|
);
|
|
8281
8333
|
}
|
|
8282
8334
|
|
|
8335
|
+
{
|
|
8336
|
+
const result = validatePreviewObject({
|
|
8337
|
+
value: data.preview,
|
|
8338
|
+
path: "payload.data.preview",
|
|
8339
|
+
errorFactory,
|
|
8340
|
+
});
|
|
8341
|
+
if (result?.valid === false) {
|
|
8342
|
+
return result;
|
|
8343
|
+
}
|
|
8344
|
+
}
|
|
8345
|
+
|
|
8283
8346
|
if (
|
|
8284
8347
|
data.layoutType !== undefined &&
|
|
8285
8348
|
!LAYOUT_TYPE_KEYS.includes(data.layoutType)
|
|
@@ -8324,6 +8387,7 @@ const validateControlCreateData = ({ data, errorFactory }) => {
|
|
|
8324
8387
|
"name",
|
|
8325
8388
|
"description",
|
|
8326
8389
|
"thumbnailFileId",
|
|
8390
|
+
"preview",
|
|
8327
8391
|
"elements",
|
|
8328
8392
|
"keyboard",
|
|
8329
8393
|
],
|
|
@@ -8359,6 +8423,17 @@ const validateControlCreateData = ({ data, errorFactory }) => {
|
|
|
8359
8423
|
);
|
|
8360
8424
|
}
|
|
8361
8425
|
|
|
8426
|
+
{
|
|
8427
|
+
const result = validatePreviewObject({
|
|
8428
|
+
value: data.preview,
|
|
8429
|
+
path: "payload.data.preview",
|
|
8430
|
+
errorFactory,
|
|
8431
|
+
});
|
|
8432
|
+
if (result?.valid === false) {
|
|
8433
|
+
return result;
|
|
8434
|
+
}
|
|
8435
|
+
}
|
|
8436
|
+
|
|
8362
8437
|
if (data.type === "control") {
|
|
8363
8438
|
{
|
|
8364
8439
|
const result = validateNestedCollection({
|
|
@@ -8390,7 +8465,13 @@ const validateControlUpdateData = ({ data, errorFactory }) => {
|
|
|
8390
8465
|
{
|
|
8391
8466
|
const result = validateAllowedKeys({
|
|
8392
8467
|
value: data,
|
|
8393
|
-
allowedKeys: [
|
|
8468
|
+
allowedKeys: [
|
|
8469
|
+
"name",
|
|
8470
|
+
"description",
|
|
8471
|
+
"keyboard",
|
|
8472
|
+
"thumbnailFileId",
|
|
8473
|
+
"preview",
|
|
8474
|
+
],
|
|
8394
8475
|
path: "payload.data",
|
|
8395
8476
|
errorFactory,
|
|
8396
8477
|
});
|
|
@@ -8430,6 +8511,17 @@ const validateControlUpdateData = ({ data, errorFactory }) => {
|
|
|
8430
8511
|
);
|
|
8431
8512
|
}
|
|
8432
8513
|
|
|
8514
|
+
{
|
|
8515
|
+
const result = validatePreviewObject({
|
|
8516
|
+
value: data.preview,
|
|
8517
|
+
path: "payload.data.preview",
|
|
8518
|
+
errorFactory,
|
|
8519
|
+
});
|
|
8520
|
+
if (result?.valid === false) {
|
|
8521
|
+
return result;
|
|
8522
|
+
}
|
|
8523
|
+
}
|
|
8524
|
+
|
|
8433
8525
|
{
|
|
8434
8526
|
const result = validateKeyboardMap({
|
|
8435
8527
|
value: data.keyboard,
|
|
@@ -13740,6 +13832,11 @@ const COMMAND_DEFINITIONS = [
|
|
|
13740
13832
|
thumbnailFileId: payload.data.thumbnailFileId,
|
|
13741
13833
|
}
|
|
13742
13834
|
: {}),
|
|
13835
|
+
...(payload.data.preview !== undefined
|
|
13836
|
+
? {
|
|
13837
|
+
preview: structuredClone(payload.data.preview),
|
|
13838
|
+
}
|
|
13839
|
+
: {}),
|
|
13743
13840
|
elements: structuredClone(payload.data.elements),
|
|
13744
13841
|
}
|
|
13745
13842
|
: {}),
|
|
@@ -13805,6 +13902,11 @@ const COMMAND_DEFINITIONS = [
|
|
|
13805
13902
|
thumbnailFileId: payload.data.thumbnailFileId,
|
|
13806
13903
|
}
|
|
13807
13904
|
: {}),
|
|
13905
|
+
...(payload.data.preview !== undefined
|
|
13906
|
+
? {
|
|
13907
|
+
preview: structuredClone(payload.data.preview),
|
|
13908
|
+
}
|
|
13909
|
+
: {}),
|
|
13808
13910
|
elements: structuredClone(payload.data.elements),
|
|
13809
13911
|
...(payload.data.keyboard !== undefined
|
|
13810
13912
|
? {
|