@webiny/api-headless-cms 0.0.0-unstable.5e7233243f → 0.0.0-unstable.60e968001a

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 (232) hide show
  1. package/context.d.ts +5 -2
  2. package/context.js +63 -8
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/afterDelete.d.ts +2 -2
  5. package/crud/contentEntry/afterDelete.js +2 -2
  6. package/crud/contentEntry/afterDelete.js.map +1 -1
  7. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  8. package/crud/contentEntry/beforeCreate.js +2 -2
  9. package/crud/contentEntry/beforeCreate.js.map +1 -1
  10. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  11. package/crud/contentEntry/beforeUpdate.js +2 -2
  12. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  13. package/crud/contentEntry/entryDataValidation.js +3 -7
  14. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  15. package/crud/contentEntry/markLockedFields.js +10 -11
  16. package/crud/contentEntry/markLockedFields.js.map +1 -1
  17. package/crud/contentEntry/referenceFieldsMapping.js +11 -13
  18. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  19. package/crud/contentEntry/searchableFields.d.ts +9 -0
  20. package/crud/contentEntry/searchableFields.js +83 -0
  21. package/crud/contentEntry/searchableFields.js.map +1 -0
  22. package/crud/contentEntry.crud.d.ts +0 -2
  23. package/crud/contentEntry.crud.js +253 -270
  24. package/crud/contentEntry.crud.js.map +1 -1
  25. package/crud/contentModel/afterCreate.d.ts +3 -3
  26. package/crud/contentModel/afterCreate.js +5 -5
  27. package/crud/contentModel/afterCreate.js.map +1 -1
  28. package/crud/contentModel/afterCreateFrom.d.ts +3 -3
  29. package/crud/contentModel/afterCreateFrom.js +5 -5
  30. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  31. package/crud/contentModel/afterDelete.d.ts +3 -3
  32. package/crud/contentModel/afterDelete.js +5 -5
  33. package/crud/contentModel/afterDelete.js.map +1 -1
  34. package/crud/contentModel/afterUpdate.d.ts +3 -3
  35. package/crud/contentModel/afterUpdate.js +5 -5
  36. package/crud/contentModel/afterUpdate.js.map +1 -1
  37. package/crud/contentModel/beforeCreate.d.ts +4 -4
  38. package/crud/contentModel/beforeCreate.js +10 -10
  39. package/crud/contentModel/beforeCreate.js.map +1 -1
  40. package/crud/contentModel/beforeDelete.d.ts +3 -3
  41. package/crud/contentModel/beforeDelete.js +6 -6
  42. package/crud/contentModel/beforeDelete.js.map +1 -1
  43. package/crud/contentModel/beforeUpdate.d.ts +3 -3
  44. package/crud/contentModel/beforeUpdate.js +5 -5
  45. package/crud/contentModel/beforeUpdate.js.map +1 -1
  46. package/crud/contentModel/createFieldStorageId.js +5 -1
  47. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  48. package/crud/contentModel/models.js +12 -0
  49. package/crud/contentModel/models.js.map +1 -1
  50. package/crud/contentModel/validateModel.js +1 -1
  51. package/crud/contentModel/validateModelFields.js +47 -42
  52. package/crud/contentModel/validateModelFields.js.map +1 -1
  53. package/crud/contentModel/validation.d.ts +477 -0
  54. package/crud/contentModel/validation.js +109 -0
  55. package/crud/contentModel/validation.js.map +1 -0
  56. package/crud/contentModel.crud.js +287 -211
  57. package/crud/contentModel.crud.js.map +1 -1
  58. package/crud/contentModelGroup/beforeCreate.d.ts +2 -2
  59. package/crud/contentModelGroup/beforeCreate.js +3 -3
  60. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  61. package/crud/contentModelGroup/beforeDelete.d.ts +2 -2
  62. package/crud/contentModelGroup/beforeDelete.js +3 -3
  63. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  64. package/crud/contentModelGroup/beforeUpdate.d.ts +2 -2
  65. package/crud/contentModelGroup/beforeUpdate.js +2 -2
  66. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  67. package/crud/contentModelGroup/validation.d.ts +30 -0
  68. package/crud/contentModelGroup/validation.js +43 -0
  69. package/crud/contentModelGroup/validation.js.map +1 -0
  70. package/crud/contentModelGroup.crud.js +102 -82
  71. package/crud/contentModelGroup.crud.js.map +1 -1
  72. package/crud/settings.crud.js +3 -8
  73. package/crud/settings.crud.js.map +1 -1
  74. package/crud/system.crud.js +63 -51
  75. package/crud/system.crud.js.map +1 -1
  76. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +1 -1
  77. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  78. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +239 -0
  79. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  80. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +17 -19
  81. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  82. package/fieldConverters/index.d.ts +2 -1
  83. package/fieldConverters/index.js +3 -1
  84. package/fieldConverters/index.js.map +1 -1
  85. package/graphql/buildSchemaPlugins.d.ts +2 -2
  86. package/graphql/buildSchemaPlugins.js.map +1 -1
  87. package/graphql/graphQLHandlerFactory.js +59 -29
  88. package/graphql/graphQLHandlerFactory.js.map +1 -1
  89. package/graphql/index.d.ts +2 -2
  90. package/graphql/index.js +49 -38
  91. package/graphql/index.js.map +1 -1
  92. package/graphql/schema/baseContentSchema.d.ts +2 -2
  93. package/graphql/schema/baseContentSchema.js +8 -12
  94. package/graphql/schema/baseContentSchema.js.map +1 -1
  95. package/graphql/schema/contentEntries.d.ts +2 -2
  96. package/graphql/schema/contentEntries.js +6 -6
  97. package/graphql/schema/contentEntries.js.map +1 -1
  98. package/graphql/schema/contentModelGroups.d.ts +2 -2
  99. package/graphql/schema/contentModelGroups.js +3 -3
  100. package/graphql/schema/contentModelGroups.js.map +1 -1
  101. package/graphql/schema/contentModels.d.ts +2 -2
  102. package/graphql/schema/contentModels.js +42 -4
  103. package/graphql/schema/contentModels.js.map +1 -1
  104. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  105. package/graphql/schema/createFieldResolvers.js +26 -16
  106. package/graphql/schema/createFieldResolvers.js.map +1 -1
  107. package/graphql/schema/createManageResolvers.js +4 -18
  108. package/graphql/schema/createManageResolvers.js.map +1 -1
  109. package/graphql/schema/createManageSDL.d.ts +2 -0
  110. package/graphql/schema/createManageSDL.js +11 -12
  111. package/graphql/schema/createManageSDL.js.map +1 -1
  112. package/graphql/schema/createPreviewResolvers.js +3 -7
  113. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  114. package/graphql/schema/createReadResolvers.js +8 -7
  115. package/graphql/schema/createReadResolvers.js.map +1 -1
  116. package/graphql/schema/createReadSDL.d.ts +2 -0
  117. package/graphql/schema/createReadSDL.js +11 -5
  118. package/graphql/schema/createReadSDL.js.map +1 -1
  119. package/graphql/schema/resolvers/manage/resolveGet.js +5 -9
  120. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  121. package/graphql/schema/resolvers/preview/resolveGet.js +3 -7
  122. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  123. package/graphql/schema/resolvers/read/resolveGet.js +3 -7
  124. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  125. package/graphql/schema/schemaPlugins.d.ts +2 -2
  126. package/graphql/schema/schemaPlugins.js +11 -8
  127. package/graphql/schema/schemaPlugins.js.map +1 -1
  128. package/graphql/system.js +79 -82
  129. package/graphql/system.js.map +1 -1
  130. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  131. package/graphqlFields/dynamicZone/dynamicZoneField.js +234 -0
  132. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  133. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  134. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +79 -0
  135. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  136. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  137. package/graphqlFields/dynamicZone/index.js +21 -0
  138. package/graphqlFields/dynamicZone/index.js.map +1 -0
  139. package/graphqlFields/index.d.ts +1 -1
  140. package/graphqlFields/index.js +3 -1
  141. package/graphqlFields/index.js.map +1 -1
  142. package/graphqlFields/number.js +4 -0
  143. package/graphqlFields/number.js.map +1 -1
  144. package/graphqlFields/object.js +123 -73
  145. package/graphqlFields/object.js.map +1 -1
  146. package/graphqlFields/ref.js +38 -56
  147. package/graphqlFields/ref.js.map +1 -1
  148. package/index.d.ts +3 -3
  149. package/index.js +4 -8
  150. package/index.js.map +1 -1
  151. package/modelManager/DefaultCmsModelManager.d.ts +7 -7
  152. package/modelManager/DefaultCmsModelManager.js +1 -1
  153. package/package.json +30 -31
  154. package/parameters/header.js +1 -1
  155. package/parameters/manual.js +7 -8
  156. package/parameters/manual.js.map +1 -1
  157. package/parameters/path.js +1 -1
  158. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  159. package/plugins/CmsGraphQLSchemaPlugin.js +17 -0
  160. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  161. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  162. package/plugins/CmsGraphQLSchemaSorterPlugin.js +38 -0
  163. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  164. package/plugins/CmsGroupPlugin.js +1 -1
  165. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  166. package/plugins/CmsModelFieldConverterPlugin.js +1 -1
  167. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  168. package/plugins/CmsModelPlugin.d.ts +6 -2
  169. package/plugins/CmsModelPlugin.js +18 -13
  170. package/plugins/CmsModelPlugin.js.map +1 -1
  171. package/plugins/CmsParametersPlugin.js +1 -1
  172. package/plugins/StorageTransformPlugin.d.ts +11 -11
  173. package/plugins/StorageTransformPlugin.js +1 -1
  174. package/plugins/StorageTransformPlugin.js.map +1 -1
  175. package/plugins/index.d.ts +2 -0
  176. package/plugins/index.js +26 -0
  177. package/plugins/index.js.map +1 -1
  178. package/storage/object.js +7 -8
  179. package/storage/object.js.map +1 -1
  180. package/types.d.ts +469 -180
  181. package/types.js +55 -9
  182. package/types.js.map +1 -1
  183. package/upgrades/5.33.0/index.js +5 -9
  184. package/upgrades/5.33.0/index.js.map +1 -1
  185. package/utils/converters/Converter.js +1 -1
  186. package/utils/converters/ConverterCollection.d.ts +7 -0
  187. package/utils/converters/ConverterCollection.js +36 -8
  188. package/utils/converters/ConverterCollection.js.map +1 -1
  189. package/utils/converters/valueKeyStorageConverter.js +3 -7
  190. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  191. package/utils/createTypeFromFields.d.ts +15 -0
  192. package/utils/createTypeFromFields.js +75 -0
  193. package/utils/createTypeFromFields.js.map +1 -0
  194. package/utils/createTypeName.js +4 -2
  195. package/utils/createTypeName.js.map +1 -1
  196. package/utils/entryStorage.js +17 -18
  197. package/utils/entryStorage.js.map +1 -1
  198. package/utils/filterModelFields.js +5 -9
  199. package/utils/filterModelFields.js.map +1 -1
  200. package/utils/getBaseFieldType.d.ts +4 -0
  201. package/utils/getBaseFieldType.js +12 -0
  202. package/utils/getBaseFieldType.js.map +1 -0
  203. package/utils/permissions.js +1 -5
  204. package/utils/permissions.js.map +1 -1
  205. package/utils/pluralizedTypeName.js +1 -1
  206. package/utils/renderFields.js +3 -1
  207. package/utils/renderFields.js.map +1 -1
  208. package/utils/renderGetFilterFields.js +8 -3
  209. package/utils/renderGetFilterFields.js.map +1 -1
  210. package/utils/renderInputFields.js +3 -1
  211. package/utils/renderInputFields.js.map +1 -1
  212. package/utils/renderListFilterFields.js +12 -2
  213. package/utils/renderListFilterFields.js.map +1 -1
  214. package/utils/renderSortEnum.d.ts +7 -4
  215. package/utils/renderSortEnum.js +23 -4
  216. package/utils/renderSortEnum.js.map +1 -1
  217. package/utils/toSlug.js +1 -1
  218. package/validators/dynamicZone.d.ts +2 -0
  219. package/validators/dynamicZone.js +24 -0
  220. package/validators/dynamicZone.js.map +1 -0
  221. package/validators/index.js +3 -1
  222. package/validators/index.js.map +1 -1
  223. package/validators/unique.js +1 -1
  224. package/crud/index.d.ts +0 -6
  225. package/crud/index.js +0 -89
  226. package/crud/index.js.map +0 -1
  227. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  228. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  229. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  230. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  231. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  232. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.resolveGet = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
 
