From 36c62d603f84ac2f6ff2cd6052ba49871112168c Mon Sep 17 00:00:00 2001 From: k2s Date: Tue, 3 Jan 2023 16:59:09 +0100 Subject: [PATCH] add serve command add listen option and change default port not to interfere with running instance --- bin/populate-vikunja.js | 21 ++++++++++++++++++--- src/vikunja.js | 5 +++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/bin/populate-vikunja.js b/bin/populate-vikunja.js index 33415a7..2b20fa7 100644 --- a/bin/populate-vikunja.js +++ b/bin/populate-vikunja.js @@ -10,6 +10,11 @@ function addGlobal (yargs) { alias: 's', description: 'Vikinja binary to be started before data are populated or Vikunja has to be started manually' }) + .option('listen', { + alias: 'l', + description: 'Vikinja API will listen on this network interface', + default: ':3455' + }) .option('workDir', { description: 'directory where Sqlite database will be created if startVikunja was provided, default is folder with Vikunja binary' }) @@ -28,7 +33,7 @@ function addGlobal (yargs) { default: 'demo' }) .option('baseUrl', { - default: 'http://localhost:3456' + default: 'http://localhost:3455' }) return yargs @@ -36,7 +41,7 @@ function addGlobal (yargs) { async function startVikunjaFromArgv (argv) { if (argv.startVikunja) { - return startVikunja(argv.startVikunja, argv.jwtsecret, argv.workDir, argv.deleteDb).then(() => true) + return startVikunja(argv.startVikunja, argv.jwtsecret, argv.workDir, argv.deleteDb, argv.listen).then(() => true) } return false @@ -47,8 +52,18 @@ function initClientFromArgv (wasStarted, argv) { } yargs(hideBin(process.argv)) + .command('serve', '', yargs => { + addGlobal(yargs) + }, async argv => { + const wasStarted = await startVikunjaFromArgv(argv) + if (wasStarted) { + console.log('population done, press any key to quit') + await keypress() + process.exit() + } + }) .command( - '$0 person-as-list', + 'person-as-list', 'will populate Vikunja tasks with persons as lists', yargs => { addGlobal(yargs) diff --git a/src/vikunja.js b/src/vikunja.js index 7d17919..511fd69 100644 --- a/src/vikunja.js +++ b/src/vikunja.js @@ -3,7 +3,7 @@ import path from 'path' import fs from 'fs-extra' import { spawn } from 'child_process' -export function startVikunja (bin, jwtSecret, workDir = false, deleteDb = false) { +export function startVikunja (bin, jwtSecret, workDir = false, deleteDb = false, serviceInterface = ':3456') { if (!workDir) { workDir = path.dirname(bin) } @@ -24,7 +24,8 @@ export function startVikunja (bin, jwtSecret, workDir = false, deleteDb = false) { cwd: workDir, env: { - VIKUNJA_SERVICE_JWTSECRET: jwtSecret + VIKUNJA_SERVICE_JWTSECRET: jwtSecret, + VIKUNJA_SERVICE_INTERFACE: serviceInterface } } )