Cursor Agent and Mateo Wang
8cf3bf11bd
fix(scim): preserve scim_active on PUT when client omits the field
...
A SCIM PUT may legally omit `active` (full-replace with the field
absent). Pydantic fills the SCIMUser.active default of True, so the PUT
handler was overwriting metadata.scim_active with True even when the
client never sent it — silently reactivating a previously SCIM-blocked
user and unblocking their keys.
Use model_fields_set to detect whether the client actually sent
`active`. If omitted, preserve the prior scim_active value and skip
the cascade to virtual keys.
Also drop comments added in this PR that just narrate what the code
does; keep only the docstrings and the SQL-NULL pitfall note that
explain non-obvious behaviour.
Co-authored-by: Mateo Wang <mateo-berri@users.noreply.github.com >
2026-05-02 04:15:25 +00:00
..
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-05-01 10:10:07 -07:00
2026-04-17 13:02:59 -07:00
2026-05-01 14:47:52 -07:00
2026-04-17 17:12:35 -07:00
2026-03-28 18:39:32 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-21 15:03:40 +05:30
2026-05-01 17:59:15 -07:00
2026-04-29 22:02:39 -07:00
2026-05-01 14:47:52 -07:00
2026-05-01 15:54:10 -07:00
2026-04-17 13:02:59 -07:00
2026-04-30 02:39:28 +00:00
2026-05-02 04:15:25 +00:00
2026-04-25 15:03:24 -03:00
2026-04-29 20:14:30 +00:00
2026-04-30 18:04:47 -07:00
2026-04-17 13:02:59 -07:00
2026-02-24 09:55:07 -03:00
2026-04-17 16:26:45 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-29 22:02:39 -07:00
2026-04-17 13:02:59 -07:00
2026-04-29 19:21:57 +00:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-25 15:04:05 -03:00
2026-04-17 13:02:59 -07:00
2026-04-20 15:08:00 -07:00
2026-03-27 21:21:43 +05:30
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-16 19:04:26 +05:30
2026-04-17 13:02:59 -07:00
2026-04-23 18:41:01 +05:30
2026-04-25 17:10:41 -03:00
2026-04-22 18:00:04 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-28 20:10:42 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-03-11 01:41:24 +05:30
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-03-14 09:40:00 -07:00
2026-04-15 18:18:52 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-05-01 23:03:13 +05:30
2026-03-23 10:44:17 -07:00
2026-02-27 13:33:34 +05:30
2026-04-17 13:02:59 -07:00
2026-04-25 23:13:39 -07:00
2026-03-02 08:31:33 +00:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-15 17:48:25 +05:30
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-27 08:58:41 +05:30
2026-05-01 17:24:21 +00:00
2026-03-28 19:17:38 -07:00
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-03-15 14:20:45 +05:30
2026-04-17 13:02:59 -07:00
2026-04-17 13:02:59 -07:00
2026-04-28 20:10:42 -07:00
2026-04-08 19:50:50 +05:30
2026-04-17 13:02:59 -07:00