Abstracted a little bit more for potential company runner import
This commit is contained in:
		@@ -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;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user