wip
This commit is contained in:
@@ -4,7 +4,7 @@ import type { StewardingDecisionMode } from '../entities/League';
|
||||
|
||||
export interface SeasonStewardingConfigProps {
|
||||
decisionMode: StewardingDecisionMode;
|
||||
requiredVotes?: number;
|
||||
requiredVotes?: number | undefined;
|
||||
requireDefense: boolean;
|
||||
defenseTimeLimit: number;
|
||||
voteTimeLimit: number;
|
||||
@@ -54,6 +54,17 @@ export class SeasonStewardingConfig
|
||||
);
|
||||
}
|
||||
|
||||
// For non-voting modes, requiredVotes should not be provided
|
||||
if (props.decisionMode !== 'steward_vote' &&
|
||||
props.decisionMode !== 'member_vote' &&
|
||||
props.decisionMode !== 'steward_veto' &&
|
||||
props.decisionMode !== 'member_veto' &&
|
||||
props.requiredVotes !== undefined) {
|
||||
throw new RacingDomainValidationError(
|
||||
'SeasonStewardingConfig.requiredVotes should only be provided for voting/veto modes',
|
||||
);
|
||||
}
|
||||
|
||||
if (!Number.isInteger(props.defenseTimeLimit) || props.defenseTimeLimit < 0) {
|
||||
throw new RacingDomainValidationError(
|
||||
'SeasonStewardingConfig.defenseTimeLimit must be a non-negative integer (hours)',
|
||||
|
||||
Reference in New Issue
Block a user