import api from "@/lib/api"; import type { User } from "@/types/user"; export const UserService = { async getMe(): Promise { const { data } = await api.get("/users/me"); return data; }, async getProfile(username: string): Promise { const { data } = await api.get(`/users/public/${username}`); return data; }, async updateMe(update: Partial): Promise { const { data } = await api.patch("/users/me", update); return data; }, async removeMe(): Promise { await api.delete("/users/me"); }, async getUsersAdmin( limit = 10, offset = 0, ): Promise<{ data: User[]; totalCount: number }> { const { data } = await api.get<{ data: User[]; totalCount: number }>( "/users/admin", { params: { limit, offset }, }, ); return data; }, async removeUserAdmin(uuid: string): Promise { await api.delete(`/users/${uuid}`); }, async updateAdmin(uuid: string, update: Partial): Promise { const { data } = await api.patch(`/users/admin/${uuid}`, update); return data; }, async updateAvatar(file: File): Promise { const formData = new FormData(); formData.append("file", file); const { data } = await api.post("/users/me/avatar", formData, { headers: { "Content-Type": "multipart/form-data", }, }); return data; }, async exportData(): Promise { const { data } = await api.get("/users/me/export"); return data; }, };