Edit File: ClientController.php
<?php namespace App\Http\Controllers\Admin; use App\Http\Requests\Admin\Wallet\UpdateBalanceRequest; use App\Services\CityService; use App\Traits\ReportTrait; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\Client\StoreRequest; use App\Http\Requests\Admin\Client\UpdateRequest; use App\Http\Requests\Admin\Notification\SendRequest; use App\Services\ClientService; use App\Services\NotificationService; class ClientController extends Controller { protected $clientService; protected $cityService; public function __construct(ClientService $clientService) { $this->clientService = $clientService; $this->cityService = new CityService(); } public function index() { if (request()->ajax()) { $rows = $this->clientService->all(paginateNum: 30); $html = view('admin.clients.table', compact('rows'))->render(); return response()->json(['html' => $html]); } return view('admin.clients.index'); } public function create() { $cities = $this->cityService->getAllCities(); return view('admin.clients.create', compact('cities')); } public function store(StoreRequest $request) { $this->clientService->create($request->validated()+['is_approved' => 1]); ReportTrait::addToLog(' اضافه مستخدم'); return response()->json(['url' => route('admin.clients.index')]); } public function edit($id) { $cities = $this->cityService->getAllCities(); $row = $this->clientService->find($id); return view('admin.clients.edit', ['row' => $row, 'cities' => $cities]); } public function update(UpdateRequest $request, $id) { $this->clientService->edit(request: $request->validated(), id: $id); ReportTrait::addToLog(' تعديل مستخدم'); return response()->json(['url' => route('admin.clients.index')]); } public function block(Request $request) { $data = $this->clientService->block($request->id); return response()->json(['message' => $data['msg']]); } public function notify(SendRequest $request,NotificationService $notificationService) { $notificationService->send($request); return response()->json(); } public function updateBalance(UpdateBalanceRequest $request, $id) { $data = $this->clientService->updateBalance(request: $request, id: $id); return response()->json(['msg' => $data['msg'], 'balance' => $data['balance'] . ' ' . __('site.currency')]); } public function show($id) { $row = $this->clientService->find($id); if (request()->ajax()) { $data = $this->clientService->details(user: $row); return response()->json(['html' => $data['html']]); } return view('admin.clients.show', ['row' => $row]); } }
Back to File Manager