<?php

namespace App\Http\Controllers;

use App\Models\Manager;
use App\Models\Organizer;
use App\Models\Transaction;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class OrganizerController extends Controller
{
    //
    public function __construct()
    {
        $this->middleware(['auth', 'verified', 'onboarding', 'role:organizer']);
    }

    /**
     * Display the specified resource.
     *
     * @param int $id
     * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View|\never
     */
    public function show($username)
    {
        $user = User::where('username', $username)->firstOrFail();

        if (Auth::id() === $user->id) {
            $organizerProfile = Organizer::with('user')
                ->whereHas('user', function ($query) use ($username) {
                    return $query->where('username', '=', $username);
                })->firstOrFail();

            return view('web.organizer.profile')
                ->with('organizer', $organizerProfile);
        }

        return abort(404);
    }
}
