%PDF- %PDF-
Direktori : /var/www/html/camillo/camillo-api-master/app/Http/Controllers/Api/v1/ |
Current File : /var/www/html/camillo/camillo-api-master/app/Http/Controllers/Api/v1/ClassroomController.php |
<?php namespace App\Http\Controllers\Api\v1; use App\Http\Controllers\Controller; use App\Http\Resources\ClassroomResource; use App\Models\Classroom; use App\Traits\ApiUser; use Symfony\Component\HttpKernel\Exception\HttpException; use Illuminate\Http\Request; use Illuminate\Http\Response; class ClassroomController extends Controller { use ApiUser; /** * Lists classrooms by institute * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function indexByInstitute(Request $request) { $user = $this->getLoggedUser(); if (!$user->active) { $user->update(['active' => 1]); } $institutes = $user->institutes; if(!$institutes){ throw new HttpException(Response::HTTP_PRECONDITION_FAILED, __("institute not associated")); } $institute_ids = $institutes->map(function ($item, $key){ return $item->id; }); $today = date('Y-m-d'); $classrooms = Classroom::whereHas('institute', function($query) use ($institute_ids) { $query->whereIn('institute_id', $institute_ids); })->whereHas('schoolyear', function($q) use ($today) { $q->whereDate('start_date', '<=', $today); $q->whereDate('end_date', '>=', $today); })->get(); return response()->json(ClassroomResource::collection($classrooms), Response::HTTP_OK); } }