20#ifndef ORES_CLI_APP_APPLICATION_HPP
21#define ORES_CLI_APP_APPLICATION_HPP
27#include "ores.logging/make_logger.hpp"
28#include "ores.database/domain/context.hpp"
29#include "ores.database/domain/database_options.hpp"
30#include "ores.cli/config/options.hpp"
31#include "ores.cli/config/import_options.hpp"
32#include "ores.cli/config/export_options.hpp"
33#include "ores.cli/config/delete_options.hpp"
34#include "ores.cli/config/add_options.hpp"
35#include "ores.cli/config/add_currency_options.hpp"
36#include "ores.cli/config/add_account_options.hpp"
37#include "ores.cli/config/add_feature_flag_options.hpp"
38#include "ores.cli/config/add_login_info_options.hpp"
39#include "ores.cli/config/add_role_options.hpp"
40#include "ores.cli/config/add_permission_options.hpp"
41#include "ores.cli/config/add_country_options.hpp"
42#include "ores.cli/config/add_change_reason_options.hpp"
43#include "ores.cli/config/add_change_reason_category_options.hpp"
52 inline static std::string_view logger_name =
53 "ores.cli.application";
55 [[nodiscard]]
static auto& lg() {
57 static auto instance = make_logger(logger_name);
63 const std::optional<database::database_options>& db_opts);
69 make_context(
const std::optional<database::database_options>& db_opts);
70 void import_currencies(
const std::vector<std::filesystem::path> files)
const;
71 void import_data(
const std::optional<config::import_options>& ocfg)
const;
82 void export_data(
const std::optional<config::export_options>& ocfg)
const;
93 void delete_data(
const std::optional<config::delete_options>& ocfg)
const;
104 void add_data(
const std::optional<config::add_options>& ocfg)
const;
116 std::ostream& output_stream_;
Application hosting infrastructure for the CLI tool.
Definition application.hpp:45
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Entry point for the ores command line application.
Definition application.hpp:50
void run(const config::options &cfg) const
Executes the application.
Definition application.cpp:521
Configuration for adding an account entity via command-line arguments.
Definition add_account_options.hpp:32
Configuration for adding a change reason category entity via command-line arguments.
Definition add_change_reason_category_options.hpp:32
Configuration for adding a change reason entity via command-line arguments.
Definition add_change_reason_options.hpp:32
Configuration for adding a country entity via command-line arguments.
Definition add_country_options.hpp:32
Configuration for adding a currency entity via command-line arguments.
Definition add_currency_options.hpp:32
Configuration for adding a feature flag entity via command-line arguments.
Definition add_feature_flag_options.hpp:32
Configuration for adding a login_info entity via command-line arguments.
Definition add_login_info_options.hpp:32
Configuration for adding a permission entity via command-line arguments.
Definition add_permission_options.hpp:32
Configuration for adding a role entity via command-line arguments.
Definition add_role_options.hpp:33
Configuration related to deleting entities.
Definition delete_options.hpp:32
Configuration related to exporting data into a supported export format.
Definition export_options.hpp:34
All of the configuration options required by the command line application.
Definition options.hpp:39
Context for the operations on a postgres database.
Definition context.hpp:30