1717from scim2_server .utils import get_by_alias
1818from scim2_server .utils import get_or_create
1919from scim2_server .utils import handle_extension
20- from scim2_server .utils import is_multi_valued
2120from scim2_server .utils import parse_new_value
2221
2322ATTRIBUTE_PATH_REGEX = re .compile (
@@ -221,7 +220,7 @@ class AddOperator(Operator):
221220 @classmethod
222221 def operation (cls , model : BaseModel , attribute : str , value : Any ):
223222 alias = get_by_alias (model , attribute )
224- if is_multi_valued ( model , alias ) and isinstance (value , list ):
223+ if model . get_field_multiplicity ( alias ) and isinstance (value , list ):
225224 for v in value :
226225 cls .operation (model , attribute , v )
227226 return
@@ -234,7 +233,7 @@ def operation(cls, model: BaseModel, attribute: str, value: Any):
234233 if model .get_field_annotation (alias , Mutability ) == Mutability .read_only :
235234 raise SCIMException (Error .make_mutability_error ())
236235
237- if is_multi_valued ( model , alias ):
236+ if model . get_field_multiplicity ( alias ):
238237 if getattr (model , alias ) is None :
239238 setattr (model , alias , [])
240239 if getattr (new_value , "primary" , False ):
@@ -281,7 +280,7 @@ class ReplaceOperator(Operator):
281280 @classmethod
282281 def operation (cls , model : BaseModel , attribute : str , value : Any ):
283282 alias = get_by_alias (model , attribute )
284- if is_multi_valued ( model , alias ) and not isinstance (value , list ):
283+ if model . get_field_multiplicity ( alias ) and not isinstance (value , list ):
285284 raise SCIMException (Error .make_invalid_value_error ())
286285
287286 existing_value = getattr (model , alias )
0 commit comments