# 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 `MemberAddressController` for address CRUD
- [ ] Create `MemberPhoneController` for phone CRUD
- [ ] Create `MemberEmailController` for email CRUD
- [ ] Create `MemberSearchController` for search operations
- [ ] Create `MemberAdminController` for 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