@webiny/api-headless-cms 0.0.0-unstable.d4f203fa97 → 0.0.0-unstable.d7f521b032

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 (343) hide show
  1. package/context.d.ts +5 -2
  2. package/context.js +53 -19
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/afterDelete.js +0 -5
  5. package/crud/contentEntry/afterDelete.js.map +1 -1
  6. package/crud/contentEntry/beforeCreate.js +0 -3
  7. package/crud/contentEntry/beforeCreate.js.map +1 -1
  8. package/crud/contentEntry/beforeUpdate.js +0 -3
  9. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  10. package/crud/contentEntry/entryDataValidation.js +1 -40
  11. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  12. package/crud/contentEntry/markLockedFields.js +16 -29
  13. package/crud/contentEntry/markLockedFields.js.map +1 -1
  14. package/crud/contentEntry/referenceFieldsMapping.js +12 -64
  15. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  16. package/crud/contentEntry/searchableFields.d.ts +9 -0
  17. package/crud/contentEntry/searchableFields.js +72 -0
  18. package/crud/contentEntry/searchableFields.js.map +1 -0
  19. package/crud/contentEntry.crud.js +120 -181
  20. package/crud/contentEntry.crud.js.map +1 -1
  21. package/crud/contentModel/afterCreate.js +0 -2
  22. package/crud/contentModel/afterCreate.js.map +1 -1
  23. package/crud/contentModel/afterCreateFrom.js +0 -2
  24. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  25. package/crud/contentModel/afterDelete.js +0 -2
  26. package/crud/contentModel/afterDelete.js.map +1 -1
  27. package/crud/contentModel/afterUpdate.js +0 -2
  28. package/crud/contentModel/afterUpdate.js.map +1 -1
  29. package/crud/contentModel/beforeCreate.d.ts +2 -3
  30. package/crud/contentModel/beforeCreate.js +7 -36
  31. package/crud/contentModel/beforeCreate.js.map +1 -1
  32. package/crud/contentModel/beforeDelete.js +0 -10
  33. package/crud/contentModel/beforeDelete.js.map +1 -1
  34. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  35. package/crud/contentModel/beforeUpdate.js +2 -7
  36. package/crud/contentModel/beforeUpdate.js.map +1 -1
  37. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  38. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  39. package/crud/contentModel/createFieldStorageId.js +4 -3
  40. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  41. package/crud/contentModel/models.js +12 -0
  42. package/crud/contentModel/models.js.map +1 -1
  43. package/crud/contentModel/systemFields.js.map +1 -1
  44. package/crud/contentModel/validateLayout.js +0 -8
  45. package/crud/contentModel/validateLayout.js.map +1 -1
  46. package/crud/contentModel/validateModel.d.ts +3 -4
  47. package/crud/contentModel/validateModel.js +6 -11
  48. package/crud/contentModel/validateModel.js.map +1 -1
  49. package/crud/contentModel/validateModelFields.d.ts +3 -4
  50. package/crud/contentModel/validateModelFields.js +118 -97
  51. package/crud/contentModel/validateModelFields.js.map +1 -1
  52. package/crud/contentModel/validation.d.ts +477 -0
  53. package/crud/contentModel/validation.js +97 -0
  54. package/crud/contentModel/validation.js.map +1 -0
  55. package/crud/contentModel.crud.js +219 -269
  56. package/crud/contentModel.crud.js.map +1 -1
  57. package/crud/contentModelGroup/beforeCreate.js +0 -12
  58. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  59. package/crud/contentModelGroup/beforeDelete.js +0 -8
  60. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  61. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  62. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  63. package/crud/contentModelGroup/validation.d.ts +30 -0
  64. package/crud/contentModelGroup/validation.js +34 -0
  65. package/crud/contentModelGroup/validation.js.map +1 -0
  66. package/crud/contentModelGroup.crud.js +53 -95
  67. package/crud/contentModelGroup.crud.js.map +1 -1
  68. package/crud/settings.crud.js +0 -12
  69. package/crud/settings.crud.js.map +1 -1
  70. package/crud/system.crud.js +2 -37
  71. package/crud/system.crud.js.map +1 -1
  72. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  73. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  74. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  75. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  76. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  77. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  78. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  79. package/fieldConverters/index.d.ts +2 -1
  80. package/fieldConverters/index.js +2 -5
  81. package/fieldConverters/index.js.map +1 -1
  82. package/graphql/buildSchemaPlugins.d.ts +8 -3
  83. package/graphql/buildSchemaPlugins.js +6 -14
  84. package/graphql/buildSchemaPlugins.js.map +1 -1
  85. package/graphql/createExecutableSchema.d.ts +7 -0
  86. package/graphql/createExecutableSchema.js +29 -0
  87. package/graphql/createExecutableSchema.js.map +1 -0
  88. package/graphql/generateSchema.d.ts +8 -0
  89. package/graphql/generateSchema.js +31 -0
  90. package/graphql/generateSchema.js.map +1 -0
  91. package/graphql/graphQLHandlerFactory.js +90 -74
  92. package/graphql/graphQLHandlerFactory.js.map +1 -1
  93. package/graphql/index.d.ts +1 -3
  94. package/graphql/index.js +2 -46
  95. package/graphql/index.js.map +1 -1
  96. package/graphql/schema/baseContentSchema.d.ts +6 -2
  97. package/graphql/schema/baseContentSchema.js +9 -13
  98. package/graphql/schema/baseContentSchema.js.map +1 -1
  99. package/graphql/schema/baseSchema.d.ts +3 -0
  100. package/graphql/schema/baseSchema.js +53 -0
  101. package/graphql/schema/baseSchema.js.map +1 -0
  102. package/graphql/schema/contentEntries.d.ts +6 -2
  103. package/graphql/schema/contentEntries.js +39 -65
  104. package/graphql/schema/contentEntries.js.map +1 -1
  105. package/graphql/schema/contentModelGroups.d.ts +6 -2
  106. package/graphql/schema/contentModelGroups.js +9 -22
  107. package/graphql/schema/contentModelGroups.js.map +1 -1
  108. package/graphql/schema/contentModels.d.ts +6 -2
  109. package/graphql/schema/contentModels.js +42 -25
  110. package/graphql/schema/contentModels.js.map +1 -1
  111. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  112. package/graphql/schema/createFieldResolvers.js +20 -27
  113. package/graphql/schema/createFieldResolvers.js.map +1 -1
  114. package/graphql/schema/createManageResolvers.js +0 -26
  115. package/graphql/schema/createManageResolvers.js.map +1 -1
  116. package/graphql/schema/createManageSDL.d.ts +2 -0
  117. package/graphql/schema/createManageSDL.js +8 -19
  118. package/graphql/schema/createManageSDL.js.map +1 -1
  119. package/graphql/schema/createPreviewResolvers.js +0 -10
  120. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  121. package/graphql/schema/createReadResolvers.js +5 -10
  122. package/graphql/schema/createReadResolvers.js.map +1 -1
  123. package/graphql/schema/createReadSDL.d.ts +2 -0
  124. package/graphql/schema/createReadSDL.js +11 -15
  125. package/graphql/schema/createReadSDL.js.map +1 -1
  126. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -2
  127. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  128. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  129. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  130. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  131. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  132. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  133. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  134. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  135. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  136. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  137. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  138. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  139. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  140. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  141. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  142. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  143. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  144. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  145. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  146. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  147. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  148. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  149. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  150. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  151. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  152. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  153. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  154. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  155. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  156. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  157. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  158. package/graphql/schema/schemaPlugins.d.ts +8 -3
  159. package/graphql/schema/schemaPlugins.js +63 -65
  160. package/graphql/schema/schemaPlugins.js.map +1 -1
  161. package/graphql/system.js +69 -85
  162. package/graphql/system.js.map +1 -1
  163. package/graphqlFields/boolean.js +0 -12
  164. package/graphqlFields/boolean.js.map +1 -1
  165. package/graphqlFields/datetime.js +0 -17
  166. package/graphqlFields/datetime.js.map +1 -1
  167. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  168. package/graphqlFields/dynamicZone/dynamicZoneField.js +208 -0
  169. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  170. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  171. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  172. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  173. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  174. package/graphqlFields/dynamicZone/index.js +19 -0
  175. package/graphqlFields/dynamicZone/index.js.map +1 -0
  176. package/graphqlFields/file.js +0 -8
  177. package/graphqlFields/file.js.map +1 -1
  178. package/graphqlFields/helpers.js +0 -10
  179. package/graphqlFields/helpers.js.map +1 -1
  180. package/graphqlFields/index.d.ts +1 -1
  181. package/graphqlFields/index.js +2 -12
  182. package/graphqlFields/index.js.map +1 -1
  183. package/graphqlFields/longText.js +0 -10
  184. package/graphqlFields/longText.js.map +1 -1
  185. package/graphqlFields/number.js +0 -12
  186. package/graphqlFields/number.js.map +1 -1
  187. package/graphqlFields/object.js +112 -98
  188. package/graphqlFields/object.js.map +1 -1
  189. package/graphqlFields/ref.js +48 -96
  190. package/graphqlFields/ref.js.map +1 -1
  191. package/graphqlFields/richText.js +0 -9
  192. package/graphqlFields/richText.js.map +1 -1
  193. package/graphqlFields/text.js +0 -11
  194. package/graphqlFields/text.js.map +1 -1
  195. package/index.d.ts +3 -3
  196. package/index.js +3 -26
  197. package/index.js.map +1 -1
  198. package/modelManager/DefaultCmsModelManager.js +0 -16
  199. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  200. package/modelManager/index.js +0 -4
  201. package/modelManager/index.js.map +1 -1
  202. package/package.json +28 -28
  203. package/parameters/context.js +0 -4
  204. package/parameters/context.js.map +1 -1
  205. package/parameters/header.js +0 -11
  206. package/parameters/header.js.map +1 -1
  207. package/parameters/index.js +0 -8
  208. package/parameters/index.js.map +1 -1
  209. package/parameters/manual.js +1 -8
  210. package/parameters/manual.js.map +1 -1
  211. package/parameters/path.js +0 -11
  212. package/parameters/path.js.map +1 -1
  213. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  214. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  215. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  216. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  217. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  218. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  219. package/plugins/CmsGroupPlugin.js +0 -8
  220. package/plugins/CmsGroupPlugin.js.map +1 -1
  221. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  222. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  223. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  224. package/plugins/CmsModelPlugin.js +2 -38
  225. package/plugins/CmsModelPlugin.js.map +1 -1
  226. package/plugins/CmsParametersPlugin.js +0 -7
  227. package/plugins/CmsParametersPlugin.js.map +1 -1
  228. package/plugins/StorageTransformPlugin.d.ts +11 -11
  229. package/plugins/StorageTransformPlugin.js +0 -9
  230. package/plugins/StorageTransformPlugin.js.map +1 -1
  231. package/plugins/index.d.ts +2 -0
  232. package/plugins/index.js +22 -10
  233. package/plugins/index.js.map +1 -1
  234. package/storage/default.js +0 -3
  235. package/storage/default.js.map +1 -1
  236. package/storage/object.js +4 -20
  237. package/storage/object.js.map +1 -1
  238. package/types.d.ts +235 -57
  239. package/types.js +62 -69
  240. package/types.js.map +1 -1
  241. package/upgrades/5.33.0/index.js +3 -26
  242. package/upgrades/5.33.0/index.js.map +1 -1
  243. package/upgrades/index.js +0 -3
  244. package/upgrades/index.js.map +1 -1
  245. package/utils/access.js +11 -25
  246. package/utils/access.js.map +1 -1
  247. package/utils/converters/Converter.js +0 -13
  248. package/utils/converters/Converter.js.map +1 -1
  249. package/utils/converters/ConverterCollection.js +14 -34
  250. package/utils/converters/ConverterCollection.js.map +1 -1
  251. package/utils/converters/valueKeyStorageConverter.js +0 -26
  252. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  253. package/utils/createTypeFromFields.d.ts +15 -0
  254. package/utils/createTypeFromFields.js +64 -0
  255. package/utils/createTypeFromFields.js.map +1 -0
  256. package/utils/createTypeName.js +2 -9
  257. package/utils/createTypeName.js.map +1 -1
  258. package/utils/entryStorage.js +22 -35
  259. package/utils/entryStorage.js.map +1 -1
  260. package/utils/filterAsync.js +0 -5
  261. package/utils/filterAsync.js.map +1 -1
  262. package/utils/getBaseFieldType.d.ts +4 -0
  263. package/utils/getBaseFieldType.js +10 -0
  264. package/utils/getBaseFieldType.js.map +1 -0
  265. package/utils/getEntryTitle.js +0 -9
  266. package/utils/getEntryTitle.js.map +1 -1
  267. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  268. package/utils/getSchemaFromFieldPlugins.js +23 -19
  269. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  270. package/utils/ownership.js +0 -8
  271. package/utils/ownership.js.map +1 -1
  272. package/utils/permissions.js +8 -23
  273. package/utils/permissions.js.map +1 -1
  274. package/utils/pluralizedTypeName.js +0 -6
  275. package/utils/pluralizedTypeName.js.map +1 -1
  276. package/utils/renderFields.js +2 -9
  277. package/utils/renderFields.js.map +1 -1
  278. package/utils/renderGetFilterFields.js +6 -14
  279. package/utils/renderGetFilterFields.js.map +1 -1
  280. package/utils/renderInputFields.js +2 -9
  281. package/utils/renderInputFields.js.map +1 -1
  282. package/utils/renderListFilterFields.js +4 -10
  283. package/utils/renderListFilterFields.js.map +1 -1
  284. package/utils/renderSortEnum.d.ts +7 -4
  285. package/utils/renderSortEnum.js +21 -11
  286. package/utils/renderSortEnum.js.map +1 -1
  287. package/utils/toSlug.js +0 -4
  288. package/utils/toSlug.js.map +1 -1
  289. package/validators/dateGte.js +0 -7
  290. package/validators/dateGte.js.map +1 -1
  291. package/validators/dateLte.js +0 -7
  292. package/validators/dateLte.js.map +1 -1
  293. package/validators/dynamicZone.d.ts +2 -0
  294. package/validators/dynamicZone.js +20 -0
  295. package/validators/dynamicZone.js.map +1 -0
  296. package/validators/gte.js +0 -8
  297. package/validators/gte.js.map +1 -1
  298. package/validators/in.js +0 -8
  299. package/validators/in.js.map +1 -1
  300. package/validators/index.js +2 -16
  301. package/validators/index.js.map +1 -1
  302. package/validators/lte.js +0 -8
  303. package/validators/lte.js.map +1 -1
  304. package/validators/maxLength.js +0 -8
  305. package/validators/maxLength.js.map +1 -1
  306. package/validators/minLength.js +0 -8
  307. package/validators/minLength.js.map +1 -1
  308. package/validators/pattern.js +0 -9
  309. package/validators/pattern.js.map +1 -1
  310. package/validators/patternPlugins/email.js +0 -2
  311. package/validators/patternPlugins/email.js.map +1 -1
  312. package/validators/patternPlugins/index.js +0 -8
  313. package/validators/patternPlugins/index.js.map +1 -1
  314. package/validators/patternPlugins/lowerCase.js +0 -2
  315. package/validators/patternPlugins/lowerCase.js.map +1 -1
  316. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  317. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  318. package/validators/patternPlugins/upperCase.js +0 -2
  319. package/validators/patternPlugins/upperCase.js.map +1 -1
  320. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  321. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  322. package/validators/patternPlugins/url.js +0 -2
  323. package/validators/patternPlugins/url.js.map +1 -1
  324. package/validators/required.js +0 -5
  325. package/validators/required.js.map +1 -1
  326. package/validators/timeGte.js +0 -8
  327. package/validators/timeGte.js.map +1 -1
  328. package/validators/timeLte.js +0 -8
  329. package/validators/timeLte.js.map +1 -1
  330. package/validators/unique.js +0 -7
  331. package/validators/unique.js.map +1 -1
  332. package/crud/index.d.ts +0 -6
  333. package/crud/index.js +0 -85
  334. package/crud/index.js.map +0 -1
  335. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  336. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  337. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  338. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  339. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  340. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  341. package/utils/filterModelFields.d.ts +0 -16
  342. package/utils/filterModelFields.js +0 -77
  343. package/utils/filterModelFields.js.map +0 -1
