@webiny/api-headless-cms 5.37.8 → 5.38.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 (308) hide show
  1. package/constants.js +3 -1
  2. package/context.js +10 -17
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/afterDelete.js +3 -1
  5. package/crud/contentEntry/beforeCreate.js +3 -1
  6. package/crud/contentEntry/beforeUpdate.js +3 -1
  7. package/crud/contentEntry/entryDataValidation.d.ts +4 -2
  8. package/crud/contentEntry/entryDataValidation.js +220 -47
  9. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  10. package/crud/contentEntry/markLockedFields.js +3 -1
  11. package/crud/contentEntry/referenceFieldsMapping.d.ts +6 -0
  12. package/crud/contentEntry/referenceFieldsMapping.js +118 -97
  13. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  14. package/crud/contentEntry/searchableFields.js +5 -3
  15. package/crud/contentEntry/searchableFields.js.map +1 -1
  16. package/crud/contentEntry.crud.js +68 -64
  17. package/crud/contentEntry.crud.js.map +1 -1
  18. package/crud/contentModel/beforeCreate.d.ts +1 -1
  19. package/crud/contentModel/beforeCreate.js +11 -9
  20. package/crud/contentModel/beforeCreate.js.map +1 -1
  21. package/crud/contentModel/beforeDelete.js +3 -1
  22. package/crud/contentModel/beforeUpdate.d.ts +1 -1
  23. package/crud/contentModel/beforeUpdate.js +3 -6
  24. package/crud/contentModel/beforeUpdate.js.map +1 -1
  25. package/crud/contentModel/compatibility/modelApiName.js +3 -1
  26. package/crud/contentModel/contentModelManagerFactory.js +3 -1
  27. package/crud/contentModel/createFieldStorageId.js +3 -1
  28. package/crud/contentModel/defaultFields.js +3 -1
  29. package/crud/contentModel/ensureTypeTag.d.ts +5 -0
  30. package/crud/contentModel/ensureTypeTag.js +21 -0
  31. package/crud/contentModel/ensureTypeTag.js.map +1 -0
  32. package/crud/contentModel/fields/descriptionField.js +3 -1
  33. package/crud/contentModel/fields/imageField.js +3 -1
  34. package/crud/contentModel/fields/titleField.js +3 -1
  35. package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
  36. package/crud/contentModel/listModelsFromDatabase.js +39 -0
  37. package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
  38. package/crud/contentModel/validate/endingAllowed.js +3 -1
  39. package/crud/contentModel/validate/isModelEndingAllowed.js +4 -2
  40. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
  41. package/crud/contentModel/validate/modelId.js +3 -1
  42. package/crud/contentModel/validate/pluralApiName.js +3 -1
  43. package/crud/contentModel/validate/singularApiName.js +3 -1
  44. package/crud/contentModel/validateModel.js +3 -1
  45. package/crud/contentModel/validateModel.js.map +1 -1
  46. package/crud/contentModel/validateModelFields.js +3 -1
  47. package/crud/contentModel/validation.d.ts +339 -58
  48. package/crud/contentModel/validation.js +71 -11
  49. package/crud/contentModel/validation.js.map +1 -1
  50. package/crud/contentModel.crud.js +80 -156
  51. package/crud/contentModel.crud.js.map +1 -1
  52. package/crud/contentModelGroup/beforeCreate.d.ts +1 -1
  53. package/crud/contentModelGroup/beforeCreate.js +15 -1
  54. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  55. package/crud/contentModelGroup/beforeDelete.js +3 -1
  56. package/crud/contentModelGroup/beforeUpdate.js +3 -1
  57. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
  58. package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
  59. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
  60. package/crud/contentModelGroup/validation.d.ts +9 -6
  61. package/crud/contentModelGroup/validation.js +5 -2
  62. package/crud/contentModelGroup/validation.js.map +1 -1
  63. package/crud/contentModelGroup.crud.js +89 -110
  64. package/crud/contentModelGroup.crud.js.map +1 -1
  65. package/crud/system.crud.js +4 -7
  66. package/crud/system.crud.js.map +1 -1
  67. package/export/crud/exporting.d.ts +3 -0
  68. package/export/crud/exporting.js +50 -0
  69. package/export/crud/exporting.js.map +1 -0
  70. package/export/crud/importing.d.ts +3 -0
  71. package/export/crud/importing.js +79 -0
  72. package/export/crud/importing.js.map +1 -0
  73. package/export/crud/imports/importData.d.ts +14 -0
  74. package/export/crud/imports/importData.js +25 -0
  75. package/export/crud/imports/importData.js.map +1 -0
  76. package/export/crud/imports/importGroups.d.ts +8 -0
  77. package/export/crud/imports/importGroups.js +99 -0
  78. package/export/crud/imports/importGroups.js.map +1 -0
  79. package/export/crud/imports/importModels.d.ts +8 -0
  80. package/export/crud/imports/importModels.js +134 -0
  81. package/export/crud/imports/importModels.js.map +1 -0
  82. package/export/crud/imports/validateGroups.d.ts +8 -0
  83. package/export/crud/imports/validateGroups.js +106 -0
  84. package/export/crud/imports/validateGroups.js.map +1 -0
  85. package/export/crud/imports/validateInput.d.ts +19 -0
  86. package/export/crud/imports/validateInput.js +49 -0
  87. package/export/crud/imports/validateInput.js.map +1 -0
  88. package/export/crud/imports/validateModels.d.ts +9 -0
  89. package/export/crud/imports/validateModels.js +204 -0
  90. package/export/crud/imports/validateModels.js.map +1 -0
  91. package/export/crud/index.d.ts +4 -0
  92. package/export/crud/index.js +15 -0
  93. package/export/crud/index.js.map +1 -0
  94. package/export/crud/sanitize.d.ts +4 -0
  95. package/export/crud/sanitize.js +35 -0
  96. package/export/crud/sanitize.js.map +1 -0
  97. package/export/graphql/index.d.ts +3 -0
  98. package/export/graphql/index.js +188 -0
  99. package/export/graphql/index.js.map +1 -0
  100. package/export/index.d.ts +2 -0
  101. package/export/index.js +29 -0
  102. package/export/index.js.map +1 -0
  103. package/export/types.d.ts +111 -0
  104. package/export/types.js +22 -0
  105. package/export/types.js.map +1 -0
  106. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +3 -1
  107. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +3 -1
  108. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +3 -1
  109. package/fieldConverters/index.js +3 -1
  110. package/graphql/buildSchemaPlugins.js +3 -1
  111. package/graphql/checkEndpointAccess.js +3 -1
  112. package/graphql/createExecutableSchema.js +3 -1
  113. package/graphql/createRequestBody.js +3 -1
  114. package/graphql/formatErrorPayload.js +3 -1
  115. package/graphql/generateSchema.js +3 -1
  116. package/graphql/getSchema.d.ts +0 -1
  117. package/graphql/getSchema.js +23 -13
  118. package/graphql/getSchema.js.map +1 -1
  119. package/graphql/graphQLHandlerFactory.js +3 -1
  120. package/graphql/handleRequest.js +3 -5
  121. package/graphql/handleRequest.js.map +1 -1
  122. package/graphql/index.d.ts +1 -1
  123. package/graphql/index.js +4 -2
  124. package/graphql/index.js.map +1 -1
  125. package/graphql/schema/baseContentSchema.js +3 -1
  126. package/graphql/schema/baseSchema.d.ts +2 -3
  127. package/graphql/schema/baseSchema.js +58 -2
  128. package/graphql/schema/baseSchema.js.map +1 -1
  129. package/graphql/schema/contentEntries.js +4 -2
  130. package/graphql/schema/contentEntries.js.map +1 -1
  131. package/graphql/schema/contentModelGroups.js +4 -1
  132. package/graphql/schema/contentModelGroups.js.map +1 -1
  133. package/graphql/schema/contentModels.js +5 -5
  134. package/graphql/schema/contentModels.js.map +1 -1
  135. package/graphql/schema/createFieldResolvers.js +3 -1
  136. package/graphql/schema/createFieldTypePluginRecords.js +3 -1
  137. package/graphql/schema/createManageResolvers.js +7 -1
  138. package/graphql/schema/createManageResolvers.js.map +1 -1
  139. package/graphql/schema/createManageSDL.js +8 -4
  140. package/graphql/schema/createManageSDL.js.map +1 -1
  141. package/graphql/schema/createPreviewResolvers.js +3 -1
  142. package/graphql/schema/createReadResolvers.js +3 -1
  143. package/graphql/schema/createReadSDL.js +3 -1
  144. package/graphql/schema/resolvers/commonFieldResolvers.js +3 -1
  145. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -1
  146. package/graphql/schema/resolvers/manage/resolveCreate.js +4 -2
  147. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  148. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -1
  149. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -2
  150. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  151. package/graphql/schema/resolvers/manage/resolveDelete.js +3 -1
  152. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +3 -1
  153. package/graphql/schema/resolvers/manage/resolveGet.js +3 -1
  154. package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -1
  155. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -1
  156. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +3 -1
  157. package/graphql/schema/resolvers/manage/resolveList.js +3 -1
  158. package/graphql/schema/resolvers/manage/resolveMove.js +3 -1
  159. package/graphql/schema/resolvers/manage/resolvePublish.js +3 -1
  160. package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -1
  161. package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -1
  162. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -1
  163. package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -2
  164. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  165. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
  166. package/graphql/schema/resolvers/manage/resolveValidate.js +20 -0
  167. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
  168. package/graphql/schema/resolvers/preview/resolveGet.js +3 -1
  169. package/graphql/schema/resolvers/preview/resolveList.js +3 -1
  170. package/graphql/schema/resolvers/read/resolveGet.js +3 -1
  171. package/graphql/schema/resolvers/read/resolveList.js +3 -1
  172. package/graphql/schema/schemaPlugins.js +3 -1
  173. package/graphql/system.js +3 -1
  174. package/graphqlFields/boolean.js +3 -1
  175. package/graphqlFields/datetime.js +4 -3
  176. package/graphqlFields/datetime.js.map +1 -1
  177. package/graphqlFields/dynamicZone/dynamicZoneField.js +29 -6
  178. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  179. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +3 -1
  180. package/graphqlFields/dynamicZone/index.js +3 -1
  181. package/graphqlFields/file.js +3 -1
  182. package/graphqlFields/helpers.d.ts +0 -1
  183. package/graphqlFields/helpers.js +6 -18
  184. package/graphqlFields/helpers.js.map +1 -1
  185. package/graphqlFields/index.js +3 -1
  186. package/graphqlFields/longText.js +14 -3
  187. package/graphqlFields/longText.js.map +1 -1
  188. package/graphqlFields/number.js +3 -1
  189. package/graphqlFields/object.js +5 -17
  190. package/graphqlFields/object.js.map +1 -1
  191. package/graphqlFields/ref.js +4 -2
  192. package/graphqlFields/ref.js.map +1 -1
  193. package/graphqlFields/richText.js +3 -1
  194. package/graphqlFields/text.js +3 -1
  195. package/index.d.ts +1 -1
  196. package/index.js +5 -2
  197. package/index.js.map +1 -1
  198. package/modelManager/DefaultCmsModelManager.js +3 -1
  199. package/modelManager/index.js +3 -1
  200. package/package.json +18 -19
  201. package/parameters/context.js +3 -1
  202. package/parameters/header.js +3 -1
  203. package/parameters/index.js +3 -1
  204. package/parameters/manual.js +3 -1
  205. package/parameters/path.js +3 -1
  206. package/plugins/CmsGraphQLSchemaPlugin.js +3 -1
  207. package/plugins/CmsGraphQLSchemaSorterPlugin.js +3 -1
  208. package/plugins/CmsGroupPlugin.d.ts +6 -3
  209. package/plugins/CmsGroupPlugin.js +7 -2
  210. package/plugins/CmsGroupPlugin.js.map +1 -1
  211. package/plugins/CmsModelFieldConverterPlugin.js +3 -1
  212. package/plugins/CmsModelPlugin.d.ts +2 -2
  213. package/plugins/CmsModelPlugin.js +6 -2
  214. package/plugins/CmsModelPlugin.js.map +1 -1
  215. package/plugins/CmsParametersPlugin.js +3 -1
  216. package/plugins/StorageOperationsCmsModelPlugin.js +3 -1
  217. package/plugins/StorageTransformPlugin.js +3 -1
  218. package/plugins/index.js +3 -1
  219. package/storage/default.js +3 -1
  220. package/storage/object.js +3 -1
  221. package/types.d.ts +62 -230
  222. package/types.js +3 -17
  223. package/types.js.map +1 -1
  224. package/utils/access.js +3 -1
  225. package/utils/caching/Cache.d.ts +2 -0
  226. package/utils/caching/Cache.js +53 -0
  227. package/utils/caching/Cache.js.map +1 -0
  228. package/utils/caching/CacheKey.d.ts +3 -0
  229. package/utils/caching/CacheKey.js +41 -0
  230. package/utils/caching/CacheKey.js.map +1 -0
  231. package/utils/caching/index.d.ts +2 -0
  232. package/utils/caching/index.js +29 -0
  233. package/utils/caching/index.js.map +1 -0
  234. package/utils/caching/types.d.ts +9 -0
  235. package/utils/caching/types.js +7 -0
  236. package/utils/caching/types.js.map +1 -0
  237. package/utils/converters/Converter.js +3 -1
  238. package/utils/converters/ConverterCollection.js +3 -1
  239. package/utils/converters/valueKeyStorageConverter.js +3 -1
  240. package/utils/createTypeFromFields.js +6 -1
  241. package/utils/createTypeFromFields.js.map +1 -1
  242. package/utils/createTypeName.js +3 -1
  243. package/utils/entryStorage.js +3 -1
  244. package/utils/filterAsync.js +3 -1
  245. package/utils/getBaseFieldType.js +3 -1
  246. package/utils/getEntryDescription.js +3 -1
  247. package/utils/getEntryImage.js +3 -1
  248. package/utils/getEntryTitle.js +3 -1
  249. package/utils/getSchemaFromFieldPlugins.js +3 -1
  250. package/utils/incrementEntryIdVersion.js +3 -1
  251. package/utils/index.d.ts +1 -0
  252. package/utils/index.js +18 -0
  253. package/utils/index.js.map +1 -0
  254. package/utils/permissions/EntriesPermissions.js +3 -1
  255. package/utils/permissions/ModelGroupsPermissions.js +3 -1
  256. package/utils/permissions/ModelsPermissions.js +3 -1
  257. package/utils/renderFields.js +3 -1
  258. package/utils/renderGetFilterFields.js +3 -1
  259. package/utils/renderInputFields.js +3 -1
  260. package/utils/renderListFilterFields.js +3 -1
  261. package/utils/renderSortEnum.js +3 -1
  262. package/utils/toSlug.js +3 -1
  263. package/validators/dateGte.js +3 -1
  264. package/validators/dateLte.js +3 -1
  265. package/validators/gte.js +3 -1
  266. package/validators/in.js +3 -1
  267. package/validators/index.js +4 -3
  268. package/validators/index.js.map +1 -1
  269. package/validators/lte.js +3 -1
  270. package/validators/maxLength.js +3 -1
  271. package/validators/minLength.js +3 -1
  272. package/validators/pattern.js +3 -1
  273. package/validators/patternPlugins/email.js +3 -1
  274. package/validators/patternPlugins/index.js +3 -1
  275. package/validators/patternPlugins/lowerCase.js +3 -1
  276. package/validators/patternPlugins/lowerCaseSpace.js +3 -1
  277. package/validators/patternPlugins/upperCase.js +3 -1
  278. package/validators/patternPlugins/upperCaseSpace.js +3 -1
  279. package/validators/patternPlugins/url.js +3 -1
  280. package/validators/required.js +3 -1
  281. package/validators/timeGte.js +3 -1
  282. package/validators/timeLte.js +3 -1
  283. package/validators/unique.js +4 -2
  284. package/validators/unique.js.map +1 -1
  285. package/crud/contentModel/afterCreate.d.ts +0 -8
  286. package/crud/contentModel/afterCreate.js +0 -16
  287. package/crud/contentModel/afterCreate.js.map +0 -1
  288. package/crud/contentModel/afterCreateFrom.d.ts +0 -8
  289. package/crud/contentModel/afterCreateFrom.js +0 -16
  290. package/crud/contentModel/afterCreateFrom.js.map +0 -1
  291. package/crud/contentModel/afterDelete.d.ts +0 -8
  292. package/crud/contentModel/afterDelete.js +0 -16
  293. package/crud/contentModel/afterDelete.js.map +0 -1
  294. package/crud/contentModel/afterUpdate.d.ts +0 -8
  295. package/crud/contentModel/afterUpdate.js +0 -16
  296. package/crud/contentModel/afterUpdate.js.map +0 -1
  297. package/crud/contentModel/validateLayout.d.ts +0 -2
  298. package/crud/contentModel/validateLayout.js +0 -28
  299. package/crud/contentModel/validateLayout.js.map +0 -1
  300. package/crud/settings.crud.d.ts +0 -12
  301. package/crud/settings.crud.js +0 -62
  302. package/crud/settings.crud.js.map +0 -1
  303. package/utils/permissions/SettingsPermissions.d.ts +0 -4
  304. package/utils/permissions/SettingsPermissions.js +0 -9
  305. package/utils/permissions/SettingsPermissions.js.map +0 -1
  306. package/validators/dynamicZone.d.ts +0 -2
  307. package/validators/dynamicZone.js +0 -20
  308. package/validators/dynamicZone.js.map +0 -1
