@webiny/api-headless-cms 0.0.0-unstable.6e5425ee89 → 0.0.0-unstable.7f63ea0744

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 (182) hide show
  1. package/context.d.ts +5 -2
  2. package/context.js +53 -4
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/markLockedFields.js +4 -2
  5. package/crud/contentEntry/markLockedFields.js.map +1 -1
  6. package/crud/contentEntry/referenceFieldsMapping.js +7 -5
  7. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  8. package/crud/contentEntry/searchableFields.d.ts +9 -0
  9. package/crud/contentEntry/searchableFields.js +72 -0
  10. package/crud/contentEntry/searchableFields.js.map +1 -0
  11. package/crud/contentEntry.crud.js +99 -42
  12. package/crud/contentEntry.crud.js.map +1 -1
  13. package/crud/contentModel/beforeCreate.d.ts +2 -3
  14. package/crud/contentModel/beforeCreate.js +4 -5
  15. package/crud/contentModel/beforeCreate.js.map +1 -1
  16. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  17. package/crud/contentModel/beforeUpdate.js +2 -2
  18. package/crud/contentModel/beforeUpdate.js.map +1 -1
  19. package/crud/contentModel/createFieldStorageId.js +4 -1
  20. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  21. package/crud/contentModel/validateModel.d.ts +3 -4
  22. package/crud/contentModel/validateModel.js +6 -3
  23. package/crud/contentModel/validateModel.js.map +1 -1
  24. package/crud/contentModel/validateModelFields.d.ts +3 -4
  25. package/crud/contentModel/validateModelFields.js +100 -38
  26. package/crud/contentModel/validateModelFields.js.map +1 -1
  27. package/crud/contentModel/validation.d.ts +477 -0
  28. package/crud/contentModel/validation.js +97 -0
  29. package/crud/contentModel/validation.js.map +1 -0
  30. package/crud/contentModel.crud.js +212 -177
  31. package/crud/contentModel.crud.js.map +1 -1
  32. package/crud/contentModelGroup/validation.d.ts +30 -0
  33. package/crud/contentModelGroup/validation.js +34 -0
  34. package/crud/contentModelGroup/validation.js.map +1 -0
  35. package/crud/contentModelGroup.crud.js +47 -52
  36. package/crud/contentModelGroup.crud.js.map +1 -1
  37. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  38. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  39. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  40. package/fieldConverters/index.d.ts +2 -1
  41. package/fieldConverters/index.js +2 -1
  42. package/fieldConverters/index.js.map +1 -1
  43. package/graphql/buildSchemaPlugins.d.ts +8 -3
  44. package/graphql/buildSchemaPlugins.js +3 -7
  45. package/graphql/buildSchemaPlugins.js.map +1 -1
  46. package/graphql/createExecutableSchema.d.ts +7 -0
  47. package/graphql/createExecutableSchema.js +29 -0
  48. package/graphql/createExecutableSchema.js.map +1 -0
  49. package/graphql/generateSchema.d.ts +8 -0
  50. package/graphql/generateSchema.js +31 -0
  51. package/graphql/generateSchema.js.map +1 -0
  52. package/graphql/graphQLHandlerFactory.js +91 -50
  53. package/graphql/graphQLHandlerFactory.js.map +1 -1
  54. package/graphql/index.d.ts +1 -3
  55. package/graphql/index.js +2 -39
  56. package/graphql/index.js.map +1 -1
  57. package/graphql/schema/baseContentSchema.d.ts +6 -2
  58. package/graphql/schema/baseContentSchema.js +6 -4
  59. package/graphql/schema/baseContentSchema.js.map +1 -1
  60. package/graphql/schema/baseSchema.d.ts +3 -0
  61. package/graphql/schema/baseSchema.js +53 -0
  62. package/graphql/schema/baseSchema.js.map +1 -0
  63. package/graphql/schema/contentEntries.d.ts +6 -2
  64. package/graphql/schema/contentEntries.js +37 -23
  65. package/graphql/schema/contentEntries.js.map +1 -1
  66. package/graphql/schema/contentModelGroups.d.ts +6 -2
  67. package/graphql/schema/contentModelGroups.js +7 -3
  68. package/graphql/schema/contentModelGroups.js.map +1 -1
  69. package/graphql/schema/contentModels.d.ts +6 -2
  70. package/graphql/schema/contentModels.js +40 -7
  71. package/graphql/schema/contentModels.js.map +1 -1
  72. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  73. package/graphql/schema/createFieldResolvers.js +17 -6
  74. package/graphql/schema/createFieldResolvers.js.map +1 -1
  75. package/graphql/schema/createManageSDL.d.ts +2 -0
  76. package/graphql/schema/createManageSDL.js +10 -6
  77. package/graphql/schema/createManageSDL.js.map +1 -1
  78. package/graphql/schema/createReadResolvers.js +5 -0
  79. package/graphql/schema/createReadResolvers.js.map +1 -1
  80. package/graphql/schema/createReadSDL.d.ts +2 -0
  81. package/graphql/schema/createReadSDL.js +11 -5
  82. package/graphql/schema/createReadSDL.js.map +1 -1
  83. package/graphql/schema/schemaPlugins.d.ts +8 -3
  84. package/graphql/schema/schemaPlugins.js +58 -46
  85. package/graphql/schema/schemaPlugins.js.map +1 -1
  86. package/graphql/system.js +69 -72
  87. package/graphql/system.js.map +1 -1
  88. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  89. package/graphqlFields/dynamicZone/dynamicZoneField.js +208 -0
  90. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  91. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  92. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  93. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  94. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  95. package/graphqlFields/dynamicZone/index.js +19 -0
  96. package/graphqlFields/dynamicZone/index.js.map +1 -0
  97. package/graphqlFields/index.d.ts +1 -1
  98. package/graphqlFields/index.js +2 -1
  99. package/graphqlFields/index.js.map +1 -1
  100. package/graphqlFields/number.js +4 -0
  101. package/graphqlFields/number.js.map +1 -1
  102. package/graphqlFields/object.js +112 -68
  103. package/graphqlFields/object.js.map +1 -1
  104. package/graphqlFields/ref.js +31 -45
  105. package/graphqlFields/ref.js.map +1 -1
  106. package/index.d.ts +3 -3
  107. package/index.js +3 -7
  108. package/index.js.map +1 -1
  109. package/package.json +28 -28
  110. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  111. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  112. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  113. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  114. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  115. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  116. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  117. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  118. package/plugins/StorageTransformPlugin.d.ts +11 -11
  119. package/plugins/StorageTransformPlugin.js.map +1 -1
  120. package/plugins/index.d.ts +2 -0
  121. package/plugins/index.js +22 -0
  122. package/plugins/index.js.map +1 -1
  123. package/storage/object.js +4 -2
  124. package/storage/object.js.map +1 -1
  125. package/types.d.ts +241 -57
  126. package/types.js +62 -7
  127. package/types.js.map +1 -1
  128. package/utils/converters/ConverterCollection.js +5 -2
  129. package/utils/converters/ConverterCollection.js.map +1 -1
  130. package/utils/createTypeFromFields.d.ts +15 -0
  131. package/utils/createTypeFromFields.js +64 -0
  132. package/utils/createTypeFromFields.js.map +1 -0
  133. package/utils/createTypeName.js +2 -1
  134. package/utils/createTypeName.js.map +1 -1
  135. package/utils/entryStorage.js +14 -11
  136. package/utils/entryStorage.js.map +1 -1
  137. package/utils/getBaseFieldType.d.ts +4 -0
  138. package/utils/getBaseFieldType.js +10 -0
  139. package/utils/getBaseFieldType.js.map +1 -0
  140. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  141. package/utils/getSchemaFromFieldPlugins.js +22 -14
  142. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  143. package/utils/renderFields.js +2 -1
  144. package/utils/renderFields.js.map +1 -1
  145. package/utils/renderGetFilterFields.js +6 -3
  146. package/utils/renderGetFilterFields.js.map +1 -1
  147. package/utils/renderInputFields.js +2 -1
  148. package/utils/renderInputFields.js.map +1 -1
  149. package/utils/renderListFilterFields.js +4 -2
  150. package/utils/renderListFilterFields.js.map +1 -1
  151. package/utils/renderSortEnum.d.ts +7 -4
  152. package/utils/renderSortEnum.js +21 -4
  153. package/utils/renderSortEnum.js.map +1 -1
  154. package/validators/dynamicZone.d.ts +2 -0
  155. package/validators/dynamicZone.js +20 -0
  156. package/validators/dynamicZone.js.map +1 -0
  157. package/validators/index.js +2 -1
  158. package/validators/index.js.map +1 -1
  159. package/crud/contentModel/createFieldModels.d.ts +0 -2
  160. package/crud/contentModel/createFieldModels.js +0 -20
  161. package/crud/contentModel/createFieldModels.js.map +0 -1
  162. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  163. package/crud/contentModel/fieldIdValidation.js +0 -20
  164. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  165. package/crud/contentModel/idValidation.d.ts +0 -1
  166. package/crud/contentModel/idValidation.js +0 -17
  167. package/crud/contentModel/idValidation.js.map +0 -1
  168. package/crud/contentModel/models.d.ts +0 -4
  169. package/crud/contentModel/models.js +0 -173
  170. package/crud/contentModel/models.js.map +0 -1
  171. package/crud/index.d.ts +0 -6
  172. package/crud/index.js +0 -69
  173. package/crud/index.js.map +0 -1
  174. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  175. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  176. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  177. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  178. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  179. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  180. package/utils/filterModelFields.d.ts +0 -16
  181. package/utils/filterModelFields.js +0 -71
  182. package/utils/filterModelFields.js.map +0 -1
