Files
gg-backend/frontend/src/api/department.ts
T
2026-05-26 15:48:01 +05:30

81 lines
1.7 KiB
TypeScript

import apiClient from '@/api/client';
import toast from 'react-hot-toast';
export interface Department {
departmentId: string;
name: string;
image?: string;
para1: string;
para2: string;
para3: string;
facilities: string;
services: string;
isActive?: boolean;
sortOrder?: number;
}
export const getDepartmentsApi = async () => {
const res = await apiClient.get('/departments/getAll?admin=true');
return res.data;
};
export const createDepartmentApi = async (data: {
departmentId: string;
name: string;
para1?: string;
para2?: string;
para3?: string;
facilities?: string;
services?: string;
}) => {
try {
const res = await apiClient.post('/departments', data);
toast.success('Department created successfully');
return res.data;
} catch (error: any) {
toast.error(error?.response?.data?.message || 'Failed to create department');
throw error;
}
};
export const updateDepartmentApi = async (
departmentId: string,
data: {
name?: string;
para1?: string;
para2?: string;
para3?: string;
facilities?: string;
services?: string;
}
) => {
try {
const res = await apiClient.put(`/departments/${departmentId}`, data);
toast.success('Department updated successfully');
return res.data;
} catch (error: any) {
toast.error(error?.response?.data?.message || 'Failed to update department');
throw error;
}
};
export const deleteDepartmentApi = async (departmentId: string) => {
try {
const res = await apiClient.delete(`/departments/${departmentId}`);
toast.success('Department deleted successfully');
return res.data;
} catch (error: any) {
toast.error(error?.response?.data?.message || 'Failed to delete department');
throw error;
}
};