1
0
mirror of https://github.com/robonen/education-project.git synced 2026-03-20 02:44:31 +00:00
Files
education-project/app/Http/Controllers/SchoolClassController.php

76 lines
1.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\SchoolClassRequest;
use App\Models\SchoolClass;
use App\Models\Teacher;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class SchoolClassController extends Controller
{
/**
* Получение списка всех классов
*
* @return JsonResponse
*/
public function index()
{
return response()->json(SchoolClass::all(), 200);
}
/**
* Получение класса
*
* @param SchoolClass $class
* @return JsonResponse
*/
public function show(SchoolClass $class)
{
return response()->json($class, 200);
}
/**
* @param SchoolClassRequest $request
* @return JsonResponse
*/
public function store(SchoolClassRequest $request)
{
$teacher = Teacher::find($request->get('teacher_id'));
if ($teacher) {
$schoolClass = $teacher->schoolClass()->create($request->all());
} else {
$schoolClass = SchoolClass::create($request->all());
}
return response()->json(SchoolClass::find($schoolClass->id), 201);
}
/**
* Обновление класса
*
* @param SchoolClassRequest $request
* @param SchoolClass $class
* @return JsonResponse
*/
public function update(SchoolClassRequest $request, SchoolClass $class)
{
$class->update($request->all());
return response()->json($class, 200);
}
/**
* Удаление класса
*
* @param SchoolClass $class
* @return JsonResponse
* @throws \Exception
*/
public function delete(SchoolClass $class)
{
$class->delete();
return response()->json('ok', 200);
}
}