@webiny/api-headless-cms 0.0.0-unstable.d65ec29d44 → 0.0.0-unstable.da99e0b846
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.
- package/context.js +47 -43
- package/context.js.map +1 -1
- package/crud/contentEntry/markLockedFields.d.ts +1 -1
- package/crud/contentEntry/markLockedFields.js +3 -0
- package/crud/contentEntry/markLockedFields.js.map +1 -1
- package/crud/contentEntry.crud.d.ts +5 -2
- package/crud/contentEntry.crud.js +848 -830
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/beforeCreate.js +39 -76
- package/crud/contentModel/beforeCreate.js.map +1 -1
- package/crud/contentModel/beforeDelete.d.ts +1 -1
- package/crud/contentModel/beforeDelete.js +1 -5
- package/crud/contentModel/beforeDelete.js.map +1 -1
- package/crud/contentModel/beforeUpdate.js +31 -3
- package/crud/contentModel/beforeUpdate.js.map +1 -1
- package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
- package/crud/contentModel/compatibility/modelApiName.js +24 -0
- package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
- package/crud/contentModel/defaultFields.d.ts +5 -0
- package/crud/contentModel/defaultFields.js +58 -0
- package/crud/contentModel/defaultFields.js.map +1 -0
- package/crud/contentModel/fields/descriptionField.d.ts +2 -0
- package/crud/contentModel/fields/descriptionField.js +42 -0
- package/crud/contentModel/fields/descriptionField.js.map +1 -0
- package/crud/contentModel/fields/imageField.d.ts +2 -0
- package/crud/contentModel/fields/imageField.js +46 -0
- package/crud/contentModel/fields/imageField.js.map +1 -0
- package/crud/contentModel/fields/titleField.d.ts +2 -0
- package/crud/contentModel/fields/titleField.js +58 -0
- package/crud/contentModel/fields/titleField.js.map +1 -0
- package/crud/contentModel/systemFields.js.map +1 -1
- package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
- package/crud/contentModel/validate/endingAllowed.js +26 -0
- package/crud/contentModel/validate/endingAllowed.js.map +1 -0
- package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
- package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
- package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
- package/crud/contentModel/validate/modelId.d.ts +11 -0
- package/crud/contentModel/validate/modelId.js +36 -0
- package/crud/contentModel/validate/modelId.js.map +1 -0
- package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
- package/crud/contentModel/validate/pluralApiName.js +24 -0
- package/crud/contentModel/validate/pluralApiName.js.map +1 -0
- package/crud/contentModel/validate/singularApiName.d.ts +7 -0
- package/crud/contentModel/validate/singularApiName.js +24 -0
- package/crud/contentModel/validate/singularApiName.js.map +1 -0
- package/crud/contentModel/validateModel.d.ts +1 -0
- package/crud/contentModel/validateModel.js.map +1 -1
- package/crud/contentModel/validateModelFields.d.ts +2 -1
- package/crud/contentModel/validateModelFields.js +19 -57
- package/crud/contentModel/validateModelFields.js.map +1 -1
- package/crud/contentModel/validation.d.ts +136 -62
- package/crud/contentModel/validation.js +61 -13
- package/crud/contentModel/validation.js.map +1 -1
- package/crud/contentModel.crud.js +346 -285
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup.crud.js +170 -142
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/crud/settings.crud.d.ts +1 -1
- package/crud/settings.crud.js +5 -10
- package/crud/settings.crud.js.map +1 -1
- package/crud/system.crud.js +0 -60
- package/crud/system.crud.js.map +1 -1
- package/graphql/checkEndpointAccess.d.ts +2 -0
- package/graphql/checkEndpointAccess.js +18 -0
- package/graphql/checkEndpointAccess.js.map +1 -0
- package/graphql/createExecutableSchema.d.ts +2 -3
- package/graphql/createExecutableSchema.js.map +1 -1
- package/graphql/createRequestBody.d.ts +2 -0
- package/graphql/createRequestBody.js +14 -0
- package/graphql/createRequestBody.js.map +1 -0
- package/graphql/formatErrorPayload.d.ts +1 -0
- package/graphql/formatErrorPayload.js +25 -0
- package/graphql/formatErrorPayload.js.map +1 -0
- package/graphql/generateSchema.js.map +1 -1
- package/graphql/getSchema.d.ts +17 -0
- package/graphql/getSchema.js +102 -0
- package/graphql/getSchema.js.map +1 -0
- package/graphql/graphQLHandlerFactory.js +6 -145
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/handleRequest.d.ts +11 -0
- package/graphql/handleRequest.js +81 -0
- package/graphql/handleRequest.js.map +1 -0
- package/graphql/schema/baseContentSchema.js +1 -7
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/contentEntries.js +90 -53
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.js +7 -7
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.js +23 -4
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createManageResolvers.d.ts +1 -1
- package/graphql/schema/createManageResolvers.js +33 -17
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.d.ts +1 -0
- package/graphql/schema/createManageSDL.js +55 -49
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.js +3 -7
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.js +4 -8
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.d.ts +1 -0
- package/graphql/schema/createReadSDL.js +24 -22
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
- package/graphql/schema/resolvers/commonFieldResolvers.js +2 -1
- package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
- package/graphql/schema/schemaPlugins.js +12 -12
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/graphql/system.js +0 -16
- package/graphql/system.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.js +12 -4
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
- package/graphqlFields/object.js +21 -2
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.js +42 -14
- package/graphqlFields/ref.js.map +1 -1
- package/index.d.ts +3 -1
- package/index.js +25 -2
- package/index.js.map +1 -1
- package/package.json +22 -23
- package/plugins/CmsModelPlugin.d.ts +19 -3
- package/plugins/CmsModelPlugin.js +28 -2
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
- package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
- package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
- package/plugins/index.d.ts +1 -0
- package/plugins/index.js +11 -0
- package/plugins/index.js.map +1 -1
- package/types.d.ts +118 -66
- package/types.js +1 -1
- package/types.js.map +1 -1
- package/upgrades/5.33.0/index.js +26 -3
- package/upgrades/5.33.0/index.js.map +1 -1
- package/upgrades/index.js +3 -0
- package/upgrades/index.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
- package/utils/converters/valueKeyStorageConverter.js +21 -18
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/createTypeFromFields.d.ts +1 -0
- package/utils/createTypeFromFields.js +7 -5
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/createTypeName.d.ts +0 -2
- package/utils/createTypeName.js +2 -10
- package/utils/createTypeName.js.map +1 -1
- package/utils/getEntryDescription.d.ts +2 -0
- package/utils/getEntryDescription.js +17 -0
- package/utils/getEntryDescription.js.map +1 -0
- package/utils/getEntryImage.d.ts +2 -0
- package/utils/getEntryImage.js +17 -0
- package/utils/getEntryImage.js.map +1 -0
- package/utils/incrementEntryIdVersion.d.ts +5 -0
- package/utils/incrementEntryIdVersion.js +29 -0
- package/utils/incrementEntryIdVersion.js.map +1 -0
- package/utils/ownership.d.ts +3 -3
- package/utils/ownership.js.map +1 -1
- package/utils/pluralizedTypeName.js +6 -0
- package/utils/pluralizedTypeName.js.map +1 -1
- package/utils/renderFields.d.ts +2 -1
- package/utils/renderFields.js +8 -1
- package/utils/renderFields.js.map +1 -1
- package/utils/renderInputFields.d.ts +2 -1
- package/utils/renderInputFields.js +4 -0
- 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 ||
|
|
49
|
-
type ${
|
|
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:
|
|
55
|
-
ownedBy:
|
|
56
|
-
|
|
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 ${
|
|
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: [${
|
|
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 ${
|
|
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 ${
|
|
93
|
+
${getFilterFieldsRender && `input ${singularName}GetWhereInput {
|
|
88
94
|
${getFilterFieldsRender}
|
|
89
95
|
}`}
|
|
90
96
|
|
|
91
97
|
|
|
92
|
-
${listFilterFieldsRender && `input ${
|
|
98
|
+
${listFilterFieldsRender && `input ${singularName}ListWhereInput {
|
|
93
99
|
${listFilterFieldsRender}
|
|
94
|
-
AND: [${
|
|
95
|
-
OR: [${
|
|
100
|
+
AND: [${singularName}ListWhereInput!]
|
|
101
|
+
OR: [${singularName}ListWhereInput!]
|
|
96
102
|
}`}
|
|
97
103
|
|
|
98
|
-
type ${
|
|
99
|
-
data: ${
|
|
104
|
+
type ${singularName}Response {
|
|
105
|
+
data: ${singularName}
|
|
100
106
|
error: CmsError
|
|
101
107
|
}
|
|
102
|
-
|
|
103
|
-
type ${
|
|
104
|
-
data: [${
|
|
108
|
+
|
|
109
|
+
type ${singularName}ArrayResponse {
|
|
110
|
+
data: [${singularName}]
|
|
105
111
|
error: CmsError
|
|
106
112
|
}
|
|
107
113
|
|
|
108
|
-
type ${
|
|
109
|
-
data: [${
|
|
114
|
+
type ${singularName}ListResponse {
|
|
115
|
+
data: [${singularName}]
|
|
110
116
|
meta: CmsListMeta
|
|
111
117
|
error: CmsError
|
|
112
118
|
}
|
|
113
119
|
|
|
114
|
-
${sortEnumRender && `enum ${
|
|
120
|
+
${sortEnumRender && `enum ${singularName}ListSorter {
|
|
115
121
|
${sortEnumRender}
|
|
116
122
|
}`}
|
|
117
123
|
|
|
118
124
|
extend type Query {
|
|
119
|
-
get${
|
|
120
|
-
|
|
121
|
-
get${
|
|
122
|
-
|
|
123
|
-
get${
|
|
124
|
-
|
|
125
|
-
list${
|
|
126
|
-
where: ${
|
|
127
|
-
sort: [${
|
|
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
|
-
): ${
|
|
136
|
+
): ${singularName}ListResponse
|
|
131
137
|
}
|
|
132
138
|
|
|
133
|
-
extend type Mutation{
|
|
134
|
-
create${
|
|
135
|
-
|
|
136
|
-
create${
|
|
137
|
-
|
|
138
|
-
update${
|
|
139
|
-
|
|
140
|
-
delete${
|
|
141
|
-
|
|
142
|
-
publish${
|
|
143
|
-
|
|
144
|
-
republish${
|
|
145
|
-
|
|
146
|
-
unpublish${
|
|
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","
|
|
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:
|
|
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${
|
|
35
|
+
[`get${model.singularApiName}`]: (0, _resolveGet.resolveGet)({
|
|
40
36
|
model
|
|
41
37
|
}),
|
|
42
|
-
[`list${
|
|
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","
|
|
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:
|
|
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${
|
|
35
|
+
[`get${model.singularApiName}`]: (0, _resolveGet.resolveGet)({
|
|
40
36
|
model
|
|
41
37
|
}),
|
|
42
|
-
[`list${
|
|
38
|
+
[`list${model.pluralApiName}`]: (0, _resolveList.resolveList)({
|
|
43
39
|
model
|
|
44
40
|
})
|
|
45
41
|
},
|
|
46
|
-
[
|
|
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","
|
|
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 ${
|
|
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:
|
|
53
|
-
ownedBy:
|
|
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 ${
|
|
61
|
+
${getFilterFieldsRender && `input ${singularName}GetWhereInput {
|
|
60
62
|
${getFilterFieldsRender}
|
|
61
63
|
}`}
|
|
62
64
|
|
|
63
65
|
|
|
64
|
-
${listFilterFieldsRender && `input ${
|
|
66
|
+
${listFilterFieldsRender && `input ${singularName}ListWhereInput {
|
|
65
67
|
${listFilterFieldsRender}
|
|
66
|
-
AND: [${
|
|
67
|
-
OR: [${
|
|
68
|
+
AND: [${singularName}ListWhereInput!]
|
|
69
|
+
OR: [${singularName}ListWhereInput!]
|
|
68
70
|
}`}
|
|
69
71
|
|
|
70
72
|
|
|
71
|
-
${sortEnumRender && `enum ${
|
|
73
|
+
${sortEnumRender && `enum ${singularName}ListSorter {
|
|
72
74
|
${sortEnumRender}
|
|
73
75
|
}`}
|
|
74
76
|
|
|
75
|
-
type ${
|
|
76
|
-
data: ${
|
|
77
|
+
type ${singularName}Response {
|
|
78
|
+
data: ${singularName}
|
|
77
79
|
error: CmsError
|
|
78
80
|
}
|
|
79
81
|
|
|
80
|
-
type ${
|
|
81
|
-
data: [${
|
|
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${
|
|
89
|
+
get${singularName}(where: ${singularName}GetWhereInput!): ${singularName}Response
|
|
88
90
|
|
|
89
|
-
list${
|
|
90
|
-
where: ${
|
|
91
|
-
sort: [${
|
|
91
|
+
list${pluralName}(
|
|
92
|
+
where: ${singularName}ListWhereInput
|
|
93
|
+
sort: [${singularName}ListSorter]
|
|
92
94
|
limit: Int
|
|
93
95
|
after: String
|
|
94
|
-
): ${
|
|
96
|
+
): ${singularName}ListResponse
|
|
95
97
|
}
|
|
96
98
|
`;
|
|
97
99
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createReadSDL","model","fieldTypePlugins","sorterPlugins","
|
|
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").
|
|
5
|
-
ownedBy: (entry: CmsEntry) => import("../../../types").
|
|
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;
|
|
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 =>
|
|
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
|
|
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"}
|