@@ -33,4 +33,6 @@ const resolveDelete = ({
33
33
  return new _responses.ErrorResponse(e);
34
34
  }
35
35
  };
36
- exports.resolveDelete = resolveDelete;
36
+ exports.resolveDelete = resolveDelete;
37
+
38
+ //# sourceMappingURL=resolveDelete.js.map
@@ -17,4 +17,6 @@ const resolveDeleteMultiple = ({
17
17
  return new _responses.ErrorResponse(e);
18
18
  }
19
19
  };
20
- exports.resolveDeleteMultiple = resolveDeleteMultiple;
20
+ exports.resolveDeleteMultiple = resolveDeleteMultiple;
21
+
22
+ //# sourceMappingURL=resolveDeleteMultiple.js.map
@@ -60,4 +60,6 @@ const resolveGet = ({
60
60
  return new _responses.ErrorResponse(e);
61
61
  }
62
62
  };
63
- exports.resolveGet = resolveGet;
63
+ exports.resolveGet = resolveGet;
64
+
65
+ //# sourceMappingURL=resolveGet.js.map
@@ -15,4 +15,6 @@ const resolveGetByIds = ({
15
15
  return new _responses.ErrorResponse(e);
16
16
  }
17
17
  };
18
- exports.resolveGetByIds = resolveGetByIds;
18
+ exports.resolveGetByIds = resolveGetByIds;
19
+
20
+ //# sourceMappingURL=resolveGetByIds.js.map
@@ -15,4 +15,6 @@ const resolveGetRevisions = ({
15
15
  return new _responses.ErrorResponse(e);
16
16
  }
17
17
  };
