func()

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
}