%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/kpk/api/app/Http/Controllers/Api/
Upload File :
Create Path :
Current File : /var/www/html/kpk/api/app/Http/Controllers/Api/AuthController.php

<?php

namespace App\Http\Controllers\Api;


use App\Models\Log;
use App\Models\User;
use App\Transformers\UserTransformer;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;

class AuthController extends ApiController
{
    public function login(Request $request)
    {
        if (Auth::attempt(['username' => $request->username, 'password' => $request->password])) {
            /** @var User $user */
            $user = Auth::user();
            if(!$user->is_enabled){
                try{
                    $msg = "Perdoruesi '$request->username' tentoi per te aksesuar sistemin por ky account eshte i bllokuar.";
                    Log::warning($user->id,'Login',$msg);
                }catch (\Exception $e){}
                return response()->json(['message' => 'Llogaria juaj eshte c\'aktivizuar, kontaktoni administratorin e sistemit per me shume informacion.'], 401);
            }
            $success['token'] = $user->createToken('api')->accessToken;
            try{
                $msg = "Perdoruesi '$request->username' hyri ne sistem me sukses.";
                Log::info($user->id,'Login',$msg);
            }catch (\Exception $e){}
            return response()->json(['token' => $success], 200);
        } else {
            try{
                $msg = "Username ose password i gabuar. Username = '$request->username'.";
                Log::info(null,'Login',$msg);
            }catch (\Exception $e){}
            return response()->json(['error' => 'Unauthorised'], 401);
        }
    }

    public function me()
    {
        $user = auth()->guard('api')->user();
        return $this->item($user, new UserTransformer);
    }

    public function logout()
    {
        if (Auth::check()) {
            $accessToken = Auth::user()->token();
            DB::table('oauth_refresh_tokens')
                ->where('access_token_id', $accessToken->id)
                ->update([
                    'revoked' => true
                ]);

            $accessToken->revoke();
            return response()->json(null, 204);
        }
    }

}

Zerion Mini Shell 1.0