aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/http/user.ts
diff options
context:
space:
mode:
Diffstat (limited to 'FrontEnd/src/http/user.ts')
-rw-r--r--FrontEnd/src/http/user.ts27
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();