import { client } from "./client"; import { components } from "../generated/api"; type ExchangePriceResponse = components["schemas"]["ExchangePriceResponse"]; type AvailableSlotsResponse = components["schemas"]["AvailableSlotsResponse"]; type ExchangeResponse = components["schemas"]["ExchangeResponse"]; interface CreateExchangeRequest { slot_start: string; direction: "buy" | "sell"; bitcoin_transfer_method: "onchain" | "lightning"; eur_amount: number; } /** * Exchange API endpoints */ export const exchangeApi = { /** * Get current exchange price */ getPrice(): Promise { return client.get("/api/exchange/price"); }, /** * Get available slots for a specific date */ getSlots(date: string): Promise { return client.get( `/api/exchange/slots?date=${encodeURIComponent(date)}` ); }, /** * Create a new exchange/trade */ createExchange(request: CreateExchangeRequest): Promise { return client.post("/api/exchange", request); }, };