import { AbilityBuilder, createMongoAbility } from "@casl/ability"; import { safeJsonParse } from "./sanitize"; export function defineAbilitiesFor(user) { const { can, cannot, build } = new AbilityBuilder(createMongoAbility); if (user) { can("access", "Dashboard"); cannot("access", "Login"); const parsedData = safeJsonParse(user.value); const roles = parsedData?.roles; if (roles && Array.isArray(Object.values(roles)) && Object.values(roles).includes("representation")) { can("access", "Panel"); } } else { can("access", "Login"); cannot("access", "Dashboard"); } return build(); }