45 lines
1.0 KiB
TypeScript
45 lines
1.0 KiB
TypeScript
// ============================================================================
|
|
// Creatives API
|
|
// ============================================================================
|
|
|
|
import { api } from "./client";
|
|
import type {
|
|
Creative,
|
|
CreativeDetail,
|
|
CreativeQueryParams,
|
|
CreativeCreateRequest,
|
|
CreativeUpdateRequest,
|
|
ListResponse,
|
|
SuccessResponse,
|
|
} from "@/lib/types/api";
|
|
|
|
export const creativesApi = {
|
|
/**
|
|
* Get list of creatives
|
|
*/
|
|
list: (params?: CreativeQueryParams) =>
|
|
api.get<ListResponse<Creative>>("/creatives", { params }),
|
|
|
|
/**
|
|
* Get creative details
|
|
*/
|
|
get: (id: string) => api.get<CreativeDetail>(`/creatives/${id}`),
|
|
|
|
/**
|
|
* Create new creative
|
|
*/
|
|
create: (data: CreativeCreateRequest) =>
|
|
api.post<Creative>("/creatives", data),
|
|
|
|
/**
|
|
* Update creative
|
|
*/
|
|
update: (id: string, data: CreativeUpdateRequest) =>
|
|
api.patch<Creative>(`/creatives/${id}`, data),
|
|
|
|
/**
|
|
* Delete creative
|
|
*/
|
|
delete: (id: string) => api.delete<SuccessResponse>(`/creatives/${id}`),
|
|
};
|