JSONDecoder.keyDecodingStrategy = .convertFromSnakeCase converts JSON keys like 'tenant_access_token' to Swift names like 'tenantAccessToken'. Having explicit CodingKeys that map to the ORIGINAL snake_case keys (e.g., case tenantAccessToken = "tenant_access_token") causes a collision: the decoder first converts the JSON key, then looks for a CodingKey matching the original name — but the converted name doesn't match. Removed redundant CodingKeys from OAuthTokenData, TenantAccessTokenData, UserInfoData, and RecordItem. .convertFromSnakeCase handles all these mappings automatically. Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Models | ||
| Services | ||
| Utils | ||
| ViewModels | ||
| Views | ||
| AppDelegate.swift | ||
| BuggerApp.swift | ||