feat: add services package
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import { ApplicationIdentifier } from '@standardnotes/common'
|
||||
|
||||
import { DeinitCallback } from './DeinitCallback'
|
||||
import { DeinitMode } from './DeinitMode'
|
||||
import { DeinitSource } from './DeinitSource'
|
||||
import { UserClientInterface } from './UserClientInterface'
|
||||
|
||||
export interface ApplicationInterface {
|
||||
deinit(mode: DeinitMode, source: DeinitSource): void
|
||||
|
||||
getDeinitMode(): DeinitMode
|
||||
|
||||
get user(): UserClientInterface
|
||||
|
||||
readonly identifier: ApplicationIdentifier
|
||||
}
|
||||
|
||||
export interface AppGroupManagedApplication extends ApplicationInterface {
|
||||
onDeinit: DeinitCallback
|
||||
|
||||
setOnDeinit(onDeinit: DeinitCallback): void
|
||||
}
|
||||
11
packages/services/src/Domain/Application/ApplicationStage.ts
Normal file
11
packages/services/src/Domain/Application/ApplicationStage.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
/* istanbul ignore file */
|
||||
export enum ApplicationStage {
|
||||
PreparingForLaunch_0 = 0.0,
|
||||
ReadyForLaunch_05 = 0.5,
|
||||
StorageDecrypted_09 = 0.9,
|
||||
Launched_10 = 1.0,
|
||||
LoadingDatabase_11 = 1.1,
|
||||
LoadedDatabase_12 = 1.2,
|
||||
FullSyncCompleted_13 = 1.3,
|
||||
SignedIn_30 = 3.0,
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import { DeinitSource } from './DeinitSource'
|
||||
import { DeinitMode } from './DeinitMode'
|
||||
import { AppGroupManagedApplication } from './ApplicationInterface'
|
||||
|
||||
export type DeinitCallback = (application: AppGroupManagedApplication, mode: DeinitMode, source: DeinitSource) => void
|
||||
6
packages/services/src/Domain/Application/DeinitMode.ts
Normal file
6
packages/services/src/Domain/Application/DeinitMode.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
/* istanbul ignore file */
|
||||
|
||||
export enum DeinitMode {
|
||||
Soft = 'Soft',
|
||||
Hard = 'Hard',
|
||||
}
|
||||
8
packages/services/src/Domain/Application/DeinitSource.ts
Normal file
8
packages/services/src/Domain/Application/DeinitSource.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
/* istanbul ignore file */
|
||||
|
||||
export enum DeinitSource {
|
||||
SignOut = 1,
|
||||
Lock,
|
||||
SwitchWorkspace,
|
||||
SignOutAll,
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import { DeinitSource } from './DeinitSource'
|
||||
export interface UserClientInterface {
|
||||
deleteAccount(): Promise<{
|
||||
error: boolean
|
||||
message?: string
|
||||
}>
|
||||
|
||||
signOut(force?: boolean, source?: DeinitSource): Promise<void>
|
||||
}
|
||||
Reference in New Issue
Block a user