27 lines
829 B
TypeScript
27 lines
829 B
TypeScript
// Caminho: services/avatarsApi.ts
|
|
import api from './api';
|
|
|
|
const baseURL = 'https://yuanqfswhberkoevtmfr.supabase.co';
|
|
|
|
export const avatarsApi = {
|
|
upload: async (userId: string, file: File): Promise<any> => {
|
|
const formData = new FormData();
|
|
formData.append('file', file);
|
|
|
|
const response = await api.post(`/storage/v1/object/avatars/${userId}/avatar`, formData, {
|
|
headers: {
|
|
'Content-Type': 'multipart/form-data',
|
|
},
|
|
});
|
|
return response.data;
|
|
},
|
|
|
|
remove: async (userId: string): Promise<any> => {
|
|
const response = await api.delete(`/storage/v1/object/avatars/${userId}/avatar`);
|
|
return response.data;
|
|
},
|
|
|
|
getPublicUrl: (userId: string, ext: 'jpg' | 'png' | 'webp'): string => {
|
|
return `${baseURL}/storage/v1/object/public/avatars/${userId}/avatar.${ext}`;
|
|
},
|
|
}; |