From 9f1d306b9c1ad0158ad4cf652e749f2c6d99c892 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Sun, 13 Jul 2025 16:45:47 +0200 Subject: [PATCH] feat: tips login mode on no token found --- src/api/actor.api.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/api/actor.api.ts b/src/api/actor.api.ts index 45410e5e..4473099f 100644 --- a/src/api/actor.api.ts +++ b/src/api/actor.api.ts @@ -1,10 +1,11 @@ import {Ed25519KeyIdentity} from '@dfinity/identity/lib/cjs/identity/ed25519'; import {isNullish, nonNullish} from '@dfinity/utils'; import {type ActorParameters} from '@junobuild/admin'; -import {red} from 'kleur'; +import {green, red} from 'kleur'; import {getToken} from '../configs/cli.config'; import {ENV} from '../env'; import {getProcessToken} from '../utils/process.utils'; +import {NEW_CMD_LINE} from '../utils/prompt.utils'; import {initAgent} from './agent.api'; export const actorParameters = async (): Promise< @@ -13,7 +14,14 @@ export const actorParameters = async (): Promise< const token = getProcessToken() ?? (await getToken()); if (isNullish(token)) { - console.log(`${red('No access key found.')} Are you logged in?`); + console.log(`${red(`No access key found for ${ENV.mode}.`)} Are you logged in?`); + + if (ENV.mode !== 'production') { + console.log( + `${NEW_CMD_LINE}💡 To enforce separation of concerns and security, each mode requires a separate login — for example: ${green(`juno login --mode ${ENV.mode}`)}` + ); + } + process.exit(1); }