import { http } from "@/shared/api/httpClient"; import { CreateSessionResponseSchema, ICreateSessionRequest, ICreateSessionResponse, IUpdateSessionRequest, IUpdateSessionResponse, UpdateSessionResponseSchema, IGetPixelsRequest, IGetPixelsResponse, GetPixelsResponseSchema, } from "./types"; import { API_ROUTES } from "@/shared/constants/api-routes"; export const createSession = async ( payload: ICreateSessionRequest ): Promise => { return http.post(API_ROUTES.session(), payload, { tags: ["session", "create"], schema: CreateSessionResponseSchema, revalidate: 0, }); }; export const updateSession = async ( payload: IUpdateSessionRequest ): Promise => { // Отправляем только data без вложенности return http.patch( API_ROUTES.session(payload.sessionId), payload.data, { tags: ["session", "update"], schema: UpdateSessionResponseSchema, revalidate: 0, } ); }; export const getPixels = async ( payload: IGetPixelsRequest ): Promise => { return http.get(API_ROUTES.sessionPixels(), { tags: ["session", "pixels"], schema: GetPixelsResponseSchema, revalidate: 3600, // Cache for 1 hour query: payload, }); };