20#ifndef ORES_REFDATA_CORE_REPOSITORY_COUNTERPARTY_REPOSITORY_HPP
21#define ORES_REFDATA_CORE_REPOSITORY_COUNTERPARTY_REPOSITORY_HPP
26#include <sqlgen/postgres.hpp>
27#include <boost/uuid/uuid.hpp>
28#include "ores.logging/make_logger.hpp"
29#include "ores.database/domain/context.hpp"
30#include "ores.refdata.api/domain/counterparty.hpp"
39 inline static std::string_view logger_name =
40 "ores.refdata.repository.counterparty_repository";
42 [[nodiscard]]
static auto& lg() {
44 static auto instance = make_logger(logger_name);
56 void write(
const std::vector<domain::counterparty>& counterparties);
58 std::vector<domain::counterparty> read_latest();
59 std::vector<domain::counterparty> read_latest(std::uint32_t offset,
61 std::vector<domain::counterparty> read_latest(
const boost::uuids::uuid&
id);
62 std::vector<domain::counterparty> read_latest_by_code(
const std::string& code);
64 std::uint32_t get_total_count();
66 std::vector<domain::counterparty> read_all(
const boost::uuids::uuid&
id);
67 void remove(
const boost::uuids::uuid&
id);
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Database persistence layer for risk domain types.
Definition book_entity.hpp:28
Context for the operations on a postgres database.
Definition context.hpp:47
An external trading partner participating in financial transactions.
Definition counterparty.hpp:37
Reads and writes counterparties to data storage.
Definition counterparty_repository.hpp:37