feat: add MemberController REST API endpoints (Closes #22) (#71)

This commit was merged in pull request #71.
This commit is contained in:
2026-04-07 11:41:37 +02:00
parent 938dc79a04
commit 17bdf7e54a
4 changed files with 560 additions and 0 deletions
+23
View File
@@ -4,6 +4,29 @@ declare(strict_types=1);
return [
'routes' => [
// ── Page routes ──────────────────────────────────────────────
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
// ── Member CRUD ──────────────────────────────────────────────
['name' => 'member#index', 'url' => '/api/v1/members', 'verb' => 'GET'],
['name' => 'member#show', 'url' => '/api/v1/members/{id}', 'verb' => 'GET'],
['name' => 'member#create', 'url' => '/api/v1/members', 'verb' => 'POST'],
['name' => 'member#update', 'url' => '/api/v1/members/{id}', 'verb' => 'PUT'],
['name' => 'member#destroy', 'url' => '/api/v1/members/{id}', 'verb' => 'DELETE'],
// ── Member addresses ─────────────────────────────────────────
['name' => 'member#createAddress', 'url' => '/api/v1/members/{memberId}/addresses', 'verb' => 'POST'],
['name' => 'member#updateAddress', 'url' => '/api/v1/members/{memberId}/addresses/{addrId}', 'verb' => 'PUT'],
['name' => 'member#destroyAddress', 'url' => '/api/v1/members/{memberId}/addresses/{addrId}', 'verb' => 'DELETE'],
// ── Member phones ────────────────────────────────────────────
['name' => 'member#createPhone', 'url' => '/api/v1/members/{memberId}/phones', 'verb' => 'POST'],
['name' => 'member#updatePhone', 'url' => '/api/v1/members/{memberId}/phones/{phoneId}', 'verb' => 'PUT'],
['name' => 'member#destroyPhone', 'url' => '/api/v1/members/{memberId}/phones/{phoneId}', 'verb' => 'DELETE'],
// ── Member emails ────────────────────────────────────────────
['name' => 'member#createEmail', 'url' => '/api/v1/members/{memberId}/emails', 'verb' => 'POST'],
['name' => 'member#updateEmail', 'url' => '/api/v1/members/{memberId}/emails/{emailId}', 'verb' => 'PUT'],
['name' => 'member#destroyEmail', 'url' => '/api/v1/members/{memberId}/emails/{emailId}', 'verb' => 'DELETE'],
],
];