@@ -4,15 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.generateSchemaPlugins = void 0;
7
- var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
8
7
  var _createManageSDL = require("./createManageSDL");
9
8
  var _createReadSDL = require("./createReadSDL");
10
9
  var _createManageResolvers = require("./createManageResolvers");
11
10
  var _createReadResolvers = require("./createReadResolvers");
12
11
  var _createPreviewResolvers = require("./createPreviewResolvers");
13
12
  var _getSchemaFromFieldPlugins = require("../../utils/getSchemaFromFieldPlugins");
14
- var _filterModelFields = require("../../utils/filterModelFields");
15
- const generateSchemaPlugins = async context => {
13
+ var _plugins = require("../../plugins");
14
+ const generateSchemaPlugins = async params => {
15
+ const {
16
+ context,
17
+ models
18
+ } = params;
16
19
  const {
17
20
  plugins,
18
21
  cms
@@ -34,64 +37,73 @@ const generateSchemaPlugins = async context => {
34
37
  acc[pl.fieldType] = pl;
35
38
  return acc;
36
39
  }, {});
40
+ const sorterPlugins = plugins.byType(_plugins.CmsGraphQLSchemaSorterPlugin.type);
37
41
 
38
- // Load model data
39
- context.security.disableAuthorization();
40
- const initialModels = (await cms.listModels()).filter(model => model.isPrivate !== true);
41
- context.security.enableAuthorization();
42
- const models = (0, _filterModelFields.filterModelsDeletedFields)({
43
- models: initialModels,
44
- type
45
- });
46
- const schemas = (0, _getSchemaFromFieldPlugins.getSchemaFromFieldPlugins)({
42
+ // const schemas = getSchemaFromFieldPlugins({
43
+ // models,
44
+ // fieldTypePlugins,
45
+ // type
46
+ // });
47
+
48
+ // const newPlugins: CmsGraphQLSchemaPlugin[] = [];
49
+ // for (const schema of schemas) {
50
+ // newPlugins.push(new CmsGraphQLSchemaPlugin(schema));
51
+ // }
52
+ const schemaPlugins = (0, _getSchemaFromFieldPlugins.createGraphQLSchemaPluginFromFieldPlugins)({
47
53
  models,
48
54
  fieldTypePlugins,
49
55
  type
50
56
  });
51
- const newPlugins = [];
52
- for (const schema of schemas) {
53
- newPlugins.push(new _GraphQLSchemaPlugin.GraphQLSchemaPlugin(schema));
54
- }
55
57
  models.filter(model => model.fields.length > 0).forEach(model => {
56
58
  switch (type) {
57
59
  case "manage":
58
- newPlugins.push(new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
59
- typeDefs: (0, _createManageSDL.createManageSDL)({
60
- model,
61
- fieldTypePlugins
62
- }),
63
- resolvers: (0, _createManageResolvers.createManageResolvers)({
64
- models,
65
- model,
66
- fieldTypePlugins,
67
- context
68
- })
69
- }));
60
+ {
61
+ const plugin = new _plugins.CmsGraphQLSchemaPlugin({
62
+ typeDefs: (0, _createManageSDL.createManageSDL)({
63
+ model,
64
+ fieldTypePlugins,
65
+ sorterPlugins
66
+ }),
67
+ resolvers: (0, _createManageResolvers.createManageResolvers)({
68
+ models,
69
+ model,
70
+ fieldTypePlugins,
71
+ context
72
+ })
73
+ });
74
+ plugin.name = `headless-cms.graphql.schema.manage.${model.modelId}`;
75
+ schemaPlugins.push(plugin);
76
+ }
70
77
  break;
71
78
  case "preview":
72
79
  case "read":
73
- newPlugins.push(new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
74
- typeDefs: (0, _createReadSDL.createReadSDL)({
75
- model,
76
- fieldTypePlugins
77
- }),
78
- resolvers: cms.READ ? (0, _createReadResolvers.createReadResolvers)({
79
- models,
80
- model,
81
- fieldTypePlugins,
82
- context
83
- }) : (0, _createPreviewResolvers.createPreviewResolvers)({
84
- models,
85
- model,
86
- fieldTypePlugins,
87
- context
88
- })
89
- }));
80
+ {
81
+ const plugin = new _plugins.CmsGraphQLSchemaPlugin({
82
+ typeDefs: (0, _createReadSDL.createReadSDL)({
83
+ model,
84
+ fieldTypePlugins,
85
+ sorterPlugins
86
+ }),
87
+ resolvers: cms.READ ? (0, _createReadResolvers.createReadResolvers)({
88
+ models,
89
+ model,
90
+ fieldTypePlugins,
91
+ context
92
+ }) : (0, _createPreviewResolvers.createPreviewResolvers)({
93
+ models,
94
+ model,
95
+ fieldTypePlugins,
96
+ context
97
+ })
98
+ });
99
+ plugin.name = `headless-cms.graphql.schema.${type}.${model.modelId}`;
100
+ schemaPlugins.push(plugin);
101
+ }
90
102
  break;
91
103
  default:
92
104
  return;
93
105
  }
94
106
  });
