diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-12-09 03:57:12 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-12-09 03:57:12 +0100 |
| commit | 4dbef3fcd7a14437d55c555cf10d50de8e50d7d1 (patch) | |
| tree | 632589ecfcfb4dfddeafb71d0077257584b5e7ec /code/app/src/lib/services/account-service.ts | |
| parent | 914c75e0ceeb3e11ddd55e94bb461c26b0db5b7a (diff) | |
| download | greatoffice-4dbef3fcd7a14437d55c555cf10d50de8e50d7d1.tar.xz greatoffice-4dbef3fcd7a14437d55c555cf10d50de8e50d7d1.zip | |
feat: Move everything out of $lib
Diffstat (limited to 'code/app/src/lib/services/account-service.ts')
| -rw-r--r-- | code/app/src/lib/services/account-service.ts | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/code/app/src/lib/services/account-service.ts b/code/app/src/lib/services/account-service.ts deleted file mode 100644 index dedf39e..0000000 --- a/code/app/src/lib/services/account-service.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { http_delete_async, http_get_async, http_post_async } from "$lib/api/_fetch"; -import { api_base, CookieNames } from "$lib/configuration"; -import { is_known_problem } from "$lib/models/internal/KnownProblem"; -import type { CreateAccountPayload, CreateAccountResponse, DeleteAccountResponse, IAccountService, LoginPayload, LoginResponse, Session, UpdateAccountPayload, UpdateAccountResponse } from "./abstractions/IAccountService"; - -export class AccountService implements IAccountService { - session: Session; - async login_async(payload: LoginPayload): Promise<LoginResponse> { - const response = await http_post_async(api_base("_/account/login"), payload); - if (response.ok) return { isLoggedIn: true }; - if (is_known_problem(response)) return { - isLoggedIn: false, - knownProblem: await response.json() - }; - return { - isLoggedIn: false - } - } - async logout_async(): Promise<void> { - const response = await http_get_async(api_base("_/account/logout")); - - if (!response.ok) { - const deleteCookieResponse = await fetch("/delete-cookie?key=" + CookieNames.session); - if (!deleteCookieResponse.ok) { - throw new Error("Could neither logout nor delete session cookie."); - } - } - - return; - } - async create_account_async(payload: CreateAccountPayload): Promise<CreateAccountResponse> { - const response = await http_post_async(api_base("_/account/create"), payload); - if (response.ok) return { isCreated: true }; - if (is_known_problem(response)) return { - isCreated: false, - knownProblem: await response.json() - } - - return { - isCreated: false - } - } - async delete_current_async(): Promise<DeleteAccountResponse> { - const response = await http_delete_async(api_base("_/account/delete")); - return { - isDeleted: response.ok - } - } - async update_current_async(payload: UpdateAccountPayload): Promise<UpdateAccountResponse> { - const response = await http_post_async(api_base("_/account/update"), payload); - if (response.ok) return { isUpdated: true }; - if (is_known_problem(response)) return { - isUpdated: false, - knownProblem: await response.json() - } - - return { - isUpdated: false - } - } -}
\ No newline at end of file |
