import api from './api'; // Типы данных для корзины export interface CartItemCreate { variant_id: number; quantity: number; } export interface CartItemUpdate { quantity: number; } export interface CartItem { id: number; user_id: number; variant_id: number; quantity: number; created_at: string; updated_at?: string; product_id: number; product_name: string; product_price: number; product_image?: string; variant_name: string; slug: string; total_price: number; } export interface Cart { items: CartItem[]; total_amount: number; items_count: number; } // Сервис для работы с корзиной const cartService = { // Получить корзину пользователя getCart: async (): Promise => { const response = await api.get('/cart'); return response.data; }, // Добавить товар в корзину addToCart: async (item: CartItemCreate): Promise => { const response = await api.post('/cart/items', item); return response.data.cart_item; }, // Обновить количество товара в корзине updateCartItem: async (id: number, item: CartItemUpdate): Promise => { const response = await api.put(`/cart/items/${id}`, item); return response.data.cart_item; }, // Удалить товар из корзины removeFromCart: async (id: number): Promise => { const response = await api.delete(`/cart/items/${id}`); return response.data.success; }, // Очистить корзину clearCart: async (): Promise => { const response = await api.delete('/cart/clear'); return response.data.success; } }; export default cartService;