import apiClient from '@api/api-client'; import { API_BASE_URL } from '@/shared/constants'; import { IServerResponse } from '@/types/common.types'; import { IJobTitle, IJobTitlesViewModel } from '@/types/job.types'; import { toQueryString } from '@/utils/toQueryString'; const rootUrl = `${API_BASE_URL}/job-titles`; export const jobTitlesApiService = { async getJobTitles( index: number, size: number, field: string | null, order: string | null, search?: string | null ): Promise> { const s = encodeURIComponent(search || ''); const queryString = toQueryString({ index, size, field, order, search: s }); const response = await apiClient.get>( `${rootUrl}${queryString}` ); return response.data; }, async getJobTitleById(id: string): Promise> { const response = await apiClient.get>(`${rootUrl}/${id}`); return response.data; }, async createJobTitle(body: IJobTitle): Promise> { const response = await apiClient.post>(rootUrl, body); return response.data; }, async updateJobTitle(id: string, body: IJobTitle): Promise> { const response = await apiClient.put>(`${rootUrl}/${id}`, body); return response.data; }, async deleteJobTitle(id: string): Promise> { const response = await apiClient.delete>(`${rootUrl}/${id}`); return response.data; }, };