create show api

This commit is contained in:
2025-08-10 08:51:46 +03:30
parent 16a28d38a9
commit 2fe705e528
6 changed files with 34 additions and 14 deletions

View File

@@ -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();
}

View File

@@ -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);
}
/**

View File

@@ -39,5 +39,4 @@ class SupervisorController extends Controller
{
//
}
}

View File

@@ -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);
}
}

View File

@@ -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<SystemMessageFactory> */
use HasFactory;
protected $guarded = [];
protected function voice(): Attribute
{
return Attribute::make(
get: fn($value) => $value == null ? null : Storage::disk('public')->url($value)
);
}
}

View File

@@ -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,