backend.ai
backend.ai copied to clipboard
Implement PurgeScalingGroup Action
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