import { api } from "@/lib/api-client"; import type { Package, Payment, Discount, PaginatedResponse, PaginationParams, ApiSuccessResponse } from "@/types"; export const subscriptionsService = { async listPackages(): Promise { return api.get("/packages"); }, async listPayments(params?: PaginationParams): Promise> { return api.get>("/payments", params as Record); }, async createStripeCheckout(data: { package_id: number; discount_code?: string }): Promise<{ checkout_url: string }> { return api.post("/stripe/checkout", data); }, async createPaypalCheckout(data: { package_id: number; discount_code?: string }): Promise<{ approval_url: string }> { return api.post("/paypal/checkout", data); }, async createPaymobCheckout(data: { package_id: number; discount_code?: string }): Promise<{ payment_url: string }> { return api.post("/paymob/checkout", data); }, async listDiscounts(params?: PaginationParams): Promise> { return api.get>("/discounts", params as Record); }, async createDiscount(data: Partial): Promise { return api.post("/discounts", data); }, async deleteDiscount(id: number): Promise { return api.delete(`/discounts/${id}`); }, };