package/graphql/system.js CHANGED
@@ -4,116 +4,100 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createSystemSchemaPlugin = void 0;
7
-
8
7
  var _handlerGraphql = require("@webiny/handler-graphql");
9
-
10
8
  var _api = require("@webiny/api");
11
-
12
9
  const emptyResolver = () => ({});
10
+ const plugin = new _handlerGraphql.GraphQLSchemaPlugin({
11
+ typeDefs: /* GraphQL */`
12
+ extend type Query {
13
+ cms: CmsQuery
14
+ }
13
15
 
14
- const plugin = {
15
- name: "cms.graphql.schema.system",
16
- type: "graphql-schema",
17
- schema: {
18
- typeDefs:
19
- /* GraphQL */
20
- `
21
- extend type Query {
22
- cms: CmsQuery
23
- }
24
-
25
- extend type Mutation {
26
- cms: CmsMutation
27
- }
16
+ extend type Mutation {
17
+ cms: CmsMutation
18
+ }
28
19
 
29
- type CmsQuery {
30
- _empty: String
31
- }
20
+ type CmsQuery {
21
+ _empty: String
22
+ }
32
23
 
33
- type CmsMutation {
34
- _empty: String
35
- }
36
- extend type CmsQuery {
37
- # Get installed version
38
- version: String
39
- }
24
+ type CmsMutation {
25
+ _empty: String
26
+ }
27
+ extend type CmsQuery {
28
+ # Get installed version
29
+ version: String
30
+ }
40
31
 
41
- extend type CmsMutation {
42
- # Install CMS
43
- install: CmsBooleanResponse
32
+ extend type CmsMutation {
33
+ # Install CMS
34
+ install: CmsBooleanResponse
44
35
 
45
- # Upgrade CMS
46
- upgrade(version: String!): CmsBooleanResponse
47
- }
48
- `,
49
- resolvers: {
50
- Query: {
51
- cms: emptyResolver
52
- },
53
- Mutation: {
54
- cms: emptyResolver
55
- },
56
- CmsQuery: {
57
- version: async (_, __, context) => {
58
- try {
59
- return context.cms.getSystemVersion();
60
- } catch (e) {
61
- return new _handlerGraphql.ErrorResponse(e);
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
+ });
62
67
  }
68
+ await cms.installSystem();
69
+ return new _handlerGraphql.Response(true);
70
+ } catch (e) {
71
+ return new _handlerGraphql.ErrorResponse(e);
63
72
  }
64
73
  },
65
- CmsMutation: {
66
- install: async (_, __, {
67
- cms
68
- }) => {
69
- try {
70
- const version = await cms.getSystemVersion();
71
-
72
- if (version) {
73
- return new _handlerGraphql.ErrorResponse({
74
- code: "CMS_INSTALLATION_ERROR",
75
- message: "CMS is already installed."
76
- });
77
- }
78
-
79
- await cms.installSystem();
80
- return new _handlerGraphql.Response(true);
81
- } catch (e) {
82
- return new _handlerGraphql.ErrorResponse(e);
83
- }
84
- },
85
- upgrade: async (_, args, {
86
- cms
87
- }) => {
88
- const {
89
- version
90
- } = args;
91
-
92
- try {
93
- await cms.upgradeSystem(version);
94
- return new _handlerGraphql.Response(true);
95
- } catch (e) {
96
- return new _handlerGraphql.ErrorResponse(e);
97
- }
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);
98
85
  }
99
86
  }
100
87
  }
101
88
  }
102
- };
89
+ });
90
+ plugin.name = "cms.graphql.schema.system";
103
91
  /**
104
92
  * We only register system schema plugin if the endpoint is not manage/preview/read.
105
93
  */
106
-
107
94
  const createSystemSchemaPlugin = () => {
108
95
  return new _api.ContextPlugin(async context => {
109
96
  var _context$cms;
110
-
111
97
  if ((_context$cms = context.cms) !== null && _context$cms !== void 0 && _context$cms.type) {
112
98
  return;
113
99
  }
114
-
115
100
  context.plugins.register(plugin);
116
101
  });
117
102
  };
118
-
119
103
  exports.createSystemSchemaPlugin = createSystemSchemaPlugin;
@@ -1 +1 @@
1
- {"version":3,"names":["emptyResolver","plugin","name","type","schema","typeDefs","resolvers","Query","cms","Mutation","CmsQuery","version","_","__","context","getSystemVersion","e","ErrorResponse","CmsMutation","install","code","message","installSystem","Response","upgrade","args","upgradeSystem","createSystemSchemaPlugin","ContextPlugin","plugins","register"],"sources":["system.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { ContextPlugin } from \"@webiny/api\";\n\nconst emptyResolver = () => ({});\n\nconst plugin: GraphQLSchemaPlugin<CmsContext> = {\n name: \"cms.graphql.schema.system\",\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n extend type Query {\n cms: CmsQuery\n }\n\n extend type Mutation {\n cms: CmsMutation\n }\n\n type CmsQuery {\n _empty: String\n }\n\n type CmsMutation {\n _empty: String\n }\n extend type CmsQuery {\n # Get installed version\n version: String\n }\n\n extend type CmsMutation {\n # Install CMS\n install: CmsBooleanResponse\n\n # Upgrade CMS\n upgrade(version: String!): CmsBooleanResponse\n }\n `,\n resolvers: {\n Query: {\n cms: emptyResolver\n },\n Mutation: {\n cms: emptyResolver\n },\n CmsQuery: {\n version: async (_: any, __: any, context: CmsContext) => {\n try {\n return context.cms.getSystemVersion();\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsMutation: {\n install: async (_: any, __: any, { cms }: CmsContext) => {\n try {\n const version = await cms.getSystemVersion();\n if (version) {\n return new ErrorResponse({\n code: \"CMS_INSTALLATION_ERROR\",\n message: \"CMS is already installed.\"\n });\n }\n\n await cms.installSystem();\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n upgrade: async (_: any, args: any, { cms }: CmsContext) => {\n const { version } = args;\n try {\n await cms.upgradeSystem(version);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n }\n }\n};\n/**\n * We only register system schema plugin if the endpoint is not manage/preview/read.\n */\nexport const createSystemSchemaPlugin = (): ContextPlugin<CmsContext> => {\n return new ContextPlugin<CmsContext>(async context => {\n if (context.cms?.type) {\n return;\n }\n context.plugins.register(plugin);\n });\n};\n"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA,MAAMA,aAAa,GAAG,OAAO,EAAP,CAAtB;;AAEA,MAAMC,MAAuC,GAAG;EAC5CC,IAAI,EAAE,2BADsC;EAE5CC,IAAI,EAAE,gBAFsC;EAG5CC,MAAM,EAAE;IACJC,QAAQ;IAAE;IAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SA7BY;IA8BJC,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,GAAG,EAAER;MADF,CADA;MAIPS,QAAQ,EAAE;QACND,GAAG,EAAER;MADC,CAJH;MAOPU,QAAQ,EAAE;QACNC,OAAO,EAAE,OAAOC,CAAP,EAAeC,EAAf,EAAwBC,OAAxB,KAAgD;UACrD,IAAI;YACA,OAAOA,OAAO,CAACN,GAAR,CAAYO,gBAAZ,EAAP;UACH,CAFD,CAEE,OAAOC,CAAP,EAAU;YACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;UACH;QACJ;MAPK,CAPH;MAgBPE,WAAW,EAAE;QACTC,OAAO,EAAE,OAAOP,CAAP,EAAeC,EAAf,EAAwB;UAAEL;QAAF,CAAxB,KAAgD;UACrD,IAAI;YACA,MAAMG,OAAO,GAAG,MAAMH,GAAG,CAACO,gBAAJ,EAAtB;;YACA,IAAIJ,OAAJ,EAAa;cACT,OAAO,IAAIM,6BAAJ,CAAkB;gBACrBG,IAAI,EAAE,wBADe;gBAErBC,OAAO,EAAE;cAFY,CAAlB,CAAP;YAIH;;YAED,MAAMb,GAAG,CAACc,aAAJ,EAAN;YACA,OAAO,IAAIC,wBAAJ,CAAa,IAAb,CAAP;UACH,CAXD,CAWE,OAAOP,CAAP,EAAU;YACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;UACH;QACJ,CAhBQ;QAiBTQ,OAAO,EAAE,OAAOZ,CAAP,EAAea,IAAf,EAA0B;UAAEjB;QAAF,CAA1B,KAAkD;UACvD,MAAM;YAAEG;UAAF,IAAcc,IAApB;;UACA,IAAI;YACA,MAAMjB,GAAG,CAACkB,aAAJ,CAAkBf,OAAlB,CAAN;YACA,OAAO,IAAIY,wBAAJ,CAAa,IAAb,CAAP;UACH,CAHD,CAGE,OAAOP,CAAP,EAAU;YACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;UACH;QACJ;MAzBQ;IAhBN;EA9BP;AAHoC,CAAhD;AA+EA;AACA;AACA;;AACO,MAAMW,wBAAwB,GAAG,MAAiC;EACrE,OAAO,IAAIC,kBAAJ,CAA8B,MAAMd,OAAN,IAAiB;IAAA;;IAClD,oBAAIA,OAAO,CAACN,GAAZ,yCAAI,aAAaL,IAAjB,EAAuB;MACnB;IACH;;IACDW,OAAO,CAACe,OAAR,CAAgBC,QAAhB,CAAyB7B,MAAzB;EACH,CALM,CAAP;AAMH,CAPM"}
1
+ {"version":3,"names":["emptyResolver","plugin","GraphQLSchemaPlugin","typeDefs","resolvers","Query","cms","Mutation","CmsQuery","version","_","__","context","getSystemVersion","e","ErrorResponse","CmsMutation","install","code","message","installSystem","Response","upgrade","args","upgradeSystem","name","createSystemSchemaPlugin","ContextPlugin","type","plugins","register"],"sources":["system.ts"],"sourcesContent":["import { ErrorResponse, GraphQLSchemaPlugin, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\nimport { ContextPlugin } from \"@webiny/api\";\n\nconst emptyResolver = () => ({});\n\nconst plugin = new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n extend type Query {\n cms: CmsQuery\n }\n\n extend type Mutation {\n cms: CmsMutation\n }\n\n type CmsQuery {\n _empty: String\n }\n\n type CmsMutation {\n _empty: String\n }\n extend type CmsQuery {\n # Get installed version\n version: String\n }\n\n extend type CmsMutation {\n # Install CMS\n install: CmsBooleanResponse\n\n # Upgrade CMS\n upgrade(version: String!): CmsBooleanResponse\n }\n `,\n resolvers: {\n Query: {\n cms: emptyResolver\n },\n Mutation: {\n cms: emptyResolver\n },\n CmsQuery: {\n version: async (_: any, __: any, context: CmsContext) => {\n try {\n return context.cms.getSystemVersion();\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsMutation: {\n install: async (_: any, __: any, { cms }: CmsContext) => {\n try {\n const version = await cms.getSystemVersion();\n if (version) {\n return new ErrorResponse({\n code: \"CMS_INSTALLATION_ERROR\",\n message: \"CMS is already installed.\"\n });\n }\n\n await cms.installSystem();\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n upgrade: async (_: any, args: any, { cms }: CmsContext) => {\n const { version } = args;\n try {\n await cms.upgradeSystem(version);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n }\n});\nplugin.name = \"cms.graphql.schema.system\";\n/**\n * We only register system schema plugin if the endpoint is not manage/preview/read.\n */\nexport const createSystemSchemaPlugin = (): ContextPlugin<CmsContext> => {\n return new ContextPlugin<CmsContext>(async context => {\n if (context.cms?.type) {\n return;\n }\n context.plugins.register(plugin);\n });\n};\n"],"mappings":";;;;;;AAAA;AAEA;AAEA,MAAMA,aAAa,GAAG,OAAO,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"}
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createBooleanField = void 0;
7
-
8
7
  var _helpers = require("./helpers");
9
-
10
8
  const createListFilters = ({
11
9
  field
12
10
  }) => {
@@ -15,7 +13,6 @@ const createListFilters = ({
15
13
  ${field.fieldId}_not: Boolean
16
14
  `;
17
15
  };
18
-
19
16
  const createBooleanField = () => {
20
17
  return {
21
18
  name: "cms-model-field-to-graphql-boolean",
@@ -25,45 +22,36 @@ const createBooleanField = () => {
25
22
  isSearchable: true,
26
23
  read: {
27
24
  createListFilters,
28
-
29
25
  createGetFilters({
30
26
  field
31
27
  }) {
32
28
  return `${field.fieldId}: Boolean`;
33
29
  },
34
-
35
30
  createTypeField({
36
31
  field
37
32
  }) {
38
33
  if (field.multipleValues) {
39
34
  return `${field.fieldId}: [Boolean]`;
40
35
  }
41
-
42
36
  return `${field.fieldId}: Boolean`;
43
37
  }
44
-
45
38
  },
46
39
  manage: {
47
40
  createListFilters,
48
-
49
41
  createTypeField({
50
42
  field
51
43
  }) {
52
44
  if (field.multipleValues) {
53
45
  return field.fieldId + ": [Boolean]";
54
46
  }
55
-
56
47
  return field.fieldId + ": Boolean";
57
48
  },
58
-
59
49
  createInputField({
60
50
  field
61
51
  }) {
62
52
  return (0, _helpers.createGraphQLInputField)(field, "Boolean");
63
53
  }
64
-
65
54
  }
66
55
  };
67
56
  };
68
-
69
57
  exports.createBooleanField = createBooleanField;
@@ -1 +1 @@
1
- {"version":3,"names":["createListFilters","field","fieldId","createBooleanField","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField"],"sources":["boolean.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Boolean\n ${field.fieldId}_not: Boolean\n `;\n};\n\nexport const createBooleanField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-boolean\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"boolean\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: Boolean`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [Boolean]`;\n }\n\n return `${field.fieldId}: Boolean`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [Boolean]\";\n }\n\n return field.fieldId + \": Boolean\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Boolean\");\n }\n }\n };\n};\n"],"mappings":";;;;;;;AACA;;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAwC;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAHI;AAIH,CALD;;AAOO,MAAMC,kBAAkB,GAAG,MAAoC;EAClE,OAAO;IACHC,IAAI,EAAE,oCADH;IAEHC,IAAI,EAAE,4BAFH;IAGHC,SAAS,EAAE,SAHR;IAIHC,UAAU,EAAE,IAJT;IAKHC,YAAY,EAAE,IALX;IAMHC,IAAI,EAAE;MACFT,iBADE;;MAEFU,gBAAgB,CAAC;QAAET;MAAF,CAAD,EAAY;QACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,WAAxB;MACH,CAJC;;MAKFS,eAAe,CAAC;QAAEV;MAAF,CAAD,EAAY;QACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,aAAxB;QACH;;QAED,OAAQ,GAAED,KAAK,CAACC,OAAQ,WAAxB;MACH;;IAXC,CANH;IAmBHW,MAAM,EAAE;MACJb,iBADI;;MAEJW,eAAe,CAAC;QAAEV;MAAF,CAAD,EAAY;QACvB,IAAIA,KAAK,CAACW,cAAV,EAA0B;UACtB,OAAOX,KAAK,CAACC,OAAN,GAAgB,aAAvB;QACH;;QAED,OAAOD,KAAK,CAACC,OAAN,GAAgB,WAAvB;MACH,CARG;;MASJY,gBAAgB,CAAC;QAAEb;MAAF,CAAD,EAAY;QACxB,OAAO,IAAAc,gCAAA,EAAwBd,KAAxB,EAA+B,SAA/B,CAAP;MACH;;IAXG;EAnBL,CAAP;AAiCH,CAlCM"}
1
+ {"version":3,"names":["createListFilters","field","fieldId","createBooleanField","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField"],"sources":["boolean.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Boolean\n ${field.fieldId}_not: Boolean\n `;\n};\n\nexport const createBooleanField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-boolean\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"boolean\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: Boolean`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [Boolean]`;\n }\n\n return `${field.fieldId}: Boolean`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [Boolean]\";\n }\n\n return field.fieldId + \": Boolean\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Boolean\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAAK;AACL,CAAC;AAEM,MAAMC,kBAAkB,GAAG,MAAoC;EAClE,OAAO;IACHC,IAAI,EAAE,oCAAoC;IAC1CC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,SAAS;IACpBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,IAAI,EAAE;MACFT,iBAAiB;MACjBU,gBAAgB,CAAC;QAAET;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,WAAU;MACtC,CAAC;MACDS,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,aAAY;QACxC;QAEA,OAAQ,GAAED,KAAK,CAACC,OAAQ,WAAU;MACtC;IACJ,CAAC;IACDW,MAAM,EAAE;MACJb,iBAAiB;MACjBW,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAOX,KAAK,CAACC,OAAO,GAAG,aAAa;QACxC;QAEA,OAAOD,KAAK,CAACC,OAAO,GAAG,WAAW;MACtC,CAAC;MACDY,gBAAgB,CAAC;QAAEb;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAc,gCAAuB,EAACd,KAAK,EAAE,SAAS,CAAC;MACpD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -4,28 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createDateTimeField = void 0;
7
-
8
7
  var _helpers = require("./helpers");
9
-
10
8
  const fieldGraphQLTypes = {
11
9
  time: "Time",
12
10
  dateTimeWithoutTimezone: "DateTime",
13
11
  dateTimeWithTimezone: "DateTimeZ",
14
12
  date: "Date"
15
13
  };
16
-
17
14
  const getFieldGraphQLType = field => {
18
15
  var _field$settings;
19
-
20
16
  const type = (_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.type;
21
-
22
17
  if (!type || !fieldGraphQLTypes[type]) {
23
18
  return fieldGraphQLTypes.dateTimeWithoutTimezone;
24
19
  }
25
-
26
20
  return fieldGraphQLTypes[type];
27
21
  };
28
-
29
22
  const createListFilters = ({
30
23
  field
31
24
  }) => {
@@ -40,7 +33,6 @@ const createListFilters = ({
40
33
  ${field.fieldId}_gte: ${getFieldGraphQLType(field)}
41
34
  `;
42
35
  };
43
-
44
36
  const createDateTimeField = () => {
45
37
  return {
46
38
  name: "cms-model-field-to-graphql-datetime",
@@ -50,27 +42,22 @@ const createDateTimeField = () => {
50
42
  isSearchable: true,
51
43
  read: {
52
44
  createListFilters,
53
-
54
45
  createGetFilters({
55
46
  field
56
47
  }) {
57
48
  return `${field.fieldId}: ${getFieldGraphQLType(field)}`;
58
49
  },
59
-
60
50
  createTypeField({
61
51
  field
62
52
  }) {
63
53
  if (field.multipleValues) {
64
54
  return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;
65
55
  }
66
-
67
56
  return `${field.fieldId}: ${getFieldGraphQLType(field)}`;
68
57
  }
69
-
70
58
  },
71
59
  manage: {
72
60
  createListFilters,
73
-
74
61
  createTypeField({
75
62
  field
76
63
  }) {
@@ -78,18 +65,14 @@ const createDateTimeField = () => {
78
65
  const def = (0, _helpers.attachRequiredFieldValue)(getFieldGraphQLType(field), field);
79
66
  return `${field.fieldId}: [${def}]`;
80
67
  }
81
-
82
68
  return `${field.fieldId}: ${getFieldGraphQLType(field)}`;
83
69
  },
84
-
85
70
  createInputField({
86
71
  field
87
72
  }) {
88
73
  return (0, _helpers.createGraphQLInputField)(field, getFieldGraphQLType(field));
89
74
  }
90
-
91
75
  }
92
76
  };
93
77
  };
94
-
95
78
  exports.createDateTimeField = createDateTimeField;
@@ -1 +1 @@
1
- {"version":3,"names":["fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","type","settings","createListFilters","fieldId","createDateTimeField","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","def","attachRequiredFieldValue","createInputField","createGraphQLInputField"],"sources":["datetime.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { attachRequiredFieldValue, createGraphQLInputField } from \"./helpers\";\n\nconst fieldGraphQLTypes = {\n time: \"Time\",\n dateTimeWithoutTimezone: \"DateTime\",\n dateTimeWithTimezone: \"DateTimeZ\",\n date: \"Date\"\n};\n\ntype FieldGraphQLKeys = keyof typeof fieldGraphQLTypes;\n\nconst getFieldGraphQLType = (field: CmsModelField): string => {\n const type = field.settings?.type as FieldGraphQLKeys | undefined;\n if (!type || !fieldGraphQLTypes[type]) {\n return fieldGraphQLTypes.dateTimeWithoutTimezone;\n }\n return fieldGraphQLTypes[type];\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: ${getFieldGraphQLType(field)}\n ${field.fieldId}_not: ${getFieldGraphQLType(field)}\n ${field.fieldId}_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_not_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_lt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_lte: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gte: ${getFieldGraphQLType(field)}\n `;\n};\n\nexport const createDateTimeField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-datetime\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"datetime\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n const def = attachRequiredFieldValue(getFieldGraphQLType(field), field);\n return `${field.fieldId}: [${def}]`;\n }\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, getFieldGraphQLType(field));\n }\n }\n };\n};\n"],"mappings":";;;;;;;AACA;;AAEA,MAAMA,iBAAiB,GAAG;EACtBC,IAAI,EAAE,MADgB;EAEtBC,uBAAuB,EAAE,UAFH;EAGtBC,oBAAoB,EAAE,WAHA;EAItBC,IAAI,EAAE;AAJgB,CAA1B;;AASA,MAAMC,mBAAmB,GAAIC,KAAD,IAAkC;EAAA;;EAC1D,MAAMC,IAAI,sBAAGD,KAAK,CAACE,QAAT,oDAAG,gBAAgBD,IAA7B;;EACA,IAAI,CAACA,IAAD,IAAS,CAACP,iBAAiB,CAACO,IAAD,CAA/B,EAAuC;IACnC,OAAOP,iBAAiB,CAACE,uBAAzB;EACH;;EACD,OAAOF,iBAAiB,CAACO,IAAD,CAAxB;AACH,CAND;;AAWA,MAAME,iBAAiB,GAAG,CAAC;EAAEH;AAAF,CAAD,KAAwC;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ;AACvD,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,aAAYL,mBAAmB,CAACC,KAAD,CAAQ;AAC/D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAD,CAAQ;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAD,CAAQ;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAD,CAAQ;AAC3D,KATI;AAUH,CAXD;;AAaO,MAAMK,mBAAmB,GAAG,MAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,qCADH;IAEHL,IAAI,EAAE,4BAFH;IAGHM,SAAS,EAAE,UAHR;IAIHC,UAAU,EAAE,IAJT;IAKHC,YAAY,EAAE,IALX;IAMHC,IAAI,EAAE;MACFP,iBADE;;MAEFQ,gBAAgB,CAAC;QAAEX;MAAF,CAAD,EAAY;QACxB,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;MACH,CAJC;;MAKFY,eAAe,CAAC;QAAEZ;MAAF,CAAD,EAAY;QACvB,IAAIA,KAAK,CAACa,cAAV,EAA0B;UACtB,OAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAD,CAAQ,GAAxD;QACH;;QAED,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;MACH;;IAXC,CANH;IAmBHc,MAAM,EAAE;MACJX,iBADI;;MAEJS,eAAe,CAAC;QAAEZ;MAAF,CAAD,EAAY;QACvB,IAAIA,KAAK,CAACa,cAAV,EAA0B;UACtB,MAAME,GAAG,GAAG,IAAAC,iCAAA,EAAyBjB,mBAAmB,CAACC,KAAD,CAA5C,EAAqDA,KAArD,CAAZ;UACA,OAAQ,GAAEA,KAAK,CAACI,OAAQ,MAAKW,GAAI,GAAjC;QACH;;QACD,OAAQ,GAAEf,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAD,CAAQ,EAAvD;MACH,CARG;;MASJiB,gBAAgB,CAAC;QAAEjB;MAAF,CAAD,EAAY;QACxB,OAAO,IAAAkB,gCAAA,EAAwBlB,KAAxB,EAA+BD,mBAAmB,CAACC,KAAD,CAAlD,CAAP;MACH;;IAXG;EAnBL,CAAP;AAiCH,CAlCM"}
1
+ {"version":3,"names":["fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","type","settings","createListFilters","fieldId","createDateTimeField","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","def","attachRequiredFieldValue","createInputField","createGraphQLInputField"],"sources":["datetime.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { attachRequiredFieldValue, createGraphQLInputField } from \"./helpers\";\n\nconst fieldGraphQLTypes = {\n time: \"Time\",\n dateTimeWithoutTimezone: \"DateTime\",\n dateTimeWithTimezone: \"DateTimeZ\",\n date: \"Date\"\n};\n\ntype FieldGraphQLKeys = keyof typeof fieldGraphQLTypes;\n\nconst getFieldGraphQLType = (field: CmsModelField): string => {\n const type = field.settings?.type as FieldGraphQLKeys | undefined;\n if (!type || !fieldGraphQLTypes[type]) {\n return fieldGraphQLTypes.dateTimeWithoutTimezone;\n }\n return fieldGraphQLTypes[type];\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: ${getFieldGraphQLType(field)}\n ${field.fieldId}_not: ${getFieldGraphQLType(field)}\n ${field.fieldId}_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_not_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_lt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_lte: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gte: ${getFieldGraphQLType(field)}\n `;\n};\n\nexport const createDateTimeField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-datetime\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"datetime\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n const def = attachRequiredFieldValue(getFieldGraphQLType(field), field);\n return `${field.fieldId}: [${def}]`;\n }\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, getFieldGraphQLType(field));\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAEA,MAAMA,iBAAiB,GAAG;EACtBC,IAAI,EAAE,MAAM;EACZC,uBAAuB,EAAE,UAAU;EACnCC,oBAAoB,EAAE,WAAW;EACjCC,IAAI,EAAE;AACV,CAAC;AAID,MAAMC,mBAAmB,GAAIC,KAAoB,IAAa;EAAA;EAC1D,MAAMC,IAAI,sBAAGD,KAAK,CAACE,QAAQ,oDAAd,gBAAgBD,IAAoC;EACjE,IAAI,CAACA,IAAI,IAAI,CAACP,iBAAiB,CAACO,IAAI,CAAC,EAAE;IACnC,OAAOP,iBAAiB,CAACE,uBAAuB;EACpD;EACA,OAAOF,iBAAiB,CAACO,IAAI,CAAC;AAClC,CAAC;AAKD,MAAME,iBAAiB,GAAG,CAAC;EAAEH;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE;AACvD,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,aAAYL,mBAAmB,CAACC,KAAK,CAAE;AAC/D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,KAAK;AACL,CAAC;AAEM,MAAMK,mBAAmB,GAAG,MAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,qCAAqC;IAC3CL,IAAI,EAAE,4BAA4B;IAClCM,SAAS,EAAE,UAAU;IACrBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,IAAI,EAAE;MACFP,iBAAiB;MACjBQ,gBAAgB,CAAC;QAAEX;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDY,eAAe,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,OAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAK,CAAE,GAAE;QAC9D;QAEA,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D;IACJ,CAAC;IACDc,MAAM,EAAE;MACJX,iBAAiB;MACjBS,eAAe,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,MAAME,GAAG,GAAG,IAAAC,iCAAwB,EAACjB,mBAAmB,CAACC,KAAK,CAAC,EAAEA,KAAK,CAAC;UACvE,OAAQ,GAAEA,KAAK,CAACI,OAAQ,MAAKW,GAAI,GAAE;QACvC;QACA,OAAQ,GAAEf,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDiB,gBAAgB,CAAC;QAAEjB;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAkB,gCAAuB,EAAClB,KAAK,EAAED,mBAAmB,CAACC,KAAK,CAAC,CAAC;MACrE;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -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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"}