Files
backend/app/Http/Controllers/ProvinceDashboard/SystemMessages/SupervisorController.php

55 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\ProvinceDashboard\SystemMessages;
use App\Exports\SystemMessage\SupervisorCartableExcel;
use App\Http\Controllers\Controller;
use App\Http\Requests\ProvinceDashboard\SystemMessages\RateRequest;
use app\Http\Traits\ApiResponse;
use App\Models\SystemMessage;
use App\Services\Dashboard\Province\SystemMessages\SupervisorService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
class SupervisorController extends Controller
{
use ApiResponse;
/**
* Display a listing of the resource.
*/
public function index(Request $request, SupervisorService $supervisorService): JsonResponse
{
return response()->json($supervisorService->datatable($request));
}
public function excel(Request $request, SupervisorService $supervisorService)
{
$name = 'گزارش از کارتابل پیام های سیستمی ' . now()->format('Y-m-d H:i') . '.xlsx';
$data = $supervisorService->dataTable($request, true);
return Excel::download(new SupervisorCartableExcel($data['data']), $name);
}
/**
* Store a newly created resource in storage.
*/
public function rate(RateRequest $request, SystemMessage $systemMessage): JsonResponse
{
$systemMessage->update([
'message_quality' => $request->message_quality,
'format_quality' => $request->format_quality,
'description' => $request->description,
]);
return $this->successResponse();
}
/**
* Display the specified resource.
*/
public function show(SystemMessage $systemMessage): JsonResponse
{
return $this->successResponse($systemMessage);
}
}