mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 21:01:05 +03:30
112 lines
3.0 KiB
PHP
112 lines
3.0 KiB
PHP
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
|
|
use App\Http\Requests\StoreUserRequest;
|
|
|
|
use App\MedicalCenter;
|
|
|
|
use App\User;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class UserController extends Controller
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
public function index()
|
|
|
|
{
|
|
|
|
$Users = User::with(['medical_center', 'roles'])->paginate(10);
|
|
|
|
return \MessageResponse::data($Users);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function store(StoreUserRequest $request)
|
|
|
|
{
|
|
|
|
$UserData = [
|
|
|
|
'name' => $request->name ,
|
|
|
|
'cell_number' => $request->cell_number ,
|
|
|
|
'medical_center_id' => $request->medical_center_id ,
|
|
|
|
'status' => 'PreRegister',
|
|
|
|
'verified' => 1,
|
|
|
|
'password' => bcrypt($request->password),
|
|
|
|
];
|
|
|
|
$User = User::create($UserData);
|
|
|
|
return \MessageResponse::success(trans('messages.success'));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function edit(User $User)
|
|
|
|
{
|
|
|
|
return \MessageResponse::data($User);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function update(StoreUserRequest $request, User $User)
|
|
|
|
{
|
|
|
|
$UserData = [
|
|
|
|
'name' => $request->name ,
|
|
|
|
'cell_number' => $request->cell_number ,
|
|
|
|
'medical_center_id' => $request->medical_center_id ,
|
|
|
|
'status' => 'PreRegister',
|
|
|
|
'verified' => 1,
|
|
|
|
'password' => bcrypt($request->password),
|
|
|
|
];
|
|
|
|
$User->update($UserData);
|
|
|
|
return \MessageResponse::success(trans('messages.success'));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function destroy(User $User)
|
|
|
|
{
|
|
|
|
if (auth('api')->user()->can('delete', $User)) {
|
|
|
|
return \MessageResponse::error(trans('messages.failed'));
|
|
|
|
}
|
|
|
|
$User->delete();
|
|
|
|
return \MessageResponse::success(trans('messages.success'));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getByMedicalCenter(MedicalCenter $MedicalCenter)
|
|
|
|
{
|
|
|
|
$MedicalCenter = $MedicalCenter->load(['users' => function ($query) {
|
|
|
|
return $query->select(['id', 'medical_center_id', 'name', 'cell_number', 'status']);
|
|
|
|
}, 'users.roles']);
|
|
|
|
return \MessageResponse::data($MedicalCenter);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function changeStatus(User $User)
|
|
|
|
{
|
|
|
|
if ($User->status == 'Active') {
|
|
|
|
$User->status = 'Suspended';
|
|
|
|
} else {
|
|
|
|
$User->status = 'Active';
|
|
|
|
}
|
|
|
|
$User->save();
|
|
|
|
return \MessageResponse::data($User);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function changeRole(User $User, Request $request)
|
|
|
|
{
|
|
|
|
$User->syncRoles($request->roles);
|
|
|
|
return \MessageResponse::data($User);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function updateInfo(Request $request)
|
|
|
|
{
|
|
|
|
auth('api')->user()->update($request->all());
|
|
|
|
return \MessageResponse::success(trans('messages.success'));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getInfo()
|
|
|
|
{
|
|
|
|
return \MessageResponse::data([ 'user' => auth('api')->user(), 'roles' => auth('api')->user()->getRoleNames() ]);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|