From 12786242ef1bb99f3618e2bf087b5983923574f3 Mon Sep 17 00:00:00 2001 From: joddyabott Date: Wed, 6 Aug 2025 15:50:42 +0330 Subject: [PATCH] create supervisor fpr dialogues --- .../SupervisorController.php | 43 +++++++++++++++++++ .../OperatorDialogs/RateRequest.php | 29 +++++++++++++ routes/web.php | 28 ++++++++++++ 3 files changed, 100 insertions(+) create mode 100644 app/Http/Controllers/ProvinceDashboard/OperatorDialogues/SupervisorController.php create mode 100644 app/Http/Requests/ProvinceDashboard/OperatorDialogs/RateRequest.php diff --git a/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/SupervisorController.php b/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/SupervisorController.php new file mode 100644 index 0000000..1fd5395 --- /dev/null +++ b/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/SupervisorController.php @@ -0,0 +1,43 @@ +json($dataTableService->index($request)); + } + + public function rate(RateRequest $request,OperatorDialogue $operatorDialogue): JsonResponse + { + $operatorDialogue->update([ + 'supervisor_id' => auth()->user()->id, + 'is_good' => $request->is_good, + 'is_listen' => true, + 'description' => $request->description, + ]); + return $this->successResponse(); + } + + public function show(OperatorDialogue $operatorDialogue): JsonResponse + { + return $this->successResponse($operatorDialogue); + } + + public function excel() + { + // + } + +} diff --git a/app/Http/Requests/ProvinceDashboard/OperatorDialogs/RateRequest.php b/app/Http/Requests/ProvinceDashboard/OperatorDialogs/RateRequest.php new file mode 100644 index 0000000..f5150a1 --- /dev/null +++ b/app/Http/Requests/ProvinceDashboard/OperatorDialogs/RateRequest.php @@ -0,0 +1,29 @@ +|string> + */ + public function rules(): array + { + return [ + 'is_good' => 'required|in:0,1', + 'description' => 'string', + ]; + } +} diff --git a/routes/web.php b/routes/web.php index 9be70cc..0522a4f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -12,7 +12,10 @@ use App\Http\Controllers\HeadquartersDashboard\CumulativeCentersStatsController; use App\Http\Controllers\HeadquartersDashboard\CumulativeKeypressStatsController; use App\Http\Controllers\HeadquartersDashboard\CumulativeMessageRatingStatsController; use App\Http\Controllers\HeadquartersDashboard\CumulativeVoiceRatingStatsController; +use App\Http\Controllers\ProvinceDashboard\OperatorDialogues\OperatorController; +use App\Http\Controllers\ProvinceDashboard\OperatorDialogues\SupervisorController; use App\Http\Middleware\SuperAdminCheck; +use App\Models\OperatorDialogue; use Illuminate\Support\Facades\Route; Route::prefix('server')->group(function () { @@ -128,6 +131,31 @@ Route::prefix('server')->group(function () { ->group(function () { Route::get('/', 'index')->name('index'); }); + Route::middleware('auth') + ->prefix('dialogs') + ->name('dialogs.') + ->group(function () { + Route::prefix('operator') + ->name('operator.') + ->controller(\App\Http\Controllers\ProvinceDashboard\OperatorDialogues\OperatorController::class) + ->group(function () { + Route::get('/', 'index')->name('index'); + Route::get('/excel', 'excel')->name('excel'); + Route::get('/{operatorDialogue','show')->name('show'); + + + }); + Route::prefix('supervisor') + ->name('supervisor.') + ->controller(\App\Http\Controllers\ProvinceDashboard\OperatorDialogues\SupervisorController::class) + ->group(function () { + Route::get('/', 'index')->name('index'); + Route::get('/excel', 'excel')->name('excel'); + Route::post('/rate/{operatorDialogue}', 'rate')->name('rate'); + Route::get('/{operatorDialogue}', 'show')->name('show'); + + }); + }); Route::middleware('auth') ->prefix('system_messages')