nolint:gocyclo
(tx *gorm.DB, scaleSet ScaleSet, param params.UpdateScaleSetParams)
| 301 | |
| 302 | // nolint:gocyclo |
| 303 | func (s *sqlDatabase) updateScaleSet(tx *gorm.DB, scaleSet ScaleSet, param params.UpdateScaleSetParams) (params.ScaleSet, int64, error) { |
| 304 | updates := make(map[string]interface{}) |
| 305 | incrementGeneration := false |
| 306 | |
| 307 | if param.Enabled != nil && scaleSet.Enabled != *param.Enabled { |
| 308 | updates["enabled"] = *param.Enabled |
| 309 | } |
| 310 | |
| 311 | if param.State != nil && *param.State != scaleSet.State { |
| 312 | updates["state"] = *param.State |
| 313 | } |
| 314 | |
| 315 | if param.ExtendedState != nil && *param.ExtendedState != scaleSet.ExtendedState { |
| 316 | updates["extended_state"] = *param.ExtendedState |
| 317 | } |
| 318 | |
| 319 | if param.ScaleSetID != 0 && param.ScaleSetID != scaleSet.ScaleSetID { |
| 320 | updates["scale_set_id"] = param.ScaleSetID |
| 321 | } |
| 322 | |
| 323 | if param.TemplateID != nil && (scaleSet.TemplateID == nil || *param.TemplateID != *scaleSet.TemplateID) { |
| 324 | updates["template_id"] = param.TemplateID |
| 325 | } |
| 326 | |
| 327 | if param.EnableShell != nil && *param.EnableShell != scaleSet.EnableShell { |
| 328 | updates["enable_shell"] = *param.EnableShell |
| 329 | incrementGeneration = true |
| 330 | } |
| 331 | |
| 332 | if param.Name != "" && param.Name != scaleSet.Name { |
| 333 | updates["name"] = param.Name |
| 334 | } |
| 335 | |
| 336 | if param.GitHubRunnerGroup != nil && *param.GitHubRunnerGroup != "" && *param.GitHubRunnerGroup != scaleSet.GitHubRunnerGroup { |
| 337 | updates["git_hub_runner_group"] = *param.GitHubRunnerGroup |
| 338 | incrementGeneration = true |
| 339 | } |
| 340 | |
| 341 | if param.Flavor != "" && param.Flavor != scaleSet.Flavor { |
| 342 | updates["flavor"] = param.Flavor |
| 343 | incrementGeneration = true |
| 344 | } |
| 345 | |
| 346 | if param.Image != "" && param.Image != scaleSet.Image { |
| 347 | updates["image"] = param.Image |
| 348 | incrementGeneration = true |
| 349 | } |
| 350 | |
| 351 | if param.Prefix != "" && param.Prefix != scaleSet.RunnerPrefix { |
| 352 | updates["runner_prefix"] = param.Prefix |
| 353 | } |
| 354 | |
| 355 | if param.MaxRunners != nil && *param.MaxRunners != scaleSet.MaxRunners { |
| 356 | updates["max_runners"] = *param.MaxRunners |
| 357 | } |
| 358 | |
| 359 | if param.MinIdleRunners != nil && *param.MinIdleRunners != scaleSet.MinIdleRunners { |
| 360 | updates["min_idle_runners"] = *param.MinIdleRunners |
no test coverage detected