IsToggleEnabled retrieves an Octopus feature toggle by name. If an error occurs, it returns false.
(client *client.Client, toggleName string)
| 7 | |
| 8 | // IsToggleEnabled retrieves an Octopus feature toggle by name. If an error occurs, it returns false. |
| 9 | func IsToggleEnabled(client *client.Client, toggleName string) (bool, error) { |
| 10 | toggleRequest := &configuration.FeatureToggleConfigurationQuery{ |
| 11 | Name: toggleName, |
| 12 | } |
| 13 | |
| 14 | returnToggleResponse, err := configuration.Get(client, toggleRequest) |
| 15 | |
| 16 | if err != nil { |
| 17 | return false, err |
| 18 | } |
| 19 | |
| 20 | if len(returnToggleResponse.FeatureToggles) == 0 { |
| 21 | return false, err |
| 22 | } |
| 23 | |
| 24 | var toggleValue = returnToggleResponse.FeatureToggles[0] |
| 25 | |
| 26 | // Verify name to avoid error in older versions of Octopus where Name param is not recognised |
| 27 | if toggleValue.Name != toggleName { |
| 28 | return false, err |
| 29 | } |
| 30 | |
| 31 | return toggleValue.IsEnabled, err |
| 32 | } |
no test coverage detected