20#ifndef ORES_REFDATA_CORE_REPOSITORY_PARTY_COUNTERPARTY_REPOSITORY_HPP
21#define ORES_REFDATA_CORE_REPOSITORY_PARTY_COUNTERPARTY_REPOSITORY_HPP
25#include <sqlgen/postgres.hpp>
26#include <boost/uuid/uuid.hpp>
27#include "ores.logging/make_logger.hpp"
28#include "ores.database/domain/context.hpp"
29#include "ores.refdata.api/domain/party_counterparty.hpp"
33class party_counterparty_repository {
35 inline static std::string_view logger_name =
36 "ores.refdata.repository.party_counterparty_repository";
38 [[nodiscard]]
static auto& lg() {
40 static auto instance = make_logger(logger_name);
47 explicit party_counterparty_repository(context ctx);
51 void write(
const domain::party_counterparty& party_counterparty);
52 void write(
const std::vector<domain::party_counterparty>& party_counterparties);
54 std::vector<domain::party_counterparty> read_latest();
55 std::vector<domain::party_counterparty>
56 read_latest_by_party(
const boost::uuids::uuid& party_id);
57 std::vector<domain::party_counterparty>
58 read_latest_by_counterparty(
const boost::uuids::uuid& counterparty_id);
60 void remove(
const boost::uuids::uuid& party_id,
61 const boost::uuids::uuid& counterparty_id);
62 void remove_by_party(
const boost::uuids::uuid& party_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