/** * Subscriptions Domain - Contract * * Constants and types for the subscriptions domain. * All validated types are derived from schemas (see schema.ts). */ // ============================================================================ // Subscription Status Constants // ============================================================================ export const SUBSCRIPTION_STATUS = { ACTIVE: "Active", INACTIVE: "Inactive", PENDING: "Pending", CANCELLED: "Cancelled", SUSPENDED: "Suspended", TERMINATED: "Terminated", COMPLETED: "Completed", } as const; // ============================================================================ // Subscription Billing Cycle Constants // ============================================================================ export const SUBSCRIPTION_CYCLE = { MONTHLY: "Monthly", QUARTERLY: "Quarterly", SEMI_ANNUALLY: "Semi-Annually", ANNUALLY: "Annually", BIENNIALLY: "Biennially", TRIENNIALLY: "Triennially", ONE_TIME: "One-time", FREE: "Free", } as const; // ============================================================================ // Re-export Types from Schema (Schema-First Approach) // ============================================================================ export type { SubscriptionStatus, SubscriptionCycle, Subscription, SubscriptionList, SubscriptionQueryParams, SubscriptionQuery, } from './schema';