@webiny/api-headless-cms 0.0.0-unstable.bca7b3e350 → 0.0.0-unstable.c59b9cc5b9

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 (215) hide show
  1. package/context.js +47 -43
  2. package/context.js.map +1 -1
  3. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  4. package/crud/contentEntry/markLockedFields.js +3 -0
  5. package/crud/contentEntry/markLockedFields.js.map +1 -1
  6. package/crud/contentEntry/referenceFieldsMapping.js +34 -5
  7. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  8. package/crud/contentEntry.crud.d.ts +8 -5
  9. package/crud/contentEntry.crud.js +1023 -840
  10. package/crud/contentEntry.crud.js.map +1 -1
  11. package/crud/contentModel/beforeCreate.js +39 -76
  12. package/crud/contentModel/beforeCreate.js.map +1 -1
  13. package/crud/contentModel/beforeDelete.d.ts +1 -1
  14. package/crud/contentModel/beforeDelete.js +1 -5
  15. package/crud/contentModel/beforeDelete.js.map +1 -1
  16. package/crud/contentModel/beforeUpdate.js +31 -3
  17. package/crud/contentModel/beforeUpdate.js.map +1 -1
  18. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  19. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  20. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  21. package/crud/contentModel/defaultFields.d.ts +5 -0
  22. package/crud/contentModel/defaultFields.js +58 -0
  23. package/crud/contentModel/defaultFields.js.map +1 -0
  24. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  25. package/crud/contentModel/fields/descriptionField.js +42 -0
  26. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  27. package/crud/contentModel/fields/imageField.d.ts +2 -0
  28. package/crud/contentModel/fields/imageField.js +46 -0
  29. package/crud/contentModel/fields/imageField.js.map +1 -0
  30. package/crud/contentModel/fields/titleField.d.ts +2 -0
  31. package/crud/contentModel/fields/titleField.js +58 -0
  32. package/crud/contentModel/fields/titleField.js.map +1 -0
  33. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  34. package/crud/contentModel/validate/endingAllowed.js +26 -0
  35. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  36. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  37. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  38. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  39. package/crud/contentModel/validate/modelId.d.ts +11 -0
  40. package/crud/contentModel/validate/modelId.js +36 -0
  41. package/crud/contentModel/validate/modelId.js.map +1 -0
  42. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  43. package/crud/contentModel/validate/pluralApiName.js +24 -0
  44. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  45. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  46. package/crud/contentModel/validate/singularApiName.js +24 -0
  47. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  48. package/crud/contentModel/validateModel.d.ts +1 -0
  49. package/crud/contentModel/validateModel.js.map +1 -1
  50. package/crud/contentModel/validateModelFields.d.ts +2 -1
  51. package/crud/contentModel/validateModelFields.js +19 -57
  52. package/crud/contentModel/validateModelFields.js.map +1 -1
  53. package/crud/contentModel/validation.d.ts +136 -62
  54. package/crud/contentModel/validation.js +61 -13
  55. package/crud/contentModel/validation.js.map +1 -1
  56. package/crud/contentModel.crud.js +346 -285
  57. package/crud/contentModel.crud.js.map +1 -1
  58. package/crud/contentModelGroup.crud.js +170 -148
  59. package/crud/contentModelGroup.crud.js.map +1 -1
  60. package/crud/settings.crud.d.ts +1 -1
  61. package/crud/settings.crud.js +5 -10
  62. package/crud/settings.crud.js.map +1 -1
  63. package/crud/system.crud.js +0 -60
  64. package/crud/system.crud.js.map +1 -1
  65. package/graphql/checkEndpointAccess.d.ts +2 -0
  66. package/graphql/checkEndpointAccess.js +18 -0
  67. package/graphql/checkEndpointAccess.js.map +1 -0
  68. package/graphql/createExecutableSchema.d.ts +2 -3
  69. package/graphql/createExecutableSchema.js.map +1 -1
  70. package/graphql/createRequestBody.d.ts +2 -0
  71. package/graphql/createRequestBody.js +14 -0
  72. package/graphql/createRequestBody.js.map +1 -0
  73. package/graphql/formatErrorPayload.d.ts +1 -0
  74. package/graphql/formatErrorPayload.js +25 -0
  75. package/graphql/formatErrorPayload.js.map +1 -0
  76. package/graphql/generateSchema.js.map +1 -1
  77. package/graphql/getSchema.d.ts +17 -0
  78. package/graphql/getSchema.js +102 -0
  79. package/graphql/getSchema.js.map +1 -0
  80. package/graphql/graphQLHandlerFactory.js +6 -145
  81. package/graphql/graphQLHandlerFactory.js.map +1 -1
  82. package/graphql/handleRequest.d.ts +11 -0
  83. package/graphql/handleRequest.js +81 -0
  84. package/graphql/handleRequest.js.map +1 -0
  85. package/graphql/schema/baseContentSchema.js +1 -7
  86. package/graphql/schema/baseContentSchema.js.map +1 -1
  87. package/graphql/schema/baseSchema.js +15 -0
  88. package/graphql/schema/baseSchema.js.map +1 -1
  89. package/graphql/schema/contentEntries.js +90 -53
  90. package/graphql/schema/contentEntries.js.map +1 -1
  91. package/graphql/schema/contentModelGroups.js +7 -7
  92. package/graphql/schema/contentModelGroups.js.map +1 -1
  93. package/graphql/schema/contentModels.js +23 -4
  94. package/graphql/schema/contentModels.js.map +1 -1
  95. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  96. package/graphql/schema/createFieldResolvers.js +6 -12
  97. package/graphql/schema/createFieldResolvers.js.map +1 -1
  98. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  99. package/graphql/schema/createFieldTypePluginRecords.js +13 -0
  100. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  101. package/graphql/schema/createManageResolvers.d.ts +1 -1
  102. package/graphql/schema/createManageResolvers.js +37 -17
  103. package/graphql/schema/createManageResolvers.js.map +1 -1
  104. package/graphql/schema/createManageSDL.d.ts +1 -0
  105. package/graphql/schema/createManageSDL.js +76 -62
  106. package/graphql/schema/createManageSDL.js.map +1 -1
  107. package/graphql/schema/createPreviewResolvers.js +3 -7
  108. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  109. package/graphql/schema/createReadResolvers.js +4 -8
  110. package/graphql/schema/createReadResolvers.js.map +1 -1
  111. package/graphql/schema/createReadSDL.d.ts +1 -0
  112. package/graphql/schema/createReadSDL.js +40 -35
  113. package/graphql/schema/createReadSDL.js.map +1 -1
  114. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  115. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -1
  116. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  117. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  118. package/graphql/schema/resolvers/manage/resolveDelete.js +13 -3
  119. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  120. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  121. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
  122. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  123. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  124. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
  125. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  126. package/graphql/schema/schemaPlugins.js +7 -16
  127. package/graphql/schema/schemaPlugins.js.map +1 -1
  128. package/graphql/system.js +0 -16
  129. package/graphql/system.js.map +1 -1
  130. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  131. package/graphqlFields/dynamicZone/dynamicZoneField.js +54 -19
  132. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  133. package/graphqlFields/object.js +21 -2
  134. package/graphqlFields/object.js.map +1 -1
  135. package/graphqlFields/ref.js +42 -14
  136. package/graphqlFields/ref.js.map +1 -1
  137. package/index.d.ts +3 -1
  138. package/index.js +25 -2
  139. package/index.js.map +1 -1
  140. package/package.json +35 -36
  141. package/plugins/CmsModelPlugin.d.ts +21 -3
  142. package/plugins/CmsModelPlugin.js +28 -2
  143. package/plugins/CmsModelPlugin.js.map +1 -1
  144. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  145. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  146. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  147. package/plugins/index.d.ts +1 -0
  148. package/plugins/index.js +11 -0
  149. package/plugins/index.js.map +1 -1
  150. package/types.d.ts +200 -97
  151. package/types.js +12 -1
  152. package/types.js.map +1 -1
  153. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  154. package/utils/converters/valueKeyStorageConverter.js +26 -20
  155. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  156. package/utils/createTypeFromFields.d.ts +1 -0
  157. package/utils/createTypeFromFields.js +7 -5
  158. package/utils/createTypeFromFields.js.map +1 -1
  159. package/utils/createTypeName.d.ts +0 -2
  160. package/utils/createTypeName.js +2 -10
  161. package/utils/createTypeName.js.map +1 -1
  162. package/utils/getBaseFieldType.d.ts +1 -3
  163. package/utils/getBaseFieldType.js.map +1 -1
  164. package/utils/getEntryDescription.d.ts +2 -0
  165. package/utils/getEntryDescription.js +17 -0
  166. package/utils/getEntryDescription.js.map +1 -0
  167. package/utils/getEntryImage.d.ts +2 -0
  168. package/utils/getEntryImage.js +17 -0
  169. package/utils/getEntryImage.js.map +1 -0
  170. package/utils/getEntryTitle.d.ts +1 -1
  171. package/utils/getEntryTitle.js.map +1 -1
  172. package/utils/incrementEntryIdVersion.d.ts +5 -0
  173. package/utils/incrementEntryIdVersion.js +29 -0
  174. package/utils/incrementEntryIdVersion.js.map +1 -0
  175. package/utils/ownership.d.ts +3 -3
  176. package/utils/ownership.js.map +1 -1
  177. package/utils/renderFields.d.ts +4 -2
  178. package/utils/renderFields.js +10 -2
  179. package/utils/renderFields.js.map +1 -1
  180. package/utils/renderGetFilterFields.d.ts +2 -2
  181. package/utils/renderGetFilterFields.js +7 -20
  182. package/utils/renderGetFilterFields.js.map +1 -1
  183. package/utils/renderInputFields.d.ts +4 -2
  184. package/utils/renderInputFields.js +17 -5
  185. package/utils/renderInputFields.js.map +1 -1
  186. package/utils/renderListFilterFields.d.ts +2 -1
  187. package/utils/renderListFilterFields.js +9 -20
  188. package/utils/renderListFilterFields.js.map +1 -1
  189. package/utils/renderSortEnum.d.ts +2 -1
  190. package/utils/renderSortEnum.js +2 -1
  191. package/utils/renderSortEnum.js.map +1 -1
  192. package/crud/contentModel/createFieldModels.d.ts +0 -2
  193. package/crud/contentModel/createFieldModels.js +0 -26
  194. package/crud/contentModel/createFieldModels.js.map +0 -1
  195. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  196. package/crud/contentModel/fieldIdValidation.js +0 -25
  197. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  198. package/crud/contentModel/idValidation.d.ts +0 -1
  199. package/crud/contentModel/idValidation.js +0 -22
  200. package/crud/contentModel/idValidation.js.map +0 -1
  201. package/crud/contentModel/models.d.ts +0 -4
  202. package/crud/contentModel/models.js +0 -192
  203. package/crud/contentModel/models.js.map +0 -1
  204. package/crud/contentModel/systemFields.d.ts +0 -1
  205. package/crud/contentModel/systemFields.js +0 -8
  206. package/crud/contentModel/systemFields.js.map +0 -1
  207. package/upgrades/5.33.0/index.d.ts +0 -3
  208. package/upgrades/5.33.0/index.js +0 -159
  209. package/upgrades/5.33.0/index.js.map +0 -1
  210. package/upgrades/index.d.ts +0 -1
  211. package/upgrades/index.js +0 -9
  212. package/upgrades/index.js.map +0 -1
  213. package/utils/pluralizedTypeName.d.ts +0 -1
  214. package/utils/pluralizedTypeName.js +0 -20
  215. package/utils/pluralizedTypeName.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { CmsEntry } from "../../../types";
