13 lines
454 B
TypeScript
13 lines
454 B
TypeScript
|
|
import { z } from "zod/v4";
|
||
|
|
|
||
|
|
export const ResourceScopeSchema = z.enum(["company", "global"]);
|
||
|
|
|
||
|
|
export const ResourceOwnershipSchema = z.discriminatedUnion("scope", [
|
||
|
|
z.strictObject({ scope: z.literal("company"), companyId: z.uuid() }),
|
||
|
|
z.strictObject({ scope: z.literal("global"), companyId: z.null() }),
|
||
|
|
]);
|
||
|
|
|
||
|
|
export type ResourceScope = z.infer<typeof ResourceScopeSchema>;
|
||
|
|
|
||
|
|
export type ResourceOwnership = z.infer<typeof ResourceOwnershipSchema>;
|