aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2024-11-06 09:24:19 +0100
committerGitHub Enterprise <[email protected]>2024-11-06 09:24:19 +0100
commite5ee966b132c973fb1f2fd52e189305c6786a6bd (patch)
tree5db11b38255840b08b4a9fb1ea9bd29ac585c49a /src
parentImproved oplog import/export progress indicator at commandline (#206) (diff)
downloadzen-e5ee966b132c973fb1f2fd52e189305c6786a6bd.tar.xz
zen-e5ee966b132c973fb1f2fd52e189305c6786a6bd.zip
project details cmd resolve prj oplog (#209)
* auto-resolve project name if only one project exist * always try to resolve project and oplog name in project-details command * project-details -> project-op-details
Diffstat (limited to 'src')
-rw-r--r--src/zen/cmds/projectstore_cmd.cpp46
-rw-r--r--src/zen/cmds/projectstore_cmd.h8
-rw-r--r--src/zen/zen.cpp4
3 files changed, 23 insertions, 35 deletions
diff --git a/src/zen/cmds/projectstore_cmd.cpp b/src/zen/cmds/projectstore_cmd.cpp
index 4e2d5123d..afcf71346 100644
--- a/src/zen/cmds/projectstore_cmd.cpp
+++ b/src/zen/cmds/projectstore_cmd.cpp
@@ -346,8 +346,15 @@ namespace {
if (OptionalProjectName.empty())
{
- ZEN_CONSOLE("Available projects at {}: {}", Http.GetBaseUri(), FmtArray(AvailableProjects));
- return {};
+ if (AvailableProjects.size() == 1)
+ {
+ return AvailableProjects.front();
+ }
+ else
+ {
+ ZEN_CONSOLE("Available projects at {}: {}", Http.GetBaseUri(), FmtArray(AvailableProjects));
+ return {};
+ }
}
std::vector<std::string> MatchingProjectIds = MatchId(AvailableProjects, OptionalProjectName);
@@ -1591,7 +1598,7 @@ ProjectStatsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** ar
////////////////////////////
-ProjectDetailsCommand::ProjectDetailsCommand()
+ProjectOpDetailsCommand::ProjectOpDetailsCommand()
{
m_Options.add_options()("h,help", "Print help");
m_Options.add_option("", "u", "hosturl", "Host URL", cxxopts::value(m_HostName)->default_value(""), "<hosturl>");
@@ -1609,12 +1616,12 @@ ProjectDetailsCommand::ProjectDetailsCommand()
"<attachmentdetails>");
}
-ProjectDetailsCommand::~ProjectDetailsCommand()
+ProjectOpDetailsCommand::~ProjectOpDetailsCommand()
{
}
int
-ProjectDetailsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
+ProjectOpDetailsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
{
ZEN_UNUSED(GlobalOptions);
@@ -1632,34 +1639,15 @@ ProjectDetailsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char**
HttpClient Http(m_HostName);
- if (!m_ProjectName.empty())
- {
- m_ProjectName = ResolveProject(Http, m_ProjectName);
- if (m_ProjectName.empty())
- {
- return 1;
- }
- }
-
- if (!m_OplogName.empty() || !m_OpId.empty())
+ m_ProjectName = ResolveProject(Http, m_ProjectName);
+ if (m_ProjectName.empty())
{
- if (m_ProjectName.empty())
- {
- ZEN_ERROR("Provide project name");
- ZEN_CONSOLE("{}", m_Options.help({""}).c_str());
- return 1;
- }
- m_OplogName = ResolveOplog(Http, m_ProjectName, m_OplogName);
- if (m_OplogName.empty())
- {
- return 1;
- }
+ return 1;
}
- if (!m_OpId.empty() && m_OplogName.empty())
+ m_OplogName = ResolveOplog(Http, m_ProjectName, m_OplogName);
+ if (m_OplogName.empty())
{
- ZEN_ERROR("Provide project and oplog name");
- ZEN_CONSOLE("{}", m_Options.help({""}).c_str());
return 1;
}
diff --git a/src/zen/cmds/projectstore_cmd.h b/src/zen/cmds/projectstore_cmd.h
index e70254ec5..0e16f946d 100644
--- a/src/zen/cmds/projectstore_cmd.h
+++ b/src/zen/cmds/projectstore_cmd.h
@@ -199,16 +199,16 @@ private:
std::string m_HostName;
};
-class ProjectDetailsCommand : public ProjectStoreCommand
+class ProjectOpDetailsCommand : public ProjectStoreCommand
{
public:
- ProjectDetailsCommand();
- ~ProjectDetailsCommand();
+ ProjectOpDetailsCommand();
+ ~ProjectOpDetailsCommand();
virtual int Run(const ZenCliOptions& GlobalOptions, int argc, char** argv) override;
virtual cxxopts::Options& Options() override { return m_Options; }
private:
- cxxopts::Options m_Options{"project-details", "Detail info on project store"};
+ cxxopts::Options m_Options{"project-op-details", "Detail info on ops inside a project store oplog"};
std::string m_HostName;
bool m_Details = false;
bool m_OpDetails = false;
diff --git a/src/zen/zen.cpp b/src/zen/zen.cpp
index eb67649b8..7bf715e01 100644
--- a/src/zen/zen.cpp
+++ b/src/zen/zen.cpp
@@ -414,7 +414,7 @@ main(int argc, char** argv)
OplogMirrorCommand OplogMirrorCmd;
PrintCommand PrintCmd;
PrintPackageCommand PrintPkgCmd;
- ProjectDetailsCommand ProjectDetailsCmd;
+ ProjectOpDetailsCommand ProjectOpDetailsCmd;
ProjectInfoCommand ProjectInfoCmd;
ProjectStatsCommand ProjectStatsCmd;
PsCommand PsCmd;
@@ -468,7 +468,7 @@ main(int argc, char** argv)
{"print", &PrintCmd, "Print compact binary object"},
{"printpackage", &PrintPkgCmd, "Print compact binary package"},
{"project-create", &CreateProjectCmd, "Create a project"},
- {"project-details", &ProjectDetailsCmd, "Details on project store"},
+ {"project-op-details", &ProjectOpDetailsCmd, "Detail info on ops inside a project store oplog"},
{"project-drop", &ProjectDropCmd, "Drop project or project oplog"},
{"project-info", &ProjectInfoCmd, "Info on project or project oplog"},
{"project-stats", &ProjectStatsCmd, "Stats on project store"},