aboutsummaryrefslogtreecommitdiffstats
path: root/code/app/src/api/account
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-12-09 03:57:12 +0100
committerivarlovlie <git@ivarlovlie.no>2022-12-09 03:57:12 +0100
commit4dbef3fcd7a14437d55c555cf10d50de8e50d7d1 (patch)
tree632589ecfcfb4dfddeafb71d0077257584b5e7ec /code/app/src/api/account
parent914c75e0ceeb3e11ddd55e94bb461c26b0db5b7a (diff)
downloadgreatoffice-4dbef3fcd7a14437d55c555cf10d50de8e50d7d1.tar.xz
greatoffice-4dbef3fcd7a14437d55c555cf10d50de8e50d7d1.zip
feat: Move everything out of $lib
Diffstat (limited to 'code/app/src/api/account')
-rw-r--r--code/app/src/api/account/index.ts39
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,
+}