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

модуль Задания(почти готов)

This commit is contained in:
ashen-1-dev
2020-12-09 19:02:38 +07:00
parent 3c93886fef
commit ba578e9fdf
19 changed files with 842 additions and 302 deletions

View File

@@ -0,0 +1,80 @@
<?php
namespace App\Http\Controllers\BankTask;
use App\Http\Requests\ThemeRequest;
use App\Models\Theme;
use http\Env\Response;
use Illuminate\Database\QueryException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class ThemeController extends Controller
{
/**
* Получение списка всех тем
*
* @param Request $request
* @return JsonResponse
*/
public function index(Request $request)
{
return response()->json(Theme::all()->sortBy($request->input('sort_by')), 200);
}
/**
* Получение темы
*
* @param Theme $theme
* @return JsonResponse
*/
public function show(Theme $theme)
{
return response()->json($theme, 200);
}
/**
* Создание темы
*
* @param ThemeRequest $request
* @return JsonResponse
*/
public function store(ThemeRequest $request)
{
$theme = Theme::create($request->all());
return response()->json($theme, 200);
}
/**
* Обновление темы
*
* @param Request $request
* @param Theme $theme
* @return JsonResponse
*/
public function update(Theme $theme, Request $request)
{
try {
$theme->update($request->all());
} catch (QueryException $e) {
return response()->json('Value can not null', 400);
}
return response()->json($theme, 200);
}
/**
* Удаление темы
*
* @param Theme $theme
* @return JsonResponse
* @throws \Exception
*/
public function destroy(Theme $theme)
{
$theme->delete();
return response()->json('', 204);
}
}