Abstracted a little bit more for potential company runner import
This commit is contained in:
parent
cad30c7f63
commit
1b59d58c60
@ -1,6 +1,7 @@
|
|||||||
import { Body, ContentType, Controller, Post, Req, UseBefore } from 'routing-controllers';
|
import { Body, ContentType, Controller, Post, Req, UseBefore } from 'routing-controllers';
|
||||||
import { OpenAPI } from 'routing-controllers-openapi';
|
import { OpenAPI } from 'routing-controllers-openapi';
|
||||||
import RawBodyMiddleware from '../middlewares/RawBody';
|
import RawBodyMiddleware from '../middlewares/RawBody';
|
||||||
|
import { ImportRunner } from '../models/actions/ImportRunner';
|
||||||
import { ImportSchoolRunner } from '../models/actions/ImportSchoolRunner';
|
import { ImportSchoolRunner } from '../models/actions/ImportSchoolRunner';
|
||||||
import { ResponseRunner } from '../models/responses/ResponseRunner';
|
import { ResponseRunner } from '../models/responses/ResponseRunner';
|
||||||
import { RunnerController } from './RunnerController';
|
import { RunnerController } from './RunnerController';
|
||||||
@ -20,7 +21,7 @@ export class ImportController {
|
|||||||
@Post('/runners/import')
|
@Post('/runners/import')
|
||||||
@ContentType("application/json")
|
@ContentType("application/json")
|
||||||
@OpenAPI({ description: "Create new runners from json" })
|
@OpenAPI({ description: "Create new runners from json" })
|
||||||
async postJSON(@Body({ validate: true, type: ImportSchoolRunner }) importRunners: ImportSchoolRunner[]) {
|
async postJSON(@Body({ validate: true, type: ImportSchoolRunner }) importRunners: ImportRunner[]) {
|
||||||
let responseRunners: ResponseRunner[] = new Array<ResponseRunner>();
|
let responseRunners: ResponseRunner[] = new Array<ResponseRunner>();
|
||||||
for await (let runner of importRunners) {
|
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(1)));
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { IsNotEmpty, IsOptional, IsString } from 'class-validator';
|
import { IsNotEmpty, IsOptional, IsString } from 'class-validator';
|
||||||
|
|
||||||
export class ImportRunner {
|
export abstract class ImportRunner {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The new runner's first name.
|
* The new runner's first name.
|
||||||
@ -23,4 +23,6 @@ export class ImportRunner {
|
|||||||
@IsString()
|
@IsString()
|
||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
lastname: string;
|
lastname: string;
|
||||||
|
|
||||||
|
public abstract toCreateRunner(groupID?: number);
|
||||||
}
|
}
|
@ -18,13 +18,13 @@ export class ImportSchoolRunner extends ImportRunner {
|
|||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
class: string;
|
class: string;
|
||||||
|
|
||||||
public async toCreateRunner(orgID: number): Promise<CreateRunner> {
|
public async toCreateRunner(groupID: number): Promise<CreateRunner> {
|
||||||
let newRunner: CreateRunner = new CreateRunner();
|
let newRunner: CreateRunner = new CreateRunner();
|
||||||
|
|
||||||
newRunner.firstname = this.firstname;
|
newRunner.firstname = this.firstname;
|
||||||
newRunner.middlename = this.middlename;
|
newRunner.middlename = this.middlename;
|
||||||
newRunner.lastname = this.lastname;
|
newRunner.lastname = this.lastname;
|
||||||
newRunner.group = (await this.getGroup(orgID)).id;
|
newRunner.group = (await this.getGroup(groupID)).id;
|
||||||
console.log(newRunner.group)
|
console.log(newRunner.group)
|
||||||
|
|
||||||
return newRunner;
|
return newRunner;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user