Skip to content

Commit 6c3bc6f

Browse files
committed
chore: moves graphql types for globals onto payload class
1 parent 06fd7e7 commit 6c3bc6f

File tree

2 files changed

+31
-29
lines changed

2 files changed

+31
-29
lines changed

src/globals/config/types.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,18 +89,19 @@ export type GlobalConfig = {
8989
}
9090
}
9191

92-
export interface SanitizedGlobalConfig extends Omit<DeepRequired<GlobalConfig>, 'fields' | 'versions' | 'graphQL'> {
92+
export interface SanitizedGlobalConfig extends Omit<DeepRequired<GlobalConfig>, 'fields' | 'versions'> {
9393
fields: Field[]
9494
versions: SanitizedGlobalVersions
95-
graphQL?: {
96-
name?: string
97-
type: GraphQLObjectType
98-
mutationInputType: GraphQLNonNull<any>
99-
versionType?: GraphQLObjectType
100-
}
10195
}
10296

10397
export type Globals = {
10498
Model: GlobalModel
10599
config: SanitizedGlobalConfig[]
100+
graphQL?: {
101+
[slug: string]: {
102+
type: GraphQLObjectType
103+
mutationInputType: GraphQLNonNull<any>
104+
versionType?: GraphQLObjectType
105+
}
106+
}
106107
}

src/globals/graphql/init.ts

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,28 @@ function initGlobalsGraphQL(payload: Payload): void {
3030

3131
const formattedName = global.graphQL?.name ? global.graphQL.name : singular(toWords(global.slug, true));
3232

33-
global.graphQL = {} as SanitizedGlobalConfig['graphQL'];
34-
3533
const forceNullableObjectType = Boolean(versions?.drafts);
3634

37-
global.graphQL.type = buildObjectType({
38-
payload,
39-
name: formattedName,
40-
parentName: formattedName,
41-
fields,
42-
forceNullable: forceNullableObjectType,
43-
});
35+
if (!payload.globals.graphQL) payload.globals.graphQL = {};
4436

45-
global.graphQL.mutationInputType = new GraphQLNonNull(buildMutationInputType(
46-
payload,
47-
formattedName,
48-
fields,
49-
formattedName,
50-
));
37+
payload.globals.graphQL[slug] = {
38+
type: buildObjectType({
39+
payload,
40+
name: formattedName,
41+
parentName: formattedName,
42+
fields,
43+
forceNullable: forceNullableObjectType,
44+
}),
45+
mutationInputType: new GraphQLNonNull(buildMutationInputType(
46+
payload,
47+
formattedName,
48+
fields,
49+
formattedName,
50+
)),
51+
};
5152

5253
payload.Query.fields[formattedName] = {
53-
type: global.graphQL.type,
54+
type: payload.globals.graphQL[slug].type,
5455
args: {
5556
draft: { type: GraphQLBoolean },
5657
...(payload.config.localization ? {
@@ -62,9 +63,9 @@ function initGlobalsGraphQL(payload: Payload): void {
6263
};
6364

6465
payload.Mutation.fields[`update${formattedName}`] = {
65-
type: global.graphQL.type,
66+
type: payload.globals.graphQL[slug].type,
6667
args: {
67-
data: { type: global.graphQL.mutationInputType },
68+
data: { type: payload.globals.graphQL[slug].mutationInputType },
6869
draft: { type: GraphQLBoolean },
6970
...(payload.config.localization ? {
7071
locale: { type: payload.types.localeInputType },
@@ -102,7 +103,7 @@ function initGlobalsGraphQL(payload: Payload): void {
102103
},
103104
];
104105

105-
global.graphQL.versionType = buildObjectType({
106+
payload.globals.graphQL[slug].versionType = buildObjectType({
106107
payload,
107108
name: `${formattedName}Version`,
108109
parentName: `${formattedName}Version`,
@@ -111,7 +112,7 @@ function initGlobalsGraphQL(payload: Payload): void {
111112
});
112113

113114
payload.Query.fields[`version${formatName(formattedName)}`] = {
114-
type: global.graphQL.versionType,
115+
type: payload.globals.graphQL[slug].versionType,
115116
args: {
116117
id: { type: GraphQLString },
117118
...(payload.config.localization ? {
@@ -122,7 +123,7 @@ function initGlobalsGraphQL(payload: Payload): void {
122123
resolve: findVersionByIDResolver(global),
123124
};
124125
payload.Query.fields[`versions${formattedName}`] = {
125-
type: buildPaginatedListType(`versions${formatName(formattedName)}`, global.graphQL.versionType),
126+
type: buildPaginatedListType(`versions${formatName(formattedName)}`, payload.globals.graphQL[slug].versionType),
126127
args: {
127128
where: {
128129
type: buildWhereInputType(
@@ -142,7 +143,7 @@ function initGlobalsGraphQL(payload: Payload): void {
142143
resolve: findVersionsResolver(global),
143144
};
144145
payload.Mutation.fields[`restoreVersion${formatName(formattedName)}`] = {
145-
type: global.graphQL.type,
146+
type: payload.globals.graphQL[slug].type,
146147
args: {
147148
id: { type: GraphQLString },
148149
},

0 commit comments

Comments
 (0)