← 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);
}