api code global jain
This commit is contained in:
214
app/Http/Controllers/Backend/AdminController.php
Normal file
214
app/Http/Controllers/Backend/AdminController.php
Normal file
@@ -0,0 +1,214 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Backend;
|
||||
|
||||
use App\Constant\Constant;
|
||||
use App\Http\Controllers\BaseController;
|
||||
use App\Http\Requests\User\AdminStoreRequest;
|
||||
use App\Http\Requests\User\AdminUpdateRequest;
|
||||
use App\Models\Role;
|
||||
use App\Models\User;
|
||||
use App\Repositories\Backend\User\AdminService;
|
||||
use Exception;
|
||||
use Illuminate\Contracts\Foundation\Application;
|
||||
use Illuminate\Contracts\View\Factory;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Redirector;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class AdminController extends BaseController
|
||||
{
|
||||
/**
|
||||
* @var AdminService
|
||||
*/
|
||||
protected $adminService;
|
||||
|
||||
/**
|
||||
* AdminController constructor.
|
||||
*
|
||||
* @param AdminService $adminService
|
||||
*/
|
||||
public function __construct(AdminService $adminService)
|
||||
{
|
||||
$this->adminService = $adminService;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is returning the Datatable columns response
|
||||
*
|
||||
* @param Request $request
|
||||
* @return array|object
|
||||
*/
|
||||
public function getUserListing(Request $request)
|
||||
{
|
||||
$response = [];
|
||||
try {
|
||||
$response = $this->adminService->getForDataTable($request->all());
|
||||
} catch (Exception $ex) {
|
||||
Log::error($ex->getMessage());
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is for to get listing of user
|
||||
*
|
||||
* @return Factory|View
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
try {
|
||||
|
||||
} catch (Exception $ex) {
|
||||
Log::error($ex->getMessage());
|
||||
}
|
||||
|
||||
return view('backend.admin.list');
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is for to get create form of user
|
||||
*
|
||||
* @return Factory|View
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
try {
|
||||
$roles = Role::pluck('name', 'id');
|
||||
} catch (Exception $ex) {
|
||||
Log::error($ex->getMessage());
|
||||
}
|
||||
|
||||
return view('backend.admin.create', compact('roles'));
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is for to create user
|
||||
*
|
||||
* @param AdminStoreRequest $request
|
||||
* @return Application|RedirectResponse|Redirector
|
||||
*/
|
||||
public function store(AdminStoreRequest $request)
|
||||
{
|
||||
try {
|
||||
$response = $this->adminService->create($request->all());
|
||||
|
||||
if ($response) {
|
||||
return redirect(route('admin.admin.user.index'))
|
||||
->with('flash_success', __('message.create_admin_success'));
|
||||
}
|
||||
|
||||
} catch (Exception $ex) {
|
||||
Log::error($ex->getMessage());
|
||||
}
|
||||
|
||||
return redirect()->back()->with('flash_error', __('message.create_admin_error'));
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is for get detail view of user
|
||||
*
|
||||
* @param User $user
|
||||
* @return Factory|View
|
||||
*/
|
||||
public function show(User $user)
|
||||
{
|
||||
return view('backend.admin.details',compact('user'));
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is for to edit user
|
||||
*
|
||||
* @param User $user
|
||||
* @return Factory|View
|
||||
*/
|
||||
public function edit(User $user)
|
||||
{
|
||||
try {
|
||||
$roles = Role::pluck('name', 'id');
|
||||
} catch (Exception $ex) {
|
||||
Log::error($ex->getMessage());
|
||||
}
|
||||
|
||||
return view('backend.admin.edit', compact('user', 'roles'));
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is for update user
|
||||
*
|
||||
* @param AdminUpdateRequest $request
|
||||
* @param User $user
|
||||
* @return Application|Redirector|RedirectResponse
|
||||
*/
|
||||
public function update(AdminUpdateRequest $request, User $user)
|
||||
{
|
||||
try {
|
||||
$response = $this->adminService->update($user, $request->all());
|
||||
|
||||
if ($response) {
|
||||
return redirect(route('admin.admin.user.index'))
|
||||
->with('flash_success', __('message.update_admin_success'));
|
||||
}
|
||||
|
||||
} catch (Exception $ex) {
|
||||
Log::error($ex->getMessage());
|
||||
}
|
||||
|
||||
return redirect()->back()->with('flash_error', __('message.update_admin_error'));
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is for delete user
|
||||
*
|
||||
* @param User $user
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function destroy(User $user): JsonResponse
|
||||
{
|
||||
try {
|
||||
|
||||
if (request()->user()->cannot('destroy', $user)) {
|
||||
return response()->json(['error' => true, 'message' => __('message.access_denied')]);
|
||||
}
|
||||
|
||||
$user->removeRole($user->roles[0]->id);
|
||||
$response = $user->forceDelete();
|
||||
|
||||
if ($response) {
|
||||
return response()->json(['success' => Constant::STATUS_TRUE, 'message' => __('message.delete_admin_success')]);
|
||||
}
|
||||
|
||||
} catch (Exception $ex) {
|
||||
Log::error($ex->getMessage());
|
||||
}
|
||||
|
||||
return response()->json(['error' => Constant::STATUS_TRUE, 'message' => __('message.delete_admin_error')]);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function is for the grid checkbox multiple records actions
|
||||
*
|
||||
* @param Request $request
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function gridRecordsAction(Request $request): JsonResponse
|
||||
{
|
||||
try {
|
||||
$actionType = $request->action_type ?? Constant::NULL;
|
||||
$checkedRecords = $request->checked_records ?? [];
|
||||
$updateStatus = $this->adminService->gridActions($actionType, $checkedRecords);
|
||||
|
||||
if ($updateStatus) {
|
||||
return response()->json(['success' => Constant::STATUS_TRUE, 'message' => __('message.update_admin_success')]);
|
||||
}
|
||||
} catch (Exception $ex) {
|
||||
Log::error($ex->getMessage());
|
||||
}
|
||||
|
||||
return response()->json(['error' => Constant::STATUS_TRUE, 'message' => __('message.something_went_wrong')]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user