18
- exports.resolveGetRevisions = resolveGetRevisions;
18
+ exports.resolveGetRevisions = resolveGetRevisions;
19
+
20
+ //# sourceMappingURL=resolveGetRevisions.js.map
@@ -15,4 +15,6 @@ const resolveGetUniqueFieldValues = ({
15
15
  return new _responses.ListErrorResponse(e);
16
16
  }
17
17
  };
18
- exports.resolveGetUniqueFieldValues = resolveGetUniqueFieldValues;
18
+ exports.resolveGetUniqueFieldValues = resolveGetUniqueFieldValues;
19
+
20
+ //# sourceMappingURL=resolveGetUniqueFieldValues.js.map
@@ -15,4 +15,6 @@ const resolveList = ({
15
15
  return new _responses.ListErrorResponse(e);
16
16
  }
17
17
  };
18
- exports.resolveList = resolveList;
18
+ exports.resolveList = resolveList;
19
+
20
+ //# sourceMappingURL=resolveList.js.map
@@ -22,4 +22,6 @@ const resolveMove = ({
22
22
  return new _responses.ErrorResponse(ex);
23
23
  }
24
24
  };
25
- exports.resolveMove = resolveMove;
25
+ exports.resolveMove = resolveMove;
26
+
27
+ //# sourceMappingURL=resolveMove.js.map
@@ -15,4 +15,6 @@ const resolvePublish = ({
15
15
  return new _responses.ErrorResponse(e);
16
16
  }
17
17
  };
