diff options
Diffstat (limited to 'code/app/src/lib/services')
| -rw-r--r-- | code/app/src/lib/services/abstractions/IAccountService.ts | 3 | ||||
| -rw-r--r-- | code/app/src/lib/services/account-service.ts | 9 |
2 files changed, 10 insertions, 2 deletions
diff --git a/code/app/src/lib/services/abstractions/IAccountService.ts b/code/app/src/lib/services/abstractions/IAccountService.ts index 736c3ae..2beeb08 100644 --- a/code/app/src/lib/services/abstractions/IAccountService.ts +++ b/code/app/src/lib/services/abstractions/IAccountService.ts @@ -25,7 +25,8 @@ export type LoginPayload = { } export type LoginResponse = { - isLoggedIn: boolean + isLoggedIn: boolean, + knownProblem?: KnownProblem } export type CreateAccountPayload = { diff --git a/code/app/src/lib/services/account-service.ts b/code/app/src/lib/services/account-service.ts index 90af163..dedf39e 100644 --- a/code/app/src/lib/services/account-service.ts +++ b/code/app/src/lib/services/account-service.ts @@ -7,7 +7,14 @@ 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); - return { isLoggedIn: response.ok }; + 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")); |
