PHP Classes

File: server/app/Http/Controllers/Auth/LoginController.php

Recommend this page to a friend!
  Classes of mohammad anzawi   PHP Wallet API and Application   server/app/Http/Controllers/Auth/LoginController.php   Download  
File: server/app/Http/Controllers/Auth/LoginController.php
Role: Class source
Content type: text/plain
Description: Class source
Class: PHP Wallet API and Application
Application to manage a wallet by calling an API
Author: By
Last change:
Date: 2 years ago
Size: 1,283 bytes
 

Contents

Class file image Download
<?php

namespace App\Http\Controllers\Auth;

use
App\Http\Controllers\Controller;
use
App\Transformers\UserTransformer;
use
Illuminate\Http\Request;
use
Illuminate\Support\Facades\Validator;

/**
 * Login Process
 */
class LoginController extends Controller
{
   
/**
     * Handle the incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @return \Illuminate\Http\JsonResponse
     */
   
public function __invoke(Request $request)
    {
       
/**
         * validate user input
         */
       
$validator = Validator::make( $request->all(), [
           
'email' => 'required',
           
'password' => 'required'
       
]);
       
/**
         * check if theirs any problem
         */
       
if($validator->fails()){
            return
$this->sendError(['all fields ar required!'], 422);
        }

       
/**
         * login
         */
       
if (!$token = auth()->attempt($request->only('email', 'password'))) {
            return
$this->sendError(['Credential Error, Cant find user with specified details.'], 401);
        }

       
// return user details
       
return response()->json(fractal()
            ->
item(auth()->user())
            ->
transformWith(new UserTransformer($token))
            ->
toArray()['data']);
    }
}