1
0
forked from blue/pica
pica/database/schema/asset.cpp

49 lines
1.3 KiB
C++
Raw Permalink Normal View History

//SPDX-FileCopyrightText: 2024 Yury Gubich <blue@macaw.me>
//SPDX-License-Identifier: GPL-3.0-or-later
#include "asset.h"
DB::Asset::Asset ():
2024-01-22 18:21:55 +00:00
id(0),
owner(0),
currency(0),
title(),
icon(),
2024-01-22 18:21:55 +00:00
color(0),
archived(false)
{}
DB::Asset::Asset (const std::vector<std::any>& vec):
2024-01-22 18:21:55 +00:00
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])),
2024-01-22 18:21:55 +00:00
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) {
2024-01-22 18:21:55 +00:00
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]);
2024-01-22 18:21:55 +00:00
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;
2024-01-22 18:21:55 +00:00
result["color"] = color;
result["archived"] = archived;
return result;
}