Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save noxify/57441dff458f45cdcb3aac499dc30573 to your computer and use it in GitHub Desktop.
Save noxify/57441dff458f45cdcb3aac499dc30573 to your computer and use it in GitHub Desktop.
<?php
namespace App\Http\Controllers\Admin;
use InfyOm\Generator\Utils\ResponseUtil;
use Rinvex\Fort\Http\Controllers\AuthorizedController;
use Response;
/**
* @SWG\Swagger(
* basePath="/api/v1",
* @SWG\Info(
* title="Laravel Generator APIs",
* version="1.0.0",
* )
* )
* This class should be parent class for other API controllers
* Class AppBaseController
*/
class AppBaseController extends AuthorizedController
{
public function __construct() {
parent::__construct();
}
public function sendResponse($result, $message)
{
return Response::json(ResponseUtil::makeResponse($message, $result));
}
public function sendError($error, $code = 404)
{
return Response::json(ResponseUtil::makeError($error), $code);
}
}
<?php
namespace App\Http\Controllers\Admin;
use App\DataTables\Admin\UserDataTable;
use App\Http\Requests\Admin;
use App\Http\Requests\Admin\CreateUserRequest;
use App\Http\Requests\Admin\UpdateUserRequest;
use App\Repositories\Admin\UserRepository;
use Flash;
use Response;
class UserController extends AppBaseController
{
/** @var UserRepository */
private $userRepository;
protected $resource = 'users';
public function __construct(UserRepository $userRepo)
{
$this->userRepository = $userRepo;
}
/**
* Display a listing of the User.
*
* @param UserDataTable $userDataTable
* @return Response
*/
public function index(UserDataTable $userDataTable)
{
return $userDataTable->render('backend.users.index');
}
/**
* Show the form for creating a new User.
*
* @return Response
*/
public function create()
{
return view('backend.users.create');
}
/**
* Store a newly created User in storage.
*
* @param CreateUserRequest $request
*
* @return Response
*/
public function store(CreateUserRequest $request)
{
$input = $request->all();
$user = $this->userRepository->create($input);
Flash::success('User saved successfully.');
return redirect(route('admin.users.index'));
}
/**
* Display the specified User.
*
* @param int $id
*
* @return Response
*/
public function show($id)
{
$user = $this->userRepository->findWithoutFail($id);
if (empty($user)) {
Flash::error('User not found');
return redirect(route('admin.users.index'));
}
return view('backend.users.show')->with('user', $user);
}
/**
* Show the form for editing the specified User.
*
* @param int $id
*
* @return Response
*/
public function edit($id)
{
$user = $this->userRepository->findWithoutFail($id);
if (empty($user)) {
Flash::error('User not found');
return redirect(route('admin.users.index'));
}
return view('backend.users.edit')->with('user', $user);
}
/**
* Update the specified User in storage.
*
* @param int $id
* @param UpdateUserRequest $request
*
* @return Response
*/
public function update($id, UpdateUserRequest $request)
{
$user = $this->userRepository->findWithoutFail($id);
if (empty($user)) {
Flash::error('User not found');
return redirect(route('admin.users.index'));
}
$user = $this->userRepository->update($request->all(), $id);
Flash::success('User updated successfully.');
return redirect(route('admin.users.index'));
}
/**
* Remove the specified User from storage.
*
* @param int $id
*
* @return Response
*/
public function destroy($id)
{
$user = $this->userRepository->findWithoutFail($id);
if (empty($user)) {
Flash::error('User not found');
return redirect(route('admin.users.index'));
}
$this->userRepository->delete($id);
Flash::success('User deleted successfully.');
return redirect(route('admin.users.index'));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment