X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FHttp%2FControllers%2FUserController.php;h=01b8f06fabeec18bdea89117806b9aea0c39f866;hb=147c5f43c5d41fa18e82edb6651fe5a37c789353;hp=c0ab73d9b442a30ff340375e97d4747b0e5e9a5f;hpb=920f11ddfeb2175e4e1556886773dcd044c6085b;p=alttp.git diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index c0ab73d..01b8f06 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -9,6 +9,20 @@ use Illuminate\Http\Request; class UserController extends Controller { + public function search(Request $request) { + $validatedData = $request->validate([ + 'phrase' => 'string|nullable', + ]); + + $users = User::query(); + if (!empty($validatedData['phrase'])) { + $users = $users->where('username', 'LIKE', '%'.$validatedData['phrase'].'%') + ->orWhere('nickname', 'LIKE', '%'.$validatedData['phrase'].'%'); + } + $users = $users->limit(5); + return $users->get()->toJson(); + } + public function setLanguage(Request $request) { $user = $request->user(); if (!$user) return; @@ -23,6 +37,21 @@ class UserController extends Controller return $user->toJson(); } + public function setNickname(Request $request, User $user) { + $this->authorize('setNickname', $user); + + $validatedData = $request->validate([ + 'nickname' => 'string', + ]); + + $user->nickname = $validatedData['nickname']; + $user->update(); + + UserChanged::dispatch($user); + + return $user->toJson(); + } + public function setStreamLink(Request $request, User $user) { $this->authorize('setStreamLink', $user); @@ -41,6 +70,15 @@ class UserController extends Controller public function single(Request $request, $id) { $user = User::findOrFail($id); $this->authorize('view', $user); + $user->append('random_quote'); + $user->load('participation'); + $user->load('participation.tournament'); + $user->loadCount('round_first'); + $user->loadCount('round_second'); + $user->loadCount('round_third'); + $user->loadCount('tournament_first'); + $user->loadCount('tournament_second'); + $user->loadCount('tournament_third'); return $user->toJson(); }