From 76d23010b3e424d78e88c9e17c56ed5dc5a5a48b Mon Sep 17 00:00:00 2001 From: Drew Ansbacher Date: Tue, 23 Nov 2021 17:09:24 -0700 Subject: [PATCH] starting status --- .../services/api/embassy-mock-api.service.ts | 45 ++++++++++++------- ui/src/app/services/patch-db/data-model.ts | 7 ++- .../services/pkg-status-rendering.service.ts | 2 + 3 files changed, 37 insertions(+), 17 deletions(-) diff --git a/ui/src/app/services/api/embassy-mock-api.service.ts b/ui/src/app/services/api/embassy-mock-api.service.ts index 10805e560..bf3ef8f85 100644 --- a/ui/src/app/services/api/embassy-mock-api.service.ts +++ b/ui/src/app/services/api/embassy-mock-api.service.ts @@ -454,23 +454,36 @@ export class MockApiService extends ApiService { } async startPackageRaw (params: RR.StartPackageReq): Promise { - await pauseFor(2000) const path = `/package-data/${params.id}/installed/status/main` - const patch1 = [ - { - op: PatchOp.REPLACE, - path: path + '/status', - value: PackageMainStatus.Running, - }, - { - op: PatchOp.REPLACE, - path: path + '/started', - value: new Date().toISOString(), - }, - ] - const res = await this.http.rpcRequest>({ method: 'db.patch', params: { patch: patch1 } }) + + await pauseFor(2000) setTimeout(async () => { + const patch0 = [ + { + op: PatchOp.REPLACE, + path: path + '/status', + value: PackageMainStatus.Starting, + }, + ] + await this.http.rpcRequest>({ method: 'db.patch', params: { patch: patch0 } }) + + await pauseFor(4000) + console.log('run') + const patch1 = [ + { + op: PatchOp.REPLACE, + path: path + '/status', + value: PackageMainStatus.Running, + }, + { + op: PatchOp.REPLACE, + path: path + '/started', + value: new Date().toISOString(), + }, + ] + await this.http.rpcRequest>({ method: 'db.patch', params: { patch: patch1 } }) + const patch2 = [ { op: PatchOp.REPLACE, @@ -517,9 +530,9 @@ export class MockApiService extends ApiService { ] await this.http.rpcRequest>({ method: 'db.patch', params: { patch: patch3 } }) - }, 4000) + }, 2000) - return res + return { response: null} } async dryStopPackage (params: RR.DryStopPackageReq): Promise { diff --git a/ui/src/app/services/patch-db/data-model.ts b/ui/src/app/services/patch-db/data-model.ts index b5570f2b1..21cf6bcc3 100644 --- a/ui/src/app/services/patch-db/data-model.ts +++ b/ui/src/app/services/patch-db/data-model.ts @@ -236,7 +236,7 @@ export interface Status { 'dependency-errors': { [id: string]: DependencyError | null } } -export type MainStatus = MainStatusStopped | MainStatusStopping | MainStatusRunning | MainStatusBackingUp +export type MainStatus = MainStatusStopped | MainStatusStopping | MainStatusStarting | MainStatusRunning | MainStatusBackingUp export interface MainStatusStopped { status: PackageMainStatus.Stopped @@ -246,6 +246,10 @@ export interface MainStatusStopping { status: PackageMainStatus.Stopping } +export interface MainStatusStarting { + status: PackageMainStatus.Starting +} + export interface MainStatusRunning { status: PackageMainStatus.Running started: string // UTC date string @@ -258,6 +262,7 @@ export interface MainStatusBackingUp { } export enum PackageMainStatus { + Starting = 'starting', Running = 'running', Stopping = 'stopping', Stopped = 'stopped', diff --git a/ui/src/app/services/pkg-status-rendering.service.ts b/ui/src/app/services/pkg-status-rendering.service.ts index 219b91fa1..db3148651 100644 --- a/ui/src/app/services/pkg-status-rendering.service.ts +++ b/ui/src/app/services/pkg-status-rendering.service.ts @@ -73,6 +73,7 @@ export enum PrimaryStatus { Removing = 'removing', Restoring = 'restoring', // status + Starting = 'starting', Running = 'running', Stopping = 'stopping', Stopped = 'stopped', @@ -102,6 +103,7 @@ export const PrimaryRendering: { [key: string]: StatusRendering } = { [PrimaryStatus.Stopping]: { display: 'Stopping', color: 'dark-shade', showDots: true }, [PrimaryStatus.Stopped]: { display: 'Stopped', color: 'dark-shade', showDots: false }, [PrimaryStatus.BackingUp]: { display: 'Backing Up', color: 'primary', showDots: true }, + [PrimaryStatus.Starting]: { display: 'Starting', color: 'primart', showDots: true }, [PrimaryStatus.Running]: { display: 'Running', color: 'success', showDots: false }, [PrimaryStatus.NeedsConfig]: { display: 'Needs Config', color: 'warning' }, }