diff options
Diffstat (limited to 'FrontEnd/src/http')
-rw-r--r-- | FrontEnd/src/http/user.ts | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/FrontEnd/src/http/user.ts b/FrontEnd/src/http/user.ts index 7313e484..17c4adbb 100644 --- a/FrontEnd/src/http/user.ts +++ b/FrontEnd/src/http/user.ts @@ -37,6 +37,10 @@ export interface HttpCreateUserRequest { password: string; } +export interface HttpBookmarkVisibility { + visibility: "Private" | "Register" | "Public"; +} + export class HttpChangePasswordBadCredentialError extends Error { constructor(public innerError?: AxiosError) { super(); @@ -60,6 +64,12 @@ export interface IHttpUserClient { permission: UserPermission ): Promise<void>; changePassword(req: HttpChangePasswordRequest): Promise<void>; + + getBookmarkVisibility(username: string): Promise<HttpBookmarkVisibility>; + putBookmarkVisibility( + username: string, + req: HttpBookmarkVisibility + ): Promise<void>; } export class HttpUserClient implements IHttpUserClient { @@ -136,6 +146,23 @@ export class HttpUserClient implements IHttpUserClient { } }); } + + getBookmarkVisibility(username: string): Promise<HttpBookmarkVisibility> { + return axios + .get<HttpBookmarkVisibility>( + `${apiBaseUrl}/v2/users/${username}/bookmarks/visibility` + ) + .then(extractResponseData); + } + + putBookmarkVisibility( + username: string, + req: HttpBookmarkVisibility + ): Promise<void> { + return axios + .put(`${apiBaseUrl}/v2/users/${username}/bookmarks/visibility`, req) + .then(); + } } let client: IHttpUserClient = new HttpUserClient(); |