( cmd *cobra.Command, client DaemonClient, id string, flags bridgeUpdateFlags, )
| 330 | } |
| 331 | |
| 332 | func buildBridgeUpdateRequest( |
| 333 | cmd *cobra.Command, |
| 334 | client DaemonClient, |
| 335 | id string, |
| 336 | flags bridgeUpdateFlags, |
| 337 | ) (UpdateBridgeRequest, error) { |
| 338 | displayChanged := cmd.Flags().Changed("display-name") |
| 339 | routingChanged := bridgeRoutingFlagsChanged(cmd) |
| 340 | deliveryChanged := cmd.Flags().Changed(bridgeDeliveryDefaultsFlag) |
| 341 | providerChanged := cmd.Flags().Changed(bridgeProviderConfigFlag) |
| 342 | notificationChanged := cmd.Flags().Changed("notification-suppress") |
| 343 | if !displayChanged && !routingChanged && !deliveryChanged && !providerChanged && !notificationChanged { |
| 344 | return UpdateBridgeRequest{}, errors.New("cli: at least one update flag is required") |
| 345 | } |
| 346 | |
| 347 | req := UpdateBridgeRequest{} |
| 348 | if displayChanged { |
| 349 | trimmed := strings.TrimSpace(flags.displayName) |
| 350 | if trimmed == "" { |
| 351 | return UpdateBridgeRequest{}, errors.New("cli: --display-name cannot be empty") |
| 352 | } |
| 353 | req.DisplayName = &trimmed |
| 354 | } |
| 355 | if routingChanged { |
| 356 | policy, err := bridgeRoutingPolicyForUpdate(cmd, client, id, flags) |
| 357 | if err != nil { |
| 358 | return UpdateBridgeRequest{}, err |
| 359 | } |
| 360 | req.RoutingPolicy = &policy |
| 361 | } |
| 362 | if deliveryChanged { |
| 363 | value, err := bridgeDeliveryDefaultsForUpdate(flags.deliveryDefaults) |
| 364 | if err != nil { |
| 365 | return UpdateBridgeRequest{}, err |
| 366 | } |
| 367 | req.DeliveryDefaults = &value |
| 368 | } |
| 369 | if providerChanged { |
| 370 | value, err := bridgeProviderConfigForUpdate(flags.providerConfig) |
| 371 | if err != nil { |
| 372 | return UpdateBridgeRequest{}, err |
| 373 | } |
| 374 | req.ProviderConfig = &value |
| 375 | } |
| 376 | if notificationChanged { |
| 377 | req.NotificationSuppress = &flags.notificationSuppress |
| 378 | } |
| 379 | return req, nil |
| 380 | } |
| 381 | |
| 382 | func bridgeRoutingPolicyForUpdate( |
| 383 | cmd *cobra.Command, |
no test coverage detected