mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-04-02 05:23:14 +00:00
setup wizard first draft
This commit is contained in:
committed by
Aiden McClelland
parent
77340ce769
commit
834abdc330
37
setup-wizard/src/app/services/api/api.service.ts
Normal file
37
setup-wizard/src/app/services/api/api.service.ts
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user