@webiny/api-headless-cms 0.0.0-unstable.d65ec29d44 → 0.0.0-unstable.df6d94b531

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 (115) hide show
  1. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  2. package/crud/contentEntry/markLockedFields.js +3 -0
  3. package/crud/contentEntry/markLockedFields.js.map +1 -1
  4. package/crud/contentEntry.crud.d.ts +2 -1
  5. package/crud/contentEntry.crud.js +29 -23
  6. package/crud/contentEntry.crud.js.map +1 -1
  7. package/crud/contentModel/beforeCreate.js +4 -0
  8. package/crud/contentModel/beforeCreate.js.map +1 -1
  9. package/crud/contentModel/beforeUpdate.js +4 -0
  10. package/crud/contentModel/beforeUpdate.js.map +1 -1
  11. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  12. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  13. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  14. package/crud/contentModel/defaultFields.d.ts +5 -0
  15. package/crud/contentModel/defaultFields.js +58 -0
  16. package/crud/contentModel/defaultFields.js.map +1 -0
  17. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  18. package/crud/contentModel/fields/descriptionField.js +42 -0
  19. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  20. package/crud/contentModel/fields/imageField.d.ts +2 -0
  21. package/crud/contentModel/fields/imageField.js +46 -0
  22. package/crud/contentModel/fields/imageField.js.map +1 -0
  23. package/crud/contentModel/fields/titleField.d.ts +2 -0
  24. package/crud/contentModel/fields/titleField.js +58 -0
  25. package/crud/contentModel/fields/titleField.js.map +1 -0
  26. package/crud/contentModel/systemFields.js.map +1 -1
  27. package/crud/contentModel/validateModel.d.ts +1 -0
  28. package/crud/contentModel/validateModel.js.map +1 -1
  29. package/crud/contentModel/validateModelFields.d.ts +2 -1
  30. package/crud/contentModel/validateModelFields.js +17 -55
  31. package/crud/contentModel/validateModelFields.js.map +1 -1
  32. package/crud/contentModel/validation.d.ts +92 -50
  33. package/crud/contentModel/validation.js +59 -11
  34. package/crud/contentModel/validation.js.map +1 -1
  35. package/crud/contentModel.crud.js +40 -18
  36. package/crud/contentModel.crud.js.map +1 -1
  37. package/crud/system.crud.js +0 -60
  38. package/crud/system.crud.js.map +1 -1
  39. package/graphql/createExecutableSchema.d.ts +2 -3
  40. package/graphql/createExecutableSchema.js.map +1 -1
  41. package/graphql/graphQLHandlerFactory.js +13 -8
  42. package/graphql/graphQLHandlerFactory.js.map +1 -1
  43. package/graphql/schema/baseContentSchema.js +1 -7
  44. package/graphql/schema/baseContentSchema.js.map +1 -1
  45. package/graphql/schema/contentEntries.js +90 -53
  46. package/graphql/schema/contentEntries.js.map +1 -1
  47. package/graphql/schema/contentModelGroups.js +1 -1
  48. package/graphql/schema/contentModelGroups.js.map +1 -1
  49. package/graphql/schema/contentModels.js +20 -1
  50. package/graphql/schema/contentModels.js.map +1 -1
  51. package/graphql/schema/createManageResolvers.d.ts +1 -1
  52. package/graphql/schema/createManageResolvers.js +33 -17
  53. package/graphql/schema/createManageResolvers.js.map +1 -1
  54. package/graphql/schema/createManageSDL.d.ts +1 -0
  55. package/graphql/schema/createManageSDL.js +55 -49
  56. package/graphql/schema/createManageSDL.js.map +1 -1
  57. package/graphql/schema/createPreviewResolvers.js +3 -7
  58. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  59. package/graphql/schema/createReadResolvers.js +4 -8
  60. package/graphql/schema/createReadResolvers.js.map +1 -1
  61. package/graphql/schema/createReadSDL.d.ts +1 -0
  62. package/graphql/schema/createReadSDL.js +24 -22
  63. package/graphql/schema/createReadSDL.js.map +1 -1
  64. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  65. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -1
  66. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  67. package/graphql/schema/schemaPlugins.js +12 -12
  68. package/graphql/schema/schemaPlugins.js.map +1 -1
  69. package/graphql/system.js +0 -16
  70. package/graphql/system.js.map +1 -1
  71. package/graphqlFields/dynamicZone/dynamicZoneField.js +12 -4
  72. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  73. package/graphqlFields/object.js +21 -2
  74. package/graphqlFields/object.js.map +1 -1
  75. package/graphqlFields/ref.js +42 -14
  76. package/graphqlFields/ref.js.map +1 -1
  77. package/index.d.ts +3 -1
  78. package/index.js +22 -3
  79. package/index.js.map +1 -1
  80. package/package.json +22 -23
  81. package/plugins/CmsModelPlugin.d.ts +11 -1
  82. package/plugins/CmsModelPlugin.js +13 -2
  83. package/plugins/CmsModelPlugin.js.map +1 -1
  84. package/types.d.ts +75 -21
  85. package/types.js +1 -1
  86. package/types.js.map +1 -1
  87. package/upgrades/5.33.0/index.js +26 -3
  88. package/upgrades/5.33.0/index.js.map +1 -1
  89. package/upgrades/index.js +3 -0
  90. package/upgrades/index.js.map +1 -1
  91. package/utils/converters/valueKeyStorageConverter.d.ts +1 -1
  92. package/utils/converters/valueKeyStorageConverter.js +2 -1
  93. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  94. package/utils/createTypeFromFields.d.ts +1 -0
  95. package/utils/createTypeFromFields.js +7 -4
  96. package/utils/createTypeFromFields.js.map +1 -1
  97. package/utils/getEntryDescription.d.ts +2 -0
  98. package/utils/getEntryDescription.js +17 -0
  99. package/utils/getEntryDescription.js.map +1 -0
  100. package/utils/getEntryImage.d.ts +2 -0
  101. package/utils/getEntryImage.js +17 -0
  102. package/utils/getEntryImage.js.map +1 -0
  103. package/utils/incrementEntryIdVersion.d.ts +5 -0
  104. package/utils/incrementEntryIdVersion.js +29 -0
  105. package/utils/incrementEntryIdVersion.js.map +1 -0
  106. package/utils/ownership.d.ts +3 -3
  107. package/utils/ownership.js.map +1 -1
  108. package/utils/pluralizedTypeName.js +6 -0
  109. package/utils/pluralizedTypeName.js.map +1 -1
  110. package/utils/renderFields.d.ts +2 -1
  111. package/utils/renderFields.js +8 -1
  112. package/utils/renderFields.js.map +1 -1
  113. package/utils/renderInputFields.d.ts +2 -1
  114. package/utils/renderInputFields.js +4 -0
  115. package/utils/renderInputFields.js.map +1 -1
