diff --git a/backend/internal/middleware/auth_middleware_test.go b/backend/internal/middleware/auth_middleware_test.go index fecf01bb..60dae01e 100644 --- a/backend/internal/middleware/auth_middleware_test.go +++ b/backend/internal/middleware/auth_middleware_test.go @@ -88,10 +88,9 @@ func TestWithApiKeyAuthDisabled(t *testing.T) { func createUserForAuthMiddlewareTest(t *testing.T, db *gorm.DB) model.User { t.Helper() - email := "auth@example.com" user := model.User{ Username: "auth-user", - Email: &email, + Email: new("auth@example.com"), FirstName: "Auth", LastName: "User", DisplayName: "Auth User", diff --git a/backend/internal/service/app_lock_service_test.go b/backend/internal/service/app_lock_service_test.go index 8f829dff..917fe6fb 100644 --- a/backend/internal/service/app_lock_service_test.go +++ b/backend/internal/service/app_lock_service_test.go @@ -154,8 +154,7 @@ func TestAppLockServiceAcquire(t *testing.T) { db := testutils.NewDatabaseForTest(t) service := newTestAppLockService(t, db) - raw := "this-is-not-json" - err := db.Create(&model.KV{Key: lockKey, Value: &raw}).Error + err := db.Create(&model.KV{Key: lockKey, Value: new("this-is-not-json")}).Error require.NoError(t, err) _, err = service.Acquire(context.Background(), false) diff --git a/backend/internal/service/ldap_service.go b/backend/internal/service/ldap_service.go index 0e055f55..9de25b30 100644 --- a/backend/internal/service/ldap_service.go +++ b/backend/internal/service/ldap_service.go @@ -583,8 +583,7 @@ func (s *LdapService) reconcileUsers(ctx context.Context, tx *gorm.DB, desiredUs err = s.userService.deleteUserInternal(ctx, tx, user.ID, true) if err != nil { - target := &common.LdapUserUpdateError{} - if errors.As(err, &target) { + if _, ok := errors.AsType[*common.LdapUserUpdateError](err); ok { return nil, nil, fmt.Errorf("failed to delete user %s: LDAP user must be disabled before deletion", user.Username) } return nil, nil, fmt.Errorf("failed to delete user %s: %w", user.Username, err) diff --git a/backend/internal/service/oidc_service_test.go b/backend/internal/service/oidc_service_test.go index d5d8ad45..57e26ebc 100644 --- a/backend/internal/service/oidc_service_test.go +++ b/backend/internal/service/oidc_service_test.go @@ -583,10 +583,9 @@ func TestOidcServiceRefreshTokenAuthorizationState(t *testing.T) { appConfigService: mockConfig, } - email := "refresh-token-user@example.com" user := model.User{ Username: "refresh-token-user", - Email: &email, + Email: new("refresh-token-user@example.com"), EmailVerified: true, FirstName: "Refresh", LastName: "User", diff --git a/backend/internal/service/version_service.go b/backend/internal/service/version_service.go index 03bee449..bb58b7bc 100644 --- a/backend/internal/service/version_service.go +++ b/backend/internal/service/version_service.go @@ -69,8 +69,7 @@ func (s *VersionService) GetLatestVersion(ctx context.Context) (string, error) { return strings.TrimPrefix(payload.TagName, "v"), nil }) - var staleErr *utils.ErrStale - if errors.As(err, &staleErr) { + if staleErr, ok := errors.AsType[*utils.ErrStale](err); ok { slog.Warn("Failed to fetch latest version, returning stale cache", "error", staleErr.Err) return version, nil } diff --git a/backend/internal/storage/s3.go b/backend/internal/storage/s3.go index 2ac68ea7..99eafb57 100644 --- a/backend/internal/storage/s3.go +++ b/backend/internal/storage/s3.go @@ -186,8 +186,7 @@ func (s *s3Storage) buildObjectKey(p string) string { } func isS3NotFound(err error) bool { - var apiErr smithy.APIError - if errors.As(err, &apiErr) { + if apiErr, ok := errors.AsType[smithy.APIError](err); ok { if apiErr.ErrorCode() == "NotFound" || apiErr.ErrorCode() == "NoSuchKey" { return true } diff --git a/backend/internal/utils/jwk/key_provider_database.go b/backend/internal/utils/jwk/key_provider_database.go index 1b46f400..940b0db2 100644 --- a/backend/internal/utils/jwk/key_provider_database.go +++ b/backend/internal/utils/jwk/key_provider_database.go @@ -86,12 +86,10 @@ func (f *KeyProviderDatabase) SaveKey(ctx context.Context, key jwk.Key) error { if err != nil { return fmt.Errorf("failed to encrypt key: %w", err) } - encB64 := base64.StdEncoding.EncodeToString(enc) - // Save to database row := model.KV{ Key: PrivateKeyDBKey, - Value: &encB64, + Value: new(base64.StdEncoding.EncodeToString(enc)), } ctx, cancel := context.WithTimeout(ctx, 10*time.Second) diff --git a/backend/internal/utils/jwk/key_provider_database_test.go b/backend/internal/utils/jwk/key_provider_database_test.go index fa783d40..fd92844c 100644 --- a/backend/internal/utils/jwk/key_provider_database_test.go +++ b/backend/internal/utils/jwk/key_provider_database_test.go @@ -106,10 +106,9 @@ func TestKeyProviderDatabase_LoadKey(t *testing.T) { require.NoError(t, err) // Insert invalid base64 data - invalidBase64 := "not-valid-base64" err = db.Create(&model.KV{ Key: PrivateKeyDBKey, - Value: &invalidBase64, + Value: new("not-valid-base64"), }).Error require.NoError(t, err) @@ -132,10 +131,9 @@ func TestKeyProviderDatabase_LoadKey(t *testing.T) { require.NoError(t, err) // Insert valid base64 but invalid encrypted data - invalidData := base64.StdEncoding.EncodeToString([]byte("not-valid-encrypted-data")) err = db.Create(&model.KV{ Key: PrivateKeyDBKey, - Value: &invalidData, + Value: new(base64.StdEncoding.EncodeToString([]byte("not-valid-encrypted-data"))), }).Error require.NoError(t, err) @@ -195,13 +193,10 @@ func TestKeyProviderDatabase_LoadKey(t *testing.T) { encryptedData, err := cryptoutils.Encrypt(kek, invalidKeyData, nil) require.NoError(t, err) - // Base64 encode the encrypted data - encodedData := base64.StdEncoding.EncodeToString(encryptedData) - // Save to database err = db.Create(&model.KV{ Key: PrivateKeyDBKey, - Value: &encodedData, + Value: new(base64.StdEncoding.EncodeToString(encryptedData)), }).Error require.NoError(t, err)