/
netsvvir
/
treeRepo
Обзор
Документация
Войти
/
netsvvir
/
treeRepo
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
user-app/src/services/api.ts
91 строка
2 KB
netsvvir
Upload project
23 ноя 2025, 15:06
23 ноя 2025, 15:06
ce0a46d
Код
Авторство
О чём код?
import axios from 'axios'; const API_BASE_URL = 'http://localhost:8000'; const api = axios.create({ baseURL: API_BASE_URL, headers: { 'Content-Type': 'application/json', }, }); // Добавляем интерцептор для автоматической подстановки токена api.interceptors.request.use((config) => { const token = localStorage.getItem('telegram_token'); if (token) { config.headers.Authorization = `Bearer ${token}`; } return config; }); export const authService = { telegramLogin: async (telegramData: any) => { const response = await api.post('/telegram-auth', telegramData); return response.data; }, getProfile: async (): Promise<User> => { const response = await api.get('/user/profile'); return response.data; }, }; export const areaService = { getAreas: async (): Promise<Area[]> => { const response = await api.get('/areas/'); return response.data; }, getArea: async (id: number): Promise<Area> => { const response = await api.get(`/areas/${id}`); return response.data; }, }; export const plotService = { getAvailablePlots: async (areaId?: number): Promise<Plot[]> => { const url = areaId ? `/plots/available?area_id=${areaId}` : '/plots/available'; const response = await api.get(url); return response.data; }, getPlot: async (id: number): Promise<Plot> => { const response = await api.get(`/plots/${id}`); return response.data; }, }; export const treeTypeService = { getTreeTypes: async (): Promise<TreeType[]> => { const response = await api.get('/tree-types/'); return response.data; }, }; export const plaqueTypeService = { getPlaqueTypes: async (): Promise<PlaqueType[]> => { const response = await api.get('/plaque-types/'); return response.data; }, }; export const purchaseService = { createPurchase: async (purchaseData: PurchaseData) => { const response = await api.post('/purchase', purchaseData); return response.data; }, }; export const userService = { getUserTrees: async (): Promise<UserTree[]> => { const response = await api.get('/user/trees'); return response.data; }, getUserPlots: async (): Promise<Plot[]> => { const response = await api.get('/user/plots'); return response.data; }, }; export default api;