diff --git a/src/lib/api/adapters/errors.ts b/src/lib/api/adapters/errors.ts index 08ab5976..30fcdd4b 100644 --- a/src/lib/api/adapters/errors.ts +++ b/src/lib/api/adapters/errors.ts @@ -161,7 +161,9 @@ export class RateLimitError extends ApiError { super('RATE_LIMITED', 429, message, details) this.name = 'RateLimitError' as any - this.retryAfter = retryAfter + if (retryAfter !== undefined) { + this.retryAfter = retryAfter + } } } diff --git a/src/lib/api/adapters/user.adapter.ts b/src/lib/api/adapters/user.adapter.ts index f0252245..00d86afe 100644 --- a/src/lib/api/adapters/user.adapter.ts +++ b/src/lib/api/adapters/user.adapter.ts @@ -53,14 +53,25 @@ export class UserAdapter extends BaseAdapter { const items = Array.isArray(response.profile?.parties) ? response.profile.parties : [] - return { + const result: UserProfileResponse = { user: response.profile, items, - page, - total: response.meta?.count, - totalPages: response.meta?.total_pages || response.meta?.totalPages, - perPage: response.meta?.per_page || response.meta?.perPage + page } + + if (response.meta?.count !== undefined) { + result.total = response.meta.count + } + const totalPages = response.meta?.total_pages ?? response.meta?.totalPages + if (totalPages !== undefined) { + result.totalPages = totalPages + } + const perPage = response.meta?.per_page ?? response.meta?.perPage + if (perPage !== undefined) { + result.perPage = perPage + } + + return result } /**