Relocate the resource group binding specs to models
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 368
Description
자원그룹과 도메인, 프로젝트, 키페어를 잇는 연관 행의 옛 spec 열다섯을 v2 베이스로 옮긴다.
복합 자연키 지원이 먼저다. 이 열다섯은 대부분 쌍으로 지목되는 행을 다룬다.
셋은 부르는 곳이 없다. 옮기지 말고 지운다. ResourceGroupsForKeypairsPurgerSpec은 정의만 있고, ResourceGroupForDomainPurgerSpec과 ResourceGroupForProjectPurgerSpec은 생성 함수까지 있으나 그 함수를 부르는 곳이 없다.
creator 셋과 unbinder 둘은 api/gql_legacy/scaling_group.py가 부른다. purger들은 같은 도메인 안에서 쓰인다.
RBACScopeEntityUnbinder 계열 둘은 옮길 대상 베이스가 다르다.
공통 완료 기준. 이 디렉터리에서 repositories.base import가 0이고, 레거시 DBOpsProvider 사용이 0이고, V2 ops를 직접 생성하는 자리가 0이고, 리포지토리가 세션이나 엔진이 아니라 V2DBOpsProvider를 받는다. 근거는 repositories/AGENTS.md다.
판별은 import 경로로 한다. repositories.base와 models.specs에 이름이 같은 클래스가 있어서 클래스명으로 세면 틀린다.
JIRA Issue: BA-7468
Contributor guide
Research direction
Read repositories/AGENTS.md first, then inventory the fifteen legacy specs under repositories.base and their counterparts in models.specs by import path rather than class name. Check api/gql_legacy/scaling_group.py for the creator and unbinder callers, and inspect same-domain purger usage. Done means no repositories.base imports, legacy DBOpsProvider uses, or direct V2 ops construction remain, and repositories receive V2DBOpsProvider rather than a session or engine.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, databases
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100