39 inline static std::string_view logger_name =
40 "ores.trading.repository.trade_repository";
42 [[nodiscard]]
static auto& lg() {
44 static auto instance = make_logger(logger_name);
54 void write(
context ctx,
const std::vector<domain::trade>& v);
56 std::vector<domain::trade> read_latest(
context ctx);
57 std::vector<domain::trade>
58 read_latest(
context ctx, std::uint32_t offset, std::uint32_t limit);
59 std::vector<domain::trade>
60 read_latest(
context ctx,
const std::string&
id);
61 std::vector<domain::trade>
62 read_all(
context ctx,
const std::string&
id);
64 std::uint32_t count_latest(
context ctx);
66 std::vector<domain::trade> read_latest_filtered(
68 std::uint32_t offset, std::uint32_t limit,
69 std::optional<boost::uuids::uuid> book_id,
70 std::optional<boost::uuids::uuid> portfolio_id,
71 std::optional<boost::uuids::uuid> business_unit_id = std::nullopt);
73 std::uint32_t count_latest_filtered(
75 std::optional<boost::uuids::uuid> book_id,
76 std::optional<boost::uuids::uuid> portfolio_id,
77 std::optional<boost::uuids::uuid> business_unit_id = std::nullopt);
79 void remove(
context ctx,
const std::string&
id);