From 04bb8e50a7018e4aed9a956a623a4a61f8d1a0e9 Mon Sep 17 00:00:00 2001 From: Constantin Graf Date: Wed, 24 Jul 2024 13:37:02 +0200 Subject: [PATCH] Renamed user member endpoint and removed pagination --- ...rController.php => UserMembershipController.php} | 13 ++++++------- ...lection.php => PersonalMembershipCollection.php} | 4 ++-- ...rResource.php => PersonalMembershipResource.php} | 2 +- routes/api.php | 6 +++--- ...pointTest.php => UserMembershipEndpointTest.php} | 6 +++--- 5 files changed, 15 insertions(+), 16 deletions(-) rename app/Http/Controllers/Api/V1/{UserMemberController.php => UserMembershipController.php} (59%) rename app/Http/Resources/V1/Member/{PersonalMemberCollection.php => PersonalMembershipCollection.php} (63%) rename app/Http/Resources/V1/Member/{PersonalMemberResource.php => PersonalMembershipResource.php} (94%) rename tests/Unit/Endpoint/Api/V1/{UserMemberEndpointTest.php => UserMembershipEndpointTest.php} (85%) diff --git a/app/Http/Controllers/Api/V1/UserMemberController.php b/app/Http/Controllers/Api/V1/UserMembershipController.php similarity index 59% rename from app/Http/Controllers/Api/V1/UserMemberController.php rename to app/Http/Controllers/Api/V1/UserMembershipController.php index b1f74cdd..ea7a92a3 100644 --- a/app/Http/Controllers/Api/V1/UserMemberController.php +++ b/app/Http/Controllers/Api/V1/UserMembershipController.php @@ -4,13 +4,12 @@ declare(strict_types=1); namespace App\Http\Controllers\Api\V1; -use App\Http\Resources\V1\Member\PersonalMemberCollection; -use App\Http\Resources\V1\Member\PersonalMemberResource; +use App\Http\Resources\V1\Member\PersonalMembershipCollection; use App\Models\Member; use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Http\Resources\Json\JsonResource; -class UserMemberController extends Controller +class UserMembershipController extends Controller { /** * Get the memberships of the current user @@ -19,19 +18,19 @@ class UserMemberController extends Controller * * @operationId getMyMemberships * - * @return PersonalMemberCollection + * @return PersonalMembershipCollection * * @throws AuthorizationException */ - public function myMembers(): JsonResource + public function myMemberships(): JsonResource { $user = $this->user(); $members = Member::query() ->whereBelongsTo($user, 'user') ->with(['organization']) - ->paginate(config('app.pagination_per_page_default')); + ->get(); - return new PersonalMemberCollection($members); + return new PersonalMembershipCollection($members); } } diff --git a/app/Http/Resources/V1/Member/PersonalMemberCollection.php b/app/Http/Resources/V1/Member/PersonalMembershipCollection.php similarity index 63% rename from app/Http/Resources/V1/Member/PersonalMemberCollection.php rename to app/Http/Resources/V1/Member/PersonalMembershipCollection.php index d00c0226..ab5a4db0 100644 --- a/app/Http/Resources/V1/Member/PersonalMemberCollection.php +++ b/app/Http/Resources/V1/Member/PersonalMembershipCollection.php @@ -7,12 +7,12 @@ namespace App\Http\Resources\V1\Member; use App\Http\Resources\PaginatedResourceCollection; use Illuminate\Http\Resources\Json\ResourceCollection; -class PersonalMemberCollection extends ResourceCollection implements PaginatedResourceCollection +class PersonalMembershipCollection extends ResourceCollection implements PaginatedResourceCollection { /** * The resource that this resource collects. * * @var string */ - public $collects = PersonalMemberResource::class; + public $collects = PersonalMembershipResource::class; } diff --git a/app/Http/Resources/V1/Member/PersonalMemberResource.php b/app/Http/Resources/V1/Member/PersonalMembershipResource.php similarity index 94% rename from app/Http/Resources/V1/Member/PersonalMemberResource.php rename to app/Http/Resources/V1/Member/PersonalMembershipResource.php index 0bcb8295..103e9fb7 100644 --- a/app/Http/Resources/V1/Member/PersonalMemberResource.php +++ b/app/Http/Resources/V1/Member/PersonalMembershipResource.php @@ -11,7 +11,7 @@ use Illuminate\Http\Request; /** * @property Member $resource */ -class PersonalMemberResource extends BaseResource +class PersonalMembershipResource extends BaseResource { /** * Transform the resource into an array. diff --git a/routes/api.php b/routes/api.php index d649248b..932e84b1 100644 --- a/routes/api.php +++ b/routes/api.php @@ -13,7 +13,7 @@ use App\Http\Controllers\Api\V1\TagController; use App\Http\Controllers\Api\V1\TaskController; use App\Http\Controllers\Api\V1\TimeEntryController; use App\Http\Controllers\Api\V1\UserController; -use App\Http\Controllers\Api\V1\UserMemberController; +use App\Http\Controllers\Api\V1\UserMembershipController; use App\Http\Controllers\Api\V1\UserTimeEntryController; use Illuminate\Support\Facades\Route; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; @@ -53,8 +53,8 @@ Route::middleware([ }); // User Member routes - Route::name('users.members.')->group(static function () { - Route::get('/users/me/members', [UserMemberController::class, 'myMembers'])->name('my-members'); + Route::name('users.memberships.')->group(static function () { + Route::get('/users/me/memberships', [UserMembershipController::class, 'myMemberships'])->name('my-memberships'); }); // Invitation routes diff --git a/tests/Unit/Endpoint/Api/V1/UserMemberEndpointTest.php b/tests/Unit/Endpoint/Api/V1/UserMembershipEndpointTest.php similarity index 85% rename from tests/Unit/Endpoint/Api/V1/UserMemberEndpointTest.php rename to tests/Unit/Endpoint/Api/V1/UserMembershipEndpointTest.php index 544e4bf8..ea644f8f 100644 --- a/tests/Unit/Endpoint/Api/V1/UserMemberEndpointTest.php +++ b/tests/Unit/Endpoint/Api/V1/UserMembershipEndpointTest.php @@ -8,12 +8,12 @@ use App\Models\Member; use App\Models\Organization; use Laravel\Passport\Passport; -class UserMemberEndpointTest extends ApiEndpointTestAbstract +class UserMembershipEndpointTest extends ApiEndpointTestAbstract { public function test_my_members_fails_when_not_authenticated(): void { // Act - $response = $this->getJson(route('api.v1.users.members.my-members')); + $response = $this->getJson(route('api.v1.users.memberships.my-memberships')); // Assert $response->assertUnauthorized(); @@ -29,7 +29,7 @@ class UserMemberEndpointTest extends ApiEndpointTestAbstract Passport::actingAs($data->user); // Act - $response = $this->getJson(route('api.v1.users.members.my-members')); + $response = $this->getJson(route('api.v1.users.memberships.my-memberships')); // Assert $response->assertSuccessful();