attributes->get("roomAlias"); $roomAlias = Parser::parseRoomAlias($alias); # TODO: on parse error => 400 $roomId = null; if ($roomAlias["server"] != $_ENV["DOMAIN"]) { # TODO: federation API resolve $roomId = -1; } else { $room = Database::getInstance()->query(<< $roomAlias["name"], ])->fetch(); $roomId = $room["id"] ?? null; } if (empty($roomId)) { throw new AppException( ErrorCode::NOT_FOUND, "Room alias $alias not found.", Response::HTTP_NOT_FOUND ); } return new JsonResponse([ "room_id" => $roomId, "servers" => [], ]); } }