frontend: add methods to add/yeet user's avatar

Pedro Lucas Porcellis porcellis@eletrotupi.com 1 month ago 7822d9e99b09af4dfe1e8e53c16fa9ec92016599
Parents: e44ddbf
1 file(s) changed
  • frontend/lib/api.ts +18 -0
frontend/lib/api.ts
@@ -9,6 +9,8 @@ email: string;
9 9 firstName: string;
10 10 lastName?: string;
11 11 updatedAt: Date;
12 + avatarKey?: string;
13 + avatarURL?: string;
12 14 }
13 15
14 16 export interface AuthResponse {
@@ -74,6 +76,22 @@ throw new Error(error.error || `HTTP ${response.status}`);
74 76 }
75 77
76 78 return response.json();
79 + }
80 +
81 + async avatar(formData: FormData): Promise<void> {
82 + return await this.request(`/users/me/avatar`, {
83 + method: 'POST',
84 + body: formData,
85 + headers: {
86 + 'Content-Type': 'multipart/form-data',
87 + } as any,
88 + })
89 + }
90 +
91 + async removeAvatar(): Promise<void> {
92 + return await this.request(`/users/me/avatar`, {
93 + method: 'DELETE'
94 + });
77 95 }
78 96
79 97 async login(email: string, password: string): Promise<AuthResponse> {