20#ifndef ORES_IAM_SERVICE_ACCOUNT_SETUP_SERVICE_HPP
21#define ORES_IAM_SERVICE_ACCOUNT_SETUP_SERVICE_HPP
25#include "ores.iam/domain/account.hpp"
26#include "ores.iam/service/account_service.hpp"
27#include "ores.iam/service/authorization_service.hpp"
28#include "ores.logging/make_logger.hpp"
44 inline static std::string_view logger_name =
45 "ores.iam.service.account_setup_service";
47 [[nodiscard]]
static auto& lg() {
49 static auto instance = make_logger(logger_name);
61 std::shared_ptr<authorization_service> auth_svc);
80 const std::string& email,
const std::string& password,
81 const std::string& recorded_by,
82 const std::string& change_commentary =
"Account created");
101 const std::string& email,
const std::string& password,
102 const std::string& recorded_by,
const std::string& role_name,
103 const std::string& change_commentary =
"Account created");
107 std::shared_ptr<authorization_service> auth_svc_;
Service layer for the IAM module.
Definition account_service.hpp:34
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Represents an account for an entity in the system.
Definition account.hpp:32
Service for managing user accounts including creation, listing, and deletion.
Definition account_service.hpp:39
Centralized service for complete account initialization.
Definition account_setup_service.hpp:42
domain::account create_account_with_role(const std::string &username, const std::string &email, const std::string &password, const std::string &recorded_by, const std::string &role_name, const std::string &change_commentary="Account created")
Creates a new account with a specific role.
Definition account_setup_service.cpp:43
domain::account create_account(const std::string &username, const std::string &email, const std::string &password, const std::string &recorded_by, const std::string &change_commentary="Account created")
Creates a new account with the default Viewer role.
Definition account_setup_service.cpp:34