<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Controllers\Traits\ValidationTrait;
use App\Http\Requests\Admin\StoreCourseOfConstructionsRequest;
use App\Http\Requests\Api\CourseOfConstructionFilterRequest;
use App\Http\Resources\CourseOfConstructionCollection;
use App\Repository\CourseOfConstructionRepository;
use App\Repository\DeveloperRepository;
use App\Repository\ResidentialComplexRepository;
use Illuminate\Http\Request;

class CourseOfConstructionController extends Controller
{
    use ValidationTrait;

    /**
     * @var CourseOfConstructionRepository
     */
    public $courseOfConstructionRepository;

    public function __construct(
        CourseOfConstructionRepository $courseOfConstructionRepository
    ) {
        $this->courseOfConstructionRepository = $courseOfConstructionRepository;
    }

    public function show(CourseOfConstructionFilterRequest $request, $slug)
    {
        $parameters = $request->all();

        $courseOfConstructions = $this->courseOfConstructionRepository->filter($parameters);

        return new CourseOfConstructionCollection($courseOfConstructions);
    }
}
