20
20
from .resolvers import get_attr_resolver , get_custom_resolver
21
21
from .utils import (
22
22
DummyImport ,
23
+ column_type_eq ,
23
24
registry_sqlalchemy_model_from_str ,
24
25
safe_isinstance ,
25
26
singledispatchbymatchfunction ,
26
- value_equals ,
27
27
)
28
28
29
29
# We just use MapperProperties for type hints, they don't exist in sqlalchemy < 1.4
@@ -253,61 +253,61 @@ def convert_sqlalchemy_type(
253
253
)
254
254
255
255
256
- @convert_sqlalchemy_type .register (value_equals (str ))
257
- @convert_sqlalchemy_type .register (value_equals (sqa_types .String ))
258
- @convert_sqlalchemy_type .register (value_equals (sqa_types .Text ))
259
- @convert_sqlalchemy_type .register (value_equals (sqa_types .Unicode ))
260
- @convert_sqlalchemy_type .register (value_equals (sqa_types .UnicodeText ))
261
- @convert_sqlalchemy_type .register (value_equals (postgresql .INET ))
262
- @convert_sqlalchemy_type .register (value_equals (postgresql .CIDR ))
263
- @convert_sqlalchemy_type .register (value_equals (sqa_utils .TSVectorType ))
264
- @convert_sqlalchemy_type .register (value_equals (sqa_utils .EmailType ))
265
- @convert_sqlalchemy_type .register (value_equals (sqa_utils .URLType ))
266
- @convert_sqlalchemy_type .register (value_equals (sqa_utils .IPAddressType ))
256
+ @convert_sqlalchemy_type .register (column_type_eq (str ))
257
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .String ))
258
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .Text ))
259
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .Unicode ))
260
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .UnicodeText ))
261
+ @convert_sqlalchemy_type .register (column_type_eq (postgresql .INET ))
262
+ @convert_sqlalchemy_type .register (column_type_eq (postgresql .CIDR ))
263
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_utils .TSVectorType ))
264
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_utils .EmailType ))
265
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_utils .URLType ))
266
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_utils .IPAddressType ))
267
267
def convert_column_to_string (type_arg : Any , ** kwargs ):
268
268
return graphene .String
269
269
270
270
271
- @convert_sqlalchemy_type .register (value_equals (postgresql .UUID ))
272
- @convert_sqlalchemy_type .register (value_equals (sqa_utils .UUIDType ))
273
- @convert_sqlalchemy_type .register (value_equals (uuid .UUID ))
271
+ @convert_sqlalchemy_type .register (column_type_eq (postgresql .UUID ))
272
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_utils .UUIDType ))
273
+ @convert_sqlalchemy_type .register (column_type_eq (uuid .UUID ))
274
274
def convert_column_to_uuid (
275
275
type_arg : Any ,
276
276
** kwargs ,
277
277
):
278
278
return graphene .UUID
279
279
280
280
281
- @convert_sqlalchemy_type .register (value_equals (sqa_types .DateTime ))
282
- @convert_sqlalchemy_type .register (value_equals (datetime .datetime ))
281
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .DateTime ))
282
+ @convert_sqlalchemy_type .register (column_type_eq (datetime .datetime ))
283
283
def convert_column_to_datetime (
284
284
type_arg : Any ,
285
285
** kwargs ,
286
286
):
287
287
return graphene .DateTime
288
288
289
289
290
- @convert_sqlalchemy_type .register (value_equals (sqa_types .Time ))
291
- @convert_sqlalchemy_type .register (value_equals (datetime .time ))
290
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .Time ))
291
+ @convert_sqlalchemy_type .register (column_type_eq (datetime .time ))
292
292
def convert_column_to_time (
293
293
type_arg : Any ,
294
294
** kwargs ,
295
295
):
296
296
return graphene .Time
297
297
298
298
299
- @convert_sqlalchemy_type .register (value_equals (sqa_types .Date ))
300
- @convert_sqlalchemy_type .register (value_equals (datetime .date ))
299
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .Date ))
300
+ @convert_sqlalchemy_type .register (column_type_eq (datetime .date ))
301
301
def convert_column_to_date (
302
302
type_arg : Any ,
303
303
** kwargs ,
304
304
):
305
305
return graphene .Date
306
306
307
307
308
- @convert_sqlalchemy_type .register (value_equals (sqa_types .SmallInteger ))
309
- @convert_sqlalchemy_type .register (value_equals (sqa_types .Integer ))
310
- @convert_sqlalchemy_type .register (value_equals (int ))
308
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .SmallInteger ))
309
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .Integer ))
310
+ @convert_sqlalchemy_type .register (column_type_eq (int ))
311
311
def convert_column_to_int_or_id (
312
312
type_arg : Any ,
313
313
column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
@@ -319,28 +319,28 @@ def convert_column_to_int_or_id(
319
319
) # fixme drop the primary key processing in another pr
320
320
321
321
322
- @convert_sqlalchemy_type .register (value_equals (sqa_types .Boolean ))
323
- @convert_sqlalchemy_type .register (value_equals (bool ))
322
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .Boolean ))
323
+ @convert_sqlalchemy_type .register (column_type_eq (bool ))
324
324
def convert_column_to_boolean (
325
325
type_arg : Any ,
326
326
** kwargs ,
327
327
):
328
328
return graphene .Boolean
329
329
330
330
331
- @convert_sqlalchemy_type .register (value_equals (float ))
332
- @convert_sqlalchemy_type .register (value_equals (sqa_types .Float ))
333
- @convert_sqlalchemy_type .register (value_equals (sqa_types .Numeric ))
334
- @convert_sqlalchemy_type .register (value_equals (sqa_types .BigInteger ))
331
+ @convert_sqlalchemy_type .register (column_type_eq (float ))
332
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .Float ))
333
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .Numeric ))
334
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .BigInteger ))
335
335
def convert_column_to_float (
336
336
type_arg : Any ,
337
337
** kwargs ,
338
338
):
339
339
return graphene .Float
340
340
341
341
342
- @convert_sqlalchemy_type .register (value_equals (postgresql .ENUM ))
343
- @convert_sqlalchemy_type .register (value_equals (sqa_types .Enum ))
342
+ @convert_sqlalchemy_type .register (column_type_eq (postgresql .ENUM ))
343
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .Enum ))
344
344
def convert_enum_to_enum (
345
345
type_arg : Any ,
346
346
column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
@@ -354,7 +354,7 @@ def convert_enum_to_enum(
354
354
355
355
356
356
# TODO Make ChoiceType conversion consistent with other enums
357
- @convert_sqlalchemy_type .register (value_equals (sqa_utils .ChoiceType ))
357
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_utils .ChoiceType ))
358
358
def convert_choice_to_enum (
359
359
type_arg : sqa_utils .ChoiceType ,
360
360
column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
@@ -372,7 +372,7 @@ def convert_choice_to_enum(
372
372
return graphene .Enum (name , column .type .choices )
373
373
374
374
375
- @convert_sqlalchemy_type .register (value_equals (sqa_utils .ScalarListType ))
375
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_utils .ScalarListType ))
376
376
def convert_scalar_list_to_list (
377
377
type_arg : Any ,
378
378
** kwargs ,
@@ -388,8 +388,8 @@ def init_array_list_recursive(inner_type, n):
388
388
)
389
389
390
390
391
- @convert_sqlalchemy_type .register (value_equals (sqa_types .ARRAY ))
392
- @convert_sqlalchemy_type .register (value_equals (postgresql .ARRAY ))
391
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .ARRAY ))
392
+ @convert_sqlalchemy_type .register (column_type_eq (postgresql .ARRAY ))
393
393
def convert_array_to_list (
394
394
type_arg : Any ,
395
395
column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
@@ -409,26 +409,26 @@ def convert_array_to_list(
409
409
)
410
410
411
411
412
- @convert_sqlalchemy_type .register (value_equals (postgresql .HSTORE ))
413
- @convert_sqlalchemy_type .register (value_equals (postgresql .JSON ))
414
- @convert_sqlalchemy_type .register (value_equals (postgresql .JSONB ))
412
+ @convert_sqlalchemy_type .register (column_type_eq (postgresql .HSTORE ))
413
+ @convert_sqlalchemy_type .register (column_type_eq (postgresql .JSON ))
414
+ @convert_sqlalchemy_type .register (column_type_eq (postgresql .JSONB ))
415
415
def convert_json_to_string (
416
416
type_arg : Any ,
417
417
** kwargs ,
418
418
):
419
419
return JSONString
420
420
421
421
422
- @convert_sqlalchemy_type .register (value_equals (sqa_utils .JSONType ))
423
- @convert_sqlalchemy_type .register (value_equals (sqa_types .JSON ))
422
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_utils .JSONType ))
423
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .JSON ))
424
424
def convert_json_type_to_string (
425
425
type_arg : Any ,
426
426
** kwargs ,
427
427
):
428
428
return JSONString
429
429
430
430
431
- @convert_sqlalchemy_type .register (value_equals (sqa_types .Variant ))
431
+ @convert_sqlalchemy_type .register (column_type_eq (sqa_types .Variant ))
432
432
def convert_variant_to_impl_type (
433
433
type_arg : sqa_types .Variant ,
434
434
column : Optional [Union [MapperProperty , hybrid_property ]] = None ,
@@ -446,7 +446,7 @@ def convert_variant_to_impl_type(
446
446
)
447
447
448
448
449
- @convert_sqlalchemy_type .register (value_equals (Decimal ))
449
+ @convert_sqlalchemy_type .register (column_type_eq (Decimal ))
450
450
def convert_sqlalchemy_hybrid_property_type_decimal (type_arg : Any , ** kwargs ):
451
451
# The reason Decimal should be serialized as a String is because this is a
452
452
# base10 type used in things like money, and string allows it to not
0 commit comments