- Added Cache-Control headers to various endpoints in CatalogController and SubscriptionsController to improve caching behavior and reduce server load. - Updated response structures to ensure consistent caching strategies across different API endpoints. - Improved overall performance by implementing throttling and caching mechanisms for better request management.
59 lines
1.9 KiB
TypeScript
59 lines
1.9 KiB
TypeScript
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,
|
|
},
|
|
},
|
|
orders: {
|
|
list: () => ["orders", "list"] as const,
|
|
detail: (id: string | number) => ["orders", "detail", String(id)] as const,
|
|
},
|
|
} as const;
|