diff --git a/backend/package-lock.json b/backend/package-lock.json index 128035a..d48b177 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -183,6 +183,15 @@ "@types/koa": "*" } }, + "@types/koa-qs": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/@types/koa-qs/download/@types/koa-qs-2.0.0.tgz", + "integrity": "sha1-TGAgYWnB6XisNtyaizla1VRu9c8=", + "dev": true, + "requires": { + "@types/koa": "*" + } + }, "@types/koa-router": { "version": "7.4.1", "resolved": "https://registry.npm.taobao.org/@types/koa-router/download/@types/koa-router-7.4.1.tgz", @@ -1127,6 +1136,15 @@ "passthrough-counter": "^1.0.0" } }, + "koa-qs": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/koa-qs/download/koa-qs-3.0.0.tgz", + "integrity": "sha1-OQsLXpvgZYsPhjzrEh2ppBS3jXg=", + "requires": { + "merge-descriptors": "^1.0.1", + "qs": "^6.9.4" + } + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flevn%2Fdownload%2Flevn-0.4.1.tgz", @@ -1154,6 +1172,11 @@ "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", diff --git a/backend/package.json b/backend/package.json index 5eed48a..4b5b735 100644 --- a/backend/package.json +++ b/backend/package.json @@ -13,12 +13,14 @@ "koa": "^2.13.0", "koa-bodyparser": "^4.3.0", "koa-logger": "^3.2.1", + "koa-qs": "^3.0.0", "taskwarrior-lib": "^0.2.0" }, "devDependencies": { "@types/koa": "^2.11.3", "@types/koa-bodyparser": "^4.3.0", "@types/koa-logger": "^3.1.1", + "@types/koa-qs": "^2.0.0", "@types/koa-router": "^7.4.1", "@types/koa__router": "^8.0.2", "@typescript-eslint/eslint-plugin": "^3.5.0", diff --git a/backend/src/app.ts b/backend/src/app.ts index f3f4be7..2218d27 100644 --- a/backend/src/app.ts +++ b/backend/src/app.ts @@ -1,14 +1,19 @@ import * as Koa from 'koa'; import * as Router from '@koa/router'; import * as bodyParser from 'koa-bodyparser'; +import * as logger from 'koa-logger'; +import * as qs from 'koa-qs'; + import tasksRouter from './tasks'; const app = new Koa(); +qs(app); app.use(bodyParser()); +app.use(logger()); const router = new Router(); -router.use(tasksRouter.routes()); +router.use('/tasks', tasksRouter.routes()); app.use(router.routes()); app.use(router.allowedMethods()); diff --git a/backend/src/tasks.ts b/backend/src/tasks.ts index b9ebe4e..9347a6e 100644 --- a/backend/src/tasks.ts +++ b/backend/src/tasks.ts @@ -22,12 +22,9 @@ router.put('/', async ctx => { }); router.delete('/', async ctx => { - const tasks = ctx.query.tasks; - console.log(tasks); - /* - const msg = taskwarrior.update(tasks); + const tasks = ctx.query.tasks as string[]; + const msg = taskwarrior.del(tasks.map(t => ({ uuid: t }))); console.log(msg); - */ ctx.status = 200; });