diff --git a/backend/internal/service/account.go b/backend/internal/service/account.go index a6b20d9d..51b7a4f1 100644 --- a/backend/internal/service/account.go +++ b/backend/internal/service/account.go @@ -326,17 +326,3 @@ func (a *Account) IsOpenAITokenExpired() bool { } return time.Now().Add(60 * time.Second).After(*expiresAt) } - -// mergeJSONB merges source map into target map (for preserving extra fields during account sync) -func mergeJSONB(target, source map[string]any) map[string]any { - if target == nil { - target = make(map[string]any) - } - if source == nil { - return target - } - for k, v := range source { - target[k] = v - } - return target -} diff --git a/backend/internal/service/crs_sync_service.go b/backend/internal/service/crs_sync_service.go index fa7bad21..cd1dbcec 100644 --- a/backend/internal/service/crs_sync_service.go +++ b/backend/internal/service/crs_sync_service.go @@ -801,11 +801,11 @@ func (s *CRSSyncService) SyncFromCRS(ctx context.Context, input SyncFromCRSInput continue } - existing.Extra = mergeJSONB(existing.Extra, extra) + existing.Extra = mergeMap(existing.Extra, extra) existing.Name = defaultName(src.Name, src.ID) existing.Platform = PlatformGemini existing.Type = AccountTypeOAuth - existing.Credentials = mergeJSONB(existing.Credentials, credentials) + existing.Credentials = mergeMap(existing.Credentials, credentials) if proxyID != nil { existing.ProxyID = proxyID } @@ -908,11 +908,11 @@ func (s *CRSSyncService) SyncFromCRS(ctx context.Context, input SyncFromCRSInput continue } - existing.Extra = mergeJSONB(existing.Extra, extra) + existing.Extra = mergeMap(existing.Extra, extra) existing.Name = defaultName(src.Name, src.ID) existing.Platform = PlatformGemini existing.Type = AccountTypeApiKey - existing.Credentials = mergeJSONB(existing.Credentials, credentials) + existing.Credentials = mergeMap(existing.Credentials, credentials) if proxyID != nil { existing.ProxyID = proxyID }