2
2
  export declare const commonFieldResolvers: () => {
3
3
  id: (entry: CmsEntry) => string | null;
4
- createdBy: (entry: CmsEntry) => import("../../../types").CreatedBy;
5
- ownedBy: (entry: CmsEntry) => import("../../../types").CreatedBy;
4
+ createdBy: (entry: CmsEntry) => import("../../../types").CmsIdentity;
5
+ ownedBy: (entry: CmsEntry) => import("../../../types").CmsIdentity;
6
+ modifiedBy: (entry: CmsEntry) => import("../../../types").CmsIdentity | null;
6
7
  };
@@ -7,6 +7,7 @@ exports.commonFieldResolvers = void 0;
7
7
  const commonFieldResolvers = () => ({
8
8
  id: entry => entry.id || null,
9
9
  createdBy: entry => entry.createdBy || null,
10
- ownedBy: entry => entry.ownedBy || null
10
+ ownedBy: entry => entry.ownedBy || null,
11
+ modifiedBy: entry => entry.modifiedBy || null
11
12
  });
12
13
  exports.commonFieldResolvers = commonFieldResolvers;
@@ -1 +1 @@
1
- {"version":3,"names":["commonFieldResolvers","id","entry","createdBy","ownedBy"],"sources":["commonFieldResolvers.ts"],"sourcesContent":["import { CmsEntry } from \"~/types\";\n\nexport const commonFieldResolvers = () => ({\n id: (entry: CmsEntry) => entry.id || null,\n createdBy: (entry: CmsEntry) => entry.createdBy || null,\n ownedBy: (entry: CmsEntry) => entry.ownedBy || null\n});\n"],"mappings":";;;;;;AAEO,MAAMA,oBAAoB,GAAG,OAAO;EACvCC,EAAE,EAAGC,KAAe,IAAKA,KAAK,CAACD,EAAE,IAAI,IAAI;EACzCE,SAAS,EAAGD,KAAe,IAAKA,KAAK,CAACC,SAAS,IAAI,IAAI;EACvDC,OAAO,EAAGF,KAAe,IAAKA,KAAK,CAACE,OAAO,IAAI;AACnD,CAAC,CAAC;AAAC"}
1
+ {"version":3,"names":["commonFieldResolvers","id","entry","createdBy","ownedBy","modifiedBy"],"sources":["commonFieldResolvers.ts"],"sourcesContent":["import { CmsEntry } from \"~/types\";\n\nexport const commonFieldResolvers = () => ({\n id: (entry: CmsEntry) => entry.id || null,\n createdBy: (entry: CmsEntry) => entry.createdBy || null,\n ownedBy: (entry: CmsEntry) => entry.ownedBy || null,\n modifiedBy: (entry: CmsEntry) => entry.modifiedBy || null\n});\n"],"mappings":";;;;;;AAEO,MAAMA,oBAAoB,GAAG,OAAO;EACvCC,EAAE,EAAGC,KAAe,IAAKA,KAAK,CAACD,EAAE,IAAI,IAAI;EACzCE,SAAS,EAAGD,KAAe,IAAKA,KAAK,CAACC,SAAS,IAAI,IAAI;EACvDC,OAAO,EAAGF,KAAe,IAAKA,KAAK,CAACE,OAAO,IAAI,IAAI;EACnDC,UAAU,EAAGH,KAAe,IAAKA,KAAK,CAACG,UAAU,IAAI;AACzD,CAAC,CAAC;AAAC"}
@@ -1,6 +1,7 @@
1
- import { CmsEntryResolverFactory as ResolverFactory } from "../../../../types";
1
+ import { CmsDeleteEntryOptions, CmsEntryResolverFactory as ResolverFactory } from "../../../../types";
2
2
  interface ResolveDeleteArgs {
3
3
  revision: string;
4
+ options?: CmsDeleteEntryOptions;
4
5
  }
