Skip to content

Commit 7596afd

Browse files
committed
Use Union instead of tuple for creating a Resource with multiple extension
Using a tuple results in a pydantic error: File "/usr/local/lib/python3.11/site-packages/pydantic/_internal/_generics.py", line 373, in map_generic_model_arguments raise TypeError(f'Too many arguments for {cls}; actual {len(args)}, expected {expected_len}') TypeError: Too many arguments for <class 'scim2_models.rfc7643.schema.User'>; actual 3, expected 1
1 parent df2c1e6 commit 7596afd

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

scim2_client/client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -552,13 +552,13 @@ def build_resource_models(
552552
for schema, resource_type in resource_types_by_schema.items():
553553
schema_obj = schema_objs_by_schema[schema]
554554
model = Resource.from_schema(schema_obj)
555-
extensions = []
555+
extensions = ()
556556
for ext_schema in resource_type.schema_extensions or []:
557557
schema_obj = schema_objs_by_schema[ext_schema.schema_]
558558
extension = Extension.from_schema(schema_obj)
559-
extensions.append(extension)
559+
extensions = extensions + (extension,)
560560
if extensions:
561-
model = model[tuple(extensions)]
561+
model = model[Union[extensions]]
562562
resource_models.append(model)
563563

564564
return tuple(resource_models)

0 commit comments

Comments
 (0)