18
- exports.resolvePublish = resolvePublish;
18
+ exports.resolvePublish = resolvePublish;
19
+
20
+ //# sourceMappingURL=resolvePublish.js.map
@@ -15,4 +15,6 @@ const resolveRepublish = ({
15
15
  return new _responses.ErrorResponse(e);
16
16
  }
17
17
  };
18
- exports.resolveRepublish = resolveRepublish;
18
+ exports.resolveRepublish = resolveRepublish;
19
+
20
+ //# sourceMappingURL=resolveRepublish.js.map
@@ -15,4 +15,6 @@ const resolveUnpublish = ({
15
15
  return new _responses.ErrorResponse(e);
16
16
  }
17
17
  };
18
- exports.resolveUnpublish = resolveUnpublish;
18
+ exports.resolveUnpublish = resolveUnpublish;
19
+
20
+ //# sourceMappingURL=resolveUnpublish.js.map
@@ -1,7 +1,8 @@
1
- import { CmsEntryResolverFactory as ResolverFactory, UpdateCmsEntryInput } from "../../../../types";
1
+ import { CmsEntryResolverFactory as ResolverFactory, UpdateCmsEntryInput, UpdateCmsEntryOptionsInput } from "../../../../types";
2
2
  interface ResolveUpdateArgs {
3
3
  revision: string;
4
4
  data: UpdateCmsEntryInput;
5
+ options?: UpdateCmsEntryOptionsInput;
5
6
  }
6
7
  declare type ResolveUpdate = ResolverFactory<any, ResolveUpdateArgs>;
7
8
  export declare const resolveUpdate: ResolveUpdate;
@@ -9,10 +9,12 @@ const resolveUpdate = ({
9
9
  model
10
10
  }) => async (_, args, context) => {
11
11
  try {
12
- const entry = await context.cms.updateEntry(model, args.revision, args.data);
12
+ const entry = await context.cms.updateEntry(model, args.revision, args.data, {}, args.options);
13
13
  return new _responses.Response(entry);
14
14
  } catch (e) {
15
15
  return new _responses.ErrorResponse(e);
16
16
  }
17
17
  };
18
- exports.resolveUpdate = resolveUpdate;
18
+ exports.resolveUpdate = resolveUpdate;
19
+
20
+ //# sourceMappingURL=resolveUpdate.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_responses","require","resolveUpdate","model","_","args","context","entry","cms","updateEntry","revision","data","Response","e","ErrorResponse","exports"],"sources":["resolveUpdate.ts"],"sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory, UpdateCmsEntryInput } from \"~/types\";\n\ninterface ResolveUpdateArgs {\n revision: string;\n data: UpdateCmsEntryInput;\n}\ntype ResolveUpdate = ResolverFactory<any, ResolveUpdateArgs>;\n\nexport const resolveUpdate: ResolveUpdate =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const entry = await context.cms.updateEntry(model, args.revision, args.data);\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AASO,MAAMC,aAA4B,GACrCA,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;EAC7B,IAAI;IACA,MAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACC,WAAW,CAACN,KAAK,EAAEE,IAAI,CAACK,QAAQ,EAAEL,IAAI,CAACM,IAAI,CAAC;IAE5E,OAAO,IAAIC,mBAAQ,CAACL,KAAK,CAAC;EAC9B,CAAC,CAAC,OAAOM,CAAC,EAAE;IACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAACE,OAAA,CAAAb,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"names":["_responses","require","resolveUpdate","model","_","args","context","entry","cms","updateEntry","revision","data","options","Response","e","ErrorResponse","exports"],"sources":["resolveUpdate.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport {\n CmsEntryResolverFactory as ResolverFactory,\n UpdateCmsEntryInput,\n UpdateCmsEntryOptionsInput\n} from \"~/types\";\n\ninterface ResolveUpdateArgs {\n revision: string;\n data: UpdateCmsEntryInput;\n options?: UpdateCmsEntryOptionsInput;\n}\ntype ResolveUpdate = ResolverFactory<any, ResolveUpdateArgs>;\n\nexport const resolveUpdate: ResolveUpdate =\n ({ model }) =>\n async (_, args, context) => {\n try {\n const entry = await context.cms.updateEntry(\n model,\n args.revision,\n args.data,\n {},\n args.options\n );\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAcO,MAAMC,aAA4B,GACrCA,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;EACxB,IAAI;IACA,MAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACC,WAAW,CACvCN,KAAK,EACLE,IAAI,CAACK,QAAQ,EACbL,IAAI,CAACM,IAAI,EACT,CAAC,CAAC,EACFN,IAAI,CAACO,OACT,CAAC;IAED,OAAO,IAAIC,mBAAQ,CAACN,KAAK,CAAC;EAC9B,CAAC,CAAC,OAAOO,CAAC,EAAE;IACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAACE,OAAA,CAAAd,aAAA,GAAAA,aAAA"}
@@ -0,0 +1,8 @@
1
+ import { CmsEntryResolverFactory as ResolverFactory, UpdateCmsEntryInput } from "../../../../types";
2
+ interface ResolveUpdateArgs {
3
+ revision?: string;
4
+ data: UpdateCmsEntryInput;
5
+ }
6
+ declare type ResolveValidate = ResolverFactory<any, ResolveUpdateArgs>;
7
+ export declare const resolveValidate: ResolveValidate;
8
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveValidate = void 0;
7
+ var _responses = require("@webiny/handler-graphql/responses");
8
+ const resolveValidate = ({
9
+ model
10
+ }) => async (_, args, context) => {
11
+ try {
12
+ const entry = await context.cms.validateEntry(model, args.revision, args.data);
13
+ return new _responses.Response(entry);
14
+ } catch (e) {
15
+ return new _responses.ErrorResponse(e);
16
+ }
17
+ };
18
+ exports.resolveValidate = resolveValidate;
19
+
20
+ //# sourceMappingURL=resolveValidate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_responses","require","resolveValidate","model","_","args","context","entry","cms","validateEntry","revision","data","Response","e","ErrorResponse","exports"],"sources":["resolveValidate.ts"],"sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory, UpdateCmsEntryInput } from \"~/types\";\n\ninterface ResolveUpdateArgs {\n revision?: string;\n data: UpdateCmsEntryInput;\n}\ntype ResolveValidate = ResolverFactory<any, ResolveUpdateArgs>;\n\nexport const resolveValidate: ResolveValidate =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const entry = await context.cms.validateEntry(model, args.revision, args.data);\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AASO,MAAMC,eAAgC,GACzCA,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;EAC7B,IAAI;IACA,MAAMC,KAAK,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACC,aAAa,CAACN,KAAK,EAAEE,IAAI,CAACK,QAAQ,EAAEL,IAAI,CAACM,IAAI,CAAC;IAE9E,OAAO,IAAIC,mBAAQ,CAACL,KAAK,CAAC;EAC9B,CAAC,CAAC,OAAOM,CAAC,EAAE;IACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAACE,OAAA,CAAAb,eAAA,GAAAA,eAAA"}
@@ -23,4 +23,6 @@ const resolveGet = ({
23
23
  return new _responses.ErrorResponse(e);
24
24
  }
25
25
  };
