Files
gg-backend/frontend/src/api/department.ts
T
2026-05-11 10:51:34 +05:30

87 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;
}
};