From 307e578d4aacb2eda80e0d8a86edde5945c9bdc3 Mon Sep 17 00:00:00 2001 From: Hinaloe Date: Tue, 26 Feb 2019 22:46:40 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=AB=E3=83=BC=E3=82=BF=E3=83=BC=E3=81=AB?= =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=AB=E3=83=90=E3=83=83=E3=82=AF=E3=81=A7?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E7=99=BB=E9=8C=B2=E3=81=95=E3=82=8C=E3=81=A6?= =?UTF-8?q?=E3=82=8B=E3=83=AB=E3=83=BC=E3=83=88=E3=82=92=E3=82=B3=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=83=AD=E3=83=BC=E3=83=A9=E3=83=BC=E3=81=AB=E7=A7=BB?= =?UTF-8?q?=E5=8B=95=20(#111)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/CardController.php | 54 +++++++++++++++++++++ app/Http/Controllers/UserController.php | 5 +- routes/api.php | 35 ++----------- routes/web.php | 4 +- 4 files changed, 63 insertions(+), 35 deletions(-) create mode 100644 app/Http/Controllers/Api/CardController.php diff --git a/app/Http/Controllers/Api/CardController.php b/app/Http/Controllers/Api/CardController.php new file mode 100644 index 0000000..f8de0b3 --- /dev/null +++ b/app/Http/Controllers/Api/CardController.php @@ -0,0 +1,54 @@ +resolver = $resolver; + $this->formatter = $formatter; + } + + public function show(Request $request) + { + $request->validate([ + 'url:required|url' + ]); + + $url = $this->formatter->normalizeUrl($request->input('url')); + + $metadata = Metadata::find($url); + if ($metadata === null || ($metadata->expires_at !== null && $metadata->expires_at < now())) { + $resolved = $this->resolver->resolve($url); + $metadata = Metadata::updateOrCreate(['url' => $url], [ + 'title' => $resolved->title, + 'description' => $resolved->description, + 'image' => $resolved->image, + 'expires_at' => $resolved->expires_at + ]); + } + + $response = response($metadata); + if (!config('app.debug')) { + $response = $response->setCache(['public' => true, 'max_age' => 86400]); + } + + return $response; + } +} diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 8f6f909..f2c3c83 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -11,7 +11,10 @@ use Illuminate\Support\Facades\DB; class UserController extends Controller { - // + public function redirectMypage() + { + return redirect()->route('user.profile', ['name' => auth()->user()->name]); + } public function profile($name) { diff --git a/routes/api.php b/routes/api.php index eb38041..39be95a 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,9 +1,5 @@ get('/user', function (Request $request) { - return $request->user(); -}); +//Route::middleware('auth:api')->get('/user', function (Request $request) { +// return $request->user(); +//}); -Route::get('/checkin/card', function (Request $request, MetadataResolver $resolver, Formatter $formatter) { - $request->validate([ - 'url:required|url' - ]); - $url = $formatter->normalizeUrl($request->input('url')); - - $metadata = App\Metadata::find($url); - if ($metadata == null || ($metadata->expires_at !== null && $metadata->expires_at < now())) { - $resolved = $resolver->resolve($url); - $metadata = App\Metadata::updateOrCreate(['url' => $url], [ - 'title' => $resolved->title, - 'description' => $resolved->description, - 'image' => $resolved->image, - 'expires_at' => $resolved->expires_at - ]); - } - - $response = response()->json($metadata); - if (!config('app.debug')) { - $response = $response->setCache(['public' => true, 'max_age' => 86400]); - } - - return $response; -}); +Route::get('/checkin/card', 'Api\\CardController@show'); diff --git a/routes/web.php b/routes/web.php index d4c40ea..dc78587 100644 --- a/routes/web.php +++ b/routes/web.php @@ -15,9 +15,7 @@ Auth::routes(); Route::get('/', 'HomeController@index')->name('home'); -Route::get('/user', function () { - return redirect()->route('user.profile', ['name' => Auth::user()->name]); -})->middleware('auth')->name('user.profile'); +Route::get('/user', 'UserController@redirectMypage')->middleware('auth'); Route::get('/user/{name?}', 'UserController@profile')->name('user.profile'); Route::get('/user/{name}/stats', 'UserController@stats')->name('user.stats'); Route::get('/user/{name}/okazu', 'UserController@okazu')->name('user.okazu');