%PDF- %PDF-
Direktori : /var/www/html/hr/api/vendor/laravel/passport/src/Http/Controllers/ |
Current File : /var/www/html/hr/api/vendor/laravel/passport/src/Http/Controllers/PersonalAccessTokenController.php |
<?php namespace Laravel\Passport\Http\Controllers; use Illuminate\Contracts\Validation\Factory as ValidationFactory; use Illuminate\Http\Request; use Illuminate\Http\Response; use Laravel\Passport\Passport; use Laravel\Passport\TokenRepository; class PersonalAccessTokenController { /** * The token repository implementation. * * @var \Laravel\Passport\TokenRepository */ protected $tokenRepository; /** * The validation factory implementation. * * @var \Illuminate\Contracts\Validation\Factory */ protected $validation; /** * Create a controller instance. * * @param \Laravel\Passport\TokenRepository $tokenRepository * @param \Illuminate\Contracts\Validation\Factory $validation * @return void */ public function __construct(TokenRepository $tokenRepository, ValidationFactory $validation) { $this->validation = $validation; $this->tokenRepository = $tokenRepository; } /** * Get all of the personal access tokens for the authenticated user. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Database\Eloquent\Collection */ public function forUser(Request $request) { $tokens = $this->tokenRepository->forUser($request->user()->getKey()); return $tokens->load('client')->filter(function ($token) { return $token->client->personal_access_client && ! $token->revoked; })->values(); } /** * Create a new personal access token for the user. * * @param \Illuminate\Http\Request $request * @return \Laravel\Passport\PersonalAccessTokenResult */ public function store(Request $request) { $this->validation->make($request->all(), [ 'name' => 'required|max:255', 'scopes' => 'array|in:'.implode(',', Passport::scopeIds()), ])->validate(); return $request->user()->createToken( $request->name, $request->scopes ?: [] ); } /** * Delete the given token. * * @param \Illuminate\Http\Request $request * @param string $tokenId * @return \Illuminate\Http\Response */ public function destroy(Request $request, $tokenId) { $token = $this->tokenRepository->findForUser( $tokenId, $request->user()->getKey() ); if (is_null($token)) { return new Response('', 404); } $token->revoke(); return new Response('', Response::HTTP_NO_CONTENT); } }