/
GEOSHEV
/
Event-app
Обзор
Документация
Войти
/
GEOSHEV
/
Event-app
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
src/api/user.ts
68 строк
2 KB
Gosha
feat: add edit profile
27 май 2026, 20:18
27 май 2026, 20:18
100e9e6
Код
Авторство
О чём код?
import AsyncStorage from "@react-native-async-storage/async-storage"; import axios from "axios"; import { API_BASE_URL } from "../constants/config"; import { Child, CreateChildDto, UpdateChildDto, UpdateUserDto, User, } from "../types/auth"; const api = axios.create({ baseURL: API_BASE_URL, headers: { "x-api-key": "12", }, }); api.interceptors.request.use(async (config) => { const token = await AsyncStorage.getItem("accessToken"); if (token) { config.headers.Authorization = `Bearer ${token}`; } return config; }); export const getMe = async () => { const response = await api.get<User>("/users/me"); return response.data; }; export const logout = async () => { const response = await api.delete("/auth/logout"); return response.data; }; export const getChildren = async () => { const response = await api.get<Child[]>("/users/me/children"); return response.data; }; export const createChild = async (data: CreateChildDto) => { const response = await api.post<Child>("/users/me/children", data); return response.data; }; export const updateChild = async ( childId: string, data: UpdateChildDto, ): Promise<Child> => { const response = await api.patch<Child>( `/users/me/children/${childId}`, data, ); return response.data; }; export const deleteChild = async (childId: string): Promise<void> => { await api.delete(`/users/me/children/${childId}`); }; export { api }; export type { Child, User }; export const updateMe = async (data: UpdateUserDto): Promise<User> => { const response = await api.patch<User>("/users/me", data); return response.data; };