erp/app/Http/Controllers/Message/WebsiteMessageController.php

47 lines
1.5 KiB
PHP
Raw Normal View History

2024-07-25 17:54:14 +08:00
<?php
namespace App\Http\Controllers\Message;
use App\Http\Controllers\Controller;
use App\Models\WebsiteMessages;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Log;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class WebsiteMessageController extends Controller
{
public function index(Request $request)
{
$roleIds = collect($request->user()->roles)->pluck('id')->toArray()??[];
$status = $request->input('status')?? 0;
$websiteMessage = WebsiteMessages::query()->where('status','=',$status);
if(!empty($roleIds)){
$websiteMessagePage = $websiteMessage->whereIn('role_id',$roleIds)
->paginate($request->get('per_page'));
return JsonResource::collection($websiteMessagePage);
}
return JsonResource::collection([]);
}
public function update($id, Request $request)
{
$validator = Validator::make($request->all(), [
'status' => ['required', 'integer', 'in:0,1']
]);
if ($validator->fails()) {
$this->setValidatorFailResponse($validator->getMessageBag()->getMessages());
return response($this->res, $this->res['httpCode']);
}
//更新站內信狀態
$websiteMessages = WebsiteMessages::query()->find($id);
$websiteMessages->status = $request->status;
Log::info("管理員更新站內信",(array)$request->user());
$websiteMessages->save();
return $websiteMessages;
}
}