cli/src/commands/graph/monograph/index.ts (33 lines of code) (raw):
import { Command } from 'commander';
import { BaseCommandOptions } from '../../../core/types/types.js';
import FetchMonographCommand from '../common/fetch-schema.js';
import GetMonographChangelog from '../common/changelog.js';
import GetMonographVersion from '../common/version/index.js';
import { checkAuth } from '../../auth/utils.js';
import CreateMonographCommand from './commands/create.js';
import PublishMonographCommand from './commands/publish.js';
import UpdateMonographCommand from './commands/update.js';
import CheckMonographCommand from './commands/check.js';
import DeleteMonographCommand from './commands/delete.js';
import ListMonographs from './commands/list.js';
import MoveMonograph from './commands/move.js';
import MigrateMonograph from './commands/migrate.js';
export default (opts: BaseCommandOptions) => {
const command = new Command('monograph');
command.description('Provides commands for creating and managing a monograph');
command.addCommand(CreateMonographCommand(opts));
command.addCommand(PublishMonographCommand(opts));
command.addCommand(UpdateMonographCommand(opts));
command.addCommand(CheckMonographCommand(opts));
command.addCommand(DeleteMonographCommand(opts));
command.addCommand(ListMonographs(opts));
command.addCommand(MoveMonograph(opts));
command.addCommand(MigrateMonograph(opts));
command.addCommand(FetchMonographCommand({ ...opts, isMonograph: true }));
command.addCommand(GetMonographChangelog({ ...opts, isMonograph: true }));
command.addCommand(GetMonographVersion({ ...opts, isMonograph: true }));
command.hook('preAction', async () => {
await checkAuth();
});
return command;
};