- Added 3-step deploy dialog (Connect Stripe, Copy Products, Create API Key) - Implemented backend endpoints for copying products/features between environments - Added localStorage caching for organization data and deploy button visibility - Created useShowDeployButton hook to conditionally show deploy button - Hide environment switch in CommandBar when organization not deployed - Abstracted feature and product creation/update logic into reusable actions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
29 lines
593 B
TypeScript
29 lines
593 B
TypeScript
import { z } from "zod/v4";
|
|
|
|
export const FrontendOrgSchema = z.object({
|
|
id: z.string(),
|
|
name: z.string(),
|
|
logo: z.string().nullable(),
|
|
slug: z.string(),
|
|
|
|
success_url: z.string(),
|
|
default_currency: z.string(),
|
|
created_at: z.number(),
|
|
test_pkey: z.string().nullable(),
|
|
live_pkey: z.string().nullable(),
|
|
|
|
stripe_connection: z.string(),
|
|
master: z
|
|
.object({
|
|
id: z.string(),
|
|
name: z.string(),
|
|
slug: z.string(),
|
|
})
|
|
.nullable(),
|
|
through_master: z.boolean(),
|
|
onboarded: z.boolean(),
|
|
deployed: z.boolean(),
|
|
});
|
|
|
|
export type FrontendOrg = z.infer<typeof FrontendOrgSchema>;
|