parent
d490247d1e
commit
ad446500f9
|
@ -1,8 +1,10 @@
|
|||
import { IsObject, IsOptional } from 'class-validator';
|
||||
import { IsBoolean, IsObject, IsOptional } from 'class-validator';
|
||||
import * as uuid from 'uuid';
|
||||
import { Address } from '../../entities/Address';
|
||||
import { RunnerOrganisation } from '../../entities/RunnerOrganisation';
|
||||
import { CreateRunnerGroup } from './CreateRunnerGroup';
|
||||
|
||||
|
||||
/**
|
||||
* This classed is used to create a new RunnerOrganisation entity from a json body (post request).
|
||||
*/
|
||||
|
@ -14,6 +16,13 @@ export class CreateRunnerOrganisation extends CreateRunnerGroup {
|
|||
@IsObject()
|
||||
address?: Address;
|
||||
|
||||
/**
|
||||
* Is registration enabled for the new organisation?
|
||||
*/
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
registrtionEnabled?: boolean = false;
|
||||
|
||||
/**
|
||||
* Creates a new RunnerOrganisation entity from this.
|
||||
*/
|
||||
|
@ -25,6 +34,10 @@ export class CreateRunnerOrganisation extends CreateRunnerGroup {
|
|||
newRunnerOrganisation.address = this.address;
|
||||
Address.validate(newRunnerOrganisation.address);
|
||||
|
||||
if (this.registrtionEnabled) {
|
||||
newRunnerOrganisation.key = uuid.v4().toUpperCase();
|
||||
}
|
||||
|
||||
return newRunnerOrganisation;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
import { IsInt, IsObject, IsOptional } from 'class-validator';
|
||||
import { IsBoolean, IsInt, IsNotEmpty, IsObject, IsOptional } from 'class-validator';
|
||||
import * as uuid from 'uuid';
|
||||
import { Address } from '../../entities/Address';
|
||||
import { RunnerOrganisation } from '../../entities/RunnerOrganisation';
|
||||
import { CreateRunnerGroup } from '../create/CreateRunnerGroup';
|
||||
|
@ -22,6 +23,13 @@ export class UpdateRunnerOrganisation extends CreateRunnerGroup {
|
|||
@IsObject()
|
||||
address?: Address;
|
||||
|
||||
/**
|
||||
* Is registration enabled for the updated organisation?
|
||||
*/
|
||||
@IsNotEmpty()
|
||||
@IsBoolean()
|
||||
registrtionEnabled: boolean;
|
||||
|
||||
/**
|
||||
* Updates a provided RunnerOrganisation entity based on this.
|
||||
*/
|
||||
|
@ -33,6 +41,13 @@ export class UpdateRunnerOrganisation extends CreateRunnerGroup {
|
|||
else { organisation.address = this.address; }
|
||||
Address.validate(organisation.address);
|
||||
|
||||
if (this.registrtionEnabled) {
|
||||
organisation.key = uuid.v4().toUpperCase();
|
||||
}
|
||||
else {
|
||||
organisation.key = null;
|
||||
}
|
||||
|
||||
return organisation;
|
||||
}
|
||||
}
|
|
@ -1,8 +1,13 @@
|
|||
import {
|
||||
IsArray,
|
||||
|
||||
IsBase64,
|
||||
|
||||
IsBoolean,
|
||||
|
||||
IsObject,
|
||||
IsOptional
|
||||
IsOptional,
|
||||
IsString
|
||||
} from "class-validator";
|
||||
import { Address } from '../entities/Address';
|
||||
import { RunnerOrganisation } from '../entities/RunnerOrganisation';
|
||||
|
@ -27,6 +32,22 @@ export class ResponseRunnerOrganisation extends ResponseRunnerGroup {
|
|||
@IsArray()
|
||||
teams: RunnerTeam[];
|
||||
|
||||
/**
|
||||
* The organisation's registration key.
|
||||
* If registration is disabled this is null.
|
||||
*/
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
@IsBase64()
|
||||
registrationKey?: string;
|
||||
|
||||
/**
|
||||
* Is registration enabled for the organisation?
|
||||
*/
|
||||
@IsOptional()
|
||||
@IsBoolean()
|
||||
registrtionEnabled?: boolean = true;
|
||||
|
||||
/**
|
||||
* Creates a ResponseRunnerOrganisation object from a runnerOrganisation.
|
||||
* @param org The runnerOrganisation the response shall be build for.
|
||||
|
@ -35,5 +56,7 @@ export class ResponseRunnerOrganisation extends ResponseRunnerGroup {
|
|||
super(org);
|
||||
this.address = org.address;
|
||||
this.teams = org.teams;
|
||||
if (!org.key) { this.registrtionEnabled = false; }
|
||||
else { this.registrationKey = Buffer.from(org.key).toString('base64'); }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue