backend.ai icon indicating copy to clipboard operation
backend.ai copied to clipboard

Implement ModifyScalingGroup Action

Open jopemachine opened this issue 3 weeks ago • 0 comments

Objective

Implement Modify action with Updater pattern for partial updates.

Implementation Details

  • updaters.py: ScalingGroupUpdaterSpec (~80 lines)
    • OptionalState support for partial updates
  • actions/modify_scaling_group.py: Modify action definition (~35 lines)
  • service.py: Add modify_scaling_group method (~15 lines)
  • processors.py: Add modify processor (~5 lines)
  • repository.py: Add update method (~25 lines)
  • db_source/db_source.py: Add update method (~35 lines)
  • GraphQL mutation modification (~25 lines)
  • Unit tests:
    • test_modify_scaling_group_service.py (~70 lines)
    • test_modify_scaling_group_repository.py (~70 lines)

Estimated Lines

~360 lines

Dependencies

  • Story 4: CreateScalingGroup Action - GraphQL Integration

Acceptance Criteria

  • [ ] ScalingGroupUpdaterSpec supports all updateable fields
  • [ ] Partial updates work correctly (only specified fields updated)
  • [ ] ModifyScalingGroupAction and result classes implemented
  • [ ] GraphQL mutation uses new processor pattern
  • [ ] Unit tests cover full and partial update scenarios

JIRA Issue: BA-3486

jopemachine avatar Dec 19 '25 01:12 jopemachine