@webiny/api-headless-cms 0.0.0-unstable.40876133bb → 0.0.0-unstable.60e968001a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/context.d.ts +5 -2
  2. package/context.js +63 -4
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/markLockedFields.js +5 -2
  5. package/crud/contentEntry/markLockedFields.js.map +1 -1
  6. package/crud/contentEntry/referenceFieldsMapping.js +9 -5
  7. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  8. package/crud/contentEntry/searchableFields.d.ts +9 -0
  9. package/crud/contentEntry/searchableFields.js +83 -0
  10. package/crud/contentEntry/searchableFields.js.map +1 -0
  11. package/crud/contentEntry.crud.js +65 -40
  12. package/crud/contentEntry.crud.js.map +1 -1
  13. package/crud/contentModel/createFieldStorageId.js +5 -1
  14. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  15. package/crud/contentModel/models.js +12 -0
  16. package/crud/contentModel/models.js.map +1 -1
  17. package/crud/contentModel/validateModelFields.js +46 -37
  18. package/crud/contentModel/validateModelFields.js.map +1 -1
  19. package/crud/contentModel/validation.d.ts +477 -0
  20. package/crud/contentModel/validation.js +109 -0
  21. package/crud/contentModel/validation.js.map +1 -0
  22. package/crud/contentModel.crud.js +227 -175
  23. package/crud/contentModel.crud.js.map +1 -1
  24. package/crud/contentModelGroup/validation.d.ts +30 -0
  25. package/crud/contentModelGroup/validation.js +43 -0
  26. package/crud/contentModelGroup/validation.js.map +1 -0
  27. package/crud/contentModelGroup.crud.js +54 -54
  28. package/crud/contentModelGroup.crud.js.map +1 -1
  29. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  30. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +239 -0
  31. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  32. package/fieldConverters/index.d.ts +2 -1
  33. package/fieldConverters/index.js +3 -1
  34. package/fieldConverters/index.js.map +1 -1
  35. package/graphql/buildSchemaPlugins.d.ts +2 -2
  36. package/graphql/buildSchemaPlugins.js.map +1 -1
  37. package/graphql/graphQLHandlerFactory.js +58 -28
  38. package/graphql/graphQLHandlerFactory.js.map +1 -1
  39. package/graphql/index.d.ts +2 -2
  40. package/graphql/index.js +49 -38
  41. package/graphql/index.js.map +1 -1
  42. package/graphql/schema/baseContentSchema.d.ts +2 -2
  43. package/graphql/schema/baseContentSchema.js +3 -3
  44. package/graphql/schema/baseContentSchema.js.map +1 -1
  45. package/graphql/schema/contentEntries.d.ts +2 -2
  46. package/graphql/schema/contentEntries.js +5 -5
  47. package/graphql/schema/contentEntries.js.map +1 -1
  48. package/graphql/schema/contentModelGroups.d.ts +2 -2
  49. package/graphql/schema/contentModelGroups.js +3 -3
  50. package/graphql/schema/contentModelGroups.js.map +1 -1
  51. package/graphql/schema/contentModels.d.ts +2 -2
  52. package/graphql/schema/contentModels.js +26 -7
  53. package/graphql/schema/contentModels.js.map +1 -1
  54. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  55. package/graphql/schema/createFieldResolvers.js +23 -7
  56. package/graphql/schema/createFieldResolvers.js.map +1 -1
  57. package/graphql/schema/createManageSDL.d.ts +2 -0
  58. package/graphql/schema/createManageSDL.js +9 -6
  59. package/graphql/schema/createManageSDL.js.map +1 -1
  60. package/graphql/schema/createReadResolvers.js +5 -0
  61. package/graphql/schema/createReadResolvers.js.map +1 -1
  62. package/graphql/schema/createReadSDL.d.ts +2 -0
  63. package/graphql/schema/createReadSDL.js +11 -5
  64. package/graphql/schema/createReadSDL.js.map +1 -1
  65. package/graphql/schema/schemaPlugins.d.ts +2 -2
  66. package/graphql/schema/schemaPlugins.js +11 -8
  67. package/graphql/schema/schemaPlugins.js.map +1 -1
  68. package/graphql/system.js +79 -82
  69. package/graphql/system.js.map +1 -1
  70. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  71. package/graphqlFields/dynamicZone/dynamicZoneField.js +234 -0
  72. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  73. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  74. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +79 -0
  75. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  76. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  77. package/graphqlFields/dynamicZone/index.js +21 -0
  78. package/graphqlFields/dynamicZone/index.js.map +1 -0
  79. package/graphqlFields/index.d.ts +1 -1
  80. package/graphqlFields/index.js +3 -1
  81. package/graphqlFields/index.js.map +1 -1
  82. package/graphqlFields/number.js +4 -0
  83. package/graphqlFields/number.js.map +1 -1
  84. package/graphqlFields/object.js +122 -72
  85. package/graphqlFields/object.js.map +1 -1
  86. package/graphqlFields/ref.js +34 -48
  87. package/graphqlFields/ref.js.map +1 -1
  88. package/index.d.ts +3 -3
  89. package/index.js +4 -8
  90. package/index.js.map +1 -1
  91. package/package.json +26 -26
  92. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  93. package/plugins/CmsGraphQLSchemaPlugin.js +17 -0
  94. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  95. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  96. package/plugins/CmsGraphQLSchemaSorterPlugin.js +38 -0
  97. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  98. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  99. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  100. package/plugins/StorageTransformPlugin.d.ts +11 -11
  101. package/plugins/StorageTransformPlugin.js.map +1 -1
  102. package/plugins/index.d.ts +2 -0
  103. package/plugins/index.js +26 -0
  104. package/plugins/index.js.map +1 -1
  105. package/storage/object.js +5 -2
  106. package/storage/object.js.map +1 -1
  107. package/types.d.ts +203 -55
  108. package/types.js +55 -7
  109. package/types.js.map +1 -1
  110. package/utils/converters/ConverterCollection.js +6 -2
  111. package/utils/converters/ConverterCollection.js.map +1 -1
  112. package/utils/createTypeFromFields.d.ts +15 -0
  113. package/utils/createTypeFromFields.js +75 -0
  114. package/utils/createTypeFromFields.js.map +1 -0
  115. package/utils/createTypeName.js +3 -1
  116. package/utils/createTypeName.js.map +1 -1
  117. package/utils/entryStorage.js +15 -12
  118. package/utils/entryStorage.js.map +1 -1
  119. package/utils/getBaseFieldType.d.ts +4 -0
  120. package/utils/getBaseFieldType.js +12 -0
  121. package/utils/getBaseFieldType.js.map +1 -0
  122. package/utils/renderFields.js +3 -1
  123. package/utils/renderFields.js.map +1 -1
  124. package/utils/renderGetFilterFields.js +8 -3
  125. package/utils/renderGetFilterFields.js.map +1 -1
  126. package/utils/renderInputFields.js +3 -1
  127. package/utils/renderInputFields.js.map +1 -1
  128. package/utils/renderListFilterFields.js +5 -2
  129. package/utils/renderListFilterFields.js.map +1 -1
  130. package/utils/renderSortEnum.d.ts +7 -4
  131. package/utils/renderSortEnum.js +23 -4
  132. package/utils/renderSortEnum.js.map +1 -1
  133. package/validators/dynamicZone.d.ts +2 -0
  134. package/validators/dynamicZone.js +24 -0
  135. package/validators/dynamicZone.js.map +1 -0
  136. package/validators/index.js +3 -1
  137. package/validators/index.js.map +1 -1
  138. package/crud/index.d.ts +0 -6
  139. package/crud/index.js +0 -85
  140. package/crud/index.js.map +0 -1
  141. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  142. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  143. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  144. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  145. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  146. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
@@ -21,7 +21,8 @@ var _pluralizedTypeName = require("../../utils/pluralizedTypeName");
21
21
 
