28 lines
859 B
TypeScript
28 lines
859 B
TypeScript
import { IsNotEmpty } from "class-validator";
|
|
import { ChildEntity, ManyToOne } from "typeorm";
|
|
import { ResponseRunnerTeam } from '../responses/ResponseRunnerTeam';
|
|
import { RunnerGroup } from "./RunnerGroup";
|
|
import { RunnerOrganization } from "./RunnerOrganization";
|
|
|
|
/**
|
|
* Defines the RunnerTeam entity.
|
|
* This usually is a school class or department in a company.
|
|
*/
|
|
@ChildEntity()
|
|
export class RunnerTeam extends RunnerGroup {
|
|
|
|
/**
|
|
* The team's parent group.
|
|
* Every team has to be part of a runnerOrganization - this get's checked on creation and update.
|
|
*/
|
|
@IsNotEmpty()
|
|
@ManyToOne(() => RunnerOrganization, org => org.teams, { nullable: true })
|
|
parentGroup?: RunnerOrganization;
|
|
|
|
/**
|
|
* Turns this entity into it's response class.
|
|
*/
|
|
public toResponse(): ResponseRunnerTeam {
|
|
return new ResponseRunnerTeam(this);
|
|
}
|
|
} |