aboutsummaryrefslogtreecommitdiffstats
path: root/code/app/src/api/account/index.ts
blob: 7cbcefc8275a40f08ff9af99f105dff94c8eda85 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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,
}