in api/approval.go [57:88]
func (prr *PRRApproval) ApproverForStage(stage Stage) (string, error) {
if err := stage.IsValid(); err != nil {
return "", err
}
if prr.Alpha == nil && prr.Beta == nil && prr.Stable == nil {
return "", ErrPRRMilestonesAllEmpty
}
switch stage {
case AlphaStage:
if prr.Alpha == nil {
return "", ErrPRRMilestoneIsNil
}
return prr.Alpha.Approver, nil
case BetaStage:
if prr.Beta == nil {
return "", ErrPRRMilestoneIsNil
}
return prr.Beta.Approver, nil
case StableStage:
if prr.Stable == nil {
return "", ErrPRRMilestoneIsNil
}
return prr.Stable.Approver, nil
}
return "", ErrPRRApproverUnknown
}