SCIM: Add is provisioned field to update command (#107978)

* Remove noisy log line

* Add IsProvisioned field to UpdateUserCommand

* Update user store to include the new IsProvisioned field

* Update store tests to include the new IsProvisioned field
This commit is contained in:
linoman
2025-07-10 23:49:45 +02:00
committed by GitHub
parent 1cd6ef6b84
commit a1e4280603
4 changed files with 48 additions and 3 deletions
+4
View File
@@ -278,6 +278,10 @@ func (ss *sqlStore) Update(ctx context.Context, cmd *user.UpdateUserCommand) err
q = q.MustCols("help_flags1")
usr.HelpFlags1 = *cmd.HelpFlags1
})
setOptional(cmd.IsProvisioned, func(v bool) {
q = q.UseBool("is_provisioned")
usr.IsProvisioned = v
})
if _, err := q.Update(&usr); err != nil {
return err
+41
View File
@@ -739,6 +739,47 @@ func TestIntegrationUserDataAccess(t *testing.T) {
require.True(t, usr.IsDisabled)
})
t.Run("Update IsProvisioned", func(t *testing.T) {
// Create a user with IsProvisioned set to false (default)
id, err := userStore.Insert(context.Background(), &user.User{
Name: "provisioned_user",
Email: "provisioned@test.com",
Login: "provisioned_user",
Created: time.Now(),
Updated: time.Now(),
})
require.NoError(t, err)
// Verify initial state
usr, err := userStore.GetByID(context.Background(), id)
require.NoError(t, err)
require.False(t, usr.IsProvisioned)
// Update user to set IsProvisioned to true
err = userStore.Update(context.Background(), &user.UpdateUserCommand{
UserID: id,
IsProvisioned: boolPtr(true),
})
require.NoError(t, err)
// Verify IsProvisioned is now true
usr, err = userStore.GetByID(context.Background(), id)
require.NoError(t, err)
require.True(t, usr.IsProvisioned)
// Update user to set IsProvisioned to false
err = userStore.Update(context.Background(), &user.UpdateUserCommand{
UserID: id,
IsProvisioned: boolPtr(false),
})
require.NoError(t, err)
// Verify IsProvisioned is now false
usr, err = userStore.GetByID(context.Background(), id)
require.NoError(t, err)
require.False(t, usr.IsProvisioned)
})
t.Run("Testing DB - multiple users", func(t *testing.T) {
ss = db.InitTestDB(t)