import { api } from "@/lib/api/client";

export type Department = {
	id: string;
	name: string;
	headName: string | null;
	employeeCount: number;
	openRoles: number;
	isActive: boolean;
	createdAt: string;
	updatedAt: string;
};

export function getDepartments() {
	return api.get<{ items: Department[] }>("/departments");
}

export function getDepartment(id: string) {
	return api.get<Department>(`/departments/${id}`);
}

export type CreateDepartmentInput = {
	name: string;
	headName?: string;
};

export type UpdateDepartmentInput = {
	name?: string;
	headName?: string;
	isActive?: boolean;
};

export function createDepartment(data: CreateDepartmentInput) {
	return api.post<Department>("/departments", data);
}

export function updateDepartment(id: string, data: UpdateDepartmentInput) {
	return api.patch<Department>(`/departments/${id}`, data);
}

export function deleteDepartment(id: string) {
	return api.delete<Department>(`/departments/${id}`);
}
