11import { assertNonNullish , isNullish } from '@dfinity/utils' ;
22import 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' ;
44import { red } from 'kleur' ;
55import { actorParameters } from '../api/actor.api' ;
66import { 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+
1621export 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+
4053const 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+
76102const satelliteParameters = async (
77103 params : SatelliteConfigEnv
78104) : Promise < SatelliteParametersWithId > => {
0 commit comments