@@ -19,9 +19,9 @@ var _resolveRepublish = require("./resolvers/manage/resolveRepublish");
19
19
  var _resolveUnpublish = require("./resolvers/manage/resolveUnpublish");
20
20
  var _resolveCreateFrom = require("./resolvers/manage/resolveCreateFrom");
21
21
  var _createFieldResolvers = require("./createFieldResolvers");
22
- var _createTypeName = require("../../utils/createTypeName");
23
- var _pluralizedTypeName = require("../../utils/pluralizedTypeName");
24
22
  var _getEntryTitle = require("../../utils/getEntryTitle");
23
+ var _getEntryImage = require("../../utils/getEntryImage");
24
+ var _entryStorage = require("../../utils/entryStorage");
25
25
  const createManageResolvers = ({
26
26
  models,
27
27
  model,
@@ -33,8 +33,6 @@ const createManageResolvers = ({
33
33
  Mutation: {}
34
34
  };
35
35
  }
36
- const typeName = (0, _createTypeName.createTypeName)(model.modelId);
37
- const mTypeName = (0, _createTypeName.createManageTypeName)(typeName);
38
36
  const createFieldResolvers = (0, _createFieldResolvers.createFieldResolversFactory)({
39
37
  endpointType: "manage",
40
38
  models,
@@ -42,7 +40,7 @@ const createManageResolvers = ({
42
40
  fieldTypePlugins
43
41
  });
44
42
  const fieldResolvers = createFieldResolvers({
45
- graphQLType: mTypeName,
43
+ graphQLType: model.singularApiName,
46
44
  fields: model.fields,
47
45
  isRoot: true,
48
46
  // These are extra fields we want to apply to field resolvers of "gqlType"
@@ -54,47 +52,65 @@ const createManageResolvers = ({
54
52
  });
55
53
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({
56
54
  Query: {
57
- [`get${typeName}`]: (0, _resolveGet.resolveGet)({
55
+ [`get${model.singularApiName}`]: (0, _resolveGet.resolveGet)({
58
56
  model
59
57
  }),
60
- [`get${typeName}Revisions`]: (0, _resolveGetRevisions.resolveGetRevisions)({
58
+ [`get${model.singularApiName}Revisions`]: (0, _resolveGetRevisions.resolveGetRevisions)({
61
59
  model
62
60
  }),
63
- [`get${(0, _pluralizedTypeName.pluralizedTypeName)(typeName)}ByIds`]: (0, _resolveGetByIds.resolveGetByIds)({
61
+ [`get${model.pluralApiName}ByIds`]: (0, _resolveGetByIds.resolveGetByIds)({
64
62
  model
65
63
  }),
66
- [`list${(0, _pluralizedTypeName.pluralizedTypeName)(typeName)}`]: (0, _resolveList.resolveList)({
64
+ [`list${model.pluralApiName}`]: (0, _resolveList.resolveList)({
67
65
  model
68
66
  })
69
67
  },
70
68
  Mutation: {
71
- [`create${typeName}`]: (0, _resolveCreate.resolveCreate)({
69
+ [`create${model.singularApiName}`]: (0, _resolveCreate.resolveCreate)({
72
70
  model
73
71
  }),
74
- [`update${typeName}`]: (0, _resolveUpdate.resolveUpdate)({
72
+ [`update${model.singularApiName}`]: (0, _resolveUpdate.resolveUpdate)({
75
73
  model
76
74
  }),
77
- [`delete${typeName}`]: (0, _resolveDelete.resolveDelete)({
75
+ [`delete${model.singularApiName}`]: (0, _resolveDelete.resolveDelete)({
78
76
  model
79
77
  }),
80
- [`publish${typeName}`]: (0, _resolvePublish.resolvePublish)({
78
+ [`publish${model.singularApiName}`]: (0, _resolvePublish.resolvePublish)({
81
79
  model
82
80
  }),
83
- [`republish${typeName}`]: (0, _resolveRepublish.resolveRepublish)({
81
+ [`republish${model.singularApiName}`]: (0, _resolveRepublish.resolveRepublish)({
84
82
  model
85
83
  }),
86
- [`unpublish${typeName}`]: (0, _resolveUnpublish.resolveUnpublish)({
84
+ [`unpublish${model.singularApiName}`]: (0, _resolveUnpublish.resolveUnpublish)({
87
85
  model
88
86
  }),
89
- [`create${typeName}From`]: (0, _resolveCreateFrom.resolveCreateFrom)({
87
+ [`create${model.singularApiName}From`]: (0, _resolveCreateFrom.resolveCreateFrom)({
90
88
  model
91
89
  })
92
90
  }
93
91
  }, fieldResolvers), {}, {
94
- [`${mTypeName}Meta`]: {
92
+ [`${model.singularApiName}Meta`]: {
95
93
  title(entry) {
96
94
  return (0, _getEntryTitle.getEntryTitle)(model, entry);
97
95
  },
96
+ description: (entry, _, context) => {
97
+ if (!model.descriptionFieldId) {
98
+ return "";
99
+ }
100
+ const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);
101
+ if (!field) {
102
+ return "";
103
+ }
104
+ return (0, _entryStorage.entryFieldFromStorageTransform)({
105
+ context,
106
+ model,
107
+ field,
108
+ value: entry.values[field.fieldId]
109
+ });
110
+ },
111
+ image: entry => {
112
+ return (0, _getEntryImage.getEntryImage)(model, entry);
113
+ },
98
114
  status(entry) {
99
115
  return entry.status;
100
116
  },
@@ -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","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 { 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 [`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,20 +4,17 @@ 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);
21
18
  const listFilterFieldsRender = (0, _renderListFilterFields.renderListFilterFields)({
22
19
  model,
23
20
  type: "manage",
@@ -33,10 +30,12 @@ const createManageSDL = ({
33
30
  fieldTypePlugins
34
31
  });
35
32
  const inputFields = (0, _renderInputFields.renderInputFields)({
33
+ models,
36
34
  model,
37
35
  fieldTypePlugins
38
36
  });
39
37
  const fields = (0, _renderFields.renderFields)({
38
+ models,
40
39
  model,
41
40
  type: "manage",
42
41
  fieldTypePlugins
@@ -44,20 +43,25 @@ const createManageSDL = ({
44
43
  if (inputFields.length === 0) {
45
44
  return "";
46
45
  }
46
+ const {
47
+ singularApiName: singularName,
48
+ pluralApiName: pluralName
49
+ } = model;
47
50
  return (/* GraphQL */`
48
- """${model.description || model.modelId}"""
49
- type ${mTypeName} {
51
+ """${model.description || singularName}"""
52
+ type ${singularName} {
50
53
  id: ID!
51
54
  entryId: String!
52
55
  createdOn: DateTime!
53
56
  savedOn: DateTime!
54
- createdBy: CmsCreatedBy!
55
- ownedBy: CmsOwnedBy!
56
- meta: ${mTypeName}Meta
57
+ createdBy: CmsIdentity!
58
+ ownedBy: CmsIdentity!
59
+ modifiedBy: CmsIdentity
60
+ meta: ${singularName}Meta
57
61
  ${fields.map(f => f.fields).join("\n")}
58
62
  }
59
63
 
60
- type ${mTypeName}Meta {
64
+ type ${singularName}Meta {
61
65
  modelId: String
62
66
  version: Int
63
67
  locked: Boolean
@@ -67,8 +71,10 @@ const createManageSDL = ({
67
71
  CAUTION: this field is resolved by making an extra query to DB.
68
72
  RECOMMENDATION: Use it only with "get" queries (avoid in "list")
69
73
  """
70
- revisions: [${mTypeName}]
74
+ revisions: [${singularName}!]
71
75
  title: String
76
+ description: String
77
+ image: String
72
78
  """
73
79
  Custom meta data stored in the root of the entry object.
74
80
  """
@@ -76,74 +82,74 @@ const createManageSDL = ({
76
82
  }
77
83
 
78
84
  ${fields.map(f => f.typeDefs).filter(Boolean).join("\n")}
79
-
85
+
80
86
  ${inputFields.map(f => f.typeDefs).filter(Boolean).join("\n")}
81
87
 
82
- ${inputFields && `input ${mTypeName}Input {
88
+ ${inputFields && `input ${singularName}Input {
83
89
  id: ID
84
90
  ${inputFields.map(f => f.fields).join("\n")}
85
91
  }`}
86
92
 
87
- ${getFilterFieldsRender && `input ${mTypeName}GetWhereInput {
93
+ ${getFilterFieldsRender && `input ${singularName}GetWhereInput {
88
94
  ${getFilterFieldsRender}
89
95
  }`}
90
96
 
91
97
 
92
- ${listFilterFieldsRender && `input ${mTypeName}ListWhereInput {
98
+ ${listFilterFieldsRender && `input ${singularName}ListWhereInput {
93
99
  ${listFilterFieldsRender}
94
- AND: [${mTypeName}ListWhereInput!]
95
- OR: [${mTypeName}ListWhereInput!]
100
+ AND: [${singularName}ListWhereInput!]
101
+ OR: [${singularName}ListWhereInput!]
96
102
  }`}
97
103
 
98
- type ${mTypeName}Response {
99
- data: ${mTypeName}
104
+ type ${singularName}Response {
105
+ data: ${singularName}
100
106
  error: CmsError
101
107
  }
102
-
103
- type ${mTypeName}ArrayResponse {
104
- data: [${mTypeName}]
108
+
109
+ type ${singularName}ArrayResponse {
110
+ data: [${singularName}]
105
111
  error: CmsError
106
112
  }
107
113
 
108
- type ${mTypeName}ListResponse {
109
- data: [${mTypeName}]
114
+ type ${singularName}ListResponse {
115
+ data: [${singularName}]
110
116
  meta: CmsListMeta
111
117
  error: CmsError
112
118
  }
113
119
 
114
- ${sortEnumRender && `enum ${mTypeName}ListSorter {
120
+ ${sortEnumRender && `enum ${singularName}ListSorter {
115
121
  ${sortEnumRender}
116
122
  }`}
117
123
 
118
124
  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]
125
+ get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response
126
+
127
+ get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse
128
+
129
+ get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse
130
+
131
+ list${pluralName} (
132
+ where: ${singularName}ListWhereInput
133
+ sort: [${singularName}ListSorter]
128
134
  limit: Int
129
135
  after: String
130
- ): ${mTypeName}ListResponse
136
+ ): ${singularName}ListResponse
131
137
  }
132
138
 
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
139
-
140
- delete${typeName}(revision: ID!): CmsDeleteResponse
141
-
142
- publish${typeName}(revision: ID!): ${mTypeName}Response
143
-
144
- republish${typeName}(revision: ID!): ${mTypeName}Response
145
-
146
- unpublish${typeName}(revision: ID!): ${mTypeName}Response
139
+ extend type Mutation {
140
+ create${singularName}(data: ${singularName}Input!): ${singularName}Response
141
+
142
+ create${singularName}From(revision: ID!, data: ${singularName}Input): ${singularName}Response
143
+
144
+ update${singularName}(revision: ID!, data: ${singularName}Input!): ${singularName}Response
145
+
146
+ delete${singularName}(revision: ID!): CmsDeleteResponse
147
+
148
+ publish${singularName}(revision: ID!): ${singularName}Response
149
+
150
+ republish${singularName}(revision: ID!): ${singularName}Response
151
+
152
+ unpublish${singularName}(revision: ID!): ${singularName}Response
147
153
  }
148
154
  `
149
155
  );
@@ -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","listFilterFieldsRender","renderListFilterFields","type","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","inputFields","renderInputFields","fields","renderFields","length","singularApiName","singularName","pluralApiName","pluralName","description","map","f","join","typeDefs","filter","Boolean"],"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 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({ models, model, fieldTypePlugins });\n const fields = renderFields({ models, model, type: \"manage\", fieldTypePlugins });\n\n if (inputFields.length === 0) {\n return \"\";\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\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 ${singularName}Input {\n id: ID\n ${inputFields.map(f => f.fields).join(\"\\n\")}\n }`\n }\n\n ${\n getFilterFieldsRender &&\n `input ${singularName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n\n\n ${\n listFilterFieldsRender &&\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 sortEnumRender &&\n `enum ${singularName}ListSorter {\n ${sortEnumRender}\n }`\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!): CmsDeleteResponse\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,19 +4,16 @@ 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";
21
18
  const listFilterFieldsRender = (0, _renderListFilterFields.renderListFilterFields)({
22
19
  model,
@@ -33,6 +30,7 @@ const createReadSDL = ({
33
30
  fieldTypePlugins
34
31
  });
35
32
  const fieldsRender = (0, _renderFields.renderFields)({
33
+ models,
36
34
  model,
37
35
  type,
38
36
  fieldTypePlugins
@@ -41,57 +39,61 @@ const createReadSDL = ({
41
39
  return "";
42
40
  }
43
41
  const hasModelIdField = model.fields.some(f => f.fieldId === "modelId");
42
+ const {
43
+ singularApiName: singularName,
44
+ pluralApiName: pluralName
45
+ } = model;
44
46
  return `
45
- """${model.description || ""}"""
46
- type ${rTypeName} {
47
+ """${model.description || singularName}"""
48
+ type ${singularName} {
47
49
  id: ID!
48
50
  entryId: String!
49
51
  ${hasModelIdField ? "" : "modelId: String!"}
50
52
  createdOn: DateTime!
51
53
  savedOn: DateTime!
52
- createdBy: CmsCreatedBy!
53
- ownedBy: CmsOwnedBy!
54
+ createdBy: CmsIdentity!
55
+ ownedBy: CmsIdentity!
54
56
  ${fieldsRender.map(f => f.fields).join("\n")}
55
57
  }
56
58
 
57
59
  ${fieldsRender.map(f => f.typeDefs).filter(Boolean).join("\n")}
58
60
 
59
- ${getFilterFieldsRender && `input ${rTypeName}GetWhereInput {
61
+ ${getFilterFieldsRender && `input ${singularName}GetWhereInput {
60
62
  ${getFilterFieldsRender}
61
63
  }`}
62
64
 
63
65
 
64
- ${listFilterFieldsRender && `input ${rTypeName}ListWhereInput {
66
+ ${listFilterFieldsRender && `input ${singularName}ListWhereInput {
65
67
  ${listFilterFieldsRender}
66
- AND: [${rTypeName}ListWhereInput!]
67
- OR: [${rTypeName}ListWhereInput!]
68
+ AND: [${singularName}ListWhereInput!]
69
+ OR: [${singularName}ListWhereInput!]
68
70
  }`}
69
71
 
70
72
 
71
- ${sortEnumRender && `enum ${rTypeName}ListSorter {
73
+ ${sortEnumRender && `enum ${singularName}ListSorter {
72
74
  ${sortEnumRender}
73
75
  }`}
74
76
 
75
- type ${rTypeName}Response {
76
- data: ${rTypeName}
77
+ type ${singularName}Response {
78
+ data: ${singularName}
77
79
  error: CmsError
78
80
  }
79
81
 
80
- type ${rTypeName}ListResponse {
81
- data: [${rTypeName}]
82
+ type ${singularName}ListResponse {
83
+ data: [${singularName}]
82
84
  meta: CmsListMeta
83
85
  error: CmsError
84
86
  }
85
87
 
86
88
  extend type Query {
87
- get${typeName}(where: ${rTypeName}GetWhereInput!): ${rTypeName}Response
89
+ get${singularName}(where: ${singularName}GetWhereInput!): ${singularName}Response
88
90
 
89
- list${(0, _pluralizedTypeName.pluralizedTypeName)(typeName)}(
90
- where: ${rTypeName}ListWhereInput
91
- sort: [${rTypeName}ListSorter]
91
+ list${pluralName}(
92
+ where: ${singularName}ListWhereInput
93
+ sort: [${singularName}ListSorter]
92
94
  limit: Int
93
95
  after: String
94
- ): ${rTypeName}ListResponse
96
+ ): ${singularName}ListResponse
95
97
  }
96
98
  `;
97
99
  };