26
- exports.resolveGet = resolveGet;
26
+ exports.resolveGet = resolveGet;
27
+
28
+ //# sourceMappingURL=resolveGet.js.map
@@ -15,4 +15,6 @@ const resolveList = ({
15
15
  return new _responses.ListErrorResponse(e);
16
16
  }
17
17
  };
18
- exports.resolveList = resolveList;
18
+ exports.resolveList = resolveList;
19
+
20
+ //# sourceMappingURL=resolveList.js.map
@@ -23,4 +23,6 @@ const resolveGet = ({
23
23
  return new _responses.ErrorResponse(e);
24
24
  }
25
25
  };
26
- exports.resolveGet = resolveGet;
26
+ exports.resolveGet = resolveGet;
27
+
28
+ //# sourceMappingURL=resolveGet.js.map
@@ -15,4 +15,6 @@ const resolveList = ({
15
15
  return new _responses.ListErrorResponse(e);
16
16
  }
17
17
  };
18
- exports.resolveList = resolveList;
18
+ exports.resolveList = resolveList;
19
+
20
+ //# sourceMappingURL=resolveList.js.map
@@ -97,4 +97,6 @@ const generateSchemaPlugins = async params => {
97
97
  });
98
98
  return schemaPlugins.filter(pl => !!pl.schema.typeDefs);
99
99
  };
100
- exports.generateSchemaPlugins = generateSchemaPlugins;
100
+ exports.generateSchemaPlugins = generateSchemaPlugins;
101
+
102
+ //# sourceMappingURL=schemaPlugins.js.map
package/graphql/system.js CHANGED
@@ -74,4 +74,6 @@ plugin.name = "cms.graphql.schema.system";
74
74
  const createSystemSchemaPlugin = () => {
75
75
  return plugin;
76
76
  };
77
- exports.createSystemSchemaPlugin = createSystemSchemaPlugin;
77
+ exports.createSystemSchemaPlugin = createSystemSchemaPlugin;
78
+
79
+ //# sourceMappingURL=system.js.map
@@ -54,4 +54,6 @@ const createBooleanField = () => {
54
54
  }
55
55
  };
56
56
  };
57
- exports.createBooleanField = createBooleanField;
57
+ exports.createBooleanField = createBooleanField;
58
+
59
+ //# sourceMappingURL=boolean.js.map
@@ -62,8 +62,7 @@ const createDateTimeField = () => {
62
62
  field
63
63
  }) {
64
64
  if (field.multipleValues) {
65
- const def = (0, _helpers.attachRequiredFieldValue)(getFieldGraphQLType(field), field);
66
- return `${field.fieldId}: [${def}]`;
65
+ return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;
67
66
  }
68
67
  return `${field.fieldId}: ${getFieldGraphQLType(field)}`;
69
68
  },
@@ -75,4 +74,6 @@ const createDateTimeField = () => {
75
74
  }
76
75
  };
77
76
  };
