Files
cfw-autumn/shared/models/orgModels.ts
2025-01-31 18:05:04 +00:00

35 lines
874 B
TypeScript

import { z } from "zod";
export const MinOrgSchema = z.object({
id: z.string(),
slug: z.string(),
});
export const StripeConfigSchema = z.object({
test_api_key: z.string(),
live_api_key: z.string(),
test_webhook_secret: z.string(),
live_webhook_secret: z.string(),
success_url: z.string(),
});
export const OrganizationSchema = z.object({
id: z.string(),
slug: z.string(),
default_currency: z.string(),
stripe_connected: z.boolean().default(false),
stripe_config: StripeConfigSchema.optional().nullable(),
test_pkey: z.string(),
live_pkey: z.string(),
config: z
.object({
free_trial_paid_to_paid: z.boolean().default(false),
})
.nullish(),
});
export type Organization = z.infer<typeof OrganizationSchema>;
export type StripeConfig = z.infer<typeof StripeConfigSchema>;
export type MinOrg = z.infer<typeof MinOrgSchema>;