From ac346b125b665e98be7e699c1c245487de9a3478 Mon Sep 17 00:00:00 2001 From: Jan Oberhauser Date: Tue, 27 Oct 2020 11:14:51 +0100 Subject: [PATCH] :zap: Change CLI command config -> update --- .../commands/config/workflow/deactivate.ts | 70 --------------- packages/cli/commands/update/workflow.ts | 85 +++++++++++++++++++ 2 files changed, 85 insertions(+), 70 deletions(-) delete mode 100644 packages/cli/commands/config/workflow/deactivate.ts create mode 100644 packages/cli/commands/update/workflow.ts diff --git a/packages/cli/commands/config/workflow/deactivate.ts b/packages/cli/commands/config/workflow/deactivate.ts deleted file mode 100644 index 8c76dcf790..0000000000 --- a/packages/cli/commands/config/workflow/deactivate.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { - Command, flags, -} from '@oclif/command'; - -import { - IDataObject -} from 'n8n-workflow'; - -import { - Db, - GenericHelpers, -} from "../../../src"; - - -export class DeactivateCommand extends Command { - static description = '\nDeactivates workflows'; - - static examples = [ - `$ n8n config:workflow:deactivate --all`, - `$ n8n config:workflow:deactivate --id=5`, - ]; - - static flags = { - help: flags.help({ char: 'h' }), - all: flags.boolean({ - description: 'Deactivates all workflows', - }), - id: flags.string({ - description: 'Deactivats the workflow with the given ID', - }), - }; - - async run() { - const { flags } = this.parse(DeactivateCommand); - - if (!flags.all && !flags.id) { - GenericHelpers.logOutput(`Either option "--all" or "--id" have to be set!`); - return; - } - - if (flags.all && flags.id) { - GenericHelpers.logOutput(`Either "--all" or "--id" can be set never both!`); - return; - } - - try { - await Db.init(); - - const findQuery: IDataObject = {}; - if (flags.id) { - console.log(`Deactivating workflow with ID: ${flags.id}`); - findQuery.id = flags.id; - } else { - console.log('Deactivating all workflows'); - findQuery.active = true; - } - - await Db.collections.Workflow!.update(findQuery, { active: false }); - console.log('Done'); - } catch (e) { - console.error('\nGOT ERROR'); - console.log('===================================='); - console.error(e.message); - console.error(e.stack); - this.exit(1); - } - - this.exit(); - } -} diff --git a/packages/cli/commands/update/workflow.ts b/packages/cli/commands/update/workflow.ts new file mode 100644 index 0000000000..6f9e8de2ff --- /dev/null +++ b/packages/cli/commands/update/workflow.ts @@ -0,0 +1,85 @@ +import { + Command, flags, +} from '@oclif/command'; + +import { + IDataObject +} from 'n8n-workflow'; + +import { + Db, + GenericHelpers, +} from "../../src"; + + +export class UpdateWorkflowCommand extends Command { + static description = '\Update workflows'; + + static examples = [ + `$ n8n update:workflow --all --active=false`, + `$ n8n update:workflow --id=5 --active=true`, + ]; + + static flags = { + help: flags.help({ char: 'h' }), + active: flags.string({ + description: 'Active state the workflow/s should be set to', + }), + all: flags.boolean({ + description: 'Operate on all workflows', + }), + id: flags.string({ + description: 'The ID of the workflow to operate on', + }), + }; + + async run() { + const { flags } = this.parse(UpdateWorkflowCommand); + + if (!flags.all && !flags.id) { + GenericHelpers.logOutput(`Either option "--all" or "--id" have to be set!`); + return; + } + + if (flags.all && flags.id) { + GenericHelpers.logOutput(`Either something else on top should be "--all" or "--id" can be set never both!`); + return; + } + + const updateQuery: IDataObject = {}; + if (flags.active === undefined) { + GenericHelpers.logOutput(`No update flag like "--active=true" has been set!`); + return; + } else { + if (!['false', 'true'].includes(flags.active)) { + GenericHelpers.logOutput(`Valid values for flag "--active" are only "false" or "true"!`); + return; + } + updateQuery.active = flags.active === 'true'; + } + + try { + await Db.init(); + + const findQuery: IDataObject = {}; + if (flags.id) { + console.log(`Deactivating workflow with ID: ${flags.id}`); + findQuery.id = flags.id; + } else { + console.log('Deactivating all workflows'); + findQuery.active = true; + } + + await Db.collections.Workflow!.update(findQuery, updateQuery); + console.log('Done'); + } catch (e) { + console.error('\nGOT ERROR'); + console.log('===================================='); + console.error(e.message); + console.error(e.stack); + this.exit(1); + } + + this.exit(); + } +}