1#include "mtx/events/widget.hpp"
2
3#include <nlohmann/json.hpp>
4
5namespace mtx::events::state {
6void
7from_json(const nlohmann::json &obj, Widget &create)
8{
9 create.waitForIframeLoad = obj.value(key: "waitForIframeLoad", default_value: true);
10 create.type = obj.value(key: "type", default_value: "");
11 create.url = obj.value(key: "url", default_value: "");
12 create.name = obj.value(key: "name", default_value: "");
13 create.id = obj.value(key: "id", default_value: "");
14 create.creatorUserId = obj.value(key: "creatorUserId", default_value: "");
15 create.data = obj.value(key: "data", default_value: std::map<std::string, std::string>{});
16}
17
18void
19to_json(nlohmann::json &obj, const Widget &create)
20{
21 if (!create.name.empty())
22 obj["name"] = create.name;
23 if (!create.data.empty())
24 obj["data"] = create.data;
25
26 obj["type"] = create.type;
27 obj["url"] = create.url;
28 obj["id"] = create.id;
29 obj["creatorUserId"] = create.creatorUserId;
30 obj["waitForIframeLoad"] = create.waitForIframeLoad;
31}
32}
33