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

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 (166) 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.crud.d.ts +5 -2
  7. package/crud/contentEntry.crud.js +848 -830
  8. package/crud/contentEntry.crud.js.map +1 -1
  9. package/crud/contentModel/beforeCreate.js +39 -76
  10. package/crud/contentModel/beforeCreate.js.map +1 -1
  11. package/crud/contentModel/beforeDelete.d.ts +1 -1
  12. package/crud/contentModel/beforeDelete.js +1 -5
  13. package/crud/contentModel/beforeDelete.js.map +1 -1
  14. package/crud/contentModel/beforeUpdate.js +31 -3
  15. package/crud/contentModel/beforeUpdate.js.map +1 -1
  16. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  17. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  18. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  19. package/crud/contentModel/defaultFields.d.ts +5 -0
  20. package/crud/contentModel/defaultFields.js +58 -0
  21. package/crud/contentModel/defaultFields.js.map +1 -0
  22. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  23. package/crud/contentModel/fields/descriptionField.js +42 -0
  24. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  25. package/crud/contentModel/fields/imageField.d.ts +2 -0
  26. package/crud/contentModel/fields/imageField.js +46 -0
  27. package/crud/contentModel/fields/imageField.js.map +1 -0
  28. package/crud/contentModel/fields/titleField.d.ts +2 -0
  29. package/crud/contentModel/fields/titleField.js +58 -0
  30. package/crud/contentModel/fields/titleField.js.map +1 -0
  31. package/crud/contentModel/systemFields.js.map +1 -1
  32. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  33. package/crud/contentModel/validate/endingAllowed.js +26 -0
  34. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  35. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  36. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  37. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  38. package/crud/contentModel/validate/modelId.d.ts +11 -0
  39. package/crud/contentModel/validate/modelId.js +36 -0
  40. package/crud/contentModel/validate/modelId.js.map +1 -0
  41. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  42. package/crud/contentModel/validate/pluralApiName.js +24 -0
  43. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  44. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  45. package/crud/contentModel/validate/singularApiName.js +24 -0
  46. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  47. package/crud/contentModel/validateModel.d.ts +1 -0
  48. package/crud/contentModel/validateModel.js.map +1 -1
  49. package/crud/contentModel/validateModelFields.d.ts +2 -1
  50. package/crud/contentModel/validateModelFields.js +19 -57
  51. package/crud/contentModel/validateModelFields.js.map +1 -1
  52. package/crud/contentModel/validation.d.ts +136 -62
  53. package/crud/contentModel/validation.js +61 -13
  54. package/crud/contentModel/validation.js.map +1 -1
  55. package/crud/contentModel.crud.js +346 -285
  56. package/crud/contentModel.crud.js.map +1 -1
  57. package/crud/contentModelGroup.crud.js +170 -142
  58. package/crud/contentModelGroup.crud.js.map +1 -1
  59. package/crud/settings.crud.d.ts +1 -1
  60. package/crud/settings.crud.js +5 -10
  61. package/crud/settings.crud.js.map +1 -1
  62. package/crud/system.crud.js +0 -60
  63. package/crud/system.crud.js.map +1 -1
  64. package/graphql/checkEndpointAccess.d.ts +2 -0
  65. package/graphql/checkEndpointAccess.js +18 -0
  66. package/graphql/checkEndpointAccess.js.map +1 -0
  67. package/graphql/createExecutableSchema.d.ts +2 -3
  68. package/graphql/createExecutableSchema.js.map +1 -1
  69. package/graphql/createRequestBody.d.ts +2 -0
  70. package/graphql/createRequestBody.js +14 -0
  71. package/graphql/createRequestBody.js.map +1 -0
  72. package/graphql/formatErrorPayload.d.ts +1 -0
  73. package/graphql/formatErrorPayload.js +25 -0
  74. package/graphql/formatErrorPayload.js.map +1 -0
  75. package/graphql/generateSchema.js.map +1 -1
  76. package/graphql/getSchema.d.ts +17 -0
  77. package/graphql/getSchema.js +102 -0
  78. package/graphql/getSchema.js.map +1 -0
  79. package/graphql/graphQLHandlerFactory.js +6 -145
  80. package/graphql/graphQLHandlerFactory.js.map +1 -1
  81. package/graphql/handleRequest.d.ts +11 -0
  82. package/graphql/handleRequest.js +81 -0
  83. package/graphql/handleRequest.js.map +1 -0
  84. package/graphql/schema/baseContentSchema.js +1 -7
  85. package/graphql/schema/baseContentSchema.js.map +1 -1
  86. package/graphql/schema/contentEntries.js +90 -53
  87. package/graphql/schema/contentEntries.js.map +1 -1
  88. package/graphql/schema/contentModelGroups.js +7 -7
  89. package/graphql/schema/contentModelGroups.js.map +1 -1
  90. package/graphql/schema/contentModels.js +23 -4
  91. package/graphql/schema/contentModels.js.map +1 -1
  92. package/graphql/schema/createManageResolvers.d.ts +1 -1
  93. package/graphql/schema/createManageResolvers.js +33 -17
  94. package/graphql/schema/createManageResolvers.js.map +1 -1
  95. package/graphql/schema/createManageSDL.d.ts +1 -0
  96. package/graphql/schema/createManageSDL.js +55 -49
  97. package/graphql/schema/createManageSDL.js.map +1 -1
  98. package/graphql/schema/createPreviewResolvers.js +3 -7
  99. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  100. package/graphql/schema/createReadResolvers.js +4 -8
  101. package/graphql/schema/createReadResolvers.js.map +1 -1
  102. package/graphql/schema/createReadSDL.d.ts +1 -0
  103. package/graphql/schema/createReadSDL.js +24 -22
  104. package/graphql/schema/createReadSDL.js.map +1 -1
  105. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  106. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -1
  107. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  108. package/graphql/schema/schemaPlugins.js +12 -12
  109. package/graphql/schema/schemaPlugins.js.map +1 -1
  110. package/graphql/system.js +0 -16
  111. package/graphql/system.js.map +1 -1
  112. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  113. package/graphqlFields/dynamicZone/dynamicZoneField.js +24 -4
  114. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  115. package/graphqlFields/object.js +21 -2
  116. package/graphqlFields/object.js.map +1 -1
  117. package/graphqlFields/ref.js +42 -14
  118. package/graphqlFields/ref.js.map +1 -1
  119. package/index.d.ts +3 -1
  120. package/index.js +25 -2
  121. package/index.js.map +1 -1
  122. package/package.json +22 -23
  123. package/plugins/CmsModelPlugin.d.ts +19 -3
  124. package/plugins/CmsModelPlugin.js +28 -2
  125. package/plugins/CmsModelPlugin.js.map +1 -1
  126. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  127. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  128. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  129. package/plugins/index.d.ts +1 -0
  130. package/plugins/index.js +11 -0
  131. package/plugins/index.js.map +1 -1
  132. package/types.d.ts +118 -66
  133. package/types.js +1 -1
  134. package/types.js.map +1 -1
  135. package/upgrades/5.33.0/index.js +26 -3
  136. package/upgrades/5.33.0/index.js.map +1 -1
  137. package/upgrades/index.js +3 -0
  138. package/upgrades/index.js.map +1 -1
  139. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  140. package/utils/converters/valueKeyStorageConverter.js +21 -18
  141. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  142. package/utils/createTypeFromFields.d.ts +1 -0
  143. package/utils/createTypeFromFields.js +7 -5
  144. package/utils/createTypeFromFields.js.map +1 -1
  145. package/utils/createTypeName.d.ts +0 -2
  146. package/utils/createTypeName.js +2 -10
  147. package/utils/createTypeName.js.map +1 -1
  148. package/utils/getEntryDescription.d.ts +2 -0
  149. package/utils/getEntryDescription.js +17 -0
  150. package/utils/getEntryDescription.js.map +1 -0
  151. package/utils/getEntryImage.d.ts +2 -0
  152. package/utils/getEntryImage.js +17 -0
  153. package/utils/getEntryImage.js.map +1 -0
  154. package/utils/incrementEntryIdVersion.d.ts +5 -0
  155. package/utils/incrementEntryIdVersion.js +29 -0
  156. package/utils/incrementEntryIdVersion.js.map +1 -0
  157. package/utils/ownership.d.ts +3 -3
  158. package/utils/ownership.js.map +1 -1
  159. package/utils/pluralizedTypeName.js +6 -0
  160. package/utils/pluralizedTypeName.js.map +1 -1
  161. package/utils/renderFields.d.ts +2 -1
  162. package/utils/renderFields.js +8 -1
  163. package/utils/renderFields.js.map +1 -1
  164. package/utils/renderInputFields.d.ts +2 -1
  165. package/utils/renderInputFields.js +4 -0
  166. package/utils/renderInputFields.js.map +1 -1
