2026-01-24 14:03:11 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
|
|
use App\Http\Controllers\SuperController;
|
|
|
|
|
use App\Models\Permission;
|
|
|
|
|
use App\Models\User;
|
|
|
|
|
use Illuminate\Http\Request;
|
2026-02-12 10:57:01 +03:30
|
|
|
use App\Models\Setting;
|
2026-07-04 11:55:10 +03:30
|
|
|
use App\Services\SmsBilling\SmsWalletService;
|
2026-01-24 14:03:11 +00:00
|
|
|
|
|
|
|
|
class UserController extends SuperController
|
|
|
|
|
{
|
|
|
|
|
public function __construct(Request $request)
|
|
|
|
|
{
|
|
|
|
|
$model = User::class;
|
|
|
|
|
// $with=['avatar','user_type_record'];
|
|
|
|
|
$with=[];
|
|
|
|
|
$select = ['*'];
|
|
|
|
|
$name_model = 'user';
|
|
|
|
|
$search=['name','mobile'];
|
|
|
|
|
$request->request->add(['active'=>1]);
|
|
|
|
|
parent::__construct($model, $with, $select, $name_model,null,$search);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function me(){
|
|
|
|
|
$user = User::with($this->with)
|
|
|
|
|
->select($this->select)
|
|
|
|
|
->findOrFail(auth()->id());
|
|
|
|
|
// $permission = Permission::where('user_type',$user->user_type)->select('rid')->distinct('rid')->get()->pluck('rid')->toArray();
|
|
|
|
|
// $user['permission'] = $permission;
|
2026-02-12 10:57:01 +03:30
|
|
|
$query = Setting::query();
|
|
|
|
|
$settings = $query->get();
|
|
|
|
|
$user->settings= $settings;
|
2026-07-04 11:55:10 +03:30
|
|
|
$user->setAttribute('sms_billing_enabled', SmsWalletService::isBillingEnabled());
|
|
|
|
|
$user->setAttribute(
|
|
|
|
|
'sms_panel_access',
|
|
|
|
|
SmsWalletService::isBillingEnabled() && SmsWalletService::isSmsPanelSuperAdmin($user)
|
|
|
|
|
);
|
2026-01-24 14:03:11 +00:00
|
|
|
return response()->json($user);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
public function updateMe(Request $request){
|
|
|
|
|
return parent::update($request,auth()->id());
|
|
|
|
|
}
|
|
|
|
|
public function getByUserType($user_type){
|
|
|
|
|
$user = User::where('user_type',$user_type)->select('id','name','mobile')->get();
|
|
|
|
|
return response()->json($user);
|
|
|
|
|
}
|
|
|
|
|
public function listUser(){
|
|
|
|
|
$user = User::select('id','name','mobile','user_type')->get();
|
|
|
|
|
return response()->json($user);
|
|
|
|
|
}
|
|
|
|
|
}
|