Renamed user member endpoint and removed pagination

This commit is contained in:
Constantin Graf
2024-07-24 13:37:02 +02:00
committed by Gregor Vostrak
parent 6aef8856f5
commit 04bb8e50a7
5 changed files with 15 additions and 16 deletions

View File

@@ -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<PersonalMemberResource>
* @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);
}
}

View File

@@ -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;
}

View File

@@ -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.

View File

@@ -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

View File

@@ -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();