50 lines
1.1 KiB
TypeScript
50 lines
1.1 KiB
TypeScript
import apiClient from '@/api/client';
|
|
import toast from 'react-hot-toast';
|
|
|
|
export const getCareersApi = async () => {
|
|
const res = await apiClient.get('/careers/getAll?admin=true');
|
|
return res.data;
|
|
};
|
|
|
|
export const createCareerApi = async (data: any) => {
|
|
try {
|
|
const res = await apiClient.post('/careers', data);
|
|
|
|
toast.success('Career created successfully');
|
|
|
|
return res.data;
|
|
} catch (error: any) {
|
|
toast.error(error?.response?.data?.message || 'Failed to create career');
|
|
|
|
throw error;
|
|
}
|
|
};
|
|
|
|
export const updateCareerApi = async (id: number, data: any) => {
|
|
try {
|
|
const res = await apiClient.patch(`/careers/${id}`, data);
|
|
|
|
toast.success('Career updated successfully');
|
|
|
|
return res.data;
|
|
} catch (error: any) {
|
|
toast.error(error?.response?.data?.message || 'Failed to update career');
|
|
|
|
throw error;
|
|
}
|
|
};
|
|
|
|
export const deleteCareerApi = async (id: number) => {
|
|
try {
|
|
const res = await apiClient.delete(`/careers/${id}`);
|
|
|
|
toast.success('Career deleted successfully');
|
|
|
|
return res.data;
|
|
} catch (error: any) {
|
|
toast.error(error?.response?.data?.message || 'Failed to delete career');
|
|
|
|
throw error;
|
|
}
|
|
};
|