78
- exports.createDateTimeField = createDateTimeField;
77
+ exports.createDateTimeField = createDateTimeField;
78
+
79
+ //# sourceMappingURL=datetime.js.map
@@ -1 +1 @@
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
+ {"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","createInputField","createGraphQLInputField","exports"],"sources":["datetime.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { 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 return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\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,OAAQ,GAAEd,KAAK,CAACK,OAAQ,MAAKN,mBAAmB,CAACC,KAAK,CAAE,GAAE;QAC9D;QACA,OAAQ,GAAEA,KAAK,CAACK,OAAQ,KAAIN,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDgB,gBAAgBA,CAAC;QAAEhB;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAiB,gCAAuB,EAACjB,KAAK,EAAED,mBAAmB,CAACC,KAAK,CAAC,CAAC;MACrE;IACJ;EACJ,CAAC;AACL,CAAC;AAACkB,OAAA,CAAAZ,mBAAA,GAAAA,mBAAA"}
@@ -64,20 +64,29 @@ const createResolver = endpointType => {
64
64
  models,
65
65
  field,
66
66
  fieldTypePlugins,
67
- createFieldResolvers
67
+ createFieldResolvers,
68
+ graphQLType
68
69
  }) => {
70
+ const templates = getFieldTemplates(field);
71
+ if (!templates.length) {
72
+ return false;
73
+ }
69
74
  const resolver = parent => {
70
75
  const value = parent[field.fieldId];
71
76
  if (!value) {
72
77
  return value;
73
78
  }
74
- const typeName = `${model.singularApiName}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
79
+ const typeName = `${graphQLType}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
80
+ // const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;
81
+
75
82
  if (field.multipleValues && Array.isArray(value)) {
76
- return value.map(v => remapTemplateValue(v, typeName));
83
+ const remappedValues = value.map(v => {
84
+ return remapTemplateValue(v, typeName);
85
+ });
86
+ return remappedValues;
77
87
  }
78
88
  return remapTemplateValue(value, typeName);
79
89
  };
80
- const templates = getFieldTemplates(field);
81
90
  const {
82
91
  templateTypes
83
92
  } = createTypeDefsForTemplates({
@@ -89,7 +98,10 @@ const createResolver = endpointType => {
89
98
  fieldTypePlugins,
90
99
  templates
91
100
  });
92
- const typeResolvers = templateTypes.reduce((typeResolvers, templateType, index) => {
101
+ const replace = new RegExp(`${model.singularApiName}_`, "g");
102
+ const typeResolvers = templateTypes.map(templateType => {
103
+ return templateType.replace(replace, `${graphQLType}_`);
104
+ }).reduce((typeResolvers, templateType, index) => {
93
105
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, typeResolvers), createFieldResolvers({
94
106
  graphQLType: templateType,
95
107
  fields: field.settings.templates[index].fields
@@ -137,6 +149,9 @@ const createDynamicZoneField = () => {
137
149
  fieldTypePlugins
138
150
  }) {
139
151
  const templates = getFieldTemplates(field);
152
+ if (!templates.length) {
153
+ return null;
154
+ }
140
155
  const unionTypeName = createUnionTypeName(model, field);
141
156
  const {
142
157
  typeDefs,
@@ -166,6 +181,9 @@ const createDynamicZoneField = () => {
166
181
  fieldTypePlugins
167
182
  }) {
168
183
  const templates = getFieldTemplates(field);
184
+ if (!templates.length) {
185
+ return null;
186
+ }
169
187
  const unionTypeName = createUnionTypeName(model, field);
170
188
  const {
171
189
  typeDefs,
@@ -200,6 +218,9 @@ const createDynamicZoneField = () => {
200
218
  fieldTypePlugins
201
219
  }) {
202
220
  const templates = getFieldTemplates(field);
221
+ if (!templates.length) {
222
+ return null;
223
+ }
203
224
  const {
204
225
  typeDefs,
205
226
  templateTypes
@@ -240,4 +261,6 @@ const createDynamicZoneField = () => {
240
261
  }
241
262
  };
242
263
  };
243
- exports.createDynamicZoneField = createDynamicZoneField;
264
+ exports.createDynamicZoneField = createDynamicZoneField;
265
+
266
+ //# sourceMappingURL=dynamicZoneField.js.map
@@ -1 +1 @@
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
+ {"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","graphQLType","length","resolver","parent","multipleValues","remappedValues","map","v","replace","RegExp","typeResolvers","reduce","index","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","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, graphQLType }) => {\n const templates = getFieldTemplates(field);\n\n if (!templates.length) {\n return false;\n }\n\n const resolver = (parent: any) => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${graphQLType}_${createTypeName(field.fieldId)}`;\n // const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n\n if (field.multipleValues && Array.isArray(value)) {\n const remappedValues = value.map(v => {\n return remapTemplateValue(v, typeName);\n });\n\n return remappedValues;\n }\n\n return remapTemplateValue(value, typeName);\n };\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 replace = new RegExp(`${model.singularApiName}_`, \"g\");\n\n const typeResolvers = templateTypes\n .map(templateType => {\n return templateType.replace(replace, `${graphQLType}_`);\n })\n .reduce<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 );\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 if (!templates.length) {\n return null;\n }\n\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\n if (!templates.length) {\n return null;\n }\n\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 if (!templates.length) {\n return null;\n }\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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"}
@@ -106,4 +106,6 @@ const createDynamicZoneStorageTransform = () => {
106
106
  }
107
107
  });
108
108
  };
109
- exports.createDynamicZoneStorageTransform = createDynamicZoneStorageTransform;
109
+ exports.createDynamicZoneStorageTransform = createDynamicZoneStorageTransform;
110
+
111
+ //# sourceMappingURL=dynamicZoneStorage.js.map
@@ -16,4 +16,6 @@ Object.defineProperty(exports, "createDynamicZoneStorageTransform", {
16
16
  }
17
17
  });
18
18
  var _dynamicZoneField = require("./dynamicZoneField");
19
- var _dynamicZoneStorage = require("./dynamicZoneStorage");
19
+ var _dynamicZoneStorage = require("./dynamicZoneStorage");
20
+
21
+ //# sourceMappingURL=index.js.map
@@ -39,4 +39,6 @@ const createFileField = () => {
39
39
  }
40
40
  };
41
41
  };
42
- exports.createFileField = createFileField;
42
+ exports.createFileField = createFileField;
43
+
44
+ //# sourceMappingURL=file.js.map
@@ -1,5 +1,4 @@
1
1
  import { CmsModelField } from "../types";
2
- export declare const attachRequiredFieldValue: (def: string, field: CmsModelField) => string;
3
2
  /**
4
3
  * Method creates single and multiple values fields.
5
4
  */
@@ -3,26 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createGraphQLInputField = exports.attachRequiredFieldValue = void 0;
6
+ exports.createGraphQLInputField = void 0;
7
7
  const requiredValidationName = "required";
8
8
  const getIsRequired = validations => {
9
9
  return (validations || []).some(validation => {
10
10
  return validation.name === requiredValidationName;
11
11
  });
12
12
  };
13
- const attachRequiredFieldValue = (def, field) => {
14
- if (!field.validation || field.validation.length === 0) {
15
- return def;
16
- }
17
- const isRequired = field.validation.some(validation => {
18
- return validation.name === "required";
19
- });
20
- if (!isRequired) {
21
- return def;
22
- }
23
- return `${def}!`;
24
- };
25
- exports.attachRequiredFieldValue = attachRequiredFieldValue;
26
13
  const envVars = ["HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM", "WEBINY_HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM"];
27
14
  /**
28
15
  * Method creates single and multiple values fields.
@@ -30,10 +17,11 @@ const envVars = ["HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM", "WEBINY_HEADLE
30
17
  const createGraphQLInputField = (field, graphQlType) => {
31
18
  const singleRequired = getIsRequired(field.validation) ? "!" : "";
32
19
  if (!field.multipleValues) {
33
- return `${field.fieldId}: ${graphQlType}${singleRequired}`;
20
+ return `${field.fieldId}: ${graphQlType}`;
34
21
  }
35
- const multipleRequired = getIsRequired(field.listValidation) ? "!" : "";
36
22
  const itemRequired = envVars.some(v => process.env[v] === "false") ? "" : singleRequired;
37
- return `${field.fieldId}: [${graphQlType}${itemRequired}]${multipleRequired}`;
23
+ return `${field.fieldId}: [${graphQlType}${itemRequired}]`;
38
24
  };
39
- exports.createGraphQLInputField = createGraphQLInputField;
25
+ exports.createGraphQLInputField = createGraphQLInputField;
26
+
27
+ //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
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
+ {"version":3,"names":["requiredValidationName","getIsRequired","validations","some","validation","name","envVars","createGraphQLInputField","field","graphQlType","singleRequired","multipleValues","fieldId","itemRequired","v","process","env","exports"],"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\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}`;\n }\n\n const itemRequired = envVars.some(v => process.env[v] === \"false\") ? \"\" : singleRequired;\n\n return `${field.fieldId}: [${graphQlType}${itemRequired}]`;\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;AAED,MAAMM,OAAiB,GAAG,CACtB,+CAA+C,EAC/C,sDAAsD,CACzD;AACD;AACA;AACA;AACO,MAAMC,uBAAuB,GAAGA,CAACC,KAAoB,EAAEC,WAAmB,KAAa;EAC1F,MAAMC,cAAc,GAAGT,aAAa,CAACO,KAAK,CAACJ,UAAU,CAAC,GAAG,GAAG,GAAG,EAAE;EACjE,IAAI,CAACI,KAAK,CAACG,cAAc,EAAE;IACvB,OAAQ,GAAEH,KAAK,CAACI,OAAQ,KAAIH,WAAY,EAAC;EAC7C;EAEA,MAAMI,YAAY,GAAGP,OAAO,CAACH,IAAI,CAACW,CAAC,IAAIC,OAAO,CAACC,GAAG,CAACF,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAGJ,cAAc;EAExF,OAAQ,GAAEF,KAAK,CAACI,OAAQ,MAAKH,WAAY,GAAEI,YAAa,GAAE;AAC9D,CAAC;AAACI,OAAA,CAAAV,uBAAA,GAAAA,uBAAA"}
@@ -15,4 +15,6 @@ var _file = require("./file");
15
15
  var _object = require("./object");
16
16
  var _dynamicZone = require("./dynamicZone");
17
17
  const createGraphQLFields = () => [(0, _text.createTextField)(), (0, _ref.createRefField)(), (0, _number.createNumberField)(), (0, _datetime.createDateTimeField)(), (0, _boolean.createBooleanField)(), (0, _longText.createLongTextField)(), (0, _richText.createRichTextField)(), (0, _file.createFileField)(), (0, _object.createObjectField)(), (0, _dynamicZone.createDynamicZoneField)()];
18
- exports.createGraphQLFields = createGraphQLFields;
18
+ exports.createGraphQLFields = createGraphQLFields;
19
+
20
+ //# sourceMappingURL=index.js.map
@@ -13,6 +13,13 @@ const createListFilters = ({
13
13
  ${field.fieldId}_not_contains: String
14
14
  `;
15
15
  };
16
+ const createResolver = ({
17
+ field
18
+ }) => {
19
+ return async parent => {
20
+ return parent[field.fieldId] || null;
21
+ };
22
+ };
16
23
  const createLongTextField = () => {
17
24
  return {
18
25
  name: "cms-model-field-to-graphql-long-text",
@@ -30,7 +37,8 @@ const createLongTextField = () => {
30
37
  }
31
38
  return `${field.fieldId}: String`;
32
39
  },
33
- createListFilters
40
+ createListFilters,
41
+ createResolver
34
42
  },
35
43
  manage: {
36
44
  createListFilters,
@@ -46,8 +54,11 @@ const createLongTextField = () => {
46
54
  field
47
55
  }) {
48
56
  return (0, _helpers.createGraphQLInputField)(field, "String");
49
- }
57
+ },
58
+ createResolver
50
59
  }
51
60
  };
52
61
  };
53
- exports.createLongTextField = createLongTextField;
62
+ exports.createLongTextField = createLongTextField;
63
+
64
+ //# sourceMappingURL=longText.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"names":["_helpers","require","createListFilters","field","fieldId","createResolver","parent","createLongTextField","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField","exports"],"sources":["longText.ts"],"sourcesContent":["import {\n CmsModelField,\n CmsModelFieldToGraphQLCreateResolver,\n CmsModelFieldToGraphQLPlugin\n} 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};\nconst createResolver: CmsModelFieldToGraphQLCreateResolver = ({ field }) => {\n return async parent => {\n return parent[field.fieldId] || null;\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 createResolver\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 createResolver\n }\n };\n};\n"],"mappings":";;;;;;AAKA,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;AACD,MAAMC,cAAoD,GAAGA,CAAC;EAAEF;AAAM,CAAC,KAAK;EACxE,OAAO,MAAMG,MAAM,IAAI;IACnB,OAAOA,MAAM,CAACH,KAAK,CAACC,OAAO,CAAC,IAAI,IAAI;EACxC,CAAC;AACL,CAAC;AAEM,MAAMG,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;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,OAAQ,GAAEb,KAAK,CAACC,OAAQ,YAAW;QACvC;QAEA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDF,iBAAiB;MACjBG;IACJ,CAAC;IACDY,MAAM,EAAE;MACJf,iBAAiB;MACjBa,eAAeA,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,OAAOb,KAAK,CAACC,OAAO,GAAG,YAAY;QACvC;QAEA,OAAOD,KAAK,CAACC,OAAO,GAAG,UAAU;MACrC,CAAC;MACDc,gBAAgBA,CAAC;QAAEf;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAgB,gCAAuB,EAAChB,KAAK,EAAE,QAAQ,CAAC;MACnD,CAAC;MACDE;IACJ;EACJ,CAAC;AACL,CAAC;AAACe,OAAA,CAAAb,mBAAA,GAAAA,mBAAA"}