/* Path API Request.
 *
 * Author: Steffen Vogel <post@steffenvogel.de>
 * SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University
 * SPDX-License-Identifier: Apache-2.0
 */

#include <villas/api/requests/path.hpp>
#include <villas/path.hpp>

using namespace villas::node::api;

void PathRequest::prepare()
{
	int ret;
	uuid_t uuid;

	ret = uuid_parse(matches[1].c_str(), uuid);
	if (ret)
		throw BadRequest("Invalid UUID", "{ s: s }",
			"uuid", matches[1].c_str()
		);

	auto paths = session->getSuperNode()->getPaths();
	path = paths.lookup(uuid);
	if (!path)
		throw BadRequest("No path found with with matching UUID", "{ s: s }",
			"uuid", matches[1].c_str()
		);
}