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

Новости(CRUD + PhotoStorage)

This commit is contained in:
ashen-1-dev
2020-12-15 16:35:50 +07:00
parent 84cded965e
commit c9b4427d99
7 changed files with 249 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
<?php
namespace App\Http\Controllers\News;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\News;
class NewsController extends Controller
{
public function index(Request $request) {
$count = 5;
$news = new News;
if ($request->has('count')) {
$temp = (int)$request->count;
if ($temp>0 && $temp<= 100) {
$count = $temp;
}
}
return response()->json($news->orderByDesc('created_at')->paginate($count), 200);
}
public function store(Request $request) {
// Добавить проверку, после добавление авторизации
$request->validate([
'title' => 'required|min:5',
'description' => 'required',
]);
$news = News::create($request->all());
return response()->json($news, 201);
}
public function show(News $news) {
return response()->json($news, 200);
}
public function edit(News $news, Request $request) {
$request->validate([
'title' => 'required|min:5',
'description' => 'required'
]);
$news->update($request->all());
return response()->json($news, 200);
}
public function delete(News $news) {
$news->delete();
return response()->json(true, 204);
}
}