// ============================================================================ // Placements API // ============================================================================ import { api } from "./client"; import type { Placement, PlacementQueryParams, PlacementCreateRequest, PlacementUpdateRequest, PlacementsListResponse, ViewsFetchResponse, ViewsHistoryResponse, SuccessResponse, } from "@/lib/types/api"; export const placementsApi = { /** * Get list of placements */ list: (params?: PlacementQueryParams) => api.get("/placements", { params }), /** * Get placement details */ get: (id: string) => api.get(`/placements/${id}`), /** * Create new placement */ create: (data: PlacementCreateRequest) => api.post("/placements", data), /** * Update placement */ update: (id: string, data: PlacementUpdateRequest) => api.patch(`/placements/${id}`, data), /** * Delete placement */ delete: (id: string) => api.delete(`/placements/${id}`), /** * Fetch views for placement */ fetchViews: (id: string) => api.post(`/placements/${id}/views/fetch`), /** * Get views history for placement */ viewsHistory: ( id: string, params?: { from_date?: string; to_date?: string } ) => api.get(`/placements/${id}/views/history`, { params, }), /** * Set views manually */ setViewsManually: (id: string, views_count: number) => api.post(`/placements/${id}/views/manual`, null, { params: { views_count }, }), }; // Keep purchasesApi as an alias for backwards compatibility export const purchasesApi = placementsApi;