entity adapter: add raw data fetch methods
This commit is contained in:
parent
be75fcbcbd
commit
1cbcd91f94
2 changed files with 62 additions and 0 deletions
|
|
@ -402,6 +402,15 @@ export interface WeaponDownloadStatus {
|
||||||
updatedAt?: string
|
updatedAt?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Raw data response from /raw endpoint
|
||||||
|
*/
|
||||||
|
export interface EntityRawData {
|
||||||
|
wikiRaw: string | null
|
||||||
|
gameRawEn: Record<string, unknown> | null
|
||||||
|
gameRawJp: Record<string, unknown> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Entity adapter for accessing canonical game data
|
* Entity adapter for accessing canonical game data
|
||||||
*/
|
*/
|
||||||
|
|
@ -813,6 +822,52 @@ export class EntityAdapter extends BaseAdapter {
|
||||||
updatedAt: response.updated_at
|
updatedAt: response.updated_at
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ============================================
|
||||||
|
// Raw Data Methods (for database viewing)
|
||||||
|
// ============================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets raw wiki and game data for a character
|
||||||
|
* This data is fetched separately to avoid bloating regular entity responses
|
||||||
|
* Note: BaseAdapter.request() automatically transforms snake_case to camelCase
|
||||||
|
*/
|
||||||
|
async getCharacterRawData(id: string): Promise<EntityRawData> {
|
||||||
|
// Response keys are already camelCase after BaseAdapter.transformResponse()
|
||||||
|
const response = await this.request<EntityRawData>(`/characters/${id}/raw`, {
|
||||||
|
method: 'GET'
|
||||||
|
})
|
||||||
|
|
||||||
|
return response
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets raw wiki and game data for a weapon
|
||||||
|
* This data is fetched separately to avoid bloating regular entity responses
|
||||||
|
* Note: BaseAdapter.request() automatically transforms snake_case to camelCase
|
||||||
|
*/
|
||||||
|
async getWeaponRawData(id: string): Promise<EntityRawData> {
|
||||||
|
// Response keys are already camelCase after BaseAdapter.transformResponse()
|
||||||
|
const response = await this.request<EntityRawData>(`/weapons/${id}/raw`, {
|
||||||
|
method: 'GET'
|
||||||
|
})
|
||||||
|
|
||||||
|
return response
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets raw wiki and game data for a summon
|
||||||
|
* This data is fetched separately to avoid bloating regular entity responses
|
||||||
|
* Note: BaseAdapter.request() automatically transforms snake_case to camelCase
|
||||||
|
*/
|
||||||
|
async getSummonRawData(id: string): Promise<EntityRawData> {
|
||||||
|
// Response keys are already camelCase after BaseAdapter.transformResponse()
|
||||||
|
const response = await this.request<EntityRawData>(`/summons/${id}/raw`, {
|
||||||
|
method: 'GET'
|
||||||
|
})
|
||||||
|
|
||||||
|
return response
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -105,6 +105,13 @@ export interface Summon {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Raw data response from separate /raw endpoint
|
||||||
|
export interface EntityRawData {
|
||||||
|
wikiRaw: string | null
|
||||||
|
gameRawEn: Record<string, unknown> | null
|
||||||
|
gameRawJp: Record<string, unknown> | null
|
||||||
|
}
|
||||||
|
|
||||||
// Job entity from JobBlueprint
|
// Job entity from JobBlueprint
|
||||||
export interface Job {
|
export interface Job {
|
||||||
id: string
|
id: string
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue