39 inline static std::string_view logger_name =
40 "ores.trading.service.trade_service";
42 [[nodiscard]]
static auto& lg() {
44 static auto instance = make_logger(logger_name);
53 std::vector<domain::trade> list_trades();
55 std::vector<domain::trade>
56 list_trades(std::uint32_t offset, std::uint32_t limit);
58 std::vector<domain::trade>
59 list_trades_filtered(std::uint32_t offset, std::uint32_t limit,
60 std::optional<boost::uuids::uuid> book_id,
61 std::optional<boost::uuids::uuid> portfolio_id,
62 std::optional<boost::uuids::uuid> business_unit_id = std::nullopt);
64 std::uint32_t count_trades();
66 std::uint32_t count_trades_filtered(
67 std::optional<boost::uuids::uuid> book_id,
68 std::optional<boost::uuids::uuid> portfolio_id,
69 std::optional<boost::uuids::uuid> business_unit_id = std::nullopt);
71 std::optional<domain::trade>
72 find_trade(
const std::string&
id);
76 void save_trades(
const std::vector<domain::trade>& trades);
78 void remove_trade(
const std::string&
id);
80 std::vector<domain::trade>
81 get_trade_history(
const std::string&
id);