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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/context.js +47 -43
  2. package/context.js.map +1 -1
  3. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  4. package/crud/contentEntry/markLockedFields.js +3 -0
  5. package/crud/contentEntry/markLockedFields.js.map +1 -1
  6. package/crud/contentEntry/referenceFieldsMapping.js +34 -5
  7. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  8. package/crud/contentEntry.crud.d.ts +8 -5
  9. package/crud/contentEntry.crud.js +1023 -840
  10. package/crud/contentEntry.crud.js.map +1 -1
  11. package/crud/contentModel/beforeCreate.js +39 -76
  12. package/crud/contentModel/beforeCreate.js.map +1 -1
  13. package/crud/contentModel/beforeDelete.d.ts +1 -1
  14. package/crud/contentModel/beforeDelete.js +1 -5
  15. package/crud/contentModel/beforeDelete.js.map +1 -1
  16. package/crud/contentModel/beforeUpdate.js +31 -3
  17. package/crud/contentModel/beforeUpdate.js.map +1 -1
  18. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  19. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  20. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  21. package/crud/contentModel/defaultFields.d.ts +5 -0
  22. package/crud/contentModel/defaultFields.js +58 -0
  23. package/crud/contentModel/defaultFields.js.map +1 -0
  24. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  25. package/crud/contentModel/fields/descriptionField.js +42 -0
  26. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  27. package/crud/contentModel/fields/imageField.d.ts +2 -0
  28. package/crud/contentModel/fields/imageField.js +46 -0
  29. package/crud/contentModel/fields/imageField.js.map +1 -0
  30. package/crud/contentModel/fields/titleField.d.ts +2 -0
  31. package/crud/contentModel/fields/titleField.js +58 -0
  32. package/crud/contentModel/fields/titleField.js.map +1 -0
  33. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  34. package/crud/contentModel/validate/endingAllowed.js +26 -0
  35. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  36. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  37. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  38. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  39. package/crud/contentModel/validate/modelId.d.ts +11 -0
  40. package/crud/contentModel/validate/modelId.js +36 -0
  41. package/crud/contentModel/validate/modelId.js.map +1 -0
  42. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  43. package/crud/contentModel/validate/pluralApiName.js +24 -0
  44. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  45. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  46. package/crud/contentModel/validate/singularApiName.js +24 -0
  47. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  48. package/crud/contentModel/validateModel.d.ts +1 -0
  49. package/crud/contentModel/validateModel.js.map +1 -1
  50. package/crud/contentModel/validateModelFields.d.ts +2 -1
  51. package/crud/contentModel/validateModelFields.js +19 -57
  52. package/crud/contentModel/validateModelFields.js.map +1 -1
  53. package/crud/contentModel/validation.d.ts +136 -62
  54. package/crud/contentModel/validation.js +61 -13
  55. package/crud/contentModel/validation.js.map +1 -1
  56. package/crud/contentModel.crud.js +346 -285
  57. package/crud/contentModel.crud.js.map +1 -1
  58. package/crud/contentModelGroup.crud.js +170 -148
  59. package/crud/contentModelGroup.crud.js.map +1 -1
  60. package/crud/settings.crud.d.ts +1 -1
  61. package/crud/settings.crud.js +5 -10
  62. package/crud/settings.crud.js.map +1 -1
  63. package/crud/system.crud.js +0 -60
  64. package/crud/system.crud.js.map +1 -1
  65. package/graphql/checkEndpointAccess.d.ts +2 -0
  66. package/graphql/checkEndpointAccess.js +18 -0
  67. package/graphql/checkEndpointAccess.js.map +1 -0
  68. package/graphql/createExecutableSchema.d.ts +2 -3
  69. package/graphql/createExecutableSchema.js.map +1 -1
  70. package/graphql/createRequestBody.d.ts +2 -0
  71. package/graphql/createRequestBody.js +14 -0
  72. package/graphql/createRequestBody.js.map +1 -0
  73. package/graphql/formatErrorPayload.d.ts +1 -0
  74. package/graphql/formatErrorPayload.js +25 -0
  75. package/graphql/formatErrorPayload.js.map +1 -0
  76. package/graphql/generateSchema.js.map +1 -1
  77. package/graphql/getSchema.d.ts +17 -0
  78. package/graphql/getSchema.js +102 -0
  79. package/graphql/getSchema.js.map +1 -0
  80. package/graphql/graphQLHandlerFactory.js +6 -145
  81. package/graphql/graphQLHandlerFactory.js.map +1 -1
  82. package/graphql/handleRequest.d.ts +11 -0
  83. package/graphql/handleRequest.js +81 -0
  84. package/graphql/handleRequest.js.map +1 -0
  85. package/graphql/schema/baseContentSchema.js +1 -7
  86. package/graphql/schema/baseContentSchema.js.map +1 -1
  87. package/graphql/schema/baseSchema.js +15 -0
  88. package/graphql/schema/baseSchema.js.map +1 -1
  89. package/graphql/schema/contentEntries.js +90 -53
  90. package/graphql/schema/contentEntries.js.map +1 -1
  91. package/graphql/schema/contentModelGroups.js +7 -7
  92. package/graphql/schema/contentModelGroups.js.map +1 -1
  93. package/graphql/schema/contentModels.js +23 -4
  94. package/graphql/schema/contentModels.js.map +1 -1
  95. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  96. package/graphql/schema/createFieldResolvers.js +6 -12
  97. package/graphql/schema/createFieldResolvers.js.map +1 -1
  98. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  99. package/graphql/schema/createFieldTypePluginRecords.js +13 -0
  100. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  101. package/graphql/schema/createManageResolvers.d.ts +1 -1
  102. package/graphql/schema/createManageResolvers.js +37 -17
  103. package/graphql/schema/createManageResolvers.js.map +1 -1
  104. package/graphql/schema/createManageSDL.d.ts +1 -0
  105. package/graphql/schema/createManageSDL.js +76 -62
  106. package/graphql/schema/createManageSDL.js.map +1 -1
  107. package/graphql/schema/createPreviewResolvers.js +3 -7
  108. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  109. package/graphql/schema/createReadResolvers.js +4 -8
  110. package/graphql/schema/createReadResolvers.js.map +1 -1
  111. package/graphql/schema/createReadSDL.d.ts +1 -0
  112. package/graphql/schema/createReadSDL.js +40 -35
  113. package/graphql/schema/createReadSDL.js.map +1 -1
  114. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  115. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -1
  116. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  117. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  118. package/graphql/schema/resolvers/manage/resolveDelete.js +13 -3
  119. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  120. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  121. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
  122. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  123. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  124. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
  125. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  126. package/graphql/schema/schemaPlugins.js +7 -16
  127. package/graphql/schema/schemaPlugins.js.map +1 -1
  128. package/graphql/system.js +0 -16
  129. package/graphql/system.js.map +1 -1
  130. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  131. package/graphqlFields/dynamicZone/dynamicZoneField.js +54 -19
  132. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  133. package/graphqlFields/object.js +21 -2
  134. package/graphqlFields/object.js.map +1 -1
  135. package/graphqlFields/ref.js +42 -14
  136. package/graphqlFields/ref.js.map +1 -1
  137. package/index.d.ts +3 -1
  138. package/index.js +25 -2
  139. package/index.js.map +1 -1
  140. package/package.json +35 -36
  141. package/plugins/CmsModelPlugin.d.ts +21 -3
  142. package/plugins/CmsModelPlugin.js +28 -2
  143. package/plugins/CmsModelPlugin.js.map +1 -1
  144. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  145. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  146. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  147. package/plugins/index.d.ts +1 -0
  148. package/plugins/index.js +11 -0
  149. package/plugins/index.js.map +1 -1
  150. package/types.d.ts +200 -97
  151. package/types.js +12 -1
  152. package/types.js.map +1 -1
  153. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  154. package/utils/converters/valueKeyStorageConverter.js +26 -20
  155. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  156. package/utils/createTypeFromFields.d.ts +1 -0
  157. package/utils/createTypeFromFields.js +7 -5
  158. package/utils/createTypeFromFields.js.map +1 -1
  159. package/utils/createTypeName.d.ts +0 -2
  160. package/utils/createTypeName.js +2 -10
  161. package/utils/createTypeName.js.map +1 -1
  162. package/utils/getBaseFieldType.d.ts +1 -3
  163. package/utils/getBaseFieldType.js.map +1 -1
  164. package/utils/getEntryDescription.d.ts +2 -0
  165. package/utils/getEntryDescription.js +17 -0
  166. package/utils/getEntryDescription.js.map +1 -0
  167. package/utils/getEntryImage.d.ts +2 -0
  168. package/utils/getEntryImage.js +17 -0
  169. package/utils/getEntryImage.js.map +1 -0
  170. package/utils/getEntryTitle.d.ts +1 -1
  171. package/utils/getEntryTitle.js.map +1 -1
  172. package/utils/incrementEntryIdVersion.d.ts +5 -0
  173. package/utils/incrementEntryIdVersion.js +29 -0
  174. package/utils/incrementEntryIdVersion.js.map +1 -0
  175. package/utils/ownership.d.ts +3 -3
  176. package/utils/ownership.js.map +1 -1
  177. package/utils/renderFields.d.ts +4 -2
  178. package/utils/renderFields.js +10 -2
  179. package/utils/renderFields.js.map +1 -1
  180. package/utils/renderGetFilterFields.d.ts +2 -2
  181. package/utils/renderGetFilterFields.js +7 -20
  182. package/utils/renderGetFilterFields.js.map +1 -1
  183. package/utils/renderInputFields.d.ts +4 -2
  184. package/utils/renderInputFields.js +17 -5
  185. package/utils/renderInputFields.js.map +1 -1
  186. package/utils/renderListFilterFields.d.ts +2 -1
  187. package/utils/renderListFilterFields.js +9 -20
  188. package/utils/renderListFilterFields.js.map +1 -1
  189. package/utils/renderSortEnum.d.ts +2 -1
  190. package/utils/renderSortEnum.js +2 -1
  191. package/utils/renderSortEnum.js.map +1 -1
  192. package/crud/contentModel/createFieldModels.d.ts +0 -2
  193. package/crud/contentModel/createFieldModels.js +0 -26
  194. package/crud/contentModel/createFieldModels.js.map +0 -1
  195. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  196. package/crud/contentModel/fieldIdValidation.js +0 -25
  197. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  198. package/crud/contentModel/idValidation.d.ts +0 -1
  199. package/crud/contentModel/idValidation.js +0 -22
  200. package/crud/contentModel/idValidation.js.map +0 -1
  201. package/crud/contentModel/models.d.ts +0 -4
  202. package/crud/contentModel/models.js +0 -192
  203. package/crud/contentModel/models.js.map +0 -1
  204. package/crud/contentModel/systemFields.d.ts +0 -1
  205. package/crud/contentModel/systemFields.js +0 -8
  206. package/crud/contentModel/systemFields.js.map +0 -1
  207. package/upgrades/5.33.0/index.d.ts +0 -3
  208. package/upgrades/5.33.0/index.js +0 -159
  209. package/upgrades/5.33.0/index.js.map +0 -1
  210. package/upgrades/index.d.ts +0 -1
  211. package/upgrades/index.js +0 -9
  212. package/upgrades/index.js.map +0 -1
  213. package/utils/pluralizedTypeName.d.ts +0 -1
  214. package/utils/pluralizedTypeName.js +0 -20
  215. package/utils/pluralizedTypeName.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createManageResolvers","models","model","fieldTypePlugins","fields","length","Query","Mutation","typeName","createTypeName","modelId","mTypeName","createManageTypeName","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","isRoot","extraResolvers","commonFieldResolvers","meta","entry","resolveGet","resolveGetRevisions","pluralizedTypeName","resolveGetByIds","resolveList","resolveCreate","resolveUpdate","resolveDelete","resolvePublish","resolveRepublish","resolveUnpublish","resolveCreateFrom","title","getEntryTitle","status","data","revisions","_","context","cms","getEntryRevisions","entryId","sort","a","b","version"],"sources":["createManageResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext, CmsEntry } from \"~/types\";\nimport { commonFieldResolvers } from \"./resolvers/commonFieldResolvers\";\nimport { resolveGet } from \"./resolvers/manage/resolveGet\";\nimport { resolveList } from \"./resolvers/manage/resolveList\";\nimport { resolveGetRevisions } from \"./resolvers/manage/resolveGetRevisions\";\nimport { resolveGetByIds } from \"./resolvers/manage/resolveGetByIds\";\nimport { resolveCreate } from \"./resolvers/manage/resolveCreate\";\nimport { resolveUpdate } from \"./resolvers/manage/resolveUpdate\";\nimport { resolveDelete } from \"./resolvers/manage/resolveDelete\";\nimport { resolvePublish } from \"./resolvers/manage/resolvePublish\";\nimport { resolveRepublish } from \"./resolvers/manage/resolveRepublish\";\nimport { resolveUnpublish } from \"./resolvers/manage/resolveUnpublish\";\nimport { resolveCreateFrom } from \"./resolvers/manage/resolveCreateFrom\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\nimport { createManageTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle\";\n\ninterface CreateManageResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface CreateManageResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateManageResolversParams): any;\n}\n\nexport const createManageResolvers: CreateManageResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {},\n Mutation: {}\n };\n }\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"manage\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: mTypeName,\n fields: model.fields,\n isRoot: true,\n // These are extra fields we want to apply to field resolvers of \"gqlType\"\n extraResolvers: {\n ...commonFieldResolvers(),\n meta(entry) {\n return entry;\n }\n }\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`get${typeName}Revisions`]: resolveGetRevisions({ model }),\n [`get${pluralizedTypeName(typeName)}ByIds`]: resolveGetByIds({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n Mutation: {\n [`create${typeName}`]: resolveCreate({ model }),\n [`update${typeName}`]: resolveUpdate({ model }),\n [`delete${typeName}`]: resolveDelete({ model }),\n [`publish${typeName}`]: resolvePublish({ model }),\n [`republish${typeName}`]: resolveRepublish({ model }),\n [`unpublish${typeName}`]: resolveUnpublish({ model }),\n [`create${typeName}From`]: resolveCreateFrom({ model })\n },\n ...fieldResolvers,\n [`${mTypeName}Meta`]: {\n title(entry: CmsEntry) {\n return getEntryTitle(model, entry);\n },\n status(entry: CmsEntry) {\n return entry.status;\n },\n data: (entry: CmsEntry) => {\n return entry.meta || {};\n },\n async revisions(entry: CmsEntry, _: any, context: CmsContext) {\n const revisions = await context.cms.getEntryRevisions(model, entry.entryId);\n return revisions.sort((a, b) => b.version - a.version);\n }\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createManageResolvers","models","model","fieldTypePlugins","fields","length","Query","Mutation","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","extraResolvers","commonFieldResolvers","meta","entry","resolveGet","resolveGetRevisions","pluralApiName","resolveGetByIds","resolveList","resolveCreate","resolveUpdate","resolveDelete","resolveDeleteMultiple","resolvePublish","resolveRepublish","resolveUnpublish","resolveCreateFrom","title","getEntryTitle","description","_","context","descriptionFieldId","field","find","f","fieldId","entryFieldFromStorageTransform","value","values","image","getEntryImage","status","data","revisions","cms","getEntryRevisions","entryId","sort","a","b","version"],"sources":["createManageResolvers.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsContext, CmsEntry, CmsModel } from \"~/types\";\nimport { commonFieldResolvers } from \"./resolvers/commonFieldResolvers\";\nimport { resolveGet } from \"./resolvers/manage/resolveGet\";\nimport { resolveList } from \"./resolvers/manage/resolveList\";\nimport { resolveGetRevisions } from \"./resolvers/manage/resolveGetRevisions\";\nimport { resolveGetByIds } from \"./resolvers/manage/resolveGetByIds\";\nimport { resolveCreate } from \"./resolvers/manage/resolveCreate\";\nimport { resolveUpdate } from \"./resolvers/manage/resolveUpdate\";\nimport { resolveDelete } from \"./resolvers/manage/resolveDelete\";\nimport { resolveDeleteMultiple } from \"./resolvers/manage/resolveDeleteMultiple\";\nimport { resolvePublish } from \"./resolvers/manage/resolvePublish\";\nimport { resolveRepublish } from \"./resolvers/manage/resolveRepublish\";\nimport { resolveUnpublish } from \"./resolvers/manage/resolveUnpublish\";\nimport { resolveCreateFrom } from \"./resolvers/manage/resolveCreateFrom\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle\";\nimport { getEntryImage } from \"~/utils/getEntryImage\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\n\ninterface CreateManageResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\ninterface CreateManageResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateManageResolversParams): any;\n}\n\nexport const createManageResolvers: CreateManageResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {},\n Mutation: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"manage\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true,\n // These are extra fields we want to apply to field resolvers of \"gqlType\"\n extraResolvers: {\n ...commonFieldResolvers(),\n meta(entry) {\n return entry;\n }\n }\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model }),\n [`get${model.singularApiName}Revisions`]: resolveGetRevisions({ model }),\n [`get${model.pluralApiName}ByIds`]: resolveGetByIds({ model }),\n [`list${model.pluralApiName}`]: resolveList({ model })\n },\n Mutation: {\n [`create${model.singularApiName}`]: resolveCreate({ model }),\n [`update${model.singularApiName}`]: resolveUpdate({ model }),\n [`delete${model.singularApiName}`]: resolveDelete({ model }),\n [`deleteMultiple${model.pluralApiName}`]: resolveDeleteMultiple({ model }),\n [`publish${model.singularApiName}`]: resolvePublish({ model }),\n [`republish${model.singularApiName}`]: resolveRepublish({ model }),\n [`unpublish${model.singularApiName}`]: resolveUnpublish({ model }),\n [`create${model.singularApiName}From`]: resolveCreateFrom({ model })\n },\n ...fieldResolvers,\n [`${model.singularApiName}Meta`]: {\n title(entry: CmsEntry) {\n return getEntryTitle(model, entry);\n },\n description: (entry: CmsEntry, _: any, context: CmsContext) => {\n if (!model.descriptionFieldId) {\n return \"\";\n }\n const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);\n if (!field) {\n return \"\";\n }\n\n return entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: entry.values[field.fieldId]\n });\n },\n image: (entry: CmsEntry) => {\n return getEntryImage(model, entry);\n },\n status(entry: CmsEntry) {\n return entry.status;\n },\n data: (entry: CmsEntry) => {\n return entry.meta || {};\n },\n async revisions(entry: CmsEntry, _: any, context: CmsContext) {\n const revisions = await context.cms.getEntryRevisions(model, entry.entryId);\n return revisions.sort((a, b) => b.version - a.version);\n }\n }\n };\n};\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { CmsFieldTypePlugins, CmsModel } from "../../types";
