diff options
Diffstat (limited to 'code/app/src/api/account')
| -rw-r--r-- | code/app/src/api/account/index.ts | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/code/app/src/api/account/index.ts b/code/app/src/api/account/index.ts new file mode 100644 index 0000000..7cbcefc --- /dev/null +++ b/code/app/src/api/account/index.ts @@ -0,0 +1,39 @@ +import {api_base} from "$configuration"; +import {http_delete_async, http_get_async, http_post_async} from "../_fetch"; + +export const http_account = { + login_async(payload: LoginPayload): Promise<Response> { + return http_post_async(api_base("_/account/login"), payload); + }, + logout_async(): Promise<Response> { + return http_get_async(api_base("_/account/logout")); + }, + delete_account_async(): Promise<Response> { + return http_delete_async(api_base("_/account/delete")); + }, + update_profile_async(payload: UpdateProfilePayload): Promise<Response> { + return http_post_async(api_base("_/account/update"), payload); + }, + create_account_async(payload: CreateAccountPayload): Promise<Response> { + return http_post_async(api_base("_/account/create"), payload); + }, + get_profile_async(suppress_401: boolean): Promise<Response> { + return http_get_async(api_base("_/account"), 0, suppress_401); + }, +}; + +export interface CreateAccountPayload { + username: string, + password: string +} + +export interface LoginPayload { + username: string, + password: string, + persist: boolean +} + +export interface UpdateProfilePayload { + username?: string, + password?: string, +} |
