* * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ namespace CamilStaps\BotleaguesApi\Controllers; use CamilStaps\BotleaguesApi\Database\UserToken; use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Auth; class UserTokenController extends BaseController { protected $userToken; public function __construct(UserToken $userToken) { $this->userToken = $userToken; } /** * Only the tokens of the authenticated user are shown */ public function index($userEmail = null) { return $this->userToken->where('userEmail', Auth::user()->email)->get(); } /** * Only the tokens of the authenticated user are available */ public function show($userEmail, $id) { return $this->userToken->where('userEmail', Auth::user()->email)->findOrFail($id); } /** * Set the userEmail and create a random token */ public function store() { $this->userToken->userEmail = Auth::user()->email; $this->userToken->token = base64_encode(openssl_random_pseudo_bytes(64)); if ($this->userToken->save()) { // Remove the token field from the hidden fields $hidden = $this->userToken->getHidden(); foreach ($hidden as $k => $v) if ($v == 'token') unset($hidden[$k]); $this->userToken->setHidden($hidden); return $this->userToken; } else { throw new \Dingo\Api\Exception\StoreResourceFailedException; } } }