TeamMemberController.php 945 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Controllers\API;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Resources\API\TeamMemberResource;
  5. use App\Models\Project;
  6. use App\Models\TeamMember;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Auth;
  9. class TeamMemberController extends Controller
  10. {
  11. /**
  12. * Display a listing of the resource.
  13. */
  14. public function members(string $projectId)
  15. {
  16. $project = Project::query()->findOrFail($projectId);
  17. return TeamMemberResource::collection($project->teamMembers);
  18. }
  19. /**
  20. * Remove the specified resource from storage.
  21. */
  22. public function destroy(string $id)
  23. {
  24. $teamMember = TeamMember::query()->findOrFail($id);
  25. if ($teamMember->project?->company_id != Auth::user()->company_id) {
  26. return $this->forbidden('No permission to delete');
  27. }
  28. $teamMember->delete();
  29. return $this->noContent();
  30. }
  31. }