@@ -91,7 +91,7 @@ def __init__(
91
91
subscription = None ,
92
92
types = None ,
93
93
auto_camelcase = True ,
94
- object_type_name_prefix = None ,
94
+ type_name_prefix = None ,
95
95
):
96
96
assert_valid_root_type (query )
97
97
assert_valid_root_type (mutation )
@@ -102,17 +102,17 @@ def __init__(
102
102
assert is_graphene_type (type_ )
103
103
104
104
self .auto_camelcase = auto_camelcase
105
- self .object_type_name_prefix = object_type_name_prefix
105
+ self .type_name_prefix = type_name_prefix
106
106
107
107
create_graphql_type = self .add_type
108
108
109
- self .root_names = []
109
+ self .root_type_names = []
110
110
if query :
111
- self .root_names .append (query ._meta .name )
111
+ self .root_type_names .append (query ._meta .name )
112
112
if mutation :
113
- self .root_names .append (mutation ._meta .name )
113
+ self .root_type_names .append (mutation ._meta .name )
114
114
if subscription :
115
- self .root_names .append (subscription ._meta .name )
115
+ self .root_type_names .append (subscription ._meta .name )
116
116
117
117
self .query = create_graphql_type (query ) if query else None
118
118
self .mutation = create_graphql_type (mutation ) if mutation else None
@@ -174,8 +174,7 @@ def create_scalar(graphene_type):
174
174
parse_literal = getattr (graphene_type , "parse_literal" , None ),
175
175
)
176
176
177
- @staticmethod
178
- def create_enum (graphene_type ):
177
+ def create_enum (self , graphene_type ):
179
178
values = {}
180
179
for name , value in graphene_type ._meta .enum .__members__ .items ():
181
180
description = getattr (value , "description" , None )
@@ -203,7 +202,7 @@ def create_enum(graphene_type):
203
202
return GrapheneEnumType (
204
203
graphene_type = graphene_type ,
205
204
values = values ,
206
- name = graphene_type ._meta .name ,
205
+ name = self . add_prefix_to_type_name ( graphene_type ._meta .name ) ,
207
206
description = type_description ,
208
207
)
209
208
@@ -225,11 +224,10 @@ def interfaces():
225
224
else :
226
225
is_type_of = graphene_type .is_type_of
227
226
228
- name = (
229
- self .object_type_name_prefix .capitalize ()
230
- if self .object_type_name_prefix
231
- else ""
232
- ) + graphene_type ._meta .name
227
+ if graphene_type ._meta .name in self .root_type_names :
228
+ name = graphene_type ._meta .name
229
+ else :
230
+ name = self .add_prefix_to_type_name (graphene_type ._meta .name )
233
231
234
232
return GrapheneObjectType (
235
233
graphene_type = graphene_type ,
@@ -259,7 +257,7 @@ def interfaces():
259
257
260
258
return GrapheneInterfaceType (
261
259
graphene_type = graphene_type ,
262
- name = graphene_type ._meta .name ,
260
+ name = self . add_prefix_to_type_name ( graphene_type ._meta .name ) ,
263
261
description = graphene_type ._meta .description ,
264
262
fields = partial (self .create_fields_for_type , graphene_type ),
265
263
interfaces = interfaces ,
@@ -269,7 +267,7 @@ def interfaces():
269
267
def create_inputobjecttype (self , graphene_type ):
270
268
return GrapheneInputObjectType (
271
269
graphene_type = graphene_type ,
272
- name = graphene_type ._meta .name ,
270
+ name = self . add_prefix_to_type_name ( graphene_type ._meta .name ) ,
273
271
description = graphene_type ._meta .description ,
274
272
out_type = graphene_type ._meta .container ,
275
273
fields = partial (
@@ -298,7 +296,7 @@ def types():
298
296
299
297
return GrapheneUnionType (
300
298
graphene_type = graphene_type ,
301
- name = graphene_type ._meta .name ,
299
+ name = self . add_prefix_to_type_name ( graphene_type ._meta .name ) ,
302
300
description = graphene_type ._meta .description ,
303
301
types = types ,
304
302
resolve_type = resolve_type ,
@@ -376,13 +374,8 @@ def create_fields_for_type(self, graphene_type, is_input_type=False):
376
374
if field .name :
377
375
field_name = field .name
378
376
else :
379
- if (
380
- self .object_type_name_prefix
381
- and graphene_type ._meta .name in self .root_names
382
- ):
383
- field_name = self .get_name (
384
- self .object_type_name_prefix + "_" + name
385
- )
377
+ if graphene_type ._meta .name in self .root_type_names :
378
+ field_name = self .add_prefix_to_field_name (name )
386
379
else :
387
380
field_name = self .get_name (name )
388
381
fields [field_name ] = _field
@@ -418,6 +411,23 @@ def resolve_type(self, resolve_type_func, type_name, root, info, _type):
418
411
return_type = self [type_name ]
419
412
return default_type_resolver (root , info , return_type )
420
413
414
+ def add_prefix_to_type_name (self , name ):
415
+ if self .type_name_prefix :
416
+ return self .type_name_prefix [0 ].upper () + self .type_name_prefix [1 :] + name
417
+ return name
418
+
419
+ def add_prefix_to_field_name (self , name ):
420
+ if self .type_name_prefix :
421
+ if self .auto_camelcase :
422
+ return self .get_name (
423
+ self .type_name_prefix [0 ].lower ()
424
+ + self .type_name_prefix [1 :]
425
+ + "_"
426
+ + name
427
+ )
428
+ return self .get_name (self .type_name_prefix + name )
429
+ return self .get_name (name )
430
+
421
431
422
432
class Schema :
423
433
"""Schema Definition.
@@ -448,7 +458,7 @@ def __init__(
448
458
types = None ,
449
459
directives = None ,
450
460
auto_camelcase = True ,
451
- object_type_name_prefix = None ,
461
+ type_name_prefix = None ,
452
462
):
453
463
self .query = query
454
464
self .mutation = mutation
@@ -459,7 +469,7 @@ def __init__(
459
469
subscription ,
460
470
types ,
461
471
auto_camelcase = auto_camelcase ,
462
- object_type_name_prefix = object_type_name_prefix ,
472
+ type_name_prefix = type_name_prefix ,
463
473
)
464
474
self .graphql_schema = GraphQLSchema (
465
475
type_map .query ,
0 commit comments