* @brief Return all sessions in the open database. */
| 377 | * @brief Return all sessions in the open database. |
| 378 | */ |
| 379 | API::CommandResponse API::Handlers::SessionsHandler::list(const QString& id, |
| 380 | const QJsonObject& params) |
| 381 | { |
| 382 | Q_UNUSED(params) |
| 383 | |
| 384 | auto& db = Sessions::DatabaseManager::instance(); |
| 385 | if (!db.isOpen()) |
| 386 | return CommandResponse::makeError( |
| 387 | id, |
| 388 | ErrorCode::ExecutionError, |
| 389 | QStringLiteral("No database open. Call sessions.openDatabase first.")); |
| 390 | |
| 391 | QJsonObject result; |
| 392 | result[QStringLiteral("isOpen")] = db.isOpen(); |
| 393 | result[QStringLiteral("filePath")] = db.filePath(); |
| 394 | result[QStringLiteral("count")] = db.sessionCount(); |
| 395 | result[QStringLiteral("sessions")] = QJsonArray::fromVariantList(db.sessionList()); |
| 396 | return CommandResponse::makeSuccess(id, result); |
| 397 | } |
| 398 | |
| 399 | /** |
| 400 | * @brief Return one session's metadata + tags. |
nothing calls this directly
no test coverage detected