Conversation
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
…enabled
MS365 sends a plain string for complex SCIM attributes like "manager"
(e.g. {"path": "...User:manager", "value": "some-id"}) instead of the
spec-compliant object form ({"value": {"value": "some-id"}}). When
SetAllowStringValues(true) is set, the string is now automatically
wrapped as {"value": s} before validation, matching the existing
behavior for booleans, integers, and decimals.
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
q-uint
left a comment
There was a problem hiding this comment.
Thanks for the contribution! The string-to-complex wrapping for AllowStringValues makes sense and is consistent with the existing pattern for booleans, integers, and decimals.
A few things before we can merge:
-
Please drop the first 3 commits (dependency update, Go version bump, and modernize). The Go version bump to 1.26.1 and the use of
slices.Contains/minbuiltins break compatibility with Go 1.16, which is what CI andgo.modcurrently target. Theinterface{}->anyrename is also unrelated churn. -
The
SetAllowStringValuesdoc comment is stale, it mentions booleans, integers, and decimals but should now also mention complex attributes. -
Minor: indentation is off in schema_test.go: the complexMultiValued block lost a level of indentation.
With just the last commit (plus those two small fixes), this is good to go.
I create different commit for each thing, ofc if you prefer i can only keep the latest one for the MS fix.