diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-11-25 08:30:33 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-11-25 08:30:33 +0100 |
| commit | ca9c1cdf1ec2988f14ac4ca788edac31153f735f (patch) | |
| tree | 09a8663520b5c97497bbe7f91176720019c64d3b /code/app/src/lib/services/abstractions | |
| parent | b60a027a4ab9203388470ac51114638983a183da (diff) | |
| download | greatoffice-ca9c1cdf1ec2988f14ac4ca788edac31153f735f.tar.xz greatoffice-ca9c1cdf1ec2988f14ac4ca788edac31153f735f.zip | |
feat: WIP! Rework http calls into services
Diffstat (limited to 'code/app/src/lib/services/abstractions')
| -rw-r--r-- | code/app/src/lib/services/abstractions/IAccountService.ts | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/code/app/src/lib/services/abstractions/IAccountService.ts b/code/app/src/lib/services/abstractions/IAccountService.ts new file mode 100644 index 0000000..736c3ae --- /dev/null +++ b/code/app/src/lib/services/abstractions/IAccountService.ts @@ -0,0 +1,53 @@ +import type { KnownProblem } from "$lib/models/internal/KnownProblem" + +export interface IAccountService { + session: Session, + login_async(payload: LoginPayload): Promise<LoginResponse>, + logout_async(): Promise<void>, + create_account_async(payload: CreateAccountPayload): Promise<CreateAccountResponse>, + delete_current_async(): Promise<DeleteAccountResponse>, + update_current_async(payload: UpdateAccountPayload): Promise<UpdateAccountResponse>, +} + +export type Session = { + profile: { + username: string, + displayName: string, + id: string, + }, + lastChecked: number, +} + +export type LoginPayload = { + username: string, + password: string, + persist: boolean +} + +export type LoginResponse = { + isLoggedIn: boolean +} + +export type CreateAccountPayload = { + username: string, + password: string, +} + +export type CreateAccountResponse = { + isCreated: boolean, + knownProblem?: KnownProblem +} + +export type DeleteAccountResponse = { + isDeleted: boolean +} + +export type UpdateAccountPayload = { + username: string, + password: string +} + +export type UpdateAccountResponse = { + isUpdated: boolean, + knownProblem?: KnownProblem +}
\ No newline at end of file |
