← back to Ventura Claw
app/lib/auth/rbac.ts
14 lines
export type Role = "admin" | "user";
export const SENSITIVE_ACTIONS = [
"social.publish","email.send","payments.refund","payments.charge",
"dns.update","shopify.product.update","shopify.product.delete",
"oauth.connect","oauth.disconnect","customers.export","users.invite","billing.change"
];
export function requireRole(role: Role, required: Role): boolean {
if (required === "user") return role === "user" || role === "admin";
return role === "admin";
}
export function isSensitive(action: string): boolean {
return SENSITIVE_ACTIONS.includes(action);
}