20#ifndef ORES_REFDATA_CORE_REPOSITORY_PARTY_COUNTRY_REPOSITORY_HPP
21#define ORES_REFDATA_CORE_REPOSITORY_PARTY_COUNTRY_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_country.hpp"
33class party_country_repository {
35 inline static std::string_view logger_name =
36 "ores.refdata.repository.party_country_repository";
38 [[nodiscard]]
static auto& lg() {
40 static auto instance = make_logger(logger_name);
47 explicit party_country_repository(context ctx);
51 void write(
const domain::party_country& party_country);
52 void write(
const std::vector<domain::party_country>& party_countries);
54 std::vector<domain::party_country> read_latest();
55 std::vector<domain::party_country>
56 read_latest_by_party(
const boost::uuids::uuid& party_id);
57 std::vector<domain::party_country>
58 read_latest_by_country(
const std::string& alpha2_code);
60 void remove(
const boost::uuids::uuid& party_id,
const std::string& alpha2_code);
61 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