MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / actionDuplicate

Method actionDuplicate

app/src/API/Handlers/ProjectHandler.cpp:2666–2686  ·  view source on GitHub ↗

* @brief Duplicate an action by id */

Source from the content-addressed store, hash-verified

2664 * @brief Duplicate an action by id
2665 */
2666API::CommandResponse API::Handlers::ProjectHandler::actionDuplicate(const QString& id,
2667 const QJsonObject& params)
2668{
2669 if (!params.contains(QStringLiteral("actionId")))
2670 return CommandResponse::makeError(
2671 id, ErrorCode::MissingParam, QStringLiteral("Missing required parameter: actionId"));
2672
2673 const int actionId = params.value(QStringLiteral("actionId")).toInt();
2674 auto& project = DataModel::ProjectModel::instance();
2675 const auto& actions = project.actions();
2676 if (actionId < 0 || static_cast<size_t>(actionId) >= actions.size())
2677 return CommandResponse::makeError(
2678 id, ErrorCode::InvalidParam, QStringLiteral("Action id not found: %1").arg(actionId));
2679
2680 project.duplicateAction(actionId);
2681
2682 QJsonObject result;
2683 result[QStringLiteral("actionId")] = actionId;
2684 result[QStringLiteral("duplicated")] = true;
2685 return CommandResponse::makeSuccess(id, result);
2686}
2687
2688//--------------------------------------------------------------------------------------------------
2689// Output widget commands

Callers

nothing calls this directly

Calls 5

actionsMethod · 0.80
duplicateActionMethod · 0.80
containsMethod · 0.45
valueMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected