示例#1
0
func hasAccessToFeature(feature m.FeatureFlag, ar AccessRequest) bool {
	// Handle trivial case
	if feature.IsEnabled() {
		return true
	}

	// Access thanks to a group?
	if len(ar.Groups) > 0 {
		for _, group := range ar.Groups {
			if feature.GroupHasAccess(group) {
				return true
			}
		}
	}

	// Access thanks to the user?
	if ar.User > 0 {
		return feature.UserHasAccess(ar.User)
	}

	return false
}