ProController.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Meeting;
  4. use App\Models\MeetingParticipant;
  5. use Illuminate\Http\Request;
  6. use App\Models\Pro;
  7. class ProController extends Controller
  8. {
  9. public function dashboard(Request $request){
  10. return view('pro.dashboard', ['sessionKey' => $request->cookie('sessionKey')]);
  11. }
  12. public function index(){
  13. $pros = Pro::all();
  14. return view('pro.index', compact('pros'));
  15. }
  16. public function create(){
  17. return view('pro.create');
  18. }
  19. public function show($uid, Request $request){
  20. $pro = Pro::where('uid', $uid)->first();
  21. return view('pro.show', compact('pro'));
  22. }
  23. public function meeting(Request $request, $meetingID) {
  24. $meeting = Meeting::where('uid', $meetingID)->first();
  25. if(!$meeting) {
  26. return abort(404, "Meeting no longer active");
  27. }
  28. $participants = MeetingParticipant::where('meeting_id', $meeting->id)->get();
  29. foreach ($participants as $participant) {
  30. $participant->proName = $participant->proName(); // eager-fill proName
  31. }
  32. return view('meeting', [
  33. 'meetingID' => $meetingID,
  34. 'participants' => $participants,
  35. 'guest' => false
  36. ]);
  37. }
  38. public function meet(Request $request) {
  39. return view('meet', [
  40. 'guest' => false
  41. ]);
  42. }
  43. }