validateRunnerStatusTransition validates runner status state transition
(current, newStatus params.RunnerStatus)
| 309 | |
| 310 | // validateRunnerStatusTransition validates runner status state transition |
| 311 | func (s *sqlDatabase) validateRunnerStatusTransition(current, newStatus params.RunnerStatus) error { |
| 312 | if newStatus == "" || newStatus == current { |
| 313 | return nil |
| 314 | } |
| 315 | |
| 316 | allowedTransitions, ok := params.RunnerStatusTransitions[current] |
| 317 | if !ok { |
| 318 | return fmt.Errorf("Instance is in invalid state: %s", current) |
| 319 | } |
| 320 | |
| 321 | if !slices.Contains(allowedTransitions, newStatus) { |
| 322 | return runnerErrors.NewBadRequestError("invalid runner status transition from %s to %s", current, newStatus) |
| 323 | } |
| 324 | return nil |
| 325 | } |
| 326 | |
| 327 | // validateInstanceStatusTransition validates instance status state transition |
| 328 | func (s *sqlDatabase) validateInstanceStatusTransition(current, newStatus commonParams.InstanceStatus) error { |