@webiny/api-headless-cms 6.4.10-beta.1 → 6.4.10-beta.2
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.
|
@@ -61,7 +61,7 @@ class CmsModelDynamicZoneFieldConverterPlugin extends CmsModelFieldConverterPlug
|
|
|
61
61
|
templates,
|
|
62
62
|
converterCollection,
|
|
63
63
|
value: item
|
|
64
|
-
}))
|
|
64
|
+
})).filter(Boolean)
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
if (Array.isArray(value)) throw new error(`Dynamic zone field "${field.fieldId}" is expecting a non-array value.`, "DYNAMIC_ZONE_EXPECTING_NON_ARRAY_VALUE", {
|
|
@@ -82,8 +82,12 @@ class CmsModelDynamicZoneFieldConverterPlugin extends CmsModelFieldConverterPlug
|
|
|
82
82
|
if (null == value) return;
|
|
83
83
|
const { _templateId } = value;
|
|
84
84
|
const template = templates.find((t)=>t.id === _templateId);
|
|
85
|
-
if (!template)
|
|
86
|
-
|
|
85
|
+
if (!template) return void console.warn({
|
|
86
|
+
message: "Unknown template - converting from storage.",
|
|
87
|
+
code: "UNKNOWN_TEMPLATE",
|
|
88
|
+
data: {
|
|
89
|
+
templateId: _templateId
|
|
90
|
+
}
|
|
87
91
|
});
|
|
88
92
|
return template.fields.reduce((values, field)=>{
|
|
89
93
|
const converter = converterCollection.getConverter(field.type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js","sources":["../../src/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { ConvertParams } from \"~/plugins/CmsModelFieldConverterPlugin.js\";\nimport { CmsModelFieldConverterPlugin } from \"~/plugins/CmsModelFieldConverterPlugin.js\";\nimport type {\n CmsDynamicZoneTemplate,\n CmsEntryValues,\n CmsModelDynamicZoneField\n} from \"~/types/index.js\";\nimport type { ConverterCollection } from \"~/utils/converters/ConverterCollection.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\ntype DynamicZoneValue = GenericRecord<string>;\n\ninterface ProcessValue {\n templates: CmsDynamicZoneTemplate[];\n value: DynamicZoneValue | null;\n converterCollection: ConverterCollection;\n}\n\nexport class CmsModelDynamicZoneFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.dynamicZone\";\n\n public override getFieldType(): string {\n return \"dynamicZone\";\n }\n\n private getTemplates(field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] {\n return field.settings?.templates || [];\n }\n\n public override convertToStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.list) {\n if (Array.isArray(value)) {\n return {\n [field.storageId]: value.map(item => {\n return this.processToStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n };\n }\n\n // If a multi-value dynamic zone receives anything other than an array, ignore the value.\n return {};\n }\n\n // If a single-value dynamic zone receives an array, ignore the value.\n if (Array.isArray(value)) {\n return {};\n }\n\n const processedValue = this.processToStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.storageId]: processedValue\n };\n }\n\n private processToStorage(params: ProcessValue) {\n const { templates, converterCollection } = params;\n const { value } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const templateId = value._templateId;\n const template = templates.find(t => {\n return templateId === t.id;\n });\n\n if (!template) {\n return undefined;\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertToStorage({\n field,\n value: value ? value[field.fieldId] : undefined\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n\n public override convertFromStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.list) {\n const arrayValue = Array.isArray(value) ? value : [];\n\n return {\n [field.fieldId]: arrayValue.map(item => {\n
|
|
1
|
+
{"version":3,"file":"fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js","sources":["../../src/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { ConvertParams } from \"~/plugins/CmsModelFieldConverterPlugin.js\";\nimport { CmsModelFieldConverterPlugin } from \"~/plugins/CmsModelFieldConverterPlugin.js\";\nimport type {\n CmsDynamicZoneTemplate,\n CmsEntryValues,\n CmsModelDynamicZoneField\n} from \"~/types/index.js\";\nimport type { ConverterCollection } from \"~/utils/converters/ConverterCollection.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\ntype DynamicZoneValue = GenericRecord<string>;\n\ninterface ProcessValue {\n templates: CmsDynamicZoneTemplate[];\n value: DynamicZoneValue | null;\n converterCollection: ConverterCollection;\n}\n\nexport class CmsModelDynamicZoneFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.dynamicZone\";\n\n public override getFieldType(): string {\n return \"dynamicZone\";\n }\n\n private getTemplates(field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] {\n return field.settings?.templates || [];\n }\n\n public override convertToStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.list) {\n if (Array.isArray(value)) {\n return {\n [field.storageId]: value.map(item => {\n return this.processToStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n };\n }\n\n // If a multi-value dynamic zone receives anything other than an array, ignore the value.\n return {};\n }\n\n // If a single-value dynamic zone receives an array, ignore the value.\n if (Array.isArray(value)) {\n return {};\n }\n\n const processedValue = this.processToStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.storageId]: processedValue\n };\n }\n\n private processToStorage(params: ProcessValue) {\n const { templates, converterCollection } = params;\n const { value } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const templateId = value._templateId;\n const template = templates.find(t => {\n return templateId === t.id;\n });\n\n if (!template) {\n return undefined;\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertToStorage({\n field,\n value: value ? value[field.fieldId] : undefined\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n\n public override convertFromStorage(\n params: ConvertParams<CmsModelDynamicZoneField>\n ): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const templates = this.getTemplates(field);\n\n if (templates.length === 0) {\n return {};\n }\n\n if (field.list) {\n const arrayValue = Array.isArray(value) ? value : [];\n\n return {\n [field.fieldId]: arrayValue\n .map(item => {\n return this.processFromStorage({\n templates,\n converterCollection,\n value: item\n });\n })\n .filter(Boolean)\n };\n }\n\n if (Array.isArray(value)) {\n throw new WebinyError(\n `Dynamic zone field \"${field.fieldId}\" is expecting a non-array value.`,\n \"DYNAMIC_ZONE_EXPECTING_NON_ARRAY_VALUE\",\n {\n field,\n value\n }\n );\n }\n\n const processedValue = this.processFromStorage({\n templates,\n converterCollection,\n value\n });\n\n return {\n [field.fieldId]: processedValue\n };\n }\n\n private processFromStorage(params: ProcessValue) {\n const { templates, value, converterCollection } = params;\n if (value === null || value === undefined) {\n return undefined;\n }\n\n const { _templateId } = value;\n\n const template = templates.find(t => t.id === _templateId);\n if (!template) {\n // TODO Should we just return undefined?\n console.warn({\n message: \"Unknown template - converting from storage.\",\n code: \"UNKNOWN_TEMPLATE\",\n data: {\n templateId: _templateId\n }\n });\n return undefined;\n }\n\n return template.fields.reduce<GenericRecord<string>>(\n (values, field) => {\n const converter = converterCollection.getConverter(field.type);\n const converted = converter.convertFromStorage({\n field,\n value: value[field.storageId]\n });\n Object.assign(values, converted);\n return values;\n },\n {\n _templateId: template.id\n }\n );\n }\n}\n"],"names":["CmsModelDynamicZoneFieldConverterPlugin","CmsModelFieldConverterPlugin","field","params","value","converterCollection","templates","Array","item","processedValue","templateId","template","t","values","converter","converted","undefined","Object","arrayValue","Boolean","WebinyError","_templateId","console"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-headless-cms",
|
|
3
|
-
"version": "6.4.10-beta.
|
|
3
|
+
"version": "6.4.10-beta.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -25,19 +25,19 @@
|
|
|
25
25
|
"@babel/code-frame": "8.0.0",
|
|
26
26
|
"@graphql-tools/merge": "9.2.0",
|
|
27
27
|
"@graphql-tools/schema": "10.0.36",
|
|
28
|
-
"@webiny/api": "6.4.10-beta.
|
|
29
|
-
"@webiny/api-core": "6.4.10-beta.
|
|
28
|
+
"@webiny/api": "6.4.10-beta.2",
|
|
29
|
+
"@webiny/api-core": "6.4.10-beta.2",
|
|
30
30
|
"@webiny/di": "1.0.2",
|
|
31
|
-
"@webiny/error": "6.4.10-beta.
|
|
32
|
-
"@webiny/feature": "6.4.10-beta.
|
|
33
|
-
"@webiny/handler": "6.4.10-beta.
|
|
34
|
-
"@webiny/handler-aws": "6.4.10-beta.
|
|
35
|
-
"@webiny/handler-db": "6.4.10-beta.
|
|
36
|
-
"@webiny/handler-graphql": "6.4.10-beta.
|
|
37
|
-
"@webiny/plugins": "6.4.10-beta.
|
|
38
|
-
"@webiny/project": "6.4.10-beta.
|
|
39
|
-
"@webiny/utils": "6.4.10-beta.
|
|
40
|
-
"@webiny/validation": "6.4.10-beta.
|
|
31
|
+
"@webiny/error": "6.4.10-beta.2",
|
|
32
|
+
"@webiny/feature": "6.4.10-beta.2",
|
|
33
|
+
"@webiny/handler": "6.4.10-beta.2",
|
|
34
|
+
"@webiny/handler-aws": "6.4.10-beta.2",
|
|
35
|
+
"@webiny/handler-db": "6.4.10-beta.2",
|
|
36
|
+
"@webiny/handler-graphql": "6.4.10-beta.2",
|
|
37
|
+
"@webiny/plugins": "6.4.10-beta.2",
|
|
38
|
+
"@webiny/project": "6.4.10-beta.2",
|
|
39
|
+
"@webiny/utils": "6.4.10-beta.2",
|
|
40
|
+
"@webiny/validation": "6.4.10-beta.2",
|
|
41
41
|
"dot-prop-immutable": "2.1.1",
|
|
42
42
|
"graphql": "16.14.2",
|
|
43
43
|
"graphql-tag": "2.12.7",
|
|
@@ -51,13 +51,13 @@
|
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/babel__code-frame": "7.27.0",
|
|
53
53
|
"@types/pluralize": "0.0.33",
|
|
54
|
-
"@webiny/aws-sdk": "6.4.10-beta.
|
|
55
|
-
"@webiny/build-tools": "6.4.10-beta.
|
|
56
|
-
"@webiny/db-dynamodb": "6.4.10-beta.
|
|
57
|
-
"@webiny/handler-db": "6.4.10-beta.
|
|
58
|
-
"@webiny/project-utils": "6.4.10-beta.
|
|
59
|
-
"@webiny/sdk": "6.4.10-beta.
|
|
60
|
-
"@webiny/wcp": "6.4.10-beta.
|
|
54
|
+
"@webiny/aws-sdk": "6.4.10-beta.2",
|
|
55
|
+
"@webiny/build-tools": "6.4.10-beta.2",
|
|
56
|
+
"@webiny/db-dynamodb": "6.4.10-beta.2",
|
|
57
|
+
"@webiny/handler-db": "6.4.10-beta.2",
|
|
58
|
+
"@webiny/project-utils": "6.4.10-beta.2",
|
|
59
|
+
"@webiny/sdk": "6.4.10-beta.2",
|
|
60
|
+
"@webiny/wcp": "6.4.10-beta.2",
|
|
61
61
|
"apollo-graphql": "0.9.7",
|
|
62
62
|
"graphql": "16.14.2",
|
|
63
63
|
"oxfmt": "0.58.0",
|