20#ifndef ORES_REFDATA_CORE_REPOSITORY_BUSINESS_UNIT_REPOSITORY_HPP
21#define ORES_REFDATA_CORE_REPOSITORY_BUSINESS_UNIT_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/business_unit.hpp"
38 inline static std::string_view logger_name =
39 "ores.refdata.repository.business_unit_repository";
41 [[nodiscard]]
static auto& lg() {
43 static auto instance = make_logger(logger_name);
55 void write(
const std::vector<domain::business_unit>& business_units);
57 std::vector<domain::business_unit> read_latest();
58 std::vector<domain::business_unit> read_latest(
const boost::uuids::uuid&
id);
59 std::vector<domain::business_unit> read_latest_by_code(
const std::string& code);
61 std::vector<domain::business_unit> 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
Internal organizational unit within a party.
Definition business_unit.hpp:37
Reads and writes business units to data storage.
Definition business_unit_repository.hpp:36