* @brief Appends a register to a table. */
| 498 | * @brief Appends a register to a table. |
| 499 | */ |
| 500 | API::CommandResponse API::Handlers::DataTablesHandler::registerAdd(const QString& id, |
| 501 | const QJsonObject& params) |
| 502 | { |
| 503 | QString table; |
| 504 | QString name; |
| 505 | if (!requireString(params, QStringLiteral("table"), table)) |
| 506 | return CommandResponse::makeError( |
| 507 | id, ErrorCode::MissingParam, QStringLiteral("Missing required parameter: table")); |
| 508 | |
| 509 | if (!requireString(params, QStringLiteral("name"), name)) |
| 510 | return CommandResponse::makeError( |
| 511 | id, ErrorCode::MissingParam, QStringLiteral("Missing required parameter: name")); |
| 512 | |
| 513 | const bool computed = params.value(QStringLiteral("computed")).toBool(true); |
| 514 | |
| 515 | QVariant defaultValue(0.0); |
| 516 | if (params.contains(QStringLiteral("defaultValue"))) |
| 517 | defaultValue = jsonToVariant(params.value(QStringLiteral("defaultValue"))); |
| 518 | else if (params.contains(QStringLiteral("value"))) |
| 519 | defaultValue = jsonToVariant(params.value(QStringLiteral("value"))); |
| 520 | |
| 521 | DataModel::ProjectModel::instance().addRegister(table, name, computed, defaultValue); |
| 522 | |
| 523 | QJsonObject result; |
| 524 | result[QStringLiteral("table")] = table; |
| 525 | result[QStringLiteral("name")] = name; |
| 526 | result[QStringLiteral("computed")] = computed; |
| 527 | result[QStringLiteral("added")] = true; |
| 528 | return CommandResponse::makeSuccess(id, result); |
| 529 | } |
| 530 | |
| 531 | /** |
| 532 | * @brief Removes a register from a table. With dryRun:true, reports what would be deleted |
nothing calls this directly
no test coverage detected