Skip to content

Commit 7e349d3

Browse files
fix: password question hided behind spinner on download snapshot
Signed-off-by: David Dal Busco <[email protected]>
1 parent 2d0ce6d commit 7e349d3

File tree

6 files changed

+65
-24
lines changed

6 files changed

+65
-24
lines changed

src/commands/status.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import type {AssetKey} from '../types/asset-key';
1717
import {toAssetKeys} from '../utils/asset-key.utils';
1818
import {orbiterKey, satelliteKey} from '../utils/cli.config.utils';
1919
import {
20-
assertConfigAndLoadSatelliteContext,
21-
assertConfigAndReadOrbiterId
20+
assertConfigAndLoadOrbiterContext,
21+
assertConfigAndLoadSatelliteContext
2222
} from '../utils/juno.config.utils';
2323
import {lastRelease} from '../utils/upgrade.utils';
2424

@@ -96,9 +96,9 @@ const satelliteVersion = async () => {
9696
};
9797

9898
const orbitersVersion = async () => {
99-
const {orbiterId} = await assertConfigAndReadOrbiterId();
99+
const orbiter = await assertConfigAndLoadOrbiterContext();
100100

101-
if (isNullish(orbiterId)) {
101+
if (isNullish(orbiter)) {
102102
return;
103103
}
104104

@@ -137,6 +137,10 @@ const orbitersVersion = async () => {
137137
});
138138
};
139139

140+
const {
141+
orbiter: {orbiterId}
142+
} = orbiter;
143+
140144
await checkOrbiterVersion(orbiterId);
141145
};
142146

