diff options
author | crupest <crupest@outlook.com> | 2020-11-17 17:31:42 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-11-17 17:31:42 +0800 |
commit | 2493232c8491b51c26e3841f99ae5a18d23f8560 (patch) | |
tree | ab963f71e067a597e4655ffe27f984f8a837c8d1 /FrontEnd/src/app/http/user.ts | |
parent | 8f5ffab46b18eb30dfebeb8407435dd85dc35232 (diff) | |
download | timeline-2493232c8491b51c26e3841f99ae5a18d23f8560.tar.gz timeline-2493232c8491b51c26e3841f99ae5a18d23f8560.tar.bz2 timeline-2493232c8491b51c26e3841f99ae5a18d23f8560.zip |
...
Diffstat (limited to 'FrontEnd/src/app/http/user.ts')
-rw-r--r-- | FrontEnd/src/app/http/user.ts | 25 |
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(); |