$data['email'] ])->count() !== 0) { throw new HttpResponseException(response()->json('email_taken', 400)); } $data['password'] = Hash::make($data['password']); $user = User::create($data); if ($autoLogin) { Auth::login($user); } return $user; } /** * Login to user * @param array $data This is expected to be validated already * @return User */ public function login($data): bool { if (Auth::attempt($data)) { request()->session()->regenerate(); return true; } return false; } public function reset($data) { $user = User::where([ 'email' => $data['email'] ])->first(); if ($user === null) { return; } $user->password = Hash::make($data['password']); $user->save(); } public function listAll(): array { return User::all()->toArray(); } public function getOneById(string $id): User | null { return User::where([ 'id' => $id ])->first(); } }