src/services/modules/snapshot/snapshot.orbiter.services.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {isNullish} from '@dfinity/utils';
22
import type {AssetKey} from '../../../types/asset-key';
3-
import {assertConfigAndReadOrbiterId} from '../../../utils/juno.config.utils';
3+
import {assertConfigAndLoadOrbiterContext} from '../../../utils/juno.config.utils';
44
import {
55
createSnapshot,
66
deleteSnapshot,
@@ -53,12 +53,16 @@ const executeSnapshotFn = async ({
5353
}: {
5454
fn: (params: {canisterId: string; segment: AssetKey}) => Promise<void>;
5555
}) => {
56-
const {orbiterId} = await assertConfigAndReadOrbiterId();
56+
const orbiter = await assertConfigAndLoadOrbiterContext();
5757

58-
if (isNullish(orbiterId)) {
58+
if (isNullish(orbiter)) {
5959
return;
6060
}
6161

62+
const {
63+
orbiter: {orbiterId}
64+
} = orbiter;
65+
6266
await fn({
6367
canisterId: orbiterId,
6468
segment: 'orbiter'

src/services/modules/start-stop.services.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import {getCliMissionControl} from '../../configs/cli.config';
77
import type {AssetKey} from '../../types/asset-key';
88
import type {StartStopAction} from '../../types/start-stop';
99
import {
10-
assertConfigAndLoadSatelliteContext,
11-
assertConfigAndReadOrbiterId
10+
assertConfigAndLoadOrbiterContext,
11+
assertConfigAndLoadSatelliteContext
1212
} from '../../utils/juno.config.utils';
1313

1414
export const startStopMissionControl = async ({
@@ -32,12 +32,16 @@ export const startStopMissionControl = async ({
3232
};
3333

3434
export const startStopOrbiter = async ({action}: {args?: string[]; action: StartStopAction}) => {
35-
const {orbiterId} = await assertConfigAndReadOrbiterId();
35+
const orbiter = await assertConfigAndLoadOrbiterContext();
3636

37-
if (isNullish(orbiterId)) {
37+
if (isNullish(orbiter)) {
3838
return;
3939
}
4040

41+
const {
42+
orbiter: {orbiterId}
43+
} = orbiter;
44+
4145
await startStop({
4246
action,
4347
segment: 'orbiter',

src/services/modules/upgrade/upgrade.orbiter.services.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {actorParameters} from '../../../api/actor.api';
88
import {ORBITER_WASM_NAME} from '../../../constants/constants';
99
import type {UpgradeWasmModule} from '../../../types/upgrade';
1010
import {orbiterKey} from '../../../utils/cli.config.utils';
11-
import {assertConfigAndReadOrbiterId} from '../../../utils/juno.config.utils';
11+
import {assertConfigAndLoadOrbiterContext} from '../../../utils/juno.config.utils';
1212
import {NEW_CMD_LINE} from '../../../utils/prompt.utils';
1313
import {logUpgradeResult, readUpgradeOptions} from '../../../utils/upgrade.utils';
1414
import {
@@ -21,9 +21,9 @@ import {
2121
type Orbiter = Omit<OrbiterParameters, 'orbiterId'> & {orbiterId: PrincipalText};
2222

2323
export const upgradeOrbiters = async (args?: string[]) => {
24-
const {orbiterId} = await assertConfigAndReadOrbiterId();
24+
const orbiter = await assertConfigAndLoadOrbiterContext();
2525

26-
if (isNullish(orbiterId)) {
26+
if (isNullish(orbiter)) {
2727
return;
2828
}
2929

@@ -51,6 +51,10 @@ export const upgradeOrbiters = async (args?: string[]) => {
5151
logResult(result);
5252
};
5353

54+
const {
55+
orbiter: {orbiterId}
56+
} = orbiter;
57+
5458
await upgradeOrbiter(orbiterId);
5559
};
5660

src/types/satellite.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import type {PrincipalText} from '@dfinity/zod-schemas';
2-
import type {SatelliteParameters} from '@junobuild/ic-client/actor';
2+
import type {OrbiterParameters, SatelliteParameters} from '@junobuild/ic-client/actor';
33

44
export type SatelliteParametersWithId = Omit<SatelliteParameters, 'satelliteId'> & {
55
satelliteId: PrincipalText;
66
};
7+
8+
export type OrbiterParametersWithId = Omit<OrbiterParameters, 'orbiterId'> & {
9+
orbiterId: PrincipalText;
10+
};

src/utils/juno.config.utils.ts

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {red} from 'kleur';
55
import {actorParameters} from '../api/actor.api';
66
import {noJunoConfig, readJunoConfig} from '../configs/juno.config';
77
import {ENV} from '../env';
8-
import type {SatelliteParametersWithId} from '../types/satellite';
8+
import type {OrbiterParametersWithId, SatelliteParametersWithId} from '../types/satellite';
99
import {consoleNoConfigFound} from './msg.utils';
1010

1111
interface SatelliteConfigEnv {
@@ -33,6 +33,35 @@ export const assertConfigAndLoadSatelliteContext = async (): Promise<{
3333
return {satellite, satelliteConfig};
3434
};
3535

36+
export const assertConfigAndLoadOrbiterContext = async (): Promise<
37+
| {
38+
orbiter: OrbiterParametersWithId;
39+
orbiterConfig: OrbiterConfig;
40+
}
41+
| undefined
42+
> => {
43+
const {orbiter: orbiterConfig} = await assertAndReadJunoConfig();
44+
45+
if (isNullish(orbiterConfig)) {
46+
return undefined;
47+
}
48+
49+
const {orbiterId} = readOrbiterId({orbiter: orbiterConfig, env: ENV});
50+
51+
// Unlikely
52+
if (isNullish(orbiterId)) {
53+
return undefined;
54+
}
55+
56+
return {
57+
orbiter: {
58+
orbiterId,
59+
...(await actorParameters())
60+
},
61+
orbiterConfig
62+
};
63+
};
64+
3665
// Useful for reading the configuration without initializing an actor.
3766
// For example, during the authentication flow when no identity is defined yet,
3867
// or in other cases where we want to avoid waiting for the actor initialization timeout.
@@ -42,14 +71,6 @@ export const assertConfigAndReadSatelliteId = async (): Promise<{satelliteId: Pr
4271
return assertAndReadSatelliteId({satellite: satelliteConfig, env: ENV});
4372
};
4473

45-
export const assertConfigAndReadOrbiterId = async (): Promise<{
46-
orbiterId: PrincipalText | undefined;
47-
}> => {
48-
const {orbiter: orbiterConfig} = await assertAndReadJunoConfig();
49-
50-
return readOrbiterId({orbiter: orbiterConfig, env: ENV});
51-
};
52-
5374
const assertAndReadJunoConfig = async (): Promise<JunoConfig> => {
5475
if (await noJunoConfig()) {
5576
consoleNoConfigFound();

0 commit comments

Comments
 (0)