77 HubCommand(std::shared_ptr<ISubject> event_bus,
78 std::shared_ptr<RepositoryManager> repository_manager);
98 [[nodiscard]] std::string
getName()
const override;
120 [[nodiscard]] std::string
getUsage()
const override;
137 bool execute(
const std::vector<std::string>& args)
override;
168 bool initializeHubRepository(
const std::filesystem::path& repo_path)
const;
183 bool createHubDirectoryStructure(
const std::filesystem::path& svcs_path)
const;
200 bool createHubConfigFile(
const std::filesystem::path& svcs_path)
const;
215 bool createHubHEADFile(
const std::filesystem::path& svcs_path)
const;
230 [[nodiscard]]
bool isValidHubPath(
const std::filesystem::path& path)
const;
245 [[nodiscard]]
bool isPathAvailable(
const std::filesystem::path& path)
const;
Base class for server administration commands using ICommand interface.
std::string getName() const override
Gets the name of the command.
Definition HubCommand.cxx:38
bool execute(const std::vector< std::string > &args) override
Executes the hub command with provided arguments.
Definition HubCommand.cxx:50
void showHelp() const override
Displays help information for the hub command.
Definition HubCommand.cxx:118
std::string getUsage() const override
Gets the usage syntax for the command.
Definition HubCommand.cxx:46
std::string getDescription() const override
Gets a brief description of the command's purpose.
Definition HubCommand.cxx:42
~HubCommand() override=default
Default destructor.
HubCommand(std::shared_ptr< ISubject > event_bus, std::shared_ptr< RepositoryManager > repository_manager)
Constructs a HubCommand with necessary dependencies.
Definition HubCommand.cxx:32
ServerBaseCommand(std::shared_ptr< ISubject > event_bus, std::shared_ptr< RepositoryManager > repo_manager)
Constructs a ServerBaseCommand with necessary dependencies.
Definition ServerBaseCommand.cxx:17
Server administration command-line interface components.