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

Implement PurgeScalingGroup Action

Open jopemachine opened this issue 3 weeks ago • 0 comments

Objective

Implement DeleteScalingGroup action as the simplest operation to validate the entire pattern.

Implementation Details

  • actions/delete_scaling_group.py: Delete action definition (~35 lines)
  • service.py: Add delete_scaling_group method (~15 lines)
  • processors.py: Add delete processor (~10 lines)
  • repository.py: Add delete method (~25 lines)
  • db_source/db_source.py: Add delete method (~30 lines)
  • GraphQL mutation modification (legacy → new pattern) (~20 lines)
  • Unit tests:
    • test_delete_scaling_group_service.py (~60 lines)
    • test_delete_scaling_group_repository.py (~60 lines)

Estimated Lines

~255 lines

Dependencies

  • Story 1: Foundation Structure Setup

Acceptance Criteria

  • [ ] DeleteScalingGroupAction and result classes implemented
  • [ ] Service method delegates to repository
  • [ ] Repository applies resilience policies
  • [ ] DBSource handles database deletion
  • [ ] GraphQL mutation uses processors.scaling_group.delete.wait_for_complete()
  • [ ] Unit tests pass with mocked dependencies

JIRA Issue: BA-3483

jopemachine avatar Dec 19 '25 01:12 jopemachine