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

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

This commit is contained in:
ashen-1-dev
2020-12-15 19:46:13 +07:00
parent c9b4427d99
commit 459fd1c37d
8 changed files with 15 additions and 9 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Http\Controllers\News;
use App\Http\Controllers\Controller;
use App\Models\NewsFile;
use Illuminate\Http\Request;
use App\Models\News;
@@ -34,7 +35,10 @@ class NewsController extends Controller
public function show(News $news) {
return response()->json($news, 200);
return response()->json([
$news,
'photo_id' => NewsFile::where('news_id', '=', $news->id)->get(['id'])
], 200);
}
public function edit(News $news, Request $request) {

View File

@@ -40,6 +40,7 @@ class NewsFileController extends Controller
$request->name . $ext
]);
$news->photo_uri = '/storage/news' . '/' . $newsId . '/' . $type . '/' . $request->name;
$news->save();
return true;
}
return false;
@@ -51,7 +52,7 @@ class NewsFileController extends Controller
public function delete(NewsFile $file) {
if (Storage::disk('local')->exists('/public/news/' . $file->news_id . '/' . $file->type . '/' . $file->name )) {
if (Storage::disk('local')->exists('/public/news/' . $file->news_id . '/' . $file->type . '/' . $file->name)) {
if (Storage::disk('local')->delete('/public/news/' . $file->news_id . '/' . $file->type . '/' . $file->name)) {
return response()->json($file->delete(), 204);
}

View File

@@ -8,6 +8,6 @@ use Illuminate\Database\Eloquent\Model;
class BankTaskFile extends Model
{
use HasFactory;
protected $table = 'bank_tasks_files';
protected $table = 'bank_task_files';
protected $fillable = ['name', 'type', 'extension', 'url', 'banktask_id'];
}

View File

@@ -9,4 +9,5 @@ class NewsFile extends Model
{
use HasFactory;
protected $table = 'news_files';
protected $fillable = ['name', 'type', 'extension', 'url', 'news_id'];
}

View File

@@ -57,7 +57,7 @@ class RouteServiceProvider extends ServiceProvider
protected function configureRateLimiting()
{
RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());
return Limit::perMinute(100)->by(optional($request->user())->id ?: $request->ip());
});
}
}