diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 887c227..05b8c08 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -37,9 +37,11 @@ class ProfileController extends Controller public function changeAvatar(ChangeAvatarRequest $request): JsonResponse { $user = auth()->user(); + if ($user->avatar){ FileFacade::delete($user->avatar, true); } + $user->update([ 'avatar' => FileFacade::save($request->file('avatar'), 'users/avatars/' . $request->username) ]); @@ -49,16 +51,19 @@ class ProfileController extends Controller public function online(Request $request): JsonResponse { - User::query()->where('telephone_id', '=', $request->telephone_id)->update([ - 'is_online' => true, - ]); + User::query() + ->firstWhere('telephone_id', '=', $request->telephone_id) + ->update(['is_online' => true,]); + return $this->successResponse(); } public function offline(Request $request): JsonResponse { - $user= User::query()->where('telephone_id', '=', $request->telephone_id)->first(); - $user->update(['is_online' => false]); + User::query() + ->firstWhere('telephone_id', '=', $request->telephone_id) + ->update(['is_online' => false]); + return $this->successResponse(); } diff --git a/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/OperatorController.php b/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/OperatorController.php index 614733a..08683a5 100644 --- a/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/OperatorController.php +++ b/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/OperatorController.php @@ -3,12 +3,15 @@ namespace App\Http\Controllers\ProvinceDashboard\OperatorDialogues; use App\Http\Controllers\Controller; +use app\Http\Traits\ApiResponse; +use App\Models\OperatorDialogue; use App\Services\Dashboard\Province\OperatorDialogues\DataTableService; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; class OperatorController extends Controller { + use ApiResponse; /** * Display a listing of the resource. */ @@ -20,9 +23,9 @@ class OperatorController extends Controller /** * Display the specified resource. */ - public function show(string $id) + public function show(OperatorDialogue $operatorDialogue): JsonResponse { - // + return $this->successResponse($operatorDialogue); } /** diff --git a/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/SupervisorController.php b/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/SupervisorController.php index 1fd5395..3c4f6f8 100644 --- a/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/SupervisorController.php +++ b/app/Http/Controllers/ProvinceDashboard/OperatorDialogues/SupervisorController.php @@ -39,5 +39,4 @@ class SupervisorController extends Controller { // } - } diff --git a/app/Http/Controllers/ProvinceDashboard/PeopleMessages/SupervisorController.php b/app/Http/Controllers/ProvinceDashboard/PeopleMessages/SupervisorController.php index 6028dcf..6cd3dbc 100644 --- a/app/Http/Controllers/ProvinceDashboard/PeopleMessages/SupervisorController.php +++ b/app/Http/Controllers/ProvinceDashboard/PeopleMessages/SupervisorController.php @@ -3,12 +3,16 @@ namespace App\Http\Controllers\ProvinceDashboard\PeopleMessages; 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; class SupervisorController extends Controller { + use ApiResponse; + /** * Display a listing of the resource. */ @@ -25,8 +29,8 @@ class SupervisorController extends Controller /** * Display the specified resource. */ - public function show(string $id) + public function show(PeopleMessage $peopleMessage) { - // + return $this->successResponse($peopleMessage); } } diff --git a/app/Models/SystemMessage.php b/app/Models/SystemMessage.php index 20e004a..d69a3e1 100644 --- a/app/Models/SystemMessage.php +++ b/app/Models/SystemMessage.php @@ -2,13 +2,23 @@ namespace App\Models; +use Database\Factories\SystemMessageFactory; +use Illuminate\Database\Eloquent\Casts\Attribute; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\Storage; class SystemMessage extends Model { - /** @use HasFactory<\Database\Factories\SystemMessageFactory> */ + /** @use HasFactory */ use HasFactory; protected $guarded = []; + + protected function voice(): Attribute + { + return Attribute::make( + get: fn($value) => $value == null ? null : Storage::disk('public')->url($value) + ); + } } diff --git a/app/Services/Dashboard/Province/OperatorDialogues/DataTableService.php b/app/Services/Dashboard/Province/OperatorDialogues/DataTableService.php index 0a0fc65..4354160 100644 --- a/app/Services/Dashboard/Province/OperatorDialogues/DataTableService.php +++ b/app/Services/Dashboard/Province/OperatorDialogues/DataTableService.php @@ -12,12 +12,11 @@ class DataTableService public function index(Request $request) { $query = DB::table('asteriskcdrdb.cdr') - ->leftJoin('crm_db.voice_experts', 'asteriskcdrdb.cdr.uniqueid', '=', 'crm_db.operator_dialogues.cdr_unique_id') + ->leftJoin('crm_db.operator_dialogues', 'asteriskcdrdb.cdr.uniqueid', '=', 'crm_db.operator_dialogues.cdr_unique_id') ->where('dst', '<>', '') ->where('lastapp', '=', 'Dial') ->where('duration', '>', 0) - ->where('recordingfile', '<>', '') - ->select('*'); + ->where('recordingfile', '<>', ''); return DataTableFacade::run( $query,