b29a268b1d
- Move completed plan files to .plans/done/ - Move 18 open plan files to .plans/open/ - Update .gitignore to exclude .verified_plans temp file - Verified all 18 open plans still describe unimplemented issues
2.3 KiB
2.3 KiB
Issue #208: MemberController Has Too Many Responsibilities
Problem
MemberController handles:
- Member CRUD (index, show, create, update, destroy)
- Sub-entity CRUD (addresses, phones, emails)
- Admin-only operations (revealAllergies, archive)
- Search (search, fullTextSearch)
This violates Single Responsibility Principle. The controller is 500+ lines with 20+ methods.
Current Structure
MemberController
├── search() # Full-text search
├── index() # List with filters
├── show() # Single member
├── create() # Create member
├── update() # Update member
├── destroy() # Delete member
├── revealAllergies() # Admin-only
├── archive() # Admin-only
├── createAddress() # Sub-entity
├── updateAddress() # Sub-entity
├── destroyAddress() # Sub-entity
├── createPhone() # Sub-entity
├── updatePhone() # Sub-entity
├── destroyPhone() # Sub-entity
├── createEmail() # Sub-entity
├── updateEmail() # Sub-entity
├── destroyEmail() # Sub-entity
Solution
Split into focused controllers:
Controllers/
├── MemberController # Member CRUD only
├── MemberAddressController # Address CRUD
├── MemberPhoneController # Phone CRUD
├── MemberEmailController # Email CRUD
├── MemberSearchController # Search operations
├── MemberAdminController # Admin-only operations
Each controller has 3-5 methods, making them easier to understand and test.
Tasks
- Create
MemberAddressControllerfor address CRUD - Create
MemberPhoneControllerfor phone CRUD - Create
MemberEmailControllerfor email CRUD - Create
MemberSearchControllerfor search operations - Create
MemberAdminControllerfor admin operations - Move sub-entity and admin methods from MemberController
- Update routes in
AppInfo/Application.php - Update frontend API calls to use new endpoints
- Remove old methods from MemberController
Labels
- refactoring
- backend
- priority:medium
- architecture