Skip to content

Commit 336487d

Browse files
feat!: execute commands for orbiter id specified in juno.config
Signed-off-by: David Dal Busco <david.dalbusco@outlook.com>
1 parent 2ef91b7 commit 336487d

File tree

2 files changed

+35
-10
lines changed

2 files changed

+35
-10
lines changed

src/commands/status.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
} from '@junobuild/admin';
77
import {red, yellow} from 'kleur';
88
import {actorParameters} from '../api/actor.api';
9-
import {getCliMissionControl, getCliOrbiters} from '../configs/cli.config';
9+
import {getCliMissionControl} from '../configs/cli.config';
1010
import {
1111
MISSION_CONTROL_WASM_NAME,
1212
ORBITER_WASM_NAME,
@@ -16,7 +16,10 @@ import {checkVersion, getSatelliteVersion} from '../services/version.services';
1616
import type {AssetKey} from '../types/asset-key';
1717
import {toAssetKeys} from '../utils/asset-key.utils';
1818
import {orbiterKey, satelliteKey} from '../utils/cli.config.utils';
19-
import {assertConfigAndLoadSatelliteContext} from '../utils/juno.config.utils';
19+
import {
20+
assertConfigAndLoadSatelliteContext,
21+
assertConfigAndReadOrbiterId
22+
} from '../utils/juno.config.utils';
2023
import {lastRelease} from '../utils/upgrade.utils';
2124

2225
export const status = async () => {
@@ -93,9 +96,9 @@ const satelliteVersion = async () => {
9396
};
9497

9598
const orbitersVersion = async () => {
96-
const orbiters = await getCliOrbiters();
99+
const {orbiterId} = await assertConfigAndReadOrbiterId();
97100

98-
if (isNullish(orbiters) || orbiters.length === 0) {
101+
if (isNullish(orbiterId)) {
99102
return;
100103
}
101104

@@ -134,11 +137,7 @@ const orbitersVersion = async () => {
134137
});
135138
};
136139

137-
await Promise.allSettled(
138-
orbiters.map(async ({p: orbiterId}) => {
139-
await checkOrbiterVersion(orbiterId);
140-
})
141-
);
140+
await checkOrbiterVersion(orbiterId);
142141
};
143142

144143
const checkSegmentVersion = async ({

src/utils/juno.config.utils.ts

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {assertNonNullish, isNullish} from '@dfinity/utils';
22
import type {PrincipalText} from '@dfinity/zod-schemas';
3-
import type {JunoConfig, JunoConfigEnv, SatelliteConfig} from '@junobuild/config';
3+
import type {JunoConfig, JunoConfigEnv, OrbiterConfig, SatelliteConfig} from '@junobuild/config';
44
import {red} from 'kleur';
55
import {actorParameters} from '../api/actor.api';
66
import {noJunoConfig, readJunoConfig} from '../configs/juno.config';
@@ -13,6 +13,11 @@ interface SatelliteConfigEnv {
1313
env: JunoConfigEnv;
1414
}
1515

16+
interface OrbiterConfigEnv {
17+
orbiter: OrbiterConfig | undefined;
18+
env: JunoConfigEnv;
19+
}
20+
1621
export const assertConfigAndLoadSatelliteContext = async (): Promise<{
1722
satellite: SatelliteParametersWithId;
1823
satelliteConfig: SatelliteConfig;
@@ -37,6 +42,14 @@ export const assertConfigAndReadSatelliteId = async (): Promise<{satelliteId: Pr
3742
return assertAndReadSatelliteId({satellite: satelliteConfig, env: ENV});
3843
};
3944

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+
4053
const assertAndReadJunoConfig = async (): Promise<JunoConfig> => {
4154
if (await noJunoConfig()) {
4255
consoleNoConfigFound();
@@ -73,6 +86,19 @@ const assertAndReadSatelliteId = ({
7386
return {satelliteId};
7487
};
7588

89+
const readOrbiterId = ({
90+
orbiter,
91+
env: {mode}
92+
}: OrbiterConfigEnv): {orbiterId: PrincipalText | undefined} => {
93+
const {id, ids} = orbiter ?? {};
94+
95+
const orbiterId = ids?.[mode] ?? id;
96+
97+
// TODO: Principal.isPrincipal
98+
99+
return {orbiterId};
100+
};
101+
76102
const satelliteParameters = async (
77103
params: SatelliteConfigEnv
78104
): Promise<SatelliteParametersWithId> => {

0 commit comments

Comments
 (0)