Skip to main content

Black Friday 2025! Only until December 1st: coupon FRIDAY25 for 40% off Yearly/Lifetime membership!

Read more here

cattr-app/server-application

87 stars
2 code files
View cattr-app/server-application on GitHub

app/Services/ProjectMemberService.php

Open in GitHub
use App\Models\Project;
 
class ProjectMemberService
{
public static function getMembers(int $projectId): array
{
return Project::find($projectId, 'id')
->where('id', $projectId)
->with('users')
->first()
->only(['id', 'users']);
}
 
public static function syncMembers(int $projectId, array $users): array
{
return Project::findOrFail($projectId)->users()->sync($users);
}
}

app/Http/Controllers/Api/ProjectMemberController.php

Open in GitHub
use App\Http\Controllers\Controller;
use App\Http\Requests\ProjectMember\BulkEditProjectMemberRequest;
use App\Http\Requests\ProjectMember\ShowProjectMemberRequest;
use App\Services\ProjectMemberService;
 
class ProjectMemberController extends Controller
{
public function list(ShowProjectMemberRequest $request): JsonResponse
{
// ...
 
$projectMembers = ProjectMemberService::getMembers($data['project_id']);
 
// ...
}
 
public function bulkEdit(BulkEditProjectMemberRequest $request): JsonResponse
{
// ...
 
ProjectMemberService::syncMembers($data['project_id'], $userRoles);
 
// ...
}
}

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.