api code global jain

This commit is contained in:
Abhishek Mali
2025-11-05 10:37:10 +05:30
commit 52fe7e2bec
2834 changed files with 1784903 additions and 0 deletions

View 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')]);
}
}