import { IsInt, IsNotEmpty, IsPositive, IsString } from 'class-validator';
import { RunnerTeam } from '../entities/RunnerTeam';
import { ResponseObjectType } from '../enums/ResponseObjectType';
import { IResponse } from './IResponse';

/**
 * Defines the runner selfservice team response.
 * Why? B/C runner's are not allowed to view all information available to admin users.
*/
export class ResponseSelfServiceTeam implements IResponse {
    /**
    * The responseType.
    * This contains the type of class/entity this response contains.
    */
    responseType: ResponseObjectType = ResponseObjectType.SELFSERVICETEAM;

    /**
     * The team's name.
     */
    @IsNotEmpty()
    @IsString()
    name: string;

    /**
     * The team's id.
     * Will be used to insert runners it into that team.
     */
    @IsInt()
    @IsPositive()
    id: number;

    public constructor(team: RunnerTeam) {
        this.name = team.name;
        this.id = team.id;
    }
}