diff --git a/NodeApp/src/commander/assignment/subcommands/AssignmentDeleteCommand.ts b/NodeApp/src/commander/assignment/subcommands/AssignmentDeleteCommand.ts index 740456e225a39105ed502bcf3a54e1bf9265c8fd..d1bb6aedfc071aed4d499d639ea9218b316df30d 100644 --- a/NodeApp/src/commander/assignment/subcommands/AssignmentDeleteCommand.ts +++ b/NodeApp/src/commander/assignment/subcommands/AssignmentDeleteCommand.ts @@ -1,47 +1,39 @@ -import chalk from "chalk"; -import CommanderCommand from "../../CommanderCommand"; -import DojoBackendManager from "../../../managers/DojoBackendManager"; -import Assignment from "../../../sharedByClients/models/Assignment"; +import CommanderCommand from '../../CommanderCommand'; +import DojoBackendManager from '../../../managers/DojoBackendManager'; +import AccessesHelper from '../../../helpers/AccessesHelper'; +import ora from 'ora'; class AssignmentDeleteCommand extends CommanderCommand { - protected commandName : string = 'delete'; + protected commandName: string = 'delete'; - protected defineCommand(): void { + protected defineCommand() { this.command .description('delete an assignment') - .argument('<assignmentName>', 'name of the assignment') - .option('-v, --verbose', 'verbose mode - display principal container output in live') + .arguments('<name>') .action(this.commandAction.bind(this)); } - protected async commandAction(assignmentName : string): Promise<void> { - let assign : Assignment[] = []; - + protected async commandAction(name : string): Promise<void> { { - console.log(chalk.cyan('Please wait while we are retrieving the users...')); - assign = await DojoBackendManager.delAssignment(assignmentName); - // const oraInfo = (message: string) => { - // ora({ - // text: message, - // indent: 4 - // }).start().info(); - // }; - console.log(assign) - // assign.forEach(a => { - // oraInfo(`${chalk.magenta('ID :')} ${a.gitlabId}`); - // oraInfo(`${chalk.magenta('Assignment :')} ${a.name}`); - // a.staff.forEach( s => { - // oraInfo(`${chalk.magenta('Info :')} ${s.gitlabLastInfo}`); - // oraInfo(`${chalk.magenta('Staff :')} ${s.gitlabUsername}`); - // }) - // console.log() - // }) - // assign.exercises.forEach( ex => { - // oraInfo(`${chalk.magenta('Exercice :')} ${ex.assignmentName}`); - // }) + if (!await AccessesHelper.checkTeachingStaff()) { + return; + } + } + { + const spinner = ora({ + text : 'Deleting assignment', + indent: 4 + }).start(); + + try { + await DojoBackendManager.delAssignment(name); + spinner.succeed('Assignment deleted'); + } catch (error) { + spinner.fail('Error while trying to deleting the assignment'); + } } - } } + export default new AssignmentDeleteCommand(); \ No newline at end of file