49 lines
1.7 KiB
TypeScript
Raw Normal View History

export { createClient, resolveBaseUrl } from "./runtime/client";
export type { ApiClient, AuthHeaderResolver, CreateClientOptions, QueryParams, PathParams } from "./runtime/client";
export { ApiError, isApiError } from "./runtime/client";
// Re-export API helpers
export * from "./response-helpers";
// Import createClient for internal use
import { createClient } from "./runtime/client";
export const apiClient = createClient();
// Query keys for React Query - matching the expected structure
export const queryKeys = {
auth: {
me: () => ["auth", "me"] as const,
session: () => ["auth", "session"] as const,
},
billing: {
invoices: (params?: Record<string, unknown>) => ["billing", "invoices", params] as const,
invoice: (id: string) => ["billing", "invoice", id] as const,
paymentMethods: () => ["billing", "payment-methods"] as const,
},
subscriptions: {
all: () => ["subscriptions"] as const,
list: (params?: Record<string, unknown>) => ["subscriptions", "list", params] as const,
active: () => ["subscriptions", "active"] as const,
stats: () => ["subscriptions", "stats"] as const,
detail: (id: string) => ["subscriptions", "detail", id] as const,
invoices: (id: number, params?: Record<string, unknown>) =>
["subscriptions", "invoices", id, params] as const,
},
dashboard: {
summary: () => ["dashboard", "summary"] as const,
},
catalog: {
products: () => ["catalog", "products"] as const,
internet: {
combined: () => ["catalog", "internet", "combined"] as const,
},
sim: {
combined: () => ["catalog", "sim", "combined"] as const,
},
vpn: {
combined: () => ["catalog", "vpn", "combined"] as const,
},
},
} as const;