59 lines
1.6 KiB
PHP
59 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Models\User;
|
|
use App\Traits\HttpResponse;
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\StoreAdminRequest;
|
|
use App\Http\Requests\UpdateAdminRequest;
|
|
use App\Services\Admin\ManageSubAdminService;
|
|
|
|
class UserController extends Controller
|
|
{
|
|
use HttpResponse;
|
|
|
|
protected $admin;
|
|
|
|
public function __construct(ManageSubAdminService $admin)
|
|
{
|
|
$this->admin = $admin;
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$user = User::admins()->get();
|
|
return view('Admin.user.index', compact('user'));
|
|
}
|
|
|
|
public function addUser(StoreAdminRequest $request)
|
|
{
|
|
// dd($request->validated()[0]['email']);
|
|
$adminCreated = $this->admin->store($request);
|
|
$this->admin->sendMail($request);
|
|
return $adminCreated ?
|
|
$this->response('User Added!', 200) :
|
|
$this->response('User Cannot Be Created', 400);
|
|
}
|
|
|
|
public function getUser(Request $request)
|
|
{
|
|
return response()->json(['status' => 200, 'user' => $this->admin->view($request->id)]);
|
|
}
|
|
|
|
public function updateUser(UpdateAdminRequest $request)
|
|
{
|
|
$adminUpdated = $this->admin->update($request);
|
|
return $adminUpdated ?
|
|
$this->response('User Updated!', 200) :
|
|
$this->response('User Cannot Be Updated', 400);
|
|
}
|
|
|
|
public function deleteUser(Request $request)
|
|
{
|
|
$delete = $this->admin->delete($request->id);
|
|
return response()->json(['status' => 200, 'message' => 'User Deleted!']);
|
|
}
|
|
}
|