12
12
  var _responses = require("@webiny/handler-graphql/responses");
13
13
 
14
14
  var _handlerGraphql = require("@webiny/handler-graphql");
15
15
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
-
20
16
  const resolveGet = ({
21
17
  model
22
18
  }) => async (_, args, context) => {
23
19
  try {
24
- const [[entry]] = await context.cms.listPublishedEntries(model, _objectSpread(_objectSpread({}, args), {}, {
20
+ const [[entry]] = await context.cms.listPublishedEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, args), {}, {
25
21
  limit: 1
26
22
  }));
27
23
 
@@ -1 +1 @@
1
- {"version":3,"names":["resolveGet","model","_","args","context","entry","cms","listPublishedEntries","limit","NotFoundError","Response","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listPublishedEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;;;;;AAIO,MAAMA,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAA0BC,OAA1B,KAAsC;EAClC,IAAI;IACA,MAAM,CAAC,CAACC,KAAD,CAAD,IAAY,MAAMD,OAAO,CAACE,GAAR,CAAYC,oBAAZ,CAAiCN,KAAjC,kCACjBE,IADiB;MAEpBK,KAAK,EAAE;IAFa,GAAxB;;IAIA,IAAI,CAACH,KAAL,EAAY;MACR,MAAM,IAAII,6BAAJ,CAAmB,kBAAnB,CAAN;IACH;;IACD,OAAO,IAAIC,mBAAJ,CAAaL,KAAb,CAAP;EACH,CATD,CASE,OAAOM,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAfE"}
1
+ {"version":3,"names":["resolveGet","model","_","args","context","entry","cms","listPublishedEntries","limit","NotFoundError","Response","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listPublishedEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAIO,MAAMA,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAA0BC,OAA1B,KAAsC;EAClC,IAAI;IACA,MAAM,CAAC,CAACC,KAAD,CAAD,IAAY,MAAMD,OAAO,CAACE,GAAR,CAAYC,oBAAZ,CAAiCN,KAAjC,8DACjBE,IADiB;MAEpBK,KAAK,EAAE;IAFa,GAAxB;;IAIA,IAAI,CAACH,KAAL,EAAY;MACR,MAAM,IAAII,6BAAJ,CAAmB,kBAAnB,CAAN;IACH;;IACD,OAAO,IAAIC,mBAAJ,CAAaL,KAAb,CAAP;EACH,CATD,CASE,OAAOM,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAfE"}
@@ -1,3 +1,3 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
2
1
  import { CmsContext } from "../../types";
3
- export declare const generateSchemaPlugins: (context: CmsContext) => Promise<GraphQLSchemaPlugin<CmsContext>[]>;
2
+ import { CmsGraphQLSchemaPlugin } from "../../plugins";
3
+ export declare const generateSchemaPlugins: (context: CmsContext) => Promise<CmsGraphQLSchemaPlugin[]>;
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.generateSchemaPlugins = void 0;
7
7
 
8
- var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
9
-
10
8
  var _createManageSDL = require("./createManageSDL");
11
9
 
12
10
  var _createReadSDL = require("./createReadSDL");
@@ -21,6 +19,8 @@ var _getSchemaFromFieldPlugins = require("../../utils/getSchemaFromFieldPlugins"
21
19
 
22
20
  var _filterModelFields = require("../../utils/filterModelFields");
23
21
 
22
+ var _plugins = require("../../plugins");
23
+
24
24
  const generateSchemaPlugins = async context => {
25
25
  const {
26
26
  plugins,
@@ -43,7 +43,8 @@ const generateSchemaPlugins = async context => {
43
43
  const fieldTypePlugins = plugins.byType("cms-model-field-to-graphql").reduce((acc, pl) => {
44
44
  acc[pl.fieldType] = pl;
45
45
  return acc;
46
- }, {}); // Load model data
46
+ }, {});
47
+ const sorterPlugins = plugins.byType(_plugins.CmsGraphQLSchemaSorterPlugin.type); // Load model data
47
48
 
48
49
  context.security.disableAuthorization();
49
50
  const initialModels = (await cms.listModels()).filter(model => model.isPrivate !== true);
@@ -60,16 +61,17 @@ const generateSchemaPlugins = async context => {
60
61
  const newPlugins = [];
61
62
 
62
63
  for (const schema of schemas) {
63
- newPlugins.push(new _GraphQLSchemaPlugin.GraphQLSchemaPlugin(schema));
64
+ newPlugins.push(new _plugins.CmsGraphQLSchemaPlugin(schema));
64
65
  }
65
66
 
66
67
  models.filter(model => model.fields.length > 0).forEach(model => {
67
68
  switch (type) {
68
69
  case "manage":
69
- newPlugins.push(new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
70
+ newPlugins.push(new _plugins.CmsGraphQLSchemaPlugin({
70
71
  typeDefs: (0, _createManageSDL.createManageSDL)({
71
72
  model,
72
- fieldTypePlugins
73
+ fieldTypePlugins,
74
+ sorterPlugins
73
75
  }),
74
76
  resolvers: (0, _createManageResolvers.createManageResolvers)({
75
77
  models,
@@ -82,10 +84,11 @@ const generateSchemaPlugins = async context => {
82
84
 
83
85
  case "preview":
84
86
  case "read":
85
- newPlugins.push(new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
87
+ newPlugins.push(new _plugins.CmsGraphQLSchemaPlugin({
86
88
  typeDefs: (0, _createReadSDL.createReadSDL)({
87
89
  model,
88
- fieldTypePlugins
90
+ fieldTypePlugins,
91
+ sorterPlugins
89
92
  }),
90
93
  resolvers: cms.READ ? (0, _createReadResolvers.createReadResolvers)({
91
94
  models,
@@ -1 +1 @@
1
- {"version":3,"names":["generateSchemaPlugins","context","plugins","cms","type","fieldTypePlugins","byType","reduce","acc","pl","fieldType","security","disableAuthorization","initialModels","listModels","filter","model","isPrivate","enableAuthorization","models","filterModelsDeletedFields","schemas","getSchemaFromFieldPlugins","newPlugins","schema","push","GraphQLSchemaPlugin","fields","length","forEach","typeDefs","createManageSDL","resolvers","createManageResolvers","createReadSDL","READ","createReadResolvers","createPreviewResolvers"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { CmsModelFieldToGraphQLPlugin, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { createManageSDL } from \"./createManageSDL\";\nimport { createReadSDL } from \"./createReadSDL\";\nimport { createManageResolvers } from \"./createManageResolvers\";\nimport { createReadResolvers } from \"./createReadResolvers\";\nimport { createPreviewResolvers } from \"./createPreviewResolvers\";\nimport { getSchemaFromFieldPlugins } from \"~/utils/getSchemaFromFieldPlugins\";\nimport { filterModelsDeletedFields } from \"~/utils/filterModelFields\";\n\nexport const generateSchemaPlugins = async (\n context: CmsContext\n): Promise<GraphQLSchemaPlugin<CmsContext>[]> => {\n const { plugins, cms } = context;\n\n /**\n * If type does not exist, we are not generating schema plugins for models.\n * It should not come to this point, but we check it anyways.\n */\n const { type } = cms;\n if (!type) {\n return [];\n }\n\n // Structure plugins for faster access\n const fieldTypePlugins: CmsFieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {} as Record<string, CmsModelFieldToGraphQLPlugin>);\n\n // Load model data\n context.security.disableAuthorization();\n const initialModels = (await cms.listModels()).filter(model => model.isPrivate !== true);\n context.security.enableAuthorization();\n\n const models = filterModelsDeletedFields({\n models: initialModels,\n type\n });\n\n const schemas = getSchemaFromFieldPlugins({\n models,\n fieldTypePlugins,\n type\n });\n\n const newPlugins: GraphQLSchemaPlugin<CmsContext>[] = [];\n for (const schema of schemas) {\n newPlugins.push(new GraphQLSchemaPlugin(schema));\n }\n\n models\n .filter(model => model.fields.length > 0)\n .forEach(model => {\n switch (type) {\n case \"manage\":\n newPlugins.push(\n new GraphQLSchemaPlugin({\n typeDefs: createManageSDL({ model, fieldTypePlugins }),\n resolvers: createManageResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n })\n );\n\n break;\n case \"preview\":\n case \"read\":\n newPlugins.push(\n new GraphQLSchemaPlugin({\n typeDefs: createReadSDL({ model, fieldTypePlugins }),\n resolvers: cms.READ\n ? createReadResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n : createPreviewResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n })\n );\n break;\n default:\n return;\n }\n });\n\n return newPlugins.filter(pl => !!pl.schema.typeDefs);\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEO,MAAMA,qBAAqB,GAAG,MACjCC,OADiC,IAEY;EAC7C,MAAM;IAAEC,OAAF;IAAWC;EAAX,IAAmBF,OAAzB;EAEA;AACJ;AACA;AACA;;EACI,MAAM;IAAEG;EAAF,IAAWD,GAAjB;;EACA,IAAI,CAACC,IAAL,EAAW;IACP,OAAO,EAAP;EACH,CAV4C,CAY7C;;;EACA,MAAMC,gBAAqC,GAAGH,OAAO,CAChDI,MADyC,CACJ,4BADI,EAEzCC,MAFyC,CAElC,CAACC,GAAD,EAAMC,EAAN,KAAa;IACjBD,GAAG,CAACC,EAAE,CAACC,SAAJ,CAAH,GAAoBD,EAApB;IACA,OAAOD,GAAP;EACH,CALyC,EAKvC,EALuC,CAA9C,CAb6C,CAoB7C;;EACAP,OAAO,CAACU,QAAR,CAAiBC,oBAAjB;EACA,MAAMC,aAAa,GAAG,CAAC,MAAMV,GAAG,CAACW,UAAJ,EAAP,EAAyBC,MAAzB,CAAgCC,KAAK,IAAIA,KAAK,CAACC,SAAN,KAAoB,IAA7D,CAAtB;EACAhB,OAAO,CAACU,QAAR,CAAiBO,mBAAjB;EAEA,MAAMC,MAAM,GAAG,IAAAC,4CAAA,EAA0B;IACrCD,MAAM,EAAEN,aAD6B;IAErCT;EAFqC,CAA1B,CAAf;EAKA,MAAMiB,OAAO,GAAG,IAAAC,oDAAA,EAA0B;IACtCH,MADsC;IAEtCd,gBAFsC;IAGtCD;EAHsC,CAA1B,CAAhB;EAMA,MAAMmB,UAA6C,GAAG,EAAtD;;EACA,KAAK,MAAMC,MAAX,IAAqBH,OAArB,EAA8B;IAC1BE,UAAU,CAACE,IAAX,CAAgB,IAAIC,wCAAJ,CAAwBF,MAAxB,CAAhB;EACH;;EAEDL,MAAM,CACDJ,MADL,CACYC,KAAK,IAAIA,KAAK,CAACW,MAAN,CAAaC,MAAb,GAAsB,CAD3C,EAEKC,OAFL,CAEab,KAAK,IAAI;IACd,QAAQZ,IAAR;MACI,KAAK,QAAL;QACImB,UAAU,CAACE,IAAX,CACI,IAAIC,wCAAJ,CAAwB;UACpBI,QAAQ,EAAE,IAAAC,gCAAA,EAAgB;YAAEf,KAAF;YAASX;UAAT,CAAhB,CADU;UAEpB2B,SAAS,EAAE,IAAAC,4CAAA,EAAsB;YAC7Bd,MAD6B;YAE7BH,KAF6B;YAG7BX,gBAH6B;YAI7BJ;UAJ6B,CAAtB;QAFS,CAAxB,CADJ;QAYA;;MACJ,KAAK,SAAL;MACA,KAAK,MAAL;QACIsB,UAAU,CAACE,IAAX,CACI,IAAIC,wCAAJ,CAAwB;UACpBI,QAAQ,EAAE,IAAAI,4BAAA,EAAc;YAAElB,KAAF;YAASX;UAAT,CAAd,CADU;UAEpB2B,SAAS,EAAE7B,GAAG,CAACgC,IAAJ,GACL,IAAAC,wCAAA,EAAoB;YAChBjB,MADgB;YAEhBH,KAFgB;YAGhBX,gBAHgB;YAIhBJ;UAJgB,CAApB,CADK,GAOL,IAAAoC,8CAAA,EAAuB;YACnBlB,MADmB;YAEnBH,KAFmB;YAGnBX,gBAHmB;YAInBJ;UAJmB,CAAvB;QATc,CAAxB,CADJ;QAkBA;;MACJ;QACI;IArCR;EAuCH,CA1CL;EA4CA,OAAOsB,UAAU,CAACR,MAAX,CAAkBN,EAAE,IAAI,CAAC,CAACA,EAAE,CAACe,MAAH,CAAUM,QAApC,CAAP;AACH,CAxFM"}
1
+ {"version":3,"names":["generateSchemaPlugins","context","plugins","cms","type","fieldTypePlugins","byType","reduce","acc","pl","fieldType","sorterPlugins","CmsGraphQLSchemaSorterPlugin","security","disableAuthorization","initialModels","listModels","filter","model","isPrivate","enableAuthorization","models","filterModelsDeletedFields","schemas","getSchemaFromFieldPlugins","newPlugins","schema","push","CmsGraphQLSchemaPlugin","fields","length","forEach","typeDefs","createManageSDL","resolvers","createManageResolvers","createReadSDL","READ","createReadResolvers","createPreviewResolvers"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { createManageSDL } from \"./createManageSDL\";\nimport { createReadSDL } from \"./createReadSDL\";\nimport { createManageResolvers } from \"./createManageResolvers\";\nimport { createReadResolvers } from \"./createReadResolvers\";\nimport { createPreviewResolvers } from \"./createPreviewResolvers\";\nimport { getSchemaFromFieldPlugins } from \"~/utils/getSchemaFromFieldPlugins\";\nimport { filterModelsDeletedFields } from \"~/utils/filterModelFields\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\nexport const generateSchemaPlugins = async (\n context: CmsContext\n): Promise<CmsGraphQLSchemaPlugin[]> => {\n const { plugins, cms } = context;\n\n /**\n * If type does not exist, we are not generating schema plugins for models.\n * It should not come to this point, but we check it anyways.\n */\n const { type } = cms;\n if (!type) {\n return [];\n }\n\n // Structure plugins for faster access\n const fieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n\n const sorterPlugins = plugins.byType<CmsGraphQLSchemaSorterPlugin>(\n CmsGraphQLSchemaSorterPlugin.type\n );\n\n // Load model data\n context.security.disableAuthorization();\n const initialModels = (await cms.listModels()).filter(model => model.isPrivate !== true);\n context.security.enableAuthorization();\n\n const models = filterModelsDeletedFields({\n models: initialModels,\n type\n });\n\n const schemas = getSchemaFromFieldPlugins({\n models,\n fieldTypePlugins,\n type\n });\n\n const newPlugins: CmsGraphQLSchemaPlugin[] = [];\n for (const schema of schemas) {\n newPlugins.push(new CmsGraphQLSchemaPlugin(schema));\n }\n\n models\n .filter(model => model.fields.length > 0)\n .forEach(model => {\n switch (type) {\n case \"manage\":\n newPlugins.push(\n new CmsGraphQLSchemaPlugin({\n typeDefs: createManageSDL({ model, fieldTypePlugins, sorterPlugins }),\n resolvers: createManageResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n })\n );\n\n break;\n case \"preview\":\n case \"read\":\n newPlugins.push(\n new CmsGraphQLSchemaPlugin({\n typeDefs: createReadSDL({ model, fieldTypePlugins, sorterPlugins }),\n resolvers: cms.READ\n ? createReadResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n : createPreviewResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n })\n );\n break;\n default:\n return;\n }\n });\n\n return newPlugins.filter(pl => !!pl.schema.typeDefs);\n};\n"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGO,MAAMA,qBAAqB,GAAG,MACjCC,OADiC,IAEG;EACpC,MAAM;IAAEC,OAAF;IAAWC;EAAX,IAAmBF,OAAzB;EAEA;AACJ;AACA;AACA;;EACI,MAAM;IAAEG;EAAF,IAAWD,GAAjB;;EACA,IAAI,CAACC,IAAL,EAAW;IACP,OAAO,EAAP;EACH,CAVmC,CAYpC;;;EACA,MAAMC,gBAAgB,GAAGH,OAAO,CAC3BI,MADoB,CACiB,4BADjB,EAEpBC,MAFoB,CAEQ,CAACC,GAAD,EAAMC,EAAN,KAAa;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAJ,CAAH,GAAoBD,EAApB;IACA,OAAOD,GAAP;EACH,CALoB,EAKlB,EALkB,CAAzB;EAOA,MAAMG,aAAa,GAAGT,OAAO,CAACI,MAAR,CAClBM,qCAAA,CAA6BR,IADX,CAAtB,CApBoC,CAwBpC;;EACAH,OAAO,CAACY,QAAR,CAAiBC,oBAAjB;EACA,MAAMC,aAAa,GAAG,CAAC,MAAMZ,GAAG,CAACa,UAAJ,EAAP,EAAyBC,MAAzB,CAAgCC,KAAK,IAAIA,KAAK,CAACC,SAAN,KAAoB,IAA7D,CAAtB;EACAlB,OAAO,CAACY,QAAR,CAAiBO,mBAAjB;EAEA,MAAMC,MAAM,GAAG,IAAAC,4CAAA,EAA0B;IACrCD,MAAM,EAAEN,aAD6B;IAErCX;EAFqC,CAA1B,CAAf;EAKA,MAAMmB,OAAO,GAAG,IAAAC,oDAAA,EAA0B;IACtCH,MADsC;IAEtChB,gBAFsC;IAGtCD;EAHsC,CAA1B,CAAhB;EAMA,MAAMqB,UAAoC,GAAG,EAA7C;;EACA,KAAK,MAAMC,MAAX,IAAqBH,OAArB,EAA8B;IAC1BE,UAAU,CAACE,IAAX,CAAgB,IAAIC,+BAAJ,CAA2BF,MAA3B,CAAhB;EACH;;EAEDL,MAAM,CACDJ,MADL,CACYC,KAAK,IAAIA,KAAK,CAACW,MAAN,CAAaC,MAAb,GAAsB,CAD3C,EAEKC,OAFL,CAEab,KAAK,IAAI;IACd,QAAQd,IAAR;MACI,KAAK,QAAL;QACIqB,UAAU,CAACE,IAAX,CACI,IAAIC,+BAAJ,CAA2B;UACvBI,QAAQ,EAAE,IAAAC,gCAAA,EAAgB;YAAEf,KAAF;YAASb,gBAAT;YAA2BM;UAA3B,CAAhB,CADa;UAEvBuB,SAAS,EAAE,IAAAC,4CAAA,EAAsB;YAC7Bd,MAD6B;YAE7BH,KAF6B;YAG7Bb,gBAH6B;YAI7BJ;UAJ6B,CAAtB;QAFY,CAA3B,CADJ;QAYA;;MACJ,KAAK,SAAL;MACA,KAAK,MAAL;QACIwB,UAAU,CAACE,IAAX,CACI,IAAIC,+BAAJ,CAA2B;UACvBI,QAAQ,EAAE,IAAAI,4BAAA,EAAc;YAAElB,KAAF;YAASb,gBAAT;YAA2BM;UAA3B,CAAd,CADa;UAEvBuB,SAAS,EAAE/B,GAAG,CAACkC,IAAJ,GACL,IAAAC,wCAAA,EAAoB;YAChBjB,MADgB;YAEhBH,KAFgB;YAGhBb,gBAHgB;YAIhBJ;UAJgB,CAApB,CADK,GAOL,IAAAsC,8CAAA,EAAuB;YACnBlB,MADmB;YAEnBH,KAFmB;YAGnBb,gBAHmB;YAInBJ;UAJmB,CAAvB;QATiB,CAA3B,CADJ;QAkBA;;MACJ;QACI;IArCR;EAuCH,CA1CL;EA4CA,OAAOwB,UAAU,CAACR,MAAX,CAAkBR,EAAE,IAAI,CAAC,CAACA,EAAE,CAACiB,MAAH,CAAUM,QAApC,CAAP;AACH,CA5FM"}
package/graphql/system.js CHANGED
@@ -11,95 +11,92 @@ var _api = require("@webiny/api");
11
11
 
12
12
  const emptyResolver = () => ({});
13
13
 
14
- const plugin = {
15
- name: "cms.graphql.schema.system",
16
- type: "graphql-schema",
17
- schema: {
18
- typeDefs:
19
- /* GraphQL */
20
- `
21
- extend type Query {
22
- cms: CmsQuery
23
- }
24
-
25
- extend type Mutation {
26
- cms: CmsMutation
27
- }
28
-
29
- type CmsQuery {
30
- _empty: String
31
- }
32
-
33
- type CmsMutation {
34
- _empty: String
35
- }
36
- extend type CmsQuery {
37
- # Get installed version
38
- version: String
39
- }
40
-
41
- extend type CmsMutation {
42
- # Install CMS
43
- install: CmsBooleanResponse
44
-
45
- # Upgrade CMS
46
- upgrade(version: String!): CmsBooleanResponse
47
- }
48
- `,
49
- resolvers: {
50
- Query: {
51
- cms: emptyResolver
52
- },
53
- Mutation: {
54
- cms: emptyResolver
55
- },
56
- CmsQuery: {
57
- version: async (_, __, context) => {
58
- try {
59
- return context.cms.getSystemVersion();
60
- } catch (e) {
61
- return new _handlerGraphql.ErrorResponse(e);
14
+ const plugin = new _handlerGraphql.GraphQLSchemaPlugin({
15
+ typeDefs:
16
+ /* GraphQL */
17
+ `
18
+ extend type Query {
19
+ cms: CmsQuery
20
+ }
21
+
22
+ extend type Mutation {
23
+ cms: CmsMutation
24
+ }
25
+
26
+ type CmsQuery {
27
+ _empty: String
28
+ }
29
+
30
+ type CmsMutation {
31
+ _empty: String
32
+ }
33
+ extend type CmsQuery {
34
+ # Get installed version
35
+ version: String
36
+ }
37
+
38
+ extend type CmsMutation {
39
+ # Install CMS
40
+ install: CmsBooleanResponse
41
+
42
+ # Upgrade CMS
43
+ upgrade(version: String!): CmsBooleanResponse
44
+ }
45
+ `,
46
+ resolvers: {
47
+ Query: {
48
+ cms: emptyResolver
49
+ },
50
+ Mutation: {
51
+ cms: emptyResolver
52
+ },
53
+ CmsQuery: {
54
+ version: async (_, __, context) => {
55
+ try {
56
+ return context.cms.getSystemVersion();
57
+ } catch (e) {
58
+ return new _handlerGraphql.ErrorResponse(e);
59
+ }
60
+ }
61
+ },
62
+ CmsMutation: {
63
+ install: async (_, __, {
64
+ cms
65
+ }) => {
66
+ try {
67
+ const version = await cms.getSystemVersion();
68
+
69
+ if (version) {
70
+ return new _handlerGraphql.ErrorResponse({
71
+ code: "CMS_INSTALLATION_ERROR",
72
+ message: "CMS is already installed."
73
+ });
62
74
  }
75
+
76
+ await cms.installSystem();
77
+ return new _handlerGraphql.Response(true);
78
+ } catch (e) {
79
+ return new _handlerGraphql.ErrorResponse(e);
63
80
  }
64
81
  },
65
- CmsMutation: {
66
- install: async (_, __, {
67
- cms
68
- }) => {
69
- try {
70
- const version = await cms.getSystemVersion();
71
-
72
- if (version) {
73
- return new _handlerGraphql.ErrorResponse({
74
- code: "CMS_INSTALLATION_ERROR",
75
- message: "CMS is already installed."
76
- });
77
- }
78
-
79
- await cms.installSystem();
80
- return new _handlerGraphql.Response(true);
81
- } catch (e) {
82
- return new _handlerGraphql.ErrorResponse(e);
83
- }
84
- },
85
- upgrade: async (_, args, {
86
- cms
87
- }) => {
88
- const {
89
- version
90
- } = args;
91
-
92
- try {
93
- await cms.upgradeSystem(version);
94
- return new _handlerGraphql.Response(true);
95
- } catch (e) {
96
- return new _handlerGraphql.ErrorResponse(e);
97
- }
82
+ upgrade: async (_, args, {
83
+ cms
84
+ }) => {
85
+ const {
86
+ version
87
+ } = args;
88
+
89
+ try {
90
+ await cms.upgradeSystem(version);
91
+ return new _handlerGraphql.Response(true);
92
+ } catch (e) {
93
+ return new _handlerGraphql.ErrorResponse(e);
98
94
  }
99
95
  }
100
96
  }
101
97
  }
102
- };
98
+ });
99
+ plugin.name = "cms.graphql.schema.system";
103
100
  /**
104
101
  * We only register system schema plugin if the endpoint is not manage/preview/read.
105
102
  */
@@ -1 +1 @@
1
- {"version":3,"names":["emptyResolver","plugin","name","type","schema","typeDefs","resolvers","Query","cms","Mutation","CmsQuery","version","_","__","context","getSystemVersion","e","ErrorResponse","CmsMutation","install","code","message","installSystem","Response","upgrade","args","upgradeSystem","createSystemSchemaPlugin","ContextPlugin","plugins","register"],"sources":["system.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { ContextPlugin } from \"@webiny/api\";\n\nconst emptyResolver = () => ({});\n\nconst plugin: GraphQLSchemaPlugin<CmsContext> = {\n name: \"cms.graphql.schema.system\",\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n extend type Query {\n cms: CmsQuery\n }\n\n extend type Mutation {\n cms: CmsMutation\n }\n\n type CmsQuery {\n _empty: String\n }\n\n type CmsMutation {\n _empty: String\n }\n extend type CmsQuery {\n # Get installed version\n version: String\n }\n\n extend type CmsMutation {\n # Install CMS\n install: CmsBooleanResponse\n\n # Upgrade CMS\n upgrade(version: String!): CmsBooleanResponse\n }\n `,\n resolvers: {\n Query: {\n cms: emptyResolver\n },\n Mutation: {\n cms: emptyResolver\n },\n CmsQuery: {\n version: async (_: any, __: any, context: CmsContext) => {\n try {\n return context.cms.getSystemVersion();\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsMutation: {\n install: async (_: any, __: any, { cms }: CmsContext) => {\n try {\n const version = await cms.getSystemVersion();\n if (version) {\n return new ErrorResponse({\n code: \"CMS_INSTALLATION_ERROR\",\n message: \"CMS is already installed.\"\n });\n }\n\n await cms.installSystem();\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n upgrade: async (_: any, args: any, { cms }: CmsContext) => {\n const { version } = args;\n try {\n await cms.upgradeSystem(version);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n }\n }\n};\n/**\n * We only register system schema plugin if the endpoint is not manage/preview/read.\n */\nexport const createSystemSchemaPlugin = (): ContextPlugin<CmsContext> => {\n return new ContextPlugin<CmsContext>(async context => {\n if (context.cms?.type) {\n return;\n }\n context.plugins.register(plugin);\n });\n};\n"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA,MAAMA,aAAa,GAAG,OAAO,EAAP,CAAtB;;AAEA,MAAMC,MAAuC,GAAG;EAC5CC,IAAI,EAAE,2BADsC;EAE5CC,IAAI,EAAE,gBAFsC;EAG5CC,MAAM,EAAE;IACJC,QAAQ;IAAE;IAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SA7BY;IA8BJC,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,GAAG,EAAER;MADF,CADA;MAIPS,QAAQ,EAAE;QACND,GAAG,EAAER;MADC,CAJH;MAOPU,QAAQ,EAAE;QACNC,OAAO,EAAE,OAAOC,CAAP,EAAeC,EAAf,EAAwBC,OAAxB,KAAgD;UACrD,IAAI;YACA,OAAOA,OAAO,CAACN,GAAR,CAAYO,gBAAZ,EAAP;UACH,CAFD,CAEE,OAAOC,CAAP,EAAU;YACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;UACH;QACJ;MAPK,CAPH;MAgBPE,WAAW,EAAE;QACTC,OAAO,EAAE,OAAOP,CAAP,EAAeC,EAAf,EAAwB;UAAEL;QAAF,CAAxB,KAAgD;UACrD,IAAI;YACA,MAAMG,OAAO,GAAG,MAAMH,GAAG,CAACO,gBAAJ,EAAtB;;YACA,IAAIJ,OAAJ,EAAa;cACT,OAAO,IAAIM,6BAAJ,CAAkB;gBACrBG,IAAI,EAAE,wBADe;gBAErBC,OAAO,EAAE;cAFY,CAAlB,CAAP;YAIH;;YAED,MAAMb,GAAG,CAACc,aAAJ,EAAN;YACA,OAAO,IAAIC,wBAAJ,CAAa,IAAb,CAAP;UACH,CAXD,CAWE,OAAOP,CAAP,EAAU;YACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;UACH;QACJ,CAhBQ;QAiBTQ,OAAO,EAAE,OAAOZ,CAAP,EAAea,IAAf,EAA0B;UAAEjB;QAAF,CAA1B,KAAkD;UACvD,MAAM;YAAEG;UAAF,IAAcc,IAApB;;UACA,IAAI;YACA,MAAMjB,GAAG,CAACkB,aAAJ,CAAkBf,OAAlB,CAAN;YACA,OAAO,IAAIY,wBAAJ,CAAa,IAAb,CAAP;UACH,CAHD,CAGE,OAAOP,CAAP,EAAU;YACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;UACH;QACJ;MAzBQ;IAhBN;EA9BP;AAHoC,CAAhD;AA+EA;AACA;AACA;;AACO,MAAMW,wBAAwB,GAAG,MAAiC;EACrE,OAAO,IAAIC,kBAAJ,CAA8B,MAAMd,OAAN,IAAiB;IAAA;;IAClD,oBAAIA,OAAO,CAACN,GAAZ,yCAAI,aAAaL,IAAjB,EAAuB;MACnB;IACH;;IACDW,OAAO,CAACe,OAAR,CAAgBC,QAAhB,CAAyB7B,MAAzB;EACH,CALM,CAAP;AAMH,CAPM"}
1
+ {"version":3,"names":["emptyResolver","plugin","GraphQLSchemaPlugin","typeDefs","resolvers","Query","cms","Mutation","CmsQuery","version","_","__","context","getSystemVersion","e","ErrorResponse","CmsMutation","install","code","message","installSystem","Response","upgrade","args","upgradeSystem","name","createSystemSchemaPlugin","ContextPlugin","type","plugins","register"],"sources":["system.ts"],"sourcesContent":["import { ErrorResponse, GraphQLSchemaPlugin, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\nimport { ContextPlugin } from \"@webiny/api\";\n\nconst emptyResolver = () => ({});\n\nconst plugin = new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n extend type Query {\n cms: CmsQuery\n }\n\n extend type Mutation {\n cms: CmsMutation\n }\n\n type CmsQuery {\n _empty: String\n }\n\n type CmsMutation {\n _empty: String\n }\n extend type CmsQuery {\n # Get installed version\n version: String\n }\n\n extend type CmsMutation {\n # Install CMS\n install: CmsBooleanResponse\n\n # Upgrade CMS\n upgrade(version: String!): CmsBooleanResponse\n }\n `,\n resolvers: {\n Query: {\n cms: emptyResolver\n },\n Mutation: {\n cms: emptyResolver\n },\n CmsQuery: {\n version: async (_: any, __: any, context: CmsContext) => {\n try {\n return context.cms.getSystemVersion();\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsMutation: {\n install: async (_: any, __: any, { cms }: CmsContext) => {\n try {\n const version = await cms.getSystemVersion();\n if (version) {\n return new ErrorResponse({\n code: \"CMS_INSTALLATION_ERROR\",\n message: \"CMS is already installed.\"\n });\n }\n\n await cms.installSystem();\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n upgrade: async (_: any, args: any, { cms }: CmsContext) => {\n const { version } = args;\n try {\n await cms.upgradeSystem(version);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n }\n});\nplugin.name = \"cms.graphql.schema.system\";\n/**\n * We only register system schema plugin if the endpoint is not manage/preview/read.\n */\nexport const createSystemSchemaPlugin = (): ContextPlugin<CmsContext> => {\n return new ContextPlugin<CmsContext>(async context => {\n if (context.cms?.type) {\n return;\n }\n context.plugins.register(plugin);\n });\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA,MAAMA,aAAa,GAAG,OAAO,EAAP,CAAtB;;AAEA,MAAMC,MAAM,GAAG,IAAIC,mCAAJ,CAAwB;EACnCC,QAAQ;EAAE;EAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KA7BuC;EA8BnCC,SAAS,EAAE;IACPC,KAAK,EAAE;MACHC,GAAG,EAAEN;IADF,CADA;IAIPO,QAAQ,EAAE;MACND,GAAG,EAAEN;IADC,CAJH;IAOPQ,QAAQ,EAAE;MACNC,OAAO,EAAE,OAAOC,CAAP,EAAeC,EAAf,EAAwBC,OAAxB,KAAgD;QACrD,IAAI;UACA,OAAOA,OAAO,CAACN,GAAR,CAAYO,gBAAZ,EAAP;QACH,CAFD,CAEE,OAAOC,CAAP,EAAU;UACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;QACH;MACJ;IAPK,CAPH;IAgBPE,WAAW,EAAE;MACTC,OAAO,EAAE,OAAOP,CAAP,EAAeC,EAAf,EAAwB;QAAEL;MAAF,CAAxB,KAAgD;QACrD,IAAI;UACA,MAAMG,OAAO,GAAG,MAAMH,GAAG,CAACO,gBAAJ,EAAtB;;UACA,IAAIJ,OAAJ,EAAa;YACT,OAAO,IAAIM,6BAAJ,CAAkB;cACrBG,IAAI,EAAE,wBADe;cAErBC,OAAO,EAAE;YAFY,CAAlB,CAAP;UAIH;;UAED,MAAMb,GAAG,CAACc,aAAJ,EAAN;UACA,OAAO,IAAIC,wBAAJ,CAAa,IAAb,CAAP;QACH,CAXD,CAWE,OAAOP,CAAP,EAAU;UACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;QACH;MACJ,CAhBQ;MAiBTQ,OAAO,EAAE,OAAOZ,CAAP,EAAea,IAAf,EAA0B;QAAEjB;MAAF,CAA1B,KAAkD;QACvD,MAAM;UAAEG;QAAF,IAAcc,IAApB;;QACA,IAAI;UACA,MAAMjB,GAAG,CAACkB,aAAJ,CAAkBf,OAAlB,CAAN;UACA,OAAO,IAAIY,wBAAJ,CAAa,IAAb,CAAP;QACH,CAHD,CAGE,OAAOP,CAAP,EAAU;UACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;QACH;MACJ;IAzBQ;EAhBN;AA9BwB,CAAxB,CAAf;AA2EAb,MAAM,CAACwB,IAAP,GAAc,2BAAd;AACA;AACA;AACA;;AACO,MAAMC,wBAAwB,GAAG,MAAiC;EACrE,OAAO,IAAIC,kBAAJ,CAA8B,MAAMf,OAAN,IAAiB;IAAA;;IAClD,oBAAIA,OAAO,CAACN,GAAZ,yCAAI,aAAasB,IAAjB,EAAuB;MACnB;IACH;;IACDhB,OAAO,CAACiB,OAAR,CAAgBC,QAAhB,CAAyB7B,MAAzB;EACH,CALM,CAAP;AAMH,CAPM"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldToGraphQLPlugin, CmsModelDynamicZoneField } from "../../types";
2
+ export declare const createDynamicZoneField: () => CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField>;
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.createDynamicZoneField = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
12
+ var _createTypeName = require("../../utils/createTypeName");
13
+
14
+ var _createTypeFromFields = require("../../utils/createTypeFromFields");
15
+
16
+ var _helpers = require("../helpers");
17
+
18
+ const createUnionTypeName = (model, field) => {
19
+ return `${(0, _createTypeName.createReadTypeName)(model.modelId)}_${(0, _createTypeName.createReadTypeName)(field.fieldId)}`;
20
+ };
21
+
22
+ const getFieldTemplates = field => {
23
+ var _field$settings;
24
+
25
+ if (!Array.isArray((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates)) {
26
+ return [];
27
+ }
28
+
29
+ return field.settings.templates;
30
+ };
31
+
32
+ const createTypeDefsForTemplates = ({
33
+ model,
34
+ field,
35
+ type,
36
+ templates,
37
+ typeOfType,
38
+ fieldTypePlugins
39
+ }) => {
40
+ const typeDefs = [];
41
+ const templateTypes = [];
42
+ templates.forEach(template => {
43
+ const typeName = [(0, _createTypeName.createTypeName)(model.modelId), (0, _createTypeName.createTypeName)(field.fieldId), template.gqlTypeName].join("_");
44
+ const result = (0, _createTypeFromFields.createTypeFromFields)({
45
+ typeOfType,
46
+ model,
47
+ type,
48
+ typeNamePrefix: typeName,
49
+ fields: template.fields,
50
+ fieldTypePlugins
51
+ });
52
+
53
+ if (!result) {
54
+ return;
55
+ }
56
+
57
+ typeDefs.push(result.typeDefs);
58
+ templateTypes.push(result.fieldType);
59
+ });
60
+ return {
61
+ typeDefs,
62
+ templateTypes
63
+ };
64
+ };
65
+
66
+ const remapTemplateValue = (value, typeName) => {
67
+ const templateType = Object.keys(value)[0];
68
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, value[templateType]), {}, {
69
+ __typename: `${typeName}_${templateType}`
70
+ });
71
+ };
72
+
73
+ const createResolver = ({
74
+ model,
75
+ field
76
+ }) => {
77
+ return parent => {
78
+ const value = parent[field.fieldId];
79
+
80
+ if (!value) {
81
+ return value;
82
+ }
83
+
84
+ const typeName = `${(0, _createTypeName.createTypeName)(model.modelId)}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
85
+
86
+ if (field.multipleValues && Array.isArray(value)) {
87
+ return value.map(v => remapTemplateValue(v, typeName));
88
+ }
89
+
90
+ return remapTemplateValue(value, typeName);
91
+ };
92
+ };
93
+
94
+ const createDynamicZoneField = () => {
95
+ return {
96
+ name: "cms-model-field-to-graphql-dynamic-zone",
97
+ type: "cms-model-field-to-graphql",
98
+ fieldType: "dynamicZone",
99
+ isSortable: false,
100
+ isSearchable: false,
101
+ validateChildFields: params => {
102
+ const {
103
+ validate,
104
+ originalField,
105
+ field
106
+ } = params;
107
+
108
+ const getOriginalTemplateFields = templateId => {
109
+ var _originalField$settin;
110
+
111
+ if (!(originalField !== null && originalField !== void 0 && (_originalField$settin = originalField.settings) !== null && _originalField$settin !== void 0 && _originalField$settin.templates)) {
112
+ return [];
113
+ }
114
+
115
+ const template = originalField.settings.templates.find(t => t.id === templateId);
116
+ return (template === null || template === void 0 ? void 0 : template.fields) || [];
117
+ };
118
+
119
+ for (const template of field.settings.templates) {
120
+ validate({
121
+ fields: template.fields,
122
+ originalFields: getOriginalTemplateFields(template.id)
123
+ });
124
+ }
125
+ },
126
+ read: {
127
+ createTypeField({
128
+ model,
129
+ field,
130
+ fieldTypePlugins
131
+ }) {
132
+ const templates = getFieldTemplates(field);
133
+ const unionTypeName = createUnionTypeName(model, field);
134
+ const {
135
+ typeDefs,
136
+ templateTypes
137
+ } = createTypeDefsForTemplates({
138
+ field,
139
+ type: "read",
140
+ typeOfType: "type",
141
+ model,
142
+ fieldTypePlugins,
143
+ templates
144
+ });
145
+ typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(" | ")}`);
146
+ return {
147
+ fields: `${field.fieldId}: ${field.multipleValues ? `[${unionTypeName}!]` : unionTypeName}`,
148
+ typeDefs: typeDefs.join("\n")
149
+ };
150
+ },
151
+
152
+ createResolver
153
+ },
154
+ manage: {
155
+ createTypeField({
156
+ model,
157
+ field,
158
+ fieldTypePlugins
159
+ }) {
160
+ const templates = getFieldTemplates(field);
161
+ const unionTypeName = createUnionTypeName(model, field);
162
+ const {
163
+ typeDefs,
164
+ templateTypes
165
+ } = createTypeDefsForTemplates({
166
+ field,
167
+ type: "manage",
168
+ typeOfType: "type",
169
+ model,
170
+ fieldTypePlugins,
171
+ templates
172
+ }); // Add _templateId
173
+
174
+ const templateIds = templateTypes.map(type => {
175
+ return `extend type ${type} {
176
+ _templateId: ID!
177
+ }
178
+ `;
179
+ });
180
+ typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(" | ")}`);
181
+ return {
182
+ fields: `${field.fieldId}: ${field.multipleValues ? `[${unionTypeName}!]` : unionTypeName}`,
183
+ typeDefs: typeDefs.concat(templateIds).join("\n")
184
+ };
185
+ },
186
+
187
+ createInputField({
188
+ model,
189
+ field,
190
+ fieldTypePlugins
191
+ }) {
192
+ const templates = getFieldTemplates(field);
193
+ const {
194
+ typeDefs,
195
+ templateTypes
196
+ } = createTypeDefsForTemplates({
197
+ field,
198
+ type: "manage",
199
+ typeOfType: "input",
200
+ model,
201
+ fieldTypePlugins,
202
+ templates
203
+ });
204
+ const typeName = `${(0, _createTypeName.createTypeName)(model.modelId)}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
205
+ const inputProperties = templateTypes.map(inputTypeName => {
206
+ const key = inputTypeName.replace(`${typeName}_`, "").replace("Input", "");
207
+ return [key, inputTypeName];
208
+ });
209
+ /**
210
+ * Generate a field input type, similar to this example:
211
+ *
212
+ * input Article_ContentInput {
213
+ * Hero: Article_Content_HeroInput
214
+ * SimpleText: Article_Content_SimpleTextInput
215
+ * }
216
+ */
217
+
218
+ typeDefs.push(`input ${typeName}Input {
219
+ ${inputProperties.map(([key, value]) => `
220
+ ${key}: ${value}
221
+ `)}
222
+ }`);
223
+ return {
224
+ fields: (0, _helpers.createGraphQLInputField)(field, `${typeName}Input`),
225
+ typeDefs: typeDefs.join("\n")
226
+ };
227
+ },
228
+
229
+ createResolver
230
+ }
231
+ };
232
+ };
233
+
234
+ exports.createDynamicZoneField = createDynamicZoneField;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createUnionTypeName","model","field","createReadTypeName","modelId","fieldId","getFieldTemplates","Array","isArray","settings","templates","createTypeDefsForTemplates","type","typeOfType","fieldTypePlugins","typeDefs","templateTypes","forEach","template","typeName","createTypeName","gqlTypeName","join","result","createTypeFromFields","typeNamePrefix","fields","push","fieldType","remapTemplateValue","value","templateType","Object","keys","__typename","createResolver","parent","multipleValues","map","v","createDynamicZoneField","name","isSortable","isSearchable","validateChildFields","params","validate","originalField","getOriginalTemplateFields","templateId","find","t","id","originalFields","read","createTypeField","unionTypeName","unshift","manage","templateIds","concat","createInputField","inputProperties","inputTypeName","key","replace","createGraphQLInputField"],"sources":["dynamicZoneField.ts"],"sourcesContent":["import {\n CmsModelFieldToGraphQLPlugin,\n CmsModel,\n CmsModelField,\n CmsModelDynamicZoneField,\n CmsDynamicZoneTemplate,\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModelFieldToGraphQLCreateResolver\n} from \"~/types\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\nimport { createGraphQLInputField } from \"../helpers\";\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${createReadTypeName(model.modelId)}_${createReadTypeName(field.fieldId)}`;\n};\n\nconst getFieldTemplates = (field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] => {\n if (!Array.isArray(field.settings?.templates)) {\n return [];\n }\n return field.settings.templates;\n};\n\ninterface CreateTypeDefsForTemplatesParams {\n model: CmsModel;\n field: CmsModelField;\n type: ApiEndpoint;\n typeOfType: \"type\" | \"input\";\n templates: CmsDynamicZoneTemplate[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst createTypeDefsForTemplates = ({\n model,\n field,\n type,\n templates,\n typeOfType,\n fieldTypePlugins\n}: CreateTypeDefsForTemplatesParams) => {\n const typeDefs: string[] = [];\n const templateTypes: string[] = [];\n\n templates.forEach(template => {\n const typeName = [\n createTypeName(model.modelId),\n createTypeName(field.fieldId),\n template.gqlTypeName\n ].join(\"_\");\n\n const result = createTypeFromFields({\n typeOfType,\n model,\n type,\n typeNamePrefix: typeName,\n fields: template.fields,\n fieldTypePlugins\n });\n\n if (!result) {\n return;\n }\n\n typeDefs.push(result.typeDefs);\n templateTypes.push(result.fieldType);\n });\n\n return { typeDefs, templateTypes };\n};\n\nconst remapTemplateValue = (value: any, typeName: string) => {\n const templateType = Object.keys(value)[0];\n\n return { ...value[templateType], __typename: `${typeName}_${templateType}` };\n};\n\nconst createResolver: CmsModelFieldToGraphQLCreateResolver<CmsModelDynamicZoneField> = ({\n model,\n field\n}) => {\n return parent => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${createTypeName(model.modelId)}_${createTypeName(field.fieldId)}`;\n\n if (field.multipleValues && Array.isArray(value)) {\n return value.map(v => remapTemplateValue(v, typeName));\n }\n\n return remapTemplateValue(value, typeName);\n };\n};\n\nexport const createDynamicZoneField =\n (): CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField> => {\n return {\n name: \"cms-model-field-to-graphql-dynamic-zone\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"dynamicZone\",\n isSortable: false,\n isSearchable: false,\n validateChildFields: params => {\n const { validate, originalField, field } = params;\n\n const getOriginalTemplateFields = (templateId: string) => {\n if (!originalField?.settings?.templates) {\n return [];\n }\n const template = originalField.settings.templates.find(\n t => t.id === templateId\n );\n return template?.fields || [];\n };\n\n for (const template of field.settings.templates) {\n validate({\n fields: template.fields,\n originalFields: getOriginalTemplateFields(template.id)\n });\n }\n },\n read: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n field,\n type: \"read\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver\n },\n manage: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n field,\n type: \"manage\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n // Add _templateId\n const templateIds = templateTypes.map(type => {\n return `extend type ${type} {\n _templateId: ID!\n }\n `;\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.concat(templateIds).join(\"\\n\")\n };\n },\n createInputField({ model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n field,\n type: \"manage\",\n typeOfType: \"input\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeName = `${createTypeName(model.modelId)}_${createTypeName(\n field.fieldId\n )}`;\n\n const inputProperties = templateTypes.map(inputTypeName => {\n const key = inputTypeName.replace(`${typeName}_`, \"\").replace(\"Input\", \"\");\n return [key, inputTypeName];\n });\n\n /**\n * Generate a field input type, similar to this example:\n *\n * input Article_ContentInput {\n * Hero: Article_Content_HeroInput\n * SimpleText: Article_Content_SimpleTextInput\n * }\n */\n typeDefs.push(`input ${typeName}Input {\n ${inputProperties.map(\n ([key, value]) => `\n ${key}: ${value}\n `\n )}\n }`);\n\n return {\n fields: createGraphQLInputField(field, `${typeName}Input`),\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver\n }\n };\n };\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CmsModelDynamicZoneField } from "../../types";
2
+ import { StorageTransformPlugin } from "../../plugins";
3
+ export declare const createDynamicZoneStorageTransform: () => StorageTransformPlugin<any, any, CmsModelDynamicZoneField>;