import { z } from "zod";
import { createPermissions } from "@/lib/permissions";
const FeaturePermissions = createPermissions({
schema: {
max_agents: z.number().min(1),
features: z.enum(["premium_editor", "ai_tools", "phone_support"]).array(),
products: z.enum(["view", "create", "update", "delete"]).array(),
},
validationConfig: {
max_agents: {
invalidMessage: "You can't add more agents.",
validMessage: "You can add more agents",
},
products: {
invalidMessage: "You can't create products",
validMessage: "You can create products",
},
},
});
const permissionsResult = FeaturePermissions.validate(
{ max_agents: 2, products: ["view"] },
{ max_agents: (value) => value >= 3 }
);
console.log(permissionsResult.max_agents.invalidMessage);
// "You can't add more agents."