20#ifndef ORES_REFDATA_CORE_REPOSITORY_PORTFOLIO_REPOSITORY_HPP
21#define ORES_REFDATA_CORE_REPOSITORY_PORTFOLIO_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/portfolio.hpp"
38 inline static std::string_view logger_name =
39 "ores.refdata.repository.portfolio_repository";
41 [[nodiscard]]
static auto& lg() {
43 static auto instance = make_logger(logger_name);
55 void write(
const std::vector<domain::portfolio>& portfolios);
57 std::vector<domain::portfolio> read_latest();
58 std::vector<domain::portfolio> read_latest(
const boost::uuids::uuid&
id);
59 std::vector<domain::portfolio> read_latest_by_code(
const std::string& code);
61 std::vector<domain::portfolio> read_all(
const boost::uuids::uuid&
id);
62 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
Logical aggregation node for risk and reporting.
Definition portfolio.hpp:37
Reads and writes portfolios to data storage.
Definition portfolio_repository.hpp:36