49 lines
1.4 KiB
TypeScript
Raw Normal View History

/**
* 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.js";