95
- return newPlugins.filter(pl => !!pl.schema.typeDefs);
107
+ return schemaPlugins.filter(pl => !!pl.schema.typeDefs);
96
108
  };
97
109
  exports.generateSchemaPlugins = generateSchemaPlugins;
@@ -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,OAAmB,IAC0B;EAC7C,MAAM;IAAEC,OAAO;IAAEC;EAAI,CAAC,GAAGF,OAAO;;EAEhC;AACJ;AACA;AACA;EACI,MAAM;IAAEG;EAAK,CAAC,GAAGD,GAAG;EACpB,IAAI,CAACC,IAAI,EAAE;IACP,OAAO,EAAE;EACb;;EAEA;EACA,MAAMC,gBAAqC,GAAGH,OAAO,CAChDI,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAC,CAACC,GAAG,EAAEC,EAAE,KAAK;IACjBD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAiD;;EAE1D;EACAP,OAAO,CAACU,QAAQ,CAACC,oBAAoB,EAAE;EACvC,MAAMC,aAAa,GAAG,CAAC,MAAMV,GAAG,CAACW,UAAU,EAAE,EAAEC,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACC,SAAS,KAAK,IAAI,CAAC;EACxFhB,OAAO,CAACU,QAAQ,CAACO,mBAAmB,EAAE;EAEtC,MAAMC,MAAM,GAAG,IAAAC,4CAAyB,EAAC;IACrCD,MAAM,EAAEN,aAAa;IACrBT;EACJ,CAAC,CAAC;EAEF,MAAMiB,OAAO,GAAG,IAAAC,oDAAyB,EAAC;IACtCH,MAAM;IACNd,gBAAgB;IAChBD;EACJ,CAAC,CAAC;EAEF,MAAMmB,UAA6C,GAAG,EAAE;EACxD,KAAK,MAAMC,MAAM,IAAIH,OAAO,EAAE;IAC1BE,UAAU,CAACE,IAAI,CAAC,IAAIC,wCAAmB,CAACF,MAAM,CAAC,CAAC;EACpD;EAEAL,MAAM,CACDJ,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACW,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC,CACxCC,OAAO,CAACb,KAAK,IAAI;IACd,QAAQZ,IAAI;MACR,KAAK,QAAQ;QACTmB,UAAU,CAACE,IAAI,CACX,IAAIC,wCAAmB,CAAC;UACpBI,QAAQ,EAAE,IAAAC,gCAAe,EAAC;YAAEf,KAAK;YAAEX;UAAiB,CAAC,CAAC;UACtD2B,SAAS,EAAE,IAAAC,4CAAqB,EAAC;YAC7Bd,MAAM;YACNH,KAAK;YACLX,gBAAgB;YAChBJ;UACJ,CAAC;QACL,CAAC,CAAC,CACL;QAED;MACJ,KAAK,SAAS;MACd,KAAK,MAAM;QACPsB,UAAU,CAACE,IAAI,CACX,IAAIC,wCAAmB,CAAC;UACpBI,QAAQ,EAAE,IAAAI,4BAAa,EAAC;YAAElB,KAAK;YAAEX;UAAiB,CAAC,CAAC;UACpD2B,SAAS,EAAE7B,GAAG,CAACgC,IAAI,GACb,IAAAC,wCAAmB,EAAC;YAChBjB,MAAM;YACNH,KAAK;YACLX,gBAAgB;YAChBJ;UACJ,CAAC,CAAC,GACF,IAAAoC,8CAAsB,EAAC;YACnBlB,MAAM;YACNH,KAAK;YACLX,gBAAgB;YAChBJ;UACJ,CAAC;QACX,CAAC,CAAC,CACL;QACD;MACJ;QACI;IAAO;EAEnB,CAAC,CAAC;EAEN,OAAOsB,UAAU,CAACR,MAAM,CAACN,EAAE,IAAI,CAAC,CAACA,EAAE,CAACe,MAAM,CAACM,QAAQ,CAAC;AACxD,CAAC;AAAC"}
1
+ {"version":3,"names":["generateSchemaPlugins","params","context","models","plugins","cms","type","fieldTypePlugins","byType","reduce","acc","pl","fieldType","sorterPlugins","CmsGraphQLSchemaSorterPlugin","schemaPlugins","createGraphQLSchemaPluginFromFieldPlugins","filter","model","fields","length","forEach","plugin","CmsGraphQLSchemaPlugin","typeDefs","createManageSDL","resolvers","createManageResolvers","name","modelId","push","createReadSDL","READ","createReadResolvers","createPreviewResolvers","schema"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin, CmsFieldTypePlugins, CmsContext, CmsModel } from \"~/types\";\nimport { createManageSDL } from \"./createManageSDL\";\nimport { createReadSDL } from \"./createReadSDL\";\nimport { createManageResolvers } from \"./createManageResolvers\";\nimport { createReadResolvers } from \"./createReadResolvers\";\nimport { createPreviewResolvers } from \"./createPreviewResolvers\";\nimport { createGraphQLSchemaPluginFromFieldPlugins } from \"~/utils/getSchemaFromFieldPlugins\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface GenerateSchemaPluginsParams {\n context: CmsContext;\n models: CmsModel[];\n}\nexport const generateSchemaPlugins = async (\n params: GenerateSchemaPluginsParams\n): Promise<CmsGraphQLSchemaPlugin[]> => {\n const { context, models } = params;\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 // 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 const schemaPlugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n fieldTypePlugins,\n type\n });\n\n models\n .filter(model => model.fields.length > 0)\n .forEach(model => {\n switch (type) {\n case \"manage\":\n {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: createManageSDL({ model, fieldTypePlugins, sorterPlugins }),\n resolvers: createManageResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n });\n plugin.name = `headless-cms.graphql.schema.manage.${model.modelId}`;\n schemaPlugins.push(plugin);\n }\n\n break;\n case \"preview\":\n case \"read\":\n {\n const plugin = 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 plugin.name = `headless-cms.graphql.schema.${type}.${model.modelId}`;\n schemaPlugins.push(plugin);\n }\n break;\n default:\n return;\n }\n });\n\n return schemaPlugins.filter(pl => !!pl.schema.typeDefs);\n};\n"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOO,MAAMA,qBAAqB,GAAG,MACjCC,MAAmC,IACC;EACpC,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAClC,MAAM;IAAEG,OAAO;IAAEC;EAAI,CAAC,GAAGH,OAAO;;EAEhC;AACJ;AACA;AACA;EACI,MAAM;IAAEI;EAAK,CAAC,GAAGD,GAAG;EACpB,IAAI,CAACC,IAAI,EAAE;IACP,OAAO,EAAE;EACb;;EAEA;EACA,MAAMC,gBAAgB,GAAGH,OAAO,CAC3BI,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,GAAG,EAAEC,EAAE,KAAK;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;EAEV,MAAMG,aAAa,GAAGT,OAAO,CAACI,MAAM,CAChCM,qCAA4B,CAACR,IAAI,CACpC;;EAED;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA,MAAMS,aAAa,GAAG,IAAAC,oEAAyC,EAAC;IAC5Db,MAAM;IACNI,gBAAgB;IAChBD;EACJ,CAAC,CAAC;EAEFH,MAAM,CACDc,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC,CACxCC,OAAO,CAACH,KAAK,IAAI;IACd,QAAQZ,IAAI;MACR,KAAK,QAAQ;QACT;UACI,MAAMgB,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAC,gCAAe,EAAC;cAAEP,KAAK;cAAEX,gBAAgB;cAAEM;YAAc,CAAC,CAAC;YACrEa,SAAS,EAAE,IAAAC,4CAAqB,EAAC;cAC7BxB,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC;UACL,CAAC,CAAC;UACFoB,MAAM,CAACM,IAAI,GAAI,sCAAqCV,KAAK,CAACW,OAAQ,EAAC;UACnEd,aAAa,CAACe,IAAI,CAACR,MAAM,CAAC;QAC9B;QAEA;MACJ,KAAK,SAAS;MACd,KAAK,MAAM;QACP;UACI,MAAMA,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAO,4BAAa,EAAC;cAAEb,KAAK;cAAEX,gBAAgB;cAAEM;YAAc,CAAC,CAAC;YACnEa,SAAS,EAAErB,GAAG,CAAC2B,IAAI,GACb,IAAAC,wCAAmB,EAAC;cAChB9B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC,CAAC,GACF,IAAAgC,8CAAsB,EAAC;cACnB/B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC;UACX,CAAC,CAAC;UACFoB,MAAM,CAACM,IAAI,GAAI,+BAA8BtB,IAAK,IAAGY,KAAK,CAACW,OAAQ,EAAC;UACpEd,aAAa,CAACe,IAAI,CAACR,MAAM,CAAC;QAC9B;QACA;MACJ;QACI;IAAO;EAEnB,CAAC,CAAC;EAEN,OAAOP,aAAa,CAACE,MAAM,CAACN,EAAE,IAAI,CAAC,CAACA,EAAE,CAACwB,MAAM,CAACX,QAAQ,CAAC;AAC3D,CAAC;AAAC"}
package/graphql/system.js CHANGED
@@ -7,90 +7,87 @@ exports.createSystemSchemaPlugin = void 0;
7
7
  var _handlerGraphql = require("@webiny/handler-graphql");
8
8
  var _api = require("@webiny/api");
9
9
  const emptyResolver = () => ({});
10
- const plugin = {
11
- name: "cms.graphql.schema.system",
12
- type: "graphql-schema",
13
- schema: {
14
- typeDefs: /* GraphQL */`
15
- extend type Query {
16
- cms: CmsQuery
17
- }
10
+ const plugin = new _handlerGraphql.GraphQLSchemaPlugin({
11
+ typeDefs: /* GraphQL */`
12
+ extend type Query {
13
+ cms: CmsQuery
14
+ }
18
15
 
19
- extend type Mutation {
20
- cms: CmsMutation
21
- }
16
+ extend type Mutation {
17
+ cms: CmsMutation
18
+ }
22
19
 
23
- type CmsQuery {
24
- _empty: String
25
- }
20
+ type CmsQuery {
21
+ _empty: String
22
+ }
26
23
 
27
- type CmsMutation {
28
- _empty: String
29
- }
30
- extend type CmsQuery {
31
- # Get installed version
32
- version: String
33
- }
24
+ type CmsMutation {
25
+ _empty: String
26
+ }
27
+ extend type CmsQuery {
28
+ # Get installed version
29
+ version: String
30
+ }
34
31
 
35
- extend type CmsMutation {
36
- # Install CMS
37
- install: CmsBooleanResponse
32
+ extend type CmsMutation {
33
+ # Install CMS
34
+ install: CmsBooleanResponse
38
35
 
39
- # Upgrade CMS
40
- upgrade(version: String!): CmsBooleanResponse
41
- }
42
- `,
43
- resolvers: {
44
- Query: {
45
- cms: emptyResolver
46
- },
47
- Mutation: {
48
- cms: emptyResolver
49
- },
50
- CmsQuery: {
51
- version: async (_, __, context) => {
52
- try {
53
- return context.cms.getSystemVersion();
54
- } catch (e) {
55
- return new _handlerGraphql.ErrorResponse(e);
36
+ # Upgrade CMS
37
+ upgrade(version: String!): CmsBooleanResponse
38
+ }
39
+ `,
40
+ resolvers: {
41
+ Query: {
42
+ cms: emptyResolver
43
+ },
44
+ Mutation: {
45
+ cms: emptyResolver
46
+ },
47
+ CmsQuery: {
48
+ version: async (_, __, context) => {
49
+ try {
50
+ return context.cms.getSystemVersion();
51
+ } catch (e) {
52
+ return new _handlerGraphql.ErrorResponse(e);
53
+ }
54
+ }
55
+ },
56
+ CmsMutation: {
57
+ install: async (_, __, {
58
+ cms
59
+ }) => {
60
+ try {
61
+ const version = await cms.getSystemVersion();
62
+ if (version) {
63
+ return new _handlerGraphql.ErrorResponse({
64
+ code: "CMS_INSTALLATION_ERROR",
65
+ message: "CMS is already installed."
66
+ });
56
67
  }
68
+ await cms.installSystem();
69
+ return new _handlerGraphql.Response(true);
70
+ } catch (e) {
71
+ return new _handlerGraphql.ErrorResponse(e);
57
72
  }
58
73
  },
59
- CmsMutation: {
60
- install: async (_, __, {
61
- cms
62
- }) => {
63
- try {
64
- const version = await cms.getSystemVersion();
65
- if (version) {
66
- return new _handlerGraphql.ErrorResponse({
67
- code: "CMS_INSTALLATION_ERROR",
68
- message: "CMS is already installed."
69
- });
70
- }
71
- await cms.installSystem();
72
- return new _handlerGraphql.Response(true);
73
- } catch (e) {
74
- return new _handlerGraphql.ErrorResponse(e);
75
- }
76
- },
77
- upgrade: async (_, args, {
78
- cms
79
- }) => {
80
- const {
81
- version
82
- } = args;
83
- try {
84
- await cms.upgradeSystem(version);
85
- return new _handlerGraphql.Response(true);
86
- } catch (e) {
87
- return new _handlerGraphql.ErrorResponse(e);
88
- }
74
+ upgrade: async (_, args, {
75
+ cms
76
+ }) => {
77
+ const {
78
+ version
79
+ } = args;
80
+ try {
81
+ await cms.upgradeSystem(version);
82
+ return new _handlerGraphql.Response(true);
83
+ } catch (e) {
84
+ return new _handlerGraphql.ErrorResponse(e);
89
85
  }
90
86
  }
91
87
  }
92
88
  }
93
- };
89
+ });
90
+ plugin.name = "cms.graphql.schema.system";
94
91
  /**
95
92
  * We only register system schema plugin if the endpoint is not manage/preview/read.
96
93
  */
@@ -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,CAAC,CAAC,CAAC;AAEhC,MAAMC,MAAuC,GAAG;EAC5CC,IAAI,EAAE,2BAA2B;EACjCC,IAAI,EAAE,gBAAgB;EACtBC,MAAM,EAAE;IACJC,QAAQ,EAAE,aAAe;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,SAAS;IACDC,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,GAAG,EAAER;MACT,CAAC;MACDS,QAAQ,EAAE;QACND,GAAG,EAAER;MACT,CAAC;MACDU,QAAQ,EAAE;QACNC,OAAO,EAAE,OAAOC,CAAM,EAAEC,EAAO,EAAEC,OAAmB,KAAK;UACrD,IAAI;YACA,OAAOA,OAAO,CAACN,GAAG,CAACO,gBAAgB,EAAE;UACzC,CAAC,CAAC,OAAOC,CAAC,EAAE;YACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;UAC/B;QACJ;MACJ,CAAC;MACDE,WAAW,EAAE;QACTC,OAAO,EAAE,OAAOP,CAAM,EAAEC,EAAO,EAAE;UAAEL;QAAgB,CAAC,KAAK;UACrD,IAAI;YACA,MAAMG,OAAO,GAAG,MAAMH,GAAG,CAACO,gBAAgB,EAAE;YAC5C,IAAIJ,OAAO,EAAE;cACT,OAAO,IAAIM,6BAAa,CAAC;gBACrBG,IAAI,EAAE,wBAAwB;gBAC9BC,OAAO,EAAE;cACb,CAAC,CAAC;YACN;YAEA,MAAMb,GAAG,CAACc,aAAa,EAAE;YACzB,OAAO,IAAIC,wBAAQ,CAAC,IAAI,CAAC;UAC7B,CAAC,CAAC,OAAOP,CAAC,EAAE;YACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;UAC/B;QACJ,CAAC;QACDQ,OAAO,EAAE,OAAOZ,CAAM,EAAEa,IAAS,EAAE;UAAEjB;QAAgB,CAAC,KAAK;UACvD,MAAM;YAAEG;UAAQ,CAAC,GAAGc,IAAI;UACxB,IAAI;YACA,MAAMjB,GAAG,CAACkB,aAAa,CAACf,OAAO,CAAC;YAChC,OAAO,IAAIY,wBAAQ,CAAC,IAAI,CAAC;UAC7B,CAAC,CAAC,OAAOP,CAAC,EAAE;YACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;UAC/B;QACJ;MACJ;IACJ;EACJ;AACJ,CAAC;AACD;AACA;AACA;AACO,MAAMW,wBAAwB,GAAG,MAAiC;EACrE,OAAO,IAAIC,kBAAa,CAAa,MAAMd,OAAO,IAAI;IAAA;IAClD,oBAAIA,OAAO,CAACN,GAAG,yCAAX,aAAaL,IAAI,EAAE;MACnB;IACJ;IACAW,OAAO,CAACe,OAAO,CAACC,QAAQ,CAAC7B,MAAM,CAAC;EACpC,CAAC,CAAC;AACN,CAAC;AAAC"}
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,CAAC,CAAC,CAAC;AAEhC,MAAMC,MAAM,GAAG,IAAIC,mCAAmB,CAAC;EACnCC,QAAQ,EAAE,aAAe;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,KAAK;EACDC,SAAS,EAAE;IACPC,KAAK,EAAE;MACHC,GAAG,EAAEN;IACT,CAAC;IACDO,QAAQ,EAAE;MACND,GAAG,EAAEN;IACT,CAAC;IACDQ,QAAQ,EAAE;MACNC,OAAO,EAAE,OAAOC,CAAM,EAAEC,EAAO,EAAEC,OAAmB,KAAK;QACrD,IAAI;UACA,OAAOA,OAAO,CAACN,GAAG,CAACO,gBAAgB,EAAE;QACzC,CAAC,CAAC,OAAOC,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ;IACJ,CAAC;IACDE,WAAW,EAAE;MACTC,OAAO,EAAE,OAAOP,CAAM,EAAEC,EAAO,EAAE;QAAEL;MAAgB,CAAC,KAAK;QACrD,IAAI;UACA,MAAMG,OAAO,GAAG,MAAMH,GAAG,CAACO,gBAAgB,EAAE;UAC5C,IAAIJ,OAAO,EAAE;YACT,OAAO,IAAIM,6BAAa,CAAC;cACrBG,IAAI,EAAE,wBAAwB;cAC9BC,OAAO,EAAE;YACb,CAAC,CAAC;UACN;UAEA,MAAMb,GAAG,CAACc,aAAa,EAAE;UACzB,OAAO,IAAIC,wBAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,OAAOP,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ,CAAC;MACDQ,OAAO,EAAE,OAAOZ,CAAM,EAAEa,IAAS,EAAE;QAAEjB;MAAgB,CAAC,KAAK;QACvD,MAAM;UAAEG;QAAQ,CAAC,GAAGc,IAAI;QACxB,IAAI;UACA,MAAMjB,GAAG,CAACkB,aAAa,CAACf,OAAO,CAAC;UAChC,OAAO,IAAIY,wBAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,OAAOP,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ;IACJ;EACJ;AACJ,CAAC,CAAC;AACFb,MAAM,CAACwB,IAAI,GAAG,2BAA2B;AACzC;AACA;AACA;AACO,MAAMC,wBAAwB,GAAG,MAAiC;EACrE,OAAO,IAAIC,kBAAa,CAAa,MAAMf,OAAO,IAAI;IAAA;IAClD,oBAAIA,OAAO,CAACN,GAAG,yCAAX,aAAasB,IAAI,EAAE;MACnB;IACJ;IACAhB,OAAO,CAACiB,OAAO,CAACC,QAAQ,CAAC7B,MAAM,CAAC;EACpC,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldToGraphQLPlugin, CmsModelDynamicZoneField } from "../../types";
2
+ export declare const createDynamicZoneField: () => CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField>;
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createDynamicZoneField = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _createTypeName = require("../../utils/createTypeName");
10
+ var _createTypeFromFields = require("../../utils/createTypeFromFields");
11
+ var _helpers = require("../helpers");
12
+ const createUnionTypeName = (model, field) => {
13
+ return `${(0, _createTypeName.createReadTypeName)(model.modelId)}_${(0, _createTypeName.createReadTypeName)(field.fieldId)}`;
14
+ };
15
+ const getFieldTemplates = field => {
16
+ var _field$settings;
17
+ if (!Array.isArray((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates)) {
18
+ return [];
19
+ }
20
+ return field.settings.templates;
21
+ };
22
+ const createTypeDefsForTemplates = ({
23
+ model,
24
+ field,
25
+ type,
26
+ templates,
27
+ typeOfType,
28
+ fieldTypePlugins
29
+ }) => {
30
+ const typeDefs = [];
31
+ const templateTypes = [];
32
+ templates.forEach(template => {
33
+ const typeName = [(0, _createTypeName.createTypeName)(model.modelId), (0, _createTypeName.createTypeName)(field.fieldId), template.gqlTypeName].join("_");
34
+ const result = (0, _createTypeFromFields.createTypeFromFields)({
35
+ typeOfType,
36
+ model,
37
+ type,
38
+ typeNamePrefix: typeName,
39
+ fields: template.fields,
40
+ fieldTypePlugins
41
+ });
42
+ if (!result) {
43
+ return;
44
+ }
45
+ typeDefs.push(result.typeDefs);
46
+ templateTypes.push(result.fieldType);
47
+ });
48
+ return {
49
+ typeDefs,
50
+ templateTypes
51
+ };
52
+ };
53
+ const remapTemplateValue = (value, typeName) => {
54
+ const templateType = Object.keys(value)[0];
55
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, value[templateType]), {}, {
56
+ __typename: `${typeName}_${templateType}`
57
+ });
58
+ };
59
+ const createResolver = ({
60
+ model,
61
+ field
62
+ }) => {
63
+ return parent => {
64
+ const value = parent[field.fieldId];
65
+ if (!value) {
66
+ return value;
67
+ }
68
+ const typeName = `${(0, _createTypeName.createTypeName)(model.modelId)}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
69
+ if (field.multipleValues && Array.isArray(value)) {
70
+ return value.map(v => remapTemplateValue(v, typeName));
71
+ }
72
+ return remapTemplateValue(value, typeName);
73
+ };
74
+ };
75
+ const createDynamicZoneField = () => {
76
+ return {
77
+ name: "cms-model-field-to-graphql-dynamic-zone",
78
+ type: "cms-model-field-to-graphql",
79
+ fieldType: "dynamicZone",
80
+ isSortable: false,
81
+ isSearchable: false,
82
+ validateChildFields: params => {
83
+ const {
84
+ validate,
85
+ originalField,
86
+ field
87
+ } = params;
88
+ const getOriginalTemplateFields = templateId => {
89
+ var _originalField$settin;
90
+ if (!(originalField !== null && originalField !== void 0 && (_originalField$settin = originalField.settings) !== null && _originalField$settin !== void 0 && _originalField$settin.templates)) {
91
+ return [];
92
+ }
93
+ const template = originalField.settings.templates.find(t => t.id === templateId);
94
+ return (template === null || template === void 0 ? void 0 : template.fields) || [];
95
+ };
96
+ for (const template of field.settings.templates) {
97
+ validate({
98
+ fields: template.fields,
99
+ originalFields: getOriginalTemplateFields(template.id)
100
+ });
101
+ }
102
+ },
103
+ read: {
104
+ createTypeField({
105
+ model,
106
+ field,
107
+ fieldTypePlugins
108
+ }) {
109
+ const templates = getFieldTemplates(field);
110
+ const unionTypeName = createUnionTypeName(model, field);
111
+ const {
112
+ typeDefs,
113
+ templateTypes
114
+ } = createTypeDefsForTemplates({
115
+ field,
116
+ type: "read",
117
+ typeOfType: "type",
118
+ model,
119
+ fieldTypePlugins,
120
+ templates
121
+ });
122
+ typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(" | ")}`);
123
+ return {
124
+ fields: `${field.fieldId}: ${field.multipleValues ? `[${unionTypeName}!]` : unionTypeName}`,
125
+ typeDefs: typeDefs.join("\n")
126
+ };
127
+ },
128
+ createResolver
129
+ },
130
+ manage: {
131
+ createTypeField({
132
+ model,
133
+ field,
134
+ fieldTypePlugins
135
+ }) {
136
+ const templates = getFieldTemplates(field);
137
+ const unionTypeName = createUnionTypeName(model, field);
138
+ const {
139
+ typeDefs,
140
+ templateTypes
141
+ } = createTypeDefsForTemplates({
142
+ field,
143
+ type: "manage",
144
+ typeOfType: "type",
145
+ model,
146
+ fieldTypePlugins,
147
+ templates
148
+ });
149
+
150
+ // Add _templateId
151
+ const templateIds = templateTypes.map(type => {
152
+ return `extend type ${type} {
153
+ _templateId: ID!
154
+ }
155
+ `;
156
+ });
157
+ typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(" | ")}`);
158
+ return {
159
+ fields: `${field.fieldId}: ${field.multipleValues ? `[${unionTypeName}!]` : unionTypeName}`,
160
+ typeDefs: typeDefs.concat(templateIds).join("\n")
161
+ };
162
+ },
163
+ createInputField({
164
+ model,
165
+ field,
166
+ fieldTypePlugins
167
+ }) {
168
+ const templates = getFieldTemplates(field);
169
+ const {
170
+ typeDefs,
171
+ templateTypes
172
+ } = createTypeDefsForTemplates({
173
+ field,
174
+ type: "manage",
175
+ typeOfType: "input",
176
+ model,
177
+ fieldTypePlugins,
178
+ templates
179
+ });
180
+ const typeName = `${(0, _createTypeName.createTypeName)(model.modelId)}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
181
+ const inputProperties = templateTypes.map(inputTypeName => {
182
+ const key = inputTypeName.replace(`${typeName}_`, "").replace("Input", "");
183
+ return [key, inputTypeName];
184
+ });
185
+
186
+ /**
187
+ * Generate a field input type, similar to this example:
188
+ *
189
+ * input Article_ContentInput {
190
+ * Hero: Article_Content_HeroInput
191
+ * SimpleText: Article_Content_SimpleTextInput
192
+ * }
193
+ */
194
+ typeDefs.push(`input ${typeName}Input {
195
+ ${inputProperties.map(([key, value]) => `
196
+ ${key}: ${value}
197
+ `)}
198
+ }`);
199
+ return {
200
+ fields: (0, _helpers.createGraphQLInputField)(field, `${typeName}Input`),
201
+ typeDefs: typeDefs.join("\n")
202
+ };
203
+ },
204
+ createResolver
205
+ }
206
+ };
207
+ };
208
+ 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>;