mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-17 12:42:15 +01:00
Renamed user member endpoint and removed pagination
This commit is contained in:
committed by
Gregor Vostrak
parent
6aef8856f5
commit
04bb8e50a7
@@ -4,13 +4,12 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace App\Http\Controllers\Api\V1;
|
namespace App\Http\Controllers\Api\V1;
|
||||||
|
|
||||||
use App\Http\Resources\V1\Member\PersonalMemberCollection;
|
use App\Http\Resources\V1\Member\PersonalMembershipCollection;
|
||||||
use App\Http\Resources\V1\Member\PersonalMemberResource;
|
|
||||||
use App\Models\Member;
|
use App\Models\Member;
|
||||||
use Illuminate\Auth\Access\AuthorizationException;
|
use Illuminate\Auth\Access\AuthorizationException;
|
||||||
use Illuminate\Http\Resources\Json\JsonResource;
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
class UserMemberController extends Controller
|
class UserMembershipController extends Controller
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Get the memberships of the current user
|
* Get the memberships of the current user
|
||||||
@@ -19,19 +18,19 @@ class UserMemberController extends Controller
|
|||||||
*
|
*
|
||||||
* @operationId getMyMemberships
|
* @operationId getMyMemberships
|
||||||
*
|
*
|
||||||
* @return PersonalMemberCollection<PersonalMemberResource>
|
* @return PersonalMembershipCollection
|
||||||
*
|
*
|
||||||
* @throws AuthorizationException
|
* @throws AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function myMembers(): JsonResource
|
public function myMemberships(): JsonResource
|
||||||
{
|
{
|
||||||
$user = $this->user();
|
$user = $this->user();
|
||||||
|
|
||||||
$members = Member::query()
|
$members = Member::query()
|
||||||
->whereBelongsTo($user, 'user')
|
->whereBelongsTo($user, 'user')
|
||||||
->with(['organization'])
|
->with(['organization'])
|
||||||
->paginate(config('app.pagination_per_page_default'));
|
->get();
|
||||||
|
|
||||||
return new PersonalMemberCollection($members);
|
return new PersonalMembershipCollection($members);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,12 +7,12 @@ namespace App\Http\Resources\V1\Member;
|
|||||||
use App\Http\Resources\PaginatedResourceCollection;
|
use App\Http\Resources\PaginatedResourceCollection;
|
||||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||||
|
|
||||||
class PersonalMemberCollection extends ResourceCollection implements PaginatedResourceCollection
|
class PersonalMembershipCollection extends ResourceCollection implements PaginatedResourceCollection
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The resource that this resource collects.
|
* The resource that this resource collects.
|
||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $collects = PersonalMemberResource::class;
|
public $collects = PersonalMembershipResource::class;
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@ use Illuminate\Http\Request;
|
|||||||
/**
|
/**
|
||||||
* @property Member $resource
|
* @property Member $resource
|
||||||
*/
|
*/
|
||||||
class PersonalMemberResource extends BaseResource
|
class PersonalMembershipResource extends BaseResource
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Transform the resource into an array.
|
* Transform the resource into an array.
|
||||||
@@ -13,7 +13,7 @@ use App\Http\Controllers\Api\V1\TagController;
|
|||||||
use App\Http\Controllers\Api\V1\TaskController;
|
use App\Http\Controllers\Api\V1\TaskController;
|
||||||
use App\Http\Controllers\Api\V1\TimeEntryController;
|
use App\Http\Controllers\Api\V1\TimeEntryController;
|
||||||
use App\Http\Controllers\Api\V1\UserController;
|
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 App\Http\Controllers\Api\V1\UserTimeEntryController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||||
@@ -53,8 +53,8 @@ Route::middleware([
|
|||||||
});
|
});
|
||||||
|
|
||||||
// User Member routes
|
// User Member routes
|
||||||
Route::name('users.members.')->group(static function () {
|
Route::name('users.memberships.')->group(static function () {
|
||||||
Route::get('/users/me/members', [UserMemberController::class, 'myMembers'])->name('my-members');
|
Route::get('/users/me/memberships', [UserMembershipController::class, 'myMemberships'])->name('my-memberships');
|
||||||
});
|
});
|
||||||
|
|
||||||
// Invitation routes
|
// Invitation routes
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ use App\Models\Member;
|
|||||||
use App\Models\Organization;
|
use App\Models\Organization;
|
||||||
use Laravel\Passport\Passport;
|
use Laravel\Passport\Passport;
|
||||||
|
|
||||||
class UserMemberEndpointTest extends ApiEndpointTestAbstract
|
class UserMembershipEndpointTest extends ApiEndpointTestAbstract
|
||||||
{
|
{
|
||||||
public function test_my_members_fails_when_not_authenticated(): void
|
public function test_my_members_fails_when_not_authenticated(): void
|
||||||
{
|
{
|
||||||
// Act
|
// Act
|
||||||
$response = $this->getJson(route('api.v1.users.members.my-members'));
|
$response = $this->getJson(route('api.v1.users.memberships.my-memberships'));
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
$response->assertUnauthorized();
|
$response->assertUnauthorized();
|
||||||
@@ -29,7 +29,7 @@ class UserMemberEndpointTest extends ApiEndpointTestAbstract
|
|||||||
Passport::actingAs($data->user);
|
Passport::actingAs($data->user);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
$response = $this->getJson(route('api.v1.users.members.my-members'));
|
$response = $this->getJson(route('api.v1.users.memberships.my-memberships'));
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
$response->assertSuccessful();
|
$response->assertSuccessful();
|
||||||
Reference in New Issue
Block a user