Skip to content

Instantly share code, notes, and snippets.

@Cerwyn
Last active April 22, 2020 13:19
Show Gist options
  • Save Cerwyn/656cdc7a466463a7f358e3b31a547b06 to your computer and use it in GitHub Desktop.
Save Cerwyn/656cdc7a466463a7f358e3b31a547b06 to your computer and use it in GitHub Desktop.
generalizing-response
<?php
namespace App\Http\Controllers\User;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\ApiController;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
class UserController extends ApiController
{
public function index()
{
$user = User::all();
return $this->successResponse($user);
}
public function store(Request $request)
{
$validator = $this->validateUser();
if($validator->fails()){
return $this->errorResponse($validator->messages(), 422);
}
$user = User::create([
'name' => $request->get('name'),
'email' => $request->get('email'),
'password' => Hash::make($request->get('password')),
]);
return $this->successResponse($user,'User Created', 201);
}
public function show(User $user)
{
return $this->successResponse($user);
}
public function destroy(User $user)
{
$user->delete();
return $this->successResponse(null, 'User Deleted');
}
public function validateUser(){
return Validator::make(request()->all(), [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment