@webiny/api-headless-cms 5.36.2 → 5.37.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.
Files changed (227) hide show
  1. package/constants.d.ts +1 -0
  2. package/constants.js +8 -0
  3. package/constants.js.map +1 -0
  4. package/context.js +37 -5
  5. package/context.js.map +1 -1
  6. package/crud/contentEntry/afterDelete.js.map +1 -1
  7. package/crud/contentEntry/beforeCreate.js.map +1 -1
  8. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  9. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  10. package/crud/contentEntry/markLockedFields.js.map +1 -1
  11. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  12. package/crud/contentEntry/searchableFields.js.map +1 -1
  13. package/crud/contentEntry.crud.d.ts +4 -0
  14. package/crud/contentEntry.crud.js +206 -53
  15. package/crud/contentEntry.crud.js.map +1 -1
  16. package/crud/contentModel/afterCreate.js.map +1 -1
  17. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  18. package/crud/contentModel/afterDelete.js.map +1 -1
  19. package/crud/contentModel/afterUpdate.js.map +1 -1
  20. package/crud/contentModel/beforeCreate.js.map +1 -1
  21. package/crud/contentModel/beforeDelete.js.map +1 -1
  22. package/crud/contentModel/beforeUpdate.js.map +1 -1
  23. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  24. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  25. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  26. package/crud/contentModel/defaultFields.js.map +1 -1
  27. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  28. package/crud/contentModel/fields/imageField.js.map +1 -1
  29. package/crud/contentModel/fields/titleField.js.map +1 -1
  30. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  31. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
  32. package/crud/contentModel/validate/modelId.js.map +1 -1
  33. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  34. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  35. package/crud/contentModel/validateLayout.js.map +1 -1
  36. package/crud/contentModel/validateModel.js.map +1 -1
  37. package/crud/contentModel/validateModelFields.js +1 -1
  38. package/crud/contentModel/validateModelFields.js.map +1 -1
  39. package/crud/contentModel/validation.d.ts +246 -206
  40. package/crud/contentModel/validation.js.map +1 -1
  41. package/crud/contentModel.crud.d.ts +2 -0
  42. package/crud/contentModel.crud.js +22 -12
  43. package/crud/contentModel.crud.js.map +1 -1
  44. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  45. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  46. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  47. package/crud/contentModelGroup/validation.d.ts +4 -4
  48. package/crud/contentModelGroup/validation.js.map +1 -1
  49. package/crud/contentModelGroup.crud.d.ts +2 -0
  50. package/crud/contentModelGroup.crud.js +41 -20
  51. package/crud/contentModelGroup.crud.js.map +1 -1
  52. package/crud/settings.crud.d.ts +2 -0
  53. package/crud/settings.crud.js +2 -6
  54. package/crud/settings.crud.js.map +1 -1
  55. package/crud/system.crud.js.map +1 -1
  56. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  57. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  58. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +1 -1
  59. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  60. package/fieldConverters/index.js.map +1 -1
  61. package/graphql/buildSchemaPlugins.js +4 -0
  62. package/graphql/buildSchemaPlugins.js.map +1 -1
  63. package/graphql/checkEndpointAccess.js.map +1 -1
  64. package/graphql/createExecutableSchema.js.map +1 -1
  65. package/graphql/createRequestBody.js.map +1 -1
  66. package/graphql/formatErrorPayload.js.map +1 -1
  67. package/graphql/generateSchema.js.map +1 -1
  68. package/graphql/getSchema.js +1 -1
  69. package/graphql/getSchema.js.map +1 -1
  70. package/graphql/graphQLHandlerFactory.js.map +1 -1
  71. package/graphql/handleRequest.js.map +1 -1
  72. package/graphql/index.d.ts +1 -1
  73. package/graphql/index.js.map +1 -1
  74. package/graphql/schema/baseContentSchema.js.map +1 -1
  75. package/graphql/schema/baseSchema.js +16 -0
  76. package/graphql/schema/baseSchema.js.map +1 -1
  77. package/graphql/schema/contentEntries.js +9 -4
  78. package/graphql/schema/contentEntries.js.map +1 -1
  79. package/graphql/schema/contentModelGroups.js.map +1 -1
  80. package/graphql/schema/contentModels.js.map +1 -1
  81. package/graphql/schema/createFieldResolvers.js +1 -1
  82. package/graphql/schema/createFieldResolvers.js.map +1 -1
  83. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -1
  84. package/graphql/schema/createManageResolvers.d.ts +1 -1
  85. package/graphql/schema/createManageResolvers.js +10 -0
  86. package/graphql/schema/createManageResolvers.js.map +1 -1
  87. package/graphql/schema/createManageSDL.js +18 -3
  88. package/graphql/schema/createManageSDL.js.map +1 -1
  89. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  90. package/graphql/schema/createReadResolvers.js.map +1 -1
  91. package/graphql/schema/createReadSDL.js +1 -0
  92. package/graphql/schema/createReadSDL.js.map +1 -1
  93. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  94. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  95. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  96. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  97. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  98. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  99. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  100. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  101. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  102. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  103. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  104. package/graphql/schema/resolvers/manage/resolveMove.js +25 -0
  105. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  106. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  107. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  108. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  109. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  110. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  111. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  112. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  113. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  114. package/graphql/schema/schemaPlugins.js.map +1 -1
  115. package/graphql/system.d.ts +2 -5
  116. package/graphql/system.js +1 -11
  117. package/graphql/system.js.map +1 -1
  118. package/graphqlFields/boolean.js.map +1 -1
  119. package/graphqlFields/datetime.js.map +1 -1
  120. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  121. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
  122. package/graphqlFields/dynamicZone/index.js.map +1 -1
  123. package/graphqlFields/file.js.map +1 -1
  124. package/graphqlFields/helpers.js.map +1 -1
  125. package/graphqlFields/index.js.map +1 -1
  126. package/graphqlFields/longText.js.map +1 -1
  127. package/graphqlFields/number.js +1 -0
  128. package/graphqlFields/number.js.map +1 -1
  129. package/graphqlFields/object.js +3 -3
  130. package/graphqlFields/object.js.map +1 -1
  131. package/graphqlFields/ref.js.map +1 -1
  132. package/graphqlFields/richText.js.map +1 -1
  133. package/graphqlFields/text.js +2 -0
  134. package/graphqlFields/text.js.map +1 -1
  135. package/index.d.ts +1 -1
  136. package/index.js.map +1 -1
  137. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  138. package/modelManager/index.js.map +1 -1
  139. package/package.json +25 -29
  140. package/parameters/context.js.map +1 -1
  141. package/parameters/header.js +3 -3
  142. package/parameters/header.js.map +1 -1
  143. package/parameters/index.js.map +1 -1
  144. package/parameters/manual.js.map +1 -1
  145. package/parameters/path.js.map +1 -1
  146. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -1
  147. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  148. package/plugins/CmsGroupPlugin.js.map +1 -1
  149. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  150. package/plugins/CmsModelPlugin.js.map +1 -1
  151. package/plugins/CmsParametersPlugin.js +4 -0
  152. package/plugins/CmsParametersPlugin.js.map +1 -1
  153. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
  154. package/plugins/StorageTransformPlugin.js.map +1 -1
  155. package/plugins/index.js.map +1 -1
  156. package/storage/default.js.map +1 -1
  157. package/storage/object.js.map +1 -1
  158. package/types.d.ts +68 -5
  159. package/types.js +7 -4
  160. package/types.js.map +1 -1
  161. package/utils/converters/Converter.js.map +1 -1
  162. package/utils/converters/ConverterCollection.js.map +1 -1
  163. package/utils/converters/valueKeyStorageConverter.js +5 -0
  164. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  165. package/utils/createTypeFromFields.js +1 -1
  166. package/utils/createTypeFromFields.js.map +1 -1
  167. package/utils/createTypeName.js.map +1 -1
  168. package/utils/entryStorage.js.map +1 -1
  169. package/utils/filterAsync.js.map +1 -1
  170. package/utils/getBaseFieldType.js.map +1 -1
  171. package/utils/getEntryDescription.js.map +1 -1
  172. package/utils/getEntryImage.js.map +1 -1
  173. package/utils/getEntryTitle.js.map +1 -1
  174. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  175. package/utils/incrementEntryIdVersion.js.map +1 -1
  176. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  177. package/utils/permissions/EntriesPermissions.js +9 -0
  178. package/utils/permissions/EntriesPermissions.js.map +1 -0
  179. package/utils/permissions/ModelGroupsPermissions.d.ts +11 -0
  180. package/utils/permissions/ModelGroupsPermissions.js +48 -0
  181. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  182. package/utils/permissions/ModelsPermissions.d.ts +20 -0
  183. package/utils/permissions/ModelsPermissions.js +91 -0
  184. package/utils/permissions/ModelsPermissions.js.map +1 -0
  185. package/utils/permissions/SettingsPermissions.d.ts +4 -0
  186. package/utils/permissions/SettingsPermissions.js +9 -0
  187. package/utils/permissions/SettingsPermissions.js.map +1 -0
  188. package/utils/renderFields.js.map +1 -1
  189. package/utils/renderGetFilterFields.js.map +1 -1
  190. package/utils/renderInputFields.js.map +1 -1
  191. package/utils/renderListFilterFields.d.ts +1 -0
  192. package/utils/renderListFilterFields.js +12 -6
  193. package/utils/renderListFilterFields.js.map +1 -1
  194. package/utils/renderSortEnum.d.ts +1 -1
  195. package/utils/renderSortEnum.js +3 -0
  196. package/utils/renderSortEnum.js.map +1 -1
  197. package/utils/toSlug.js.map +1 -1
  198. package/validators/dateGte.js.map +1 -1
  199. package/validators/dateLte.js.map +1 -1
  200. package/validators/dynamicZone.js.map +1 -1
  201. package/validators/gte.js.map +1 -1
  202. package/validators/in.js.map +1 -1
  203. package/validators/index.js.map +1 -1
  204. package/validators/lte.js.map +1 -1
  205. package/validators/maxLength.js.map +1 -1
  206. package/validators/minLength.js.map +1 -1
  207. package/validators/pattern.js.map +1 -1
  208. package/validators/patternPlugins/email.js.map +1 -1
  209. package/validators/patternPlugins/index.js.map +1 -1
  210. package/validators/patternPlugins/lowerCase.js.map +1 -1
  211. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  212. package/validators/patternPlugins/upperCase.js.map +1 -1
  213. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  214. package/validators/patternPlugins/url.js.map +1 -1
  215. package/validators/required.js.map +1 -1
  216. package/validators/timeGte.js.map +1 -1
  217. package/validators/timeLte.js.map +1 -1
  218. package/validators/unique.js.map +1 -1
  219. package/utils/access.d.ts +0 -8
  220. package/utils/access.js +0 -76
  221. package/utils/access.js.map +0 -1
  222. package/utils/ownership.d.ts +0 -8
  223. package/utils/ownership.js +0 -33
  224. package/utils/ownership.js.map +0 -1
  225. package/utils/permissions.d.ts +0 -7
  226. package/utils/permissions.js +0 -91
  227. package/utils/permissions.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","type","settings","createListFilters","fieldId","createDateTimeField","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","def","attachRequiredFieldValue","createInputField","createGraphQLInputField"],"sources":["datetime.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { attachRequiredFieldValue, createGraphQLInputField } from \"./helpers\";\n\nconst fieldGraphQLTypes = {\n time: \"Time\",\n dateTimeWithoutTimezone: \"DateTime\",\n dateTimeWithTimezone: \"DateTimeZ\",\n date: \"Date\"\n};\n\ntype FieldGraphQLKeys = keyof typeof fieldGraphQLTypes;\n\nconst getFieldGraphQLType = (field: CmsModelField): string => {\n const type = field.settings?.type as FieldGraphQLKeys | undefined;\n if (!type || !fieldGraphQLTypes[type]) {\n return fieldGraphQLTypes.dateTimeWithoutTimezone;\n }\n return fieldGraphQLTypes[type];\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: ${getFieldGraphQLType(field)}\n ${field.fieldId}_not: ${getFieldGraphQLType(field)}\n ${field.fieldId}_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_not_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_lt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_lte: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gte: ${getFieldGraphQLType(field)}\n `;\n};\n\nexport const createDateTimeField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-datetime\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"datetime\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n const def = attachRequiredFieldValue(getFieldGraphQLType(field), field);\n return `${field.fieldId}: [${def}]`;\n }\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, getFieldGraphQLType(field));\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAEA,MAAMA,iBAAiB,GAAG;EACtBC,IAAI,EAAE,MAAM;EACZC,uBAAuB,EAAE,UAAU;EACnCC,oBAAoB,EAAE,WAAW;EACjCC,IAAI,EAAE;AACV,CAAC;AAID,MAAMC,mBAAmB,GAAIC,KAAoB,IAAa;EAAA;EAC1D,MAAMC,IAAI,sBAAGD,KAAK,CAACE,QAAQ,oDAAd,gBAAgBD,IAAoC;EACjE,IAAI,CAACA,IAAI,IAAI,CAACP,iBAAiB,CAACO,IAAI,CAAC,EAAE;IACnC,OAAOP,iBAAiB,CAACE,uBAAuB;EACpD;EACA,OAAOF,iBAAiB,CAACO,IAAI,CAAC;AAClC,CAAC;AAKD,MAAME,iBAAiB,GAAG,CAAC;EAAEH;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE;AACvD,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,aAAYL,mBAAmB,CAACC,KAAK,CAAE;AAC/D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,KAAK;AACL,CAAC;AAEM,MAAMK,mBAAmB,GAAG,MAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,qCAAqC;IAC3CL,IAAI,EAAE,4BAA4B;IAClCM,SAAS,EAAE,UAAU;IACrBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,IAAI,EAAE;MACFP,iBAAiB;MACjBQ,gBAAgB,CAAC;QAAEX;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDY,eAAe,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,OAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAK,CAAE,GAAE;QAC9D;QAEA,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D;IACJ,CAAC;IACDc,MAAM,EAAE;MACJX,iBAAiB;MACjBS,eAAe,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,MAAME,GAAG,GAAG,IAAAC,iCAAwB,EAACjB,mBAAmB,CAACC,KAAK,CAAC,EAAEA,KAAK,CAAC;UACvE,OAAQ,GAAEA,KAAK,CAACI,OAAQ,MAAKW,GAAI,GAAE;QACvC;QACA,OAAQ,GAAEf,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDiB,gBAAgB,CAAC;QAAEjB;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAkB,gCAAuB,EAAClB,KAAK,EAAED,mBAAmB,CAACC,KAAK,CAAC,CAAC;MACrE;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_helpers","require","fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","_field$settings","type","settings","createListFilters","fieldId","createDateTimeField","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","def","attachRequiredFieldValue","createInputField","createGraphQLInputField","exports"],"sources":["datetime.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { attachRequiredFieldValue, createGraphQLInputField } from \"./helpers\";\n\nconst fieldGraphQLTypes = {\n time: \"Time\",\n dateTimeWithoutTimezone: \"DateTime\",\n dateTimeWithTimezone: \"DateTimeZ\",\n date: \"Date\"\n};\n\ntype FieldGraphQLKeys = keyof typeof fieldGraphQLTypes;\n\nconst getFieldGraphQLType = (field: CmsModelField): string => {\n const type = field.settings?.type as FieldGraphQLKeys | undefined;\n if (!type || !fieldGraphQLTypes[type]) {\n return fieldGraphQLTypes.dateTimeWithoutTimezone;\n }\n return fieldGraphQLTypes[type];\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: ${getFieldGraphQLType(field)}\n ${field.fieldId}_not: ${getFieldGraphQLType(field)}\n ${field.fieldId}_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_not_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_lt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_lte: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gte: ${getFieldGraphQLType(field)}\n `;\n};\n\nexport const createDateTimeField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-datetime\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"datetime\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n const def = attachRequiredFieldValue(getFieldGraphQLType(field), field);\n return `${field.fieldId}: [${def}]`;\n }\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, getFieldGraphQLType(field));\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,iBAAiB,GAAG;EACtBC,IAAI,EAAE,MAAM;EACZC,uBAAuB,EAAE,UAAU;EACnCC,oBAAoB,EAAE,WAAW;EACjCC,IAAI,EAAE;AACV,CAAC;AAID,MAAMC,mBAAmB,GAAIC,KAAoB,IAAa;EAAA,IAAAC,eAAA;EAC1D,MAAMC,IAAI,IAAAD,eAAA,GAAGD,KAAK,CAACG,QAAQ,cAAAF,eAAA,uBAAdA,eAAA,CAAgBC,IAAoC;EACjE,IAAI,CAACA,IAAI,IAAI,CAACR,iBAAiB,CAACQ,IAAI,CAAC,EAAE;IACnC,OAAOR,iBAAiB,CAACE,uBAAuB;EACpD;EACA,OAAOF,iBAAiB,CAACQ,IAAI,CAAC;AAClC,CAAC;AAKD,MAAME,iBAAiB,GAAGA,CAAC;EAAEJ;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACK,OAAQ,KAAIN,mBAAmB,CAACC,KAAK,CAAE;AACvD,UAAUA,KAAK,CAACK,OAAQ,SAAQN,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACK,OAAQ,SAAQN,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACK,OAAQ,aAAYN,mBAAmB,CAACC,KAAK,CAAE;AAC/D,UAAUA,KAAK,CAACK,OAAQ,QAAON,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACK,OAAQ,SAAQN,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACK,OAAQ,QAAON,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACK,OAAQ,SAAQN,mBAAmB,CAACC,KAAK,CAAE;AAC3D,KAAK;AACL,CAAC;AAEM,MAAMM,mBAAmB,GAAGA,CAAA,KAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,qCAAqC;IAC3CL,IAAI,EAAE,4BAA4B;IAClCM,SAAS,EAAE,UAAU;IACrBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,IAAI,EAAE;MACFP,iBAAiB;MACjBQ,gBAAgBA,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACK,OAAQ,KAAIN,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDa,eAAeA,CAAC;QAAEb;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACc,cAAc,EAAE;UACtB,OAAQ,GAAEd,KAAK,CAACK,OAAQ,MAAKN,mBAAmB,CAACC,KAAK,CAAE,GAAE;QAC9D;QAEA,OAAQ,GAAEA,KAAK,CAACK,OAAQ,KAAIN,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D;IACJ,CAAC;IACDe,MAAM,EAAE;MACJX,iBAAiB;MACjBS,eAAeA,CAAC;QAAEb;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACc,cAAc,EAAE;UACtB,MAAME,GAAG,GAAG,IAAAC,iCAAwB,EAAClB,mBAAmB,CAACC,KAAK,CAAC,EAAEA,KAAK,CAAC;UACvE,OAAQ,GAAEA,KAAK,CAACK,OAAQ,MAAKW,GAAI,GAAE;QACvC;QACA,OAAQ,GAAEhB,KAAK,CAACK,OAAQ,KAAIN,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDkB,gBAAgBA,CAAC;QAAElB;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAmB,gCAAuB,EAACnB,KAAK,EAAED,mBAAmB,CAACC,KAAK,CAAC,CAAC;MACrE;IACJ;EACJ,CAAC;AACL,CAAC;AAACoB,OAAA,CAAAd,mBAAA,GAAAA,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["createUnionTypeName","model","field","singularApiName","createTypeName","fieldId","getFieldTemplates","Array","isArray","settings","templates","createTypeDefsForTemplates","models","type","typeOfType","fieldTypePlugins","typeDefs","templateTypes","forEach","template","typeName","gqlTypeName","join","result","createTypeFromFields","typeNamePrefix","fields","push","fieldType","remapTemplateValue","value","templateType","Object","keys","__typename","createResolver","endpointType","createFieldResolvers","resolver","parent","multipleValues","map","v","typeResolvers","reduce","index","graphQLType","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 ApiEndpoint,\n CmsDynamicZoneTemplate,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelDynamicZoneField,\n CmsModelField,\n CmsModelFieldToGraphQLCreateResolver,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { createTypeName } from \"~/utils/createTypeName\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\nimport { createGraphQLInputField } from \"../helpers\";\nimport { GraphQLFieldResolver } from \"@webiny/handler-graphql/types\";\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(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 models: CmsModel[];\n model: CmsModel;\n field: CmsModelField;\n type: ApiEndpoint;\n typeOfType: \"type\" | \"input\";\n templates: CmsDynamicZoneTemplate[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst createTypeDefsForTemplates = ({\n models,\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 model.singularApiName,\n createTypeName(field.fieldId),\n template.gqlTypeName\n ].join(\"_\");\n\n const result = createTypeFromFields({\n models,\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 = (\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver<CmsModelDynamicZoneField> => {\n return ({ model, models, field, fieldTypePlugins, createFieldResolvers }) => {\n const resolver = (parent: any) => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${model.singularApiName}_${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 const templates = getFieldTemplates(field);\n\n const { templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: endpointType,\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeResolvers = templateTypes.reduce<\n Record<string, Record<string, GraphQLFieldResolver>>\n >((typeResolvers, templateType, index) => {\n return {\n ...typeResolvers,\n ...createFieldResolvers({\n graphQLType: templateType,\n fields: field.settings.templates[index].fields\n })\n };\n }, {});\n\n return {\n resolver,\n typeResolvers\n };\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({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\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: createResolver(\"read\")\n },\n manage: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\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({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"input\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\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: createResolver(\"manage\")\n }\n };\n };\n"],"mappings":";;;;;;;;AAUA;AACA;AACA;AAGA,MAAMA,mBAAmB,GAAG,CAACC,KAAe,EAAEC,KAAoB,KAAK;EACnE,OAAQ,GAAED,KAAK,CAACE,eAAgB,IAAG,IAAAC,8BAAc,EAACF,KAAK,CAACG,OAAO,CAAE,EAAC;AACtE,CAAC;AAED,MAAMC,iBAAiB,GAAIJ,KAA+B,IAA+B;EAAA;EACrF,IAAI,CAACK,KAAK,CAACC,OAAO,oBAACN,KAAK,CAACO,QAAQ,oDAAd,gBAAgBC,SAAS,CAAC,EAAE;IAC3C,OAAO,EAAE;EACb;EACA,OAAOR,KAAK,CAACO,QAAQ,CAACC,SAAS;AACnC,CAAC;AAYD,MAAMC,0BAA0B,GAAG,CAAC;EAChCC,MAAM;EACNX,KAAK;EACLC,KAAK;EACLW,IAAI;EACJH,SAAS;EACTI,UAAU;EACVC;AAC8B,CAAC,KAAK;EACpC,MAAMC,QAAkB,GAAG,EAAE;EAC7B,MAAMC,aAAuB,GAAG,EAAE;EAElCP,SAAS,CAACQ,OAAO,CAACC,QAAQ,IAAI;IAC1B,MAAMC,QAAQ,GAAG,CACbnB,KAAK,CAACE,eAAe,EACrB,IAAAC,8BAAc,EAACF,KAAK,CAACG,OAAO,CAAC,EAC7Bc,QAAQ,CAACE,WAAW,CACvB,CAACC,IAAI,CAAC,GAAG,CAAC;IAEX,MAAMC,MAAM,GAAG,IAAAC,0CAAoB,EAAC;MAChCZ,MAAM;MACNE,UAAU;MACVb,KAAK;MACLY,IAAI;MACJY,cAAc,EAAEL,QAAQ;MACxBM,MAAM,EAAEP,QAAQ,CAACO,MAAM;MACvBX;IACJ,CAAC,CAAC;IAEF,IAAI,CAACQ,MAAM,EAAE;MACT;IACJ;IAEAP,QAAQ,CAACW,IAAI,CAACJ,MAAM,CAACP,QAAQ,CAAC;IAC9BC,aAAa,CAACU,IAAI,CAACJ,MAAM,CAACK,SAAS,CAAC;EACxC,CAAC,CAAC;EAEF,OAAO;IAAEZ,QAAQ;IAAEC;EAAc,CAAC;AACtC,CAAC;AAED,MAAMY,kBAAkB,GAAG,CAACC,KAAU,EAAEV,QAAgB,KAAK;EACzD,MAAMW,YAAY,GAAGC,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAAC,CAAC,CAAC;EAE1C,mEAAYA,KAAK,CAACC,YAAY,CAAC;IAAEG,UAAU,EAAG,GAAEd,QAAS,IAAGW,YAAa;EAAC;AAC9E,CAAC;AAED,MAAMI,cAAc,GAChBC,YAAyB,IACwC;EACjE,OAAO,CAAC;IAAEnC,KAAK;IAAEW,MAAM;IAAEV,KAAK;IAAEa,gBAAgB;IAAEsB;EAAqB,CAAC,KAAK;IACzE,MAAMC,QAAQ,GAAIC,MAAW,IAAK;MAC9B,MAAMT,KAAK,GAAGS,MAAM,CAACrC,KAAK,CAACG,OAAO,CAAC;MACnC,IAAI,CAACyB,KAAK,EAAE;QACR,OAAOA,KAAK;MAChB;MAEA,MAAMV,QAAQ,GAAI,GAAEnB,KAAK,CAACE,eAAgB,IAAG,IAAAC,8BAAc,EAACF,KAAK,CAACG,OAAO,CAAE,EAAC;MAE5E,IAAIH,KAAK,CAACsC,cAAc,IAAIjC,KAAK,CAACC,OAAO,CAACsB,KAAK,CAAC,EAAE;QAC9C,OAAOA,KAAK,CAACW,GAAG,CAACC,CAAC,IAAIb,kBAAkB,CAACa,CAAC,EAAEtB,QAAQ,CAAC,CAAC;MAC1D;MAEA,OAAOS,kBAAkB,CAACC,KAAK,EAAEV,QAAQ,CAAC;IAC9C,CAAC;IAED,MAAMV,SAAS,GAAGJ,iBAAiB,CAACJ,KAAK,CAAC;IAE1C,MAAM;MAAEe;IAAc,CAAC,GAAGN,0BAA0B,CAAC;MACjDC,MAAM;MACNV,KAAK;MACLW,IAAI,EAAEuB,YAAY;MAClBtB,UAAU,EAAE,MAAM;MAClBb,KAAK;MACLc,gBAAgB;MAChBL;IACJ,CAAC,CAAC;IAEF,MAAMiC,aAAa,GAAG1B,aAAa,CAAC2B,MAAM,CAExC,CAACD,aAAa,EAAEZ,YAAY,EAAEc,KAAK,KAAK;MACtC,mEACOF,aAAa,GACbN,oBAAoB,CAAC;QACpBS,WAAW,EAAEf,YAAY;QACzBL,MAAM,EAAExB,KAAK,CAACO,QAAQ,CAACC,SAAS,CAACmC,KAAK,CAAC,CAACnB;MAC5C,CAAC,CAAC;IAEV,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,OAAO;MACHY,QAAQ;MACRK;IACJ,CAAC;EACL,CAAC;AACL,CAAC;AAEM,MAAMI,sBAAsB,GAC/B,MAA8D;EAC1D,OAAO;IACHC,IAAI,EAAE,yCAAyC;IAC/CnC,IAAI,EAAE,4BAA4B;IAClCe,SAAS,EAAE,aAAa;IACxBqB,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,mBAAmB,EAAEC,MAAM,IAAI;MAC3B,MAAM;QAAEC,QAAQ;QAAEC,aAAa;QAAEpD;MAAM,CAAC,GAAGkD,MAAM;MAEjD,MAAMG,yBAAyB,GAAIC,UAAkB,IAAK;QAAA;QACtD,IAAI,EAACF,aAAa,aAAbA,aAAa,wCAAbA,aAAa,CAAE7C,QAAQ,kDAAvB,sBAAyBC,SAAS,GAAE;UACrC,OAAO,EAAE;QACb;QACA,MAAMS,QAAQ,GAAGmC,aAAa,CAAC7C,QAAQ,CAACC,SAAS,CAAC+C,IAAI,CAClDC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKH,UAAU,CAC3B;QACD,OAAO,CAAArC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEO,MAAM,KAAI,EAAE;MACjC,CAAC;MAED,KAAK,MAAMP,QAAQ,IAAIjB,KAAK,CAACO,QAAQ,CAACC,SAAS,EAAE;QAC7C2C,QAAQ,CAAC;UACL3B,MAAM,EAAEP,QAAQ,CAACO,MAAM;UACvBkC,cAAc,EAAEL,yBAAyB,CAACpC,QAAQ,CAACwC,EAAE;QACzD,CAAC,CAAC;MACN;IACJ,CAAC;IACDE,IAAI,EAAE;MACFC,eAAe,CAAC;QAAElD,MAAM;QAAEX,KAAK;QAAEC,KAAK;QAAEa;MAAiB,CAAC,EAAE;QACxD,MAAML,SAAS,GAAGJ,iBAAiB,CAACJ,KAAK,CAAC;QAC1C,MAAM6D,aAAa,GAAG/D,mBAAmB,CAACC,KAAK,EAAEC,KAAK,CAAC;QAEvD,MAAM;UAAEc,QAAQ;UAAEC;QAAc,CAAC,GAAGN,0BAA0B,CAAC;UAC3DC,MAAM;UACNV,KAAK;UACLW,IAAI,EAAE,MAAM;UACZC,UAAU,EAAE,MAAM;UAClBb,KAAK;UACLc,gBAAgB;UAChBL;QACJ,CAAC,CAAC;QAEFM,QAAQ,CAACgD,OAAO,CAAE,SAAQD,aAAc,MAAK9C,aAAa,CAACK,IAAI,CAAC,KAAK,CAAE,EAAC,CAAC;QAEzE,OAAO;UACHI,MAAM,EAAG,GAAExB,KAAK,CAACG,OAAQ,KACrBH,KAAK,CAACsC,cAAc,GAAI,IAAGuB,aAAc,IAAG,GAAGA,aAClD,EAAC;UACF/C,QAAQ,EAAEA,QAAQ,CAACM,IAAI,CAAC,IAAI;QAChC,CAAC;MACL,CAAC;MACDa,cAAc,EAAEA,cAAc,CAAC,MAAM;IACzC,CAAC;IACD8B,MAAM,EAAE;MACJH,eAAe,CAAC;QAAElD,MAAM;QAAEX,KAAK;QAAEC,KAAK;QAAEa;MAAiB,CAAC,EAAE;QACxD,MAAML,SAAS,GAAGJ,iBAAiB,CAACJ,KAAK,CAAC;QAC1C,MAAM6D,aAAa,GAAG/D,mBAAmB,CAACC,KAAK,EAAEC,KAAK,CAAC;QAEvD,MAAM;UAAEc,QAAQ;UAAEC;QAAc,CAAC,GAAGN,0BAA0B,CAAC;UAC3DC,MAAM;UACNV,KAAK;UACLW,IAAI,EAAE,QAAQ;UACdC,UAAU,EAAE,MAAM;UAClBb,KAAK;UACLc,gBAAgB;UAChBL;QACJ,CAAC,CAAC;;QAEF;QACA,MAAMwD,WAAW,GAAGjD,aAAa,CAACwB,GAAG,CAAC5B,IAAI,IAAI;UAC1C,OAAQ,eAAcA,IAAK;AACnD;AACA;AACA,yBAAyB;QACL,CAAC,CAAC;QAEFG,QAAQ,CAACgD,OAAO,CAAE,SAAQD,aAAc,MAAK9C,aAAa,CAACK,IAAI,CAAC,KAAK,CAAE,EAAC,CAAC;QAEzE,OAAO;UACHI,MAAM,EAAG,GAAExB,KAAK,CAACG,OAAQ,KACrBH,KAAK,CAACsC,cAAc,GAAI,IAAGuB,aAAc,IAAG,GAAGA,aAClD,EAAC;UACF/C,QAAQ,EAAEA,QAAQ,CAACmD,MAAM,CAACD,WAAW,CAAC,CAAC5C,IAAI,CAAC,IAAI;QACpD,CAAC;MACL,CAAC;MACD8C,gBAAgB,CAAC;QAAExD,MAAM;QAAEX,KAAK;QAAEC,KAAK;QAAEa;MAAiB,CAAC,EAAE;QACzD,MAAML,SAAS,GAAGJ,iBAAiB,CAACJ,KAAK,CAAC;QAE1C,MAAM;UAAEc,QAAQ;UAAEC;QAAc,CAAC,GAAGN,0BAA0B,CAAC;UAC3DC,MAAM;UACNV,KAAK;UACLW,IAAI,EAAE,QAAQ;UACdC,UAAU,EAAE,OAAO;UACnBb,KAAK;UACLc,gBAAgB;UAChBL;QACJ,CAAC,CAAC;QAEF,MAAMU,QAAQ,GAAI,GAAEnB,KAAK,CAACE,eAAgB,IAAG,IAAAC,8BAAc,EAACF,KAAK,CAACG,OAAO,CAAE,EAAC;QAE5E,MAAMgE,eAAe,GAAGpD,aAAa,CAACwB,GAAG,CAAC6B,aAAa,IAAI;UACvD,MAAMC,GAAG,GAAGD,aAAa,CAACE,OAAO,CAAE,GAAEpD,QAAS,GAAE,EAAE,EAAE,CAAC,CAACoD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;UAC1E,OAAO,CAACD,GAAG,EAAED,aAAa,CAAC;QAC/B,CAAC,CAAC;;QAEF;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;QACoBtD,QAAQ,CAACW,IAAI,CAAE,SAAQP,QAAS;AACpD,0BAA0BiD,eAAe,CAAC5B,GAAG,CACjB,CAAC,CAAC8B,GAAG,EAAEzC,KAAK,CAAC,KAAM;AAC/C,8BAA8ByC,GAAI,KAAIzC,KAAM;AAC5C,yBAAyB,CACC;AAC1B,sBAAsB,CAAC;QAEH,OAAO;UACHJ,MAAM,EAAE,IAAA+C,gCAAuB,EAACvE,KAAK,EAAG,GAAEkB,QAAS,OAAM,CAAC;UAC1DJ,QAAQ,EAAEA,QAAQ,CAACM,IAAI,CAAC,IAAI;QAChC,CAAC;MACL,CAAC;MACDa,cAAc,EAAEA,cAAc,CAAC,QAAQ;IAC3C;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_createTypeName","require","_createTypeFromFields","_helpers","createUnionTypeName","model","field","singularApiName","createTypeName","fieldId","getFieldTemplates","_field$settings","Array","isArray","settings","templates","createTypeDefsForTemplates","models","type","typeOfType","fieldTypePlugins","typeDefs","templateTypes","forEach","template","typeName","gqlTypeName","join","result","createTypeFromFields","typeNamePrefix","fields","push","fieldType","remapTemplateValue","value","templateType","Object","keys","_objectSpread2","default","__typename","createResolver","endpointType","createFieldResolvers","resolver","parent","multipleValues","map","v","typeResolvers","reduce","index","graphQLType","createDynamicZoneField","name","isSortable","isSearchable","validateChildFields","params","validate","originalField","getOriginalTemplateFields","templateId","_originalField$settin","find","t","id","originalFields","read","createTypeField","unionTypeName","unshift","manage","templateIds","concat","createInputField","inputProperties","inputTypeName","key","replace","createGraphQLInputField","exports"],"sources":["dynamicZoneField.ts"],"sourcesContent":["import {\n ApiEndpoint,\n CmsDynamicZoneTemplate,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelDynamicZoneField,\n CmsModelField,\n CmsModelFieldToGraphQLCreateResolver,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { createTypeName } from \"~/utils/createTypeName\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\nimport { createGraphQLInputField } from \"../helpers\";\nimport { GraphQLFieldResolver } from \"@webiny/handler-graphql/types\";\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(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 models: CmsModel[];\n model: CmsModel;\n field: CmsModelField;\n type: ApiEndpoint;\n typeOfType: \"type\" | \"input\";\n templates: CmsDynamicZoneTemplate[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst createTypeDefsForTemplates = ({\n models,\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 model.singularApiName,\n createTypeName(field.fieldId),\n template.gqlTypeName\n ].join(\"_\");\n\n const result = createTypeFromFields({\n models,\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 = (\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver<CmsModelDynamicZoneField> => {\n return ({ model, models, field, fieldTypePlugins, createFieldResolvers }) => {\n const resolver = (parent: any) => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${model.singularApiName}_${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 const templates = getFieldTemplates(field);\n\n const { templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: endpointType,\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeResolvers = templateTypes.reduce<\n Record<string, Record<string, GraphQLFieldResolver>>\n >((typeResolvers, templateType, index) => {\n return {\n ...typeResolvers,\n ...createFieldResolvers({\n graphQLType: templateType,\n fields: field.settings.templates[index].fields\n })\n };\n }, {});\n\n return {\n resolver,\n typeResolvers\n };\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({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\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: createResolver(\"read\")\n },\n manage: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\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({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"input\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\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: createResolver(\"manage\")\n }\n };\n };\n"],"mappings":"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"}
@@ -1 +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,KAAU,EAAEC,SAAmC,KAAK;EAC1E;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC;EACvC,MAAMK,QAAQ,GAAGJ,SAAS,CAACK,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,WAAW,KAAKN,SAAS,CAAC;EACrE,IAAI,CAACG,QAAQ,EAAE;IACX,OAAOI,SAAS;EACpB;EAEA,mEAAYT,KAAK,CAACE,SAAS,CAAC;IAAEQ,WAAW,EAAEL,QAAQ,CAACM;EAAE;AAC1D,CAAC;AAOD,MAAMC,kBAAkB,GAAG,CACvBZ,KAA+B,EAC/BC,SAAmC,KAClC;EACD,MAAMI,QAAQ,GAAGJ,SAAS,CAACK,IAAI,CAACC,GAAG,IAAIP,KAAK,CAACU,WAAW,KAAKH,GAAG,CAACI,EAAE,CAAC;EACpE,IAAI,CAACN,QAAQ,EAAE;IACX,OAAOI,SAAS;EACpB;;EAEA;EACA,OAAO;IAAE,CAACJ,QAAQ,CAACG,WAAW,GAAGR;EAAM,CAAC;AAC5C,CAAC;AAEM,MAAMa,iCAAiC,GAAG,MAAM;EACnD,OAAO,IAAIC,+BAAsB,CAAqC;IAClEC,SAAS,EAAE,aAAa;IACxBC,WAAW,EAAE,OAAO;MAAEhB,KAAK;MAAEiB;IAAM,CAAC,KAAK;MACrC,IAAI,CAACjB,KAAK,EAAE;QACR,OAAO,IAAI;MACf;MAEA,MAAMC,SAAS,GAAGgB,KAAK,CAACC,QAAQ,CAACjB,SAAS;MAE1C,IAAIkB,KAAK,CAACC,OAAO,CAACpB,KAAK,CAAC,IAAIiB,KAAK,CAACI,cAAc,EAAE;QAC9C,OAAOrB,KAAK,CAACsB,GAAG,CAACtB,KAAK,IAAIY,kBAAkB,CAACZ,KAAK,EAAEC,SAAS,CAAC,CAAC,CAACsB,MAAM,CAACC,OAAO,CAAC;MACnF;MAEA,OAAOZ,kBAAkB,CAACZ,KAAK,EAAEC,SAAS,CAAC;IAC/C,CAAC;IACDwB,SAAS,EAAE,OAAO;MAAEzB,KAAK;MAAEiB;IAAM,CAAC,KAAK;MACnC,IAAI,CAACjB,KAAK,EAAE;QACR,OAAOA,KAAK;MAChB;MAEA,MAAMC,SAAS,GAAGgB,KAAK,CAACC,QAAQ,CAACjB,SAAS;MAE1C,IAAIkB,KAAK,CAACC,OAAO,CAACpB,KAAK,CAAC,IAAIiB,KAAK,CAACI,cAAc,EAAE;QAC9C,OAAOrB,KAAK,CAACsB,GAAG,CAACtB,KAAK,IAAID,gBAAgB,CAACC,KAAK,EAAEC,SAAS,CAAC,CAAC,CAACsB,MAAM,CAACC,OAAO,CAAC;MACjF;MAEA,OAAOzB,gBAAgB,CAACC,KAAK,EAAEC,SAAS,CAAC;IAC7C;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["_plugins","require","convertToStorage","value","templates","inputType","Object","keys","template","find","tpl","gqlTypeName","undefined","_objectSpread2","default","_templateId","id","convertFromStorage","createDynamicZoneStorageTransform","StorageTransformPlugin","fieldType","fromStorage","field","settings","Array","isArray","multipleValues","map","filter","Boolean","toStorage","exports"],"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,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,gBAAgB,GAAGA,CAACC,KAAU,EAAEC,SAAmC,KAAK;EAC1E;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC;EACvC,MAAMK,QAAQ,GAAGJ,SAAS,CAACK,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,WAAW,KAAKN,SAAS,CAAC;EACrE,IAAI,CAACG,QAAQ,EAAE;IACX,OAAOI,SAAS;EACpB;EAEA,WAAAC,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MAAYX,KAAK,CAACE,SAAS,CAAC;IAAEU,WAAW,EAAEP,QAAQ,CAACQ;EAAE;AAC1D,CAAC;AAOD,MAAMC,kBAAkB,GAAGA,CACvBd,KAA+B,EAC/BC,SAAmC,KAClC;EACD,MAAMI,QAAQ,GAAGJ,SAAS,CAACK,IAAI,CAACC,GAAG,IAAIP,KAAK,CAACY,WAAW,KAAKL,GAAG,CAACM,EAAE,CAAC;EACpE,IAAI,CAACR,QAAQ,EAAE;IACX,OAAOI,SAAS;EACpB;;EAEA;EACA,OAAO;IAAE,CAACJ,QAAQ,CAACG,WAAW,GAAGR;EAAM,CAAC;AAC5C,CAAC;AAEM,MAAMe,iCAAiC,GAAGA,CAAA,KAAM;EACnD,OAAO,IAAIC,+BAAsB,CAAqC;IAClEC,SAAS,EAAE,aAAa;IACxBC,WAAW,EAAE,MAAAA,CAAO;MAAElB,KAAK;MAAEmB;IAAM,CAAC,KAAK;MACrC,IAAI,CAACnB,KAAK,EAAE;QACR,OAAO,IAAI;MACf;MAEA,MAAMC,SAAS,GAAGkB,KAAK,CAACC,QAAQ,CAACnB,SAAS;MAE1C,IAAIoB,KAAK,CAACC,OAAO,CAACtB,KAAK,CAAC,IAAImB,KAAK,CAACI,cAAc,EAAE;QAC9C,OAAOvB,KAAK,CAACwB,GAAG,CAACxB,KAAK,IAAIc,kBAAkB,CAACd,KAAK,EAAEC,SAAS,CAAC,CAAC,CAACwB,MAAM,CAACC,OAAO,CAAC;MACnF;MAEA,OAAOZ,kBAAkB,CAACd,KAAK,EAAEC,SAAS,CAAC;IAC/C,CAAC;IACD0B,SAAS,EAAE,MAAAA,CAAO;MAAE3B,KAAK;MAAEmB;IAAM,CAAC,KAAK;MACnC,IAAI,CAACnB,KAAK,EAAE;QACR,OAAOA,KAAK;MAChB;MAEA,MAAMC,SAAS,GAAGkB,KAAK,CAACC,QAAQ,CAACnB,SAAS;MAE1C,IAAIoB,KAAK,CAACC,OAAO,CAACtB,KAAK,CAAC,IAAImB,KAAK,CAACI,cAAc,EAAE;QAC9C,OAAOvB,KAAK,CAACwB,GAAG,CAACxB,KAAK,IAAID,gBAAgB,CAACC,KAAK,EAAEC,SAAS,CAAC,CAAC,CAACwB,MAAM,CAACC,OAAO,CAAC;MACjF;MAEA,OAAO3B,gBAAgB,CAACC,KAAK,EAAEC,SAAS,CAAC;IAC7C;EACJ,CAAC,CAAC;AACN,CAAC;AAAC2B,OAAA,CAAAb,iCAAA,GAAAA,iCAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { createDynamicZoneField } from \"./dynamicZoneField\";\nexport { createDynamicZoneStorageTransform } from \"./dynamicZoneStorage\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA"}
1
+ {"version":3,"names":["_dynamicZoneField","require","_dynamicZoneStorage"],"sources":["index.ts"],"sourcesContent":["export { createDynamicZoneField } from \"./dynamicZoneField\";\nexport { createDynamicZoneStorageTransform } from \"./dynamicZoneStorage\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["createFileField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","manage","createInputField","createGraphQLInputField"],"sources":["file.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createFileField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-file\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"file\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAEO,MAAMA,eAAe,GAAG,MAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,YAAW;QACvC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,UAAS;MACrC;IACJ,CAAC;IACDC,MAAM,EAAE;MACJJ,eAAe,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAOD,KAAK,CAACE,OAAO,GAAG,YAAY;QACvC;QACA,OAAOF,KAAK,CAACE,OAAO,GAAG,UAAU;MACrC,CAAC;MACDE,gBAAgB,CAAC;QAAEJ;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAK,gCAAuB,EAACL,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_helpers","require","createFileField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","manage","createInputField","createGraphQLInputField","exports"],"sources":["file.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createFileField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-file\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"file\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAAGA,CAAA,KAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,YAAW;QACvC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,UAAS;MACrC;IACJ,CAAC;IACDC,MAAM,EAAE;MACJJ,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAOD,KAAK,CAACE,OAAO,GAAG,YAAY;QACvC;QACA,OAAOF,KAAK,CAACE,OAAO,GAAG,UAAU;MACrC,CAAC;MACDE,gBAAgBA,CAAC;QAAEJ;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAK,gCAAuB,EAACL,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAACM,OAAA,CAAAd,eAAA,GAAAA,eAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["requiredValidationName","getIsRequired","validations","some","validation","name","attachRequiredFieldValue","def","field","length","isRequired","envVars","createGraphQLInputField","graphQlType","singleRequired","multipleValues","fieldId","multipleRequired","listValidation","itemRequired","v","process","env"],"sources":["helpers.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldValidation } from \"~/types\";\n\nconst requiredValidationName = \"required\";\n\nconst getIsRequired = (validations?: CmsModelFieldValidation[]): boolean => {\n return (validations || []).some(validation => {\n return validation.name === requiredValidationName;\n });\n};\n\nexport const attachRequiredFieldValue = (def: string, field: CmsModelField): string => {\n if (!field.validation || field.validation.length === 0) {\n return def;\n }\n const isRequired = field.validation.some(validation => {\n return validation.name === \"required\";\n });\n if (!isRequired) {\n return def;\n }\n return `${def}!`;\n};\n\nconst envVars: string[] = [\n \"HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM\",\n \"WEBINY_HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM\"\n];\n/**\n * Method creates single and multiple values fields.\n */\nexport const createGraphQLInputField = (field: CmsModelField, graphQlType: string): string => {\n const singleRequired = getIsRequired(field.validation) ? \"!\" : \"\";\n if (!field.multipleValues) {\n return `${field.fieldId}: ${graphQlType}${singleRequired}`;\n }\n const multipleRequired = getIsRequired(field.listValidation) ? \"!\" : \"\";\n\n const itemRequired = envVars.some(v => process.env[v] === \"false\") ? \"\" : singleRequired;\n\n return `${field.fieldId}: [${graphQlType}${itemRequired}]${multipleRequired}`;\n};\n"],"mappings":";;;;;;AAEA,MAAMA,sBAAsB,GAAG,UAAU;AAEzC,MAAMC,aAAa,GAAIC,WAAuC,IAAc;EACxE,OAAO,CAACA,WAAW,IAAI,EAAE,EAAEC,IAAI,CAACC,UAAU,IAAI;IAC1C,OAAOA,UAAU,CAACC,IAAI,KAAKL,sBAAsB;EACrD,CAAC,CAAC;AACN,CAAC;AAEM,MAAMM,wBAAwB,GAAG,CAACC,GAAW,EAAEC,KAAoB,KAAa;EACnF,IAAI,CAACA,KAAK,CAACJ,UAAU,IAAII,KAAK,CAACJ,UAAU,CAACK,MAAM,KAAK,CAAC,EAAE;IACpD,OAAOF,GAAG;EACd;EACA,MAAMG,UAAU,GAAGF,KAAK,CAACJ,UAAU,CAACD,IAAI,CAACC,UAAU,IAAI;IACnD,OAAOA,UAAU,CAACC,IAAI,KAAK,UAAU;EACzC,CAAC,CAAC;EACF,IAAI,CAACK,UAAU,EAAE;IACb,OAAOH,GAAG;EACd;EACA,OAAQ,GAAEA,GAAI,GAAE;AACpB,CAAC;AAAC;AAEF,MAAMI,OAAiB,GAAG,CACtB,+CAA+C,EAC/C,sDAAsD,CACzD;AACD;AACA;AACA;AACO,MAAMC,uBAAuB,GAAG,CAACJ,KAAoB,EAAEK,WAAmB,KAAa;EAC1F,MAAMC,cAAc,GAAGb,aAAa,CAACO,KAAK,CAACJ,UAAU,CAAC,GAAG,GAAG,GAAG,EAAE;EACjE,IAAI,CAACI,KAAK,CAACO,cAAc,EAAE;IACvB,OAAQ,GAAEP,KAAK,CAACQ,OAAQ,KAAIH,WAAY,GAAEC,cAAe,EAAC;EAC9D;EACA,MAAMG,gBAAgB,GAAGhB,aAAa,CAACO,KAAK,CAACU,cAAc,CAAC,GAAG,GAAG,GAAG,EAAE;EAEvE,MAAMC,YAAY,GAAGR,OAAO,CAACR,IAAI,CAACiB,CAAC,IAAIC,OAAO,CAACC,GAAG,CAACF,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAGN,cAAc;EAExF,OAAQ,GAAEN,KAAK,CAACQ,OAAQ,MAAKH,WAAY,GAAEM,YAAa,IAAGF,gBAAiB,EAAC;AACjF,CAAC;AAAC"}
1
+ {"version":3,"names":["requiredValidationName","getIsRequired","validations","some","validation","name","attachRequiredFieldValue","def","field","length","isRequired","exports","envVars","createGraphQLInputField","graphQlType","singleRequired","multipleValues","fieldId","multipleRequired","listValidation","itemRequired","v","process","env"],"sources":["helpers.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldValidation } from \"~/types\";\n\nconst requiredValidationName = \"required\";\n\nconst getIsRequired = (validations?: CmsModelFieldValidation[]): boolean => {\n return (validations || []).some(validation => {\n return validation.name === requiredValidationName;\n });\n};\n\nexport const attachRequiredFieldValue = (def: string, field: CmsModelField): string => {\n if (!field.validation || field.validation.length === 0) {\n return def;\n }\n const isRequired = field.validation.some(validation => {\n return validation.name === \"required\";\n });\n if (!isRequired) {\n return def;\n }\n return `${def}!`;\n};\n\nconst envVars: string[] = [\n \"HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM\",\n \"WEBINY_HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM\"\n];\n/**\n * Method creates single and multiple values fields.\n */\nexport const createGraphQLInputField = (field: CmsModelField, graphQlType: string): string => {\n const singleRequired = getIsRequired(field.validation) ? \"!\" : \"\";\n if (!field.multipleValues) {\n return `${field.fieldId}: ${graphQlType}${singleRequired}`;\n }\n const multipleRequired = getIsRequired(field.listValidation) ? \"!\" : \"\";\n\n const itemRequired = envVars.some(v => process.env[v] === \"false\") ? \"\" : singleRequired;\n\n return `${field.fieldId}: [${graphQlType}${itemRequired}]${multipleRequired}`;\n};\n"],"mappings":";;;;;;AAEA,MAAMA,sBAAsB,GAAG,UAAU;AAEzC,MAAMC,aAAa,GAAIC,WAAuC,IAAc;EACxE,OAAO,CAACA,WAAW,IAAI,EAAE,EAAEC,IAAI,CAACC,UAAU,IAAI;IAC1C,OAAOA,UAAU,CAACC,IAAI,KAAKL,sBAAsB;EACrD,CAAC,CAAC;AACN,CAAC;AAEM,MAAMM,wBAAwB,GAAGA,CAACC,GAAW,EAAEC,KAAoB,KAAa;EACnF,IAAI,CAACA,KAAK,CAACJ,UAAU,IAAII,KAAK,CAACJ,UAAU,CAACK,MAAM,KAAK,CAAC,EAAE;IACpD,OAAOF,GAAG;EACd;EACA,MAAMG,UAAU,GAAGF,KAAK,CAACJ,UAAU,CAACD,IAAI,CAACC,UAAU,IAAI;IACnD,OAAOA,UAAU,CAACC,IAAI,KAAK,UAAU;EACzC,CAAC,CAAC;EACF,IAAI,CAACK,UAAU,EAAE;IACb,OAAOH,GAAG;EACd;EACA,OAAQ,GAAEA,GAAI,GAAE;AACpB,CAAC;AAACI,OAAA,CAAAL,wBAAA,GAAAA,wBAAA;AAEF,MAAMM,OAAiB,GAAG,CACtB,+CAA+C,EAC/C,sDAAsD,CACzD;AACD;AACA;AACA;AACO,MAAMC,uBAAuB,GAAGA,CAACL,KAAoB,EAAEM,WAAmB,KAAa;EAC1F,MAAMC,cAAc,GAAGd,aAAa,CAACO,KAAK,CAACJ,UAAU,CAAC,GAAG,GAAG,GAAG,EAAE;EACjE,IAAI,CAACI,KAAK,CAACQ,cAAc,EAAE;IACvB,OAAQ,GAAER,KAAK,CAACS,OAAQ,KAAIH,WAAY,GAAEC,cAAe,EAAC;EAC9D;EACA,MAAMG,gBAAgB,GAAGjB,aAAa,CAACO,KAAK,CAACW,cAAc,CAAC,GAAG,GAAG,GAAG,EAAE;EAEvE,MAAMC,YAAY,GAAGR,OAAO,CAACT,IAAI,CAACkB,CAAC,IAAIC,OAAO,CAACC,GAAG,CAACF,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAGN,cAAc;EAExF,OAAQ,GAAEP,KAAK,CAACS,OAAQ,MAAKH,WAAY,GAAEM,YAAa,IAAGF,gBAAiB,EAAC;AACjF,CAAC;AAACP,OAAA,CAAAE,uBAAA,GAAAA,uBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["createGraphQLFields","createTextField","createRefField","createNumberField","createDateTimeField","createBooleanField","createLongTextField","createRichTextField","createFileField","createObjectField","createDynamicZoneField"],"sources":["index.ts"],"sourcesContent":["import { createTextField } from \"./text\";\nimport { createLongTextField } from \"./longText\";\nimport { createRefField } from \"./ref\";\nimport { createNumberField } from \"./number\";\nimport { createBooleanField } from \"./boolean\";\nimport { createDateTimeField } from \"./datetime\";\nimport { createRichTextField } from \"./richText\";\nimport { createFileField } from \"./file\";\nimport { createObjectField } from \"./object\";\nimport { createDynamicZoneField } from \"~/graphqlFields/dynamicZone\";\nimport { CmsModelFieldToGraphQLPlugin } from \"~/types\";\n\nexport const createGraphQLFields = (): CmsModelFieldToGraphQLPlugin<any>[] => [\n createTextField(),\n createRefField(),\n createNumberField(),\n createDateTimeField(),\n createBooleanField(),\n createLongTextField(),\n createRichTextField(),\n createFileField(),\n createObjectField(),\n createDynamicZoneField()\n];\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGO,MAAMA,mBAAmB,GAAG,MAA2C,CAC1E,IAAAC,qBAAe,GAAE,EACjB,IAAAC,mBAAc,GAAE,EAChB,IAAAC,yBAAiB,GAAE,EACnB,IAAAC,6BAAmB,GAAE,EACrB,IAAAC,2BAAkB,GAAE,EACpB,IAAAC,6BAAmB,GAAE,EACrB,IAAAC,6BAAmB,GAAE,EACrB,IAAAC,qBAAe,GAAE,EACjB,IAAAC,yBAAiB,GAAE,EACnB,IAAAC,mCAAsB,GAAE,CAC3B;AAAC"}
1
+ {"version":3,"names":["_text","require","_longText","_ref","_number","_boolean","_datetime","_richText","_file","_object","_dynamicZone","createGraphQLFields","createTextField","createRefField","createNumberField","createDateTimeField","createBooleanField","createLongTextField","createRichTextField","createFileField","createObjectField","createDynamicZoneField","exports"],"sources":["index.ts"],"sourcesContent":["import { createTextField } from \"./text\";\nimport { createLongTextField } from \"./longText\";\nimport { createRefField } from \"./ref\";\nimport { createNumberField } from \"./number\";\nimport { createBooleanField } from \"./boolean\";\nimport { createDateTimeField } from \"./datetime\";\nimport { createRichTextField } from \"./richText\";\nimport { createFileField } from \"./file\";\nimport { createObjectField } from \"./object\";\nimport { createDynamicZoneField } from \"~/graphqlFields/dynamicZone\";\nimport { CmsModelFieldToGraphQLPlugin } from \"~/types\";\n\nexport const createGraphQLFields = (): CmsModelFieldToGraphQLPlugin<any>[] => [\n createTextField(),\n createRefField(),\n createNumberField(),\n createDateTimeField(),\n createBooleanField(),\n createLongTextField(),\n createRichTextField(),\n createFileField(),\n createObjectField(),\n createDynamicZoneField()\n];\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AAGO,MAAMU,mBAAmB,GAAGA,CAAA,KAA2C,CAC1E,IAAAC,qBAAe,EAAC,CAAC,EACjB,IAAAC,mBAAc,EAAC,CAAC,EAChB,IAAAC,yBAAiB,EAAC,CAAC,EACnB,IAAAC,6BAAmB,EAAC,CAAC,EACrB,IAAAC,2BAAkB,EAAC,CAAC,EACpB,IAAAC,6BAAmB,EAAC,CAAC,EACrB,IAAAC,6BAAmB,EAAC,CAAC,EACrB,IAAAC,qBAAe,EAAC,CAAC,EACjB,IAAAC,yBAAiB,EAAC,CAAC,EACnB,IAAAC,mCAAsB,EAAC,CAAC,CAC3B;AAACC,OAAA,CAAAX,mBAAA,GAAAA,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["createListFilters","field","fieldId","createLongTextField","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField"],"sources":["longText.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nexport const createLongTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-long-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"long-text\",\n isSortable: false,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAAK;AACL,CAAC;AAEM,MAAMC,mBAAmB,GAAG,MAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,sCAAsC;IAC5CC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,WAAW;IACtBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE,IAAI;IACpBC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QAEA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDF;IACJ,CAAC;IACDa,MAAM,EAAE;MACJb,iBAAiB;MACjBW,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAOX,KAAK,CAACC,OAAO,GAAG,YAAY;QACvC;QAEA,OAAOD,KAAK,CAACC,OAAO,GAAG,UAAU;MACrC,CAAC;MACDY,gBAAgB,CAAC;QAAEb;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAc,gCAAuB,EAACd,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_helpers","require","createListFilters","field","fieldId","createLongTextField","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField","exports"],"sources":["longText.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nexport const createLongTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-long-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"long-text\",\n isSortable: false,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAKA,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAAK;AACL,CAAC;AAEM,MAAMC,mBAAmB,GAAGA,CAAA,KAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,sCAAsC;IAC5CC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,WAAW;IACtBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE,IAAI;IACpBC,IAAI,EAAE;MACFC,eAAeA,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QAEA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDF;IACJ,CAAC;IACDa,MAAM,EAAE;MACJb,iBAAiB;MACjBW,eAAeA,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAOX,KAAK,CAACC,OAAO,GAAG,YAAY;QACvC;QAEA,OAAOD,KAAK,CAACC,OAAO,GAAG,UAAU;MACrC,CAAC;MACDY,gBAAgBA,CAAC;QAAEb;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAc,gCAAuB,EAACd,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAACe,OAAA,CAAAb,mBAAA,GAAAA,mBAAA"}
@@ -30,6 +30,7 @@ const createNumberField = () => {
30
30
  fieldType: "number",
31
31
  isSortable: true,
32
32
  isSearchable: true,
33
+ fullTextSearch: false,
33
34
  read: {
34
35
  createGetFilters({
35
36
  field
@@ -1 +1 @@
1
- {"version":3,"names":["createListFilters","field","fieldId","createNumberField","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField"],"sources":["number.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Number\n ${field.fieldId}_not: Number\n ${field.fieldId}_in: [Number]\n ${field.fieldId}_not_in: [Number]\n ${field.fieldId}_lt: Number\n ${field.fieldId}_lte: Number\n ${field.fieldId}_gt: Number\n ${field.fieldId}_gte: Number\n # there must be two numbers sent in the array\n ${field.fieldId}_between: [Number!]\n # there must be two numbers sent in the array\n ${field.fieldId}_not_between: [Number!]\n `;\n};\n\nexport const createNumberField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-number\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"number\",\n isSortable: true,\n isSearchable: true,\n read: {\n createGetFilters({ field }) {\n return `${field.fieldId}: Number`;\n },\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [Number]`;\n }\n\n return `${field.fieldId}: Number`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [Number]\";\n }\n\n return field.fieldId + \": Number\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Number\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB;AACA,UAAUD,KAAK,CAACC,OAAQ;AACxB;AACA,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAAK;AACL,CAAC;AAEM,MAAMC,iBAAiB,GAAG,MAAoC;EACjE,OAAO;IACHC,IAAI,EAAE,mCAAmC;IACzCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,IAAI,EAAE;MACFC,gBAAgB,CAAC;QAAET;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDF,iBAAiB;MACjBW,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QAEA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC;IACJ,CAAC;IACDW,MAAM,EAAE;MACJb,iBAAiB;MACjBW,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAOX,KAAK,CAACC,OAAO,GAAG,YAAY;QACvC;QAEA,OAAOD,KAAK,CAACC,OAAO,GAAG,UAAU;MACrC,CAAC;MACDY,gBAAgB,CAAC;QAAEb;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAc,gCAAuB,EAACd,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_helpers","require","createListFilters","field","fieldId","createNumberField","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createGetFilters","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField","exports"],"sources":["number.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Number\n ${field.fieldId}_not: Number\n ${field.fieldId}_in: [Number]\n ${field.fieldId}_not_in: [Number]\n ${field.fieldId}_lt: Number\n ${field.fieldId}_lte: Number\n ${field.fieldId}_gt: Number\n ${field.fieldId}_gte: Number\n # there must be two numbers sent in the array\n ${field.fieldId}_between: [Number!]\n # there must be two numbers sent in the array\n ${field.fieldId}_not_between: [Number!]\n `;\n};\n\nexport const createNumberField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-number\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"number\",\n isSortable: true,\n isSearchable: true,\n fullTextSearch: false,\n read: {\n createGetFilters({ field }) {\n return `${field.fieldId}: Number`;\n },\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [Number]`;\n }\n\n return `${field.fieldId}: Number`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [Number]\";\n }\n\n return field.fieldId + \": Number\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Number\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAKA,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB;AACA,UAAUD,KAAK,CAACC,OAAQ;AACxB;AACA,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAAK;AACL,CAAC;AAEM,MAAMC,iBAAiB,GAAGA,CAAA,KAAoC;EACjE,OAAO;IACHC,IAAI,EAAE,mCAAmC;IACzCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE,KAAK;IACrBC,IAAI,EAAE;MACFC,gBAAgBA,CAAC;QAAEV;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDF,iBAAiB;MACjBY,eAAeA,CAAC;QAAEX;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACY,cAAc,EAAE;UACtB,OAAQ,GAAEZ,KAAK,CAACC,OAAQ,YAAW;QACvC;QAEA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC;IACJ,CAAC;IACDY,MAAM,EAAE;MACJd,iBAAiB;MACjBY,eAAeA,CAAC;QAAEX;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACY,cAAc,EAAE;UACtB,OAAOZ,KAAK,CAACC,OAAO,GAAG,YAAY;QACvC;QAEA,OAAOD,KAAK,CAACC,OAAO,GAAG,UAAU;MACrC,CAAC;MACDa,gBAAgBA,CAAC;QAAEd;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAe,gCAAuB,EAACf,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAACgB,OAAA,CAAAd,iBAAA,GAAAA,iBAAA"}
@@ -46,7 +46,7 @@ const createChildTypeDefs = params => {
46
46
  }).filter(Boolean).join("\n");
47
47
  return `input ${typeName}WhereInput {
48
48
  ${filters || "_empty: String"}
49
- }`;
49
+ }\n`;
50
50
  };
51
51
  const createTypeName = params => {
52
52
  const {
@@ -98,7 +98,7 @@ const createObjectField = () => {
98
98
  }
99
99
  validate({
100
100
  fields,
101
- originalFields: (originalField === null || originalField === void 0 ? void 0 : (_originalField$settin = originalField.settings) === null || _originalField$settin === void 0 ? void 0 : _originalField$settin.fields) || []
101
+ originalFields: (originalField === null || originalField === void 0 || (_originalField$settin = originalField.settings) === null || _originalField$settin === void 0 ? void 0 : _originalField$settin.fields) || []
102
102
  });
103
103
  },
104
104
  read: {
@@ -197,7 +197,7 @@ const createObjectField = () => {
197
197
  });
198
198
  return {
199
199
  fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,
200
- typeDefs: `${typeDefs}${childTypeDefs}`
200
+ typeDefs: `${typeDefs}\n${childTypeDefs}`
201
201
  };
202
202
  },
203
203
  createInputField({
@@ -1 +1 @@
1
- {"version":3,"names":["createChildTypeDefs","params","field","plugins","model","endpointType","fields","settings","typeName","createTypeName","parents","filters","map","child","createListFilters","type","concat","fieldId","filter","Boolean","join","singularApiName","id","lodashUpperFirst","createObjectField","name","fieldType","isSortable","isSearchable","validateChildFields","originalField","validate","hasDynamicZone","some","f","WebinyError","fieldLabel","label","originalFields","read","createTypeField","models","fieldTypePlugins","result","createTypeFromFields","typeOfType","typeNamePrefix","typeDefs","childTypeDefs","multipleValues","createResolver","createFieldResolvers","graphQLType","length","upperFirst","typeResolvers","resolver","manage","createInputField","attachRequiredFieldValue"],"sources":["object.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport upperFirst from \"lodash/upperFirst\";\nimport {\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { attachRequiredFieldValue } from \"./helpers\";\nimport lodashUpperFirst from \"lodash/upperFirst\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\n\ninterface AttachTypeDefinitionsParams {\n model: Pick<CmsModel, \"singularApiName\">;\n field: CmsModelField;\n plugins: CmsFieldTypePlugins;\n endpointType: \"manage\" | \"read\";\n}\nconst createChildTypeDefs = (params: AttachTypeDefinitionsParams): string => {\n const { field, plugins, model, endpointType } = params;\n const fields = field.settings?.fields || [];\n\n const typeName = createTypeName({\n model,\n field,\n parents: field.settings?.parents\n });\n\n const filters = fields\n .map(child => {\n const createListFilters = plugins[child.type][endpointType].createListFilters;\n if (!createListFilters) {\n return null;\n }\n\n const filters = createListFilters({\n model,\n field: {\n ...child,\n settings: {\n ...child.settings,\n parents: (child.settings?.parents || []).concat([field.fieldId])\n }\n },\n plugins\n });\n if (!filters) {\n return null;\n }\n return filters;\n })\n .filter(Boolean)\n .join(\"\\n\");\n return `input ${typeName}WhereInput {\n ${filters || \"_empty: String\"}\n }`;\n};\n\ninterface CreateTypeNameParams {\n model: Pick<CmsModel, \"singularApiName\">;\n parents?: string[];\n field: CmsModelField;\n}\nconst createTypeName = (params: CreateTypeNameParams): string => {\n const { model, parents = [], field } = params;\n return [model.singularApiName]\n .concat(parents)\n .concat([field.fieldId])\n .filter(Boolean)\n .map(id => {\n return lodashUpperFirst(id);\n })\n .join(\"_\");\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n model: Pick<CmsModel, \"singularApiName\">;\n}\nconst createListFilters = ({ field, model }: CreateListFiltersParams) => {\n const typeName = createTypeName({\n model,\n field,\n parents: field.settings?.parents\n });\n\n return `${field.fieldId}: ${typeName}WhereInput`;\n};\n\nexport const createObjectField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-object\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"object\",\n isSortable: false,\n isSearchable: false,\n validateChildFields: params => {\n const { field, originalField, validate } = params;\n\n const fields = field.settings?.fields || [];\n /**\n * At the moment we do not allow dynamic zone fields inside the object field.\n */\n const hasDynamicZone = fields.some(f => f.type === \"dynamicZone\");\n if (hasDynamicZone) {\n throw new WebinyError(\n \"Dynamic zones cannot be used inside of an object field.\",\n \"DYNAMIC_ZONE_INSIDE_OBJECT\",\n {\n id: field.id,\n fieldId: field.fieldId,\n fieldLabel: field.label\n }\n );\n }\n\n validate({\n fields,\n originalFields: originalField?.settings?.fields || []\n });\n },\n read: {\n createTypeField({ field, models, model, fieldTypePlugins }) {\n const result = createTypeFromFields({\n models,\n typeOfType: \"type\",\n model,\n type: \"read\",\n typeNamePrefix: createTypeName({\n model,\n field,\n parents: field.settings?.parents\n }),\n fields: field.settings?.fields || [],\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n const childTypeDefs = createChildTypeDefs({\n model,\n field,\n plugins: fieldTypePlugins,\n endpointType: \"read\"\n });\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\n }`,\n typeDefs: `${typeDefs}${childTypeDefs}`\n };\n },\n createResolver({ field, createFieldResolvers, graphQLType }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n },\n createListFilters\n },\n manage: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const result = createTypeFromFields({\n typeOfType: \"type\",\n models,\n model,\n type: \"manage\",\n typeNamePrefix: createTypeName({\n model,\n field,\n parents: field.settings?.parents\n }),\n fields: field.settings?.fields || [],\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n const childTypeDefs = createChildTypeDefs({\n model,\n field,\n plugins: fieldTypePlugins,\n endpointType: \"manage\"\n });\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\n }`,\n typeDefs: `${typeDefs}${childTypeDefs}`\n };\n },\n createInputField({ models, model, field, fieldTypePlugins }) {\n const result = createTypeFromFields({\n typeOfType: \"input\",\n models,\n model,\n type: \"manage\",\n typeNamePrefix: createTypeName({\n model,\n field,\n parents: field.settings?.parents\n }),\n fields: field.settings?.fields || [],\n fieldTypePlugins\n });\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: attachRequiredFieldValue(\n `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n field\n ),\n typeDefs\n };\n },\n createResolver({ graphQLType, field, createFieldResolvers }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n },\n createListFilters\n }\n };\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AAOA;AAEA;AAQA,MAAMA,mBAAmB,GAAIC,MAAmC,IAAa;EAAA;EACzE,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAa,CAAC,GAAGJ,MAAM;EACtD,MAAMK,MAAM,GAAG,oBAAAJ,KAAK,CAACK,QAAQ,oDAAd,gBAAgBD,MAAM,KAAI,EAAE;EAE3C,MAAME,QAAQ,GAAGC,cAAc,CAAC;IAC5BL,KAAK;IACLF,KAAK;IACLQ,OAAO,sBAAER,KAAK,CAACK,QAAQ,qDAAd,iBAAgBG;EAC7B,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAGL,MAAM,CACjBM,GAAG,CAACC,KAAK,IAAI;IAAA;IACV,MAAMC,iBAAiB,GAAGX,OAAO,CAACU,KAAK,CAACE,IAAI,CAAC,CAACV,YAAY,CAAC,CAACS,iBAAiB;IAC7E,IAAI,CAACA,iBAAiB,EAAE;MACpB,OAAO,IAAI;IACf;IAEA,MAAMH,OAAO,GAAGG,iBAAiB,CAAC;MAC9BV,KAAK;MACLF,KAAK,8DACEW,KAAK;QACRN,QAAQ,8DACDM,KAAK,CAACN,QAAQ;UACjBG,OAAO,EAAE,CAAC,oBAAAG,KAAK,CAACN,QAAQ,oDAAd,gBAAgBG,OAAO,KAAI,EAAE,EAAEM,MAAM,CAAC,CAACd,KAAK,CAACe,OAAO,CAAC;QAAC;MACnE,EACJ;MACDd;IACJ,CAAC,CAAC;IACF,IAAI,CAACQ,OAAO,EAAE;MACV,OAAO,IAAI;IACf;IACA,OAAOA,OAAO;EAClB,CAAC,CAAC,CACDO,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,IAAI,CAAC;EACf,OAAQ,SAAQZ,QAAS;AAC7B,UAAUG,OAAO,IAAI,gBAAiB;AACtC,MAAM;AACN,CAAC;AAOD,MAAMF,cAAc,GAAIR,MAA4B,IAAa;EAC7D,MAAM;IAAEG,KAAK;IAAEM,OAAO,GAAG,EAAE;IAAER;EAAM,CAAC,GAAGD,MAAM;EAC7C,OAAO,CAACG,KAAK,CAACiB,eAAe,CAAC,CACzBL,MAAM,CAACN,OAAO,CAAC,CACfM,MAAM,CAAC,CAACd,KAAK,CAACe,OAAO,CAAC,CAAC,CACvBC,MAAM,CAACC,OAAO,CAAC,CACfP,GAAG,CAACU,EAAE,IAAI;IACP,OAAO,IAAAC,mBAAgB,EAACD,EAAE,CAAC;EAC/B,CAAC,CAAC,CACDF,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC;AAMD,MAAMN,iBAAiB,GAAG,CAAC;EAAEZ,KAAK;EAAEE;AAA+B,CAAC,KAAK;EAAA;EACrE,MAAMI,QAAQ,GAAGC,cAAc,CAAC;IAC5BL,KAAK;IACLF,KAAK;IACLQ,OAAO,sBAAER,KAAK,CAACK,QAAQ,qDAAd,iBAAgBG;EAC7B,CAAC,CAAC;EAEF,OAAQ,GAAER,KAAK,CAACe,OAAQ,KAAIT,QAAS,YAAW;AACpD,CAAC;AAEM,MAAMgB,iBAAiB,GAAG,MAAoC;EACjE,OAAO;IACHC,IAAI,EAAE,mCAAmC;IACzCV,IAAI,EAAE,4BAA4B;IAClCW,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,mBAAmB,EAAE5B,MAAM,IAAI;MAAA;MAC3B,MAAM;QAAEC,KAAK;QAAE4B,aAAa;QAAEC;MAAS,CAAC,GAAG9B,MAAM;MAEjD,MAAMK,MAAM,GAAG,qBAAAJ,KAAK,CAACK,QAAQ,qDAAd,iBAAgBD,MAAM,KAAI,EAAE;MAC3C;AACZ;AACA;MACY,MAAM0B,cAAc,GAAG1B,MAAM,CAAC2B,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACnB,IAAI,KAAK,aAAa,CAAC;MACjE,IAAIiB,cAAc,EAAE;QAChB,MAAM,IAAIG,cAAW,CACjB,yDAAyD,EACzD,4BAA4B,EAC5B;UACIb,EAAE,EAAEpB,KAAK,CAACoB,EAAE;UACZL,OAAO,EAAEf,KAAK,CAACe,OAAO;UACtBmB,UAAU,EAAElC,KAAK,CAACmC;QACtB,CAAC,CACJ;MACL;MAEAN,QAAQ,CAAC;QACLzB,MAAM;QACNgC,cAAc,EAAE,CAAAR,aAAa,aAAbA,aAAa,gDAAbA,aAAa,CAAEvB,QAAQ,0DAAvB,sBAAyBD,MAAM,KAAI;MACvD,CAAC,CAAC;IACN,CAAC;IACDiC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEtC,KAAK;QAAEuC,MAAM;QAAErC,KAAK;QAAEsC;MAAiB,CAAC,EAAE;QAAA;QACxD,MAAMC,MAAM,GAAG,IAAAC,0CAAoB,EAAC;UAChCH,MAAM;UACNI,UAAU,EAAE,MAAM;UAClBzC,KAAK;UACLW,IAAI,EAAE,MAAM;UACZ+B,cAAc,EAAErC,cAAc,CAAC;YAC3BL,KAAK;YACLF,KAAK;YACLQ,OAAO,sBAAER,KAAK,CAACK,QAAQ,qDAAd,iBAAgBG;UAC7B,CAAC,CAAC;UACFJ,MAAM,EAAE,qBAAAJ,KAAK,CAACK,QAAQ,qDAAd,iBAAgBD,MAAM,KAAI,EAAE;UACpCoC;QACJ,CAAC,CAAC;QAEF,IAAI,CAACC,MAAM,EAAE;UACT,OAAO,IAAI;QACf;QACA,MAAM;UAAEjB,SAAS;UAAEqB;QAAS,CAAC,GAAGJ,MAAM;QAEtC,MAAMK,aAAa,GAAGhD,mBAAmB,CAAC;UACtCI,KAAK;UACLF,KAAK;UACLC,OAAO,EAAEuC,gBAAgB;UACzBrC,YAAY,EAAE;QAClB,CAAC,CAAC;QAEF,OAAO;UACHC,MAAM,EAAG,GAAEJ,KAAK,CAACe,OAAQ,KACrBf,KAAK,CAAC+C,cAAc,GAAI,IAAGvB,SAAU,IAAG,GAAGA,SAC9C,EAAC;UACFqB,QAAQ,EAAG,GAAEA,QAAS,GAAEC,aAAc;QAC1C,CAAC;MACL,CAAC;MACDE,cAAc,CAAC;QAAEhD,KAAK;QAAEiD,oBAAoB;QAAEC;MAAY,CAAC,EAAE;QAAA;QACzD,IAAI,sBAAClD,KAAK,CAACK,QAAQ,6CAAd,iBAAgBD,MAAM,KAAIJ,KAAK,CAACK,QAAQ,CAACD,MAAM,CAAC+C,MAAM,KAAK,CAAC,EAAE;UAC/D,OAAO,KAAK;QAChB;QAEA,MAAM3B,SAAS,GAAI,GAAE0B,WAAY,IAAG,IAAAE,mBAAU,EAACpD,KAAK,CAACe,OAAO,CAAE,EAAC;QAE/D,MAAMsC,aAAa,GAAGJ,oBAAoB,CAAC;UACvCC,WAAW,EAAE1B,SAAS;UACtBpB,MAAM,EAAEJ,KAAK,CAACK,QAAQ,CAACD;QAC3B,CAAC,CAAC;QACF,OAAO;UACHkD,QAAQ,EAAE,IAAI;UACdD,aAAa,EAAEA,aAAa,IAAI,CAAC;QACrC,CAAC;MACL,CAAC;MACDzC;IACJ,CAAC;IACD2C,MAAM,EAAE;MACJjB,eAAe,CAAC;QAAEC,MAAM;QAAErC,KAAK;QAAEF,KAAK;QAAEwC;MAAiB,CAAC,EAAE;QAAA;QACxD,MAAMC,MAAM,GAAG,IAAAC,0CAAoB,EAAC;UAChCC,UAAU,EAAE,MAAM;UAClBJ,MAAM;UACNrC,KAAK;UACLW,IAAI,EAAE,QAAQ;UACd+B,cAAc,EAAErC,cAAc,CAAC;YAC3BL,KAAK;YACLF,KAAK;YACLQ,OAAO,sBAAER,KAAK,CAACK,QAAQ,qDAAd,iBAAgBG;UAC7B,CAAC,CAAC;UACFJ,MAAM,EAAE,qBAAAJ,KAAK,CAACK,QAAQ,qDAAd,iBAAgBD,MAAM,KAAI,EAAE;UACpCoC;QACJ,CAAC,CAAC;QAEF,IAAI,CAACC,MAAM,EAAE;UACT,OAAO,IAAI;QACf;QACA,MAAM;UAAEjB,SAAS;UAAEqB;QAAS,CAAC,GAAGJ,MAAM;QAEtC,MAAMK,aAAa,GAAGhD,mBAAmB,CAAC;UACtCI,KAAK;UACLF,KAAK;UACLC,OAAO,EAAEuC,gBAAgB;UACzBrC,YAAY,EAAE;QAClB,CAAC,CAAC;QAEF,OAAO;UACHC,MAAM,EAAG,GAAEJ,KAAK,CAACe,OAAQ,KACrBf,KAAK,CAAC+C,cAAc,GAAI,IAAGvB,SAAU,IAAG,GAAGA,SAC9C,EAAC;UACFqB,QAAQ,EAAG,GAAEA,QAAS,GAAEC,aAAc;QAC1C,CAAC;MACL,CAAC;MACDU,gBAAgB,CAAC;QAAEjB,MAAM;QAAErC,KAAK;QAAEF,KAAK;QAAEwC;MAAiB,CAAC,EAAE;QAAA;QACzD,MAAMC,MAAM,GAAG,IAAAC,0CAAoB,EAAC;UAChCC,UAAU,EAAE,OAAO;UACnBJ,MAAM;UACNrC,KAAK;UACLW,IAAI,EAAE,QAAQ;UACd+B,cAAc,EAAErC,cAAc,CAAC;YAC3BL,KAAK;YACLF,KAAK;YACLQ,OAAO,uBAAER,KAAK,CAACK,QAAQ,sDAAd,kBAAgBG;UAC7B,CAAC,CAAC;UACFJ,MAAM,EAAE,sBAAAJ,KAAK,CAACK,QAAQ,sDAAd,kBAAgBD,MAAM,KAAI,EAAE;UACpCoC;QACJ,CAAC,CAAC;QACF,IAAI,CAACC,MAAM,EAAE;UACT,OAAO,IAAI;QACf;QACA,MAAM;UAAEjB,SAAS;UAAEqB;QAAS,CAAC,GAAGJ,MAAM;QAEtC,OAAO;UACHrC,MAAM,EAAE,IAAAqD,iCAAwB,EAC3B,GAAEzD,KAAK,CAACe,OAAQ,KAAIf,KAAK,CAAC+C,cAAc,GAAI,IAAGvB,SAAU,IAAG,GAAGA,SAAU,EAAC,EAC3ExB,KAAK,CACR;UACD6C;QACJ,CAAC;MACL,CAAC;MACDG,cAAc,CAAC;QAAEE,WAAW;QAAElD,KAAK;QAAEiD;MAAqB,CAAC,EAAE;QAAA;QACzD,IAAI,uBAACjD,KAAK,CAACK,QAAQ,8CAAd,kBAAgBD,MAAM,KAAIJ,KAAK,CAACK,QAAQ,CAACD,MAAM,CAAC+C,MAAM,KAAK,CAAC,EAAE;UAC/D,OAAO,KAAK;QAChB;QACA,MAAM3B,SAAS,GAAI,GAAE0B,WAAY,IAAG,IAAAE,mBAAU,EAACpD,KAAK,CAACe,OAAO,CAAE,EAAC;QAC/D,MAAMsC,aAAa,GAAGJ,oBAAoB,CAAC;UACvCC,WAAW,EAAE1B,SAAS;UACtBpB,MAAM,EAAEJ,KAAK,CAACK,QAAQ,CAACD;QAC3B,CAAC,CAAC;QACF,OAAO;UACHkD,QAAQ,EAAE,IAAI;UACdD,aAAa,EAAEA,aAAa,IAAI,CAAC;QACrC,CAAC;MACL,CAAC;MACDzC;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_upperFirst","_helpers","_createTypeFromFields","createChildTypeDefs","params","_field$settings","_field$settings2","field","plugins","model","endpointType","fields","settings","typeName","createTypeName","parents","filters","map","child","_child$settings","createListFilters","type","_objectSpread2","default","concat","fieldId","filter","Boolean","join","singularApiName","id","lodashUpperFirst","_field$settings3","createObjectField","name","fieldType","isSortable","isSearchable","validateChildFields","_field$settings4","_originalField$settin","originalField","validate","hasDynamicZone","some","f","WebinyError","fieldLabel","label","originalFields","read","createTypeField","models","fieldTypePlugins","_field$settings5","_field$settings6","result","createTypeFromFields","typeOfType","typeNamePrefix","typeDefs","childTypeDefs","multipleValues","createResolver","createFieldResolvers","graphQLType","_field$settings7","length","upperFirst","typeResolvers","resolver","manage","_field$settings8","_field$settings9","createInputField","_field$settings10","_field$settings11","attachRequiredFieldValue","_field$settings12","exports"],"sources":["object.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport upperFirst from \"lodash/upperFirst\";\nimport {\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { attachRequiredFieldValue } from \"./helpers\";\nimport lodashUpperFirst from \"lodash/upperFirst\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\n\ninterface AttachTypeDefinitionsParams {\n model: Pick<CmsModel, \"singularApiName\">;\n field: CmsModelField;\n plugins: CmsFieldTypePlugins;\n endpointType: \"manage\" | \"read\";\n}\nconst createChildTypeDefs = (params: AttachTypeDefinitionsParams): string => {\n const { field, plugins, model, endpointType } = params;\n const fields = field.settings?.fields || [];\n\n const typeName = createTypeName({\n model,\n field,\n parents: field.settings?.parents\n });\n\n const filters = fields\n .map(child => {\n const createListFilters = plugins[child.type][endpointType].createListFilters;\n if (!createListFilters) {\n return null;\n }\n\n const filters = createListFilters({\n model,\n field: {\n ...child,\n settings: {\n ...child.settings,\n parents: (child.settings?.parents || []).concat([field.fieldId])\n }\n },\n plugins\n });\n if (!filters) {\n return null;\n }\n return filters;\n })\n .filter(Boolean)\n .join(\"\\n\");\n return `input ${typeName}WhereInput {\n ${filters || \"_empty: String\"}\n }\\n`;\n};\n\ninterface CreateTypeNameParams {\n model: Pick<CmsModel, \"singularApiName\">;\n parents?: string[];\n field: CmsModelField;\n}\nconst createTypeName = (params: CreateTypeNameParams): string => {\n const { model, parents = [], field } = params;\n return [model.singularApiName]\n .concat(parents)\n .concat([field.fieldId])\n .filter(Boolean)\n .map(id => {\n return lodashUpperFirst(id);\n })\n .join(\"_\");\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n model: Pick<CmsModel, \"singularApiName\">;\n}\nconst createListFilters = ({ field, model }: CreateListFiltersParams) => {\n const typeName = createTypeName({\n model,\n field,\n parents: field.settings?.parents\n });\n\n return `${field.fieldId}: ${typeName}WhereInput`;\n};\n\nexport const createObjectField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-object\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"object\",\n isSortable: false,\n isSearchable: false,\n validateChildFields: params => {\n const { field, originalField, validate } = params;\n\n const fields = field.settings?.fields || [];\n /**\n * At the moment we do not allow dynamic zone fields inside the object field.\n */\n const hasDynamicZone = fields.some(f => f.type === \"dynamicZone\");\n if (hasDynamicZone) {\n throw new WebinyError(\n \"Dynamic zones cannot be used inside of an object field.\",\n \"DYNAMIC_ZONE_INSIDE_OBJECT\",\n {\n id: field.id,\n fieldId: field.fieldId,\n fieldLabel: field.label\n }\n );\n }\n\n validate({\n fields,\n originalFields: originalField?.settings?.fields || []\n });\n },\n read: {\n createTypeField({ field, models, model, fieldTypePlugins }) {\n const result = createTypeFromFields({\n models,\n typeOfType: \"type\",\n model,\n type: \"read\",\n typeNamePrefix: createTypeName({\n model,\n field,\n parents: field.settings?.parents\n }),\n fields: field.settings?.fields || [],\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n const childTypeDefs = createChildTypeDefs({\n model,\n field,\n plugins: fieldTypePlugins,\n endpointType: \"read\"\n });\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\n }`,\n typeDefs: `${typeDefs}${childTypeDefs}`\n };\n },\n createResolver({ field, createFieldResolvers, graphQLType }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n },\n createListFilters\n },\n manage: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const result = createTypeFromFields({\n typeOfType: \"type\",\n models,\n model,\n type: \"manage\",\n typeNamePrefix: createTypeName({\n model,\n field,\n parents: field.settings?.parents\n }),\n fields: field.settings?.fields || [],\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n const childTypeDefs = createChildTypeDefs({\n model,\n field,\n plugins: fieldTypePlugins,\n endpointType: \"manage\"\n });\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\n }`,\n typeDefs: `${typeDefs}\\n${childTypeDefs}`\n };\n },\n createInputField({ models, model, field, fieldTypePlugins }) {\n const result = createTypeFromFields({\n typeOfType: \"input\",\n models,\n model,\n type: \"manage\",\n typeNamePrefix: createTypeName({\n model,\n field,\n parents: field.settings?.parents\n }),\n fields: field.settings?.fields || [],\n fieldTypePlugins\n });\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: attachRequiredFieldValue(\n `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n field\n ),\n typeDefs\n };\n },\n createResolver({ graphQLType, field, createFieldResolvers }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n },\n createListFilters\n }\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["createUnionTypeName","model","field","singularApiName","createTypeName","fieldId","createListFilters","createFilteringTypeDef","appendTypename","entries","typename","map","item","__typename","getFieldModels","settings","Array","isArray","models","modelIdToTypeName","Map","getModel","params","modelId","find","WebinyError","getModelSingularApiName","createRefField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","fieldModels","gqlType","length","typeDefs","join","fields","multipleValues","createResolver","set","parent","args","context","cms","initialValue","populate","value","entriesByModel","reduce","collection","ref","includes","entryId","push","getters","Object","keys","idList","getModelManager","READ","getPublishedByIds","getLatestByIds","get","Promise","all","then","results","result","concat","getEntryManager","revisions","createSchema","resolvers","manage","RefField","id","parseIdentifier","createInputField","createGraphQLInputField"],"sources":["ref.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n CmsContext,\n CmsEntry,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { createTypeName } from \"~/utils/createTypeName\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface RefFieldValue {\n /**\n * `id` is optional for backwards compatibility with records created before this property was introduced.\n */\n id?: string;\n entryId: string;\n modelId: string;\n}\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n};\n\ninterface CreateListFilterParams {\n field: CmsModelField;\n}\n\nconst createListFilters = ({ field }: CreateListFilterParams) => {\n return `\n ${field.fieldId}: RefFieldWhereInput\n `;\n};\n\nconst createFilteringTypeDef = () => {\n return `\n input RefFieldWhereInput {\n id: String\n id_not: String\n id_in: [String!]\n id_not_in: [String]\n entryId: String\n entryId_not: String\n entryId_in: [String!]\n entryId_not_in: [String!]\n }\n `;\n};\n\nconst appendTypename = (entries: CmsEntry[], typename: string): CmsEntry[] => {\n return entries.map(item => {\n return {\n ...item,\n __typename: typename\n };\n });\n};\n/**\n * We cast settings.models as object to have modelId because internally we know that it is so.\n * Internal stuff so we are sure that settings.models contains what we require.\n */\nconst getFieldModels = (field: CmsModelField): Pick<CmsModel, \"modelId\">[] => {\n if (!field.settings || Array.isArray(field.settings.models) === false) {\n return [];\n }\n return field.settings.models as Pick<CmsModel, \"modelId\">[];\n};\n\nconst modelIdToTypeName = new Map();\n\ninterface GetModelParams {\n models: CmsModel[];\n modelId: string;\n}\n\nconst getModel = (params: GetModelParams): CmsModel => {\n const { models, modelId } = params;\n\n const model = models.find(item => item.modelId === modelId);\n if (model) {\n return model;\n }\n throw new WebinyError(\n `Could not find model with ID \"${modelId}\" in the list of models.`,\n \"MODEL_NOT_FOUND\",\n {\n modelId\n }\n );\n};\n\nconst getModelSingularApiName = (params: GetModelParams): string => {\n const model = getModel(params);\n\n return model.singularApiName;\n};\n\nexport const createRefField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-ref\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"ref\",\n isSortable: false,\n isSearchable: true,\n read: {\n createTypeField({ model, field, models }) {\n const fieldModels = field.settings?.models || [];\n const gqlType =\n fieldModels.length > 1\n ? createUnionTypeName(model, field)\n : getModelSingularApiName({ models, modelId: fieldModels[0].modelId });\n const typeDefs =\n fieldModels.length > 1\n ? `union ${gqlType} = ${getFieldModels(field)\n .map(({ modelId }) =>\n getModelSingularApiName({\n models,\n modelId\n })\n )\n .join(\" | \")}`\n : \"\";\n\n return {\n fields:\n field.fieldId +\n `(populate: Boolean = true): ${\n field.multipleValues ? `[${gqlType}!]` : gqlType\n }`,\n typeDefs\n };\n },\n /**\n * TS is complaining about mixed types for createResolver.\n * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?\n */\n // @ts-ignore\n createResolver({ field, models }) {\n // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.\n const fieldModels = field.settings?.models || [];\n for (const item of fieldModels) {\n modelIdToTypeName.set(\n item.modelId,\n getModelSingularApiName({\n models,\n modelId: item.modelId\n })\n );\n }\n\n return async (parent, args, context: CmsContext) => {\n const { cms } = context;\n\n // Get field value for this entry\n const initialValue = parent[field.fieldId] as RefFieldValue | RefFieldValue[];\n\n if (!initialValue) {\n return null;\n }\n if (args.populate === false) {\n return initialValue;\n }\n\n if (field.multipleValues) {\n /**\n * We cast because value really can be array and single value.\n * At this point, we are 99% sure that it is an array (+ we check for it)\n */\n const value = initialValue as RefFieldValue[];\n if (Array.isArray(value) === false || value.length === 0) {\n return [];\n }\n\n const entriesByModel = value.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.entryId) === true) {\n return collection;\n }\n\n collection[ref.modelId].push(ref.entryId);\n\n return collection;\n }, {} as Record<string, string[]>);\n\n const getters = Object.keys(entriesByModel).map(async modelId => {\n const idList = entriesByModel[modelId];\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(modelId);\n\n let entries: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n entries = await model.getPublishedByIds(idList);\n }\n // `preview` and `manage` with `latest` data\n else {\n entries = await model.getLatestByIds(idList);\n }\n\n return appendTypename(entries, modelIdToTypeName.get(modelId));\n });\n\n return await Promise.all(getters).then((results: any[]) =>\n results.reduce((result, item) => result.concat(item), [])\n );\n }\n\n const value = initialValue as RefFieldValue;\n\n // Get model manager, to get access to CRUD methods\n const model = await cms.getEntryManager(value.modelId);\n\n let revisions: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n revisions = await model.getPublishedByIds([value.entryId]);\n }\n // `preview` API works with `latest` data\n else {\n revisions = await model.getLatestByIds([value.entryId]);\n }\n\n /**\n * If there are no revisions we must return null.\n */\n if (!revisions || revisions.length === 0) {\n return null;\n }\n return {\n ...revisions[0],\n __typename: modelIdToTypeName.get(value.modelId)\n };\n };\n },\n createSchema() {\n return {\n typeDefs: createFilteringTypeDef(),\n resolvers: {}\n };\n },\n createListFilters\n },\n manage: {\n createSchema() {\n /**\n * `entryId` in `RefFieldInput` is deprecated, but we cannot mark it as such in GraphQL.\n * `entryId` is extracted at runtime from the `id` which contains both the `entryId` and revision number.\n * See: `packages/api-headless-cms/src/crud/contentEntry/referenceFieldsMapping.ts`\n */\n return {\n typeDefs: /* GraphQL */ `\n type RefField {\n modelId: String!\n entryId: ID!\n id: ID!\n }\n\n input RefFieldInput {\n modelId: String!\n id: ID!\n }\n\n ${createFilteringTypeDef()}\n `,\n resolvers: {\n RefField: {\n entryId: (parent: RefFieldValue) => {\n const { id } = parseIdentifier(parent.entryId || parent.id);\n return id;\n },\n id: (parent: RefFieldValue) => {\n return parent.id || parent.entryId;\n }\n }\n }\n };\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [RefField!]`;\n }\n return `${field.fieldId}: RefField`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"RefFieldInput\");\n },\n createListFilters\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_createTypeName","_utils","_helpers","createUnionTypeName","model","field","singularApiName","createTypeName","fieldId","createListFilters","createFilteringTypeDef","appendTypename","entries","typename","map","item","_objectSpread2","default","__typename","getFieldModels","settings","Array","isArray","models","modelIdToTypeName","Map","getModel","params","modelId","find","WebinyError","getModelSingularApiName","createRefField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","_field$settings","fieldModels","gqlType","length","typeDefs","join","fields","multipleValues","createResolver","_field$settings2","set","parent","args","context","cms","initialValue","populate","value","entriesByModel","reduce","collection","ref","includes","entryId","push","getters","Object","keys","idList","getModelManager","READ","getPublishedByIds","getLatestByIds","get","Promise","all","then","results","result","concat","getEntryManager","revisions","createSchema","resolvers","manage","RefField","id","parseIdentifier","createInputField","createGraphQLInputField","exports"],"sources":["ref.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n CmsContext,\n CmsEntry,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { createTypeName } from \"~/utils/createTypeName\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface RefFieldValue {\n /**\n * `id` is optional for backwards compatibility with records created before this property was introduced.\n */\n id?: string;\n entryId: string;\n modelId: string;\n}\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n};\n\ninterface CreateListFilterParams {\n field: CmsModelField;\n}\n\nconst createListFilters = ({ field }: CreateListFilterParams) => {\n return `\n ${field.fieldId}: RefFieldWhereInput\n `;\n};\n\nconst createFilteringTypeDef = () => {\n return `\n input RefFieldWhereInput {\n id: String\n id_not: String\n id_in: [String!]\n id_not_in: [String]\n entryId: String\n entryId_not: String\n entryId_in: [String!]\n entryId_not_in: [String!]\n }\n `;\n};\n\nconst appendTypename = (entries: CmsEntry[], typename: string): CmsEntry[] => {\n return entries.map(item => {\n return {\n ...item,\n __typename: typename\n };\n });\n};\n/**\n * We cast settings.models as object to have modelId because internally we know that it is so.\n * Internal stuff so we are sure that settings.models contains what we require.\n */\nconst getFieldModels = (field: CmsModelField): Pick<CmsModel, \"modelId\">[] => {\n if (!field.settings || Array.isArray(field.settings.models) === false) {\n return [];\n }\n return field.settings.models as Pick<CmsModel, \"modelId\">[];\n};\n\nconst modelIdToTypeName = new Map();\n\ninterface GetModelParams {\n models: CmsModel[];\n modelId: string;\n}\n\nconst getModel = (params: GetModelParams): CmsModel => {\n const { models, modelId } = params;\n\n const model = models.find(item => item.modelId === modelId);\n if (model) {\n return model;\n }\n throw new WebinyError(\n `Could not find model with ID \"${modelId}\" in the list of models.`,\n \"MODEL_NOT_FOUND\",\n {\n modelId\n }\n );\n};\n\nconst getModelSingularApiName = (params: GetModelParams): string => {\n const model = getModel(params);\n\n return model.singularApiName;\n};\n\nexport const createRefField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-ref\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"ref\",\n isSortable: false,\n isSearchable: true,\n read: {\n createTypeField({ model, field, models }) {\n const fieldModels = field.settings?.models || [];\n const gqlType =\n fieldModels.length > 1\n ? createUnionTypeName(model, field)\n : getModelSingularApiName({ models, modelId: fieldModels[0].modelId });\n const typeDefs =\n fieldModels.length > 1\n ? `union ${gqlType} = ${getFieldModels(field)\n .map(({ modelId }) =>\n getModelSingularApiName({\n models,\n modelId\n })\n )\n .join(\" | \")}`\n : \"\";\n\n return {\n fields:\n field.fieldId +\n `(populate: Boolean = true): ${\n field.multipleValues ? `[${gqlType}!]` : gqlType\n }`,\n typeDefs\n };\n },\n /**\n * TS is complaining about mixed types for createResolver.\n * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?\n */\n // @ts-ignore\n createResolver({ field, models }) {\n // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.\n const fieldModels = field.settings?.models || [];\n for (const item of fieldModels) {\n modelIdToTypeName.set(\n item.modelId,\n getModelSingularApiName({\n models,\n modelId: item.modelId\n })\n );\n }\n\n return async (parent, args, context: CmsContext) => {\n const { cms } = context;\n\n // Get field value for this entry\n const initialValue = parent[field.fieldId] as RefFieldValue | RefFieldValue[];\n\n if (!initialValue) {\n return null;\n }\n if (args.populate === false) {\n return initialValue;\n }\n\n if (field.multipleValues) {\n /**\n * We cast because value really can be array and single value.\n * At this point, we are 99% sure that it is an array (+ we check for it)\n */\n const value = initialValue as RefFieldValue[];\n if (Array.isArray(value) === false || value.length === 0) {\n return [];\n }\n\n const entriesByModel = value.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.entryId) === true) {\n return collection;\n }\n\n collection[ref.modelId].push(ref.entryId);\n\n return collection;\n }, {} as Record<string, string[]>);\n\n const getters = Object.keys(entriesByModel).map(async modelId => {\n const idList = entriesByModel[modelId];\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(modelId);\n\n let entries: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n entries = await model.getPublishedByIds(idList);\n }\n // `preview` and `manage` with `latest` data\n else {\n entries = await model.getLatestByIds(idList);\n }\n\n return appendTypename(entries, modelIdToTypeName.get(modelId));\n });\n\n return await Promise.all(getters).then((results: any[]) =>\n results.reduce((result, item) => result.concat(item), [])\n );\n }\n\n const value = initialValue as RefFieldValue;\n\n // Get model manager, to get access to CRUD methods\n const model = await cms.getEntryManager(value.modelId);\n\n let revisions: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n revisions = await model.getPublishedByIds([value.entryId]);\n }\n // `preview` API works with `latest` data\n else {\n revisions = await model.getLatestByIds([value.entryId]);\n }\n\n /**\n * If there are no revisions we must return null.\n */\n if (!revisions || revisions.length === 0) {\n return null;\n }\n return {\n ...revisions[0],\n __typename: modelIdToTypeName.get(value.modelId)\n };\n };\n },\n createSchema() {\n return {\n typeDefs: createFilteringTypeDef(),\n resolvers: {}\n };\n },\n createListFilters\n },\n manage: {\n createSchema() {\n /**\n * `entryId` in `RefFieldInput` is deprecated, but we cannot mark it as such in GraphQL.\n * `entryId` is extracted at runtime from the `id` which contains both the `entryId` and revision number.\n * See: `packages/api-headless-cms/src/crud/contentEntry/referenceFieldsMapping.ts`\n */\n return {\n typeDefs: /* GraphQL */ `\n type RefField {\n modelId: String!\n entryId: ID!\n id: ID!\n }\n\n input RefFieldInput {\n modelId: String!\n id: ID!\n }\n\n ${createFilteringTypeDef()}\n `,\n resolvers: {\n RefField: {\n entryId: (parent: RefFieldValue) => {\n const { id } = parseIdentifier(parent.entryId || parent.id);\n return id;\n },\n id: (parent: RefFieldValue) => {\n return parent.id || parent.entryId;\n }\n }\n }\n };\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [RefField!]`;\n }\n return `${field.fieldId}: RefField`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"RefFieldInput\");\n },\n createListFilters\n }\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["createRichTextField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","createGetFilters","manage","createInputField","createGraphQLInputField"],"sources":["richText.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createRichTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-rich-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"rich-text\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n\n return `${field.fieldId}: JSON`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: JSON`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"JSON\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAEO,MAAMA,mBAAmB,GAAG,MAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,sCAAsC;IAC5CC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,WAAW;IACtBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDC,gBAAgB,CAAC;QAAEH;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAO;MACnC;IACJ,CAAC;IACDE,MAAM,EAAE;MACJL,eAAe,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QACA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDG,gBAAgB,CAAC;QAAEL;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAM,gCAAuB,EAACN,KAAK,EAAE,MAAM,CAAC;MACjD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_helpers","require","createRichTextField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","createGetFilters","manage","createInputField","createGraphQLInputField","exports"],"sources":["richText.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createRichTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-rich-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"rich-text\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n\n return `${field.fieldId}: JSON`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: JSON`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"JSON\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,mBAAmB,GAAGA,CAAA,KAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,sCAAsC;IAC5CC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,WAAW;IACtBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDC,gBAAgBA,CAAC;QAAEH;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAO;MACnC;IACJ,CAAC;IACDE,MAAM,EAAE;MACJL,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QACA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDG,gBAAgBA,CAAC;QAAEL;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAM,gCAAuB,EAACN,KAAK,EAAE,MAAM,CAAC;MACjD;IACJ;EACJ,CAAC;AACL,CAAC;AAACO,OAAA,CAAAf,mBAAA,GAAAA,mBAAA"}
@@ -15,6 +15,8 @@ const createListFilters = ({
15
15
  ${field.fieldId}_not_in: [String]
16
16
  ${field.fieldId}_contains: String
17
17
  ${field.fieldId}_not_contains: String
18
+ ${field.fieldId}_startsWith: String
19
+ ${field.fieldId}_not_startsWith: String
18
20
  `;
19
21
  };
20
22
  const createTextField = () => {
@@ -1 +1 @@
1
- {"version":3,"names":["createListFilters","field","fieldId","createTextField","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","createGetFilters","manage","createInputField","createGraphQLInputField"],"sources":["text.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: String\n ${field.fieldId}_not: String\n ${field.fieldId}_in: [String]\n ${field.fieldId}_not_in: [String]\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nexport const createTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"text\",\n isSortable: true,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAAK;AACL,CAAC;AAEM,MAAMC,eAAe,GAAG,MAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE,IAAI;IACpBC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QACA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDW,gBAAgB,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDF;IACJ,CAAC;IACDc,MAAM,EAAE;MACJd,iBAAiB;MACjBW,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QACA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDa,gBAAgB,CAAC;QAAEd;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAe,gCAAuB,EAACf,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_helpers","require","createListFilters","field","fieldId","createTextField","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","createGetFilters","manage","createInputField","createGraphQLInputField","exports"],"sources":["text.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: String\n ${field.fieldId}_not: String\n ${field.fieldId}_in: [String]\n ${field.fieldId}_not_in: [String]\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n ${field.fieldId}_startsWith: String\n ${field.fieldId}_not_startsWith: String\n `;\n};\n\nexport const createTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"text\",\n isSortable: true,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAKA,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAAK;AACL,CAAC;AAEM,MAAMC,eAAe,GAAGA,CAAA,KAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE,IAAI;IACpBC,IAAI,EAAE;MACFC,eAAeA,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QACA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDW,gBAAgBA,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDF;IACJ,CAAC;IACDc,MAAM,EAAE;MACJd,iBAAiB;MACjBW,eAAeA,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QACA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDa,gBAAgBA,CAAC;QAAEd;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAe,gCAAuB,EAACf,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAACgB,OAAA,CAAAd,eAAA,GAAAA,eAAA"}
package/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { CreateGraphQLParams } from "./graphql";
2
2
  import { CrudParams } from "./context";
3
3
  import { entryFieldFromStorageTransform, entryFromStorageTransform, entryToStorageTransform } from "./utils/entryStorage";
4
4
  export declare type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;
5
- export declare const createHeadlessCmsGraphQL: (params?: CreateHeadlessCmsGraphQLParams) => (import("@webiny/plugins/types").PluginCollection | import("./plugins").CmsParametersPlugin | import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("./types").CmsContext> | import("@webiny/api").ContextPlugin<import("./types").CmsContext>)[];
5
+ export declare const createHeadlessCmsGraphQL: (params?: CreateHeadlessCmsGraphQLParams) => (import("@webiny/plugins/types").PluginCollection | import("./plugins").CmsParametersPlugin | import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("./types").CmsContext>)[];
6
6
  export declare type ContentContextParams = CrudParams;
7
7
  export declare const createHeadlessCmsContext: (params: ContentContextParams) => (import("./types").ModelManagerPlugin | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelField> | import("@webiny/api").ContextPlugin<import("./types").CmsContext> | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelDynamicZoneField> | import("./types").CmsModelFieldToGraphQLPlugin<any>[] | (import("./types").CmsModelFieldValidatorPlugin | import("./types").CmsModelFieldPatternValidatorPlugin[])[] | (import("./fieldConverters/CmsModelObjectFieldConverterPlugin").CmsModelObjectFieldConverterPlugin | import("./fieldConverters/CmsModelDefaultFieldConverterPlugin").CmsModelDefaultFieldConverterPlugin | import("./fieldConverters/CmsModelDynamicZoneFieldConverterPlugin").CmsModelDynamicZoneFieldConverterPlugin)[])[];
8
8
  export * from "./graphqlFields";
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["createHeadlessCmsGraphQL","params","createPathParameterPlugin","createHeaderParameterPlugin","createContextParameterPlugin","baseCreateGraphQL","createHeadlessCmsContext","createContextPlugin","createDefaultModelManager","createGraphQLFields","createFieldConverters","createValidators","createDefaultStorageTransform","createObjectStorageTransform","createDynamicZoneStorageTransform"],"sources":["index.ts"],"sourcesContent":["import { createGraphQL as baseCreateGraphQL, CreateGraphQLParams } from \"~/graphql\";\nimport { createDefaultModelManager } from \"~/modelManager\";\nimport { createGraphQLFields } from \"~/graphqlFields\";\nimport { createValidators } from \"~/validators\";\nimport { createDefaultStorageTransform } from \"~/storage/default\";\nimport { createObjectStorageTransform } from \"~/storage/object\";\nimport { createDynamicZoneStorageTransform } from \"~/graphqlFields/dynamicZone/dynamicZoneStorage\";\nimport {\n createContextParameterPlugin,\n createHeaderParameterPlugin,\n createPathParameterPlugin\n} from \"~/parameters\";\nimport { createContextPlugin, CrudParams } from \"~/context\";\nimport {\n entryFieldFromStorageTransform,\n entryFromStorageTransform,\n entryToStorageTransform\n} from \"./utils/entryStorage\";\nimport { createFieldConverters } from \"~/fieldConverters\";\n\nexport type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;\nexport const createHeadlessCmsGraphQL = (params: CreateHeadlessCmsGraphQLParams = {}) => {\n return [\n /**\n * PathParameter plugins are used to determine the type of the cms endpoint\n */\n createPathParameterPlugin(),\n createHeaderParameterPlugin(),\n createContextParameterPlugin(),\n /**\n * At this point we can create, or not create, CMS GraphQL Schema.\n */\n ...baseCreateGraphQL(params)\n ];\n};\n\nexport type ContentContextParams = CrudParams;\nexport const createHeadlessCmsContext = (params: ContentContextParams) => {\n return [\n /**\n * Context for all Lambdas - everything is loaded now.\n */\n createContextPlugin(params),\n createDefaultModelManager(),\n createGraphQLFields(),\n createFieldConverters(),\n createValidators(),\n createDefaultStorageTransform(),\n createObjectStorageTransform(),\n createDynamicZoneStorageTransform()\n ];\n};\nexport * from \"~/graphqlFields\";\nexport * from \"~/plugins\";\nexport * from \"~/utils/incrementEntryIdVersion\";\nexport * from \"./graphql/handleRequest\";\nexport { entryToStorageTransform, entryFieldFromStorageTransform, entryFromStorageTransform };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAkDA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAjDA;AACA;AACA;AACA;AACA;AAKA;AACA;AAKA;AAmCA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAlCO,MAAMA,wBAAwB,GAAG,CAACC,MAAsC,GAAG,CAAC,CAAC,KAAK;EACrF,OAAO;EACH;AACR;AACA;EACQ,IAAAC,qCAAyB,GAAE,EAC3B,IAAAC,uCAA2B,GAAE,EAC7B,IAAAC,wCAA4B,GAAE;EAC9B;AACR;AACA;EACQ,GAAG,IAAAC,sBAAiB,EAACJ,MAAM,CAAC,CAC/B;AACL,CAAC;AAAC;AAGK,MAAMK,wBAAwB,GAAIL,MAA4B,IAAK;EACtE,OAAO;EACH;AACR;AACA;EACQ,IAAAM,4BAAmB,EAACN,MAAM,CAAC,EAC3B,IAAAO,uCAAyB,GAAE,EAC3B,IAAAC,kCAAmB,GAAE,EACrB,IAAAC,sCAAqB,GAAE,EACvB,IAAAC,4BAAgB,GAAE,EAClB,IAAAC,sCAA6B,GAAE,EAC/B,IAAAC,oCAA4B,GAAE,EAC9B,IAAAC,qDAAiC,GAAE,CACtC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_graphql","require","_modelManager","_graphqlFields","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_validators","_default","_object","_dynamicZoneStorage","_parameters","_context","_entryStorage","_fieldConverters","_plugins","_incrementEntryIdVersion","_handleRequest","createHeadlessCmsGraphQL","params","createPathParameterPlugin","createHeaderParameterPlugin","createContextParameterPlugin","baseCreateGraphQL","createHeadlessCmsContext","createContextPlugin","createDefaultModelManager","createGraphQLFields","createFieldConverters","createValidators","createDefaultStorageTransform","createObjectStorageTransform","createDynamicZoneStorageTransform"],"sources":["index.ts"],"sourcesContent":["import { createGraphQL as baseCreateGraphQL, CreateGraphQLParams } from \"~/graphql\";\nimport { createDefaultModelManager } from \"~/modelManager\";\nimport { createGraphQLFields } from \"~/graphqlFields\";\nimport { createValidators } from \"~/validators\";\nimport { createDefaultStorageTransform } from \"~/storage/default\";\nimport { createObjectStorageTransform } from \"~/storage/object\";\nimport { createDynamicZoneStorageTransform } from \"~/graphqlFields/dynamicZone/dynamicZoneStorage\";\nimport {\n createContextParameterPlugin,\n createHeaderParameterPlugin,\n createPathParameterPlugin\n} from \"~/parameters\";\nimport { createContextPlugin, CrudParams } from \"~/context\";\nimport {\n entryFieldFromStorageTransform,\n entryFromStorageTransform,\n entryToStorageTransform\n} from \"./utils/entryStorage\";\nimport { createFieldConverters } from \"~/fieldConverters\";\n\nexport type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;\nexport const createHeadlessCmsGraphQL = (params: CreateHeadlessCmsGraphQLParams = {}) => {\n return [\n /**\n * PathParameter plugins are used to determine the type of the cms endpoint\n */\n createPathParameterPlugin(),\n createHeaderParameterPlugin(),\n createContextParameterPlugin(),\n /**\n * At this point we can create, or not create, CMS GraphQL Schema.\n */\n ...baseCreateGraphQL(params)\n ];\n};\n\nexport type ContentContextParams = CrudParams;\nexport const createHeadlessCmsContext = (params: ContentContextParams) => {\n return [\n /**\n * Context for all Lambdas - everything is loaded now.\n */\n createContextPlugin(params),\n createDefaultModelManager(),\n createGraphQLFields(),\n createFieldConverters(),\n createValidators(),\n createDefaultStorageTransform(),\n createObjectStorageTransform(),\n createDynamicZoneStorageTransform()\n ];\n};\nexport * from \"~/graphqlFields\";\nexport * from \"~/plugins\";\nexport * from \"~/utils/incrementEntryIdVersion\";\nexport * from \"./graphql/handleRequest\";\nexport { entryToStorageTransform, entryFieldFromStorageTransform, entryFromStorageTransform };\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["DefaultCmsModelManager","constructor","context","model","_context","_model","create","data","cms","createEntry","delete","id","version","parseIdentifier","deleteEntryRevision","deleteEntry","get","getEntryById","listPublished","params","listPublishedEntries","listLatest","listLatestEntries","getPublishedByIds","ids","getPublishedEntriesByIds","getLatestByIds","getLatestEntriesByIds","update","updateEntry"],"sources":["DefaultCmsModelManager.ts"],"sourcesContent":["import {\n CmsModelManager,\n CmsModel,\n CmsContext,\n CmsEntryListParams,\n CreateCmsEntryInput,\n UpdateCmsEntryInput\n} from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\nexport class DefaultCmsModelManager implements CmsModelManager {\n private readonly _context: CmsContext;\n private readonly _model: CmsModel;\n\n public constructor(context: CmsContext, model: CmsModel) {\n this._context = context;\n this._model = model;\n }\n\n public async create(data: CreateCmsEntryInput) {\n return this._context.cms.createEntry(this._model, data);\n }\n\n public async delete(id: string) {\n const { version } = parseIdentifier(id);\n if (version) {\n return this._context.cms.deleteEntryRevision(this._model, id);\n }\n\n return this._context.cms.deleteEntry(this._model, id);\n }\n\n public async get(id: string) {\n return this._context.cms.getEntryById(this._model, id);\n }\n\n public async listPublished(params: CmsEntryListParams) {\n return this._context.cms.listPublishedEntries(this._model, params);\n }\n\n public async listLatest(params: CmsEntryListParams) {\n return this._context.cms.listLatestEntries(this._model, params);\n }\n\n public async getPublishedByIds(ids: string[]) {\n return this._context.cms.getPublishedEntriesByIds(this._model, ids);\n }\n\n public async getLatestByIds(ids: string[]) {\n return this._context.cms.getLatestEntriesByIds(this._model, ids);\n }\n\n public async update(id: string, data: UpdateCmsEntryInput) {\n return this._context.cms.updateEntry(this._model, id, data);\n }\n}\n"],"mappings":";;;;;;;;AAQA;AAEO,MAAMA,sBAAsB,CAA4B;EAIpDC,WAAW,CAACC,OAAmB,EAAEC,KAAe,EAAE;IAAA;IAAA;IACrD,IAAI,CAACC,QAAQ,GAAGF,OAAO;IACvB,IAAI,CAACG,MAAM,GAAGF,KAAK;EACvB;EAEA,MAAaG,MAAM,CAACC,IAAyB,EAAE;IAC3C,OAAO,IAAI,CAACH,QAAQ,CAACI,GAAG,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAEE,IAAI,CAAC;EAC3D;EAEA,MAAaG,MAAM,CAACC,EAAU,EAAE;IAC5B,MAAM;MAAEC;IAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACF,EAAE,CAAC;IACvC,IAAIC,OAAO,EAAE;MACT,OAAO,IAAI,CAACR,QAAQ,CAACI,GAAG,CAACM,mBAAmB,CAAC,IAAI,CAACT,MAAM,EAAEM,EAAE,CAAC;IACjE;IAEA,OAAO,IAAI,CAACP,QAAQ,CAACI,GAAG,CAACO,WAAW,CAAC,IAAI,CAACV,MAAM,EAAEM,EAAE,CAAC;EACzD;EAEA,MAAaK,GAAG,CAACL,EAAU,EAAE;IACzB,OAAO,IAAI,CAACP,QAAQ,CAACI,GAAG,CAACS,YAAY,CAAC,IAAI,CAACZ,MAAM,EAAEM,EAAE,CAAC;EAC1D;EAEA,MAAaO,aAAa,CAACC,MAA0B,EAAE;IACnD,OAAO,IAAI,CAACf,QAAQ,CAACI,GAAG,CAACY,oBAAoB,CAAC,IAAI,CAACf,MAAM,EAAEc,MAAM,CAAC;EACtE;EAEA,MAAaE,UAAU,CAACF,MAA0B,EAAE;IAChD,OAAO,IAAI,CAACf,QAAQ,CAACI,GAAG,CAACc,iBAAiB,CAAC,IAAI,CAACjB,MAAM,EAAEc,MAAM,CAAC;EACnE;EAEA,MAAaI,iBAAiB,CAACC,GAAa,EAAE;IAC1C,OAAO,IAAI,CAACpB,QAAQ,CAACI,GAAG,CAACiB,wBAAwB,CAAC,IAAI,CAACpB,MAAM,EAAEmB,GAAG,CAAC;EACvE;EAEA,MAAaE,cAAc,CAACF,GAAa,EAAE;IACvC,OAAO,IAAI,CAACpB,QAAQ,CAACI,GAAG,CAACmB,qBAAqB,CAAC,IAAI,CAACtB,MAAM,EAAEmB,GAAG,CAAC;EACpE;EAEA,MAAaI,MAAM,CAACjB,EAAU,EAAEJ,IAAyB,EAAE;IACvD,OAAO,IAAI,CAACH,QAAQ,CAACI,GAAG,CAACqB,WAAW,CAAC,IAAI,CAACxB,MAAM,EAAEM,EAAE,EAAEJ,IAAI,CAAC;EAC/D;AACJ;AAAC"}
1
+ {"version":3,"names":["_utils","require","DefaultCmsModelManager","constructor","context","model","_defineProperty2","default","_context","_model","create","data","cms","createEntry","delete","id","version","parseIdentifier","deleteEntryRevision","deleteEntry","get","getEntryById","listPublished","params","listPublishedEntries","listLatest","listLatestEntries","getPublishedByIds","ids","getPublishedEntriesByIds","getLatestByIds","getLatestEntriesByIds","update","updateEntry","exports"],"sources":["DefaultCmsModelManager.ts"],"sourcesContent":["import {\n CmsModelManager,\n CmsModel,\n CmsContext,\n CmsEntryListParams,\n CreateCmsEntryInput,\n UpdateCmsEntryInput\n} from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\nexport class DefaultCmsModelManager implements CmsModelManager {\n private readonly _context: CmsContext;\n private readonly _model: CmsModel;\n\n public constructor(context: CmsContext, model: CmsModel) {\n this._context = context;\n this._model = model;\n }\n\n public async create(data: CreateCmsEntryInput) {\n return this._context.cms.createEntry(this._model, data);\n }\n\n public async delete(id: string) {\n const { version } = parseIdentifier(id);\n if (version) {\n return this._context.cms.deleteEntryRevision(this._model, id);\n }\n\n return this._context.cms.deleteEntry(this._model, id);\n }\n\n public async get(id: string) {\n return this._context.cms.getEntryById(this._model, id);\n }\n\n public async listPublished(params: CmsEntryListParams) {\n return this._context.cms.listPublishedEntries(this._model, params);\n }\n\n public async listLatest(params: CmsEntryListParams) {\n return this._context.cms.listLatestEntries(this._model, params);\n }\n\n public async getPublishedByIds(ids: string[]) {\n return this._context.cms.getPublishedEntriesByIds(this._model, ids);\n }\n\n public async getLatestByIds(ids: string[]) {\n return this._context.cms.getLatestEntriesByIds(this._model, ids);\n }\n\n public async update(id: string, data: UpdateCmsEntryInput) {\n return this._context.cms.updateEntry(this._model, id, data);\n }\n}\n"],"mappings":";;;;;;;;AAQA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,sBAAsB,CAA4B;EAIpDC,WAAWA,CAACC,OAAmB,EAAEC,KAAe,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACrD,IAAI,CAACC,QAAQ,GAAGJ,OAAO;IACvB,IAAI,CAACK,MAAM,GAAGJ,KAAK;EACvB;EAEA,MAAaK,MAAMA,CAACC,IAAyB,EAAE;IAC3C,OAAO,IAAI,CAACH,QAAQ,CAACI,GAAG,CAACC,WAAW,CAAC,IAAI,CAACJ,MAAM,EAAEE,IAAI,CAAC;EAC3D;EAEA,MAAaG,MAAMA,CAACC,EAAU,EAAE;IAC5B,MAAM;MAAEC;IAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACF,EAAE,CAAC;IACvC,IAAIC,OAAO,EAAE;MACT,OAAO,IAAI,CAACR,QAAQ,CAACI,GAAG,CAACM,mBAAmB,CAAC,IAAI,CAACT,MAAM,EAAEM,EAAE,CAAC;IACjE;IAEA,OAAO,IAAI,CAACP,QAAQ,CAACI,GAAG,CAACO,WAAW,CAAC,IAAI,CAACV,MAAM,EAAEM,EAAE,CAAC;EACzD;EAEA,MAAaK,GAAGA,CAACL,EAAU,EAAE;IACzB,OAAO,IAAI,CAACP,QAAQ,CAACI,GAAG,CAACS,YAAY,CAAC,IAAI,CAACZ,MAAM,EAAEM,EAAE,CAAC;EAC1D;EAEA,MAAaO,aAAaA,CAACC,MAA0B,EAAE;IACnD,OAAO,IAAI,CAACf,QAAQ,CAACI,GAAG,CAACY,oBAAoB,CAAC,IAAI,CAACf,MAAM,EAAEc,MAAM,CAAC;EACtE;EAEA,MAAaE,UAAUA,CAACF,MAA0B,EAAE;IAChD,OAAO,IAAI,CAACf,QAAQ,CAACI,GAAG,CAACc,iBAAiB,CAAC,IAAI,CAACjB,MAAM,EAAEc,MAAM,CAAC;EACnE;EAEA,MAAaI,iBAAiBA,CAACC,GAAa,EAAE;IAC1C,OAAO,IAAI,CAACpB,QAAQ,CAACI,GAAG,CAACiB,wBAAwB,CAAC,IAAI,CAACpB,MAAM,EAAEmB,GAAG,CAAC;EACvE;EAEA,MAAaE,cAAcA,CAACF,GAAa,EAAE;IACvC,OAAO,IAAI,CAACpB,QAAQ,CAACI,GAAG,CAACmB,qBAAqB,CAAC,IAAI,CAACtB,MAAM,EAAEmB,GAAG,CAAC;EACpE;EAEA,MAAaI,MAAMA,CAACjB,EAAU,EAAEJ,IAAyB,EAAE;IACvD,OAAO,IAAI,CAACH,QAAQ,CAACI,GAAG,CAACqB,WAAW,CAAC,IAAI,CAACxB,MAAM,EAAEM,EAAE,EAAEJ,IAAI,CAAC;EAC/D;AACJ;AAACuB,OAAA,CAAAhC,sBAAA,GAAAA,sBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["plugin","type","name","create","context","model","DefaultCmsModelManager","createDefaultModelManager"],"sources":["index.ts"],"sourcesContent":["import { ModelManagerPlugin } from \"~/types\";\nimport { DefaultCmsModelManager } from \"./DefaultCmsModelManager\";\n\nconst plugin: ModelManagerPlugin = {\n type: \"cms-content-model-manager\",\n name: \"content-model-manager-default\",\n create: async (context, model) => {\n return new DefaultCmsModelManager(context, model);\n }\n};\n\nexport const createDefaultModelManager = () => plugin;\n"],"mappings":";;;;;;AACA;AAEA,MAAMA,MAA0B,GAAG;EAC/BC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,+BAA+B;EACrCC,MAAM,EAAE,OAAOC,OAAO,EAAEC,KAAK,KAAK;IAC9B,OAAO,IAAIC,8CAAsB,CAACF,OAAO,EAAEC,KAAK,CAAC;EACrD;AACJ,CAAC;AAEM,MAAME,yBAAyB,GAAG,MAAMP,MAAM;AAAC"}
1
+ {"version":3,"names":["_DefaultCmsModelManager","require","plugin","type","name","create","context","model","DefaultCmsModelManager","createDefaultModelManager","exports"],"sources":["index.ts"],"sourcesContent":["import { ModelManagerPlugin } from \"~/types\";\nimport { DefaultCmsModelManager } from \"./DefaultCmsModelManager\";\n\nconst plugin: ModelManagerPlugin = {\n type: \"cms-content-model-manager\",\n name: \"content-model-manager-default\",\n create: async (context, model) => {\n return new DefaultCmsModelManager(context, model);\n }\n};\n\nexport const createDefaultModelManager = () => plugin;\n"],"mappings":";;;;;;AACA,IAAAA,uBAAA,GAAAC,OAAA;AAEA,MAAMC,MAA0B,GAAG;EAC/BC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,+BAA+B;EACrCC,MAAM,EAAE,MAAAA,CAAOC,OAAO,EAAEC,KAAK,KAAK;IAC9B,OAAO,IAAIC,8CAAsB,CAACF,OAAO,EAAEC,KAAK,CAAC;EACrD;AACJ,CAAC;AAEM,MAAME,yBAAyB,GAAGA,CAAA,KAAMP,MAAM;AAACQ,OAAA,CAAAD,yBAAA,GAAAA,yBAAA"}