CheckAndEnableAPI wraps an API call and handles enablement if needed
(operation func() error)
| 214 | |
| 215 | // CheckAndEnableAPI wraps an API call and handles enablement if needed |
| 216 | func CheckAndEnableAPI(operation func() error) error { |
| 217 | for { |
| 218 | err := operation() |
| 219 | if err == nil { |
| 220 | return nil |
| 221 | } |
| 222 | |
| 223 | apiErr := ParseAPIEnablementError(err) |
| 224 | if apiErr == nil { |
| 225 | // Not an enablement error, return as-is |
| 226 | return err |
| 227 | } |
| 228 | |
| 229 | // Handle enablement flow |
| 230 | if handleErr := HandleAPIEnablement(apiErr); handleErr != nil { |
| 231 | return handleErr |
| 232 | } |
| 233 | |
| 234 | // Retry the operation |
| 235 | } |
| 236 | } |
no test coverage detected