20#ifndef ORES_IAM_SERVICE_ACCOUNT_PARTY_SERVICE_HPP
21#define ORES_IAM_SERVICE_ACCOUNT_PARTY_SERVICE_HPP
25#include <boost/uuid/uuid.hpp>
26#include "ores.logging/make_logger.hpp"
27#include "ores.database/domain/context.hpp"
28#include "ores.iam.api/domain/account_party.hpp"
29#include "ores.iam.core/repository/account_party_repository.hpp"
41 inline static std::string_view logger_name =
42 "ores.iam.service.account_party_service";
44 [[nodiscard]]
static auto& lg() {
46 static auto instance = make_logger(logger_name);
70 std::vector<domain::account_party>
87 const boost::uuids::uuid& party_id);
Service layer for the IAM module.
Definition auth_session_service.hpp:32
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Context for the operations on a postgres database.
Definition context.hpp:47
Links an IAM account to a party.
Definition account_party.hpp:36
Reads and writes account parties to data storage.
Definition account_party_repository.hpp:36
Service for managing account parties.
Definition account_party_service.hpp:39
std::vector< domain::account_party > list_account_parties()
Lists all account parties.
Definition account_party_service.cpp:32
void save_account_party(const domain::account_party &account_party)
Saves a account party (creates or updates).
Definition account_party_service.cpp:43
void remove_account_party(const boost::uuids::uuid &account_id, const boost::uuids::uuid &party_id)
Removes a account party.
Definition account_party_service.cpp:57
std::vector< domain::account_party > list_account_parties_by_account(const boost::uuids::uuid &account_id)
Lists account parties for a specific account.
Definition account_party_service.cpp:38