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;

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());
});
}
}

View File

@@ -13,7 +13,7 @@ class CreateBankTaskFilesTable extends Migration
*/
public function up()
{
Schema::create('bank_tasks_files', function (Blueprint $table) {
Schema::create('bank_task_files', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('type');
@@ -23,7 +23,7 @@ class CreateBankTaskFilesTable extends Migration
$table->unsignedInteger('banktask_id');
$table->foreign('banktask_id')
->references('id')->on('bank_tasks')
->onDelete('no action');
->onDelete('cascade');
});
}
@@ -35,6 +35,6 @@ class CreateBankTaskFilesTable extends Migration
*/
public function down()
{
Schema::dropIfExists('bank_tasks_files');
Schema::dropIfExists('bank_task_files');
}
}

View File

@@ -22,7 +22,7 @@ class CreateNewsFilesTable extends Migration
$table->unsignedInteger('news_id');
$table->foreign('news_id')
->references('id')->on('news')
->onDelete('no action');
->onDelete('cascade');
});
}

View File

@@ -50,5 +50,5 @@ Route::group(['prefix' => 'news'], function () {
Route::put('/{news}', 'News\NewsController@edit');
Route::delete('/{news}', 'News\NewsController@delete');
Route::post('/{news}/addphoto', 'News\NewsFileController@store');
Route::delete('/{file}', 'News\NewsFileController@delete');
Route::delete('/photo/{file}', 'News\NewsFileController@delete');
});