@@ -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
  };
@@ -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","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","fieldsRender","renderFields","length","hasModelIdField","fields","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 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 models,\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 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 ${\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 \n ${\n sortEnumRender &&\n `enum ${singularName}ListSorter {\n ${sortEnumRender}\n }`\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,sBAAsB,GAAG,IAAAC,8CAAsB,EAAC;IAClDL,KAAK;IACLG,IAAI;IACJF;EACJ,CAAC,CAAC;EAEF,MAAMK,cAAc,GAAG,IAAAC,8BAAc,EAAC;IAClCP,KAAK;IACLC,gBAAgB;IAChBC;EACJ,CAAC,CAAC;EACF,MAAMM,qBAAqB,GAAG,IAAAC,4CAAqB,EAAC;IAChDT,KAAK;IACLC;EACJ,CAAC,CAAC;EACF,MAAMS,YAAY,GAAG,IAAAC,0BAAY,EAAC;IAC9BZ,MAAM;IACNC,KAAK;IACLG,IAAI;IACJF;EACJ,CAAC,CAAC;EAEF,IAAIS,YAAY,CAACE,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO,EAAE;EACb;EAEA,MAAMC,eAAe,GAAGb,KAAK,CAACc,MAAM,CAACC,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,cAAcN,eAAe,GAAG,EAAE,GAAG,kBAAmB;AACxD;AACA;AACA;AACA;AACA,cAAcH,YAAY,CAACa,GAAG,CAACP,CAAC,IAAIA,CAAC,CAACF,MAAM,CAAC,CAACU,IAAI,CAAC,IAAI,CAAE;AACzD;AACA;AACA,UAAUd,YAAY,CACTa,GAAG,CAACP,CAAC,IAAIA,CAAC,CAACS,QAAQ,CAAC,CACpBC,MAAM,CAACC,OAAO,CAAC,CACfH,IAAI,CAAC,IAAI,CAAE;AACxB;AACA,UACYhB,qBAAqB,IACpB,SAAQW,YAAa;AAClC,cAAcX,qBAAsB;AACpC,UACS;AACT;AACA;AACA,UACYJ,sBAAsB,IACrB,SAAQe,YAAa;AAClC,kBAAkBf,sBAAuB;AACzC,wBAAwBe,YAAa;AACrC,uBAAuBA,YAAa;AACpC,UACS;AACT;AACA;AACA,UACYb,cAAc,IACb,QAAOa,YAAa;AACjC,cAAcb,cAAe;AAC7B,UACS;AACT;AACA,eAAea,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"}
@@ -1,6 +1,7 @@
1
1
  import { CmsEntry } from "../../../types";
2
2
  export declare const commonFieldResolvers: () => {
3
3
  id: (entry: CmsEntry) => string | null;
4
- createdBy: (entry: CmsEntry) => import("../../../types").CreatedBy;
5
- ownedBy: (entry: CmsEntry) => import("../../../types").CreatedBy;
4
+ createdBy: (entry: CmsEntry) => import("../../../types").CmsIdentity;
5
+ ownedBy: (entry: CmsEntry) => import("../../../types").CmsIdentity;
6
+ modifiedBy: (entry: CmsEntry) => import("../../../types").CmsIdentity | null;
6
7
  };
@@ -7,6 +7,7 @@ exports.commonFieldResolvers = void 0;
7
7
  const commonFieldResolvers = () => ({
8
8
  id: entry => entry.id || null,
9
9
  createdBy: entry => entry.createdBy || null,
10
- ownedBy: entry => entry.ownedBy || null
10
+ ownedBy: entry => entry.ownedBy || null,
11
+ modifiedBy: entry => entry.modifiedBy || null
11
12
  });
12
13
  exports.commonFieldResolvers = commonFieldResolvers;
@@ -1 +1 @@
1
- {"version":3,"names":["commonFieldResolvers","id","entry","createdBy","ownedBy"],"sources":["commonFieldResolvers.ts"],"sourcesContent":["import { CmsEntry } from \"~/types\";\n\nexport const commonFieldResolvers = () => ({\n id: (entry: CmsEntry) => entry.id || null,\n createdBy: (entry: CmsEntry) => entry.createdBy || null,\n ownedBy: (entry: CmsEntry) => entry.ownedBy || null\n});\n"],"mappings":";;;;;;AAEO,MAAMA,oBAAoB,GAAG,OAAO;EACvCC,EAAE,EAAGC,KAAe,IAAKA,KAAK,CAACD,EAAE,IAAI,IAAI;EACzCE,SAAS,EAAGD,KAAe,IAAKA,KAAK,CAACC,SAAS,IAAI,IAAI;EACvDC,OAAO,EAAGF,KAAe,IAAKA,KAAK,CAACE,OAAO,IAAI;AACnD,CAAC,CAAC;AAAC"}
1
+ {"version":3,"names":["commonFieldResolvers","id","entry","createdBy","ownedBy","modifiedBy"],"sources":["commonFieldResolvers.ts"],"sourcesContent":["import { CmsEntry } from \"~/types\";\n\nexport const commonFieldResolvers = () => ({\n id: (entry: CmsEntry) => entry.id || null,\n createdBy: (entry: CmsEntry) => entry.createdBy || null,\n ownedBy: (entry: CmsEntry) => entry.ownedBy || null,\n modifiedBy: (entry: CmsEntry) => entry.modifiedBy || null\n});\n"],"mappings":";;;;;;AAEO,MAAMA,oBAAoB,GAAG,OAAO;EACvCC,EAAE,EAAGC,KAAe,IAAKA,KAAK,CAACD,EAAE,IAAI,IAAI;EACzCE,SAAS,EAAGD,KAAe,IAAKA,KAAK,CAACC,SAAS,IAAI,IAAI;EACvDC,OAAO,EAAGF,KAAe,IAAKA,KAAK,CAACE,OAAO,IAAI,IAAI;EACnDC,UAAU,EAAGH,KAAe,IAAKA,KAAK,CAACG,UAAU,IAAI;AACzD,CAAC,CAAC;AAAC"}
@@ -38,28 +38,27 @@ const generateSchemaPlugins = async params => {
38
38
  return acc;
39
39
  }, {});
40
40
  const sorterPlugins = plugins.byType(_plugins.CmsGraphQLSchemaSorterPlugin.type);
41
-
42
- // const schemas = getSchemaFromFieldPlugins({
43
- // models,
44
- // fieldTypePlugins,
45
- // type
46
- // });
47
-
48
- // const newPlugins: CmsGraphQLSchemaPlugin[] = [];
49
- // for (const schema of schemas) {
50
- // newPlugins.push(new CmsGraphQLSchemaPlugin(schema));
51
- // }
52
41
  const schemaPlugins = (0, _getSchemaFromFieldPlugins.createGraphQLSchemaPluginFromFieldPlugins)({
53
42
  models,
54
43
  fieldTypePlugins,
55
44
  type
56
45
  });
57
- models.filter(model => model.fields.length > 0).forEach(model => {
46
+ models.filter(model => {
47
+ /**
48
+ * TODO @bruno Remove before 5.35.0
49
+ * Temporary check for the development.
50
+ */
51
+ if (!model.singularApiName || !model.pluralApiName) {
52
+ return false;
53
+ }
54
+ return model.fields.length > 0;
55
+ }).forEach(model => {
58
56
  switch (type) {
59
57
  case "manage":
60
58
  {
61
59
  const plugin = new _plugins.CmsGraphQLSchemaPlugin({
62
60
  typeDefs: (0, _createManageSDL.createManageSDL)({
61
+ models,
63
62
  model,
64
63
  fieldTypePlugins,
65
64
  sorterPlugins
@@ -80,6 +79,7 @@ const generateSchemaPlugins = async params => {
80
79
  {
81
80
  const plugin = new _plugins.CmsGraphQLSchemaPlugin({
82
81
  typeDefs: (0, _createReadSDL.createReadSDL)({
82
+ models,
83
83
  model,
84
84
  fieldTypePlugins,
85
85
  sorterPlugins
@@ -1 +1 @@
1
- {"version":3,"names":["generateSchemaPlugins","params","context","models","plugins","cms","type","fieldTypePlugins","byType","reduce","acc","pl","fieldType","sorterPlugins","CmsGraphQLSchemaSorterPlugin","schemaPlugins","createGraphQLSchemaPluginFromFieldPlugins","filter","model","fields","length","forEach","plugin","CmsGraphQLSchemaPlugin","typeDefs","createManageSDL","resolvers","createManageResolvers","name","modelId","push","createReadSDL","READ","createReadResolvers","createPreviewResolvers","schema"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin, CmsFieldTypePlugins, CmsContext, CmsModel } from \"~/types\";\nimport { createManageSDL } from \"./createManageSDL\";\nimport { createReadSDL } from \"./createReadSDL\";\nimport { createManageResolvers } from \"./createManageResolvers\";\nimport { createReadResolvers } from \"./createReadResolvers\";\nimport { createPreviewResolvers } from \"./createPreviewResolvers\";\nimport { createGraphQLSchemaPluginFromFieldPlugins } from \"~/utils/getSchemaFromFieldPlugins\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface GenerateSchemaPluginsParams {\n context: CmsContext;\n models: CmsModel[];\n}\nexport const generateSchemaPlugins = async (\n params: GenerateSchemaPluginsParams\n): Promise<CmsGraphQLSchemaPlugin[]> => {\n const { context, models } = params;\n const { plugins, cms } = context;\n\n /**\n * If type does not exist, we are not generating schema plugins for models.\n * It should not come to this point, but we check it anyways.\n */\n const { type } = cms;\n if (!type) {\n return [];\n }\n\n // Structure plugins for faster access\n const fieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n\n const sorterPlugins = plugins.byType<CmsGraphQLSchemaSorterPlugin>(\n CmsGraphQLSchemaSorterPlugin.type\n );\n\n // const schemas = getSchemaFromFieldPlugins({\n // models,\n // fieldTypePlugins,\n // type\n // });\n\n // const newPlugins: CmsGraphQLSchemaPlugin[] = [];\n // for (const schema of schemas) {\n // newPlugins.push(new CmsGraphQLSchemaPlugin(schema));\n // }\n const schemaPlugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n fieldTypePlugins,\n type\n });\n\n models\n .filter(model => model.fields.length > 0)\n .forEach(model => {\n switch (type) {\n case \"manage\":\n {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: createManageSDL({ model, fieldTypePlugins, sorterPlugins }),\n resolvers: createManageResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n });\n plugin.name = `headless-cms.graphql.schema.manage.${model.modelId}`;\n schemaPlugins.push(plugin);\n }\n\n break;\n case \"preview\":\n case \"read\":\n {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: createReadSDL({ model, fieldTypePlugins, sorterPlugins }),\n resolvers: cms.READ\n ? createReadResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n : createPreviewResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n });\n plugin.name = `headless-cms.graphql.schema.${type}.${model.modelId}`;\n schemaPlugins.push(plugin);\n }\n break;\n default:\n return;\n }\n });\n\n return schemaPlugins.filter(pl => !!pl.schema.typeDefs);\n};\n"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOO,MAAMA,qBAAqB,GAAG,MACjCC,MAAmC,IACC;EACpC,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAClC,MAAM;IAAEG,OAAO;IAAEC;EAAI,CAAC,GAAGH,OAAO;;EAEhC;AACJ;AACA;AACA;EACI,MAAM;IAAEI;EAAK,CAAC,GAAGD,GAAG;EACpB,IAAI,CAACC,IAAI,EAAE;IACP,OAAO,EAAE;EACb;;EAEA;EACA,MAAMC,gBAAgB,GAAGH,OAAO,CAC3BI,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,GAAG,EAAEC,EAAE,KAAK;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;EAEV,MAAMG,aAAa,GAAGT,OAAO,CAACI,MAAM,CAChCM,qCAA4B,CAACR,IAAI,CACpC;;EAED;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA,MAAMS,aAAa,GAAG,IAAAC,oEAAyC,EAAC;IAC5Db,MAAM;IACNI,gBAAgB;IAChBD;EACJ,CAAC,CAAC;EAEFH,MAAM,CACDc,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC,CACxCC,OAAO,CAACH,KAAK,IAAI;IACd,QAAQZ,IAAI;MACR,KAAK,QAAQ;QACT;UACI,MAAMgB,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAC,gCAAe,EAAC;cAAEP,KAAK;cAAEX,gBAAgB;cAAEM;YAAc,CAAC,CAAC;YACrEa,SAAS,EAAE,IAAAC,4CAAqB,EAAC;cAC7BxB,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC;UACL,CAAC,CAAC;UACFoB,MAAM,CAACM,IAAI,GAAI,sCAAqCV,KAAK,CAACW,OAAQ,EAAC;UACnEd,aAAa,CAACe,IAAI,CAACR,MAAM,CAAC;QAC9B;QAEA;MACJ,KAAK,SAAS;MACd,KAAK,MAAM;QACP;UACI,MAAMA,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAO,4BAAa,EAAC;cAAEb,KAAK;cAAEX,gBAAgB;cAAEM;YAAc,CAAC,CAAC;YACnEa,SAAS,EAAErB,GAAG,CAAC2B,IAAI,GACb,IAAAC,wCAAmB,EAAC;cAChB9B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC,CAAC,GACF,IAAAgC,8CAAsB,EAAC;cACnB/B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC;UACX,CAAC,CAAC;UACFoB,MAAM,CAACM,IAAI,GAAI,+BAA8BtB,IAAK,IAAGY,KAAK,CAACW,OAAQ,EAAC;UACpEd,aAAa,CAACe,IAAI,CAACR,MAAM,CAAC;QAC9B;QACA;MACJ;QACI;IAAO;EAEnB,CAAC,CAAC;EAEN,OAAOP,aAAa,CAACE,MAAM,CAACN,EAAE,IAAI,CAAC,CAACA,EAAE,CAACwB,MAAM,CAACX,QAAQ,CAAC;AAC3D,CAAC;AAAC"}
1
+ {"version":3,"names":["generateSchemaPlugins","params","context","models","plugins","cms","type","fieldTypePlugins","byType","reduce","acc","pl","fieldType","sorterPlugins","CmsGraphQLSchemaSorterPlugin","schemaPlugins","createGraphQLSchemaPluginFromFieldPlugins","filter","model","singularApiName","pluralApiName","fields","length","forEach","plugin","CmsGraphQLSchemaPlugin","typeDefs","createManageSDL","resolvers","createManageResolvers","name","modelId","push","createReadSDL","READ","createReadResolvers","createPreviewResolvers","schema"],"sources":["schemaPlugins.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin, CmsFieldTypePlugins, CmsContext, CmsModel } from \"~/types\";\nimport { createManageSDL } from \"./createManageSDL\";\nimport { createReadSDL } from \"./createReadSDL\";\nimport { createManageResolvers } from \"./createManageResolvers\";\nimport { createReadResolvers } from \"./createReadResolvers\";\nimport { createPreviewResolvers } from \"./createPreviewResolvers\";\nimport { createGraphQLSchemaPluginFromFieldPlugins } from \"~/utils/getSchemaFromFieldPlugins\";\nimport { CmsGraphQLSchemaSorterPlugin } from \"~/plugins\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface GenerateSchemaPluginsParams {\n context: CmsContext;\n models: CmsModel[];\n}\n\nexport const generateSchemaPlugins = async (\n params: GenerateSchemaPluginsParams\n): Promise<CmsGraphQLSchemaPlugin[]> => {\n const { context, models } = params;\n const { plugins, cms } = context;\n\n /**\n * If type does not exist, we are not generating schema plugins for models.\n * It should not come to this point, but we check it anyways.\n */\n const { type } = cms;\n if (!type) {\n return [];\n }\n\n // Structure plugins for faster access\n const fieldTypePlugins = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n\n const sorterPlugins = plugins.byType<CmsGraphQLSchemaSorterPlugin>(\n CmsGraphQLSchemaSorterPlugin.type\n );\n\n const schemaPlugins = createGraphQLSchemaPluginFromFieldPlugins({\n models,\n fieldTypePlugins,\n type\n });\n\n models\n .filter(model => {\n /**\n * TODO @bruno Remove before 5.35.0\n * Temporary check for the development.\n */\n if (!model.singularApiName || !model.pluralApiName) {\n return false;\n }\n return model.fields.length > 0;\n })\n .forEach(model => {\n switch (type) {\n case \"manage\":\n {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: createManageSDL({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n }),\n resolvers: createManageResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n });\n plugin.name = `headless-cms.graphql.schema.manage.${model.modelId}`;\n schemaPlugins.push(plugin);\n }\n\n break;\n case \"preview\":\n case \"read\":\n {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: createReadSDL({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n }),\n resolvers: cms.READ\n ? createReadResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n : createPreviewResolvers({\n models,\n model,\n fieldTypePlugins,\n context\n })\n });\n plugin.name = `headless-cms.graphql.schema.${type}.${model.modelId}`;\n schemaPlugins.push(plugin);\n }\n break;\n default:\n return;\n }\n });\n\n return schemaPlugins.filter(pl => !!pl.schema.typeDefs);\n};\n"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQO,MAAMA,qBAAqB,GAAG,MACjCC,MAAmC,IACC;EACpC,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAClC,MAAM;IAAEG,OAAO;IAAEC;EAAI,CAAC,GAAGH,OAAO;;EAEhC;AACJ;AACA;AACA;EACI,MAAM;IAAEI;EAAK,CAAC,GAAGD,GAAG;EACpB,IAAI,CAACC,IAAI,EAAE;IACP,OAAO,EAAE;EACb;;EAEA;EACA,MAAMC,gBAAgB,GAAGH,OAAO,CAC3BI,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,GAAG,EAAEC,EAAE,KAAK;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;EAEV,MAAMG,aAAa,GAAGT,OAAO,CAACI,MAAM,CAChCM,qCAA4B,CAACR,IAAI,CACpC;EAED,MAAMS,aAAa,GAAG,IAAAC,oEAAyC,EAAC;IAC5Db,MAAM;IACNI,gBAAgB;IAChBD;EACJ,CAAC,CAAC;EAEFH,MAAM,CACDc,MAAM,CAACC,KAAK,IAAI;IACb;AACZ;AACA;AACA;IACY,IAAI,CAACA,KAAK,CAACC,eAAe,IAAI,CAACD,KAAK,CAACE,aAAa,EAAE;MAChD,OAAO,KAAK;IAChB;IACA,OAAOF,KAAK,CAACG,MAAM,CAACC,MAAM,GAAG,CAAC;EAClC,CAAC,CAAC,CACDC,OAAO,CAACL,KAAK,IAAI;IACd,QAAQZ,IAAI;MACR,KAAK,QAAQ;QACT;UACI,MAAMkB,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAC,gCAAe,EAAC;cACtBxB,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBM;YACJ,CAAC,CAAC;YACFe,SAAS,EAAE,IAAAC,4CAAqB,EAAC;cAC7B1B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC;UACL,CAAC,CAAC;UACFsB,MAAM,CAACM,IAAI,GAAI,sCAAqCZ,KAAK,CAACa,OAAQ,EAAC;UACnEhB,aAAa,CAACiB,IAAI,CAACR,MAAM,CAAC;QAC9B;QAEA;MACJ,KAAK,SAAS;MACd,KAAK,MAAM;QACP;UACI,MAAMA,MAAM,GAAG,IAAIC,+BAAsB,CAAC;YACtCC,QAAQ,EAAE,IAAAO,4BAAa,EAAC;cACpB9B,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBM;YACJ,CAAC,CAAC;YACFe,SAAS,EAAEvB,GAAG,CAAC6B,IAAI,GACb,IAAAC,wCAAmB,EAAC;cAChBhC,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC,CAAC,GACF,IAAAkC,8CAAsB,EAAC;cACnBjC,MAAM;cACNe,KAAK;cACLX,gBAAgB;cAChBL;YACJ,CAAC;UACX,CAAC,CAAC;UACFsB,MAAM,CAACM,IAAI,GAAI,+BAA8BxB,IAAK,IAAGY,KAAK,CAACa,OAAQ,EAAC;UACpEhB,aAAa,CAACiB,IAAI,CAACR,MAAM,CAAC;QAC9B;QACA;MACJ;QACI;IAAO;EAEnB,CAAC,CAAC;EAEN,OAAOT,aAAa,CAACE,MAAM,CAACN,EAAE,IAAI,CAAC,CAACA,EAAE,CAAC0B,MAAM,CAACX,QAAQ,CAAC;AAC3D,CAAC;AAAC"}