2
2
  import { CmsGraphQLSchemaSorterPlugin } from "../../plugins";
3
3
  interface CreateManageSDLParams {
4
+ models: CmsModel[];
4
5
  model: CmsModel;
5
6
  fieldTypePlugins: CmsFieldTypePlugins;
6
7
  sorterPlugins: CmsGraphQLSchemaSorterPlugin[];
@@ -4,60 +4,68 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createManageSDL = void 0;
7
- var _createTypeName = require("../../utils/createTypeName");
8
7
  var _renderListFilterFields = require("../../utils/renderListFilterFields");
9
8
  var _renderSortEnum = require("../../utils/renderSortEnum");
10
9
  var _renderGetFilterFields = require("../../utils/renderGetFilterFields");
11
10
  var _renderInputFields = require("../../utils/renderInputFields");
12
11
  var _renderFields = require("../../utils/renderFields");
13
- var _pluralizedTypeName = require("../../utils/pluralizedTypeName");
14
12
  const createManageSDL = ({
13
+ models,
15
14
  model,
16
15
  fieldTypePlugins,
17
16
  sorterPlugins
18
17
  }) => {
19
- const typeName = (0, _createTypeName.createTypeName)(model.modelId);
20
- const mTypeName = (0, _createTypeName.createManageTypeName)(typeName);
18
+ const inputFields = (0, _renderInputFields.renderInputFields)({
19
+ models,
20
+ model,
21
+ fields: model.fields,
22
+ fieldTypePlugins
23
+ });
24
+ if (inputFields.length === 0) {
25
+ return "";
26
+ }
21
27
  const listFilterFieldsRender = (0, _renderListFilterFields.renderListFilterFields)({
22
28
  model,
29
+ fields: model.fields,
23
30
  type: "manage",
24
31
  fieldTypePlugins
25
32
  });
26
33
  const sortEnumRender = (0, _renderSortEnum.renderSortEnum)({
27
34
  model,
35
+ fields: model.fields,
28
36
  fieldTypePlugins,
29
37
  sorterPlugins
30
38
  });
31
39
  const getFilterFieldsRender = (0, _renderGetFilterFields.renderGetFilterFields)({
32
- model,
33
- fieldTypePlugins
34
- });
35
- const inputFields = (0, _renderInputFields.renderInputFields)({
36
- model,
40
+ fields: model.fields,
37
41
  fieldTypePlugins
38
42
  });
39
43
  const fields = (0, _renderFields.renderFields)({
44
+ models,
40
45
  model,
46
+ fields: model.fields,
41
47
  type: "manage",
42
48
  fieldTypePlugins
43
49
  });
44
- if (inputFields.length === 0) {
45
- return "";
46
- }
50
+ const {
51
+ singularApiName: singularName,
52
+ pluralApiName: pluralName
53
+ } = model;
47
54
  return (/* GraphQL */`
48
- """${model.description || model.modelId}"""
49
- type ${mTypeName} {
55
+ """${model.description || singularName}"""
56
+ type ${singularName} {
50
57
  id: ID!
51
58
  entryId: String!
52
59
  createdOn: DateTime!
53
60
  savedOn: DateTime!
54
- createdBy: CmsCreatedBy!
55
- ownedBy: CmsOwnedBy!
56
- meta: ${mTypeName}Meta
61
+ createdBy: CmsIdentity!
62
+ ownedBy: CmsIdentity!
63
+ modifiedBy: CmsIdentity
64
+ meta: ${singularName}Meta
57
65
  ${fields.map(f => f.fields).join("\n")}
58
66
  }
59
67
 
60
- type ${mTypeName}Meta {
68
+ type ${singularName}Meta {
61
69
  modelId: String
62
70
  version: Int
63
71
  locked: Boolean
@@ -67,83 +75,89 @@ const createManageSDL = ({
67
75
  CAUTION: this field is resolved by making an extra query to DB.
68
76
  RECOMMENDATION: Use it only with "get" queries (avoid in "list")
69
77
  """
70
- revisions: [${mTypeName}]
78
+ revisions: [${singularName}!]
71
79
  title: String
80
+ description: String
81
+ image: String
72
82
  """
73
83
  Custom meta data stored in the root of the entry object.
74
84
  """
75
85
  data: JSON
76
86
  }
77
87
 
78
- ${fields.map(f => f.typeDefs).filter(Boolean).join("\n")}
79
-
80
- ${inputFields.map(f => f.typeDefs).filter(Boolean).join("\n")}
88
+ ${fields.map(f => f.typeDefs).join("\n")}
89
+
90
+ ${inputFields.map(f => f.typeDefs).join("\n")}
81
91
 
82
- ${inputFields && `input ${mTypeName}Input {
83
- id: ID
92
+
93
+ input ${singularName}Input {
94
+ id: ID
84
95
  ${inputFields.map(f => f.fields).join("\n")}
85
- }`}
96
+ }
86
97
 
87
- ${getFilterFieldsRender && `input ${mTypeName}GetWhereInput {
98
+ input ${singularName}GetWhereInput {
88
99
  ${getFilterFieldsRender}
89
- }`}
100
+ }
90
101
 
102
+ input ${singularName}ListWhereInput {
103
+ ${listFilterFieldsRender}
104
+ AND: [${singularName}ListWhereInput!]
105
+ OR: [${singularName}ListWhereInput!]
106
+ }
91
107
 
92
- ${listFilterFieldsRender && `input ${mTypeName}ListWhereInput {
93
- ${listFilterFieldsRender}
94
- AND: [${mTypeName}ListWhereInput!]
95
- OR: [${mTypeName}ListWhereInput!]
96
- }`}
97
108
 
98
- type ${mTypeName}Response {
99
- data: ${mTypeName}
109
+ type ${singularName}Response {
110
+ data: ${singularName}
100
111
  error: CmsError
101
112
  }
102
-
103
- type ${mTypeName}ArrayResponse {
104
- data: [${mTypeName}]
113
+
114
+ type ${singularName}ArrayResponse {
115
+ data: [${singularName}]
105
116
  error: CmsError
106
117
  }
107
118
 
108
- type ${mTypeName}ListResponse {
109
- data: [${mTypeName}]
119
+ type ${singularName}ListResponse {
120
+ data: [${singularName}]
110
121
  meta: CmsListMeta
111
122
  error: CmsError
112
123
  }
113
124
 
114
- ${sortEnumRender && `enum ${mTypeName}ListSorter {
125
+
126
+ enum ${singularName}ListSorter {
115
127
  ${sortEnumRender}
116
- }`}
128
+ }
117
129
 
118
130
  extend type Query {
119
- get${typeName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${mTypeName}Response
120
-
121
- get${typeName}Revisions(id: ID!): ${mTypeName}ArrayResponse
122
-
123
- get${(0, _pluralizedTypeName.pluralizedTypeName)(typeName)}ByIds(revisions: [ID!]!): ${mTypeName}ArrayResponse
124
-
125
- list${(0, _pluralizedTypeName.pluralizedTypeName)(typeName)}(
126
- where: ${mTypeName}ListWhereInput
127
- sort: [${mTypeName}ListSorter]
131
+ get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response
132
+
133
+ get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse
134
+
135
+ get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse
136
+
137
+ list${pluralName} (
138
+ where: ${singularName}ListWhereInput
139
+ sort: [${singularName}ListSorter]
128
140
  limit: Int
129
141
  after: String
130
- ): ${mTypeName}ListResponse
142
+ ): ${singularName}ListResponse
131
143
  }
132
144
 
133
- extend type Mutation{
134
- create${typeName}(data: ${mTypeName}Input!): ${mTypeName}Response
135
-
136
- create${typeName}From(revision: ID!, data: ${mTypeName}Input): ${mTypeName}Response
137
-
138
- update${typeName}(revision: ID!, data: ${mTypeName}Input!): ${mTypeName}Response
145
+ extend type Mutation {
146
+ create${singularName}(data: ${singularName}Input!): ${singularName}Response
139
147
 
140
- delete${typeName}(revision: ID!): CmsDeleteResponse
148
+ create${singularName}From(revision: ID!, data: ${singularName}Input): ${singularName}Response
149
+
150
+ update${singularName}(revision: ID!, data: ${singularName}Input!): ${singularName}Response
141
151
 
142
- publish${typeName}(revision: ID!): ${mTypeName}Response
143
-
144
- republish${typeName}(revision: ID!): ${mTypeName}Response
152
+ delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse
145
153
 
146
- unpublish${typeName}(revision: ID!): ${mTypeName}Response
154
+ deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!
155
+
156
+ publish${singularName}(revision: ID!): ${singularName}Response
157
+
158
+ republish${singularName}(revision: ID!): ${singularName}Response
159
+
160
+ unpublish${singularName}(revision: ID!): ${singularName}Response
147
161
  }
148
162
  `
149
163
  );
@@ -1 +1 @@
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 id: ID\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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"}
1
+ {"version":3,"names":["createManageSDL","models","model","fieldTypePlugins","sorterPlugins","inputFields","renderInputFields","fields","length","listFilterFieldsRender","renderListFilterFields","type","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","renderFields","singularApiName","singularName","pluralApiName","pluralName","description","map","f","join","typeDefs"],"sources":["createManageSDL.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsModel } from \"~/types\";\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 { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldTypePlugins\n });\n if (inputFields.length === 0) {\n return \"\";\n }\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldTypePlugins,\n sorterPlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldTypePlugins\n });\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n return /* GraphQL */ `\n \"\"\"${model.description || singularName}\"\"\"\n type ${singularName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsIdentity!\n ownedBy: CmsIdentity!\n modifiedBy: CmsIdentity\n meta: ${singularName}Meta\n ${fields.map(f => f.fields).join(\"\\n\")}\n }\n\n type ${singularName}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: [${singularName}!]\n title: String\n description: String\n image: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n\n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n\n\n input ${singularName}Input {\n id: ID\n ${inputFields.map(f => f.fields).join(\"\\n\")}\n }\n\n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender}\n }\n\n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender}\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n\n type ${singularName}ArrayResponse {\n data: [${singularName}]\n error: CmsError\n }\n\n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n\n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n\n extend type Query {\n get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response\n \n get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse\n \n get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse\n \n list${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!): ${singularName}Response\n\n create${singularName}From(revision: ID!, data: ${singularName}Input): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!): ${singularName}Response\n\n delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse\n\n deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!\n \n publish${singularName}(revision: ID!): ${singularName}Response\n \n republish${singularName}(revision: ID!): ${singularName}Response\n \n unpublish${singularName}(revision: ID!): ${singularName}Response\n }\n `;\n};\n"],"mappings":"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"}
@@ -9,8 +9,6 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
9
9
  var _resolveGet = require("./resolvers/preview/resolveGet");
10
10
  var _resolveList = require("./resolvers/preview/resolveList");
11
11
  var _createFieldResolvers = require("./createFieldResolvers");
12
- var _createTypeName = require("../../utils/createTypeName");
13
- var _pluralizedTypeName = require("../../utils/pluralizedTypeName");
14
12
  const createPreviewResolvers = ({
15
13
  models,
16
14
  model,
@@ -21,8 +19,6 @@ const createPreviewResolvers = ({
21
19
  Query: {}
22
20
  };
23
21
  }
24
- const typeName = (0, _createTypeName.createTypeName)(model.modelId);
25
- const rTypeName = (0, _createTypeName.createReadTypeName)(typeName);
26
22
  const createFieldResolvers = (0, _createFieldResolvers.createFieldResolversFactory)({
27
23
  endpointType: "read",
28
24
  models,
@@ -30,16 +26,16 @@ const createPreviewResolvers = ({
30
26
  fieldTypePlugins
31
27
  });
32
28
  const fieldResolvers = createFieldResolvers({
33
- graphQLType: rTypeName,
29
+ graphQLType: model.singularApiName,
34
30
  fields: model.fields,
35
31
  isRoot: true
36
32
  });
37
33
  return (0, _objectSpread2.default)({
38
34
  Query: {
39
- [`get${typeName}`]: (0, _resolveGet.resolveGet)({
35
+ [`get${model.singularApiName}`]: (0, _resolveGet.resolveGet)({
40
36
  model
41
37
  }),
42
- [`list${(0, _pluralizedTypeName.pluralizedTypeName)(typeName)}`]: (0, _resolveList.resolveList)({
38
+ [`list${model.pluralApiName}`]: (0, _resolveList.resolveList)({
43
39
  model
44
40
  })
45
41
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createPreviewResolvers","models","model","fieldTypePlugins","fields","length","Query","typeName","createTypeName","modelId","rTypeName","createReadTypeName","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","isRoot","resolveGet","pluralizedTypeName","resolveList"],"sources":["createPreviewResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/preview/resolveGet\";\nimport { resolveList } from \"./resolvers/preview/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 createPreviewResolvers: CreateReadResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\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,sBAA2C,GAAG,CAAC;EACxDC,MAAM;EACNC,KAAK;EACLC;AACJ,CAAC,KAAK;EACF,IAAID,KAAK,CAACE,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC;IACZ,CAAC;EACL;EACA,MAAMC,QAAQ,GAAG,IAAAC,8BAAc,EAACN,KAAK,CAACO,OAAO,CAAC;EAC9C,MAAMC,SAAS,GAAG,IAAAC,kCAAkB,EAACJ,QAAQ,CAAC;EAE9C,MAAMK,oBAAoB,GAAG,IAAAC,iDAA2B,EAAC;IACrDC,YAAY,EAAE,MAAM;IACpBb,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMY,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAEN,SAAS;IACtBN,MAAM,EAAEF,KAAK,CAACE,MAAM;IACpBa,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF;IACIX,KAAK,EAAE;MACH,CAAE,MAAKC,QAAS,EAAC,GAAG,IAAAW,sBAAU,EAAC;QAAEhB;MAAM,CAAC,CAAC;MACzC,CAAE,OAAM,IAAAiB,sCAAkB,EAACZ,QAAQ,CAAE,EAAC,GAAG,IAAAa,wBAAW,EAAC;QAAElB;MAAM,CAAC;IAClE;EAAC,GACEa,cAAc;AAEzB,CAAC;AAAC"}
1
+ {"version":3,"names":["createPreviewResolvers","models","model","fieldTypePlugins","fields","length","Query","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","resolveGet","pluralApiName","resolveList"],"sources":["createPreviewResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/preview/resolveGet\";\nimport { resolveList } from \"./resolvers/preview/resolveList\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createPreviewResolvers: CreateReadResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model }),\n [`list${model.pluralApiName}`]: resolveList({ model })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;;;AACA;AACA;AACA;AAcO,MAAMA,sBAA2C,GAAG,CAAC;EACxDC,MAAM;EACNC,KAAK;EACLC;AACJ,CAAC,KAAK;EACF,IAAID,KAAK,CAACE,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC;IACZ,CAAC;EACL;EAEA,MAAMC,oBAAoB,GAAG,IAAAC,iDAA2B,EAAC;IACrDC,YAAY,EAAE,MAAM;IACpBR,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMO,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAET,KAAK,CAACU,eAAe;IAClCR,MAAM,EAAEF,KAAK,CAACE,MAAM;IACpBS,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF;IACIP,KAAK,EAAE;MACH,CAAE,MAAKJ,KAAK,CAACU,eAAgB,EAAC,GAAG,IAAAE,sBAAU,EAAC;QAAEZ;MAAM,CAAC,CAAC;MACtD,CAAE,OAAMA,KAAK,CAACa,aAAc,EAAC,GAAG,IAAAC,wBAAW,EAAC;QAAEd;MAAM,CAAC;IACzD;EAAC,GACEQ,cAAc;AAEzB,CAAC;AAAC"}
@@ -9,8 +9,6 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
9
9
  var _resolveGet = require("./resolvers/read/resolveGet");
10
10
  var _resolveList = require("./resolvers/read/resolveList");
11
11
  var _createFieldResolvers = require("./createFieldResolvers");
12
- var _createTypeName = require("../../utils/createTypeName");
13
- var _pluralizedTypeName = require("../../utils/pluralizedTypeName");
14
12
  const createReadResolvers = ({
15
13
  models,
16
14
  model,
@@ -21,8 +19,6 @@ const createReadResolvers = ({
21
19
  Query: {}
22
20
  };
23
21
  }
24
- const typeName = (0, _createTypeName.createTypeName)(model.modelId);
25
- const rTypeName = (0, _createTypeName.createReadTypeName)(typeName);
26
22
  const createFieldResolvers = (0, _createFieldResolvers.createFieldResolversFactory)({
27
23
  endpointType: "read",
28
24
  models,
@@ -30,20 +26,20 @@ const createReadResolvers = ({
30
26
  fieldTypePlugins
31
27
  });
32
28
  const fieldResolvers = createFieldResolvers({
33
- graphQLType: rTypeName,
29
+ graphQLType: model.singularApiName,
34
30
  fields: model.fields,
35
31
  isRoot: true
36
32
  });
37
33
  return (0, _objectSpread2.default)({
38
34
  Query: {
39
- [`get${typeName}`]: (0, _resolveGet.resolveGet)({
35
+ [`get${model.singularApiName}`]: (0, _resolveGet.resolveGet)({
40
36
  model
41
37
  }),
42
- [`list${(0, _pluralizedTypeName.pluralizedTypeName)(typeName)}`]: (0, _resolveList.resolveList)({
38
+ [`list${model.pluralApiName}`]: (0, _resolveList.resolveList)({
43
39
  model
44
40
  })
45
41
  },
46
- [rTypeName]: {
42
+ [model.singularApiName]: {
47
43
  modelId: () => {
48
44
  return model.modelId;
49
45
  }
@@ -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 [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,MAAM;EAAEC,KAAK;EAAEC;AAAiB,CAAC,KAAK;EAC7F,IAAID,KAAK,CAACE,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC;IACZ,CAAC;EACL;EACA,MAAMC,QAAQ,GAAG,IAAAC,8BAAc,EAACN,KAAK,CAACO,OAAO,CAAC;EAC9C,MAAMC,SAAS,GAAG,IAAAC,kCAAkB,EAACJ,QAAQ,CAAC;EAE9C,MAAMK,oBAAoB,GAAG,IAAAC,iDAA2B,EAAC;IACrDC,YAAY,EAAE,MAAM;IACpBb,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMY,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAEN,SAAS;IACtBN,MAAM,EAAEF,KAAK,CAACE,MAAM;IACpBa,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF;IACIX,KAAK,EAAE;MACH,CAAE,MAAKC,QAAS,EAAC,GAAG,IAAAW,sBAAU,EAAC;QAAEhB;MAAM,CAAC,CAAC;MACzC,CAAE,OAAM,IAAAiB,sCAAkB,EAACZ,QAAQ,CAAE,EAAC,GAAG,IAAAa,wBAAW,EAAC;QAAElB;MAAM,CAAC;IAClE,CAAC;IACD,CAACQ,SAAS,GAAG;MACTD,OAAO,EAAE,MAAM;QACX,OAAOP,KAAK,CAACO,OAAO;MACxB;IACJ;EAAC,GACEM,cAAc;AAEzB,CAAC;AAAC"}
1
+ {"version":3,"names":["createReadResolvers","models","model","fieldTypePlugins","fields","length","Query","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","resolveGet","pluralApiName","resolveList","modelId"],"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\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\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\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model }),\n [`list${model.pluralApiName}`]: resolveList({ model })\n },\n [model.singularApiName]: {\n modelId: () => {\n return model.modelId;\n }\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;;;AACA;AACA;AACA;AAcO,MAAMA,mBAAwC,GAAG,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAiB,CAAC,KAAK;EAC7F,IAAID,KAAK,CAACE,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC;IACZ,CAAC;EACL;EAEA,MAAMC,oBAAoB,GAAG,IAAAC,iDAA2B,EAAC;IACrDC,YAAY,EAAE,MAAM;IACpBR,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMO,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAET,KAAK,CAACU,eAAe;IAClCR,MAAM,EAAEF,KAAK,CAACE,MAAM;IACpBS,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF;IACIP,KAAK,EAAE;MACH,CAAE,MAAKJ,KAAK,CAACU,eAAgB,EAAC,GAAG,IAAAE,sBAAU,EAAC;QAAEZ;MAAM,CAAC,CAAC;MACtD,CAAE,OAAMA,KAAK,CAACa,aAAc,EAAC,GAAG,IAAAC,wBAAW,EAAC;QAAEd;MAAM,CAAC;IACzD,CAAC;IACD,CAACA,KAAK,CAACU,eAAe,GAAG;MACrBK,OAAO,EAAE,MAAM;QACX,OAAOf,KAAK,CAACe,OAAO;MACxB;IACJ;EAAC,GACEP,cAAc;AAEzB,CAAC;AAAC"}
@@ -1,6 +1,7 @@
1
1
  import { CmsModel, CmsFieldTypePlugins } from "../../types";
2
2
  import { CmsGraphQLSchemaSorterPlugin } from "../../plugins";
3
3
  interface CreateReadSDLParams {
4
+ models: CmsModel[];
4
5
  model: CmsModel;
5
6
  fieldTypePlugins: CmsFieldTypePlugins;
6
7
  sorterPlugins: CmsGraphQLSchemaSorterPlugin[];
@@ -4,94 +4,99 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createReadSDL = void 0;
7
- var _createTypeName = require("../../utils/createTypeName");
8
7
  var _renderListFilterFields = require("../../utils/renderListFilterFields");
9
8
  var _renderSortEnum = require("../../utils/renderSortEnum");
10
9
  var _renderFields = require("../../utils/renderFields");
11
10
  var _renderGetFilterFields = require("../../utils/renderGetFilterFields");
12
- var _pluralizedTypeName = require("../../utils/pluralizedTypeName");
13
11
  const createReadSDL = ({
12
+ models,
14
13
  model,
15
14
  fieldTypePlugins,
16
15
  sorterPlugins
17
16
  }) => {
18
- const typeName = (0, _createTypeName.createTypeName)(model.modelId);
19
- const rTypeName = (0, _createTypeName.createReadTypeName)(typeName);
20
17
  const type = "read";
18
+ const fieldsRender = (0, _renderFields.renderFields)({
19
+ models,
20
+ model,
21
+ fields: model.fields,
22
+ type,
23
+ fieldTypePlugins
24
+ });
25
+ if (fieldsRender.length === 0) {
26
+ return "";
27
+ }
21
28
  const listFilterFieldsRender = (0, _renderListFilterFields.renderListFilterFields)({
22
29
  model,
30
+ fields: model.fields,
23
31
  type,
24
32
  fieldTypePlugins
25
33
  });
26
34
  const sortEnumRender = (0, _renderSortEnum.renderSortEnum)({
27
35
  model,
36
+ fields: model.fields,
28
37
  fieldTypePlugins,
29
38
  sorterPlugins
30
39
  });
31
40
  const getFilterFieldsRender = (0, _renderGetFilterFields.renderGetFilterFields)({
32
- model,
33
- fieldTypePlugins
34
- });
35
- const fieldsRender = (0, _renderFields.renderFields)({
36
- model,
37
- type,
41
+ fields: model.fields,
38
42
  fieldTypePlugins
39
43
  });
40
- if (fieldsRender.length === 0) {
41
- return "";
42
- }
43
44
  const hasModelIdField = model.fields.some(f => f.fieldId === "modelId");
45
+ const {
46
+ singularApiName: singularName,
47
+ pluralApiName: pluralName
48
+ } = model;
44
49
  return `
45
- """${model.description || ""}"""
46
- type ${rTypeName} {
50
+ """${model.description || singularName}"""
51
+ type ${singularName} {
47
52
  id: ID!
48
53
  entryId: String!
49
54
  ${hasModelIdField ? "" : "modelId: String!"}
50
55
  createdOn: DateTime!
51
56
  savedOn: DateTime!
52
- createdBy: CmsCreatedBy!
53
- ownedBy: CmsOwnedBy!
57
+ createdBy: CmsIdentity!
58
+ ownedBy: CmsIdentity!
54
59
  ${fieldsRender.map(f => f.fields).join("\n")}
55
60
  }
56
61
 
57
62
  ${fieldsRender.map(f => f.typeDefs).filter(Boolean).join("\n")}
58
63
 
59
- ${getFilterFieldsRender && `input ${rTypeName}GetWhereInput {
64
+ input ${singularName}GetWhereInput {
60
65
  ${getFilterFieldsRender}
61
- }`}
66
+ }
62
67
 
63
68
 
64
- ${listFilterFieldsRender && `input ${rTypeName}ListWhereInput {
65
- ${listFilterFieldsRender}
66
- AND: [${rTypeName}ListWhereInput!]
67
- OR: [${rTypeName}ListWhereInput!]
68
- }`}
69
+ input ${singularName}ListWhereInput {
70
+ ${listFilterFieldsRender}
71
+ AND: [${singularName}ListWhereInput!]
72
+ OR: [${singularName}ListWhereInput!]
73
+ }
69
74
 
70
75
 
71
- ${sortEnumRender && `enum ${rTypeName}ListSorter {
76
+ enum ${singularName}ListSorter {
72
77
  ${sortEnumRender}
73
- }`}
78
+ }
74
79
 
75
- type ${rTypeName}Response {
76
- data: ${rTypeName}
80
+ type ${singularName}Response {
81
+ data: ${singularName}
77
82
  error: CmsError
78
83
  }
79
84
 
80
- type ${rTypeName}ListResponse {
81
- data: [${rTypeName}]
85
+ type ${singularName}ListResponse {
86
+ data: [${singularName}]
82
87
  meta: CmsListMeta
83
88
  error: CmsError
84
89
  }
85
90
 
86
91
  extend type Query {
87
- get${typeName}(where: ${rTypeName}GetWhereInput!): ${rTypeName}Response
92
+ get${singularName}(where: ${singularName}GetWhereInput!): ${singularName}Response
88
93
 
89
- list${(0, _pluralizedTypeName.pluralizedTypeName)(typeName)}(
90
- where: ${rTypeName}ListWhereInput
91
- sort: [${rTypeName}ListSorter]
94
+ list${pluralName}(
95
+ where: ${singularName}ListWhereInput
96
+ sort: [${singularName}ListSorter]
92
97
  limit: Int
93
98
  after: String
94
- ): ${rTypeName}ListResponse
99
+ ): ${singularName}ListResponse
95
100
  }
96
101
  `;
97
102
  };
@@ -1 +1 @@
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,KAAK;EACLC,gBAAgB;EAChBC;AACJ,CAAC,KAAa;EACV,MAAMC,QAAQ,GAAG,IAAAC,8BAAc,EAACJ,KAAK,CAACK,OAAO,CAAC;EAC9C,MAAMC,SAAS,GAAG,IAAAC,kCAAkB,EAACJ,QAAQ,CAAC;EAE9C,MAAMK,IAAiB,GAAG,MAAM;EAEhC,MAAMC,sBAAsB,GAAG,IAAAC,8CAAsB,EAAC;IAClDV,KAAK;IACLQ,IAAI;IACJP;EACJ,CAAC,CAAC;EAEF,MAAMU,cAAc,GAAG,IAAAC,8BAAc,EAAC;IAClCZ,KAAK;IACLC,gBAAgB;IAChBC;EACJ,CAAC,CAAC;EACF,MAAMW,qBAAqB,GAAG,IAAAC,4CAAqB,EAAC;IAChDd,KAAK;IACLC;EACJ,CAAC,CAAC;EACF,MAAMc,YAAY,GAAG,IAAAC,0BAAY,EAAC;IAC9BhB,KAAK;IACLQ,IAAI;IACJP;EACJ,CAAC,CAAC;EAEF,IAAIc,YAAY,CAACE,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO,EAAE;EACb;EAEA,MAAMC,eAAe,GAAGlB,KAAK,CAACmB,MAAM,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,KAAK,SAAS,CAAC;EAEvE,OAAQ;AACZ,aAAatB,KAAK,CAACuB,WAAW,IAAI,EAAG;AACrC,eAAejB,SAAU;AACzB;AACA;AACA,cAAcY,eAAe,GAAG,EAAE,GAAG,kBAAmB;AACxD;AACA;AACA;AACA;AACA,cAAcH,YAAY,CAACS,GAAG,CAACH,CAAC,IAAIA,CAAC,CAACF,MAAM,CAAC,CAACM,IAAI,CAAC,IAAI,CAAE;AACzD;AACA;AACA,UAAUV,YAAY,CACTS,GAAG,CAACH,CAAC,IAAIA,CAAC,CAACK,QAAQ,CAAC,CACpBC,MAAM,CAACC,OAAO,CAAC,CACfH,IAAI,CAAC,IAAI,CAAE;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,sCAAkB,EAAC1B,QAAQ,CAAE;AAC/C,yBAAyBG,SAAU;AACnC,yBAAyBA,SAAU;AACnC;AACA;AACA,iBAAiBA,SAAU;AAC3B;AACA,KAAK;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["createReadSDL","models","model","fieldTypePlugins","sorterPlugins","type","fieldsRender","renderFields","fields","length","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","hasModelIdField","some","f","fieldId","singularApiName","singularName","pluralApiName","pluralName","description","map","join","typeDefs","filter","Boolean"],"sources":["createReadSDL.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, ApiEndpoint } from \"~/types\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\n\ninterface CreateReadSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const type: ApiEndpoint = \"read\";\n\n const fieldsRender = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldTypePlugins\n });\n\n if (fieldsRender.length === 0) {\n return \"\";\n }\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type,\n fieldTypePlugins\n });\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldTypePlugins,\n sorterPlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldTypePlugins\n });\n\n const hasModelIdField = model.fields.some(f => f.fieldId === \"modelId\");\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n return `\n \"\"\"${model.description || singularName}\"\"\"\n type ${singularName} {\n id: ID!\n entryId: String!\n ${hasModelIdField ? \"\" : \"modelId: String!\"}\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsIdentity!\n ownedBy: CmsIdentity!\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 input ${singularName}GetWhereInput {\n ${getFilterFieldsRender}\n }\n \n \n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender}\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n \n \n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n \n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${singularName}(where: ${singularName}GetWhereInput!): ${singularName}Response\n\n list${pluralName}(\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n ): ${singularName}ListResponse\n }\n `;\n};\n"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AAaO,MAAMA,aAA4B,GAAG,CAAC;EACzCC,MAAM;EACNC,KAAK;EACLC,gBAAgB;EAChBC;AACJ,CAAC,KAAa;EACV,MAAMC,IAAiB,GAAG,MAAM;EAEhC,MAAMC,YAAY,GAAG,IAAAC,0BAAY,EAAC;IAC9BN,MAAM;IACNC,KAAK;IACLM,MAAM,EAAEN,KAAK,CAACM,MAAM;IACpBH,IAAI;IACJF;EACJ,CAAC,CAAC;EAEF,IAAIG,YAAY,CAACG,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO,EAAE;EACb;EACA,MAAMC,sBAAsB,GAAG,IAAAC,8CAAsB,EAAC;IAClDT,KAAK;IACLM,MAAM,EAAEN,KAAK,CAACM,MAAM;IACpBH,IAAI;IACJF;EACJ,CAAC,CAAC;EACF,MAAMS,cAAc,GAAG,IAAAC,8BAAc,EAAC;IAClCX,KAAK;IACLM,MAAM,EAAEN,KAAK,CAACM,MAAM;IACpBL,gBAAgB;IAChBC;EACJ,CAAC,CAAC;EACF,MAAMU,qBAAqB,GAAG,IAAAC,4CAAqB,EAAC;IAChDP,MAAM,EAAEN,KAAK,CAACM,MAAM;IACpBL;EACJ,CAAC,CAAC;EAEF,MAAMa,eAAe,GAAGd,KAAK,CAACM,MAAM,CAACS,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,KAAK,SAAS,CAAC;EAEvE,MAAM;IAAEC,eAAe,EAAEC,YAAY;IAAEC,aAAa,EAAEC;EAAW,CAAC,GAAGrB,KAAK;EAE1E,OAAQ;AACZ,aAAaA,KAAK,CAACsB,WAAW,IAAIH,YAAa;AAC/C,eAAeA,YAAa;AAC5B;AACA;AACA,cAAcL,eAAe,GAAG,EAAE,GAAG,kBAAmB;AACxD;AACA;AACA;AACA;AACA,cAAcV,YAAY,CAACmB,GAAG,CAACP,CAAC,IAAIA,CAAC,CAACV,MAAM,CAAC,CAACkB,IAAI,CAAC,IAAI,CAAE;AACzD;AACA;AACA,UAAUpB,YAAY,CACTmB,GAAG,CAACP,CAAC,IAAIA,CAAC,CAACS,QAAQ,CAAC,CACpBC,MAAM,CAACC,OAAO,CAAC,CACfH,IAAI,CAAC,IAAI,CAAE;AACxB;AACA,gBAAgBL,YAAa;AAC7B,cAAcP,qBAAsB;AACpC;AACA;AACA;AACA,gBAAgBO,YAAa;AAC7B,cAAcX,sBAAuB;AACrC,oBAAoBW,YAAa;AACjC,mBAAmBA,YAAa;AAChC;AACA;AACA;AACA,eAAeA,YAAa;AAC5B,cAAcT,cAAe;AAC7B;AACA;AACA,eAAeS,YAAa;AAC5B,oBAAoBA,YAAa;AACjC;AACA;AACA;AACA,eAAeA,YAAa;AAC5B,qBAAqBA,YAAa;AAClC;AACA;AACA;AACA;AACA;AACA,iBAAiBA,YAAa,WAAUA,YAAa,oBAAmBA,YAAa;AACrF;AACA,kBAAkBE,UAAW;AAC7B,yBAAyBF,YAAa;AACtC,yBAAyBA,YAAa;AACtC;AACA;AACA,iBAAiBA,YAAa;AAC9B;AACA,KAAK;AACL,CAAC;AAAC"}