@payloadcms/graphql 3.0.0-alpha.5 → 3.0.0-alpha.51
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/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -95
- package/dist/index.js.map +1 -0
- package/dist/resolvers/auth/access.d.ts +1 -1
- package/dist/resolvers/auth/access.d.ts.map +1 -1
- package/dist/resolvers/auth/access.js +8 -23
- package/dist/resolvers/auth/access.js.map +1 -0
- package/dist/resolvers/auth/forgotPassword.d.ts.map +1 -1
- package/dist/resolvers/auth/forgotPassword.js +6 -16
- package/dist/resolvers/auth/forgotPassword.js.map +1 -0
- package/dist/resolvers/auth/init.d.ts +1 -1
- package/dist/resolvers/auth/init.d.ts.map +1 -1
- package/dist/resolvers/auth/init.js +6 -16
- package/dist/resolvers/auth/init.js.map +1 -0
- package/dist/resolvers/auth/login.d.ts +1 -4
- package/dist/resolvers/auth/login.d.ts.map +1 -1
- package/dist/resolvers/auth/login.js +10 -20
- package/dist/resolvers/auth/login.js.map +1 -0
- package/dist/resolvers/auth/logout.d.ts.map +1 -1
- package/dist/resolvers/auth/logout.js +8 -18
- package/dist/resolvers/auth/logout.js.map +1 -0
- package/dist/resolvers/auth/me.d.ts.map +1 -1
- package/dist/resolvers/auth/me.js +6 -16
- package/dist/resolvers/auth/me.js.map +1 -0
- package/dist/resolvers/auth/refresh.d.ts +1 -2
- package/dist/resolvers/auth/refresh.d.ts.map +1 -1
- package/dist/resolvers/auth/refresh.js +11 -21
- package/dist/resolvers/auth/refresh.js.map +1 -0
- package/dist/resolvers/auth/resetPassword.d.ts +1 -2
- package/dist/resolvers/auth/resetPassword.d.ts.map +1 -1
- package/dist/resolvers/auth/resetPassword.js +10 -20
- package/dist/resolvers/auth/resetPassword.js.map +1 -0
- package/dist/resolvers/auth/unlock.d.ts +1 -1
- package/dist/resolvers/auth/unlock.d.ts.map +1 -1
- package/dist/resolvers/auth/unlock.js +6 -16
- package/dist/resolvers/auth/unlock.js.map +1 -0
- package/dist/resolvers/auth/verifyEmail.d.ts +1 -1
- package/dist/resolvers/auth/verifyEmail.d.ts.map +1 -1
- package/dist/resolvers/auth/verifyEmail.js +6 -16
- package/dist/resolvers/auth/verifyEmail.js.map +1 -0
- package/dist/resolvers/collections/create.d.ts +1 -1
- package/dist/resolvers/collections/create.d.ts.map +1 -1
- package/dist/resolvers/collections/create.js +6 -16
- package/dist/resolvers/collections/create.js.map +1 -0
- package/dist/resolvers/collections/delete.d.ts.map +1 -1
- package/dist/resolvers/collections/delete.js +8 -18
- package/dist/resolvers/collections/delete.js.map +1 -0
- package/dist/resolvers/collections/docAccess.d.ts +1 -1
- package/dist/resolvers/collections/docAccess.d.ts.map +1 -1
- package/dist/resolvers/collections/docAccess.js +7 -17
- package/dist/resolvers/collections/docAccess.js.map +1 -0
- package/dist/resolvers/collections/duplicate.d.ts +13 -0
- package/dist/resolvers/collections/duplicate.d.ts.map +1 -0
- package/dist/resolvers/collections/duplicate.js +22 -0
- package/dist/resolvers/collections/duplicate.js.map +1 -0
- package/dist/resolvers/collections/find.d.ts.map +1 -1
- package/dist/resolvers/collections/find.js +8 -18
- package/dist/resolvers/collections/find.js.map +1 -0
- package/dist/resolvers/collections/findByID.d.ts.map +1 -1
- package/dist/resolvers/collections/findByID.js +8 -18
- package/dist/resolvers/collections/findByID.js.map +1 -0
- package/dist/resolvers/collections/findVersionByID.d.ts +1 -1
- package/dist/resolvers/collections/findVersionByID.d.ts.map +1 -1
- package/dist/resolvers/collections/findVersionByID.js +8 -18
- package/dist/resolvers/collections/findVersionByID.js.map +1 -0
- package/dist/resolvers/collections/findVersions.d.ts +1 -1
- package/dist/resolvers/collections/findVersions.d.ts.map +1 -1
- package/dist/resolvers/collections/findVersions.js +8 -18
- package/dist/resolvers/collections/findVersions.js.map +1 -0
- package/dist/resolvers/collections/restoreVersion.d.ts.map +1 -1
- package/dist/resolvers/collections/restoreVersion.js +6 -16
- package/dist/resolvers/collections/restoreVersion.js.map +1 -0
- package/dist/resolvers/collections/update.d.ts.map +1 -1
- package/dist/resolvers/collections/update.js +8 -18
- package/dist/resolvers/collections/update.js.map +1 -0
- package/dist/resolvers/globals/docAccess.d.ts +1 -1
- package/dist/resolvers/globals/docAccess.d.ts.map +1 -1
- package/dist/resolvers/globals/docAccess.js +6 -16
- package/dist/resolvers/globals/docAccess.js.map +1 -0
- package/dist/resolvers/globals/findOne.d.ts.map +1 -1
- package/dist/resolvers/globals/findOne.js +6 -16
- package/dist/resolvers/globals/findOne.js.map +1 -0
- package/dist/resolvers/globals/findVersionByID.d.ts.map +1 -1
- package/dist/resolvers/globals/findVersionByID.js +6 -16
- package/dist/resolvers/globals/findVersionByID.js.map +1 -0
- package/dist/resolvers/globals/findVersions.d.ts.map +1 -1
- package/dist/resolvers/globals/findVersions.js +6 -16
- package/dist/resolvers/globals/findVersions.js.map +1 -0
- package/dist/resolvers/globals/index.d.ts +5 -5
- package/dist/resolvers/globals/index.d.ts.map +1 -1
- package/dist/resolvers/globals/index.js +7 -38
- package/dist/resolvers/globals/index.js.map +1 -0
- package/dist/resolvers/globals/restoreVersion.d.ts.map +1 -1
- package/dist/resolvers/globals/restoreVersion.js +6 -16
- package/dist/resolvers/globals/restoreVersion.js.map +1 -0
- package/dist/resolvers/globals/update.d.ts +1 -1
- package/dist/resolvers/globals/update.d.ts.map +1 -1
- package/dist/resolvers/globals/update.js +6 -16
- package/dist/resolvers/globals/update.js.map +1 -0
- package/dist/resolvers/types.d.ts +2 -2
- package/dist/resolvers/types.d.ts.map +1 -1
- package/dist/resolvers/types.js +2 -5
- package/dist/resolvers/types.js.map +1 -0
- package/dist/schema/buildFallbackLocaleInputType.d.ts +1 -1
- package/dist/schema/buildFallbackLocaleInputType.d.ts.map +1 -1
- package/dist/schema/buildFallbackLocaleInputType.js +6 -21
- package/dist/schema/buildFallbackLocaleInputType.js.map +1 -0
- package/dist/schema/buildLocaleInputType.d.ts +1 -1
- package/dist/schema/buildLocaleInputType.d.ts.map +1 -1
- package/dist/schema/buildLocaleInputType.js +6 -21
- package/dist/schema/buildLocaleInputType.js.map +1 -0
- package/dist/schema/buildMutationInputType.d.ts +6 -6
- package/dist/schema/buildMutationInputType.d.ts.map +1 -1
- package/dist/schema/buildMutationInputType.js +59 -81
- package/dist/schema/buildMutationInputType.js.map +1 -0
- package/dist/schema/buildObjectType.d.ts +5 -5
- package/dist/schema/buildObjectType.d.ts.map +1 -1
- package/dist/schema/buildObjectType.js +68 -83
- package/dist/schema/buildObjectType.js.map +1 -0
- package/dist/schema/buildPaginatedListType.js +15 -25
- package/dist/schema/buildPaginatedListType.js.map +1 -0
- package/dist/schema/buildPoliciesType.d.ts +1 -1
- package/dist/schema/buildPoliciesType.d.ts.map +1 -1
- package/dist/schema/buildPoliciesType.js +31 -57
- package/dist/schema/buildPoliciesType.js.map +1 -0
- package/dist/schema/buildWhereInputType.d.ts +1 -1
- package/dist/schema/buildWhereInputType.d.ts.map +1 -1
- package/dist/schema/buildWhereInputType.js +19 -34
- package/dist/schema/buildWhereInputType.js.map +1 -0
- package/dist/schema/fieldToWhereInputSchemaMap.d.ts.map +1 -1
- package/dist/schema/fieldToWhereInputSchemaMap.js +34 -48
- package/dist/schema/fieldToWhereInputSchemaMap.js.map +1 -0
- package/dist/schema/initCollections.d.ts.map +1 -1
- package/dist/schema/initCollections.js +180 -185
- package/dist/schema/initCollections.js.map +1 -0
- package/dist/schema/initGlobals.d.ts.map +1 -1
- package/dist/schema/initGlobals.js +59 -73
- package/dist/schema/initGlobals.js.map +1 -0
- package/dist/schema/isFieldNullable.js +4 -14
- package/dist/schema/isFieldNullable.js.map +1 -0
- package/dist/schema/operators.js +2 -12
- package/dist/schema/operators.js.map +1 -0
- package/dist/schema/recursivelyBuildNestedPaths.d.ts.map +1 -1
- package/dist/schema/recursivelyBuildNestedPaths.js +11 -26
- package/dist/schema/recursivelyBuildNestedPaths.js.map +1 -0
- package/dist/schema/withNullableType.d.ts.map +1 -1
- package/dist/schema/withNullableType.js +4 -14
- package/dist/schema/withNullableType.js.map +1 -0
- package/dist/schema/withOperators.d.ts +1 -1
- package/dist/schema/withOperators.d.ts.map +1 -1
- package/dist/schema/withOperators.js +82 -86
- package/dist/schema/withOperators.js.map +1 -0
- package/dist/utilities/combineParentName.js +4 -19
- package/dist/utilities/combineParentName.js.map +1 -0
- package/dist/utilities/formatName.js +2 -12
- package/dist/utilities/formatName.js.map +1 -0
- package/dist/utilities/formatName.spec.js +3 -12
- package/dist/utilities/formatName.spec.js.map +1 -0
- package/dist/utilities/formatOptions.js +5 -20
- package/dist/utilities/formatOptions.js.map +1 -0
- package/dist/utilities/getCheckIfLocaleObject.js +2 -12
- package/dist/utilities/getCheckIfLocaleObject.js.map +1 -0
- package/dist/utilities/groupOrTabHasRequiredSubfield.js +4 -14
- package/dist/utilities/groupOrTabHasRequiredSubfield.js.map +1 -0
- package/dist/utilities/uppercase.js +2 -12
- package/dist/utilities/uppercase.js.map +1 -0
- package/dist/utilities/wrapCustomResolver.d.ts +2 -2
- package/dist/utilities/wrapCustomResolver.d.ts.map +1 -1
- package/dist/utilities/wrapCustomResolver.js +4 -14
- package/dist/utilities/wrapCustomResolver.js.map +1 -0
- package/package.json +12 -7
- package/src/index.ts +24 -24
- package/dist/utilities/isolateTransactionID.d.ts +0 -2
- package/dist/utilities/isolateTransactionID.d.ts.map +0 -1
- package/dist/utilities/isolateTransactionID.js +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildPoliciesType.d.ts","sourceRoot":"","sources":["../../src/schema/buildPoliciesType.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"buildPoliciesType.d.ts","sourceRoot":"","sources":["../../src/schema/buildPoliciesType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,KAAK,EACL,YAAY,EAEZ,eAAe,EAEhB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAkC,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAM3E,KAAK,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAExF,KAAK,YAAY,GAAG,WAAW,GAAG,SAAS,CAAA;AA8E3C,KAAK,iBAAiB,GAAG;IACvB,YAAY,EAAE,KAAK,EAAE,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AACD,eAAO,MAAM,iBAAiB,SAAU,iBAAiB;;;;CA4BxD,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,CACA;IACE,MAAM,EAAE,gBAAgB,CAAA;IACxB,IAAI,EAAE,YAAY,CAAA;CACnB,GACD;IACE,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,QAAQ,CAAA;CACf,CACJ,CAAA;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,iBAAiB,CAuDxE;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,CAyCpF"}
|
|
@@ -1,38 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
buildEntityPolicy: function() {
|
|
13
|
-
return buildEntityPolicy;
|
|
14
|
-
},
|
|
15
|
-
buildPolicyType: function() {
|
|
16
|
-
return buildPolicyType;
|
|
17
|
-
},
|
|
18
|
-
default: function() {
|
|
19
|
-
return buildPoliciesType;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _graphql = require("graphql");
|
|
23
|
-
const _graphqltypejson = require("graphql-type-json");
|
|
24
|
-
const _utilities = require("payload/utilities");
|
|
25
|
-
const _formatName = /*#__PURE__*/ _interop_require_default(require("../utilities/formatName"));
|
|
26
|
-
function _interop_require_default(obj) {
|
|
27
|
-
return obj && obj.__esModule ? obj : {
|
|
28
|
-
default: obj
|
|
29
|
-
};
|
|
30
|
-
}
|
|
1
|
+
import { GraphQLBoolean, GraphQLNonNull, GraphQLObjectType } from 'graphql';
|
|
2
|
+
import { GraphQLJSONObject } from 'graphql-type-json';
|
|
3
|
+
import { toWords } from 'payload/utilities';
|
|
4
|
+
import formatName from '../utilities/formatName.js';
|
|
31
5
|
const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, field)=>{
|
|
32
6
|
const includeField = !field.hidden && field.type !== 'ui';
|
|
33
7
|
if (includeField) {
|
|
34
8
|
if (field.name) {
|
|
35
|
-
const fieldName = (
|
|
9
|
+
const fieldName = formatName(field.name);
|
|
36
10
|
const objectTypeFields = [
|
|
37
11
|
'create',
|
|
38
12
|
'read',
|
|
@@ -43,11 +17,11 @@ const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, f
|
|
|
43
17
|
return {
|
|
44
18
|
...operations,
|
|
45
19
|
[operation]: {
|
|
46
|
-
type: new
|
|
20
|
+
type: new GraphQLObjectType({
|
|
47
21
|
name: `${label}_${fieldName}_${capitalizedOperation}`,
|
|
48
22
|
fields: {
|
|
49
23
|
permission: {
|
|
50
|
-
type: new
|
|
24
|
+
type: new GraphQLNonNull(GraphQLBoolean)
|
|
51
25
|
}
|
|
52
26
|
}
|
|
53
27
|
})
|
|
@@ -56,7 +30,7 @@ const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, f
|
|
|
56
30
|
}, {});
|
|
57
31
|
if (field.fields) {
|
|
58
32
|
objectTypeFields.fields = {
|
|
59
|
-
type: new
|
|
33
|
+
type: new GraphQLObjectType({
|
|
60
34
|
name: `${label}_${fieldName}_Fields`,
|
|
61
35
|
fields: buildFields(`${label}_${fieldName}`, field.fields)
|
|
62
36
|
})
|
|
@@ -65,7 +39,7 @@ const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, f
|
|
|
65
39
|
return {
|
|
66
40
|
...builtFields,
|
|
67
41
|
[field.name]: {
|
|
68
|
-
type: new
|
|
42
|
+
type: new GraphQLObjectType({
|
|
69
43
|
name: `${label}_${fieldName}`,
|
|
70
44
|
fields: objectTypeFields
|
|
71
45
|
})
|
|
@@ -92,28 +66,28 @@ const buildFields = (label, fieldsToBuild)=>fieldsToBuild.reduce((builtFields, f
|
|
|
92
66
|
}
|
|
93
67
|
return builtFields;
|
|
94
68
|
}, {});
|
|
95
|
-
const buildEntityPolicy = (args)=>{
|
|
69
|
+
export const buildEntityPolicy = (args)=>{
|
|
96
70
|
const { name, entityFields, operations, scope } = args;
|
|
97
|
-
const fieldsTypeName =
|
|
71
|
+
const fieldsTypeName = toWords(`${name}-${scope || ''}-Fields`, true);
|
|
98
72
|
const fields = {
|
|
99
73
|
fields: {
|
|
100
|
-
type: new
|
|
74
|
+
type: new GraphQLObjectType({
|
|
101
75
|
name: fieldsTypeName,
|
|
102
76
|
fields: buildFields(fieldsTypeName, entityFields)
|
|
103
77
|
})
|
|
104
78
|
}
|
|
105
79
|
};
|
|
106
80
|
operations.forEach((operation)=>{
|
|
107
|
-
const operationTypeName =
|
|
81
|
+
const operationTypeName = toWords(`${name}-${operation}-${scope || 'Access'}`, true);
|
|
108
82
|
fields[operation] = {
|
|
109
|
-
type: new
|
|
83
|
+
type: new GraphQLObjectType({
|
|
110
84
|
name: operationTypeName,
|
|
111
85
|
fields: {
|
|
112
86
|
permission: {
|
|
113
|
-
type: new
|
|
87
|
+
type: new GraphQLNonNull(GraphQLBoolean)
|
|
114
88
|
},
|
|
115
89
|
where: {
|
|
116
|
-
type:
|
|
90
|
+
type: GraphQLJSONObject
|
|
117
91
|
}
|
|
118
92
|
}
|
|
119
93
|
})
|
|
@@ -121,9 +95,9 @@ const buildEntityPolicy = (args)=>{
|
|
|
121
95
|
});
|
|
122
96
|
return fields;
|
|
123
97
|
};
|
|
124
|
-
function buildPolicyType(args) {
|
|
125
|
-
const { entity, scope,
|
|
126
|
-
const { fields, graphQL,
|
|
98
|
+
export function buildPolicyType(args) {
|
|
99
|
+
const { type, entity, scope, typeSuffix } = args;
|
|
100
|
+
const { slug, fields, graphQL, versions } = entity;
|
|
127
101
|
let operations = [];
|
|
128
102
|
if (graphQL === false) return null;
|
|
129
103
|
if (type === 'collection') {
|
|
@@ -139,8 +113,8 @@ function buildPolicyType(args) {
|
|
|
139
113
|
if (versions) {
|
|
140
114
|
operations.push('readVersions');
|
|
141
115
|
}
|
|
142
|
-
const collectionTypeName = (
|
|
143
|
-
return new
|
|
116
|
+
const collectionTypeName = formatName(`${slug}${typeSuffix || ''}`);
|
|
117
|
+
return new GraphQLObjectType({
|
|
144
118
|
name: collectionTypeName,
|
|
145
119
|
fields: buildEntityPolicy({
|
|
146
120
|
name: slug,
|
|
@@ -158,8 +132,8 @@ function buildPolicyType(args) {
|
|
|
158
132
|
if (entity.versions) {
|
|
159
133
|
operations.push('readVersions');
|
|
160
134
|
}
|
|
161
|
-
const globalTypeName = (
|
|
162
|
-
return new
|
|
135
|
+
const globalTypeName = formatName(`${global?.graphQL?.name || slug}${typeSuffix || ''}`);
|
|
136
|
+
return new GraphQLObjectType({
|
|
163
137
|
name: globalTypeName,
|
|
164
138
|
fields: buildEntityPolicy({
|
|
165
139
|
name: entity.graphQL ? entity?.graphQL?.name || slug : slug,
|
|
@@ -169,10 +143,10 @@ function buildPolicyType(args) {
|
|
|
169
143
|
})
|
|
170
144
|
});
|
|
171
145
|
}
|
|
172
|
-
function buildPoliciesType(config) {
|
|
146
|
+
export default function buildPoliciesType(config) {
|
|
173
147
|
const fields = {
|
|
174
148
|
canAccessAdmin: {
|
|
175
|
-
type: new
|
|
149
|
+
type: new GraphQLNonNull(GraphQLBoolean)
|
|
176
150
|
}
|
|
177
151
|
};
|
|
178
152
|
Object.values(config.collections).forEach((collection)=>{
|
|
@@ -180,11 +154,11 @@ function buildPoliciesType(config) {
|
|
|
180
154
|
return;
|
|
181
155
|
}
|
|
182
156
|
const collectionPolicyType = buildPolicyType({
|
|
183
|
-
entity: collection,
|
|
184
157
|
type: 'collection',
|
|
158
|
+
entity: collection,
|
|
185
159
|
typeSuffix: 'Access'
|
|
186
160
|
});
|
|
187
|
-
fields[(
|
|
161
|
+
fields[formatName(collection.slug)] = {
|
|
188
162
|
type: collectionPolicyType
|
|
189
163
|
};
|
|
190
164
|
});
|
|
@@ -193,18 +167,18 @@ function buildPoliciesType(config) {
|
|
|
193
167
|
return;
|
|
194
168
|
}
|
|
195
169
|
const globalPolicyType = buildPolicyType({
|
|
196
|
-
entity: global1,
|
|
197
170
|
type: 'global',
|
|
171
|
+
entity: global1,
|
|
198
172
|
typeSuffix: 'Access'
|
|
199
173
|
});
|
|
200
|
-
fields[(
|
|
174
|
+
fields[formatName(global1.slug)] = {
|
|
201
175
|
type: globalPolicyType
|
|
202
176
|
};
|
|
203
177
|
});
|
|
204
|
-
return new
|
|
178
|
+
return new GraphQLObjectType({
|
|
205
179
|
name: 'Access',
|
|
206
180
|
fields
|
|
207
181
|
});
|
|
208
182
|
}
|
|
209
183
|
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGRQb2xpY2llc1R5cGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTEJvb2xlYW4sIEdyYXBoUUxOb25OdWxsLCBHcmFwaFFMT2JqZWN0VHlwZSB9IGZyb20gJ2dyYXBocWwnXG5pbXBvcnQgeyBHcmFwaFFMSlNPTk9iamVjdCB9IGZyb20gJ2dyYXBocWwtdHlwZS1qc29uJ1xuaW1wb3J0IHR5cGUge1xuICBDb2xsZWN0aW9uQ29uZmlnLFxuICBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLFxuICBGaWVsZCxcbiAgR2xvYmFsQ29uZmlnLFxuICBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4gIFNhbml0aXplZENvbmZpZyxcbn0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuaW1wb3J0IGZvcm1hdE5hbWUgZnJvbSAnLi4vdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5cbnR5cGUgT3BlcmF0aW9uVHlwZSA9ICdjcmVhdGUnIHwgJ2RlbGV0ZScgfCAncmVhZCcgfCAncmVhZFZlcnNpb25zJyB8ICd1bmxvY2snIHwgJ3VwZGF0ZSdcblxudHlwZSBBY2Nlc3NTY29wZXMgPSAnZG9jQWNjZXNzJyB8IHVuZGVmaW5lZFxuXG50eXBlIE9iamVjdFR5cGVGaWVsZHMgPSB7XG4gIFtrZXkgaW4gJ2ZpZWxkcycgfCBPcGVyYXRpb25UeXBlXT86IHsgdHlwZTogR3JhcGhRTE9iamVjdFR5cGUgfVxufVxuXG5jb25zdCBidWlsZEZpZWxkcyA9IChsYWJlbCwgZmllbGRzVG9CdWlsZCkgPT5cbiAgZmllbGRzVG9CdWlsZC5yZWR1Y2UoKGJ1aWx0RmllbGRzLCBmaWVsZCkgPT4ge1xuICAgIGNvbnN0IGluY2x1ZGVGaWVsZCA9ICFmaWVsZC5oaWRkZW4gJiYgZmllbGQudHlwZSAhPT0gJ3VpJ1xuICAgIGlmIChpbmNsdWRlRmllbGQpIHtcbiAgICAgIGlmIChmaWVsZC5uYW1lKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUoZmllbGQubmFtZSlcblxuICAgICAgICBjb25zdCBvYmplY3RUeXBlRmllbGRzOiBPYmplY3RUeXBlRmllbGRzID0gWydjcmVhdGUnLCAncmVhZCcsICd1cGRhdGUnLCAnZGVsZXRlJ10ucmVkdWNlKFxuICAgICAgICAgIChvcGVyYXRpb25zLCBvcGVyYXRpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhcGl0YWxpemVkT3BlcmF0aW9uID0gb3BlcmF0aW9uLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgb3BlcmF0aW9uLnNsaWNlKDEpXG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLm9wZXJhdGlvbnMsXG4gICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1fJHtjYXBpdGFsaXplZE9wZXJhdGlvbn1gLFxuICAgICAgICAgICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHt9LFxuICAgICAgICApXG5cbiAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIG9iamVjdFR5cGVGaWVsZHMuZmllbGRzID0ge1xuICAgICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogYCR7bGFiZWx9XyR7ZmllbGROYW1lfV9GaWVsZHNgLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJ1aWxkRmllbGRzKGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1gLCBmaWVsZC5maWVsZHMpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5idWlsdEZpZWxkcyxcbiAgICAgICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICAgIG5hbWU6IGAke2xhYmVsfV8ke2ZpZWxkTmFtZX1gLFxuICAgICAgICAgICAgICBmaWVsZHM6IG9iamVjdFR5cGVGaWVsZHMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghZmllbGQubmFtZSAmJiBmaWVsZC5maWVsZHMpIHtcbiAgICAgICAgY29uc3Qgc3ViRmllbGRzID0gYnVpbGRGaWVsZHMobGFiZWwsIGZpZWxkLmZpZWxkcylcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmJ1aWx0RmllbGRzLFxuICAgICAgICAgIC4uLnN1YkZpZWxkcyxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC50YWJzLnJlZHVjZShcbiAgICAgICAgICAoZmllbGRzV2l0aFRhYkZpZWxkcywgdGFiKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5maWVsZHNXaXRoVGFiRmllbGRzLFxuICAgICAgICAgICAgICAuLi5idWlsZEZpZWxkcyhsYWJlbCwgdGFiLmZpZWxkcyksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IC4uLmJ1aWx0RmllbGRzIH0sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGJ1aWx0RmllbGRzXG4gIH0sIHt9KVxuXG50eXBlIEJ1aWxkRW50aXR5UG9saWN5ID0ge1xuICBlbnRpdHlGaWVsZHM6IEZpZWxkW11cbiAgbmFtZTogc3RyaW5nXG4gIG9wZXJhdGlvbnM6IE9wZXJhdGlvblR5cGVbXVxuICBzY29wZTogQWNjZXNzU2NvcGVzXG59XG5leHBvcnQgY29uc3QgYnVpbGRFbnRpdHlQb2xpY3kgPSAoYXJnczogQnVpbGRFbnRpdHlQb2xpY3kpID0+IHtcbiAgY29uc3QgeyBuYW1lLCBlbnRpdHlGaWVsZHMsIG9wZXJhdGlvbnMsIHNjb3BlIH0gPSBhcmdzXG5cbiAgY29uc3QgZmllbGRzVHlwZU5hbWUgPSB0b1dvcmRzKGAke25hbWV9LSR7c2NvcGUgfHwgJyd9LUZpZWxkc2AsIHRydWUpXG4gIGNvbnN0IGZpZWxkcyA9IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGZpZWxkc1R5cGVOYW1lLFxuICAgICAgICBmaWVsZHM6IGJ1aWxkRmllbGRzKGZpZWxkc1R5cGVOYW1lLCBlbnRpdHlGaWVsZHMpLFxuICAgICAgfSksXG4gICAgfSxcbiAgfVxuXG4gIG9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uKSA9PiB7XG4gICAgY29uc3Qgb3BlcmF0aW9uVHlwZU5hbWUgPSB0b1dvcmRzKGAke25hbWV9LSR7b3BlcmF0aW9ufS0ke3Njb3BlIHx8ICdBY2Nlc3MnfWAsIHRydWUpXG5cbiAgICBmaWVsZHNbb3BlcmF0aW9uXSA9IHtcbiAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IG9wZXJhdGlvblR5cGVOYW1lLFxuICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICBwZXJtaXNzaW9uOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMQm9vbGVhbikgfSxcbiAgICAgICAgICB3aGVyZTogeyB0eXBlOiBHcmFwaFFMSlNPTk9iamVjdCB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBmaWVsZHNcbn1cblxudHlwZSBCdWlsZFBvbGljeVR5cGUgPSB7XG4gIHNjb3BlPzogQWNjZXNzU2NvcGVzXG4gIHR5cGVTdWZmaXg/OiBzdHJpbmdcbn0gJiAoXG4gIHwge1xuICAgICAgZW50aXR5OiBDb2xsZWN0aW9uQ29uZmlnXG4gICAgICB0eXBlOiAnY29sbGVjdGlvbidcbiAgICB9XG4gIHwge1xuICAgICAgZW50aXR5OiBHbG9iYWxDb25maWdcbiAgICAgIHR5cGU6ICdnbG9iYWwnXG4gICAgfVxuKVxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUG9saWN5VHlwZShhcmdzOiBCdWlsZFBvbGljeVR5cGUpOiBHcmFwaFFMT2JqZWN0VHlwZSB7XG4gIGNvbnN0IHsgZW50aXR5LCBzY29wZSwgdHlwZSwgdHlwZVN1ZmZpeCB9ID0gYXJnc1xuICBjb25zdCB7IGZpZWxkcywgZ3JhcGhRTCwgc2x1ZywgdmVyc2lvbnMgfSA9IGVudGl0eVxuXG4gIGxldCBvcGVyYXRpb25zID0gW11cblxuICBpZiAoZ3JhcGhRTCA9PT0gZmFsc2UpIHJldHVybiBudWxsXG5cbiAgaWYgKHR5cGUgPT09ICdjb2xsZWN0aW9uJykge1xuICAgIG9wZXJhdGlvbnMgPSBbJ2NyZWF0ZScsICdyZWFkJywgJ3VwZGF0ZScsICdkZWxldGUnXVxuXG4gICAgaWYgKFxuICAgICAgZW50aXR5LmF1dGggJiZcbiAgICAgIHR5cGVvZiBlbnRpdHkuYXV0aCA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHR5cGVvZiBlbnRpdHkuYXV0aC5tYXhMb2dpbkF0dGVtcHRzICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgZW50aXR5LmF1dGgubWF4TG9naW5BdHRlbXB0cyAhPT0gMFxuICAgICkge1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKCd1bmxvY2snKVxuICAgIH1cblxuICAgIGlmICh2ZXJzaW9ucykge1xuICAgICAgb3BlcmF0aW9ucy5wdXNoKCdyZWFkVmVyc2lvbnMnKVxuICAgIH1cblxuICAgIGNvbnN0IGNvbGxlY3Rpb25UeXBlTmFtZSA9IGZvcm1hdE5hbWUoYCR7c2x1Z30ke3R5cGVTdWZmaXggfHwgJyd9YClcblxuICAgIHJldHVybiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgbmFtZTogY29sbGVjdGlvblR5cGVOYW1lLFxuICAgICAgZmllbGRzOiBidWlsZEVudGl0eVBvbGljeSh7XG4gICAgICAgIG5hbWU6IHNsdWcsXG4gICAgICAgIGVudGl0eUZpZWxkczogZmllbGRzLFxuICAgICAgICBvcGVyYXRpb25zLFxuICAgICAgICBzY29wZSxcbiAgICAgIH0pLFxuICAgIH0pXG4gIH1cblxuICAvLyBlbHNlIGNyZWF0ZSBnbG9iYWwgdHlwZVxuICBvcGVyYXRpb25zID0gWydyZWFkJywgJ3VwZGF0ZSddXG5cbiAgaWYgKGVudGl0eS52ZXJzaW9ucykge1xuICAgIG9wZXJhdGlvbnMucHVzaCgncmVhZFZlcnNpb25zJylcbiAgfVxuXG4gIGNvbnN0IGdsb2JhbFR5cGVOYW1lID0gZm9ybWF0TmFtZShgJHtnbG9iYWw/LmdyYXBoUUw/Lm5hbWUgfHwgc2x1Z30ke3R5cGVTdWZmaXggfHwgJyd9YClcblxuICByZXR1cm4gbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICBuYW1lOiBnbG9iYWxUeXBlTmFtZSxcbiAgICBmaWVsZHM6IGJ1aWxkRW50aXR5UG9saWN5KHtcbiAgICAgIG5hbWU6IGVudGl0eS5ncmFwaFFMID8gZW50aXR5Py5ncmFwaFFMPy5uYW1lIHx8IHNsdWcgOiBzbHVnLFxuICAgICAgZW50aXR5RmllbGRzOiBlbnRpdHkuZmllbGRzLFxuICAgICAgb3BlcmF0aW9ucyxcbiAgICAgIHNjb3BlLFxuICAgIH0pLFxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBidWlsZFBvbGljaWVzVHlwZShjb25maWc6IFNhbml0aXplZENvbmZpZyk6IEdyYXBoUUxPYmplY3RUeXBlIHtcbiAgY29uc3QgZmllbGRzID0ge1xuICAgIGNhbkFjY2Vzc0FkbWluOiB7XG4gICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgIH0sXG4gIH1cblxuICBPYmplY3QudmFsdWVzKGNvbmZpZy5jb2xsZWN0aW9ucykuZm9yRWFjaCgoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZykgPT4ge1xuICAgIGlmIChjb2xsZWN0aW9uLmdyYXBoUUwgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgY29sbGVjdGlvblBvbGljeVR5cGUgPSBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgZW50aXR5OiBjb2xsZWN0aW9uLFxuICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgdHlwZVN1ZmZpeDogJ0FjY2VzcycsXG4gICAgfSlcblxuICAgIGZpZWxkc1tmb3JtYXROYW1lKGNvbGxlY3Rpb24uc2x1ZyldID0ge1xuICAgICAgdHlwZTogY29sbGVjdGlvblBvbGljeVR5cGUsXG4gICAgfVxuICB9KVxuXG4gIE9iamVjdC52YWx1ZXMoY29uZmlnLmdsb2JhbHMpLmZvckVhY2goKGdsb2JhbDogU2FuaXRpemVkR2xvYmFsQ29uZmlnKSA9PiB7XG4gICAgaWYgKGdsb2JhbC5ncmFwaFFMID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGdsb2JhbFBvbGljeVR5cGUgPSBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgZW50aXR5OiBnbG9iYWwsXG4gICAgICB0eXBlOiAnZ2xvYmFsJyxcbiAgICAgIHR5cGVTdWZmaXg6ICdBY2Nlc3MnLFxuICAgIH0pXG5cbiAgICBmaWVsZHNbZm9ybWF0TmFtZShnbG9iYWwuc2x1ZyldID0ge1xuICAgICAgdHlwZTogZ2xvYmFsUG9saWN5VHlwZSxcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgbmFtZTogJ0FjY2VzcycsXG4gICAgZmllbGRzLFxuICB9KVxufVxuIl0sIm5hbWVzIjpbImJ1aWxkRW50aXR5UG9saWN5IiwiYnVpbGRQb2xpY3lUeXBlIiwiYnVpbGRQb2xpY2llc1R5cGUiLCJidWlsZEZpZWxkcyIsImxhYmVsIiwiZmllbGRzVG9CdWlsZCIsInJlZHVjZSIsImJ1aWx0RmllbGRzIiwiZmllbGQiLCJpbmNsdWRlRmllbGQiLCJoaWRkZW4iLCJ0eXBlIiwibmFtZSIsImZpZWxkTmFtZSIsImZvcm1hdE5hbWUiLCJvYmplY3RUeXBlRmllbGRzIiwib3BlcmF0aW9ucyIsIm9wZXJhdGlvbiIsImNhcGl0YWxpemVkT3BlcmF0aW9uIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsIkdyYXBoUUxPYmplY3RUeXBlIiwiZmllbGRzIiwicGVybWlzc2lvbiIsIkdyYXBoUUxOb25OdWxsIiwiR3JhcGhRTEJvb2xlYW4iLCJzdWJGaWVsZHMiLCJ0YWJzIiwiZmllbGRzV2l0aFRhYkZpZWxkcyIsInRhYiIsImFyZ3MiLCJlbnRpdHlGaWVsZHMiLCJzY29wZSIsImZpZWxkc1R5cGVOYW1lIiwidG9Xb3JkcyIsImZvckVhY2giLCJvcGVyYXRpb25UeXBlTmFtZSIsIndoZXJlIiwiR3JhcGhRTEpTT05PYmplY3QiLCJlbnRpdHkiLCJ0eXBlU3VmZml4IiwiZ3JhcGhRTCIsInNsdWciLCJ2ZXJzaW9ucyIsImF1dGgiLCJtYXhMb2dpbkF0dGVtcHRzIiwicHVzaCIsImNvbGxlY3Rpb25UeXBlTmFtZSIsImdsb2JhbFR5cGVOYW1lIiwiZ2xvYmFsIiwiY29uZmlnIiwiY2FuQWNjZXNzQWRtaW4iLCJPYmplY3QiLCJ2YWx1ZXMiLCJjb2xsZWN0aW9ucyIsImNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uUG9saWN5VHlwZSIsImdsb2JhbHMiLCJnbG9iYWxQb2xpY3lUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQW9HYUEsaUJBQWlCO2VBQWpCQTs7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
|
|
184
|
+
//# sourceMappingURL=buildPoliciesType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/buildPoliciesType.ts"],"sourcesContent":["import type {\n CollectionConfig,\n Field,\n GlobalConfig,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n} from 'payload/types'\n\nimport { GraphQLBoolean, GraphQLNonNull, GraphQLObjectType } from 'graphql'\nimport { GraphQLJSONObject } from 'graphql-type-json'\nimport { toWords } from 'payload/utilities'\n\nimport formatName from '../utilities/formatName.js'\n\ntype OperationType = 'create' | 'delete' | 'read' | 'readVersions' | 'unlock' | 'update'\n\ntype AccessScopes = 'docAccess' | undefined\n\ntype ObjectTypeFields = {\n [key in 'fields' | OperationType]?: { type: GraphQLObjectType }\n}\n\nconst buildFields = (label, fieldsToBuild) =>\n fieldsToBuild.reduce((builtFields, field) => {\n const includeField = !field.hidden && field.type !== 'ui'\n if (includeField) {\n if (field.name) {\n const fieldName = formatName(field.name)\n\n const objectTypeFields: ObjectTypeFields = ['create', 'read', 'update', 'delete'].reduce(\n (operations, operation) => {\n const capitalizedOperation = operation.charAt(0).toUpperCase() + operation.slice(1)\n\n return {\n ...operations,\n [operation]: {\n type: new GraphQLObjectType({\n name: `${label}_${fieldName}_${capitalizedOperation}`,\n fields: {\n permission: {\n type: new GraphQLNonNull(GraphQLBoolean),\n },\n },\n }),\n },\n }\n },\n {},\n )\n\n if (field.fields) {\n objectTypeFields.fields = {\n type: new GraphQLObjectType({\n name: `${label}_${fieldName}_Fields`,\n fields: buildFields(`${label}_${fieldName}`, field.fields),\n }),\n }\n }\n\n return {\n ...builtFields,\n [field.name]: {\n type: new GraphQLObjectType({\n name: `${label}_${fieldName}`,\n fields: objectTypeFields,\n }),\n },\n }\n }\n\n if (!field.name && field.fields) {\n const subFields = buildFields(label, field.fields)\n\n return {\n ...builtFields,\n ...subFields,\n }\n }\n\n if (field.type === 'tabs') {\n return field.tabs.reduce(\n (fieldsWithTabFields, tab) => {\n return {\n ...fieldsWithTabFields,\n ...buildFields(label, tab.fields),\n }\n },\n { ...builtFields },\n )\n }\n }\n return builtFields\n }, {})\n\ntype BuildEntityPolicy = {\n entityFields: Field[]\n name: string\n operations: OperationType[]\n scope: AccessScopes\n}\nexport const buildEntityPolicy = (args: BuildEntityPolicy) => {\n const { name, entityFields, operations, scope } = args\n\n const fieldsTypeName = toWords(`${name}-${scope || ''}-Fields`, true)\n const fields = {\n fields: {\n type: new GraphQLObjectType({\n name: fieldsTypeName,\n fields: buildFields(fieldsTypeName, entityFields),\n }),\n },\n }\n\n operations.forEach((operation) => {\n const operationTypeName = toWords(`${name}-${operation}-${scope || 'Access'}`, true)\n\n fields[operation] = {\n type: new GraphQLObjectType({\n name: operationTypeName,\n fields: {\n permission: { type: new GraphQLNonNull(GraphQLBoolean) },\n where: { type: GraphQLJSONObject },\n },\n }),\n }\n })\n\n return fields\n}\n\ntype BuildPolicyType = {\n scope?: AccessScopes\n typeSuffix?: string\n} & (\n | {\n entity: CollectionConfig\n type: 'collection'\n }\n | {\n entity: GlobalConfig\n type: 'global'\n }\n)\nexport function buildPolicyType(args: BuildPolicyType): GraphQLObjectType {\n const { type, entity, scope, typeSuffix } = args\n const { slug, fields, graphQL, versions } = entity\n\n let operations = []\n\n if (graphQL === false) return null\n\n if (type === 'collection') {\n operations = ['create', 'read', 'update', 'delete']\n\n if (\n entity.auth &&\n typeof entity.auth === 'object' &&\n typeof entity.auth.maxLoginAttempts !== 'undefined' &&\n entity.auth.maxLoginAttempts !== 0\n ) {\n operations.push('unlock')\n }\n\n if (versions) {\n operations.push('readVersions')\n }\n\n const collectionTypeName = formatName(`${slug}${typeSuffix || ''}`)\n\n return new GraphQLObjectType({\n name: collectionTypeName,\n fields: buildEntityPolicy({\n name: slug,\n entityFields: fields,\n operations,\n scope,\n }),\n })\n }\n\n // else create global type\n operations = ['read', 'update']\n\n if (entity.versions) {\n operations.push('readVersions')\n }\n\n const globalTypeName = formatName(`${global?.graphQL?.name || slug}${typeSuffix || ''}`)\n\n return new GraphQLObjectType({\n name: globalTypeName,\n fields: buildEntityPolicy({\n name: entity.graphQL ? entity?.graphQL?.name || slug : slug,\n entityFields: entity.fields,\n operations,\n scope,\n }),\n })\n}\n\nexport default function buildPoliciesType(config: SanitizedConfig): GraphQLObjectType {\n const fields = {\n canAccessAdmin: {\n type: new GraphQLNonNull(GraphQLBoolean),\n },\n }\n\n Object.values(config.collections).forEach((collection: SanitizedCollectionConfig) => {\n if (collection.graphQL === false) {\n return\n }\n const collectionPolicyType = buildPolicyType({\n type: 'collection',\n entity: collection,\n typeSuffix: 'Access',\n })\n\n fields[formatName(collection.slug)] = {\n type: collectionPolicyType,\n }\n })\n\n Object.values(config.globals).forEach((global: SanitizedGlobalConfig) => {\n if (global.graphQL === false) {\n return\n }\n const globalPolicyType = buildPolicyType({\n type: 'global',\n entity: global,\n typeSuffix: 'Access',\n })\n\n fields[formatName(global.slug)] = {\n type: globalPolicyType,\n }\n })\n\n return new GraphQLObjectType({\n name: 'Access',\n fields,\n })\n}\n"],"names":["GraphQLBoolean","GraphQLNonNull","GraphQLObjectType","GraphQLJSONObject","toWords","formatName","buildFields","label","fieldsToBuild","reduce","builtFields","field","includeField","hidden","type","name","fieldName","objectTypeFields","operations","operation","capitalizedOperation","charAt","toUpperCase","slice","fields","permission","subFields","tabs","fieldsWithTabFields","tab","buildEntityPolicy","args","entityFields","scope","fieldsTypeName","forEach","operationTypeName","where","buildPolicyType","entity","typeSuffix","slug","graphQL","versions","auth","maxLoginAttempts","push","collectionTypeName","globalTypeName","global","buildPoliciesType","config","canAccessAdmin","Object","values","collections","collection","collectionPolicyType","globals","globalPolicyType"],"mappings":"AASA,SAASA,cAAc,EAAEC,cAAc,EAAEC,iBAAiB,QAAQ,UAAS;AAC3E,SAASC,iBAAiB,QAAQ,oBAAmB;AACrD,SAASC,OAAO,QAAQ,oBAAmB;AAE3C,OAAOC,gBAAgB,6BAA4B;AAUnD,MAAMC,cAAc,CAACC,OAAOC,gBAC1BA,cAAcC,MAAM,CAAC,CAACC,aAAaC;QACjC,MAAMC,eAAe,CAACD,MAAME,MAAM,IAAIF,MAAMG,IAAI,KAAK;QACrD,IAAIF,cAAc;YAChB,IAAID,MAAMI,IAAI,EAAE;gBACd,MAAMC,YAAYX,WAAWM,MAAMI,IAAI;gBAEvC,MAAME,mBAAqC;oBAAC;oBAAU;oBAAQ;oBAAU;iBAAS,CAACR,MAAM,CACtF,CAACS,YAAYC;oBACX,MAAMC,uBAAuBD,UAAUE,MAAM,CAAC,GAAGC,WAAW,KAAKH,UAAUI,KAAK,CAAC;oBAEjF,OAAO;wBACL,GAAGL,UAAU;wBACb,CAACC,UAAU,EAAE;4BACXL,MAAM,IAAIZ,kBAAkB;gCAC1Ba,MAAM,CAAC,EAAER,MAAM,CAAC,EAAES,UAAU,CAAC,EAAEI,qBAAqB,CAAC;gCACrDI,QAAQ;oCACNC,YAAY;wCACVX,MAAM,IAAIb,eAAeD;oCAC3B;gCACF;4BACF;wBACF;oBACF;gBACF,GACA,CAAC;gBAGH,IAAIW,MAAMa,MAAM,EAAE;oBAChBP,iBAAiBO,MAAM,GAAG;wBACxBV,MAAM,IAAIZ,kBAAkB;4BAC1Ba,MAAM,CAAC,EAAER,MAAM,CAAC,EAAES,UAAU,OAAO,CAAC;4BACpCQ,QAAQlB,YAAY,CAAC,EAAEC,MAAM,CAAC,EAAES,UAAU,CAAC,EAAEL,MAAMa,MAAM;wBAC3D;oBACF;gBACF;gBAEA,OAAO;oBACL,GAAGd,WAAW;oBACd,CAACC,MAAMI,IAAI,CAAC,EAAE;wBACZD,MAAM,IAAIZ,kBAAkB;4BAC1Ba,MAAM,CAAC,EAAER,MAAM,CAAC,EAAES,UAAU,CAAC;4BAC7BQ,QAAQP;wBACV;oBACF;gBACF;YACF;YAEA,IAAI,CAACN,MAAMI,IAAI,IAAIJ,MAAMa,MAAM,EAAE;gBAC/B,MAAME,YAAYpB,YAAYC,OAAOI,MAAMa,MAAM;gBAEjD,OAAO;oBACL,GAAGd,WAAW;oBACd,GAAGgB,SAAS;gBACd;YACF;YAEA,IAAIf,MAAMG,IAAI,KAAK,QAAQ;gBACzB,OAAOH,MAAMgB,IAAI,CAAClB,MAAM,CACtB,CAACmB,qBAAqBC;oBACpB,OAAO;wBACL,GAAGD,mBAAmB;wBACtB,GAAGtB,YAAYC,OAAOsB,IAAIL,MAAM,CAAC;oBACnC;gBACF,GACA;oBAAE,GAAGd,WAAW;gBAAC;YAErB;QACF;QACA,OAAOA;IACT,GAAG,CAAC;AAQN,OAAO,MAAMoB,oBAAoB,CAACC;IAChC,MAAM,EAAEhB,IAAI,EAAEiB,YAAY,EAAEd,UAAU,EAAEe,KAAK,EAAE,GAAGF;IAElD,MAAMG,iBAAiB9B,QAAQ,CAAC,EAAEW,KAAK,CAAC,EAAEkB,SAAS,GAAG,OAAO,CAAC,EAAE;IAChE,MAAMT,SAAS;QACbA,QAAQ;YACNV,MAAM,IAAIZ,kBAAkB;gBAC1Ba,MAAMmB;gBACNV,QAAQlB,YAAY4B,gBAAgBF;YACtC;QACF;IACF;IAEAd,WAAWiB,OAAO,CAAC,CAAChB;QAClB,MAAMiB,oBAAoBhC,QAAQ,CAAC,EAAEW,KAAK,CAAC,EAAEI,UAAU,CAAC,EAAEc,SAAS,SAAS,CAAC,EAAE;QAE/ET,MAAM,CAACL,UAAU,GAAG;YAClBL,MAAM,IAAIZ,kBAAkB;gBAC1Ba,MAAMqB;gBACNZ,QAAQ;oBACNC,YAAY;wBAAEX,MAAM,IAAIb,eAAeD;oBAAgB;oBACvDqC,OAAO;wBAAEvB,MAAMX;oBAAkB;gBACnC;YACF;QACF;IACF;IAEA,OAAOqB;AACT,EAAC;AAeD,OAAO,SAASc,gBAAgBP,IAAqB;IACnD,MAAM,EAAEjB,IAAI,EAAEyB,MAAM,EAAEN,KAAK,EAAEO,UAAU,EAAE,GAAGT;IAC5C,MAAM,EAAEU,IAAI,EAAEjB,MAAM,EAAEkB,OAAO,EAAEC,QAAQ,EAAE,GAAGJ;IAE5C,IAAIrB,aAAa,EAAE;IAEnB,IAAIwB,YAAY,OAAO,OAAO;IAE9B,IAAI5B,SAAS,cAAc;QACzBI,aAAa;YAAC;YAAU;YAAQ;YAAU;SAAS;QAEnD,IACEqB,OAAOK,IAAI,IACX,OAAOL,OAAOK,IAAI,KAAK,YACvB,OAAOL,OAAOK,IAAI,CAACC,gBAAgB,KAAK,eACxCN,OAAOK,IAAI,CAACC,gBAAgB,KAAK,GACjC;YACA3B,WAAW4B,IAAI,CAAC;QAClB;QAEA,IAAIH,UAAU;YACZzB,WAAW4B,IAAI,CAAC;QAClB;QAEA,MAAMC,qBAAqB1C,WAAW,CAAC,EAAEoC,KAAK,EAAED,cAAc,GAAG,CAAC;QAElE,OAAO,IAAItC,kBAAkB;YAC3Ba,MAAMgC;YACNvB,QAAQM,kBAAkB;gBACxBf,MAAM0B;gBACNT,cAAcR;gBACdN;gBACAe;YACF;QACF;IACF;IAEA,0BAA0B;IAC1Bf,aAAa;QAAC;QAAQ;KAAS;IAE/B,IAAIqB,OAAOI,QAAQ,EAAE;QACnBzB,WAAW4B,IAAI,CAAC;IAClB;IAEA,MAAME,iBAAiB3C,WAAW,CAAC,EAAE4C,QAAQP,SAAS3B,QAAQ0B,KAAK,EAAED,cAAc,GAAG,CAAC;IAEvF,OAAO,IAAItC,kBAAkB;QAC3Ba,MAAMiC;QACNxB,QAAQM,kBAAkB;YACxBf,MAAMwB,OAAOG,OAAO,GAAGH,QAAQG,SAAS3B,QAAQ0B,OAAOA;YACvDT,cAAcO,OAAOf,MAAM;YAC3BN;YACAe;QACF;IACF;AACF;AAEA,eAAe,SAASiB,kBAAkBC,MAAuB;IAC/D,MAAM3B,SAAS;QACb4B,gBAAgB;YACdtC,MAAM,IAAIb,eAAeD;QAC3B;IACF;IAEAqD,OAAOC,MAAM,CAACH,OAAOI,WAAW,EAAEpB,OAAO,CAAC,CAACqB;QACzC,IAAIA,WAAWd,OAAO,KAAK,OAAO;YAChC;QACF;QACA,MAAMe,uBAAuBnB,gBAAgB;YAC3CxB,MAAM;YACNyB,QAAQiB;YACRhB,YAAY;QACd;QAEAhB,MAAM,CAACnB,WAAWmD,WAAWf,IAAI,EAAE,GAAG;YACpC3B,MAAM2C;QACR;IACF;IAEAJ,OAAOC,MAAM,CAACH,OAAOO,OAAO,EAAEvB,OAAO,CAAC,CAACc;QACrC,IAAIA,QAAOP,OAAO,KAAK,OAAO;YAC5B;QACF;QACA,MAAMiB,mBAAmBrB,gBAAgB;YACvCxB,MAAM;YACNyB,QAAQU;YACRT,YAAY;QACd;QAEAhB,MAAM,CAACnB,WAAW4C,QAAOR,IAAI,EAAE,GAAG;YAChC3B,MAAM6C;QACR;IACF;IAEA,OAAO,IAAIzD,kBAAkB;QAC3Ba,MAAM;QACNS;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildWhereInputType.d.ts","sourceRoot":"","sources":["../../src/schema/buildWhereInputType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildWhereInputType.d.ts","sourceRoot":"","sources":["../../src/schema/buildWhereInputType.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAsB,MAAM,eAAe,CAAA;AAG9D,OAAO,EAAE,sBAAsB,EAAe,MAAM,SAAS,CAAA;AAQ7D,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,mBAAmB,iCAAkC,IAAI,KAAG,sBAgFjE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -1,24 +1,9 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-use-before-define */ /* eslint-disable no-use-before-define */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _graphql = require("graphql");
|
|
12
|
-
const _types = require("payload/types");
|
|
13
|
-
const _formatName = /*#__PURE__*/ _interop_require_default(require("../utilities/formatName"));
|
|
14
|
-
const _fieldToWhereInputSchemaMap = /*#__PURE__*/ _interop_require_default(require("./fieldToWhereInputSchemaMap"));
|
|
15
|
-
const _withOperators = require("./withOperators");
|
|
16
|
-
const _utilities = require("payload/utilities");
|
|
17
|
-
function _interop_require_default(obj) {
|
|
18
|
-
return obj && obj.__esModule ? obj : {
|
|
19
|
-
default: obj
|
|
20
|
-
};
|
|
21
|
-
}
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-use-before-define */ /* eslint-disable no-use-before-define */ import { GraphQLInputObjectType, GraphQLList } from 'graphql';
|
|
2
|
+
import { fieldAffectsData, fieldHasSubFields, fieldIsPresentationalOnly } from 'payload/types';
|
|
3
|
+
import { flattenTopLevelFields } from 'payload/utilities';
|
|
4
|
+
import formatName from '../utilities/formatName.js';
|
|
5
|
+
import fieldToSchemaMap from './fieldToWhereInputSchemaMap.js';
|
|
6
|
+
import { withOperators } from './withOperators.js';
|
|
22
7
|
/** This does as the function name suggests. It builds a where GraphQL input type
|
|
23
8
|
* for all the fields which are passed to the function.
|
|
24
9
|
* Each field has different operators which may be valid for a where input type.
|
|
@@ -35,26 +20,26 @@ function _interop_require_default(obj) {
|
|
|
35
20
|
*/ const buildWhereInputType = ({ name, fields, parentName })=>{
|
|
36
21
|
// This is the function that builds nested paths for all
|
|
37
22
|
// field types with nested paths.
|
|
38
|
-
const idField =
|
|
23
|
+
const idField = flattenTopLevelFields(fields).find((field)=>fieldAffectsData(field) && field.name === 'id');
|
|
39
24
|
const fieldTypes = fields.reduce((schema, field)=>{
|
|
40
|
-
if (!
|
|
41
|
-
const getFieldSchema = (
|
|
25
|
+
if (!fieldIsPresentationalOnly(field) && !field.hidden) {
|
|
26
|
+
const getFieldSchema = fieldToSchemaMap({
|
|
42
27
|
parentName
|
|
43
28
|
})[field.type];
|
|
44
29
|
if (getFieldSchema) {
|
|
45
30
|
const fieldSchema = getFieldSchema(field);
|
|
46
|
-
if (
|
|
31
|
+
if (fieldHasSubFields(field) || field.type === 'tabs') {
|
|
47
32
|
return {
|
|
48
33
|
...schema,
|
|
49
34
|
...fieldSchema.reduce((subFields, subField)=>({
|
|
50
35
|
...subFields,
|
|
51
|
-
[(
|
|
36
|
+
[formatName(subField.key)]: subField.type
|
|
52
37
|
}), {})
|
|
53
38
|
};
|
|
54
39
|
}
|
|
55
40
|
return {
|
|
56
41
|
...schema,
|
|
57
|
-
[(
|
|
42
|
+
[formatName(field.name)]: fieldSchema
|
|
58
43
|
};
|
|
59
44
|
}
|
|
60
45
|
}
|
|
@@ -62,16 +47,16 @@ function _interop_require_default(obj) {
|
|
|
62
47
|
}, {});
|
|
63
48
|
if (!idField) {
|
|
64
49
|
fieldTypes.id = {
|
|
65
|
-
type:
|
|
50
|
+
type: withOperators({
|
|
66
51
|
name: 'id',
|
|
67
52
|
type: 'text'
|
|
68
53
|
}, parentName)
|
|
69
54
|
};
|
|
70
55
|
}
|
|
71
|
-
const fieldName = (
|
|
56
|
+
const fieldName = formatName(name);
|
|
72
57
|
const recursiveFields = {
|
|
73
58
|
AND: {
|
|
74
|
-
type: new
|
|
59
|
+
type: new GraphQLList(new GraphQLInputObjectType({
|
|
75
60
|
name: `${fieldName}_where_and`,
|
|
76
61
|
fields: ()=>({
|
|
77
62
|
...fieldTypes,
|
|
@@ -80,7 +65,7 @@ function _interop_require_default(obj) {
|
|
|
80
65
|
}))
|
|
81
66
|
},
|
|
82
67
|
OR: {
|
|
83
|
-
type: new
|
|
68
|
+
type: new GraphQLList(new GraphQLInputObjectType({
|
|
84
69
|
name: `${fieldName}_where_or`,
|
|
85
70
|
fields: ()=>({
|
|
86
71
|
...fieldTypes,
|
|
@@ -89,7 +74,7 @@ function _interop_require_default(obj) {
|
|
|
89
74
|
}))
|
|
90
75
|
}
|
|
91
76
|
};
|
|
92
|
-
return new
|
|
77
|
+
return new GraphQLInputObjectType({
|
|
93
78
|
name: `${fieldName}_where`,
|
|
94
79
|
fields: {
|
|
95
80
|
...fieldTypes,
|
|
@@ -97,6 +82,6 @@ function _interop_require_default(obj) {
|
|
|
97
82
|
}
|
|
98
83
|
});
|
|
99
84
|
};
|
|
100
|
-
|
|
85
|
+
export default buildWhereInputType;
|
|
101
86
|
|
|
102
|
-
//# sourceMappingURL=
|
|
87
|
+
//# sourceMappingURL=buildWhereInputType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/buildWhereInputType.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport type { Field, FieldAffectingData } from 'payload/types'\n\n/* eslint-disable no-use-before-define */\nimport { GraphQLInputObjectType, GraphQLList } from 'graphql'\nimport { fieldAffectsData, fieldHasSubFields, fieldIsPresentationalOnly } from 'payload/types'\nimport { flattenTopLevelFields } from 'payload/utilities'\n\nimport formatName from '../utilities/formatName.js'\nimport fieldToSchemaMap from './fieldToWhereInputSchemaMap.js'\nimport { withOperators } from './withOperators.js'\n\ntype Args = {\n fields: Field[]\n name: string\n parentName: string\n}\n\n/** This does as the function name suggests. It builds a where GraphQL input type\n * for all the fields which are passed to the function.\n * Each field has different operators which may be valid for a where input type.\n * For example, a text field may have a \"contains\" operator, but a number field\n * may not.\n *\n * buildWhereInputType is similar to buildObjectType and operates\n * on a field basis with a few distinct differences.\n *\n * 1. Everything needs to be a GraphQLInputObjectType or scalar / enum\n * 2. Relationships, groups, repeaters and flex content are not\n * directly searchable. Instead, we need to build a chained pathname\n * using dot notation so MongoDB can properly search nested paths.\n */\nconst buildWhereInputType = ({ name, fields, parentName }: Args): GraphQLInputObjectType => {\n // This is the function that builds nested paths for all\n // field types with nested paths.\n\n const idField = flattenTopLevelFields(fields).find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n\n const fieldTypes = fields.reduce((schema, field) => {\n if (!fieldIsPresentationalOnly(field) && !field.hidden) {\n const getFieldSchema = fieldToSchemaMap({\n parentName,\n })[field.type]\n\n if (getFieldSchema) {\n const fieldSchema = getFieldSchema(field)\n\n if (fieldHasSubFields(field) || field.type === 'tabs') {\n return {\n ...schema,\n ...fieldSchema.reduce(\n (subFields, subField) => ({\n ...subFields,\n [formatName(subField.key)]: subField.type,\n }),\n {},\n ),\n }\n }\n\n return {\n ...schema,\n [formatName(field.name)]: fieldSchema,\n }\n }\n }\n\n return schema\n }, {})\n\n if (!idField) {\n fieldTypes.id = {\n type: withOperators({ name: 'id', type: 'text' } as FieldAffectingData, parentName),\n }\n }\n\n const fieldName = formatName(name)\n\n const recursiveFields = {\n AND: {\n type: new GraphQLList(\n new GraphQLInputObjectType({\n name: `${fieldName}_where_and`,\n fields: () => ({\n ...fieldTypes,\n ...recursiveFields,\n }),\n }),\n ),\n },\n OR: {\n type: new GraphQLList(\n new GraphQLInputObjectType({\n name: `${fieldName}_where_or`,\n fields: () => ({\n ...fieldTypes,\n ...recursiveFields,\n }),\n }),\n ),\n },\n }\n\n return new GraphQLInputObjectType({\n name: `${fieldName}_where`,\n fields: {\n ...fieldTypes,\n ...recursiveFields,\n },\n })\n}\n\nexport default buildWhereInputType\n"],"names":["GraphQLInputObjectType","GraphQLList","fieldAffectsData","fieldHasSubFields","fieldIsPresentationalOnly","flattenTopLevelFields","formatName","fieldToSchemaMap","withOperators","buildWhereInputType","name","fields","parentName","idField","find","field","fieldTypes","reduce","schema","hidden","getFieldSchema","type","fieldSchema","subFields","subField","key","id","fieldName","recursiveFields","AND","OR"],"mappings":"AAAA,0DAA0D,GAG1D,uCAAuC,GACvC,SAASA,sBAAsB,EAAEC,WAAW,QAAQ,UAAS;AAC7D,SAASC,gBAAgB,EAAEC,iBAAiB,EAAEC,yBAAyB,QAAQ,gBAAe;AAC9F,SAASC,qBAAqB,QAAQ,oBAAmB;AAEzD,OAAOC,gBAAgB,6BAA4B;AACnD,OAAOC,sBAAsB,kCAAiC;AAC9D,SAASC,aAAa,QAAQ,qBAAoB;AAQlD;;;;;;;;;;;;;CAaC,GACD,MAAMC,sBAAsB,CAAC,EAAEC,IAAI,EAAEC,MAAM,EAAEC,UAAU,EAAQ;IAC7D,wDAAwD;IACxD,iCAAiC;IAEjC,MAAMC,UAAUR,sBAAsBM,QAAQG,IAAI,CAChD,CAACC,QAAUb,iBAAiBa,UAAUA,MAAML,IAAI,KAAK;IAGvD,MAAMM,aAAaL,OAAOM,MAAM,CAAC,CAACC,QAAQH;QACxC,IAAI,CAACX,0BAA0BW,UAAU,CAACA,MAAMI,MAAM,EAAE;YACtD,MAAMC,iBAAiBb,iBAAiB;gBACtCK;YACF,EAAE,CAACG,MAAMM,IAAI,CAAC;YAEd,IAAID,gBAAgB;gBAClB,MAAME,cAAcF,eAAeL;gBAEnC,IAAIZ,kBAAkBY,UAAUA,MAAMM,IAAI,KAAK,QAAQ;oBACrD,OAAO;wBACL,GAAGH,MAAM;wBACT,GAAGI,YAAYL,MAAM,CACnB,CAACM,WAAWC,WAAc,CAAA;gCACxB,GAAGD,SAAS;gCACZ,CAACjB,WAAWkB,SAASC,GAAG,EAAE,EAAED,SAASH,IAAI;4BAC3C,CAAA,GACA,CAAC,EACF;oBACH;gBACF;gBAEA,OAAO;oBACL,GAAGH,MAAM;oBACT,CAACZ,WAAWS,MAAML,IAAI,EAAE,EAAEY;gBAC5B;YACF;QACF;QAEA,OAAOJ;IACT,GAAG,CAAC;IAEJ,IAAI,CAACL,SAAS;QACZG,WAAWU,EAAE,GAAG;YACdL,MAAMb,cAAc;gBAAEE,MAAM;gBAAMW,MAAM;YAAO,GAAyBT;QAC1E;IACF;IAEA,MAAMe,YAAYrB,WAAWI;IAE7B,MAAMkB,kBAAkB;QACtBC,KAAK;YACHR,MAAM,IAAIpB,YACR,IAAID,uBAAuB;gBACzBU,MAAM,CAAC,EAAEiB,UAAU,UAAU,CAAC;gBAC9BhB,QAAQ,IAAO,CAAA;wBACb,GAAGK,UAAU;wBACb,GAAGY,eAAe;oBACpB,CAAA;YACF;QAEJ;QACAE,IAAI;YACFT,MAAM,IAAIpB,YACR,IAAID,uBAAuB;gBACzBU,MAAM,CAAC,EAAEiB,UAAU,SAAS,CAAC;gBAC7BhB,QAAQ,IAAO,CAAA;wBACb,GAAGK,UAAU;wBACb,GAAGY,eAAe;oBACpB,CAAA;YACF;QAEJ;IACF;IAEA,OAAO,IAAI5B,uBAAuB;QAChCU,MAAM,CAAC,EAAEiB,UAAU,MAAM,CAAC;QAC1BhB,QAAQ;YACN,GAAGK,UAAU;YACb,GAAGY,eAAe;QACpB;IACF;AACF;AAEA,eAAenB,oBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldToWhereInputSchemaMap.d.ts","sourceRoot":"","sources":["../../src/schema/fieldToWhereInputSchemaMap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fieldToWhereInputSchemaMap.d.ts","sourceRoot":"","sources":["../../src/schema/fieldToWhereInputSchemaMap.ts"],"names":[],"mappings":"AAiCA,KAAK,IAAI,GAAG;IACV,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,QAAA,MAAM,gBAAgB,oCAAqC,IAAI,KAAG,GAoGhE,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
|
|
@@ -1,118 +1,104 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _graphql = require("graphql");
|
|
12
|
-
const _graphqltypejson = /*#__PURE__*/ _interop_require_default(require("graphql-type-json"));
|
|
13
|
-
const _combineParentName = /*#__PURE__*/ _interop_require_default(require("../utilities/combineParentName"));
|
|
14
|
-
const _formatName = /*#__PURE__*/ _interop_require_default(require("../utilities/formatName"));
|
|
15
|
-
const _recursivelyBuildNestedPaths = /*#__PURE__*/ _interop_require_default(require("./recursivelyBuildNestedPaths"));
|
|
16
|
-
const _withOperators = require("./withOperators");
|
|
17
|
-
function _interop_require_default(obj) {
|
|
18
|
-
return obj && obj.__esModule ? obj : {
|
|
19
|
-
default: obj
|
|
20
|
-
};
|
|
21
|
-
}
|
|
1
|
+
import { GraphQLEnumType, GraphQLInputObjectType } from 'graphql';
|
|
2
|
+
import GraphQLJSONImport from 'graphql-type-json';
|
|
3
|
+
import combineParentName from '../utilities/combineParentName.js';
|
|
4
|
+
import formatName from '../utilities/formatName.js';
|
|
5
|
+
import recursivelyBuildNestedPaths from './recursivelyBuildNestedPaths.js';
|
|
6
|
+
import { withOperators } from './withOperators.js';
|
|
7
|
+
const GraphQLJSON = GraphQLJSONImport || GraphQLJSONImport.default;
|
|
22
8
|
const fieldToSchemaMap = ({ nestedFieldName, parentName })=>({
|
|
23
|
-
array: (field)=>(
|
|
9
|
+
array: (field)=>recursivelyBuildNestedPaths({
|
|
24
10
|
field,
|
|
25
11
|
nestedFieldName2: nestedFieldName,
|
|
26
12
|
parentName
|
|
27
13
|
}),
|
|
28
14
|
checkbox: (field)=>({
|
|
29
|
-
type:
|
|
15
|
+
type: withOperators(field, parentName)
|
|
30
16
|
}),
|
|
31
17
|
code: (field)=>({
|
|
32
|
-
type:
|
|
18
|
+
type: withOperators(field, parentName)
|
|
33
19
|
}),
|
|
34
|
-
collapsible: (field)=>(
|
|
20
|
+
collapsible: (field)=>recursivelyBuildNestedPaths({
|
|
35
21
|
field,
|
|
36
22
|
nestedFieldName2: nestedFieldName,
|
|
37
23
|
parentName
|
|
38
24
|
}),
|
|
39
25
|
date: (field)=>({
|
|
40
|
-
type:
|
|
26
|
+
type: withOperators(field, parentName)
|
|
41
27
|
}),
|
|
42
28
|
email: (field)=>({
|
|
43
|
-
type:
|
|
29
|
+
type: withOperators(field, parentName)
|
|
44
30
|
}),
|
|
45
|
-
group: (field)=>(
|
|
31
|
+
group: (field)=>recursivelyBuildNestedPaths({
|
|
46
32
|
field,
|
|
47
33
|
nestedFieldName2: nestedFieldName,
|
|
48
34
|
parentName
|
|
49
35
|
}),
|
|
50
36
|
json: (field)=>({
|
|
51
|
-
type:
|
|
37
|
+
type: withOperators(field, parentName)
|
|
52
38
|
}),
|
|
53
39
|
number: (field)=>({
|
|
54
|
-
type:
|
|
40
|
+
type: withOperators(field, parentName)
|
|
55
41
|
}),
|
|
56
42
|
point: (field)=>({
|
|
57
|
-
type:
|
|
43
|
+
type: withOperators(field, parentName)
|
|
58
44
|
}),
|
|
59
45
|
radio: (field)=>({
|
|
60
|
-
type:
|
|
46
|
+
type: withOperators(field, parentName)
|
|
61
47
|
}),
|
|
62
48
|
relationship: (field)=>{
|
|
63
49
|
if (Array.isArray(field.relationTo)) {
|
|
64
50
|
return {
|
|
65
|
-
type: new
|
|
66
|
-
name: `${(
|
|
51
|
+
type: new GraphQLInputObjectType({
|
|
52
|
+
name: `${combineParentName(parentName, field.name)}_Relation`,
|
|
67
53
|
fields: {
|
|
68
54
|
relationTo: {
|
|
69
|
-
type: new
|
|
70
|
-
name: `${(
|
|
55
|
+
type: new GraphQLEnumType({
|
|
56
|
+
name: `${combineParentName(parentName, field.name)}_Relation_RelationTo`,
|
|
71
57
|
values: field.relationTo.reduce((values, relation)=>({
|
|
72
58
|
...values,
|
|
73
|
-
[(
|
|
59
|
+
[formatName(relation)]: {
|
|
74
60
|
value: relation
|
|
75
61
|
}
|
|
76
62
|
}), {})
|
|
77
63
|
})
|
|
78
64
|
},
|
|
79
65
|
value: {
|
|
80
|
-
type:
|
|
66
|
+
type: GraphQLJSON
|
|
81
67
|
}
|
|
82
68
|
}
|
|
83
69
|
})
|
|
84
70
|
};
|
|
85
71
|
}
|
|
86
72
|
return {
|
|
87
|
-
type:
|
|
73
|
+
type: withOperators(field, parentName)
|
|
88
74
|
};
|
|
89
75
|
},
|
|
90
76
|
richText: (field)=>({
|
|
91
|
-
type:
|
|
77
|
+
type: withOperators(field, parentName)
|
|
92
78
|
}),
|
|
93
|
-
row: (field)=>(
|
|
79
|
+
row: (field)=>recursivelyBuildNestedPaths({
|
|
94
80
|
field,
|
|
95
81
|
nestedFieldName2: nestedFieldName,
|
|
96
82
|
parentName
|
|
97
83
|
}),
|
|
98
84
|
select: (field)=>({
|
|
99
|
-
type:
|
|
85
|
+
type: withOperators(field, parentName)
|
|
100
86
|
}),
|
|
101
|
-
tabs: (field)=>(
|
|
87
|
+
tabs: (field)=>recursivelyBuildNestedPaths({
|
|
102
88
|
field,
|
|
103
89
|
nestedFieldName2: nestedFieldName,
|
|
104
90
|
parentName
|
|
105
91
|
}),
|
|
106
92
|
text: (field)=>({
|
|
107
|
-
type:
|
|
93
|
+
type: withOperators(field, parentName)
|
|
108
94
|
}),
|
|
109
95
|
textarea: (field)=>({
|
|
110
|
-
type:
|
|
96
|
+
type: withOperators(field, parentName)
|
|
111
97
|
}),
|
|
112
98
|
upload: (field)=>({
|
|
113
|
-
type:
|
|
99
|
+
type: withOperators(field, parentName)
|
|
114
100
|
})
|
|
115
101
|
});
|
|
116
|
-
|
|
102
|
+
export default fieldToSchemaMap;
|
|
117
103
|
|
|
118
|
-
//# sourceMappingURL=
|
|
104
|
+
//# sourceMappingURL=fieldToWhereInputSchemaMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/schema/fieldToWhereInputSchemaMap.ts"],"sourcesContent":["import type {\n ArrayField,\n CheckboxField,\n CodeField,\n CollapsibleField,\n DateField,\n EmailField,\n GroupField,\n JSONField,\n NumberField,\n PointField,\n RadioField,\n RelationshipField,\n RichTextField,\n RowField,\n SelectField,\n TabsField,\n TextField,\n TextareaField,\n UploadField,\n} from 'payload/types'\n\nimport { GraphQLEnumType, GraphQLInputObjectType } from 'graphql'\nimport GraphQLJSONImport from 'graphql-type-json'\n\nimport combineParentName from '../utilities/combineParentName.js'\nimport formatName from '../utilities/formatName.js'\nimport recursivelyBuildNestedPaths from './recursivelyBuildNestedPaths.js'\nimport { withOperators } from './withOperators.js'\n\nconst GraphQLJSON = (GraphQLJSONImport ||\n GraphQLJSONImport.default) as unknown as typeof GraphQLJSONImport.default\n\ntype Args = {\n nestedFieldName?: string\n parentName: string\n}\n\nconst fieldToSchemaMap = ({ nestedFieldName, parentName }: Args): any => ({\n array: (field: ArrayField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n checkbox: (field: CheckboxField) => ({\n type: withOperators(field, parentName),\n }),\n code: (field: CodeField) => ({\n type: withOperators(field, parentName),\n }),\n collapsible: (field: CollapsibleField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n date: (field: DateField) => ({\n type: withOperators(field, parentName),\n }),\n email: (field: EmailField) => ({\n type: withOperators(field, parentName),\n }),\n group: (field: GroupField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n json: (field: JSONField) => ({\n type: withOperators(field, parentName),\n }),\n number: (field: NumberField) => ({\n type: withOperators(field, parentName),\n }),\n point: (field: PointField) => ({\n type: withOperators(field, parentName),\n }),\n radio: (field: RadioField) => ({\n type: withOperators(field, parentName),\n }),\n relationship: (field: RelationshipField) => {\n if (Array.isArray(field.relationTo)) {\n return {\n type: new GraphQLInputObjectType({\n name: `${combineParentName(parentName, field.name)}_Relation`,\n fields: {\n relationTo: {\n type: new GraphQLEnumType({\n name: `${combineParentName(parentName, field.name)}_Relation_RelationTo`,\n values: field.relationTo.reduce(\n (values, relation) => ({\n ...values,\n [formatName(relation)]: {\n value: relation,\n },\n }),\n {},\n ),\n }),\n },\n value: { type: GraphQLJSON },\n },\n }),\n }\n }\n\n return {\n type: withOperators(field, parentName),\n }\n },\n richText: (field: RichTextField) => ({\n type: withOperators(field, parentName),\n }),\n row: (field: RowField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n select: (field: SelectField) => ({\n type: withOperators(field, parentName),\n }),\n tabs: (field: TabsField) =>\n recursivelyBuildNestedPaths({\n field,\n nestedFieldName2: nestedFieldName,\n parentName,\n }),\n text: (field: TextField) => ({\n type: withOperators(field, parentName),\n }),\n textarea: (field: TextareaField) => ({\n type: withOperators(field, parentName),\n }),\n upload: (field: UploadField) => ({\n type: withOperators(field, parentName),\n }),\n})\n\nexport default fieldToSchemaMap\n"],"names":["GraphQLEnumType","GraphQLInputObjectType","GraphQLJSONImport","combineParentName","formatName","recursivelyBuildNestedPaths","withOperators","GraphQLJSON","default","fieldToSchemaMap","nestedFieldName","parentName","array","field","nestedFieldName2","checkbox","type","code","collapsible","date","email","group","json","number","point","radio","relationship","Array","isArray","relationTo","name","fields","values","reduce","relation","value","richText","row","select","tabs","text","textarea","upload"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initCollections.d.ts","sourceRoot":"","sources":["../../src/schema/initCollections.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initCollections.d.ts","sourceRoot":"","sources":["../../src/schema/initCollections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAgD,eAAe,EAAE,MAAM,eAAe,CAAA;AAyClG,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,WAAW,CAAA;CAC3B,CAAA;AACD,iBAAS,sBAAsB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,0BAA0B,GAAG,IAAI,CAua3F;AAED,eAAe,sBAAsB,CAAA"}
|