aboutsummaryrefslogtreecommitdiff
path: root/src/zen/cmds/projectstore.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2023-05-25 15:42:36 +0200
committerGitHub <[email protected]>2023-05-25 15:42:36 +0200
commit3994bac926bcceb03a89ba74d164dcd687d70db6 (patch)
treed967928c38dea7449381c85b1a6a60887964e491 /src/zen/cmds/projectstore.cpp
parentminor: refcount bump elimination (diff)
downloadarchived-zen-3994bac926bcceb03a89ba74d164dcd687d70db6.tar.xz
archived-zen-3994bac926bcceb03a89ba74d164dcd687d70db6.zip
oplog snapshot (#317)
Added "snapshot" oplog RPC this may be used to bring referenced files into the local store instead of referencing them by filename, thus making the project/oplog transportable
Diffstat (limited to 'src/zen/cmds/projectstore.cpp')
-rw-r--r--src/zen/cmds/projectstore.cpp34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/zen/cmds/projectstore.cpp b/src/zen/cmds/projectstore.cpp
index 70670150a..e95b230b8 100644
--- a/src/zen/cmds/projectstore.cpp
+++ b/src/zen/cmds/projectstore.cpp
@@ -35,9 +35,12 @@ DropProjectCommand::DropProjectCommand()
m_Options.add_option("", "p", "project", "Project name", cxxopts::value(m_ProjectName), "<projectid>");
m_Options.add_option("", "o", "oplog", "Oplog name", cxxopts::value(m_OplogName), "<oplogid>");
m_Options.parse_positional({"project", "oplog"});
+ m_Options.positional_help("[<projectid> [<oplogid>]]");
}
-DropProjectCommand::~DropProjectCommand() = default;
+DropProjectCommand::~DropProjectCommand()
+{
+}
int
DropProjectCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
@@ -102,9 +105,12 @@ ProjectInfoCommand::ProjectInfoCommand()
m_Options.add_option("", "p", "project", "Project name", cxxopts::value(m_ProjectName), "<projectid>");
m_Options.add_option("", "o", "oplog", "Oplog name", cxxopts::value(m_OplogName), "<oplogid>");
m_Options.parse_positional({"project", "oplog"});
+ m_Options.positional_help("[<projectid> [<oplogid>]]");
}
-ProjectInfoCommand::~ProjectInfoCommand() = default;
+ProjectInfoCommand::~ProjectInfoCommand()
+{
+}
int
ProjectInfoCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
@@ -279,14 +285,12 @@ CreateOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** arg
if (m_ProjectId.empty())
{
- ZEN_ERROR("Project name must be given");
- return 1;
+ throw zen::OptionParseException("project name must be specified");
}
if (m_OplogId.empty())
{
- ZEN_ERROR("Oplog name must be given");
- return 1;
+ throw zen::OptionParseException("oplog name must be specified");
}
Session.SetUrl({fmt::format("{}/prj/{}/oplog/{}", m_HostName, m_ProjectId, m_OplogId)});
@@ -377,7 +381,9 @@ ExportOplogCommand::ExportOplogCommand()
m_Options.parse_positional({"project", "oplog"});
}
-ExportOplogCommand::~ExportOplogCommand() = default;
+ExportOplogCommand::~ExportOplogCommand()
+{
+}
int
ExportOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
@@ -644,7 +650,9 @@ ImportOplogCommand::ImportOplogCommand()
m_Options.parse_positional({"project", "oplog"});
}
-ImportOplogCommand::~ImportOplogCommand() = default;
+ImportOplogCommand::~ImportOplogCommand()
+{
+}
int
ImportOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
@@ -842,7 +850,9 @@ ProjectStatsCommand::ProjectStatsCommand()
m_Options.add_option("", "u", "hosturl", "Host URL", cxxopts::value(m_HostName)->default_value(""), "<hosturl>");
}
-ProjectStatsCommand::~ProjectStatsCommand() = default;
+ProjectStatsCommand::~ProjectStatsCommand()
+{
+}
int
ProjectStatsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)
@@ -891,7 +901,7 @@ ProjectDetailsCommand::ProjectDetailsCommand()
m_Options.add_options()("h,help", "Print help");
m_Options.add_option("", "u", "hosturl", "Host URL", cxxopts::value(m_HostName)->default_value(""), "<hosturl>");
m_Options.add_option("", "c", "csv", "Output in CSV format (default is JSon)", cxxopts::value(m_CSV), "<csv>");
- m_Options.add_option("", "d", "details", "Detailed info on opslog", cxxopts::value(m_Details), "<details>");
+ m_Options.add_option("", "d", "details", "Detailed info on oplog", cxxopts::value(m_Details), "<details>");
m_Options.add_option("", "o", "opdetails", "Details info on oplog body", cxxopts::value(m_OpDetails), "<opdetails>");
m_Options.add_option("", "p", "project", "Project name to get info from", cxxopts::value(m_ProjectName), "<projectid>");
m_Options.add_option("", "l", "oplog", "Oplog name to get info from", cxxopts::value(m_OplogName), "<oplogid>");
@@ -904,7 +914,9 @@ ProjectDetailsCommand::ProjectDetailsCommand()
"<attachmentdetails>");
}
-ProjectDetailsCommand::~ProjectDetailsCommand() = default;
+ProjectDetailsCommand::~ProjectDetailsCommand()
+{
+}
int
ProjectDetailsCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv)