@webiny/api-headless-cms 5.40.2 → 5.40.3-beta.1
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/crud/contentModel/fields/descriptionField.d.ts +5 -1
- package/crud/contentModel/fields/descriptionField.js +14 -28
- package/crud/contentModel/fields/descriptionField.js.map +1 -1
- package/crud/contentModel/fields/getApplicableFieldById.d.ts +2 -0
- package/crud/contentModel/fields/getApplicableFieldById.js +15 -0
- package/crud/contentModel/fields/getApplicableFieldById.js.map +1 -0
- package/crud/contentModel/fields/imageField.d.ts +1 -1
- package/crud/contentModel/fields/imageField.js +9 -28
- package/crud/contentModel/fields/imageField.js.map +1 -1
- package/crud/contentModel/fields/titleField.d.ts +5 -1
- package/crud/contentModel/fields/titleField.js +14 -43
- package/crud/contentModel/fields/titleField.js.map +1 -1
- package/crud/contentModel/validation.js +2 -3
- package/crud/contentModel/validation.js.map +1 -1
- package/package.json +20 -20
- package/types/model.d.ts +6 -6
- package/types/model.js.map +1 -1
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import { CmsModelField } from "../../../types";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Try finding the requested field, and return its `fieldId`.
|
|
4
|
+
* If not defined, or not applicable, fall back to the first applicable field.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getContentModelDescriptionFieldId: (fields: CmsModelField[], descriptionFieldId?: string | null) => string | null;
|
|
@@ -1,43 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.getContentModelDescriptionFieldId = void 0;
|
|
8
7
|
var _getBaseFieldType = require("../../../utils/getBaseFieldType");
|
|
9
|
-
var
|
|
8
|
+
var _getApplicableFieldById = require("./getApplicableFieldById");
|
|
9
|
+
const isFieldApplicable = field => {
|
|
10
|
+
return (0, _getBaseFieldType.getBaseFieldType)(field) === "long-text" && !field.multipleValues;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Try finding the requested field, and return its `fieldId`.
|
|
15
|
+
* If not defined, or not applicable, fall back to the first applicable field.
|
|
16
|
+
*/
|
|
10
17
|
const getContentModelDescriptionFieldId = (fields, descriptionFieldId) => {
|
|
11
|
-
/**
|
|
12
|
-
* If there are no fields defined, we will just set as null.
|
|
13
|
-
*/
|
|
14
18
|
if (fields.length === 0) {
|
|
15
19
|
return null;
|
|
16
20
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (!descriptionFieldId) {
|
|
21
|
-
const descriptionField = fields.find(field => {
|
|
22
|
-
return (0, _getBaseFieldType.getBaseFieldType)(field) === "long-text" && !field.multipleValues;
|
|
23
|
-
});
|
|
24
|
-
return descriptionField?.fieldId || null;
|
|
25
|
-
}
|
|
26
|
-
const target = fields.find(field => field.fieldId === descriptionFieldId && (0, _getBaseFieldType.getBaseFieldType)(field) === "long-text");
|
|
27
|
-
if (!target) {
|
|
28
|
-
throw new _error.default(`Field selected for the description field does not exist in the model.`, "VALIDATION_ERROR", {
|
|
29
|
-
fieldId: descriptionFieldId,
|
|
30
|
-
fields
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if (target.multipleValues) {
|
|
34
|
-
throw new _error.default(`Fields that accept multiple values cannot be used as the entry description.`, "ENTRY_TITLE_FIELD_TYPE", {
|
|
35
|
-
storageId: target.storageId,
|
|
36
|
-
fieldId: target.fieldId,
|
|
37
|
-
type: target.type
|
|
38
|
-
});
|
|
21
|
+
const target = (0, _getApplicableFieldById.getApplicableFieldById)(fields, descriptionFieldId, isFieldApplicable);
|
|
22
|
+
if (target) {
|
|
23
|
+
return target.fieldId;
|
|
39
24
|
}
|
|
40
|
-
|
|
25
|
+
const descriptionField = fields.find(isFieldApplicable);
|
|
26
|
+
return descriptionField ? descriptionField.fieldId : null;
|
|
41
27
|
};
|
|
42
28
|
exports.getContentModelDescriptionFieldId = getContentModelDescriptionFieldId;
|
|
43
29
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getBaseFieldType","require","
|
|
1
|
+
{"version":3,"names":["_getBaseFieldType","require","_getApplicableFieldById","isFieldApplicable","field","getBaseFieldType","multipleValues","getContentModelDescriptionFieldId","fields","descriptionFieldId","length","target","getApplicableFieldById","fieldId","descriptionField","find","exports"],"sources":["descriptionField.ts"],"sourcesContent":["import { CmsModelField } from \"~/types\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport { getApplicableFieldById } from \"./getApplicableFieldById\";\n\nconst isFieldApplicable = (field: CmsModelField) => {\n return getBaseFieldType(field) === \"long-text\" && !field.multipleValues;\n};\n\n/**\n * Try finding the requested field, and return its `fieldId`.\n * If not defined, or not applicable, fall back to the first applicable field.\n */\nexport const getContentModelDescriptionFieldId = (\n fields: CmsModelField[],\n descriptionFieldId?: string | null\n) => {\n if (fields.length === 0) {\n return null;\n }\n\n const target = getApplicableFieldById(fields, descriptionFieldId, isFieldApplicable);\n\n if (target) {\n return target.fieldId;\n }\n\n const descriptionField = fields.find(isFieldApplicable);\n return descriptionField ? descriptionField.fieldId : null;\n};\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAEA,MAAME,iBAAiB,GAAIC,KAAoB,IAAK;EAChD,OAAO,IAAAC,kCAAgB,EAACD,KAAK,CAAC,KAAK,WAAW,IAAI,CAACA,KAAK,CAACE,cAAc;AAC3E,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMC,iCAAiC,GAAGA,CAC7CC,MAAuB,EACvBC,kBAAkC,KACjC;EACD,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACrB,OAAO,IAAI;EACf;EAEA,MAAMC,MAAM,GAAG,IAAAC,8CAAsB,EAACJ,MAAM,EAAEC,kBAAkB,EAAEN,iBAAiB,CAAC;EAEpF,IAAIQ,MAAM,EAAE;IACR,OAAOA,MAAM,CAACE,OAAO;EACzB;EAEA,MAAMC,gBAAgB,GAAGN,MAAM,CAACO,IAAI,CAACZ,iBAAiB,CAAC;EACvD,OAAOW,gBAAgB,GAAGA,gBAAgB,CAACD,OAAO,GAAG,IAAI;AAC7D,CAAC;AAACG,OAAA,CAAAT,iCAAA,GAAAA,iCAAA","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getApplicableFieldById = void 0;
|
|
7
|
+
const getApplicableFieldById = (fields, id, isApplicable) => {
|
|
8
|
+
if (!id) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
return fields.find(field => field.fieldId === id && isApplicable(field));
|
|
12
|
+
};
|
|
13
|
+
exports.getApplicableFieldById = getApplicableFieldById;
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=getApplicableFieldById.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getApplicableFieldById","fields","id","isApplicable","undefined","find","field","fieldId","exports"],"sources":["getApplicableFieldById.ts"],"sourcesContent":["import { CmsModelField } from \"~/types\";\n\nexport const getApplicableFieldById = (\n fields: CmsModelField[],\n id: string | null | undefined,\n isApplicable: (field: CmsModelField) => boolean\n) => {\n if (!id) {\n return undefined;\n }\n\n return fields.find(field => field.fieldId === id && isApplicable(field));\n};\n"],"mappings":";;;;;;AAEO,MAAMA,sBAAsB,GAAGA,CAClCC,MAAuB,EACvBC,EAA6B,EAC7BC,YAA+C,KAC9C;EACD,IAAI,CAACD,EAAE,EAAE;IACL,OAAOE,SAAS;EACpB;EAEA,OAAOH,MAAM,CAACI,IAAI,CAACC,KAAK,IAAIA,KAAK,CAACC,OAAO,KAAKL,EAAE,IAAIC,YAAY,CAACG,KAAK,CAAC,CAAC;AAC5E,CAAC;AAACE,OAAA,CAAAR,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CmsModelField } from "../../../types";
|
|
2
|
-
export declare const getContentModelImageFieldId: (fields: CmsModelField[], imageFieldId?: string | null) => string | null
|
|
2
|
+
export declare const getContentModelImageFieldId: (fields: CmsModelField[], imageFieldId?: string | null) => string | null;
|
|
@@ -1,43 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.getContentModelImageFieldId = void 0;
|
|
8
7
|
var _getBaseFieldType = require("../../../utils/getBaseFieldType");
|
|
9
|
-
var
|
|
8
|
+
var _getApplicableFieldById = require("./getApplicableFieldById");
|
|
9
|
+
const isFieldApplicable = field => {
|
|
10
|
+
return Boolean((0, _getBaseFieldType.getBaseFieldType)(field) === "file" && !field.multipleValues && field.settings?.imagesOnly);
|
|
11
|
+
};
|
|
10
12
|
const getContentModelImageFieldId = (fields, imageFieldId) => {
|
|
11
|
-
/**
|
|
12
|
-
* If there are no fields defined, we will just set as null.
|
|
13
|
-
*/
|
|
14
13
|
if (fields.length === 0) {
|
|
15
14
|
return null;
|
|
16
15
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (!imageFieldId) {
|
|
21
|
-
const imageField = fields.find(field => {
|
|
22
|
-
return (0, _getBaseFieldType.getBaseFieldType)(field) === "file" && !field.multipleValues && field.settings?.imagesOnly;
|
|
23
|
-
});
|
|
24
|
-
return imageField?.fieldId || null;
|
|
25
|
-
}
|
|
26
|
-
const target = fields.find(field => field.fieldId === imageFieldId && (0, _getBaseFieldType.getBaseFieldType)(field) === "file" && field.settings?.imagesOnly);
|
|
27
|
-
if (!target) {
|
|
28
|
-
throw new _error.default(`Field selected for the image field does not exist in the model.`, "VALIDATION_ERROR", {
|
|
29
|
-
fieldId: imageFieldId,
|
|
30
|
-
fields
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
if (target.multipleValues) {
|
|
34
|
-
throw new _error.default(`Fields that accept multiple values cannot be used as the entry image.`, "ENTRY_TITLE_FIELD_TYPE", {
|
|
35
|
-
storageId: target.storageId,
|
|
36
|
-
fieldId: target.fieldId,
|
|
37
|
-
type: target.type
|
|
38
|
-
});
|
|
16
|
+
const target = (0, _getApplicableFieldById.getApplicableFieldById)(fields, imageFieldId, isFieldApplicable);
|
|
17
|
+
if (target) {
|
|
18
|
+
return target.fieldId;
|
|
39
19
|
}
|
|
40
|
-
|
|
20
|
+
const imageField = fields.find(isFieldApplicable);
|
|
21
|
+
return imageField ? imageField.fieldId : null;
|
|
41
22
|
};
|
|
42
23
|
exports.getContentModelImageFieldId = getContentModelImageFieldId;
|
|
43
24
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getBaseFieldType","require","
|
|
1
|
+
{"version":3,"names":["_getBaseFieldType","require","_getApplicableFieldById","isFieldApplicable","field","Boolean","getBaseFieldType","multipleValues","settings","imagesOnly","getContentModelImageFieldId","fields","imageFieldId","length","target","getApplicableFieldById","fieldId","imageField","find","exports"],"sources":["imageField.ts"],"sourcesContent":["import { CmsModelField } from \"~/types\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport { getApplicableFieldById } from \"./getApplicableFieldById\";\n\nconst isFieldApplicable = (field: CmsModelField) => {\n return Boolean(\n getBaseFieldType(field) === \"file\" && !field.multipleValues && field.settings?.imagesOnly\n );\n};\n\nexport const getContentModelImageFieldId = (\n fields: CmsModelField[],\n imageFieldId?: string | null\n) => {\n if (fields.length === 0) {\n return null;\n }\n\n const target = getApplicableFieldById(fields, imageFieldId, isFieldApplicable);\n\n if (target) {\n return target.fieldId;\n }\n\n const imageField = fields.find(isFieldApplicable);\n return imageField ? imageField.fieldId : null;\n};\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAEA,MAAME,iBAAiB,GAAIC,KAAoB,IAAK;EAChD,OAAOC,OAAO,CACV,IAAAC,kCAAgB,EAACF,KAAK,CAAC,KAAK,MAAM,IAAI,CAACA,KAAK,CAACG,cAAc,IAAIH,KAAK,CAACI,QAAQ,EAAEC,UACnF,CAAC;AACL,CAAC;AAEM,MAAMC,2BAA2B,GAAGA,CACvCC,MAAuB,EACvBC,YAA4B,KAC3B;EACD,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACrB,OAAO,IAAI;EACf;EAEA,MAAMC,MAAM,GAAG,IAAAC,8CAAsB,EAACJ,MAAM,EAAEC,YAAY,EAAET,iBAAiB,CAAC;EAE9E,IAAIW,MAAM,EAAE;IACR,OAAOA,MAAM,CAACE,OAAO;EACzB;EAEA,MAAMC,UAAU,GAAGN,MAAM,CAACO,IAAI,CAACf,iBAAiB,CAAC;EACjD,OAAOc,UAAU,GAAGA,UAAU,CAACD,OAAO,GAAG,IAAI;AACjD,CAAC;AAACG,OAAA,CAAAT,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import { CmsModelField } from "../../../types";
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Try finding the requested field, and return its `fieldId`.
|
|
4
|
+
* If not defined, or not applicable, fall back to the first applicable field.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getContentModelTitleFieldId: (fields: CmsModelField[], titleFieldId?: string | null) => string;
|
|
@@ -1,59 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.getContentModelTitleFieldId = void 0;
|
|
8
7
|
var _getBaseFieldType = require("../../../utils/getBaseFieldType");
|
|
9
|
-
var
|
|
8
|
+
var _getApplicableFieldById = require("./getApplicableFieldById");
|
|
10
9
|
const defaultTitleFieldId = "id";
|
|
11
|
-
const
|
|
10
|
+
const isFieldApplicable = field => {
|
|
11
|
+
return (0, _getBaseFieldType.getBaseFieldType)(field) === "text" && !field.multipleValues;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Try finding the requested field, and return its `fieldId`.
|
|
16
|
+
* If not defined, or not applicable, fall back to the first applicable field.
|
|
17
|
+
*/
|
|
12
18
|
const getContentModelTitleFieldId = (fields, titleFieldId) => {
|
|
13
|
-
/**
|
|
14
|
-
* If there are no fields defined, we will return the default field
|
|
15
|
-
*/
|
|
16
19
|
if (fields.length === 0) {
|
|
17
20
|
return defaultTitleFieldId;
|
|
18
21
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
* or if initial titleFieldId is the default one also try to find first available text field
|
|
23
|
-
*/
|
|
24
|
-
if (!titleFieldId || titleFieldId === defaultTitleFieldId) {
|
|
25
|
-
const titleField = fields.find(field => {
|
|
26
|
-
return (0, _getBaseFieldType.getBaseFieldType)(field) === "text" && !field.multipleValues;
|
|
27
|
-
});
|
|
28
|
-
return titleField?.fieldId || defaultTitleFieldId;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* check existing titleFieldId for existence in the model
|
|
32
|
-
* for correct type
|
|
33
|
-
* and that it is not multiple values field
|
|
34
|
-
*/
|
|
35
|
-
const target = fields.find(f => f.fieldId === titleFieldId);
|
|
36
|
-
if (!target) {
|
|
37
|
-
throw new _error.default(`Field selected for the title field does not exist in the model.`, "VALIDATION_ERROR", {
|
|
38
|
-
fieldId: titleFieldId,
|
|
39
|
-
fields
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
if (allowedTitleFieldTypes.includes(target.type) === false) {
|
|
43
|
-
throw new _error.default(`Only ${allowedTitleFieldTypes.join(", ")} and id fields can be used as an entry title.`, "ENTRY_TITLE_FIELD_TYPE", {
|
|
44
|
-
storageId: target.storageId,
|
|
45
|
-
fieldId: target.fieldId,
|
|
46
|
-
type: target.type
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
if (target.multipleValues) {
|
|
50
|
-
throw new _error.default(`Fields that accept multiple values cannot be used as the entry title.`, "ENTRY_TITLE_FIELD_TYPE", {
|
|
51
|
-
storageId: target.storageId,
|
|
52
|
-
fieldId: target.fieldId,
|
|
53
|
-
type: target.type
|
|
54
|
-
});
|
|
22
|
+
const target = (0, _getApplicableFieldById.getApplicableFieldById)(fields, titleFieldId, isFieldApplicable);
|
|
23
|
+
if (target) {
|
|
24
|
+
return target.fieldId;
|
|
55
25
|
}
|
|
56
|
-
|
|
26
|
+
const textField = fields.find(isFieldApplicable);
|
|
27
|
+
return textField ? textField.fieldId : defaultTitleFieldId;
|
|
57
28
|
};
|
|
58
29
|
exports.getContentModelTitleFieldId = getContentModelTitleFieldId;
|
|
59
30
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getBaseFieldType","require","
|
|
1
|
+
{"version":3,"names":["_getBaseFieldType","require","_getApplicableFieldById","defaultTitleFieldId","isFieldApplicable","field","getBaseFieldType","multipleValues","getContentModelTitleFieldId","fields","titleFieldId","length","target","getApplicableFieldById","fieldId","textField","find","exports"],"sources":["titleField.ts"],"sourcesContent":["import { CmsModelField } from \"~/types\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\nimport { getApplicableFieldById } from \"~/crud/contentModel/fields/getApplicableFieldById\";\n\nconst defaultTitleFieldId = \"id\";\n\nconst isFieldApplicable = (field: CmsModelField) => {\n return getBaseFieldType(field) === \"text\" && !field.multipleValues;\n};\n\n/**\n * Try finding the requested field, and return its `fieldId`.\n * If not defined, or not applicable, fall back to the first applicable field.\n */\nexport const getContentModelTitleFieldId = (\n fields: CmsModelField[],\n titleFieldId?: string | null\n) => {\n if (fields.length === 0) {\n return defaultTitleFieldId;\n }\n\n const target = getApplicableFieldById(fields, titleFieldId, isFieldApplicable);\n\n if (target) {\n return target.fieldId;\n }\n\n const textField = fields.find(isFieldApplicable);\n return textField ? textField.fieldId : defaultTitleFieldId;\n};\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAEA,MAAME,mBAAmB,GAAG,IAAI;AAEhC,MAAMC,iBAAiB,GAAIC,KAAoB,IAAK;EAChD,OAAO,IAAAC,kCAAgB,EAACD,KAAK,CAAC,KAAK,MAAM,IAAI,CAACA,KAAK,CAACE,cAAc;AACtE,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMC,2BAA2B,GAAGA,CACvCC,MAAuB,EACvBC,YAA4B,KAC3B;EACD,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACrB,OAAOR,mBAAmB;EAC9B;EAEA,MAAMS,MAAM,GAAG,IAAAC,8CAAsB,EAACJ,MAAM,EAAEC,YAAY,EAAEN,iBAAiB,CAAC;EAE9E,IAAIQ,MAAM,EAAE;IACR,OAAOA,MAAM,CAACE,OAAO;EACzB;EAEA,MAAMC,SAAS,GAAGN,MAAM,CAACO,IAAI,CAACZ,iBAAiB,CAAC;EAChD,OAAOW,SAAS,GAAGA,SAAS,CAACD,OAAO,GAAGX,mBAAmB;AAC9D,CAAC;AAACc,OAAA,CAAAT,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ exports.createModelUpdateValidation = exports.createModelImportValidation = expo
|
|
|
8
8
|
var _zod = _interopRequireDefault(require("zod"));
|
|
9
9
|
var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
|
|
10
10
|
var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
|
|
11
|
-
const fieldSystemFields = ["id", "
|
|
11
|
+
const fieldSystemFields = ["id", "entryId", "createdOn", "modifiedOn", "publishedOn", "savedOn", "deletedOn", "restoredOn", "firstPublishedOn", "lastPublishedOn", "createdBy", "modifiedBy", "savedBy", "deletedBy", "restoredBy", "firstPublishedBy", "lastPublishedBy", "revisionCreatedOn", "revisionModifiedOn", "revisionSavedOn", "revisionDeletedOn", "revisionRestoredOn", "revisionFirstPublishedOn", "revisionLastPublishedOn", "revisionCreatedBy", "revisionModifiedBy", "revisionSavedBy", "revisionDeletedBy", "revisionRestoredBy", "revisionFirstPublishedBy", "revisionLastPublishedBy", "meta", "wbyAco_location"];
|
|
12
12
|
const str = _zod.default.string().trim();
|
|
13
13
|
const shortString = str.max(255);
|
|
14
14
|
const optionalShortString = shortString.optional();
|
|
@@ -26,8 +26,7 @@ const fieldSchema = _zod.default.object({
|
|
|
26
26
|
if (fieldSystemFields.includes(value)) {
|
|
27
27
|
return ctx.addIssue({
|
|
28
28
|
code: _zod.default.ZodIssueCode.custom,
|
|
29
|
-
message: `
|
|
30
|
-
path: ["fieldId"]
|
|
29
|
+
message: `Field ID "${value}" is a reserved keyword, and is not allowed.`
|
|
31
30
|
});
|
|
32
31
|
}
|
|
33
32
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_zod","_interopRequireDefault","require","_upperFirst","_camelCase","fieldSystemFields","str","zod","string","trim","shortString","max","optionalShortString","optional","optionalNullishShortString","nullish","fieldSchema","object","id","storageId","transform","fieldId","regex","message","superRefine","value","ctx","includes","addIssue","code","ZodIssueCode","custom","path","label","helpText","default","placeholderText","nullable","type","tags","array","multipleValues","boolean","predefinedValues","enabled","values","selected","renderer","name","settings","passthrough","validation","listValidation","apiNameRefinementValidation","match","upperFirst","camelCase","refinementSingularValidationMessage","refinementPluralValidationMessage","refinementModelIdValidation","camelCasedValue","toLowerCase","refinementModelIdValidationMessage","modelIdTransformation","createModelCreateValidation","modelId","singularApiName","min","refine","pluralApiName","description","group","icon","fields","layout","titleFieldId","descriptionFieldId","imageFieldId","defaultFields","exports","createModelImportValidation","createModelCreateFromValidation","locale","createModelUpdateValidation"],"sources":["validation.ts"],"sourcesContent":["import zod from \"zod\";\nimport upperFirst from \"lodash/upperFirst\";\nimport camelCase from \"lodash/camelCase\";\n\nconst fieldSystemFields: string[] = [\n \"id\",\n \"fieldId\",\n \"storageId\",\n \"label\",\n \"helpText\",\n \"placeholderText\",\n \"type\",\n \"multipleValues\",\n \"predefinedValues\",\n \"renderer\",\n \"validation\",\n \"listValidation\",\n \"settings\"\n];\n\nconst str = zod.string().trim();\nconst shortString = str.max(255);\nconst optionalShortString = shortString.optional();\nconst optionalNullishShortString = optionalShortString.nullish();\n\nconst fieldSchema = zod.object({\n id: shortString,\n storageId: zod\n .string()\n .optional()\n .transform(() => {\n return \"\";\n }),\n fieldId: shortString\n .max(100)\n .regex(/^!?[a-zA-Z]/, {\n message: `Provided value is not valid - must not start with a number.`\n })\n .regex(/^(^[a-zA-Z0-9]+)$/, {\n message: `Provided value is not valid - must be alphanumeric string.`\n })\n .superRefine((value, ctx) => {\n if (fieldSystemFields.includes(value)) {\n return ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `Provided ${value} is not valid - \"${value}\" is an auto-generated field.`,\n path: [\"fieldId\"]\n });\n }\n }),\n label: shortString,\n helpText: optionalShortString.optional().nullish().default(null),\n placeholderText: optionalShortString.optional().nullable().default(null),\n type: shortString,\n tags: zod.array(shortString).optional().default([]),\n multipleValues: zod\n .boolean()\n .optional()\n .nullish()\n .transform(value => {\n return !!value;\n })\n .default(false),\n predefinedValues: zod\n .object({\n enabled: zod.boolean(),\n values: zod\n .array(\n zod.object({\n value: shortString,\n label: shortString,\n selected: zod.boolean().optional().default(false)\n })\n )\n .default([])\n })\n .default({\n enabled: false,\n values: []\n })\n .optional(),\n renderer: zod\n .object({\n name: shortString,\n settings: zod.object({}).passthrough().nullish().optional()\n })\n .optional()\n .nullable()\n .default(null),\n validation: zod\n .array(\n zod.object({\n name: shortString,\n message: optionalShortString.default(\"Value is required.\"),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n })\n )\n .nullish()\n .optional()\n .default([])\n .transform(value => value || []),\n listValidation: zod\n .array(\n zod.object({\n name: shortString,\n message: optionalShortString.default(\"Value is required.\"),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n })\n )\n .nullish()\n .optional()\n .default([])\n .transform(value => value || []),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n});\n\nconst apiNameRefinementValidation = (value: string): boolean => {\n if (value.match(/^[A-Z]/) === null) {\n return false;\n }\n return value === upperFirst(camelCase(value));\n};\nconst refinementSingularValidationMessage = (value?: string) => {\n return {\n message: `The Singular API Name value \"${\n value || \"undefined\"\n }\" is not valid. It must in Upper First + Camel Cased form. For example: \"ArticleCategory\" or \"CarMake\".`\n };\n};\nconst refinementPluralValidationMessage = (value?: string) => {\n return {\n message: `The Plural API Name value \"${\n value || \"undefined\"\n }\" is not valid. It must in Upper First + Camel Cased form. For example: \"ArticleCategories\" or \"CarMakes\".`\n };\n};\n\nconst refinementModelIdValidation = (value?: string) => {\n if (!value) {\n return true;\n } else if (value.match(/^[a-zA-Z]/) === null) {\n return false;\n }\n const camelCasedValue = camelCase(value).toLowerCase();\n return camelCasedValue === value.toLowerCase();\n};\nconst refinementModelIdValidationMessage = (value?: string) => {\n if (!value) {\n return {};\n } else if (value.match(/^[a-zA-Z]/) === null) {\n return {\n message: `The modelId \"${value}\" is not valid. It must start with a A-Z or a-z.`\n };\n }\n return {\n message: `The modelId \"${value}\" is not valid.`\n };\n};\n\nconst modelIdTransformation = (value?: string) => {\n if (!value) {\n return value;\n }\n const camelCasedValue = camelCase(value);\n if (camelCasedValue.toLowerCase() === value.toLowerCase()) {\n return value;\n }\n return camelCasedValue;\n};\n\nexport const createModelCreateValidation = () => {\n return zod.object({\n name: shortString,\n modelId: optionalShortString.transform(modelIdTransformation),\n singularApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementSingularValidationMessage),\n pluralApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementPluralValidationMessage),\n description: optionalNullishShortString,\n group: shortString,\n icon: optionalNullishShortString,\n fields: zod.array(fieldSchema).default([]),\n layout: zod.array(zod.array(shortString)).default([]),\n tags: zod.array(shortString).optional(),\n titleFieldId: optionalShortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish(),\n defaultFields: zod.boolean().nullish()\n });\n};\n\nexport const createModelImportValidation = () => {\n return zod.object({\n name: shortString.min(1).refine(\n value => {\n return value.match(/[a-zA-Z]/) !== null;\n },\n value => {\n return {\n message: `The name \"${value}\" is not valid.`\n };\n }\n ),\n modelId: shortString\n .min(1)\n .refine(refinementModelIdValidation, refinementModelIdValidationMessage)\n .transform(modelIdTransformation),\n singularApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementSingularValidationMessage),\n pluralApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementPluralValidationMessage),\n description: optionalNullishShortString,\n group: shortString,\n icon: optionalNullishShortString,\n fields: zod.array(fieldSchema).min(1),\n layout: zod.array(zod.array(shortString)).min(1),\n tags: zod.array(shortString).optional(),\n titleFieldId: shortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish()\n });\n};\n\nexport const createModelCreateFromValidation = () => {\n return zod.object({\n name: shortString,\n modelId: optionalShortString.transform(modelIdTransformation),\n singularApiName: shortString.refine(\n apiNameRefinementValidation,\n refinementSingularValidationMessage\n ),\n pluralApiName: shortString.refine(\n apiNameRefinementValidation,\n refinementPluralValidationMessage\n ),\n description: optionalNullishShortString,\n group: shortString,\n icon: optionalNullishShortString,\n locale: optionalShortString\n });\n};\n\nexport const createModelUpdateValidation = () => {\n return zod.object({\n name: optionalShortString,\n singularApiName: optionalShortString.refine(value => {\n if (!value) {\n return true;\n }\n return apiNameRefinementValidation(value);\n }, refinementSingularValidationMessage),\n pluralApiName: optionalShortString.refine(value => {\n if (!value) {\n return true;\n }\n return apiNameRefinementValidation(value);\n }, refinementPluralValidationMessage),\n description: optionalNullishShortString,\n group: optionalShortString,\n icon: optionalNullishShortString,\n fields: zod.array(fieldSchema),\n layout: zod.array(zod.array(shortString)),\n titleFieldId: optionalShortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish(),\n tags: zod.array(shortString).optional()\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_zod","_interopRequireDefault","require","_upperFirst","_camelCase","fieldSystemFields","str","zod","string","trim","shortString","max","optionalShortString","optional","optionalNullishShortString","nullish","fieldSchema","object","id","storageId","transform","fieldId","regex","message","superRefine","value","ctx","includes","addIssue","code","ZodIssueCode","custom","label","helpText","default","placeholderText","nullable","type","tags","array","multipleValues","boolean","predefinedValues","enabled","values","selected","renderer","name","settings","passthrough","validation","listValidation","apiNameRefinementValidation","match","upperFirst","camelCase","refinementSingularValidationMessage","refinementPluralValidationMessage","refinementModelIdValidation","camelCasedValue","toLowerCase","refinementModelIdValidationMessage","modelIdTransformation","createModelCreateValidation","modelId","singularApiName","min","refine","pluralApiName","description","group","icon","fields","layout","titleFieldId","descriptionFieldId","imageFieldId","defaultFields","exports","createModelImportValidation","createModelCreateFromValidation","locale","createModelUpdateValidation"],"sources":["validation.ts"],"sourcesContent":["import zod from \"zod\";\nimport upperFirst from \"lodash/upperFirst\";\nimport camelCase from \"lodash/camelCase\";\n\nconst fieldSystemFields: string[] = [\n \"id\",\n \"entryId\",\n \"createdOn\",\n \"modifiedOn\",\n \"publishedOn\",\n \"savedOn\",\n \"deletedOn\",\n \"restoredOn\",\n \"firstPublishedOn\",\n \"lastPublishedOn\",\n \"createdBy\",\n \"modifiedBy\",\n \"savedBy\",\n \"deletedBy\",\n \"restoredBy\",\n \"firstPublishedBy\",\n \"lastPublishedBy\",\n \"revisionCreatedOn\",\n \"revisionModifiedOn\",\n \"revisionSavedOn\",\n \"revisionDeletedOn\",\n \"revisionRestoredOn\",\n \"revisionFirstPublishedOn\",\n \"revisionLastPublishedOn\",\n \"revisionCreatedBy\",\n \"revisionModifiedBy\",\n \"revisionSavedBy\",\n \"revisionDeletedBy\",\n \"revisionRestoredBy\",\n \"revisionFirstPublishedBy\",\n \"revisionLastPublishedBy\",\n \"meta\",\n \"wbyAco_location\"\n];\n\nconst str = zod.string().trim();\nconst shortString = str.max(255);\nconst optionalShortString = shortString.optional();\nconst optionalNullishShortString = optionalShortString.nullish();\n\nconst fieldSchema = zod.object({\n id: shortString,\n storageId: zod\n .string()\n .optional()\n .transform(() => {\n return \"\";\n }),\n fieldId: shortString\n .max(100)\n .regex(/^!?[a-zA-Z]/, {\n message: `Provided value is not valid - must not start with a number.`\n })\n .regex(/^(^[a-zA-Z0-9]+)$/, {\n message: `Provided value is not valid - must be alphanumeric string.`\n })\n .superRefine((value, ctx) => {\n if (fieldSystemFields.includes(value)) {\n return ctx.addIssue({\n code: zod.ZodIssueCode.custom,\n message: `Field ID \"${value}\" is a reserved keyword, and is not allowed.`\n });\n }\n }),\n label: shortString,\n helpText: optionalShortString.optional().nullish().default(null),\n placeholderText: optionalShortString.optional().nullable().default(null),\n type: shortString,\n tags: zod.array(shortString).optional().default([]),\n multipleValues: zod\n .boolean()\n .optional()\n .nullish()\n .transform(value => {\n return !!value;\n })\n .default(false),\n predefinedValues: zod\n .object({\n enabled: zod.boolean(),\n values: zod\n .array(\n zod.object({\n value: shortString,\n label: shortString,\n selected: zod.boolean().optional().default(false)\n })\n )\n .default([])\n })\n .default({\n enabled: false,\n values: []\n })\n .optional(),\n renderer: zod\n .object({\n name: shortString,\n settings: zod.object({}).passthrough().nullish().optional()\n })\n .optional()\n .nullable()\n .default(null),\n validation: zod\n .array(\n zod.object({\n name: shortString,\n message: optionalShortString.default(\"Value is required.\"),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n })\n )\n .nullish()\n .optional()\n .default([])\n .transform(value => value || []),\n listValidation: zod\n .array(\n zod.object({\n name: shortString,\n message: optionalShortString.default(\"Value is required.\"),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n })\n )\n .nullish()\n .optional()\n .default([])\n .transform(value => value || []),\n settings: zod\n .object({})\n .passthrough()\n .optional()\n .nullish()\n .transform(value => {\n return value || {};\n })\n .default({})\n});\n\nconst apiNameRefinementValidation = (value: string): boolean => {\n if (value.match(/^[A-Z]/) === null) {\n return false;\n }\n return value === upperFirst(camelCase(value));\n};\nconst refinementSingularValidationMessage = (value?: string) => {\n return {\n message: `The Singular API Name value \"${\n value || \"undefined\"\n }\" is not valid. It must in Upper First + Camel Cased form. For example: \"ArticleCategory\" or \"CarMake\".`\n };\n};\nconst refinementPluralValidationMessage = (value?: string) => {\n return {\n message: `The Plural API Name value \"${\n value || \"undefined\"\n }\" is not valid. It must in Upper First + Camel Cased form. For example: \"ArticleCategories\" or \"CarMakes\".`\n };\n};\n\nconst refinementModelIdValidation = (value?: string) => {\n if (!value) {\n return true;\n } else if (value.match(/^[a-zA-Z]/) === null) {\n return false;\n }\n const camelCasedValue = camelCase(value).toLowerCase();\n return camelCasedValue === value.toLowerCase();\n};\nconst refinementModelIdValidationMessage = (value?: string) => {\n if (!value) {\n return {};\n } else if (value.match(/^[a-zA-Z]/) === null) {\n return {\n message: `The modelId \"${value}\" is not valid. It must start with a A-Z or a-z.`\n };\n }\n return {\n message: `The modelId \"${value}\" is not valid.`\n };\n};\n\nconst modelIdTransformation = (value?: string) => {\n if (!value) {\n return value;\n }\n const camelCasedValue = camelCase(value);\n if (camelCasedValue.toLowerCase() === value.toLowerCase()) {\n return value;\n }\n return camelCasedValue;\n};\n\nexport const createModelCreateValidation = () => {\n return zod.object({\n name: shortString,\n modelId: optionalShortString.transform(modelIdTransformation),\n singularApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementSingularValidationMessage),\n pluralApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementPluralValidationMessage),\n description: optionalNullishShortString,\n group: shortString,\n icon: optionalNullishShortString,\n fields: zod.array(fieldSchema).default([]),\n layout: zod.array(zod.array(shortString)).default([]),\n tags: zod.array(shortString).optional(),\n titleFieldId: optionalShortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish(),\n defaultFields: zod.boolean().nullish()\n });\n};\n\nexport const createModelImportValidation = () => {\n return zod.object({\n name: shortString.min(1).refine(\n value => {\n return value.match(/[a-zA-Z]/) !== null;\n },\n value => {\n return {\n message: `The name \"${value}\" is not valid.`\n };\n }\n ),\n modelId: shortString\n .min(1)\n .refine(refinementModelIdValidation, refinementModelIdValidationMessage)\n .transform(modelIdTransformation),\n singularApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementSingularValidationMessage),\n pluralApiName: shortString\n .min(1)\n .refine(apiNameRefinementValidation, refinementPluralValidationMessage),\n description: optionalNullishShortString,\n group: shortString,\n icon: optionalNullishShortString,\n fields: zod.array(fieldSchema).min(1),\n layout: zod.array(zod.array(shortString)).min(1),\n tags: zod.array(shortString).optional(),\n titleFieldId: shortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish()\n });\n};\n\nexport const createModelCreateFromValidation = () => {\n return zod.object({\n name: shortString,\n modelId: optionalShortString.transform(modelIdTransformation),\n singularApiName: shortString.refine(\n apiNameRefinementValidation,\n refinementSingularValidationMessage\n ),\n pluralApiName: shortString.refine(\n apiNameRefinementValidation,\n refinementPluralValidationMessage\n ),\n description: optionalNullishShortString,\n group: shortString,\n icon: optionalNullishShortString,\n locale: optionalShortString\n });\n};\n\nexport const createModelUpdateValidation = () => {\n return zod.object({\n name: optionalShortString,\n singularApiName: optionalShortString.refine(value => {\n if (!value) {\n return true;\n }\n return apiNameRefinementValidation(value);\n }, refinementSingularValidationMessage),\n pluralApiName: optionalShortString.refine(value => {\n if (!value) {\n return true;\n }\n return apiNameRefinementValidation(value);\n }, refinementPluralValidationMessage),\n description: optionalNullishShortString,\n group: optionalShortString,\n icon: optionalNullishShortString,\n fields: zod.array(fieldSchema),\n layout: zod.array(zod.array(shortString)),\n titleFieldId: optionalShortString.nullish(),\n descriptionFieldId: optionalShortString.nullish(),\n imageFieldId: optionalShortString.nullish(),\n tags: zod.array(shortString).optional()\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-headless-cms",
|
|
3
|
-
"version": "5.40.
|
|
3
|
+
"version": "5.40.3-beta.1",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cms:base"
|
|
@@ -20,20 +20,20 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@babel/runtime": "7.24.1",
|
|
22
22
|
"@graphql-tools/schema": "7.1.5",
|
|
23
|
-
"@webiny/api": "5.40.
|
|
24
|
-
"@webiny/api-i18n": "5.40.
|
|
25
|
-
"@webiny/api-security": "5.40.
|
|
26
|
-
"@webiny/api-tenancy": "5.40.
|
|
27
|
-
"@webiny/error": "5.40.
|
|
28
|
-
"@webiny/handler": "5.40.
|
|
29
|
-
"@webiny/handler-aws": "5.40.
|
|
30
|
-
"@webiny/handler-db": "5.40.
|
|
31
|
-
"@webiny/handler-graphql": "5.40.
|
|
32
|
-
"@webiny/lexical-converter": "5.40.
|
|
33
|
-
"@webiny/plugins": "5.40.
|
|
34
|
-
"@webiny/pubsub": "5.40.
|
|
35
|
-
"@webiny/utils": "5.40.
|
|
36
|
-
"@webiny/validation": "5.40.
|
|
23
|
+
"@webiny/api": "5.40.3-beta.1",
|
|
24
|
+
"@webiny/api-i18n": "5.40.3-beta.1",
|
|
25
|
+
"@webiny/api-security": "5.40.3-beta.1",
|
|
26
|
+
"@webiny/api-tenancy": "5.40.3-beta.1",
|
|
27
|
+
"@webiny/error": "5.40.3-beta.1",
|
|
28
|
+
"@webiny/handler": "5.40.3-beta.1",
|
|
29
|
+
"@webiny/handler-aws": "5.40.3-beta.1",
|
|
30
|
+
"@webiny/handler-db": "5.40.3-beta.1",
|
|
31
|
+
"@webiny/handler-graphql": "5.40.3-beta.1",
|
|
32
|
+
"@webiny/lexical-converter": "5.40.3-beta.1",
|
|
33
|
+
"@webiny/plugins": "5.40.3-beta.1",
|
|
34
|
+
"@webiny/pubsub": "5.40.3-beta.1",
|
|
35
|
+
"@webiny/utils": "5.40.3-beta.1",
|
|
36
|
+
"@webiny/validation": "5.40.3-beta.1",
|
|
37
37
|
"code-frame": "5.0.0",
|
|
38
38
|
"dot-prop": "6.0.1",
|
|
39
39
|
"graphql": "15.8.0",
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
"@babel/cli": "7.24.1",
|
|
52
52
|
"@babel/core": "7.24.3",
|
|
53
53
|
"@babel/preset-env": "7.24.3",
|
|
54
|
-
"@webiny/api-wcp": "5.40.
|
|
55
|
-
"@webiny/aws-sdk": "5.40.
|
|
56
|
-
"@webiny/cli": "5.40.
|
|
57
|
-
"@webiny/project-utils": "5.40.
|
|
54
|
+
"@webiny/api-wcp": "5.40.3-beta.1",
|
|
55
|
+
"@webiny/aws-sdk": "5.40.3-beta.1",
|
|
56
|
+
"@webiny/cli": "5.40.3-beta.1",
|
|
57
|
+
"@webiny/project-utils": "5.40.3-beta.1",
|
|
58
58
|
"apollo-graphql": "0.9.7",
|
|
59
59
|
"get-yarn-workspaces": "1.0.2",
|
|
60
60
|
"graphql": "15.8.0",
|
|
@@ -74,5 +74,5 @@
|
|
|
74
74
|
"build": "yarn webiny run build",
|
|
75
75
|
"watch": "yarn webiny run watch"
|
|
76
76
|
},
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "deb698c829c8633fd9abdab70cd61ad42387eef7"
|
|
78
78
|
}
|
package/types/model.d.ts
CHANGED
|
@@ -90,18 +90,18 @@ export interface CmsModel {
|
|
|
90
90
|
*/
|
|
91
91
|
lockedFields?: LockedField[];
|
|
92
92
|
/**
|
|
93
|
-
* The field that is
|
|
94
|
-
*
|
|
93
|
+
* The field that is used as an entry title.
|
|
94
|
+
* If not specified by the user, the system tries to assign the first available `text` field.
|
|
95
95
|
*/
|
|
96
96
|
titleFieldId: string;
|
|
97
97
|
/**
|
|
98
|
-
* The field
|
|
99
|
-
*
|
|
98
|
+
* The field that is used as an entry description.
|
|
99
|
+
* If not set by the user, the system will try to assign the first available `long-text` field.
|
|
100
100
|
*/
|
|
101
101
|
descriptionFieldId?: string | null;
|
|
102
102
|
/**
|
|
103
|
-
* The field
|
|
104
|
-
*
|
|
103
|
+
* The field that is used as an entry image.
|
|
104
|
+
* If not set by the user, the system will try to assign a `file` field which has `imagesOnly` enabled.
|
|
105
105
|
*/
|
|
106
106
|
imageFieldId?: string | null;
|
|
107
107
|
/**
|
package/types/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["model.ts"],"sourcesContent":["import { CmsIdentity } from \"./identity\";\nimport { CmsModelField, CmsModelFieldInput, LockedField } from \"./modelField\";\nimport { CmsModelGroup } from \"./modelGroup\";\n\n/**\n * Base CMS Model. Should not be exported and used outside of this package.\n *\n * @category Database model\n * @category CmsModel\n */\nexport interface CmsModel {\n /**\n * Name of the content model.\n */\n name: string;\n /**\n * Unique ID for the content model. Created from name if not defined by user.\n */\n modelId: string;\n /**\n * Name of the content model in singular form to be used in the API.\n * example:\n * - Article\n * - Fruit\n * - Vegetable\n * - Car\n */\n singularApiName: string;\n /**\n * Name of the content model in plural form to be used in the API.\n * example:\n * - Articles\n * - Fruits\n * - Vegetables\n * - Cars\n */\n pluralApiName: string;\n /**\n * Model tenant.\n */\n tenant: string;\n /**\n * Locale this model belongs to.\n */\n locale: string;\n /**\n * Cms Group reference object.\n */\n group: CmsModelGroup;\n /**\n * Icon for the content model.\n */\n icon?: string | null;\n /**\n * Description for the content model.\n */\n description: string | null;\n /**\n * Date created\n */\n createdOn?: string;\n /**\n * Date saved. Changes on both save and create.\n */\n savedOn?: string;\n /**\n * CreatedBy object wrapper. Contains id, name and type of the user.\n */\n createdBy?: CmsIdentity;\n /**\n * List of fields defining entry values.\n */\n fields: CmsModelField[];\n /**\n * Admin UI field layout\n *\n * ```ts\n * layout: [\n * [field1id, field2id],\n * [field3id]\n * ]\n * ```\n */\n layout: string[][];\n /**\n * Models can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * List of locked fields. Updated when entry is saved and a field has been used.\n */\n lockedFields?: LockedField[];\n /**\n * The field that is
|
|
1
|
+
{"version":3,"names":[],"sources":["model.ts"],"sourcesContent":["import { CmsIdentity } from \"./identity\";\nimport { CmsModelField, CmsModelFieldInput, LockedField } from \"./modelField\";\nimport { CmsModelGroup } from \"./modelGroup\";\n\n/**\n * Base CMS Model. Should not be exported and used outside of this package.\n *\n * @category Database model\n * @category CmsModel\n */\nexport interface CmsModel {\n /**\n * Name of the content model.\n */\n name: string;\n /**\n * Unique ID for the content model. Created from name if not defined by user.\n */\n modelId: string;\n /**\n * Name of the content model in singular form to be used in the API.\n * example:\n * - Article\n * - Fruit\n * - Vegetable\n * - Car\n */\n singularApiName: string;\n /**\n * Name of the content model in plural form to be used in the API.\n * example:\n * - Articles\n * - Fruits\n * - Vegetables\n * - Cars\n */\n pluralApiName: string;\n /**\n * Model tenant.\n */\n tenant: string;\n /**\n * Locale this model belongs to.\n */\n locale: string;\n /**\n * Cms Group reference object.\n */\n group: CmsModelGroup;\n /**\n * Icon for the content model.\n */\n icon?: string | null;\n /**\n * Description for the content model.\n */\n description: string | null;\n /**\n * Date created\n */\n createdOn?: string;\n /**\n * Date saved. Changes on both save and create.\n */\n savedOn?: string;\n /**\n * CreatedBy object wrapper. Contains id, name and type of the user.\n */\n createdBy?: CmsIdentity;\n /**\n * List of fields defining entry values.\n */\n fields: CmsModelField[];\n /**\n * Admin UI field layout\n *\n * ```ts\n * layout: [\n * [field1id, field2id],\n * [field3id]\n * ]\n * ```\n */\n layout: string[][];\n /**\n * Models can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * List of locked fields. Updated when entry is saved and a field has been used.\n */\n lockedFields?: LockedField[];\n /**\n * The field that is used as an entry title.\n * If not specified by the user, the system tries to assign the first available `text` field.\n */\n titleFieldId: string;\n /**\n * The field that is used as an entry description.\n * If not set by the user, the system will try to assign the first available `long-text` field.\n */\n descriptionFieldId?: string | null;\n /**\n * The field that is used as an entry image.\n * If not set by the user, the system will try to assign a `file` field which has `imagesOnly` enabled.\n */\n imageFieldId?: string | null;\n /**\n * The version of Webiny which this record was stored with.\n */\n webinyVersion: string;\n\n /**\n * Is model private?\n * This is meant to be used for some internal models - will not be visible in the schema.\n * Only available for the plugin constructed models.\n */\n isPrivate?: boolean;\n\n /**\n * Does this model require authorization to be performed?\n * Only available for models created via plugins.\n */\n authorization?: boolean | CmsModelAuthorization;\n\n /**\n * Is this model created via plugin?\n */\n isPlugin?: boolean;\n}\n\nexport interface CmsModelAuthorization {\n permissions: boolean;\n\n [key: string]: any;\n}\n\n/**\n * A GraphQL `params.data` parameter received when creating content model.\n *\n * @category GraphQL params\n * @category CmsModel\n */\nexport interface CmsModelCreateInput {\n /**\n * Name of the content model.\n */\n name: string;\n /**\n * Singular name of the content model to be used in the API.\n */\n singularApiName: string;\n /**\n * Plural name of the content model to be used in the API.\n */\n pluralApiName: string;\n /**\n * Unique ID of the content model. Created from name if not sent by the user. Cannot be changed.\n */\n modelId?: string;\n /**\n * Description of the content model.\n */\n description?: string | null;\n /**\n * Group where to put the content model in.\n */\n group: string;\n /**\n * A list of content model fields to define the entry values.\n */\n fields?: CmsModelFieldInput[];\n /**\n * Admin UI field layout\n *\n * ```ts\n * layout: [\n * [field1id, field2id],\n * [field3id]\n * ]\n * ```\n */\n layout?: string[][];\n /**\n * Models can be tagged to give them contextual meaning.\n */\n tags?: string[];\n /**\n * Fields fieldId which are picked to represent the CMS entry.\n */\n titleFieldId?: string | null;\n descriptionFieldId?: string | null;\n imageFieldId?: string | null;\n}\n\n/**\n * A GraphQL `params.data` parameter received when creating content model from existing model.\n *\n * @category GraphQL params\n * @category CmsModel\n */\nexport interface CmsModelCreateFromInput extends CmsModelCreateInput {\n /**\n * Locale into which we want to clone the model into.\n */\n locale?: string;\n}\n"],"mappings":"","ignoreList":[]}
|