import type { DashboardUser, ProjectItem, Member } from "./B01_Dashboard_Api_Fetch"; export function canEditProject(user: DashboardUser, _project: ProjectItem): boolean { if (user.role === "SYSTEM_ADMIN") return true; if (user.role === "ADMIN") return user.company_id !== null; return false; // USER는 수정 불가 } export function canDeleteProject(user: DashboardUser): boolean { // SYSTEM_ADMIN만 가능 (ADMIN 프로젝트 삭제는 나중을 위해 주석 처리) return user.role === "SYSTEM_ADMIN"; // return user.role === "SYSTEM_ADMIN" || user.role === "ADMIN"; } export function canAddUser(user: DashboardUser): boolean { return user.role === "SYSTEM_ADMIN" || user.role === "ADMIN"; } export function canChangeRole(user: DashboardUser, _targetUser: Member | DashboardUser): boolean { // 역할 변경은 오직 SYSTEM_ADMIN만 가능 return user.role === "SYSTEM_ADMIN"; } export function canDeleteUser(user: DashboardUser, _targetUser: Member | DashboardUser): boolean { if (user.role === "SYSTEM_ADMIN") return true; // ADMIN은 본인 회사의 멤버만 삭제 가능 return user.role === "ADMIN" && user.company_id !== null; } export function canManageAutomation( user: DashboardUser, _projectOrAutomation: ProjectItem | { company_id?: number | null }, ): boolean { return user.role === "SYSTEM_ADMIN" || (user.role === "ADMIN" && user.company_id !== null); }