aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/app/http
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-11-17 17:31:42 +0800
committercrupest <crupest@outlook.com>2020-11-17 17:31:42 +0800
commit2493232c8491b51c26e3841f99ae5a18d23f8560 (patch)
treeab963f71e067a597e4655ffe27f984f8a837c8d1 /FrontEnd/src/app/http
parent8f5ffab46b18eb30dfebeb8407435dd85dc35232 (diff)
downloadtimeline-2493232c8491b51c26e3841f99ae5a18d23f8560.tar.gz
timeline-2493232c8491b51c26e3841f99ae5a18d23f8560.tar.bz2
timeline-2493232c8491b51c26e3841f99ae5a18d23f8560.zip
...
Diffstat (limited to 'FrontEnd/src/app/http')
-rw-r--r--FrontEnd/src/app/http/user.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/FrontEnd/src/app/http/user.ts b/FrontEnd/src/app/http/user.ts
index 92a6433e..243846d1 100644
--- a/FrontEnd/src/app/http/user.ts
+++ b/FrontEnd/src/app/http/user.ts
@@ -28,6 +28,8 @@ export interface HttpUser {
}
export interface HttpUserPatchRequest {
+ username?: string;
+ password?: string;
nickname?: string;
}
@@ -36,6 +38,11 @@ export interface HttpChangePasswordRequest {
newPassword: string;
}
+export interface HttpCreateUserRequest {
+ username: string;
+ password: string;
+}
+
export class HttpUserNotExistError extends Error {
constructor(public innerError?: AxiosError) {
super();
@@ -56,6 +63,7 @@ export interface IHttpUserClient {
req: HttpUserPatchRequest,
token: string
): Promise<HttpUser>;
+ delete(username: string, token: string): Promise<void>;
getAvatar(username: string): Promise<BlobWithEtag>;
getAvatar(
username: string,
@@ -73,6 +81,8 @@ export interface IHttpUserClient {
permission: UserPermission,
token: string
): Promise<void>;
+
+ createUser(req: HttpCreateUserRequest, token: string): Promise<HttpUser>;
}
export class HttpUserClient implements IHttpUserClient {
@@ -102,6 +112,13 @@ export class HttpUserClient implements IHttpUserClient {
.catch(convertToNetworkError);
}
+ delete(username: string, token: string): Promise<void> {
+ return axios
+ .delete(`${apiBaseUrl}/users/${username}?token=${token}`)
+ .catch(convertToNetworkError)
+ .then();
+ }
+
getAvatar(username: string): Promise<BlobWithEtag>;
getAvatar(
username: string,
@@ -171,6 +188,14 @@ export class HttpUserClient implements IHttpUserClient {
.catch(convertToNetworkError)
.then();
}
+
+ createUser(req: HttpCreateUserRequest, token: string): Promise<HttpUser> {
+ return axios
+ .post<HttpUser>(`${apiBaseUrl}/userop/createuser?token=${token}`, req)
+ .then(extractResponseData)
+ .catch(convertToNetworkError)
+ .then();
+ }
}
let client: IHttpUserClient = new HttpUserClient();