@webiny/api-headless-cms 5.33.5 → 5.34.0-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/context.js +3 -7
- package/context.js.map +1 -1
- package/crud/contentEntry/afterDelete.d.ts +2 -2
- package/crud/contentEntry/afterDelete.js +2 -2
- package/crud/contentEntry/afterDelete.js.map +1 -1
- package/crud/contentEntry/beforeCreate.d.ts +2 -2
- package/crud/contentEntry/beforeCreate.js +2 -2
- package/crud/contentEntry/beforeCreate.js.map +1 -1
- package/crud/contentEntry/beforeUpdate.d.ts +2 -2
- package/crud/contentEntry/beforeUpdate.js +2 -2
- package/crud/contentEntry/beforeUpdate.js.map +1 -1
- package/crud/contentEntry/entryDataValidation.js +3 -7
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/markLockedFields.js +10 -11
- package/crud/contentEntry/markLockedFields.js.map +1 -1
- package/crud/contentEntry/referenceFieldsMapping.js +11 -13
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
- package/crud/contentEntry/searchableFields.d.ts +9 -0
- package/crud/contentEntry/searchableFields.js +83 -0
- package/crud/contentEntry/searchableFields.js.map +1 -0
- package/crud/contentEntry.crud.d.ts +0 -2
- package/crud/contentEntry.crud.js +249 -269
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/afterCreate.d.ts +3 -3
- package/crud/contentModel/afterCreate.js +5 -5
- package/crud/contentModel/afterCreate.js.map +1 -1
- package/crud/contentModel/afterCreateFrom.d.ts +3 -3
- package/crud/contentModel/afterCreateFrom.js +5 -5
- package/crud/contentModel/afterCreateFrom.js.map +1 -1
- package/crud/contentModel/afterDelete.d.ts +3 -3
- package/crud/contentModel/afterDelete.js +5 -5
- package/crud/contentModel/afterDelete.js.map +1 -1
- package/crud/contentModel/afterUpdate.d.ts +3 -3
- package/crud/contentModel/afterUpdate.js +5 -5
- package/crud/contentModel/afterUpdate.js.map +1 -1
- package/crud/contentModel/beforeCreate.d.ts +4 -4
- package/crud/contentModel/beforeCreate.js +10 -10
- package/crud/contentModel/beforeCreate.js.map +1 -1
- package/crud/contentModel/beforeDelete.d.ts +3 -3
- package/crud/contentModel/beforeDelete.js +6 -6
- package/crud/contentModel/beforeDelete.js.map +1 -1
- package/crud/contentModel/beforeUpdate.d.ts +3 -3
- package/crud/contentModel/beforeUpdate.js +5 -5
- package/crud/contentModel/beforeUpdate.js.map +1 -1
- package/crud/contentModel/createFieldStorageId.js +5 -1
- package/crud/contentModel/createFieldStorageId.js.map +1 -1
- package/crud/contentModel/models.js +12 -0
- package/crud/contentModel/models.js.map +1 -1
- package/crud/contentModel/validateModel.js +1 -1
- package/crud/contentModel/validateModelFields.js +42 -34
- package/crud/contentModel/validateModelFields.js.map +1 -1
- package/crud/contentModel.crud.js +222 -169
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup/beforeCreate.d.ts +2 -2
- package/crud/contentModelGroup/beforeCreate.js +3 -3
- package/crud/contentModelGroup/beforeCreate.js.map +1 -1
- package/crud/contentModelGroup/beforeDelete.d.ts +2 -2
- package/crud/contentModelGroup/beforeDelete.js +3 -3
- package/crud/contentModelGroup/beforeDelete.js.map +1 -1
- package/crud/contentModelGroup/beforeUpdate.d.ts +2 -2
- package/crud/contentModelGroup/beforeUpdate.js +2 -2
- package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
- package/crud/contentModelGroup.crud.js +87 -37
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/crud/index.js +3 -7
- package/crud/index.js.map +1 -1
- package/crud/settings.crud.js +3 -8
- package/crud/settings.crud.js.map +1 -1
- package/crud/system.crud.js +63 -51
- package/crud/system.crud.js.map +1 -1
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +239 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +17 -19
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/index.d.ts +2 -1
- package/fieldConverters/index.js +3 -1
- package/fieldConverters/index.js.map +1 -1
- package/graphql/graphQLHandlerFactory.js +27 -17
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/schema/baseContentSchema.js +4 -8
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/contentEntries.js +1 -1
- package/graphql/schema/contentModels.js +18 -1
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.d.ts +1 -1
- package/graphql/schema/createFieldResolvers.js +12 -14
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createManageResolvers.js +4 -18
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.js +7 -10
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.js +3 -7
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.js +3 -7
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.js +5 -3
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGet.js +5 -9
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveGet.js +3 -7
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveGet.js +3 -7
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
- package/graphqlFields/dynamicZone/dynamicZoneField.js +234 -0
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js +79 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
- package/graphqlFields/dynamicZone/index.d.ts +2 -0
- package/graphqlFields/dynamicZone/index.js +21 -0
- package/graphqlFields/dynamicZone/index.js.map +1 -0
- package/graphqlFields/index.d.ts +1 -1
- package/graphqlFields/index.js +3 -1
- package/graphqlFields/index.js.map +1 -1
- package/graphqlFields/number.js +4 -0
- package/graphqlFields/number.js.map +1 -1
- package/graphqlFields/object.js +123 -73
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.js +23 -23
- package/graphqlFields/ref.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/modelManager/DefaultCmsModelManager.d.ts +7 -7
- package/modelManager/DefaultCmsModelManager.js +1 -1
- package/package.json +27 -28
- package/parameters/header.js +1 -1
- package/parameters/manual.js +7 -8
- package/parameters/manual.js.map +1 -1
- package/parameters/path.js +1 -1
- package/plugins/CmsGroupPlugin.js +1 -1
- package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
- package/plugins/CmsModelFieldConverterPlugin.js +1 -1
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
- package/plugins/CmsModelPlugin.d.ts +6 -2
- package/plugins/CmsModelPlugin.js +18 -13
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/CmsParametersPlugin.js +1 -1
- package/plugins/StorageTransformPlugin.d.ts +11 -11
- package/plugins/StorageTransformPlugin.js +1 -1
- package/plugins/StorageTransformPlugin.js.map +1 -1
- package/storage/object.js +7 -8
- package/storage/object.js.map +1 -1
- package/types.d.ts +436 -164
- package/types.js +50 -9
- package/types.js.map +1 -1
- package/upgrades/5.33.0/index.js +5 -9
- package/upgrades/5.33.0/index.js.map +1 -1
- package/utils/converters/Converter.js +1 -1
- package/utils/converters/ConverterCollection.js +10 -8
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.js +3 -7
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/createTypeFromFields.d.ts +15 -0
- package/utils/createTypeFromFields.js +75 -0
- package/utils/createTypeFromFields.js.map +1 -0
- package/utils/createTypeName.js +4 -2
- package/utils/createTypeName.js.map +1 -1
- package/utils/entryStorage.js +17 -18
- package/utils/entryStorage.js.map +1 -1
- package/utils/filterModelFields.js +5 -9
- package/utils/filterModelFields.js.map +1 -1
- package/utils/getBaseFieldType.d.ts +4 -0
- package/utils/getBaseFieldType.js +12 -0
- package/utils/getBaseFieldType.js.map +1 -0
- package/utils/permissions.js +1 -5
- package/utils/permissions.js.map +1 -1
- package/utils/pluralizedTypeName.js +1 -1
- package/utils/renderFields.js +3 -1
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.js +8 -3
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.js +3 -1
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.js +12 -2
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.js +3 -1
- package/utils/renderSortEnum.js.map +1 -1
- package/utils/toSlug.js +1 -1
- package/validators/dynamicZone.d.ts +2 -0
- package/validators/dynamicZone.js +24 -0
- package/validators/dynamicZone.js.map +1 -0
- package/validators/index.js +3 -1
- package/validators/index.js.map +1 -1
- package/validators/unique.js +1 -1
- package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
- package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
- package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
- package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
- package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
- package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createReadResolvers","models","model","fieldTypePlugins","fields","length","Query","typeName","createTypeName","modelId","rTypeName","createReadTypeName","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","isRoot","resolveGet","pluralizedTypeName","resolveList"],"sources":["createReadResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/read/resolveGet\";\nimport { resolveList } from \"./resolvers/read/resolveList\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createReadResolvers: CreateReadResolvers = ({ models, model, fieldTypePlugins }) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: rTypeName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA
|
|
1
|
+
{"version":3,"names":["createReadResolvers","models","model","fieldTypePlugins","fields","length","Query","typeName","createTypeName","modelId","rTypeName","createReadTypeName","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","isRoot","resolveGet","pluralizedTypeName","resolveList"],"sources":["createReadResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/read/resolveGet\";\nimport { resolveList } from \"./resolvers/read/resolveList\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createReadResolvers: CreateReadResolvers = ({ models, model, fieldTypePlugins }) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: rTypeName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAaO,MAAMA,mBAAwC,GAAG,CAAC;EAAEC,MAAF;EAAUC,KAAV;EAAiBC;AAAjB,CAAD,KAAyC;EAC7F,IAAID,KAAK,CAACE,MAAN,CAAaC,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO;MACHC,KAAK,EAAE;IADJ,CAAP;EAGH;;EACD,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAeN,KAAK,CAACO,OAArB,CAAjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kCAAA,EAAmBJ,QAAnB,CAAlB;EAEA,MAAMK,oBAAoB,GAAG,IAAAC,iDAAA,EAA4B;IACrDC,YAAY,EAAE,MADuC;IAErDb,MAFqD;IAGrDC,KAHqD;IAIrDC;EAJqD,CAA5B,CAA7B;EAOA,MAAMY,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAEN,SAD2B;IAExCN,MAAM,EAAEF,KAAK,CAACE,MAF0B;IAGxCa,MAAM,EAAE;EAHgC,CAAD,CAA3C;EAMA;IACIX,KAAK,EAAE;MACH,CAAE,MAAKC,QAAS,EAAhB,GAAoB,IAAAW,sBAAA,EAAW;QAAEhB;MAAF,CAAX,CADjB;MAEH,CAAE,OAAM,IAAAiB,sCAAA,EAAmBZ,QAAnB,CAA6B,EAArC,GAAyC,IAAAa,wBAAA,EAAY;QAAElB;MAAF,CAAZ;IAFtC;EADX,GAKOa,cALP;AAOH,CA7BM"}
|
|
@@ -49,8 +49,6 @@ const createReadSDL = ({
|
|
|
49
49
|
|
|
50
50
|
return `
|
|
51
51
|
"""${model.description || ""}"""
|
|
52
|
-
${fieldsRender.map(f => f.typeDefs).filter(Boolean).join("\n")}
|
|
53
|
-
|
|
54
52
|
type ${rTypeName} {
|
|
55
53
|
id: ID!
|
|
56
54
|
entryId: String!
|
|
@@ -61,13 +59,17 @@ const createReadSDL = ({
|
|
|
61
59
|
${fieldsRender.map(f => f.fields).join("\n")}
|
|
62
60
|
}
|
|
63
61
|
|
|
62
|
+
${fieldsRender.map(f => f.typeDefs).filter(Boolean).join("\n")}
|
|
63
|
+
|
|
64
64
|
${getFilterFieldsRender && `input ${rTypeName}GetWhereInput {
|
|
65
65
|
${getFilterFieldsRender}
|
|
66
66
|
}`}
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
${listFilterFieldsRender && `input ${rTypeName}ListWhereInput {
|
|
70
|
-
|
|
70
|
+
${listFilterFieldsRender}
|
|
71
|
+
AND: [${rTypeName}ListWhereInput!]
|
|
72
|
+
OR: [${rTypeName}ListWhereInput!]
|
|
71
73
|
}`}
|
|
72
74
|
|
|
73
75
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createReadSDL","model","fieldTypePlugins","typeName","createTypeName","modelId","rTypeName","createReadTypeName","type","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","fieldsRender","renderFields","length","description","map","f","
|
|
1
|
+
{"version":3,"names":["createReadSDL","model","fieldTypePlugins","typeName","createTypeName","modelId","rTypeName","createReadTypeName","type","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","fieldsRender","renderFields","length","description","map","f","fields","join","typeDefs","filter","Boolean","pluralizedTypeName"],"sources":["createReadSDL.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, ApiEndpoint } from \"~/types\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateReadSDLParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({ model, fieldTypePlugins }): string => {\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const type: ApiEndpoint = \"read\";\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type,\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fieldTypePlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n model,\n fieldTypePlugins\n });\n const fieldsRender = renderFields({\n model,\n type,\n fieldTypePlugins\n });\n\n if (fieldsRender.length === 0) {\n return \"\";\n }\n\n return `\n \"\"\"${model.description || \"\"}\"\"\"\n type ${rTypeName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsCreatedBy!\n ownedBy: CmsOwnedBy!\n ${fieldsRender.map(f => f.fields).join(\"\\n\")}\n }\n \n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n ${\n getFilterFieldsRender &&\n `input ${rTypeName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n \n \n ${\n listFilterFieldsRender &&\n `input ${rTypeName}ListWhereInput {\n ${listFilterFieldsRender}\n AND: [${rTypeName}ListWhereInput!]\n OR: [${rTypeName}ListWhereInput!]\n }`\n }\n \n \n ${\n sortEnumRender &&\n `enum ${rTypeName}ListSorter {\n ${sortEnumRender}\n }`\n }\n \n type ${rTypeName}Response {\n data: ${rTypeName}\n error: CmsError\n }\n \n type ${rTypeName}ListResponse {\n data: [${rTypeName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${typeName}(where: ${rTypeName}GetWhereInput!): ${rTypeName}Response\n\n list${pluralizedTypeName(typeName)}(\n where: ${rTypeName}ListWhereInput\n sort: [${rTypeName}ListSorter]\n limit: Int\n after: String\n ): ${rTypeName}ListResponse\n }\n `;\n};\n"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAUO,MAAMA,aAA4B,GAAG,CAAC;EAAEC,KAAF;EAASC;AAAT,CAAD,KAAyC;EACjF,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAeH,KAAK,CAACI,OAArB,CAAjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kCAAA,EAAmBJ,QAAnB,CAAlB;EAEA,MAAMK,IAAiB,GAAG,MAA1B;EAEA,MAAMC,sBAAsB,GAAG,IAAAC,8CAAA,EAAuB;IAClDT,KADkD;IAElDO,IAFkD;IAGlDN;EAHkD,CAAvB,CAA/B;EAMA,MAAMS,cAAc,GAAG,IAAAC,8BAAA,EAAe;IAClCX,KADkC;IAElCC;EAFkC,CAAf,CAAvB;EAIA,MAAMW,qBAAqB,GAAG,IAAAC,4CAAA,EAAsB;IAChDb,KADgD;IAEhDC;EAFgD,CAAtB,CAA9B;EAIA,MAAMa,YAAY,GAAG,IAAAC,0BAAA,EAAa;IAC9Bf,KAD8B;IAE9BO,IAF8B;IAG9BN;EAH8B,CAAb,CAArB;;EAMA,IAAIa,YAAY,CAACE,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO,EAAP;EACH;;EAED,OAAQ;AACZ,aAAahB,KAAK,CAACiB,WAAN,IAAqB,EAAG;AACrC,eAAeZ,SAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,cAAcS,YAAY,CAACI,GAAb,CAAiBC,CAAC,IAAIA,CAAC,CAACC,MAAxB,EAAgCC,IAAhC,CAAqC,IAArC,CAA2C;AACzD;AACA;AACA,UAAUP,YAAY,CACTI,GADH,CACOC,CAAC,IAAIA,CAAC,CAACG,QADd,EAEGC,MAFH,CAEUC,OAFV,EAGGH,IAHH,CAGQ,IAHR,CAGc;AACxB;AACA,UACYT,qBAAqB,IACpB,SAAQP,SAAU;AAC/B,cAAcO,qBAAsB;AACpC,UACS;AACT;AACA;AACA,UACYJ,sBAAsB,IACrB,SAAQH,SAAU;AAC/B,kBAAkBG,sBAAuB;AACzC,wBAAwBH,SAAU;AAClC,uBAAuBA,SAAU;AACjC,UACS;AACT;AACA;AACA,UACYK,cAAc,IACb,QAAOL,SAAU;AAC9B,cAAcK,cAAe;AAC7B,UACS;AACT;AACA,eAAeL,SAAU;AACzB,oBAAoBA,SAAU;AAC9B;AACA;AACA;AACA,eAAeA,SAAU;AACzB,qBAAqBA,SAAU;AAC/B;AACA;AACA;AACA;AACA;AACA,iBAAiBH,QAAS,WAAUG,SAAU,oBAAmBA,SAAU;AAC3E;AACA,kBAAkB,IAAAoB,sCAAA,EAAmBvB,QAAnB,CAA6B;AAC/C,yBAAyBG,SAAU;AACnC,yBAAyBA,SAAU;AACnC;AACA;AACA,iBAAiBA,SAAU;AAC3B;AACA,KA/DI;AAgEH,CA9FM"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.resolveGet = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
11
|
|
|
12
12
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
13
13
|
|
|
@@ -15,10 +15,6 @@ var _responses = require("@webiny/handler-graphql/responses");
|
|
|
15
15
|
|
|
16
16
|
var _utils = require("@webiny/utils");
|
|
17
17
|
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
|
-
|
|
22
18
|
const possibleTypes = ["published", "latest"];
|
|
23
19
|
|
|
24
20
|
const getValuesFromArgs = args => {
|
|
@@ -29,13 +25,13 @@ const getValuesFromArgs = args => {
|
|
|
29
25
|
} = args || {};
|
|
30
26
|
|
|
31
27
|
if (!revision && !entryId) {
|
|
32
|
-
throw new _error.default("You must pass a 'revision' or an 'entryId' argument.", "GRAPHQL_ARGS_ERROR",
|
|
28
|
+
throw new _error.default("You must pass a 'revision' or an 'entryId' argument.", "GRAPHQL_ARGS_ERROR", (0, _objectSpread2.default)({}, args || {}));
|
|
33
29
|
} else if (revision && entryId) {
|
|
34
|
-
throw new _error.default("Cannot have both of GraphQL query arguments: revision and entryId. Must have only one.", "GRAPHQL_ARGS_ERROR",
|
|
30
|
+
throw new _error.default("Cannot have both of GraphQL query arguments: revision and entryId. Must have only one.", "GRAPHQL_ARGS_ERROR", (0, _objectSpread2.default)({}, args));
|
|
35
31
|
}
|
|
36
32
|
|
|
37
33
|
if (status && possibleTypes.includes(status) === false) {
|
|
38
|
-
throw new _error.default(`Status can only be one of the following values: ${possibleTypes.join(" | ")}.`, "GRAPHQL_ARGS_ERROR",
|
|
34
|
+
throw new _error.default(`Status can only be one of the following values: ${possibleTypes.join(" | ")}.`, "GRAPHQL_ARGS_ERROR", (0, _objectSpread2.default)({}, args));
|
|
39
35
|
}
|
|
40
36
|
/**
|
|
41
37
|
* In case we are searching for latest or published but we do not have entryId, we need to set it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["possibleTypes","getValuesFromArgs","args","status","revision","entryId","WebinyError","includes","join","id","parseIdentifier","published","resolveGet","model","_","context","result","cms","getPublishedEntriesByIds","getLatestEntriesByIds","Response","shift","entry","getEntryById","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\ninterface ResolveGetArgs {\n revision: string;\n}\n\ntype ResolveGet = ResolverFactory<any, ResolveGetArgs>;\n\ninterface ValuesFromArgsParams {\n status?: \"published\" | \"latest\";\n entryId?: string;\n revision: string;\n}\ninterface ArgsValues {\n published?: boolean;\n entryId?: string;\n revision?: string;\n}\n\nconst possibleTypes = [\"published\", \"latest\"];\n\nconst getValuesFromArgs = (args?: ValuesFromArgsParams): ArgsValues => {\n const { status, revision, entryId } = args || {};\n if (!revision && !entryId) {\n throw new WebinyError(\n \"You must pass a 'revision' or an 'entryId' argument.\",\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...(args || {})\n }\n );\n } else if (revision && entryId) {\n throw new WebinyError(\n \"Cannot have both of GraphQL query arguments: revision and entryId. Must have only one.\",\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...args\n }\n );\n }\n if (status && possibleTypes.includes(status) === false) {\n throw new WebinyError(\n `Status can only be one of the following values: ${possibleTypes.join(\" | \")}.`,\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...args\n }\n );\n }\n /**\n * In case we are searching for latest or published but we do not have entryId, we need to set it.\n * OR if version was not passed we will find latest or published, depending on status sent.\n */\n if (status || !revision) {\n const { id } = parseIdentifier(entryId || revision);\n return {\n published: status === \"published\",\n entryId: id\n };\n }\n return {\n revision\n };\n};\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const { entryId, published, revision } = getValuesFromArgs(args);\n\n if (entryId) {\n const result = published\n ? await context.cms.getPublishedEntriesByIds(model, [entryId])\n : await context.cms.getLatestEntriesByIds(model, [entryId]);\n return new Response(result.shift() || null);\n }\n\n const entry = await context.cms.getEntryById(model, revision as string);\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA
|
|
1
|
+
{"version":3,"names":["possibleTypes","getValuesFromArgs","args","status","revision","entryId","WebinyError","includes","join","id","parseIdentifier","published","resolveGet","model","_","context","result","cms","getPublishedEntriesByIds","getLatestEntriesByIds","Response","shift","entry","getEntryById","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\ninterface ResolveGetArgs {\n revision: string;\n}\n\ntype ResolveGet = ResolverFactory<any, ResolveGetArgs>;\n\ninterface ValuesFromArgsParams {\n status?: \"published\" | \"latest\";\n entryId?: string;\n revision: string;\n}\ninterface ArgsValues {\n published?: boolean;\n entryId?: string;\n revision?: string;\n}\n\nconst possibleTypes = [\"published\", \"latest\"];\n\nconst getValuesFromArgs = (args?: ValuesFromArgsParams): ArgsValues => {\n const { status, revision, entryId } = args || {};\n if (!revision && !entryId) {\n throw new WebinyError(\n \"You must pass a 'revision' or an 'entryId' argument.\",\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...(args || {})\n }\n );\n } else if (revision && entryId) {\n throw new WebinyError(\n \"Cannot have both of GraphQL query arguments: revision and entryId. Must have only one.\",\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...args\n }\n );\n }\n if (status && possibleTypes.includes(status) === false) {\n throw new WebinyError(\n `Status can only be one of the following values: ${possibleTypes.join(\" | \")}.`,\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...args\n }\n );\n }\n /**\n * In case we are searching for latest or published but we do not have entryId, we need to set it.\n * OR if version was not passed we will find latest or published, depending on status sent.\n */\n if (status || !revision) {\n const { id } = parseIdentifier(entryId || revision);\n return {\n published: status === \"published\",\n entryId: id\n };\n }\n return {\n revision\n };\n};\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const { entryId, published, revision } = getValuesFromArgs(args);\n\n if (entryId) {\n const result = published\n ? await context.cms.getPublishedEntriesByIds(model, [entryId])\n : await context.cms.getLatestEntriesByIds(model, [entryId]);\n return new Response(result.shift() || null);\n }\n\n const entry = await context.cms.getEntryById(model, revision as string);\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AAmBA,MAAMA,aAAa,GAAG,CAAC,WAAD,EAAc,QAAd,CAAtB;;AAEA,MAAMC,iBAAiB,GAAIC,IAAD,IAA6C;EACnE,MAAM;IAAEC,MAAF;IAAUC,QAAV;IAAoBC;EAApB,IAAgCH,IAAI,IAAI,EAA9C;;EACA,IAAI,CAACE,QAAD,IAAa,CAACC,OAAlB,EAA2B;IACvB,MAAM,IAAIC,cAAJ,CACF,sDADE,EAEF,oBAFE,kCAIMJ,IAAI,IAAI,EAJd,EAAN;EAOH,CARD,MAQO,IAAIE,QAAQ,IAAIC,OAAhB,EAAyB;IAC5B,MAAM,IAAIC,cAAJ,CACF,wFADE,EAEF,oBAFE,kCAIKJ,IAJL,EAAN;EAOH;;EACD,IAAIC,MAAM,IAAIH,aAAa,CAACO,QAAd,CAAuBJ,MAAvB,MAAmC,KAAjD,EAAwD;IACpD,MAAM,IAAIG,cAAJ,CACD,mDAAkDN,aAAa,CAACQ,IAAd,CAAmB,KAAnB,CAA0B,GAD3E,EAEF,oBAFE,kCAIKN,IAJL,EAAN;EAOH;EACD;AACJ;AACA;AACA;;;EACI,IAAIC,MAAM,IAAI,CAACC,QAAf,EAAyB;IACrB,MAAM;MAAEK;IAAF,IAAS,IAAAC,sBAAA,EAAgBL,OAAO,IAAID,QAA3B,CAAf;IACA,OAAO;MACHO,SAAS,EAAER,MAAM,KAAK,WADnB;MAEHE,OAAO,EAAEI;IAFN,CAAP;EAIH;;EACD,OAAO;IACHL;EADG,CAAP;AAGH,CA1CD;;AA4CO,MAAMQ,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUZ,IAAV,EAAqBa,OAArB,KAAiC;EAC7B,IAAI;IACA,MAAM;MAAEV,OAAF;MAAWM,SAAX;MAAsBP;IAAtB,IAAmCH,iBAAiB,CAACC,IAAD,CAA1D;;IAEA,IAAIG,OAAJ,EAAa;MACT,MAAMW,MAAM,GAAGL,SAAS,GAClB,MAAMI,OAAO,CAACE,GAAR,CAAYC,wBAAZ,CAAqCL,KAArC,EAA4C,CAACR,OAAD,CAA5C,CADY,GAElB,MAAMU,OAAO,CAACE,GAAR,CAAYE,qBAAZ,CAAkCN,KAAlC,EAAyC,CAACR,OAAD,CAAzC,CAFZ;MAGA,OAAO,IAAIe,mBAAJ,CAAaJ,MAAM,CAACK,KAAP,MAAkB,IAA/B,CAAP;IACH;;IAED,MAAMC,KAAK,GAAG,MAAMP,OAAO,CAACE,GAAR,CAAYM,YAAZ,CAAyBV,KAAzB,EAAgCT,QAAhC,CAApB;IAEA,OAAO,IAAIgB,mBAAJ,CAAaE,KAAb,CAAP;EACH,CAbD,CAaE,OAAOE,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAnBE"}
|
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.resolveGet = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
11
|
|
|
12
12
|
var _responses = require("@webiny/handler-graphql/responses");
|
|
13
13
|
|
|
14
14
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
15
15
|
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
-
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
|
-
|
|
20
16
|
const resolveGet = ({
|
|
21
17
|
model
|
|
22
18
|
}) => async (_, args, context) => {
|
|
23
19
|
try {
|
|
24
|
-
const [[entry]] = await context.cms.listLatestEntries(model,
|
|
20
|
+
const [[entry]] = await context.cms.listLatestEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, args), {}, {
|
|
25
21
|
limit: 1
|
|
26
22
|
}));
|
|
27
23
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resolveGet","model","_","args","context","entry","cms","listLatestEntries","limit","NotFoundError","Response","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listLatestEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA
|
|
1
|
+
{"version":3,"names":["resolveGet","model","_","args","context","entry","cms","listLatestEntries","limit","NotFoundError","Response","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listLatestEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAIO,MAAMA,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAA0BC,OAA1B,KAAsC;EAClC,IAAI;IACA,MAAM,CAAC,CAACC,KAAD,CAAD,IAAY,MAAMD,OAAO,CAACE,GAAR,CAAYC,iBAAZ,CAA8BN,KAA9B,8DACjBE,IADiB;MAEpBK,KAAK,EAAE;IAFa,GAAxB;;IAIA,IAAI,CAACH,KAAL,EAAY;MACR,MAAM,IAAII,6BAAJ,CAAmB,kBAAnB,CAAN;IACH;;IACD,OAAO,IAAIC,mBAAJ,CAAaL,KAAb,CAAP;EACH,CATD,CASE,OAAOM,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAfE"}
|
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.resolveGet = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
11
|
|
|
12
12
|
var _responses = require("@webiny/handler-graphql/responses");
|
|
13
13
|
|
|
14
14
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
15
15
|
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
-
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
|
-
|
|
20
16
|
const resolveGet = ({
|
|
21
17
|
model
|
|
22
18
|
}) => async (_, args, context) => {
|
|
23
19
|
try {
|
|
24
|
-
const [[entry]] = await context.cms.listPublishedEntries(model,
|
|
20
|
+
const [[entry]] = await context.cms.listPublishedEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, args), {}, {
|
|
25
21
|
limit: 1
|
|
26
22
|
}));
|
|
27
23
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resolveGet","model","_","args","context","entry","cms","listPublishedEntries","limit","NotFoundError","Response","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listPublishedEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA
|
|
1
|
+
{"version":3,"names":["resolveGet","model","_","args","context","entry","cms","listPublishedEntries","limit","NotFoundError","Response","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listPublishedEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAIO,MAAMA,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAA0BC,OAA1B,KAAsC;EAClC,IAAI;IACA,MAAM,CAAC,CAACC,KAAD,CAAD,IAAY,MAAMD,OAAO,CAACE,GAAR,CAAYC,oBAAZ,CAAiCN,KAAjC,8DACjBE,IADiB;MAEpBK,KAAK,EAAE;IAFa,GAAxB;;IAIA,IAAI,CAACH,KAAL,EAAY;MACR,MAAM,IAAII,6BAAJ,CAAmB,kBAAnB,CAAN;IACH;;IACD,OAAO,IAAIC,mBAAJ,CAAaL,KAAb,CAAP;EACH,CATD,CASE,OAAOM,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAfE"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.createDynamicZoneField = void 0;
|
|
9
|
+
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
|
|
12
|
+
var _createTypeName = require("../../utils/createTypeName");
|
|
13
|
+
|
|
14
|
+
var _createTypeFromFields = require("../../utils/createTypeFromFields");
|
|
15
|
+
|
|
16
|
+
var _helpers = require("../helpers");
|
|
17
|
+
|
|
18
|
+
const createUnionTypeName = (model, field) => {
|
|
19
|
+
return `${(0, _createTypeName.createReadTypeName)(model.modelId)}_${(0, _createTypeName.createReadTypeName)(field.fieldId)}`;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const getFieldTemplates = field => {
|
|
23
|
+
var _field$settings;
|
|
24
|
+
|
|
25
|
+
if (!Array.isArray((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates)) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return field.settings.templates;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const createTypeDefsForTemplates = ({
|
|
33
|
+
model,
|
|
34
|
+
field,
|
|
35
|
+
type,
|
|
36
|
+
templates,
|
|
37
|
+
typeOfType,
|
|
38
|
+
fieldTypePlugins
|
|
39
|
+
}) => {
|
|
40
|
+
const typeDefs = [];
|
|
41
|
+
const templateTypes = [];
|
|
42
|
+
templates.forEach(template => {
|
|
43
|
+
const typeName = [(0, _createTypeName.createTypeName)(model.modelId), (0, _createTypeName.createTypeName)(field.fieldId), template.gqlTypeName].join("_");
|
|
44
|
+
const result = (0, _createTypeFromFields.createTypeFromFields)({
|
|
45
|
+
typeOfType,
|
|
46
|
+
model,
|
|
47
|
+
type,
|
|
48
|
+
typeNamePrefix: typeName,
|
|
49
|
+
fields: template.fields,
|
|
50
|
+
fieldTypePlugins
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
if (!result) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
typeDefs.push(result.typeDefs);
|
|
58
|
+
templateTypes.push(result.fieldType);
|
|
59
|
+
});
|
|
60
|
+
return {
|
|
61
|
+
typeDefs,
|
|
62
|
+
templateTypes
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const remapTemplateValue = (value, typeName) => {
|
|
67
|
+
const templateType = Object.keys(value)[0];
|
|
68
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, value[templateType]), {}, {
|
|
69
|
+
__typename: `${typeName}_${templateType}`
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const createResolver = ({
|
|
74
|
+
model,
|
|
75
|
+
field
|
|
76
|
+
}) => {
|
|
77
|
+
return parent => {
|
|
78
|
+
const value = parent[field.fieldId];
|
|
79
|
+
|
|
80
|
+
if (!value) {
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const typeName = `${(0, _createTypeName.createTypeName)(model.modelId)}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
|
|
85
|
+
|
|
86
|
+
if (field.multipleValues && Array.isArray(value)) {
|
|
87
|
+
return value.map(v => remapTemplateValue(v, typeName));
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return remapTemplateValue(value, typeName);
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const createDynamicZoneField = () => {
|
|
95
|
+
return {
|
|
96
|
+
name: "cms-model-field-to-graphql-dynamic-zone",
|
|
97
|
+
type: "cms-model-field-to-graphql",
|
|
98
|
+
fieldType: "dynamicZone",
|
|
99
|
+
isSortable: false,
|
|
100
|
+
isSearchable: false,
|
|
101
|
+
validateChildFields: params => {
|
|
102
|
+
const {
|
|
103
|
+
validate,
|
|
104
|
+
originalField,
|
|
105
|
+
field
|
|
106
|
+
} = params;
|
|
107
|
+
|
|
108
|
+
const getOriginalTemplateFields = templateId => {
|
|
109
|
+
var _originalField$settin;
|
|
110
|
+
|
|
111
|
+
if (!(originalField !== null && originalField !== void 0 && (_originalField$settin = originalField.settings) !== null && _originalField$settin !== void 0 && _originalField$settin.templates)) {
|
|
112
|
+
return [];
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const template = originalField.settings.templates.find(t => t.id === templateId);
|
|
116
|
+
return (template === null || template === void 0 ? void 0 : template.fields) || [];
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
for (const template of field.settings.templates) {
|
|
120
|
+
validate({
|
|
121
|
+
fields: template.fields,
|
|
122
|
+
originalFields: getOriginalTemplateFields(template.id)
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
read: {
|
|
127
|
+
createTypeField({
|
|
128
|
+
model,
|
|
129
|
+
field,
|
|
130
|
+
fieldTypePlugins
|
|
131
|
+
}) {
|
|
132
|
+
const templates = getFieldTemplates(field);
|
|
133
|
+
const unionTypeName = createUnionTypeName(model, field);
|
|
134
|
+
const {
|
|
135
|
+
typeDefs,
|
|
136
|
+
templateTypes
|
|
137
|
+
} = createTypeDefsForTemplates({
|
|
138
|
+
field,
|
|
139
|
+
type: "read",
|
|
140
|
+
typeOfType: "type",
|
|
141
|
+
model,
|
|
142
|
+
fieldTypePlugins,
|
|
143
|
+
templates
|
|
144
|
+
});
|
|
145
|
+
typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(" | ")}`);
|
|
146
|
+
return {
|
|
147
|
+
fields: `${field.fieldId}: ${field.multipleValues ? `[${unionTypeName}!]` : unionTypeName}`,
|
|
148
|
+
typeDefs: typeDefs.join("\n")
|
|
149
|
+
};
|
|
150
|
+
},
|
|
151
|
+
|
|
152
|
+
createResolver
|
|
153
|
+
},
|
|
154
|
+
manage: {
|
|
155
|
+
createTypeField({
|
|
156
|
+
model,
|
|
157
|
+
field,
|
|
158
|
+
fieldTypePlugins
|
|
159
|
+
}) {
|
|
160
|
+
const templates = getFieldTemplates(field);
|
|
161
|
+
const unionTypeName = createUnionTypeName(model, field);
|
|
162
|
+
const {
|
|
163
|
+
typeDefs,
|
|
164
|
+
templateTypes
|
|
165
|
+
} = createTypeDefsForTemplates({
|
|
166
|
+
field,
|
|
167
|
+
type: "manage",
|
|
168
|
+
typeOfType: "type",
|
|
169
|
+
model,
|
|
170
|
+
fieldTypePlugins,
|
|
171
|
+
templates
|
|
172
|
+
}); // Add _templateId
|
|
173
|
+
|
|
174
|
+
const templateIds = templateTypes.map(type => {
|
|
175
|
+
return `extend type ${type} {
|
|
176
|
+
_templateId: ID!
|
|
177
|
+
}
|
|
178
|
+
`;
|
|
179
|
+
});
|
|
180
|
+
typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(" | ")}`);
|
|
181
|
+
return {
|
|
182
|
+
fields: `${field.fieldId}: ${field.multipleValues ? `[${unionTypeName}!]` : unionTypeName}`,
|
|
183
|
+
typeDefs: typeDefs.concat(templateIds).join("\n")
|
|
184
|
+
};
|
|
185
|
+
},
|
|
186
|
+
|
|
187
|
+
createInputField({
|
|
188
|
+
model,
|
|
189
|
+
field,
|
|
190
|
+
fieldTypePlugins
|
|
191
|
+
}) {
|
|
192
|
+
const templates = getFieldTemplates(field);
|
|
193
|
+
const {
|
|
194
|
+
typeDefs,
|
|
195
|
+
templateTypes
|
|
196
|
+
} = createTypeDefsForTemplates({
|
|
197
|
+
field,
|
|
198
|
+
type: "manage",
|
|
199
|
+
typeOfType: "input",
|
|
200
|
+
model,
|
|
201
|
+
fieldTypePlugins,
|
|
202
|
+
templates
|
|
203
|
+
});
|
|
204
|
+
const typeName = `${(0, _createTypeName.createTypeName)(model.modelId)}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
|
|
205
|
+
const inputProperties = templateTypes.map(inputTypeName => {
|
|
206
|
+
const key = inputTypeName.replace(`${typeName}_`, "").replace("Input", "");
|
|
207
|
+
return [key, inputTypeName];
|
|
208
|
+
});
|
|
209
|
+
/**
|
|
210
|
+
* Generate a field input type, similar to this example:
|
|
211
|
+
*
|
|
212
|
+
* input Article_ContentInput {
|
|
213
|
+
* Hero: Article_Content_HeroInput
|
|
214
|
+
* SimpleText: Article_Content_SimpleTextInput
|
|
215
|
+
* }
|
|
216
|
+
*/
|
|
217
|
+
|
|
218
|
+
typeDefs.push(`input ${typeName}Input {
|
|
219
|
+
${inputProperties.map(([key, value]) => `
|
|
220
|
+
${key}: ${value}
|
|
221
|
+
`)}
|
|
222
|
+
}`);
|
|
223
|
+
return {
|
|
224
|
+
fields: (0, _helpers.createGraphQLInputField)(field, `${typeName}Input`),
|
|
225
|
+
typeDefs: typeDefs.join("\n")
|
|
226
|
+
};
|
|
227
|
+
},
|
|
228
|
+
|
|
229
|
+
createResolver
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
exports.createDynamicZoneField = createDynamicZoneField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createUnionTypeName","model","field","createReadTypeName","modelId","fieldId","getFieldTemplates","Array","isArray","settings","templates","createTypeDefsForTemplates","type","typeOfType","fieldTypePlugins","typeDefs","templateTypes","forEach","template","typeName","createTypeName","gqlTypeName","join","result","createTypeFromFields","typeNamePrefix","fields","push","fieldType","remapTemplateValue","value","templateType","Object","keys","__typename","createResolver","parent","multipleValues","map","v","createDynamicZoneField","name","isSortable","isSearchable","validateChildFields","params","validate","originalField","getOriginalTemplateFields","templateId","find","t","id","originalFields","read","createTypeField","unionTypeName","unshift","manage","templateIds","concat","createInputField","inputProperties","inputTypeName","key","replace","createGraphQLInputField"],"sources":["dynamicZoneField.ts"],"sourcesContent":["import {\n CmsModelFieldToGraphQLPlugin,\n CmsModel,\n CmsModelField,\n CmsModelDynamicZoneField,\n CmsDynamicZoneTemplate,\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModelFieldToGraphQLCreateResolver\n} from \"~/types\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\nimport { createGraphQLInputField } from \"../helpers\";\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${createReadTypeName(model.modelId)}_${createReadTypeName(field.fieldId)}`;\n};\n\nconst getFieldTemplates = (field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] => {\n if (!Array.isArray(field.settings?.templates)) {\n return [];\n }\n return field.settings.templates;\n};\n\ninterface CreateTypeDefsForTemplatesParams {\n model: CmsModel;\n field: CmsModelField;\n type: ApiEndpoint;\n typeOfType: \"type\" | \"input\";\n templates: CmsDynamicZoneTemplate[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst createTypeDefsForTemplates = ({\n model,\n field,\n type,\n templates,\n typeOfType,\n fieldTypePlugins\n}: CreateTypeDefsForTemplatesParams) => {\n const typeDefs: string[] = [];\n const templateTypes: string[] = [];\n\n templates.forEach(template => {\n const typeName = [\n createTypeName(model.modelId),\n createTypeName(field.fieldId),\n template.gqlTypeName\n ].join(\"_\");\n\n const result = createTypeFromFields({\n typeOfType,\n model,\n type,\n typeNamePrefix: typeName,\n fields: template.fields,\n fieldTypePlugins\n });\n\n if (!result) {\n return;\n }\n\n typeDefs.push(result.typeDefs);\n templateTypes.push(result.fieldType);\n });\n\n return { typeDefs, templateTypes };\n};\n\nconst remapTemplateValue = (value: any, typeName: string) => {\n const templateType = Object.keys(value)[0];\n\n return { ...value[templateType], __typename: `${typeName}_${templateType}` };\n};\n\nconst createResolver: CmsModelFieldToGraphQLCreateResolver<CmsModelDynamicZoneField> = ({\n model,\n field\n}) => {\n return parent => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${createTypeName(model.modelId)}_${createTypeName(field.fieldId)}`;\n\n if (field.multipleValues && Array.isArray(value)) {\n return value.map(v => remapTemplateValue(v, typeName));\n }\n\n return remapTemplateValue(value, typeName);\n };\n};\n\nexport const createDynamicZoneField =\n (): CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField> => {\n return {\n name: \"cms-model-field-to-graphql-dynamic-zone\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"dynamicZone\",\n isSortable: false,\n isSearchable: false,\n validateChildFields: params => {\n const { validate, originalField, field } = params;\n\n const getOriginalTemplateFields = (templateId: string) => {\n if (!originalField?.settings?.templates) {\n return [];\n }\n const template = originalField.settings.templates.find(\n t => t.id === templateId\n );\n return template?.fields || [];\n };\n\n for (const template of field.settings.templates) {\n validate({\n fields: template.fields,\n originalFields: getOriginalTemplateFields(template.id)\n });\n }\n },\n read: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n field,\n type: \"read\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver\n },\n manage: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n field,\n type: \"manage\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n // Add _templateId\n const templateIds = templateTypes.map(type => {\n return `extend type ${type} {\n _templateId: ID!\n }\n `;\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.concat(templateIds).join(\"\\n\")\n };\n },\n createInputField({ model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n field,\n type: \"manage\",\n typeOfType: \"input\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeName = `${createTypeName(model.modelId)}_${createTypeName(\n field.fieldId\n )}`;\n\n const inputProperties = templateTypes.map(inputTypeName => {\n const key = inputTypeName.replace(`${typeName}_`, \"\").replace(\"Input\", \"\");\n return [key, inputTypeName];\n });\n\n /**\n * Generate a field input type, similar to this example:\n *\n * input Article_ContentInput {\n * Hero: Article_Content_HeroInput\n * SimpleText: Article_Content_SimpleTextInput\n * }\n */\n typeDefs.push(`input ${typeName}Input {\n ${inputProperties.map(\n ([key, value]) => `\n ${key}: ${value}\n `\n )}\n }`);\n\n return {\n fields: createGraphQLInputField(field, `${typeName}Input`),\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver\n }\n };\n };\n"],"mappings":";;;;;;;;;;;AAUA;;AACA;;AACA;;AAEA,MAAMA,mBAAmB,GAAG,CAACC,KAAD,EAAkBC,KAAlB,KAA2C;EACnE,OAAQ,GAAE,IAAAC,kCAAA,EAAmBF,KAAK,CAACG,OAAzB,CAAkC,IAAG,IAAAD,kCAAA,EAAmBD,KAAK,CAACG,OAAzB,CAAkC,EAAjF;AACH,CAFD;;AAIA,MAAMC,iBAAiB,GAAIJ,KAAD,IAA+D;EAAA;;EACrF,IAAI,CAACK,KAAK,CAACC,OAAN,oBAAcN,KAAK,CAACO,QAApB,oDAAc,gBAAgBC,SAA9B,CAAL,EAA+C;IAC3C,OAAO,EAAP;EACH;;EACD,OAAOR,KAAK,CAACO,QAAN,CAAeC,SAAtB;AACH,CALD;;AAgBA,MAAMC,0BAA0B,GAAG,CAAC;EAChCV,KADgC;EAEhCC,KAFgC;EAGhCU,IAHgC;EAIhCF,SAJgC;EAKhCG,UALgC;EAMhCC;AANgC,CAAD,KAOK;EACpC,MAAMC,QAAkB,GAAG,EAA3B;EACA,MAAMC,aAAuB,GAAG,EAAhC;EAEAN,SAAS,CAACO,OAAV,CAAkBC,QAAQ,IAAI;IAC1B,MAAMC,QAAQ,GAAG,CACb,IAAAC,8BAAA,EAAenB,KAAK,CAACG,OAArB,CADa,EAEb,IAAAgB,8BAAA,EAAelB,KAAK,CAACG,OAArB,CAFa,EAGba,QAAQ,CAACG,WAHI,EAIfC,IAJe,CAIV,GAJU,CAAjB;IAMA,MAAMC,MAAM,GAAG,IAAAC,0CAAA,EAAqB;MAChCX,UADgC;MAEhCZ,KAFgC;MAGhCW,IAHgC;MAIhCa,cAAc,EAAEN,QAJgB;MAKhCO,MAAM,EAAER,QAAQ,CAACQ,MALe;MAMhCZ;IANgC,CAArB,CAAf;;IASA,IAAI,CAACS,MAAL,EAAa;MACT;IACH;;IAEDR,QAAQ,CAACY,IAAT,CAAcJ,MAAM,CAACR,QAArB;IACAC,aAAa,CAACW,IAAd,CAAmBJ,MAAM,CAACK,SAA1B;EACH,CAtBD;EAwBA,OAAO;IAAEb,QAAF;IAAYC;EAAZ,CAAP;AACH,CApCD;;AAsCA,MAAMa,kBAAkB,GAAG,CAACC,KAAD,EAAaX,QAAb,KAAkC;EACzD,MAAMY,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYH,KAAZ,EAAmB,CAAnB,CAArB;EAEA,mEAAYA,KAAK,CAACC,YAAD,CAAjB;IAAiCG,UAAU,EAAG,GAAEf,QAAS,IAAGY,YAAa;EAAzE;AACH,CAJD;;AAMA,MAAMI,cAA8E,GAAG,CAAC;EACpFlC,KADoF;EAEpFC;AAFoF,CAAD,KAGjF;EACF,OAAOkC,MAAM,IAAI;IACb,MAAMN,KAAK,GAAGM,MAAM,CAAClC,KAAK,CAACG,OAAP,CAApB;;IACA,IAAI,CAACyB,KAAL,EAAY;MACR,OAAOA,KAAP;IACH;;IAED,MAAMX,QAAQ,GAAI,GAAE,IAAAC,8BAAA,EAAenB,KAAK,CAACG,OAArB,CAA8B,IAAG,IAAAgB,8BAAA,EAAelB,KAAK,CAACG,OAArB,CAA8B,EAAnF;;IAEA,IAAIH,KAAK,CAACmC,cAAN,IAAwB9B,KAAK,CAACC,OAAN,CAAcsB,KAAd,CAA5B,EAAkD;MAC9C,OAAOA,KAAK,CAACQ,GAAN,CAAUC,CAAC,IAAIV,kBAAkB,CAACU,CAAD,EAAIpB,QAAJ,CAAjC,CAAP;IACH;;IAED,OAAOU,kBAAkB,CAACC,KAAD,EAAQX,QAAR,CAAzB;EACH,CAbD;AAcH,CAlBD;;AAoBO,MAAMqB,sBAAsB,GAC/B,MAA8D;EAC1D,OAAO;IACHC,IAAI,EAAE,yCADH;IAEH7B,IAAI,EAAE,4BAFH;IAGHgB,SAAS,EAAE,aAHR;IAIHc,UAAU,EAAE,KAJT;IAKHC,YAAY,EAAE,KALX;IAMHC,mBAAmB,EAAEC,MAAM,IAAI;MAC3B,MAAM;QAAEC,QAAF;QAAYC,aAAZ;QAA2B7C;MAA3B,IAAqC2C,MAA3C;;MAEA,MAAMG,yBAAyB,GAAIC,UAAD,IAAwB;QAAA;;QACtD,IAAI,EAACF,aAAD,aAACA,aAAD,wCAACA,aAAa,CAAEtC,QAAhB,kDAAC,sBAAyBC,SAA1B,CAAJ,EAAyC;UACrC,OAAO,EAAP;QACH;;QACD,MAAMQ,QAAQ,GAAG6B,aAAa,CAACtC,QAAd,CAAuBC,SAAvB,CAAiCwC,IAAjC,CACbC,CAAC,IAAIA,CAAC,CAACC,EAAF,KAASH,UADD,CAAjB;QAGA,OAAO,CAAA/B,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEQ,MAAV,KAAoB,EAA3B;MACH,CARD;;MAUA,KAAK,MAAMR,QAAX,IAAuBhB,KAAK,CAACO,QAAN,CAAeC,SAAtC,EAAiD;QAC7CoC,QAAQ,CAAC;UACLpB,MAAM,EAAER,QAAQ,CAACQ,MADZ;UAEL2B,cAAc,EAAEL,yBAAyB,CAAC9B,QAAQ,CAACkC,EAAV;QAFpC,CAAD,CAAR;MAIH;IACJ,CAzBE;IA0BHE,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEtD,KAAF;QAASC,KAAT;QAAgBY;MAAhB,CAAD,EAAqC;QAChD,MAAMJ,SAAS,GAAGJ,iBAAiB,CAACJ,KAAD,CAAnC;QACA,MAAMsD,aAAa,GAAGxD,mBAAmB,CAACC,KAAD,EAAQC,KAAR,CAAzC;QAEA,MAAM;UAAEa,QAAF;UAAYC;QAAZ,IAA8BL,0BAA0B,CAAC;UAC3DT,KAD2D;UAE3DU,IAAI,EAAE,MAFqD;UAG3DC,UAAU,EAAE,MAH+C;UAI3DZ,KAJ2D;UAK3Da,gBAL2D;UAM3DJ;QAN2D,CAAD,CAA9D;QASAK,QAAQ,CAAC0C,OAAT,CAAkB,SAAQD,aAAc,MAAKxC,aAAa,CAACM,IAAd,CAAmB,KAAnB,CAA0B,EAAvE;QAEA,OAAO;UACHI,MAAM,EAAG,GAAExB,KAAK,CAACG,OAAQ,KACrBH,KAAK,CAACmC,cAAN,GAAwB,IAAGmB,aAAc,IAAzC,GAA+CA,aAClD,EAHE;UAIHzC,QAAQ,EAAEA,QAAQ,CAACO,IAAT,CAAc,IAAd;QAJP,CAAP;MAMH,CAtBC;;MAuBFa;IAvBE,CA1BH;IAmDHuB,MAAM,EAAE;MACJH,eAAe,CAAC;QAAEtD,KAAF;QAASC,KAAT;QAAgBY;MAAhB,CAAD,EAAqC;QAChD,MAAMJ,SAAS,GAAGJ,iBAAiB,CAACJ,KAAD,CAAnC;QACA,MAAMsD,aAAa,GAAGxD,mBAAmB,CAACC,KAAD,EAAQC,KAAR,CAAzC;QAEA,MAAM;UAAEa,QAAF;UAAYC;QAAZ,IAA8BL,0BAA0B,CAAC;UAC3DT,KAD2D;UAE3DU,IAAI,EAAE,QAFqD;UAG3DC,UAAU,EAAE,MAH+C;UAI3DZ,KAJ2D;UAK3Da,gBAL2D;UAM3DJ;QAN2D,CAAD,CAA9D,CAJgD,CAahD;;QACA,MAAMiD,WAAW,GAAG3C,aAAa,CAACsB,GAAd,CAAkB1B,IAAI,IAAI;UAC1C,OAAQ,eAAcA,IAAK;AACnD;AACA;AACA,yBAHwB;QAIH,CALmB,CAApB;QAOAG,QAAQ,CAAC0C,OAAT,CAAkB,SAAQD,aAAc,MAAKxC,aAAa,CAACM,IAAd,CAAmB,KAAnB,CAA0B,EAAvE;QAEA,OAAO;UACHI,MAAM,EAAG,GAAExB,KAAK,CAACG,OAAQ,KACrBH,KAAK,CAACmC,cAAN,GAAwB,IAAGmB,aAAc,IAAzC,GAA+CA,aAClD,EAHE;UAIHzC,QAAQ,EAAEA,QAAQ,CAAC6C,MAAT,CAAgBD,WAAhB,EAA6BrC,IAA7B,CAAkC,IAAlC;QAJP,CAAP;MAMH,CA9BG;;MA+BJuC,gBAAgB,CAAC;QAAE5D,KAAF;QAASC,KAAT;QAAgBY;MAAhB,CAAD,EAAqC;QACjD,MAAMJ,SAAS,GAAGJ,iBAAiB,CAACJ,KAAD,CAAnC;QAEA,MAAM;UAAEa,QAAF;UAAYC;QAAZ,IAA8BL,0BAA0B,CAAC;UAC3DT,KAD2D;UAE3DU,IAAI,EAAE,QAFqD;UAG3DC,UAAU,EAAE,OAH+C;UAI3DZ,KAJ2D;UAK3Da,gBAL2D;UAM3DJ;QAN2D,CAAD,CAA9D;QASA,MAAMS,QAAQ,GAAI,GAAE,IAAAC,8BAAA,EAAenB,KAAK,CAACG,OAArB,CAA8B,IAAG,IAAAgB,8BAAA,EACjDlB,KAAK,CAACG,OAD2C,CAEnD,EAFF;QAIA,MAAMyD,eAAe,GAAG9C,aAAa,CAACsB,GAAd,CAAkByB,aAAa,IAAI;UACvD,MAAMC,GAAG,GAAGD,aAAa,CAACE,OAAd,CAAuB,GAAE9C,QAAS,GAAlC,EAAsC,EAAtC,EAA0C8C,OAA1C,CAAkD,OAAlD,EAA2D,EAA3D,CAAZ;UACA,OAAO,CAACD,GAAD,EAAMD,aAAN,CAAP;QACH,CAHuB,CAAxB;QAKA;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;QACoBhD,QAAQ,CAACY,IAAT,CAAe,SAAQR,QAAS;AACpD,0BAA0B2C,eAAe,CAACxB,GAAhB,CACE,CAAC,CAAC0B,GAAD,EAAMlC,KAAN,CAAD,KAAmB;AAC/C,8BAA8BkC,GAAI,KAAIlC,KAAM;AAC5C,yBAH0B,CAIA;AAC1B,sBANoB;QAQA,OAAO;UACHJ,MAAM,EAAE,IAAAwC,gCAAA,EAAwBhE,KAAxB,EAAgC,GAAEiB,QAAS,OAA3C,CADL;UAEHJ,QAAQ,EAAEA,QAAQ,CAACO,IAAT,CAAc,IAAd;QAFP,CAAP;MAIH,CAxEG;;MAyEJa;IAzEI;EAnDL,CAAP;AA+HH,CAjIE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.createDynamicZoneStorageTransform = void 0;
|
|
9
|
+
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
|
|
12
|
+
var _plugins = require("../../plugins");
|
|
13
|
+
|
|
14
|
+
const convertToStorage = (value, templates) => {
|
|
15
|
+
// Only one key is allowed in the input object.
|
|
16
|
+
const inputType = Object.keys(value)[0];
|
|
17
|
+
const template = templates.find(tpl => tpl.gqlTypeName === inputType);
|
|
18
|
+
|
|
19
|
+
if (!template) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, value[inputType]), {}, {
|
|
24
|
+
_templateId: template.id
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const convertFromStorage = (value, templates) => {
|
|
29
|
+
const template = templates.find(tpl => value._templateId === tpl.id);
|
|
30
|
+
|
|
31
|
+
if (!template) {
|
|
32
|
+
return undefined;
|
|
33
|
+
} // We keep the `_templateId` property, to simplify further processing.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
return {
|
|
37
|
+
[template.gqlTypeName]: value
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const createDynamicZoneStorageTransform = () => {
|
|
42
|
+
return new _plugins.StorageTransformPlugin({
|
|
43
|
+
fieldType: "dynamicZone",
|
|
44
|
+
fromStorage: async ({
|
|
45
|
+
value,
|
|
46
|
+
field
|
|
47
|
+
}) => {
|
|
48
|
+
if (!value) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const templates = field.settings.templates;
|
|
53
|
+
|
|
54
|
+
if (Array.isArray(value) && field.multipleValues) {
|
|
55
|
+
return value.map(value => convertFromStorage(value, templates)).filter(Boolean);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return convertFromStorage(value, templates);
|
|
59
|
+
},
|
|
60
|
+
toStorage: async ({
|
|
61
|
+
value,
|
|
62
|
+
field
|
|
63
|
+
}) => {
|
|
64
|
+
if (!value) {
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const templates = field.settings.templates;
|
|
69
|
+
|
|
70
|
+
if (Array.isArray(value) && field.multipleValues) {
|
|
71
|
+
return value.map(value => convertToStorage(value, templates)).filter(Boolean);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return convertToStorage(value, templates);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
exports.createDynamicZoneStorageTransform = createDynamicZoneStorageTransform;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["convertToStorage","value","templates","inputType","Object","keys","template","find","tpl","gqlTypeName","undefined","_templateId","id","convertFromStorage","createDynamicZoneStorageTransform","StorageTransformPlugin","fieldType","fromStorage","field","settings","Array","isArray","multipleValues","map","filter","Boolean","toStorage"],"sources":["dynamicZoneStorage.ts"],"sourcesContent":["import { CmsDynamicZoneTemplate, CmsModelDynamicZoneField } from \"~/types\";\nimport { StorageTransformPlugin } from \"~/plugins\";\n\nconst convertToStorage = (value: any, templates: CmsDynamicZoneTemplate[]) => {\n // Only one key is allowed in the input object.\n const inputType = Object.keys(value)[0];\n const template = templates.find(tpl => tpl.gqlTypeName === inputType);\n if (!template) {\n return undefined;\n }\n\n return { ...value[inputType], _templateId: template.id };\n};\n\ninterface TemplateValueFromStorage {\n _templateId: string;\n [key: string]: any;\n}\n\nconst convertFromStorage = (\n value: TemplateValueFromStorage,\n templates: CmsDynamicZoneTemplate[]\n) => {\n const template = templates.find(tpl => value._templateId === tpl.id);\n if (!template) {\n return undefined;\n }\n\n // We keep the `_templateId` property, to simplify further processing.\n return { [template.gqlTypeName]: value };\n};\n\nexport const createDynamicZoneStorageTransform = () => {\n return new StorageTransformPlugin<any, any, CmsModelDynamicZoneField>({\n fieldType: \"dynamicZone\",\n fromStorage: async ({ value, field }) => {\n if (!value) {\n return null;\n }\n\n const templates = field.settings.templates;\n\n if (Array.isArray(value) && field.multipleValues) {\n return value.map(value => convertFromStorage(value, templates)).filter(Boolean);\n }\n\n return convertFromStorage(value, templates);\n },\n toStorage: async ({ value, field }) => {\n if (!value) {\n return value;\n }\n\n const templates = field.settings.templates;\n\n if (Array.isArray(value) && field.multipleValues) {\n return value.map(value => convertToStorage(value, templates)).filter(Boolean);\n }\n\n return convertToStorage(value, templates);\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AACA;;AAEA,MAAMA,gBAAgB,GAAG,CAACC,KAAD,EAAaC,SAAb,KAAqD;EAC1E;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACC,IAAP,CAAYJ,KAAZ,EAAmB,CAAnB,CAAlB;EACA,MAAMK,QAAQ,GAAGJ,SAAS,CAACK,IAAV,CAAeC,GAAG,IAAIA,GAAG,CAACC,WAAJ,KAAoBN,SAA1C,CAAjB;;EACA,IAAI,CAACG,QAAL,EAAe;IACX,OAAOI,SAAP;EACH;;EAED,mEAAYT,KAAK,CAACE,SAAD,CAAjB;IAA8BQ,WAAW,EAAEL,QAAQ,CAACM;EAApD;AACH,CATD;;AAgBA,MAAMC,kBAAkB,GAAG,CACvBZ,KADuB,EAEvBC,SAFuB,KAGtB;EACD,MAAMI,QAAQ,GAAGJ,SAAS,CAACK,IAAV,CAAeC,GAAG,IAAIP,KAAK,CAACU,WAAN,KAAsBH,GAAG,CAACI,EAAhD,CAAjB;;EACA,IAAI,CAACN,QAAL,EAAe;IACX,OAAOI,SAAP;EACH,CAJA,CAMD;;;EACA,OAAO;IAAE,CAACJ,QAAQ,CAACG,WAAV,GAAwBR;EAA1B,CAAP;AACH,CAXD;;AAaO,MAAMa,iCAAiC,GAAG,MAAM;EACnD,OAAO,IAAIC,+BAAJ,CAA+D;IAClEC,SAAS,EAAE,aADuD;IAElEC,WAAW,EAAE,OAAO;MAAEhB,KAAF;MAASiB;IAAT,CAAP,KAA4B;MACrC,IAAI,CAACjB,KAAL,EAAY;QACR,OAAO,IAAP;MACH;;MAED,MAAMC,SAAS,GAAGgB,KAAK,CAACC,QAAN,CAAejB,SAAjC;;MAEA,IAAIkB,KAAK,CAACC,OAAN,CAAcpB,KAAd,KAAwBiB,KAAK,CAACI,cAAlC,EAAkD;QAC9C,OAAOrB,KAAK,CAACsB,GAAN,CAAUtB,KAAK,IAAIY,kBAAkB,CAACZ,KAAD,EAAQC,SAAR,CAArC,EAAyDsB,MAAzD,CAAgEC,OAAhE,CAAP;MACH;;MAED,OAAOZ,kBAAkB,CAACZ,KAAD,EAAQC,SAAR,CAAzB;IACH,CAdiE;IAelEwB,SAAS,EAAE,OAAO;MAAEzB,KAAF;MAASiB;IAAT,CAAP,KAA4B;MACnC,IAAI,CAACjB,KAAL,EAAY;QACR,OAAOA,KAAP;MACH;;MAED,MAAMC,SAAS,GAAGgB,KAAK,CAACC,QAAN,CAAejB,SAAjC;;MAEA,IAAIkB,KAAK,CAACC,OAAN,CAAcpB,KAAd,KAAwBiB,KAAK,CAACI,cAAlC,EAAkD;QAC9C,OAAOrB,KAAK,CAACsB,GAAN,CAAUtB,KAAK,IAAID,gBAAgB,CAACC,KAAD,EAAQC,SAAR,CAAnC,EAAuDsB,MAAvD,CAA8DC,OAA9D,CAAP;MACH;;MAED,OAAOzB,gBAAgB,CAACC,KAAD,EAAQC,SAAR,CAAvB;IACH;EA3BiE,CAA/D,CAAP;AA6BH,CA9BM"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "createDynamicZoneField", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _dynamicZoneField.createDynamicZoneField;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "createDynamicZoneStorageTransform", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _dynamicZoneStorage.createDynamicZoneStorageTransform;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var _dynamicZoneField = require("./dynamicZoneField");
|
|
20
|
+
|
|
21
|
+
var _dynamicZoneStorage = require("./dynamicZoneStorage");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { createDynamicZoneField } from \"./dynamicZoneField\";\nexport { createDynamicZoneStorageTransform } from \"./dynamicZoneStorage\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA"}
|
package/graphqlFields/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { CmsModelFieldToGraphQLPlugin } from "../types";
|
|
2
|
-
export declare const createGraphQLFields: () => CmsModelFieldToGraphQLPlugin[];
|
|
2
|
+
export declare const createGraphQLFields: () => CmsModelFieldToGraphQLPlugin<any>[];
|