49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
/**
|
|
* 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';
|