pica/database/schema/asset.cpp

49 lines
1.3 KiB
C++

//SPDX-FileCopyrightText: 2024 Yury Gubich <blue@macaw.me>
//SPDX-License-Identifier: GPL-3.0-or-later
#include "asset.h"
DB::Asset::Asset ():
id(0),
owner(0),
currency(0),
title(),
icon(),
color(0),
archived(false)
{}
DB::Asset::Asset (const std::vector<std::any>& vec):
id(std::any_cast<uint32_t>(vec[0])),
owner(std::any_cast<uint32_t>(vec[1])),
currency(std::any_cast<uint32_t>(vec[2])),
title(std::any_cast<const std::string&>(vec[3])),
icon(std::any_cast<const std::string&>(vec[4])),
color(std::any_cast<uint32_t>(vec[5])),
archived(std::any_cast<uint8_t>(vec[6]))
{}
void DB::Asset::parse (const std::vector<std::any>& vec) {
id = std::any_cast<uint32_t>(vec[0]);
owner = std::any_cast<uint32_t>(vec[1]);
currency = std::any_cast<uint32_t>(vec[2]);
title = std::any_cast<const std::string&>(vec[3]);
icon = std::any_cast<const std::string&>(vec[4]);
color = std::any_cast<uint32_t>(vec[5]);
archived = std::any_cast<uint8_t>(vec[6]);
}
nlohmann::json DB::Asset::toJSON () const {
nlohmann::json result = nlohmann::json::object();
result["id"] = id;
//result["owner"] = owner;
result["currency"] = currency;
result["title"] = title;
result["icon"] = icon;
result["color"] = color;
result["archived"] = archived;
return result;
}