Files
backend/app/Http/Controllers/ProvinceDashboard/PeopleMessages/OperatorController.php

55 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\ProvinceDashboard\PeopleMessages;
use App\Enums\PeopleMessageActions;
use App\Exports\PeopleMessages\OperatorCartableExcel;
use App\Http\Controllers\Controller;
use app\Http\Traits\ApiResponse;
use App\Models\PeopleMessage;
use App\Services\Dashboard\Province\PeopleMessages\DataTableService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
class OperatorController extends Controller
{
use ApiResponse;
/**
* Display a listing of the resource.
*/
public function index(Request $request, DataTableService $dataTableService): JsonResponse
{
return response()->json($dataTableService->index($request));
}
public function excel(Request $request, DataTableService $dataTableService)
{
$name = 'گزارش از کارتابل پیام های سیستمی ' . now()->format('Y-m-d H:i') . '.xlsx';
$data = $dataTableService->dataTable($request, true);
return Excel::download(new OperatorCartableExcel($data['data']), $name);
}
public function handle(Request $request, PeopleMessage $peopleMessage): JsonResponse
{
$peopleMessage->update([
'listen_at' => now(),
'is_listen' => true,
'action_id' => $request->action_id,
'action_name' => PeopleMessageActions::name($request->action_id),
'description' => $request->description,
'savaneh_id' => $request->savaneh_id,
]);
return $this->successResponse();
}
/**
* Display the specified resource.
*/
public function show(PeopleMessage $peopleMessage): JsonResponse
{
return $this->successResponse($peopleMessage);
}
}