@mondaycom/apps-cli
Version:
A cli tool to manage apps (and monday-code projects) in monday.com
30 lines (29 loc) • 1.04 kB
JavaScript
import { BaseCommand } from './base-command.js';
import { CONFIG_KEYS } from '../consts/config.js';
import { ACCESS_TOKEN_NOT_FOUND_RUNNING_INIT } from '../consts/messages.js';
import { AuthenticationError } from '../errors/authentication-error.js';
import { ConfigService } from '../services/config-service.js';
import logger from '../utils/logger.js';
const validateAccessToken = async (config) => {
const accessToken = ConfigService.getConfigDataByKey(CONFIG_KEYS.ACCESS_TOKEN);
if (!accessToken) {
logger.success(ACCESS_TOKEN_NOT_FOUND_RUNNING_INIT);
await config.runCommand('init', ['--local']);
}
};
export class AuthenticatedCommand extends BaseCommand {
async init() {
await super.init();
await validateAccessToken(this.config);
}
catch(err) {
if (err instanceof AuthenticationError) {
logger.error(err);
return process.exit(1);
}
return super.catch(err);
}
async finally(_) {
return super.finally(_);
}
}