22
22
  const createManageSDL = ({
23
23
  model,
24
- fieldTypePlugins
24
+ fieldTypePlugins,
25
+ sorterPlugins
25
26
  }) => {
26
27
  const typeName = (0, _createTypeName.createTypeName)(model.modelId);
27
28
  const mTypeName = (0, _createTypeName.createManageTypeName)(typeName);
@@ -32,7 +33,8 @@ const createManageSDL = ({
32
33
  });
33
34
  const sortEnumRender = (0, _renderSortEnum.renderSortEnum)({
34
35
  model,
35
- fieldTypePlugins
36
+ fieldTypePlugins,
37
+ sorterPlugins
36
38
  });
37
39
  const getFilterFieldsRender = (0, _renderGetFilterFields.renderGetFilterFields)({
38
40
  model,
@@ -56,8 +58,6 @@ const createManageSDL = ({
56
58
  /* GraphQL */
57
59
  `
58
60
  """${model.description || model.modelId}"""
59
- ${fields.map(f => f.typeDefs).filter(Boolean).join("\n")}
60
-
61
61
  type ${mTypeName} {
62
62
  id: ID!
63
63
  entryId: String!
@@ -86,7 +86,8 @@ const createManageSDL = ({
86
86
  """
87
87
  data: JSON
88
88
  }
89
-
89
+
90
+ ${fields.map(f => f.typeDefs).filter(Boolean).join("\n")}
90
91
 
91
92
  ${inputFields.map(f => f.typeDefs).filter(Boolean).join("\n")}
92
93
 
@@ -100,7 +101,9 @@ const createManageSDL = ({
100
101
 
101
102
 
102
103
  ${listFilterFieldsRender && `input ${mTypeName}ListWhereInput {
103
- ${listFilterFieldsRender}
104
+ ${listFilterFieldsRender}
105
+ AND: [${mTypeName}ListWhereInput!]
106
+ OR: [${mTypeName}ListWhereInput!]
104
107
  }`}
105
108
 
106
109
  type ${mTypeName}Response {
@@ -1 +1 @@
1
- {"version":3,"names":["createManageSDL","model","fieldTypePlugins","typeName","createTypeName","modelId","mTypeName","createManageTypeName","listFilterFieldsRender","renderListFilterFields","type","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","inputFields","renderInputFields","fields","renderFields","length","description","map","f","typeDefs","filter","Boolean","join","pluralizedTypeName"],"sources":["createManageSDL.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsModel } from \"~/types\";\nimport { createManageTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { renderInputFields } from \"~/utils/renderInputFields\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateManageSDLParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({ model, fieldTypePlugins }): string => {\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({ model, fieldTypePlugins });\n const getFilterFieldsRender = renderGetFilterFields({ model, fieldTypePlugins });\n const inputFields = renderInputFields({ model, fieldTypePlugins });\n const fields = renderFields({ model, type: \"manage\", fieldTypePlugins });\n\n if (inputFields.length === 0) {\n return \"\";\n }\n\n return /* GraphQL */ `\n \"\"\"${model.description || model.modelId}\"\"\"\n ${fields\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n\n type ${mTypeName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsCreatedBy!\n ownedBy: CmsOwnedBy!\n meta: ${mTypeName}Meta\n ${fields.map(f => f.fields).join(\"\\n\")}\n }\n\n type ${mTypeName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n publishedOn: DateTime\n status: String\n \"\"\"\n CAUTION: this field is resolved by making an extra query to DB.\n RECOMMENDATION: Use it only with \"get\" queries (avoid in \"list\")\n \"\"\"\n revisions: [${mTypeName}]\n title: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n \n \n ${inputFields\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n\n ${\n inputFields &&\n `input ${mTypeName}Input {\n ${inputFields.map(f => f.fields).join(\"\\n\")}\n }`\n }\n\n ${\n getFilterFieldsRender &&\n `input ${mTypeName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n\n\n ${\n listFilterFieldsRender &&\n `input ${mTypeName}ListWhereInput {\n ${listFilterFieldsRender}\n }`\n }\n\n type ${mTypeName}Response {\n data: ${mTypeName}\n error: CmsError\n }\n \n type ${mTypeName}ArrayResponse {\n data: [${mTypeName}]\n error: CmsError\n }\n\n type ${mTypeName}ListResponse {\n data: [${mTypeName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n ${\n sortEnumRender &&\n `enum ${mTypeName}ListSorter {\n ${sortEnumRender}\n }`\n }\n\n extend type Query {\n get${typeName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${mTypeName}Response\n \n get${typeName}Revisions(id: ID!): ${mTypeName}ArrayResponse\n \n get${pluralizedTypeName(typeName)}ByIds(revisions: [ID!]!): ${mTypeName}ArrayResponse\n\n list${pluralizedTypeName(typeName)}(\n where: ${mTypeName}ListWhereInput\n sort: [${mTypeName}ListSorter]\n limit: Int\n after: String\n ): ${mTypeName}ListResponse\n }\n\n extend type Mutation{\n create${typeName}(data: ${mTypeName}Input!): ${mTypeName}Response\n\n create${typeName}From(revision: ID!, data: ${mTypeName}Input): ${mTypeName}Response\n\n update${typeName}(revision: ID!, data: ${mTypeName}Input!): ${mTypeName}Response\n\n delete${typeName}(revision: ID!): CmsDeleteResponse\n\n publish${typeName}(revision: ID!): ${mTypeName}Response\n \n republish${typeName}(revision: ID!): ${mTypeName}Response\n\n unpublish${typeName}(revision: ID!): ${mTypeName}Response\n }\n `;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createManageSDL","model","fieldTypePlugins","sorterPlugins","typeName","createTypeName","modelId","mTypeName","createManageTypeName","listFilterFieldsRender","renderListFilterFields","type","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","inputFields","renderInputFields","fields","renderFields","length","description","map","f","join","typeDefs","filter","Boolean","pluralizedTypeName"],"sources":["createManageSDL.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsModel } from \"~/types\";\nimport { createManageTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { renderInputFields } from \"~/utils/renderInputFields\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\n\ninterface CreateManageSDLParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({ model, fieldTypePlugins, sorterPlugins });\n const getFilterFieldsRender = renderGetFilterFields({ model, fieldTypePlugins });\n const inputFields = renderInputFields({ model, fieldTypePlugins });\n const fields = renderFields({ model, type: \"manage\", fieldTypePlugins });\n\n if (inputFields.length === 0) {\n return \"\";\n }\n\n return /* GraphQL */ `\n \"\"\"${model.description || model.modelId}\"\"\"\n type ${mTypeName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsCreatedBy!\n ownedBy: CmsOwnedBy!\n meta: ${mTypeName}Meta\n ${fields.map(f => f.fields).join(\"\\n\")}\n }\n\n type ${mTypeName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n publishedOn: DateTime\n status: String\n \"\"\"\n CAUTION: this field is resolved by making an extra query to DB.\n RECOMMENDATION: Use it only with \"get\" queries (avoid in \"list\")\n \"\"\"\n revisions: [${mTypeName}]\n title: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n\n ${fields\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n ${inputFields\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n\n ${\n inputFields &&\n `input ${mTypeName}Input {\n ${inputFields.map(f => f.fields).join(\"\\n\")}\n }`\n }\n\n ${\n getFilterFieldsRender &&\n `input ${mTypeName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n\n\n ${\n listFilterFieldsRender &&\n `input ${mTypeName}ListWhereInput {\n ${listFilterFieldsRender}\n AND: [${mTypeName}ListWhereInput!]\n OR: [${mTypeName}ListWhereInput!]\n }`\n }\n\n type ${mTypeName}Response {\n data: ${mTypeName}\n error: CmsError\n }\n \n type ${mTypeName}ArrayResponse {\n data: [${mTypeName}]\n error: CmsError\n }\n\n type ${mTypeName}ListResponse {\n data: [${mTypeName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n ${\n sortEnumRender &&\n `enum ${mTypeName}ListSorter {\n ${sortEnumRender}\n }`\n }\n\n extend type Query {\n get${typeName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${mTypeName}Response\n \n get${typeName}Revisions(id: ID!): ${mTypeName}ArrayResponse\n \n get${pluralizedTypeName(typeName)}ByIds(revisions: [ID!]!): ${mTypeName}ArrayResponse\n\n list${pluralizedTypeName(typeName)}(\n where: ${mTypeName}ListWhereInput\n sort: [${mTypeName}ListSorter]\n limit: Int\n after: String\n ): ${mTypeName}ListResponse\n }\n\n extend type Mutation{\n create${typeName}(data: ${mTypeName}Input!): ${mTypeName}Response\n\n create${typeName}From(revision: ID!, data: ${mTypeName}Input): ${mTypeName}Response\n\n update${typeName}(revision: ID!, data: ${mTypeName}Input!): ${mTypeName}Response\n\n delete${typeName}(revision: ID!): CmsDeleteResponse\n\n publish${typeName}(revision: ID!): ${mTypeName}Response\n \n republish${typeName}(revision: ID!): ${mTypeName}Response\n\n unpublish${typeName}(revision: ID!): ${mTypeName}Response\n }\n `;\n};\n"],"mappings":"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"}
@@ -51,6 +51,11 @@ const createReadResolvers = ({
51
51
  [`list${(0, _pluralizedTypeName.pluralizedTypeName)(typeName)}`]: (0, _resolveList.resolveList)({
52
52
  model
53
53
  })
54
+ },
55
+ [rTypeName]: {
56
+ modelId: () => {
57
+ return model.modelId;
58
+ }
54
59
  }
55
60
  }, fieldResolvers);
56
61
  };
@@ -1 +1 @@
1
- {"version":3,"names":["createReadResolvers","models","model","fieldTypePlugins","fields","length","Query","typeName","createTypeName","modelId","rTypeName","createReadTypeName","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","isRoot","resolveGet","pluralizedTypeName","resolveList"],"sources":["createReadResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/read/resolveGet\";\nimport { resolveList } from \"./resolvers/read/resolveList\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createReadResolvers: CreateReadResolvers = ({ models, model, fieldTypePlugins }) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: rTypeName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAaO,MAAMA,mBAAwC,GAAG,CAAC;EAAEC,MAAF;EAAUC,KAAV;EAAiBC;AAAjB,CAAD,KAAyC;EAC7F,IAAID,KAAK,CAACE,MAAN,CAAaC,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO;MACHC,KAAK,EAAE;IADJ,CAAP;EAGH;;EACD,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAeN,KAAK,CAACO,OAArB,CAAjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kCAAA,EAAmBJ,QAAnB,CAAlB;EAEA,MAAMK,oBAAoB,GAAG,IAAAC,iDAAA,EAA4B;IACrDC,YAAY,EAAE,MADuC;IAErDb,MAFqD;IAGrDC,KAHqD;IAIrDC;EAJqD,CAA5B,CAA7B;EAOA,MAAMY,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAEN,SAD2B;IAExCN,MAAM,EAAEF,KAAK,CAACE,MAF0B;IAGxCa,MAAM,EAAE;EAHgC,CAAD,CAA3C;EAMA;IACIX,KAAK,EAAE;MACH,CAAE,MAAKC,QAAS,EAAhB,GAAoB,IAAAW,sBAAA,EAAW;QAAEhB;MAAF,CAAX,CADjB;MAEH,CAAE,OAAM,IAAAiB,sCAAA,EAAmBZ,QAAnB,CAA6B,EAArC,GAAyC,IAAAa,wBAAA,EAAY;QAAElB;MAAF,CAAZ;IAFtC;EADX,GAKOa,cALP;AAOH,CA7BM"}
1
+ {"version":3,"names":["createReadResolvers","models","model","fieldTypePlugins","fields","length","Query","typeName","createTypeName","modelId","rTypeName","createReadTypeName","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","isRoot","resolveGet","pluralizedTypeName","resolveList"],"sources":["createReadResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/read/resolveGet\";\nimport { resolveList } from \"./resolvers/read/resolveList\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createReadResolvers: CreateReadResolvers = ({ models, model, fieldTypePlugins }) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: rTypeName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n [rTypeName]: {\n modelId: () => {\n return model.modelId;\n }\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAaO,MAAMA,mBAAwC,GAAG,CAAC;EAAEC,MAAF;EAAUC,KAAV;EAAiBC;AAAjB,CAAD,KAAyC;EAC7F,IAAID,KAAK,CAACE,MAAN,CAAaC,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO;MACHC,KAAK,EAAE;IADJ,CAAP;EAGH;;EACD,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAeN,KAAK,CAACO,OAArB,CAAjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kCAAA,EAAmBJ,QAAnB,CAAlB;EAEA,MAAMK,oBAAoB,GAAG,IAAAC,iDAAA,EAA4B;IACrDC,YAAY,EAAE,MADuC;IAErDb,MAFqD;IAGrDC,KAHqD;IAIrDC;EAJqD,CAA5B,CAA7B;EAOA,MAAMY,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAEN,SAD2B;IAExCN,MAAM,EAAEF,KAAK,CAACE,MAF0B;IAGxCa,MAAM,EAAE;EAHgC,CAAD,CAA3C;EAMA;IACIX,KAAK,EAAE;MACH,CAAE,MAAKC,QAAS,EAAhB,GAAoB,IAAAW,sBAAA,EAAW;QAAEhB;MAAF,CAAX,CADjB;MAEH,CAAE,OAAM,IAAAiB,sCAAA,EAAmBZ,QAAnB,CAA6B,EAArC,GAAyC,IAAAa,wBAAA,EAAY;QAAElB;MAAF,CAAZ;IAFtC,CADX;IAKI,CAACQ,SAAD,GAAa;MACTD,OAAO,EAAE,MAAM;QACX,OAAOP,KAAK,CAACO,OAAb;MACH;IAHQ;EALjB,GAUOM,cAVP;AAYH,CAlCM"}
@@ -1,7 +1,9 @@
1
1
  import { CmsModel, CmsFieldTypePlugins } from "../../types";
2
+ import { CmsGraphQLSchemaSorterPlugin } from "../../plugins";
2
3
  interface CreateReadSDLParams {
3
4
  model: CmsModel;
4
5
  fieldTypePlugins: CmsFieldTypePlugins;
6
+ sorterPlugins: CmsGraphQLSchemaSorterPlugin[];
5
7
  }
6
8
  interface CreateReadSDL {
7
9
  (params: CreateReadSDLParams): string;
@@ -19,7 +19,8 @@ var _pluralizedTypeName = require("../../utils/pluralizedTypeName");
19
19
 
20
20
  const createReadSDL = ({
21
21
  model,
22
- fieldTypePlugins
22
+ fieldTypePlugins,
23
+ sorterPlugins
23
24
  }) => {
24
25
  const typeName = (0, _createTypeName.createTypeName)(model.modelId);
25
26
  const rTypeName = (0, _createTypeName.createReadTypeName)(typeName);
@@ -31,7 +32,8 @@ const createReadSDL = ({
31
32
  });
32
33
  const sortEnumRender = (0, _renderSortEnum.renderSortEnum)({
33
34
  model,
34
- fieldTypePlugins
35
+ fieldTypePlugins,
36
+ sorterPlugins
35
37
  });
36
38
  const getFilterFieldsRender = (0, _renderGetFilterFields.renderGetFilterFields)({
37
39
  model,
@@ -47,13 +49,13 @@ const createReadSDL = ({
47
49
  return "";
48
50
  }
49
51
 
52
+ const hasModelIdField = model.fields.some(f => f.fieldId === "modelId");
50
53
  return `
51
54
  """${model.description || ""}"""
52
- ${fieldsRender.map(f => f.typeDefs).filter(Boolean).join("\n")}
53
-
54
55
  type ${rTypeName} {
55
56
  id: ID!
56
57
  entryId: String!
58
+ ${hasModelIdField ? "" : "modelId: String!"}
57
59
  createdOn: DateTime!
58
60
  savedOn: DateTime!
59
61
  createdBy: CmsCreatedBy!
@@ -61,13 +63,17 @@ const createReadSDL = ({
61
63
  ${fieldsRender.map(f => f.fields).join("\n")}
62
64
  }
63
65
 
66
+ ${fieldsRender.map(f => f.typeDefs).filter(Boolean).join("\n")}
67
+
64
68
  ${getFilterFieldsRender && `input ${rTypeName}GetWhereInput {
65
69
  ${getFilterFieldsRender}
66
70
  }`}
67
71
 
68
72
 
69
73
  ${listFilterFieldsRender && `input ${rTypeName}ListWhereInput {
70
- ${listFilterFieldsRender}
74
+ ${listFilterFieldsRender}
75
+ AND: [${rTypeName}ListWhereInput!]
76
+ OR: [${rTypeName}ListWhereInput!]
71
77
  }`}
72
78
 
73
79
 
@@ -1 +1 @@
1
- {"version":3,"names":["createReadSDL","model","fieldTypePlugins","typeName","createTypeName","modelId","rTypeName","createReadTypeName","type","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","fieldsRender","renderFields","length","description","map","f","typeDefs","filter","Boolean","join","fields","pluralizedTypeName"],"sources":["createReadSDL.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, ApiEndpoint } from \"~/types\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateReadSDLParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({ model, fieldTypePlugins }): string => {\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const type: ApiEndpoint = \"read\";\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type,\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fieldTypePlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n model,\n fieldTypePlugins\n });\n const fieldsRender = renderFields({\n model,\n type,\n fieldTypePlugins\n });\n\n if (fieldsRender.length === 0) {\n return \"\";\n }\n\n return `\n \"\"\"${model.description || \"\"}\"\"\"\n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n type ${rTypeName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsCreatedBy!\n ownedBy: CmsOwnedBy!\n ${fieldsRender.map(f => f.fields).join(\"\\n\")}\n }\n \n ${\n getFilterFieldsRender &&\n `input ${rTypeName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n \n \n ${\n listFilterFieldsRender &&\n `input ${rTypeName}ListWhereInput {\n ${listFilterFieldsRender}\n }`\n }\n \n \n ${\n sortEnumRender &&\n `enum ${rTypeName}ListSorter {\n ${sortEnumRender}\n }`\n }\n \n type ${rTypeName}Response {\n data: ${rTypeName}\n error: CmsError\n }\n \n type ${rTypeName}ListResponse {\n data: [${rTypeName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${typeName}(where: ${rTypeName}GetWhereInput!): ${rTypeName}Response\n\n list${pluralizedTypeName(typeName)}(\n where: ${rTypeName}ListWhereInput\n sort: [${rTypeName}ListSorter]\n limit: Int\n after: String\n ): ${rTypeName}ListResponse\n }\n `;\n};\n"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAUO,MAAMA,aAA4B,GAAG,CAAC;EAAEC,KAAF;EAASC;AAAT,CAAD,KAAyC;EACjF,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAeH,KAAK,CAACI,OAArB,CAAjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kCAAA,EAAmBJ,QAAnB,CAAlB;EAEA,MAAMK,IAAiB,GAAG,MAA1B;EAEA,MAAMC,sBAAsB,GAAG,IAAAC,8CAAA,EAAuB;IAClDT,KADkD;IAElDO,IAFkD;IAGlDN;EAHkD,CAAvB,CAA/B;EAMA,MAAMS,cAAc,GAAG,IAAAC,8BAAA,EAAe;IAClCX,KADkC;IAElCC;EAFkC,CAAf,CAAvB;EAIA,MAAMW,qBAAqB,GAAG,IAAAC,4CAAA,EAAsB;IAChDb,KADgD;IAEhDC;EAFgD,CAAtB,CAA9B;EAIA,MAAMa,YAAY,GAAG,IAAAC,0BAAA,EAAa;IAC9Bf,KAD8B;IAE9BO,IAF8B;IAG9BN;EAH8B,CAAb,CAArB;;EAMA,IAAIa,YAAY,CAACE,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO,EAAP;EACH;;EAED,OAAQ;AACZ,aAAahB,KAAK,CAACiB,WAAN,IAAqB,EAAG;AACrC,UAAUH,YAAY,CACTI,GADH,CACOC,CAAC,IAAIA,CAAC,CAACC,QADd,EAEGC,MAFH,CAEUC,OAFV,EAGGC,IAHH,CAGQ,IAHR,CAGc;AACxB;AACA,eAAelB,SAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,cAAcS,YAAY,CAACI,GAAb,CAAiBC,CAAC,IAAIA,CAAC,CAACK,MAAxB,EAAgCD,IAAhC,CAAqC,IAArC,CAA2C;AACzD;AACA;AACA,UACYX,qBAAqB,IACpB,SAAQP,SAAU;AAC/B,cAAcO,qBAAsB;AACpC,UACS;AACT;AACA;AACA,UACYJ,sBAAsB,IACrB,SAAQH,SAAU;AAC/B,cAAcG,sBAAuB;AACrC,UACS;AACT;AACA;AACA,UACYE,cAAc,IACb,QAAOL,SAAU;AAC9B,cAAcK,cAAe;AAC7B,UACS;AACT;AACA,eAAeL,SAAU;AACzB,oBAAoBA,SAAU;AAC9B;AACA;AACA;AACA,eAAeA,SAAU;AACzB,qBAAqBA,SAAU;AAC/B;AACA;AACA;AACA;AACA;AACA,iBAAiBH,QAAS,WAAUG,SAAU,oBAAmBA,SAAU;AAC3E;AACA,kBAAkB,IAAAoB,sCAAA,EAAmBvB,QAAnB,CAA6B;AAC/C,yBAAyBG,SAAU;AACnC,yBAAyBA,SAAU;AACnC;AACA;AACA,iBAAiBA,SAAU;AAC3B;AACA,KA7DI;AA8DH,CA5FM"}
1
+ {"version":3,"names":["createReadSDL","model","fieldTypePlugins","sorterPlugins","typeName","createTypeName","modelId","rTypeName","createReadTypeName","type","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","fieldsRender","renderFields","length","hasModelIdField","fields","some","f","fieldId","description","map","join","typeDefs","filter","Boolean","pluralizedTypeName"],"sources":["createReadSDL.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, ApiEndpoint } from \"~/types\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\n\ninterface CreateReadSDLParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const type: ApiEndpoint = \"read\";\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type,\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fieldTypePlugins,\n sorterPlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n model,\n fieldTypePlugins\n });\n const fieldsRender = renderFields({\n model,\n type,\n fieldTypePlugins\n });\n\n if (fieldsRender.length === 0) {\n return \"\";\n }\n\n const hasModelIdField = model.fields.some(f => f.fieldId === \"modelId\");\n\n return `\n \"\"\"${model.description || \"\"}\"\"\"\n type ${rTypeName} {\n id: ID!\n entryId: String!\n ${hasModelIdField ? \"\" : \"modelId: String!\"}\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsCreatedBy!\n ownedBy: CmsOwnedBy!\n ${fieldsRender.map(f => f.fields).join(\"\\n\")}\n }\n \n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n ${\n getFilterFieldsRender &&\n `input ${rTypeName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n \n \n ${\n listFilterFieldsRender &&\n `input ${rTypeName}ListWhereInput {\n ${listFilterFieldsRender}\n AND: [${rTypeName}ListWhereInput!]\n OR: [${rTypeName}ListWhereInput!]\n }`\n }\n \n \n ${\n sortEnumRender &&\n `enum ${rTypeName}ListSorter {\n ${sortEnumRender}\n }`\n }\n \n type ${rTypeName}Response {\n data: ${rTypeName}\n error: CmsError\n }\n \n type ${rTypeName}ListResponse {\n data: [${rTypeName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${typeName}(where: ${rTypeName}GetWhereInput!): ${rTypeName}Response\n\n list${pluralizedTypeName(typeName)}(\n where: ${rTypeName}ListWhereInput\n sort: [${rTypeName}ListSorter]\n limit: Int\n after: String\n ): ${rTypeName}ListResponse\n }\n `;\n};\n"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAYO,MAAMA,aAA4B,GAAG,CAAC;EACzCC,KADyC;EAEzCC,gBAFyC;EAGzCC;AAHyC,CAAD,KAI9B;EACV,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAeJ,KAAK,CAACK,OAArB,CAAjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kCAAA,EAAmBJ,QAAnB,CAAlB;EAEA,MAAMK,IAAiB,GAAG,MAA1B;EAEA,MAAMC,sBAAsB,GAAG,IAAAC,8CAAA,EAAuB;IAClDV,KADkD;IAElDQ,IAFkD;IAGlDP;EAHkD,CAAvB,CAA/B;EAMA,MAAMU,cAAc,GAAG,IAAAC,8BAAA,EAAe;IAClCZ,KADkC;IAElCC,gBAFkC;IAGlCC;EAHkC,CAAf,CAAvB;EAKA,MAAMW,qBAAqB,GAAG,IAAAC,4CAAA,EAAsB;IAChDd,KADgD;IAEhDC;EAFgD,CAAtB,CAA9B;EAIA,MAAMc,YAAY,GAAG,IAAAC,0BAAA,EAAa;IAC9BhB,KAD8B;IAE9BQ,IAF8B;IAG9BP;EAH8B,CAAb,CAArB;;EAMA,IAAIc,YAAY,CAACE,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO,EAAP;EACH;;EAED,MAAMC,eAAe,GAAGlB,KAAK,CAACmB,MAAN,CAAaC,IAAb,CAAkBC,CAAC,IAAIA,CAAC,CAACC,OAAF,KAAc,SAArC,CAAxB;EAEA,OAAQ;AACZ,aAAatB,KAAK,CAACuB,WAAN,IAAqB,EAAG;AACrC,eAAejB,SAAU;AACzB;AACA;AACA,cAAcY,eAAe,GAAG,EAAH,GAAQ,kBAAmB;AACxD;AACA;AACA;AACA;AACA,cAAcH,YAAY,CAACS,GAAb,CAAiBH,CAAC,IAAIA,CAAC,CAACF,MAAxB,EAAgCM,IAAhC,CAAqC,IAArC,CAA2C;AACzD;AACA;AACA,UAAUV,YAAY,CACTS,GADH,CACOH,CAAC,IAAIA,CAAC,CAACK,QADd,EAEGC,MAFH,CAEUC,OAFV,EAGGH,IAHH,CAGQ,IAHR,CAGc;AACxB;AACA,UACYZ,qBAAqB,IACpB,SAAQP,SAAU;AAC/B,cAAcO,qBAAsB;AACpC,UACS;AACT;AACA;AACA,UACYJ,sBAAsB,IACrB,SAAQH,SAAU;AAC/B,kBAAkBG,sBAAuB;AACzC,wBAAwBH,SAAU;AAClC,uBAAuBA,SAAU;AACjC,UACS;AACT;AACA;AACA,UACYK,cAAc,IACb,QAAOL,SAAU;AAC9B,cAAcK,cAAe;AAC7B,UACS;AACT;AACA,eAAeL,SAAU;AACzB,oBAAoBA,SAAU;AAC9B;AACA;AACA;AACA,eAAeA,SAAU;AACzB,qBAAqBA,SAAU;AAC/B;AACA;AACA;AACA;AACA;AACA,iBAAiBH,QAAS,WAAUG,SAAU,oBAAmBA,SAAU;AAC3E;AACA,kBAAkB,IAAAuB,sCAAA,EAAmB1B,QAAnB,CAA6B;AAC/C,yBAAyBG,SAAU;AACnC,yBAAyBA,SAAU;AACnC;AACA;AACA,iBAAiBA,SAAU;AAC3B;AACA,KAhEI;AAiEH,CAtGM"}
@@ -1,3 +1,3 @@
1
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
2
1
  import { CmsContext } from "../../types";
3
- export declare const generateSchemaPlugins: (context: CmsContext) => Promise<GraphQLSchemaPlugin<CmsContext>[]>;
2
+ import { CmsGraphQLSchemaPlugin } from "../../plugins";
3
+ export declare const generateSchemaPlugins: (context: CmsContext) => Promise<CmsGraphQLSchemaPlugin[]>;
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.generateSchemaPlugins = void 0;
7
7
 
8
- var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
9
-
10
8
  var _createManageSDL = require("./createManageSDL");
11
9
 
12
10
  var _createReadSDL = require("./createReadSDL");
@@ -21,6 +19,8 @@ var _getSchemaFromFieldPlugins = require("../../utils/getSchemaFromFieldPlugins"
21
19
 
22
20
  var _filterModelFields = require("../../utils/filterModelFields");
23
21
 
22
+ var _plugins = require("../../plugins");
23
+
24
24
  const generateSchemaPlugins = async context => {
25
25
  const {
26
26
  plugins,
@@ -43,7 +43,8 @@ const generateSchemaPlugins = async context => {
43
43
  const fieldTypePlugins = plugins.byType("cms-model-field-to-graphql").reduce((acc, pl) => {
44
44
  acc[pl.fieldType] = pl;
45
45
  return acc;
46
- }, {}); // Load model data
46
+ }, {});
47
+ const sorterPlugins = plugins.byType(_plugins.CmsGraphQLSchemaSorterPlugin.type); // Load model data
47
48
 
48
49
  context.security.disableAuthorization();
49
50
  const initialModels = (await cms.listModels()).filter(model => model.isPrivate !== true);
@@ -60,16 +61,17 @@ const generateSchemaPlugins = async context => {
60
61
  const newPlugins = [];
61
62
 
62
63
  for (const schema of schemas) {
63
- newPlugins.push(new _GraphQLSchemaPlugin.GraphQLSchemaPlugin(schema));
64
+ newPlugins.push(new _plugins.CmsGraphQLSchemaPlugin(schema));
64
65
  }
65
66
 
66
67
  models.filter(model => model.fields.length > 0).forEach(model => {
67
68
  switch (type) {
68
69
  case "manage":
69
- newPlugins.push(new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
70
+ newPlugins.push(new _plugins.CmsGraphQLSchemaPlugin({
70
71
  typeDefs: (0, _createManageSDL.createManageSDL)({
71
72
  model,
72
- fieldTypePlugins
73
+ fieldTypePlugins,
74
+ sorterPlugins
73
75
  }),
74
76
  resolvers: (0, _createManageResolvers.createManageResolvers)({
75
77
  models,
@@ -82,10 +84,11 @@ const generateSchemaPlugins = async context => {
82
84
 
83
85
  case "preview":
84
86
  case "read":
85
- newPlugins.push(new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
87
+ newPlugins.push(new _plugins.CmsGraphQLSchemaPlugin({
86
88
  typeDefs: (0, _createReadSDL.createReadSDL)({
87
89
  model,
88
- fieldTypePlugins
90
+ fieldTypePlugins,
91
+ sorterPlugins
89
92
  }),
90
93
  resolvers: cms.READ ? (0, _createReadResolvers.createReadResolvers)({
91
94
  models,
@@ -1 +1 @@
1
- {"version":3,"names":["generateSchemaPlugins","context","plugins","cms","type","fieldTypePlugins","byType","reduce","acc","pl","fieldType","security","disableAuthorization","initialModels","listModels","filter","model","isPrivate","enableAuthorization","models","filterModelsDeletedFields","schemas","getSchemaFromFieldPlugins","newPlugins","schema","push","GraphQLSchemaPlugin","fields","length","forEach","typeDefs","createManageSDL","resolvers","createManageResolvers","createReadSDL","READ","createReadResolvers","createPreviewResolvers"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { CmsModelFieldToGraphQLPlugin, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { createManageSDL } from \"./createManageSDL\";\nimport { createReadSDL } from \"./createReadSDL\";\nimport { createManageResolvers } from \"./createManageResolvers\";\nimport { createReadResolvers } from \"./createReadResolvers\";\nimport { createPreviewResolvers } from \"./createPreviewResolvers\";\nimport { getSchemaFromFieldPlugins } from \"~/utils/getSchemaFromFieldPlugins\";\nimport { filterModelsDeletedFields } from \"~/utils/filterModelFields\";\n\nexport const generateSchemaPlugins = async (\n context: CmsContext\n): Promise<GraphQLSchemaPlugin<CmsContext>[]> => {\n const { plugins, cms } = context;\n\n /**\n * If type does not exist, we are not generating schema plugins for models.\n * It should not come to this point, but we check it anyways.\n */\n const { type } = cms;\n if (!type) {\n return [];\n }\n\n // Structure plugins for faster access\n const fieldTypePlugins: CmsFieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {} as Record<string, CmsModelFieldToGraphQLPlugin>);\n\n // Load model data\n context.security.disableAuthorization();\n const initialModels = (await cms.listModels()).filter(model => model.isPrivate !== true);\n context.security.enableAuthorization();\n\n const models = filterModelsDeletedFields({\n models: initialModels,\n type\n });\n\n const schemas = getSchemaFromFieldPlugins({\n models,\n fieldTypePlugins,\n type\n });\n\n const newPlugins: GraphQLSchemaPlugin<CmsContext>[] = [];\n for (const schema of schemas) {\n newPlugins.push(new GraphQLSchemaPlugin(schema));\n }\n\n models\n .filter(model => model.fields.length > 0)\n .forEach(model => {\n switch (type) {\n case \"manage\":\n newPlugins.push(\n new GraphQLSchemaPlugin({\n typeDefs: createManageSDL({ model, fieldTypePlugins }),\n resolvers: createManageResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n })\n );\n\n break;\n case \"preview\":\n case \"read\":\n newPlugins.push(\n new GraphQLSchemaPlugin({\n typeDefs: createReadSDL({ model, fieldTypePlugins }),\n resolvers: cms.READ\n ? createReadResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n : createPreviewResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n })\n );\n break;\n default:\n return;\n }\n });\n\n return newPlugins.filter(pl => !!pl.schema.typeDefs);\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEO,MAAMA,qBAAqB,GAAG,MACjCC,OADiC,IAEY;EAC7C,MAAM;IAAEC,OAAF;IAAWC;EAAX,IAAmBF,OAAzB;EAEA;AACJ;AACA;AACA;;EACI,MAAM;IAAEG;EAAF,IAAWD,GAAjB;;EACA,IAAI,CAACC,IAAL,EAAW;IACP,OAAO,EAAP;EACH,CAV4C,CAY7C;;;EACA,MAAMC,gBAAqC,GAAGH,OAAO,CAChDI,MADyC,CACJ,4BADI,EAEzCC,MAFyC,CAElC,CAACC,GAAD,EAAMC,EAAN,KAAa;IACjBD,GAAG,CAACC,EAAE,CAACC,SAAJ,CAAH,GAAoBD,EAApB;IACA,OAAOD,GAAP;EACH,CALyC,EAKvC,EALuC,CAA9C,CAb6C,CAoB7C;;EACAP,OAAO,CAACU,QAAR,CAAiBC,oBAAjB;EACA,MAAMC,aAAa,GAAG,CAAC,MAAMV,GAAG,CAACW,UAAJ,EAAP,EAAyBC,MAAzB,CAAgCC,KAAK,IAAIA,KAAK,CAACC,SAAN,KAAoB,IAA7D,CAAtB;EACAhB,OAAO,CAACU,QAAR,CAAiBO,mBAAjB;EAEA,MAAMC,MAAM,GAAG,IAAAC,4CAAA,EAA0B;IACrCD,MAAM,EAAEN,aAD6B;IAErCT;EAFqC,CAA1B,CAAf;EAKA,MAAMiB,OAAO,GAAG,IAAAC,oDAAA,EAA0B;IACtCH,MADsC;IAEtCd,gBAFsC;IAGtCD;EAHsC,CAA1B,CAAhB;EAMA,MAAMmB,UAA6C,GAAG,EAAtD;;EACA,KAAK,MAAMC,MAAX,IAAqBH,OAArB,EAA8B;IAC1BE,UAAU,CAACE,IAAX,CAAgB,IAAIC,wCAAJ,CAAwBF,MAAxB,CAAhB;EACH;;EAEDL,MAAM,CACDJ,MADL,CACYC,KAAK,IAAIA,KAAK,CAACW,MAAN,CAAaC,MAAb,GAAsB,CAD3C,EAEKC,OAFL,CAEab,KAAK,IAAI;IACd,QAAQZ,IAAR;MACI,KAAK,QAAL;QACImB,UAAU,CAACE,IAAX,CACI,IAAIC,wCAAJ,CAAwB;UACpBI,QAAQ,EAAE,IAAAC,gCAAA,EAAgB;YAAEf,KAAF;YAASX;UAAT,CAAhB,CADU;UAEpB2B,SAAS,EAAE,IAAAC,4CAAA,EAAsB;YAC7Bd,MAD6B;YAE7BH,KAF6B;YAG7BX,gBAH6B;YAI7BJ;UAJ6B,CAAtB;QAFS,CAAxB,CADJ;QAYA;;MACJ,KAAK,SAAL;MACA,KAAK,MAAL;QACIsB,UAAU,CAACE,IAAX,CACI,IAAIC,wCAAJ,CAAwB;UACpBI,QAAQ,EAAE,IAAAI,4BAAA,EAAc;YAAElB,KAAF;YAASX;UAAT,CAAd,CADU;UAEpB2B,SAAS,EAAE7B,GAAG,CAACgC,IAAJ,GACL,IAAAC,wCAAA,EAAoB;YAChBjB,MADgB;YAEhBH,KAFgB;YAGhBX,gBAHgB;YAIhBJ;UAJgB,CAApB,CADK,GAOL,IAAAoC,8CAAA,EAAuB;YACnBlB,MADmB;YAEnBH,KAFmB;YAGnBX,gBAHmB;YAInBJ;UAJmB,CAAvB;QATc,CAAxB,CADJ;QAkBA;;MACJ;QACI;IArCR;EAuCH,CA1CL;EA4CA,OAAOsB,UAAU,CAACR,MAAX,CAAkBN,EAAE,IAAI,CAAC,CAACA,EAAE,CAACe,MAAH,CAAUM,QAApC,CAAP;AACH,CAxFM"}
1
+ {"version":3,"names":["generateSchemaPlugins","context","plugins","cms","type","fieldTypePlugins","byType","reduce","acc","pl","fieldType","sorterPlugins","CmsGraphQLSchemaSorterPlugin","security","disableAuthorization","initialModels","listModels","filter","model","isPrivate","enableAuthorization","models","filterModelsDeletedFields","schemas","getSchemaFromFieldPlugins","newPlugins","schema","push","CmsGraphQLSchemaPlugin","fields","length","forEach","typeDefs","createManageSDL","resolvers","createManageResolvers","createReadSDL","READ","createReadResolvers","createPreviewResolvers"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { createManageSDL } from \"./createManageSDL\";\nimport { createReadSDL } from \"./createReadSDL\";\nimport { createManageResolvers } from \"./createManageResolvers\";\nimport { createReadResolvers } from \"./createReadResolvers\";\nimport { createPreviewResolvers } from \"./createPreviewResolvers\";\nimport { getSchemaFromFieldPlugins } from \"~/utils/getSchemaFromFieldPlugins\";\nimport { filterModelsDeletedFields } from \"~/utils/filterModelFields\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\nexport const generateSchemaPlugins = async (\n context: CmsContext\n): Promise<CmsGraphQLSchemaPlugin[]> => {\n const { plugins, cms } = context;\n\n /**\n * If type does not exist, we are not generating schema plugins for models.\n * It should not come to this point, but we check it anyways.\n */\n const { type } = cms;\n if (!type) {\n return [];\n }\n\n // Structure plugins for faster access\n const fieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n\n const sorterPlugins = plugins.byType<CmsGraphQLSchemaSorterPlugin>(\n CmsGraphQLSchemaSorterPlugin.type\n );\n\n // Load model data\n context.security.disableAuthorization();\n const initialModels = (await cms.listModels()).filter(model => model.isPrivate !== true);\n context.security.enableAuthorization();\n\n const models = filterModelsDeletedFields({\n models: initialModels,\n type\n });\n\n const schemas = getSchemaFromFieldPlugins({\n models,\n fieldTypePlugins,\n type\n });\n\n const newPlugins: CmsGraphQLSchemaPlugin[] = [];\n for (const schema of schemas) {\n newPlugins.push(new CmsGraphQLSchemaPlugin(schema));\n }\n\n models\n .filter(model => model.fields.length > 0)\n .forEach(model => {\n switch (type) {\n case \"manage\":\n newPlugins.push(\n new CmsGraphQLSchemaPlugin({\n typeDefs: createManageSDL({ model, fieldTypePlugins, sorterPlugins }),\n resolvers: createManageResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n })\n );\n\n break;\n case \"preview\":\n case \"read\":\n newPlugins.push(\n new CmsGraphQLSchemaPlugin({\n typeDefs: createReadSDL({ model, fieldTypePlugins, sorterPlugins }),\n resolvers: cms.READ\n ? createReadResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n : createPreviewResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n })\n );\n break;\n default:\n return;\n }\n });\n\n return newPlugins.filter(pl => !!pl.schema.typeDefs);\n};\n"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGO,MAAMA,qBAAqB,GAAG,MACjCC,OADiC,IAEG;EACpC,MAAM;IAAEC,OAAF;IAAWC;EAAX,IAAmBF,OAAzB;EAEA;AACJ;AACA;AACA;;EACI,MAAM;IAAEG;EAAF,IAAWD,GAAjB;;EACA,IAAI,CAACC,IAAL,EAAW;IACP,OAAO,EAAP;EACH,CAVmC,CAYpC;;;EACA,MAAMC,gBAAgB,GAAGH,OAAO,CAC3BI,MADoB,CACiB,4BADjB,EAEpBC,MAFoB,CAEQ,CAACC,GAAD,EAAMC,EAAN,KAAa;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAJ,CAAH,GAAoBD,EAApB;IACA,OAAOD,GAAP;EACH,CALoB,EAKlB,EALkB,CAAzB;EAOA,MAAMG,aAAa,GAAGT,OAAO,CAACI,MAAR,CAClBM,qCAAA,CAA6BR,IADX,CAAtB,CApBoC,CAwBpC;;EACAH,OAAO,CAACY,QAAR,CAAiBC,oBAAjB;EACA,MAAMC,aAAa,GAAG,CAAC,MAAMZ,GAAG,CAACa,UAAJ,EAAP,EAAyBC,MAAzB,CAAgCC,KAAK,IAAIA,KAAK,CAACC,SAAN,KAAoB,IAA7D,CAAtB;EACAlB,OAAO,CAACY,QAAR,CAAiBO,mBAAjB;EAEA,MAAMC,MAAM,GAAG,IAAAC,4CAAA,EAA0B;IACrCD,MAAM,EAAEN,aAD6B;IAErCX;EAFqC,CAA1B,CAAf;EAKA,MAAMmB,OAAO,GAAG,IAAAC,oDAAA,EAA0B;IACtCH,MADsC;IAEtChB,gBAFsC;IAGtCD;EAHsC,CAA1B,CAAhB;EAMA,MAAMqB,UAAoC,GAAG,EAA7C;;EACA,KAAK,MAAMC,MAAX,IAAqBH,OAArB,EAA8B;IAC1BE,UAAU,CAACE,IAAX,CAAgB,IAAIC,+BAAJ,CAA2BF,MAA3B,CAAhB;EACH;;EAEDL,MAAM,CACDJ,MADL,CACYC,KAAK,IAAIA,KAAK,CAACW,MAAN,CAAaC,MAAb,GAAsB,CAD3C,EAEKC,OAFL,CAEab,KAAK,IAAI;IACd,QAAQd,IAAR;MACI,KAAK,QAAL;QACIqB,UAAU,CAACE,IAAX,CACI,IAAIC,+BAAJ,CAA2B;UACvBI,QAAQ,EAAE,IAAAC,gCAAA,EAAgB;YAAEf,KAAF;YAASb,gBAAT;YAA2BM;UAA3B,CAAhB,CADa;UAEvBuB,SAAS,EAAE,IAAAC,4CAAA,EAAsB;YAC7Bd,MAD6B;YAE7BH,KAF6B;YAG7Bb,gBAH6B;YAI7BJ;UAJ6B,CAAtB;QAFY,CAA3B,CADJ;QAYA;;MACJ,KAAK,SAAL;MACA,KAAK,MAAL;QACIwB,UAAU,CAACE,IAAX,CACI,IAAIC,+BAAJ,CAA2B;UACvBI,QAAQ,EAAE,IAAAI,4BAAA,EAAc;YAAElB,KAAF;YAASb,gBAAT;YAA2BM;UAA3B,CAAd,CADa;UAEvBuB,SAAS,EAAE/B,GAAG,CAACkC,IAAJ,GACL,IAAAC,wCAAA,EAAoB;YAChBjB,MADgB;YAEhBH,KAFgB;YAGhBb,gBAHgB;YAIhBJ;UAJgB,CAApB,CADK,GAOL,IAAAsC,8CAAA,EAAuB;YACnBlB,MADmB;YAEnBH,KAFmB;YAGnBb,gBAHmB;YAInBJ;UAJmB,CAAvB;QATiB,CAA3B,CADJ;QAkBA;;MACJ;QACI;IArCR;EAuCH,CA1CL;EA4CA,OAAOwB,UAAU,CAACR,MAAX,CAAkBR,EAAE,IAAI,CAAC,CAACA,EAAE,CAACiB,MAAH,CAAUM,QAApC,CAAP;AACH,CA5FM"}
package/graphql/system.js CHANGED
@@ -11,95 +11,92 @@ var _api = require("@webiny/api");
11
11
 
12
12
  const emptyResolver = () => ({});
13
13
 
14
- const plugin = {
15
- name: "cms.graphql.schema.system",
16
- type: "graphql-schema",
17
- schema: {
18
- typeDefs:
19
- /* GraphQL */
20
- `
21
- extend type Query {
22
- cms: CmsQuery
23
- }
24
-
25
- extend type Mutation {
26
- cms: CmsMutation
27
- }
28
-
29
- type CmsQuery {
30
- _empty: String
31
- }
32
-
33
- type CmsMutation {
34
- _empty: String
35
- }
36
- extend type CmsQuery {
37
- # Get installed version
38
- version: String
39
- }
40
-
41
- extend type CmsMutation {
42
- # Install CMS
43
- install: CmsBooleanResponse
44
-
45
- # Upgrade CMS
46
- upgrade(version: String!): CmsBooleanResponse
47
- }
48
- `,
49
- resolvers: {
50
- Query: {
51
- cms: emptyResolver
52
- },
53
- Mutation: {
54
- cms: emptyResolver
55
- },
56
- CmsQuery: {
57
- version: async (_, __, context) => {
58
- try {
59
- return context.cms.getSystemVersion();
60
- } catch (e) {
61
- return new _handlerGraphql.ErrorResponse(e);
14
+ const plugin = new _handlerGraphql.GraphQLSchemaPlugin({
15
+ typeDefs:
16
+ /* GraphQL */
17
+ `
18
+ extend type Query {
19
+ cms: CmsQuery
20
+ }
21
+
22
+ extend type Mutation {
23
+ cms: CmsMutation
24
+ }
25
+
26
+ type CmsQuery {
27
+ _empty: String
28
+ }
29
+
30
+ type CmsMutation {
31
+ _empty: String
32
+ }
33
+ extend type CmsQuery {
34
+ # Get installed version
35
+ version: String
36
+ }
37
+
38
+ extend type CmsMutation {
39
+ # Install CMS
40
+ install: CmsBooleanResponse
41
+
42
+ # Upgrade CMS
43
+ upgrade(version: String!): CmsBooleanResponse
44
+ }
45
+ `,
46
+ resolvers: {
47
+ Query: {
48
+ cms: emptyResolver
49
+ },
50
+ Mutation: {
51
+ cms: emptyResolver
52
+ },
53
+ CmsQuery: {
54
+ version: async (_, __, context) => {
55
+ try {
56
+ return context.cms.getSystemVersion();
57
+ } catch (e) {
58
+ return new _handlerGraphql.ErrorResponse(e);
59
+ }
60
+ }
61
+ },
62
+ CmsMutation: {
63
+ install: async (_, __, {
64
+ cms
65
+ }) => {
66
+ try {
67
+ const version = await cms.getSystemVersion();
68
+
69
+ if (version) {
70
+ return new _handlerGraphql.ErrorResponse({
71
+ code: "CMS_INSTALLATION_ERROR",
72
+ message: "CMS is already installed."
73
+ });
62
74
  }
75
+
76
+ await cms.installSystem();
77
+ return new _handlerGraphql.Response(true);
78
+ } catch (e) {
79
+ return new _handlerGraphql.ErrorResponse(e);
63
80
  }
64
81
  },
65
- CmsMutation: {
66
- install: async (_, __, {
67
- cms
68
- }) => {
69
- try {
70
- const version = await cms.getSystemVersion();
71
-
72
- if (version) {
73
- return new _handlerGraphql.ErrorResponse({
74
- code: "CMS_INSTALLATION_ERROR",
75
- message: "CMS is already installed."
76
- });
77
- }
78
-
79
- await cms.installSystem();
80
- return new _handlerGraphql.Response(true);
81
- } catch (e) {
82
- return new _handlerGraphql.ErrorResponse(e);
83
- }
84
- },
85
- upgrade: async (_, args, {
86
- cms
87
- }) => {
88
- const {
89
- version
90
- } = args;
91
-
92
- try {
93
- await cms.upgradeSystem(version);
94
- return new _handlerGraphql.Response(true);
95
- } catch (e) {
96
- return new _handlerGraphql.ErrorResponse(e);
97
- }
82
+ upgrade: async (_, args, {
83
+ cms
84
+ }) => {
85
+ const {
86
+ version
87
+ } = args;
88
+
89
+ try {
90
+ await cms.upgradeSystem(version);
91
+ return new _handlerGraphql.Response(true);
92
+ } catch (e) {
93
+ return new _handlerGraphql.ErrorResponse(e);
98
94
  }
99
95
  }
100
96
  }
101
97
  }
102
- };
98
+ });
99
+ plugin.name = "cms.graphql.schema.system";
103
100
  /**
104
101
  * We only register system schema plugin if the endpoint is not manage/preview/read.
105
102
  */
@@ -1 +1 @@
1
- {"version":3,"names":["emptyResolver","plugin","name","type","schema","typeDefs","resolvers","Query","cms","Mutation","CmsQuery","version","_","__","context","getSystemVersion","e","ErrorResponse","CmsMutation","install","code","message","installSystem","Response","upgrade","args","upgradeSystem","createSystemSchemaPlugin","ContextPlugin","plugins","register"],"sources":["system.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { ContextPlugin } from \"@webiny/api\";\n\nconst emptyResolver = () => ({});\n\nconst plugin: GraphQLSchemaPlugin<CmsContext> = {\n name: \"cms.graphql.schema.system\",\n type: \"graphql-schema\",\n schema: {\n typeDefs: /* GraphQL */ `\n extend type Query {\n cms: CmsQuery\n }\n\n extend type Mutation {\n cms: CmsMutation\n }\n\n type CmsQuery {\n _empty: String\n }\n\n type CmsMutation {\n _empty: String\n }\n extend type CmsQuery {\n # Get installed version\n version: String\n }\n\n extend type CmsMutation {\n # Install CMS\n install: CmsBooleanResponse\n\n # Upgrade CMS\n upgrade(version: String!): CmsBooleanResponse\n }\n `,\n resolvers: {\n Query: {\n cms: emptyResolver\n },\n Mutation: {\n cms: emptyResolver\n },\n CmsQuery: {\n version: async (_: any, __: any, context: CmsContext) => {\n try {\n return context.cms.getSystemVersion();\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsMutation: {\n install: async (_: any, __: any, { cms }: CmsContext) => {\n try {\n const version = await cms.getSystemVersion();\n if (version) {\n return new ErrorResponse({\n code: \"CMS_INSTALLATION_ERROR\",\n message: \"CMS is already installed.\"\n });\n }\n\n await cms.installSystem();\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n upgrade: async (_: any, args: any, { cms }: CmsContext) => {\n const { version } = args;\n try {\n await cms.upgradeSystem(version);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n }\n }\n};\n/**\n * We only register system schema plugin if the endpoint is not manage/preview/read.\n */\nexport const createSystemSchemaPlugin = (): ContextPlugin<CmsContext> => {\n return new ContextPlugin<CmsContext>(async context => {\n if (context.cms?.type) {\n return;\n }\n context.plugins.register(plugin);\n });\n};\n"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA,MAAMA,aAAa,GAAG,OAAO,EAAP,CAAtB;;AAEA,MAAMC,MAAuC,GAAG;EAC5CC,IAAI,EAAE,2BADsC;EAE5CC,IAAI,EAAE,gBAFsC;EAG5CC,MAAM,EAAE;IACJC,QAAQ;IAAE;IAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SA7BY;IA8BJC,SAAS,EAAE;MACPC,KAAK,EAAE;QACHC,GAAG,EAAER;MADF,CADA;MAIPS,QAAQ,EAAE;QACND,GAAG,EAAER;MADC,CAJH;MAOPU,QAAQ,EAAE;QACNC,OAAO,EAAE,OAAOC,CAAP,EAAeC,EAAf,EAAwBC,OAAxB,KAAgD;UACrD,IAAI;YACA,OAAOA,OAAO,CAACN,GAAR,CAAYO,gBAAZ,EAAP;UACH,CAFD,CAEE,OAAOC,CAAP,EAAU;YACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;UACH;QACJ;MAPK,CAPH;MAgBPE,WAAW,EAAE;QACTC,OAAO,EAAE,OAAOP,CAAP,EAAeC,EAAf,EAAwB;UAAEL;QAAF,CAAxB,KAAgD;UACrD,IAAI;YACA,MAAMG,OAAO,GAAG,MAAMH,GAAG,CAACO,gBAAJ,EAAtB;;YACA,IAAIJ,OAAJ,EAAa;cACT,OAAO,IAAIM,6BAAJ,CAAkB;gBACrBG,IAAI,EAAE,wBADe;gBAErBC,OAAO,EAAE;cAFY,CAAlB,CAAP;YAIH;;YAED,MAAMb,GAAG,CAACc,aAAJ,EAAN;YACA,OAAO,IAAIC,wBAAJ,CAAa,IAAb,CAAP;UACH,CAXD,CAWE,OAAOP,CAAP,EAAU;YACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;UACH;QACJ,CAhBQ;QAiBTQ,OAAO,EAAE,OAAOZ,CAAP,EAAea,IAAf,EAA0B;UAAEjB;QAAF,CAA1B,KAAkD;UACvD,MAAM;YAAEG;UAAF,IAAcc,IAApB;;UACA,IAAI;YACA,MAAMjB,GAAG,CAACkB,aAAJ,CAAkBf,OAAlB,CAAN;YACA,OAAO,IAAIY,wBAAJ,CAAa,IAAb,CAAP;UACH,CAHD,CAGE,OAAOP,CAAP,EAAU;YACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;UACH;QACJ;MAzBQ;IAhBN;EA9BP;AAHoC,CAAhD;AA+EA;AACA;AACA;;AACO,MAAMW,wBAAwB,GAAG,MAAiC;EACrE,OAAO,IAAIC,kBAAJ,CAA8B,MAAMd,OAAN,IAAiB;IAAA;;IAClD,oBAAIA,OAAO,CAACN,GAAZ,yCAAI,aAAaL,IAAjB,EAAuB;MACnB;IACH;;IACDW,OAAO,CAACe,OAAR,CAAgBC,QAAhB,CAAyB7B,MAAzB;EACH,CALM,CAAP;AAMH,CAPM"}
1
+ {"version":3,"names":["emptyResolver","plugin","GraphQLSchemaPlugin","typeDefs","resolvers","Query","cms","Mutation","CmsQuery","version","_","__","context","getSystemVersion","e","ErrorResponse","CmsMutation","install","code","message","installSystem","Response","upgrade","args","upgradeSystem","name","createSystemSchemaPlugin","ContextPlugin","type","plugins","register"],"sources":["system.ts"],"sourcesContent":["import { ErrorResponse, GraphQLSchemaPlugin, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\nimport { ContextPlugin } from \"@webiny/api\";\n\nconst emptyResolver = () => ({});\n\nconst plugin = new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n extend type Query {\n cms: CmsQuery\n }\n\n extend type Mutation {\n cms: CmsMutation\n }\n\n type CmsQuery {\n _empty: String\n }\n\n type CmsMutation {\n _empty: String\n }\n extend type CmsQuery {\n # Get installed version\n version: String\n }\n\n extend type CmsMutation {\n # Install CMS\n install: CmsBooleanResponse\n\n # Upgrade CMS\n upgrade(version: String!): CmsBooleanResponse\n }\n `,\n resolvers: {\n Query: {\n cms: emptyResolver\n },\n Mutation: {\n cms: emptyResolver\n },\n CmsQuery: {\n version: async (_: any, __: any, context: CmsContext) => {\n try {\n return context.cms.getSystemVersion();\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsMutation: {\n install: async (_: any, __: any, { cms }: CmsContext) => {\n try {\n const version = await cms.getSystemVersion();\n if (version) {\n return new ErrorResponse({\n code: \"CMS_INSTALLATION_ERROR\",\n message: \"CMS is already installed.\"\n });\n }\n\n await cms.installSystem();\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n upgrade: async (_: any, args: any, { cms }: CmsContext) => {\n const { version } = args;\n try {\n await cms.upgradeSystem(version);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n }\n});\nplugin.name = \"cms.graphql.schema.system\";\n/**\n * We only register system schema plugin if the endpoint is not manage/preview/read.\n */\nexport const createSystemSchemaPlugin = (): ContextPlugin<CmsContext> => {\n return new ContextPlugin<CmsContext>(async context => {\n if (context.cms?.type) {\n return;\n }\n context.plugins.register(plugin);\n });\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA,MAAMA,aAAa,GAAG,OAAO,EAAP,CAAtB;;AAEA,MAAMC,MAAM,GAAG,IAAIC,mCAAJ,CAAwB;EACnCC,QAAQ;EAAE;EAAe;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KA7BuC;EA8BnCC,SAAS,EAAE;IACPC,KAAK,EAAE;MACHC,GAAG,EAAEN;IADF,CADA;IAIPO,QAAQ,EAAE;MACND,GAAG,EAAEN;IADC,CAJH;IAOPQ,QAAQ,EAAE;MACNC,OAAO,EAAE,OAAOC,CAAP,EAAeC,EAAf,EAAwBC,OAAxB,KAAgD;QACrD,IAAI;UACA,OAAOA,OAAO,CAACN,GAAR,CAAYO,gBAAZ,EAAP;QACH,CAFD,CAEE,OAAOC,CAAP,EAAU;UACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;QACH;MACJ;IAPK,CAPH;IAgBPE,WAAW,EAAE;MACTC,OAAO,EAAE,OAAOP,CAAP,EAAeC,EAAf,EAAwB;QAAEL;MAAF,CAAxB,KAAgD;QACrD,IAAI;UACA,MAAMG,OAAO,GAAG,MAAMH,GAAG,CAACO,gBAAJ,EAAtB;;UACA,IAAIJ,OAAJ,EAAa;YACT,OAAO,IAAIM,6BAAJ,CAAkB;cACrBG,IAAI,EAAE,wBADe;cAErBC,OAAO,EAAE;YAFY,CAAlB,CAAP;UAIH;;UAED,MAAMb,GAAG,CAACc,aAAJ,EAAN;UACA,OAAO,IAAIC,wBAAJ,CAAa,IAAb,CAAP;QACH,CAXD,CAWE,OAAOP,CAAP,EAAU;UACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;QACH;MACJ,CAhBQ;MAiBTQ,OAAO,EAAE,OAAOZ,CAAP,EAAea,IAAf,EAA0B;QAAEjB;MAAF,CAA1B,KAAkD;QACvD,MAAM;UAAEG;QAAF,IAAcc,IAApB;;QACA,IAAI;UACA,MAAMjB,GAAG,CAACkB,aAAJ,CAAkBf,OAAlB,CAAN;UACA,OAAO,IAAIY,wBAAJ,CAAa,IAAb,CAAP;QACH,CAHD,CAGE,OAAOP,CAAP,EAAU;UACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;QACH;MACJ;IAzBQ;EAhBN;AA9BwB,CAAxB,CAAf;AA2EAb,MAAM,CAACwB,IAAP,GAAc,2BAAd;AACA;AACA;AACA;;AACO,MAAMC,wBAAwB,GAAG,MAAiC;EACrE,OAAO,IAAIC,kBAAJ,CAA8B,MAAMf,OAAN,IAAiB;IAAA;;IAClD,oBAAIA,OAAO,CAACN,GAAZ,yCAAI,aAAasB,IAAjB,EAAuB;MACnB;IACH;;IACDhB,OAAO,CAACiB,OAAR,CAAgBC,QAAhB,CAAyB7B,MAAzB;EACH,CALM,CAAP;AAMH,CAPM"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldToGraphQLPlugin, CmsModelDynamicZoneField } from "../../types";
2
+ export declare const createDynamicZoneField: () => CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField>;