import { api } from '@/shared/utils/api';
import { API_ENDPOINTS } from '@/shared/constants/apiEndpoints';
import type { User } from '@/shared/types/api.types';

type AvatarResponse = {
  data: User;
  message?: string;
};

export const profileService = {
  async uploadAvatar(file: File): Promise<User> {
    const formData = new FormData();
    formData.append('avatar', file);

    const response = await api.post<AvatarResponse>(API_ENDPOINTS.PROFILE.AVATAR, formData, {
      headers: { 'Content-Type': 'multipart/form-data' },
    });

    return response.data;
  },

  async deleteAvatar(): Promise<User> {
    const response = await api.delete<AvatarResponse>(API_ENDPOINTS.PROFILE.AVATAR);
    return response.data;
  },
};
