import axios from "axios";
import apiClient from "../api-client";
import { UploadFileResponse } from "../types/models/upload";

export default class uploadFileService {
  static uploadImage = async (file: File): Promise<UploadFileResponse> => {
    try {
      const formData = new FormData();
      formData.append("file", file);
      formData.append('name', 'vibrantprint')

      const response = await axios.post(`${process.env.NEXT_PUBLIC_IMAGE_UPLOAD_URL}/upload`, formData, {
        headers: { 'Content-Type': 'multipart/form-data' },
      })

      return response.data;
    } catch (error) {
      console.error(`Error in uploadFile:uploadFile`, error);
      throw error;
    }
  };

  static convertImages = async (file: string) => {
    try {
      const response = await apiClient.post(`/api/convert-images`, { file: file });
      return response.data;
    } catch (error) {
      console.error(`Error in uploadFile:convertImages`, error);
      throw error;
    }
  };
}
