frontend/src/api/merchImages.js

60 lines
1.4 KiB
JavaScript
Raw Normal View History

2025-10-18 14:10:21 +03:00
import { apiClient } from '@/services/apiClient.js'
export const useMerchImagesApi = () => {
const uploadImage = async (uuid, file) => {
const formData = new FormData()
formData.append('file', file)
formData.append('imageType', 'all')
try {
const response = await apiClient.post(`/merch/images/${uuid}`, formData)
if (response.status !== 200) {
throw new Error(`Upload failed: ${response.status}`)
}
return response.data
} catch (error) {
console.error('Upload failed:', error)
throw error
}
}
const getImageUrl = async (uuid, type) => {
try {
const response = await apiClient.get(`/merch/images/${uuid}`, { type })
console.log(response.data.link)
2025-10-18 14:10:21 +03:00
if (response.status !== 200) {
throw new Error(`Get image failed: ${response.status}`)
}
return response.data.link
2025-10-18 14:10:21 +03:00
} catch (error) {
console.error('Get image failed:', error)
throw error
}
}
const deleteImage = async (uuid) => {
try {
const response = await apiClient.delete(`/merch/images/${uuid}`)
2025-10-18 14:10:21 +03:00
if (response.status !== 200) {
throw new Error(`Delete failed: ${response.status}`)
}
return true
} catch (error) {
console.error('Delete image failed:', error)
throw error
}
}
return {
uploadImage,
getImageUrl,
deleteImage,
}
}