fix job skills adapter to expect array, add emp_skills method
This commit is contained in:
parent
cbe698c86f
commit
767eda424e
2 changed files with 29 additions and 4 deletions
|
|
@ -95,11 +95,10 @@ export class JobAdapter extends BaseAdapter {
|
||||||
* Returns skills categorized by type (main, sub, emp, base)
|
* Returns skills categorized by type (main, sub, emp, base)
|
||||||
*/
|
*/
|
||||||
async getSkills(jobId: string): Promise<JobSkill[]> {
|
async getSkills(jobId: string): Promise<JobSkill[]> {
|
||||||
const response = await this.request<{ skills: JobSkill[] }>(`/jobs/${jobId}/skills`, {
|
return this.request<JobSkill[]>(`/jobs/${jobId}/skills`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
cacheTTL: 300000 // Cache for 5 minutes
|
cacheTTL: 300000 // Cache for 5 minutes
|
||||||
})
|
})
|
||||||
return response.skills
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -179,11 +178,21 @@ export class JobAdapter extends BaseAdapter {
|
||||||
* Useful for browsing all skills
|
* Useful for browsing all skills
|
||||||
*/
|
*/
|
||||||
async getAllSkills(): Promise<JobSkill[]> {
|
async getAllSkills(): Promise<JobSkill[]> {
|
||||||
const response = await this.request<{ skills: JobSkill[] }>('/jobs/skills', {
|
return this.request<JobSkill[]>('/jobs/skills', {
|
||||||
|
method: 'GET',
|
||||||
|
cacheTTL: 300000 // Cache for 5 minutes
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets EMP skills from other jobs (for party skill selection)
|
||||||
|
* Returns skills that can be used with the specified job
|
||||||
|
*/
|
||||||
|
async getEmpSkills(jobId: string): Promise<JobSkill[]> {
|
||||||
|
return this.request<JobSkill[]>(`/jobs/${jobId}/emp_skills`, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
cacheTTL: 300000 // Cache for 5 minutes
|
cacheTTL: 300000 // Cache for 5 minutes
|
||||||
})
|
})
|
||||||
return response.skills
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,21 @@ export const jobQueries = {
|
||||||
gcTime: 1000 * 60 * 60 // 1 hour
|
gcTime: 1000 * 60 * 60 // 1 hour
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EMP skills from other jobs (for party skill selection)
|
||||||
|
*
|
||||||
|
* @param jobId - Current job ID to find compatible EMP skills for
|
||||||
|
* @returns Query options for fetching EMP skills from other jobs
|
||||||
|
*/
|
||||||
|
empSkills: (jobId: string) =>
|
||||||
|
queryOptions({
|
||||||
|
queryKey: ['jobs', jobId, 'emp_skills'] as const,
|
||||||
|
queryFn: () => jobAdapter.getEmpSkills(jobId),
|
||||||
|
enabled: !!jobId,
|
||||||
|
staleTime: 1000 * 60 * 30, // 30 minutes
|
||||||
|
gcTime: 1000 * 60 * 60 // 1 hour
|
||||||
|
}),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Job skills search infinite query options
|
* Job skills search infinite query options
|
||||||
*
|
*
|
||||||
|
|
@ -175,6 +190,7 @@ export const jobKeys = {
|
||||||
lists: () => [...jobKeys.all] as const,
|
lists: () => [...jobKeys.all] as const,
|
||||||
detail: (id: string) => [...jobKeys.all, id] as const,
|
detail: (id: string) => [...jobKeys.all, id] as const,
|
||||||
skills: (jobId: string) => [...jobKeys.all, jobId, 'skills'] as const,
|
skills: (jobId: string) => [...jobKeys.all, jobId, 'skills'] as const,
|
||||||
|
empSkills: (jobId: string) => [...jobKeys.all, jobId, 'emp_skills'] as const,
|
||||||
skillsSearch: (jobId: string, params?: Omit<SearchJobSkillsParams, 'jobId' | 'page'>) =>
|
skillsSearch: (jobId: string, params?: Omit<SearchJobSkillsParams, 'jobId' | 'page'>) =>
|
||||||
[...jobKeys.skills(jobId), 'search', params] as const,
|
[...jobKeys.skills(jobId), 'search', params] as const,
|
||||||
accessories: (jobId: string) => [...jobKeys.all, jobId, 'accessories'] as const,
|
accessories: (jobId: string) => [...jobKeys.all, jobId, 'accessories'] as const,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue