From 97494aeaf71d258980256592ae4406f2a2be0bb9 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Thu, 17 Dec 2020 16:46:00 +0100 Subject: [PATCH] Runners can now be imported into a org --- src/controllers/ImportController.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/controllers/ImportController.ts b/src/controllers/ImportController.ts index 18a5991..70cd9de 100644 --- a/src/controllers/ImportController.ts +++ b/src/controllers/ImportController.ts @@ -1,4 +1,4 @@ -import { Body, ContentType, Controller, Post, Req, UseBefore } from 'routing-controllers'; +import { Body, ContentType, Controller, Param, Post, QueryParam, Req, UseBefore } from 'routing-controllers'; import { OpenAPI } from 'routing-controllers-openapi'; import RawBodyMiddleware from '../middlewares/RawBody'; import { ImportRunner } from '../models/actions/ImportRunner'; @@ -21,14 +21,21 @@ export class ImportController { @Post('/runners/import') @ContentType("application/json") @OpenAPI({ description: "Create new runners from json" }) - async postJSON(@Body({ validate: true, type: ImportSchoolRunner }) importRunners: ImportRunner[]) { + async postJSON(@Body({ validate: true, type: ImportSchoolRunner }) importRunners: ImportRunner[], @QueryParam("org") orgID: number) { let responseRunners: ResponseRunner[] = new Array(); for await (let runner of importRunners) { - responseRunners.push(await this.runnerController.post(await runner.toCreateRunner(1))); + responseRunners.push(await this.runnerController.post(await runner.toCreateRunner(orgID))); } return responseRunners; } + @Post('/organisations/:id/import') + @ContentType("application/json") + @OpenAPI({ description: "Create new runners from json" }) + async postOrgsJSON(@Body({ validate: true, type: ImportSchoolRunner }) importRunners: ImportRunner[], @Param('id') id: number) { + return await this.postJSON(importRunners, id) + } + @Post('/runners/import/csv') @ContentType("text/csv") @UseBefore(RawBodyMiddleware)