// ============================================================================ // Placements API // ============================================================================ import { api } from "./client"; import type { Placement, PlacementCreateRequest, PlacementUpdateRequest, PlacementsQueryParams, ViewsHistoryItem, ViewsHistoryQueryParams, PaginatedResponse, } from "@/lib/types/api"; export const placementsApi = { /** * Get list of placements for workspace */ list: (workspaceId: string, params?: PlacementsQueryParams) => api.get>( `/workspaces/${workspaceId}/placements`, { params } ), /** * Get single placement */ get: (workspaceId: string, placementId: string) => api.get(`/workspaces/${workspaceId}/placements/${placementId}`), /** * Create new placement */ create: (workspaceId: string, data: PlacementCreateRequest) => api.post(`/workspaces/${workspaceId}/placements`, data), /** * Update placement */ update: ( workspaceId: string, placementId: string, data: PlacementUpdateRequest ) => api.patch( `/workspaces/${workspaceId}/placements/${placementId}`, data ), /** * Delete (archive) placement */ delete: (workspaceId: string, placementId: string) => api.delete(`/workspaces/${workspaceId}/placements/${placementId}`), /** * Get views history for placement */ getViewsHistory: ( workspaceId: string, placementId: string, params?: ViewsHistoryQueryParams ) => api.get>( `/workspaces/${workspaceId}/placements/${placementId}/views/history`, { params } ), };