setup wizard first draft

This commit is contained in:
Drew Ansbacher
2021-06-29 17:02:11 -06:00
committed by Aiden McClelland
parent 77340ce769
commit 834abdc330
43 changed files with 33533 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
import { Subject } from "rxjs";
export abstract class ApiService {
protected error$: Subject<string> = new Subject()
watchError$ = this.error$.asObservable()
abstract getState (): Promise<State>
abstract getStorageDisks (): Promise<StorageDisk[]>
abstract selectStorageDisk (disk: { logicalName: string }): Promise<void>
abstract getEmbassyDrives (): Promise<EmbassyDrive[]>
abstract selectEmbassyDrive (disk: { logicalName: string }): Promise<void>
abstract getDataTransferProgress () : Promise<TransferProgress>
abstract submitPassword (password: string) : Promise<void>
}
export interface State {
'selected-data-drive': string | null,
'recovery-drive': string | null,
'has-password': boolean,
}
export interface TransferProgress {
'bytes-transfered': number
'total-bytes': number
}
export interface StorageDisk {
"logical-name": string
labels: string[]
capacity: number
used: number
}
export interface EmbassyDrive {
"logical-name": string
version: string
name: string
}