]> git.localhorst.tv Git - alttp.git/blobdiff - app/Http/Controllers/UserController.php
temporary user select
[alttp.git] / app / Http / Controllers / UserController.php
index 692c45862feb0e21186862476cf9ff5a76e31bc8..4bf2bb30324cf88c73c4b0225123de81793f1e7d 100644 (file)
@@ -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);