diff --git a/src/lib/api/adapters/job.adapter.ts b/src/lib/api/adapters/job.adapter.ts index 96c8d963..f2aa4187 100644 --- a/src/lib/api/adapters/job.adapter.ts +++ b/src/lib/api/adapters/job.adapter.ts @@ -131,7 +131,12 @@ export class JobAdapter extends BaseAdapter { page: params.page || 1, total: response.meta?.count || 0, totalPages: response.meta?.total_pages || 1, - meta: response.meta + meta: response.meta ? { + count: response.meta.count ?? 0, + page: params.page || 1, + perPage: response.meta.per_page ?? 10, + totalPages: response.meta.total_pages ?? 1 + } : undefined } } diff --git a/src/lib/api/resources/users.ts b/src/lib/api/resources/users.ts index ac2d5a00..38e8768f 100644 --- a/src/lib/api/resources/users.ts +++ b/src/lib/api/resources/users.ts @@ -31,7 +31,7 @@ export const users = { gender?: number | undefined language?: string | undefined theme?: string | undefined - avatar?: { picture?: string | undefined; element?: string | undefined } | undefined + avatar?: { picture: string; element: string } | undefined } = {} if (params.gender !== undefined) updates.gender = params.gender @@ -39,10 +39,10 @@ export const users = { if (params.theme !== undefined) updates.theme = params.theme if (params.picture !== undefined || params.element !== undefined) { - const avatar: { picture?: string | undefined; element?: string | undefined } = {} - if (params.picture !== undefined) avatar.picture = params.picture - if (params.element !== undefined) avatar.element = params.element - updates.avatar = avatar + updates.avatar = { + picture: params.picture ?? '', + element: params.element ?? '' + } } const result = await userAdapter.updateProfile(updates) diff --git a/src/lib/providers/DatabaseProvider.ts b/src/lib/providers/DatabaseProvider.ts index dcf7b297..4b406c4f 100644 --- a/src/lib/providers/DatabaseProvider.ts +++ b/src/lib/providers/DatabaseProvider.ts @@ -17,7 +17,7 @@ interface APIResponse { } } -export class DatabaseProvider extends RestDataProvider { +export class DatabaseProvider extends RestDataProvider { private resource: 'weapons' | 'characters' | 'summons' private pageSize: number private currentPage: number = 1 diff --git a/src/lib/services/party.service.ts b/src/lib/services/party.service.ts index 5703313b..82a3911d 100644 --- a/src/lib/services/party.service.ts +++ b/src/lib/services/party.service.ts @@ -1,5 +1,5 @@ import type { Party } from '$lib/types/api/party' -import { partyAdapter } from '$lib/api/adapters/party.adapter' +import { partyAdapter, type CreatePartyParams } from '$lib/api/adapters/party.adapter' import { authStore } from '$lib/stores/auth.store' import { browser } from '$app/environment' @@ -279,13 +279,13 @@ export class PartyService { return headers } - private mapToApiPayload(payload: PartyUpdatePayload): Partial { + private mapToApiPayload(payload: PartyUpdatePayload): CreatePartyParams { const mapped: any = {} if (payload.name !== undefined) mapped.name = payload.name if (payload.description !== undefined) mapped.description = payload.description if (payload.element !== undefined) mapped.element = payload.element - if (payload.raidId !== undefined) mapped.raid = { id: payload.raidId } + if (payload.raidId !== undefined) mapped.raidId = payload.raidId if (payload.chargeAttack !== undefined) mapped.chargeAttack = payload.chargeAttack if (payload.fullAuto !== undefined) mapped.fullAuto = payload.fullAuto if (payload.autoGuard !== undefined) mapped.autoGuard = payload.autoGuard @@ -294,8 +294,16 @@ export class PartyService { if (payload.buttonCount !== undefined) mapped.buttonCount = payload.buttonCount if (payload.chainCount !== undefined) mapped.chainCount = payload.chainCount if (payload.turnCount !== undefined) mapped.turnCount = payload.turnCount - if (payload.jobId !== undefined) mapped.job = { id: payload.jobId } - if (payload.visibility !== undefined) mapped.visibility = payload.visibility + if (payload.jobId !== undefined) mapped.jobId = payload.jobId + if (payload.visibility !== undefined) { + // Convert number visibility to string + const visibilityMap: Record = { + 0: 'public', + 1: 'private', + 2: 'unlisted' + } + mapped.visibility = visibilityMap[payload.visibility] || 'public' + } if (payload.localId !== undefined) mapped.localId = payload.localId return mapped diff --git a/src/lib/utils/typeShims.ts b/src/lib/utils/typeShims.ts index c3953071..2dfc636e 100644 --- a/src/lib/utils/typeShims.ts +++ b/src/lib/utils/typeShims.ts @@ -102,7 +102,7 @@ export function optionalProps>( const result: Partial = {} for (const [key, value] of Object.entries(obj)) { if (value !== undefined) { - result[key as keyof T] = value + result[key as keyof T] = value as T[keyof T] } } return result