Merge remote-tracking branch 'origin/main' into ds-apiserver-with-configs

This commit is contained in:
Ryan McKinley
2025-07-10 14:54:39 -07:00
4 changed files with 48 additions and 3 deletions
@@ -133,7 +133,6 @@ func (s *UserSync) ValidateUserProvisioningHook(ctx context.Context, currentIden
log := s.log.FromContext(ctx).New("auth_module", currentIdentity.AuthenticatedBy, "auth_id", currentIdentity.AuthID)
if !currentIdentity.ClientParams.SyncUser {
log.Debug("Skipping user provisioning validation, syncUser is disabled")
return nil
}
+3 -2
View File
@@ -95,8 +95,9 @@ type UpdateUserCommand struct {
// If old password is included it will be validated against users current password.
OldPassword *Password `json:"-"`
// If OrgID is included update current org for user
OrgID *int64 `json:"-"`
HelpFlags1 *HelpFlags1 `json:"-"`
OrgID *int64 `json:"-"`
HelpFlags1 *HelpFlags1 `json:"-"`
IsProvisioned *bool `json:"-"`
}
type UpdateUserLastSeenAtCommand struct {
+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)