5
6
  declare type ResolveDelete = ResolverFactory<any, ResolveDeleteArgs>;
6
7
  export declare const resolveDelete: ResolveDelete;
@@ -10,13 +10,23 @@ const resolveDelete = ({
10
10
  model
11
11
  }) => async (_, args, context) => {
12
12
  try {
13
+ const {
14
+ revision,
15
+ options: deleteOptions
16
+ } = args || {};
13
17
  const {
14
18
  version
15
- } = (0, _utils.parseIdentifier)(args.revision);
19
+ } = (0, _utils.parseIdentifier)(revision);
16
20
  if (version) {
17
- await context.cms.deleteEntryRevision(model, args.revision);
21
+ await context.cms.deleteEntryRevision(model, revision);
18
22
  } else {
19
- await context.cms.deleteEntry(model, args.revision);
23
+ /**
24
+ * @see CmsDeleteEntryOptions
25
+ */
26
+ const options = {
27
+ force: (deleteOptions === null || deleteOptions === void 0 ? void 0 : deleteOptions.force) === true
28
+ };
29
+ await context.cms.deleteEntry(model, revision, options);
20
30
  }
21
31
  return new _responses.Response(true);
22
32
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"names":["resolveDelete","model","_","args","context","version","parseIdentifier","revision","cms","deleteEntryRevision","deleteEntry","Response","e","ErrorResponse"],"sources":["resolveDelete.ts"],"sourcesContent":["import { Response, ErrorResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\ninterface ResolveDeleteArgs {\n revision: string;\n}\ntype ResolveDelete = ResolverFactory<any, ResolveDeleteArgs>;\n\nexport const resolveDelete: ResolveDelete =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const { version } = parseIdentifier(args.revision);\n if (version) {\n await context.cms.deleteEntryRevision(model, args.revision);\n } else {\n await context.cms.deleteEntry(model, args.revision);\n }\n\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;AAAA;AAEA;AAOO,MAAMA,aAA4B,GACrC,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;EAC7B,IAAI;IACA,MAAM;MAAEC;IAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACH,IAAI,CAACI,QAAQ,CAAC;IAClD,IAAIF,OAAO,EAAE;MACT,MAAMD,OAAO,CAACI,GAAG,CAACC,mBAAmB,CAACR,KAAK,EAAEE,IAAI,CAACI,QAAQ,CAAC;IAC/D,CAAC,MAAM;MACH,MAAMH,OAAO,CAACI,GAAG,CAACE,WAAW,CAACT,KAAK,EAAEE,IAAI,CAACI,QAAQ,CAAC;IACvD;IAEA,OAAO,IAAII,mBAAQ,CAAC,IAAI,CAAC;EAC7B,CAAC,CAAC,OAAOC,CAAC,EAAE;IACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAAC"}
1
+ {"version":3,"names":["resolveDelete","model","_","args","context","revision","options","deleteOptions","version","parseIdentifier","cms","deleteEntryRevision","force","deleteEntry","Response","e","ErrorResponse"],"sources":["resolveDelete.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsDeleteEntryOptions, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\ninterface ResolveDeleteArgs {\n revision: string;\n options?: CmsDeleteEntryOptions;\n}\ntype ResolveDelete = ResolverFactory<any, ResolveDeleteArgs>;\n\nexport const resolveDelete: ResolveDelete =\n ({ model }) =>\n async (_, args, context) => {\n try {\n const { revision, options: deleteOptions } = args || {};\n const { version } = parseIdentifier(revision);\n if (version) {\n await context.cms.deleteEntryRevision(model, revision);\n } else {\n /**\n * @see CmsDeleteEntryOptions\n */\n const options: CmsDeleteEntryOptions = {\n force: deleteOptions?.force === true\n };\n await context.cms.deleteEntry(model, revision, options);\n }\n\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;AAAA;AAEA;AAQO,MAAMA,aAA4B,GACrC,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;EACxB,IAAI;IACA,MAAM;MAAEC,QAAQ;MAAEC,OAAO,EAAEC;IAAc,CAAC,GAAGJ,IAAI,IAAI,CAAC,CAAC;IACvD,MAAM;MAAEK;IAAQ,CAAC,GAAG,IAAAC,sBAAe,EAACJ,QAAQ,CAAC;IAC7C,IAAIG,OAAO,EAAE;MACT,MAAMJ,OAAO,CAACM,GAAG,CAACC,mBAAmB,CAACV,KAAK,EAAEI,QAAQ,CAAC;IAC1D,CAAC,MAAM;MACH;AAChB;AACA;MACgB,MAAMC,OAA8B,GAAG;QACnCM,KAAK,EAAE,CAAAL,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEK,KAAK,MAAK;MACpC,CAAC;MACD,MAAMR,OAAO,CAACM,GAAG,CAACG,WAAW,CAACZ,KAAK,EAAEI,QAAQ,EAAEC,OAAO,CAAC;IAC3D;IAEA,OAAO,IAAIQ,mBAAQ,CAAC,IAAI,CAAC;EAC7B,CAAC,CAAC,OAAOC,CAAC,EAAE;IACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAAC"}
@@ -0,0 +1,7 @@
1
+ import { CmsEntryResolverFactory as ResolverFactory } from "../../../../types";
2
+ interface ResolveDeleteArgs {
3
+ revision: string;
4
+ }
5
+ declare type ResolveDelete = ResolverFactory<any, ResolveDeleteArgs>;
6
+ export declare const resolveDeleteMultiple: ResolveDelete;
7
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveDeleteMultiple = void 0;
7
+ var _responses = require("@webiny/handler-graphql/responses");
8
+ const resolveDeleteMultiple = ({
9
+ model
10
+ }) => async (_, args, context) => {
11
+ try {
12
+ const response = await context.cms.deleteMultipleEntries(model, {
13
+ entries: (args === null || args === void 0 ? void 0 : args.entries) || []
14
+ });
15
+ return new _responses.ListResponse(response);
16
+ } catch (e) {
17
+ return new _responses.ErrorResponse(e);
18
+ }
19
+ };
20
+ exports.resolveDeleteMultiple = resolveDeleteMultiple;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolveDeleteMultiple","model","_","args","context","response","cms","deleteMultipleEntries","entries","ListResponse","e","ErrorResponse"],"sources":["resolveDeleteMultiple.ts"],"sourcesContent":["import { ErrorResponse, ListResponse } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ninterface ResolveDeleteArgs {\n revision: string;\n}\n\ntype ResolveDelete = ResolverFactory<any, ResolveDeleteArgs>;\n\nexport const resolveDeleteMultiple: ResolveDelete =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const response = await context.cms.deleteMultipleEntries(model, {\n entries: args?.entries || []\n });\n\n return new ListResponse(response);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;AAAA;AASO,MAAMA,qBAAoC,GAC7C,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,IAAS,EAAEC,OAAO,KAAK;EAC7B,IAAI;IACA,MAAMC,QAAQ,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACC,qBAAqB,CAACN,KAAK,EAAE;MAC5DO,OAAO,EAAE,CAAAL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,OAAO,KAAI;IAC9B,CAAC,CAAC;IAEF,OAAO,IAAIC,uBAAY,CAACJ,QAAQ,CAAC;EACrC,CAAC,CAAC,OAAOK,CAAC,EAAE;IACR,OAAO,IAAIC,wBAAa,CAACD,CAAC,CAAC;EAC/B;AACJ,CAAC;AAAC"}
@@ -0,0 +1,4 @@
1
+ import { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from "../../../../types";
2
+ declare type ResolveGetUniqueFieldValuesList = ResolverFactory<any, CmsEntryListParams>;
3
+ export declare const resolveGetUniqueFieldValues: ResolveGetUniqueFieldValuesList;
4
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.resolveGetUniqueFieldValues = void 0;
7
+ var _responses = require("@webiny/handler-graphql/responses");
8
+ const resolveGetUniqueFieldValues = ({
9
+ model
10
+ }) => async (_, params, context) => {
11
+ try {
12
+ const response = await context.cms.getUniqueFieldValues(model, params);
13
+ return new _responses.Response(response);
14
+ } catch (e) {
15
+ return new _responses.ListErrorResponse(e);
16
+ }
17
+ };
18
+ exports.resolveGetUniqueFieldValues = resolveGetUniqueFieldValues;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolveGetUniqueFieldValues","model","_","params","context","response","cms","getUniqueFieldValues","Response","e","ListErrorResponse"],"sources":["resolveGetUniqueFieldValues.ts"],"sourcesContent":["import { ListErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\n\ntype ResolveGetUniqueFieldValuesList = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGetUniqueFieldValues: ResolveGetUniqueFieldValuesList =\n ({ model }) =>\n async (_, params: any, context) => {\n try {\n const response = await context.cms.getUniqueFieldValues(model, params);\n\n return new Response(response);\n } catch (e) {\n return new ListErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;AAAA;AAKO,MAAMA,2BAA4D,GACrE,CAAC;EAAEC;AAAM,CAAC,KACV,OAAOC,CAAC,EAAEC,MAAW,EAAEC,OAAO,KAAK;EAC/B,IAAI;IACA,MAAMC,QAAQ,GAAG,MAAMD,OAAO,CAACE,GAAG,CAACC,oBAAoB,CAACN,KAAK,EAAEE,MAAM,CAAC;IAEtE,OAAO,IAAIK,mBAAQ,CAACH,QAAQ,CAAC;EACjC,CAAC,CAAC,OAAOI,CAAC,EAAE;IACR,OAAO,IAAIC,4BAAiB,CAACD,CAAC,CAAC;EACnC;AACJ,CAAC;AAAC"}
@@ -11,6 +11,7 @@ var _createReadResolvers = require("./createReadResolvers");
11
11
  var _createPreviewResolvers = require("./createPreviewResolvers");
12
12
  var _getSchemaFromFieldPlugins = require("../../utils/getSchemaFromFieldPlugins");
13
13
  var _plugins = require("../../plugins");
14
+ var _createFieldTypePluginRecords = require("./createFieldTypePluginRecords");
14
15
  const generateSchemaPlugins = async params => {
15
16
  const {
16
17
  context,
@@ -33,33 +34,22 @@ const generateSchemaPlugins = async params => {
33
34
  }
34
35
 
35
36
  // Structure plugins for faster access
36
- const fieldTypePlugins = plugins.byType("cms-model-field-to-graphql").reduce((acc, pl) => {
37
- acc[pl.fieldType] = pl;
38
- return acc;
39
- }, {});
37
+ const fieldTypePlugins = (0, _createFieldTypePluginRecords.createFieldTypePluginRecords)(plugins);
40
38
  const sorterPlugins = plugins.byType(_plugins.CmsGraphQLSchemaSorterPlugin.type);
41
-
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
39
  const schemaPlugins = (0, _getSchemaFromFieldPlugins.createGraphQLSchemaPluginFromFieldPlugins)({
53
40
  models,
54
41
  fieldTypePlugins,
55
42
  type
56
43
  });
57
- models.filter(model => model.fields.length > 0).forEach(model => {
44
+ models.filter(model => {
45
+ return model.fields.length > 0;
46
+ }).forEach(model => {
58
47
  switch (type) {
59
48
  case "manage":
60
49
  {
61
50
  const plugin = new _plugins.CmsGraphQLSchemaPlugin({
62
51
  typeDefs: (0, _createManageSDL.createManageSDL)({
52
+ models,
63
53
  model,
64
54
  fieldTypePlugins,
65
55
  sorterPlugins
@@ -80,6 +70,7 @@ const generateSchemaPlugins = async params => {
80
70
  {
81
71
  const plugin = new _plugins.CmsGraphQLSchemaPlugin({
82
72
  typeDefs: (0, _createReadSDL.createReadSDL)({
73
+ models,
83
74
  model,
84
75
  fieldTypePlugins,
85
76
  sorterPlugins
@@ -1 +1 @@
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"}
1
+ {"version":3,"names":["generateSchemaPlugins","params","context","models","plugins","cms","type","fieldTypePlugins","createFieldTypePluginRecords","sorterPlugins","byType","CmsGraphQLSchemaSorterPlugin","schemaPlugins","createGraphQLSchemaPluginFromFieldPlugins","filter","model","fields","length","forEach","plugin","CmsGraphQLSchemaPlugin","typeDefs","createManageSDL","resolvers","createManageResolvers","name","modelId","push","createReadSDL","READ","createReadResolvers","createPreviewResolvers","pl","schema"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { 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 { CmsGraphQLSchemaPlugin, CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\nimport { createFieldTypePluginRecords } from \"~/graphql/schema/createFieldTypePluginRecords\";\n\ninterface GenerateSchemaPluginsParams {\n context: CmsContext;\n models: CmsModel[];\n}\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 = createFieldTypePluginRecords(plugins);\n\n const sorterPlugins = plugins.byType<CmsGraphQLSchemaSorterPlugin>(\n CmsGraphQLSchemaSorterPlugin.type\n );\n\n const schemaPlugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n fieldTypePlugins,\n type\n });\n\n models\n .filter(model => {\n return model.fields.length > 0;\n })\n .forEach(model => {\n switch (type) {\n case \"manage\":\n {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: createManageSDL({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n }),\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({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n }),\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;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,GAAG,IAAAC,0DAA4B,EAACJ,OAAO,CAAC;EAE9D,MAAMK,aAAa,GAAGL,OAAO,CAACM,MAAM,CAChCC,qCAA4B,CAACL,IAAI,CACpC;EAED,MAAMM,aAAa,GAAG,IAAAC,oEAAyC,EAAC;IAC5DV,MAAM;IACNI,gBAAgB;IAChBD;EACJ,CAAC,CAAC;EAEFH,MAAM,CACDW,MAAM,CAACC,KAAK,IAAI;IACb,OAAOA,KAAK,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC;EAClC,CAAC,CAAC,CACDC,OAAO,CAACH,KAAK,IAAI;IACd,QAAQT,IAAI;MACR,KAAK,QAAQ;QACT;UACI,MAAMa,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAC,gCAAe,EAAC;cACtBnB,MAAM;cACNY,KAAK;cACLR,gBAAgB;cAChBE;YACJ,CAAC,CAAC;YACFc,SAAS,EAAE,IAAAC,4CAAqB,EAAC;cAC7BrB,MAAM;cACNY,KAAK;cACLR,gBAAgB;cAChBL;YACJ,CAAC;UACL,CAAC,CAAC;UACFiB,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;cACpBzB,MAAM;cACNY,KAAK;cACLR,gBAAgB;cAChBE;YACJ,CAAC,CAAC;YACFc,SAAS,EAAElB,GAAG,CAACwB,IAAI,GACb,IAAAC,wCAAmB,EAAC;cAChB3B,MAAM;cACNY,KAAK;cACLR,gBAAgB;cAChBL;YACJ,CAAC,CAAC,GACF,IAAA6B,8CAAsB,EAAC;cACnB5B,MAAM;cACNY,KAAK;cACLR,gBAAgB;cAChBL;YACJ,CAAC;UACX,CAAC,CAAC;UACFiB,MAAM,CAACM,IAAI,GAAI,+BAA8BnB,IAAK,IAAGS,KAAK,CAACW,OAAQ,EAAC;UACpEd,aAAa,CAACe,IAAI,CAACR,MAAM,CAAC;QAC9B;QACA;MACJ;QACI;IAAO;EAEnB,CAAC,CAAC;EAEN,OAAOP,aAAa,CAACE,MAAM,CAACkB,EAAE,IAAI,CAAC,CAACA,EAAE,CAACC,MAAM,CAACZ,QAAQ,CAAC;AAC3D,CAAC;AAAC"}
package/graphql/system.js CHANGED
@@ -32,9 +32,6 @@ const plugin = new _handlerGraphql.GraphQLSchemaPlugin({
32
32
  extend type CmsMutation {
33
33
  # Install CMS
34
34
  install: CmsBooleanResponse
35
-
36
- # Upgrade CMS
37
- upgrade(version: String!): CmsBooleanResponse
38
35
  }
39
36
  `,
40
37
  resolvers: {
@@ -70,19 +67,6 @@ const plugin = new _handlerGraphql.GraphQLSchemaPlugin({
70
67
  } catch (e) {
71
68
  return new _handlerGraphql.ErrorResponse(e);
72
69
  }
73
- },
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);
85
- }
86
70
  }
87
71
  }
88
72
  }
@@ -1 +1 @@
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"}
1
+ {"version":3,"names":["emptyResolver","plugin","GraphQLSchemaPlugin","typeDefs","resolvers","Query","cms","Mutation","CmsQuery","version","_","__","context","getSystemVersion","e","ErrorResponse","CmsMutation","install","code","message","installSystem","Response","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 `,\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 }\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,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;IACJ;EACJ;AACJ,CAAC,CAAC;AACFb,MAAM,CAACqB,IAAI,GAAG,2BAA2B;AACzC;AACA;AACA;AACO,MAAMC,wBAAwB,GAAG,MAAiC;EACrE,OAAO,IAAIC,kBAAa,CAAa,MAAMZ,OAAO,IAAI;IAAA;IAClD,oBAAIA,OAAO,CAACN,GAAG,yCAAX,aAAamB,IAAI,EAAE;MACnB;IACJ;IACAb,OAAO,CAACc,OAAO,CAACC,QAAQ,CAAC1B,MAAM,CAAC;EACpC,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -1,2 +1,2 @@
1
- import { CmsModelFieldToGraphQLPlugin, CmsModelDynamicZoneField } from "../../types";
1
+ import { CmsModelDynamicZoneField, CmsModelFieldToGraphQLPlugin } from "../../types";
2
2
  export declare const createDynamicZoneField: () => CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField>;
@@ -10,7 +10,7 @@ var _createTypeName = require("../../utils/createTypeName");
10
10
  var _createTypeFromFields = require("../../utils/createTypeFromFields");
11
11
  var _helpers = require("../helpers");
12
12
  const createUnionTypeName = (model, field) => {
13
- return `${(0, _createTypeName.createReadTypeName)(model.modelId)}_${(0, _createTypeName.createReadTypeName)(field.fieldId)}`;
13
+ return `${model.singularApiName}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
14
14
  };
15
15
  const getFieldTemplates = field => {
16
16
  var _field$settings;
@@ -20,6 +20,7 @@ const getFieldTemplates = field => {
20
20
  return field.settings.templates;
21
21
  };
22
22
  const createTypeDefsForTemplates = ({
23
+ models,
23
24
  model,
24
25
  field,
25
26
  type,
@@ -30,8 +31,9 @@ const createTypeDefsForTemplates = ({
30
31
  const typeDefs = [];
31
32
  const templateTypes = [];
32
33
  templates.forEach(template => {
33
- const typeName = [(0, _createTypeName.createTypeName)(model.modelId), (0, _createTypeName.createTypeName)(field.fieldId), template.gqlTypeName].join("_");
34
+ const typeName = [model.singularApiName, (0, _createTypeName.createTypeName)(field.fieldId), template.gqlTypeName].join("_");
34
35
  const result = (0, _createTypeFromFields.createTypeFromFields)({
36
+ models,
35
37
  typeOfType,
36
38
  model,
37
39
  type,
@@ -56,20 +58,47 @@ const remapTemplateValue = (value, typeName) => {
56
58
  __typename: `${typeName}_${templateType}`
57
59
  });
58
60
  };
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);
61
+ const createResolver = endpointType => {
62
+ return ({
63
+ model,
64
+ models,
65
+ field,
66
+ fieldTypePlugins,
67
+ createFieldResolvers
68
+ }) => {
69
+ const resolver = parent => {
70
+ const value = parent[field.fieldId];
71
+ if (!value) {
72
+ return value;
73
+ }
74
+ const typeName = `${model.singularApiName}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
75
+ if (field.multipleValues && Array.isArray(value)) {
76
+ return value.map(v => remapTemplateValue(v, typeName));
77
+ }
78
+ return remapTemplateValue(value, typeName);
79
+ };
80
+ const templates = getFieldTemplates(field);
81
+ const {
82
+ templateTypes
83
+ } = createTypeDefsForTemplates({
84
+ models,
85
+ field,
86
+ type: endpointType,
87
+ typeOfType: "type",
88
+ model,
89
+ fieldTypePlugins,
90
+ templates
91
+ });
92
+ const typeResolvers = templateTypes.reduce((typeResolvers, templateType, index) => {
93
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, typeResolvers), createFieldResolvers({
94
+ graphQLType: templateType,
95
+ fields: field.settings.templates[index].fields
96
+ }));
97
+ }, {});
98
+ return {
99
+ resolver,
100
+ typeResolvers
101
+ };
73
102
  };
74
103
  };
75
104
  const createDynamicZoneField = () => {
@@ -102,6 +131,7 @@ const createDynamicZoneField = () => {
102
131
  },
103
132
  read: {
104
133
  createTypeField({
134
+ models,
105
135
  model,
106
136
  field,
107
137
  fieldTypePlugins
@@ -112,6 +142,7 @@ const createDynamicZoneField = () => {
112
142
  typeDefs,
113
143
  templateTypes
114
144
  } = createTypeDefsForTemplates({
145
+ models,
115
146
  field,
116
147
  type: "read",
117
148
  typeOfType: "type",
@@ -125,10 +156,11 @@ const createDynamicZoneField = () => {
125
156
  typeDefs: typeDefs.join("\n")
126
157
  };
127
158
  },
128
- createResolver
159
+ createResolver: createResolver("read")
129
160
  },
130
161
  manage: {
131
162
  createTypeField({
163
+ models,
132
164
  model,
133
165
  field,
134
166
  fieldTypePlugins
@@ -139,6 +171,7 @@ const createDynamicZoneField = () => {
139
171
  typeDefs,
140
172
  templateTypes
141
173
  } = createTypeDefsForTemplates({
174
+ models,
142
175
  field,
143
176
  type: "manage",
144
177
  typeOfType: "type",
@@ -161,6 +194,7 @@ const createDynamicZoneField = () => {
161
194
  };
162
195
  },
163
196
  createInputField({
197
+ models,
164
198
  model,
165
199
  field,
166
200
  fieldTypePlugins
@@ -170,6 +204,7 @@ const createDynamicZoneField = () => {
170
204
  typeDefs,
171
205
  templateTypes
172
206
  } = createTypeDefsForTemplates({
207
+ models,
173
208
  field,
174
209
  type: "manage",
175
210
  typeOfType: "input",
@@ -177,7 +212,7 @@ const createDynamicZoneField = () => {
177
212
  fieldTypePlugins,
178
213
  templates
179
214
  });
180
- const typeName = `${(0, _createTypeName.createTypeName)(model.modelId)}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
215
+ const typeName = `${model.singularApiName}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
181
216
  const inputProperties = templateTypes.map(inputTypeName => {
182
217
  const key = inputTypeName.replace(`${typeName}_`, "").replace("Input", "");
183
218
  return [key, inputTypeName];
@@ -201,7 +236,7 @@ const createDynamicZoneField = () => {
201
236
  typeDefs: typeDefs.join("\n")
202
237
  };
203
238
  },
204
- createResolver
239
+ createResolver: createResolver("manage")
205
240
  }
206
241
  };
207
242
  };
@@ -1 +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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"}
1
+ {"version":3,"names":["createUnionTypeName","model","field","singularApiName","createTypeName","fieldId","getFieldTemplates","Array","isArray","settings","templates","createTypeDefsForTemplates","models","type","typeOfType","fieldTypePlugins","typeDefs","templateTypes","forEach","template","typeName","gqlTypeName","join","result","createTypeFromFields","typeNamePrefix","fields","push","fieldType","remapTemplateValue","value","templateType","Object","keys","__typename","createResolver","endpointType","createFieldResolvers","resolver","parent","multipleValues","map","v","typeResolvers","reduce","index","graphQLType","createDynamicZoneField","name","isSortable","isSearchable","validateChildFields","params","validate","originalField","getOriginalTemplateFields","templateId","find","t","id","originalFields","read","createTypeField","unionTypeName","unshift","manage","templateIds","concat","createInputField","inputProperties","inputTypeName","key","replace","createGraphQLInputField"],"sources":["dynamicZoneField.ts"],"sourcesContent":["import {\n ApiEndpoint,\n CmsDynamicZoneTemplate,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelDynamicZoneField,\n CmsModelField,\n CmsModelFieldToGraphQLCreateResolver,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { createTypeName } from \"~/utils/createTypeName\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\nimport { createGraphQLInputField } from \"../helpers\";\nimport { GraphQLFieldResolver } from \"@webiny/handler-graphql/types\";\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n};\n\nconst getFieldTemplates = (field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] => {\n if (!Array.isArray(field.settings?.templates)) {\n return [];\n }\n return field.settings.templates;\n};\n\ninterface CreateTypeDefsForTemplatesParams {\n models: CmsModel[];\n model: CmsModel;\n field: CmsModelField;\n type: ApiEndpoint;\n typeOfType: \"type\" | \"input\";\n templates: CmsDynamicZoneTemplate[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst createTypeDefsForTemplates = ({\n models,\n model,\n field,\n type,\n templates,\n typeOfType,\n fieldTypePlugins\n}: CreateTypeDefsForTemplatesParams) => {\n const typeDefs: string[] = [];\n const templateTypes: string[] = [];\n\n templates.forEach(template => {\n const typeName = [\n model.singularApiName,\n createTypeName(field.fieldId),\n template.gqlTypeName\n ].join(\"_\");\n\n const result = createTypeFromFields({\n models,\n typeOfType,\n model,\n type,\n typeNamePrefix: typeName,\n fields: template.fields,\n fieldTypePlugins\n });\n\n if (!result) {\n return;\n }\n\n typeDefs.push(result.typeDefs);\n templateTypes.push(result.fieldType);\n });\n\n return { typeDefs, templateTypes };\n};\n\nconst remapTemplateValue = (value: any, typeName: string) => {\n const templateType = Object.keys(value)[0];\n\n return { ...value[templateType], __typename: `${typeName}_${templateType}` };\n};\n\nconst createResolver = (\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver<CmsModelDynamicZoneField> => {\n return ({ model, models, field, fieldTypePlugins, createFieldResolvers }) => {\n const resolver = (parent: any) => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n\n if (field.multipleValues && Array.isArray(value)) {\n return value.map(v => remapTemplateValue(v, typeName));\n }\n\n return remapTemplateValue(value, typeName);\n };\n\n const templates = getFieldTemplates(field);\n\n const { templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: endpointType,\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeResolvers = templateTypes.reduce<\n Record<string, Record<string, GraphQLFieldResolver>>\n >((typeResolvers, templateType, index) => {\n return {\n ...typeResolvers,\n ...createFieldResolvers({\n graphQLType: templateType,\n fields: field.settings.templates[index].fields\n })\n };\n }, {});\n\n return {\n resolver,\n typeResolvers\n };\n };\n};\n\nexport const createDynamicZoneField =\n (): CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField> => {\n return {\n name: \"cms-model-field-to-graphql-dynamic-zone\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"dynamicZone\",\n isSortable: false,\n isSearchable: false,\n validateChildFields: params => {\n const { validate, originalField, field } = params;\n\n const getOriginalTemplateFields = (templateId: string) => {\n if (!originalField?.settings?.templates) {\n return [];\n }\n const template = originalField.settings.templates.find(\n t => t.id === templateId\n );\n return template?.fields || [];\n };\n\n for (const template of field.settings.templates) {\n validate({\n fields: template.fields,\n originalFields: getOriginalTemplateFields(template.id)\n });\n }\n },\n read: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"read\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver: createResolver(\"read\")\n },\n manage: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n // Add _templateId\n const templateIds = templateTypes.map(type => {\n return `extend type ${type} {\n _templateId: ID!\n }\n `;\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.concat(templateIds).join(\"\\n\")\n };\n },\n createInputField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"input\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n\n const inputProperties = templateTypes.map(inputTypeName => {\n const key = inputTypeName.replace(`${typeName}_`, \"\").replace(\"Input\", \"\");\n return [key, inputTypeName];\n });\n\n /**\n * Generate a field input type, similar to this example:\n *\n * input Article_ContentInput {\n * Hero: Article_Content_HeroInput\n * SimpleText: Article_Content_SimpleTextInput\n * }\n */\n typeDefs.push(`input ${typeName}Input {\n ${inputProperties.map(\n ([key, value]) => `\n ${key}: ${value}\n `\n )}\n }`);\n\n return {\n fields: createGraphQLInputField(field, `${typeName}Input`),\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver: createResolver(\"manage\")\n }\n };\n };\n"],"mappings":"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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.createObjectField = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _error = _interopRequireDefault(require("@webiny/error"));
9
10
  var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
10
11
  var _helpers = require("./helpers");
11
12
  var _createTypeFromFields = require("../utils/createTypeFromFields");
@@ -53,7 +54,7 @@ const createTypeName = params => {
53
54
  parents = [],
54
55
  field
55
56
  } = params;
56
- return [model.modelId].concat(parents).concat([field.fieldId]).filter(Boolean).map(id => {
57
+ return [model.singularApiName].concat(parents).concat([field.fieldId]).filter(Boolean).map(id => {
57
58
  return (0, _upperFirst.default)(id);
58
59
  }).join("_");
59
60
  };
@@ -83,19 +84,33 @@ const createObjectField = () => {
83
84
  originalField,
84
85
  validate
85
86
  } = params;
87
+ const fields = ((_field$settings4 = field.settings) === null || _field$settings4 === void 0 ? void 0 : _field$settings4.fields) || [];
88
+ /**
89
+ * At the moment we do not allow dynamic zone fields inside the object field.
90
+ */
91
+ const hasDynamicZone = fields.some(f => f.type === "dynamicZone");
92
+ if (hasDynamicZone) {
93
+ throw new _error.default("Dynamic zones cannot be used inside of an object field.", "DYNAMIC_ZONE_INSIDE_OBJECT", {
94
+ id: field.id,
95
+ fieldId: field.fieldId,
96
+ fieldLabel: field.label
97
+ });
98
+ }
86
99
  validate({
87
- fields: ((_field$settings4 = field.settings) === null || _field$settings4 === void 0 ? void 0 : _field$settings4.fields) || [],
100
+ fields,
88
101
  originalFields: (originalField === null || originalField === void 0 ? void 0 : (_originalField$settin = originalField.settings) === null || _originalField$settin === void 0 ? void 0 : _originalField$settin.fields) || []
89
102
  });
90
103
  },
91
104
  read: {
92
105
  createTypeField({
93
106
  field,
107
+ models,
94
108
  model,
95
109
  fieldTypePlugins
96
110
  }) {
97
111
  var _field$settings5, _field$settings6;
98
112
  const result = (0, _createTypeFromFields.createTypeFromFields)({
113
+ models,
99
114
  typeOfType: "type",
100
115
  model,
101
116
  type: "read",
@@ -148,6 +163,7 @@ const createObjectField = () => {
148
163
  },
149
164
  manage: {
150
165
  createTypeField({
166
+ models,
151
167
  model,
152
168
  field,
153
169
  fieldTypePlugins
@@ -155,6 +171,7 @@ const createObjectField = () => {
155
171
  var _field$settings8, _field$settings9;
156
172
  const result = (0, _createTypeFromFields.createTypeFromFields)({
157
173
  typeOfType: "type",
174
+ models,
158
175
  model,
159
176
  type: "manage",
160
177
  typeNamePrefix: createTypeName({
@@ -184,6 +201,7 @@ const createObjectField = () => {
184
201
  };
185
202
  },
186
203
  createInputField({
204
+ models,
187
205
  model,
188
206
  field,
189
207
  fieldTypePlugins
@@ -191,6 +209,7 @@ const createObjectField = () => {
191
209
  var _field$settings10, _field$settings11;
192
210
  const result = (0, _createTypeFromFields.createTypeFromFields)({
193
211
  typeOfType: "input",
212
+ models,
194
213
  model,
195
214
  type: "manage",
196
215
  typeNamePrefix: createTypeName({