<?php

    namespace App\Http\Controllers\Api;

    use App\Http\Requests\Api\ResellersIndex;
    use App\Models\Reseller;
    use App\Http\Controllers\Controller;
    use App\Http\Resources\ResellersCollection;
    use App\Facades\Services\BackendUserService;

    class ResellerController extends Controller
    {
        /**
         * Display a listing of the resource.
         * @param  ResellersIndex  $request
         * @return \Illuminate\Http\Response
         */
        public function index(ResellersIndex $request)
        {
            $data = $request->validated();
            $user = BackendUserService::getLoggedUser();
            $country = $data['country'];
            $query = Reseller::full()
                ->select('*');
            if (!$user) {
                $query->with('websites')->where('status', 'published');
            }
            $query->orderBy('website_objects.position', 'asc');

            if ($country !== 0) {
                $query->whereHas('countries', function ($query) use ($country) {
                    $query->where('countries_id', $country);
                });
            }

            $resellers = $query->paginate(12);
            return new ResellersCollection($resellers);
        }
    }
