aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil
diff options
context:
space:
mode:
authorzousar <[email protected]>2025-04-22 15:57:02 -0600
committerzousar <[email protected]>2025-04-22 15:57:02 -0600
commit6646a12bbffd349ad234a4265e339797e815493b (patch)
tree6227d1e13b14526b91b5e728a2b3e03980521173 /src/zenutil
parentFix list-container positional args to remove query-path (diff)
downloadzen-6646a12bbffd349ad234a4265e339797e815493b.tar.xz
zen-6646a12bbffd349ad234a4265e339797e815493b.zip
Replace container with namespaces
Diffstat (limited to 'src/zenutil')
-rw-r--r--src/zenutil/filebuildstorage.cpp5
-rw-r--r--src/zenutil/include/zenutil/buildstorage.h2
-rw-r--r--src/zenutil/jupiter/jupiterbuildstorage.cpp39
3 files changed, 25 insertions, 21 deletions
diff --git a/src/zenutil/filebuildstorage.cpp b/src/zenutil/filebuildstorage.cpp
index b77eb1d11..badfb4840 100644
--- a/src/zenutil/filebuildstorage.cpp
+++ b/src/zenutil/filebuildstorage.cpp
@@ -35,9 +35,10 @@ public:
virtual ~FileBuildStorage() {}
- virtual CbObject ListContainers() override
+ virtual CbObject ListNamespaces(bool bRecursive) override
{
- ZEN_TRACE_CPU("FileBuildStorage::ListContainers");
+ ZEN_TRACE_CPU("FileBuildStorage::ListNamespaces");
+ ZEN_UNUSED(bRecursive);
SimulateLatency(0, 0);
diff --git a/src/zenutil/include/zenutil/buildstorage.h b/src/zenutil/include/zenutil/buildstorage.h
index 0785acd62..5422c837c 100644
--- a/src/zenutil/include/zenutil/buildstorage.h
+++ b/src/zenutil/include/zenutil/buildstorage.h
@@ -25,7 +25,7 @@ public:
virtual ~BuildStorage() {}
- virtual CbObject ListContainers() = 0;
+ virtual CbObject ListNamespaces(bool bRecursive = false) = 0;
virtual CbObject ListBuilds(CbObject Query) = 0;
virtual CbObject PutBuild(const Oid& BuildId, const CbObject& MetaData) = 0;
virtual CbObject GetBuild(const Oid& BuildId) = 0;
diff --git a/src/zenutil/jupiter/jupiterbuildstorage.cpp b/src/zenutil/jupiter/jupiterbuildstorage.cpp
index b2fabb43f..6ada72e1e 100644
--- a/src/zenutil/jupiter/jupiterbuildstorage.cpp
+++ b/src/zenutil/jupiter/jupiterbuildstorage.cpp
@@ -35,9 +35,9 @@ public:
}
virtual ~JupiterBuildStorage() {}
- virtual CbObject ListContainers() override
+ virtual CbObject ListNamespaces(bool bRecursive) override
{
- ZEN_TRACE_CPU("Jupiter::ListContainers");
+ ZEN_TRACE_CPU("Jupiter::ListNamespaces");
Stopwatch ExecutionTimer;
auto _ = MakeGuard([&]() { m_Stats.TotalExecutionTimeUs += ExecutionTimer.GetElapsedTimeUs(); });
@@ -45,9 +45,9 @@ public:
AddStatistic(ListResult);
if (!ListResult.Success)
{
- throw std::runtime_error(fmt::format("Failed listing containers: {} ({})", ListResult.Reason, ListResult.ErrorCode));
+ throw std::runtime_error(fmt::format("Failed listing namespaces: {} ({})", ListResult.Reason, ListResult.ErrorCode));
}
- CbObject NamespaceResponse = PayloadToCbObject("Failed listing containers"sv, ListResult.Response);
+ CbObject NamespaceResponse = PayloadToCbObject("Failed listing namespaces"sv, ListResult.Response);
CbObjectWriter Response;
Response.BeginArray("results"sv);
@@ -59,25 +59,28 @@ public:
Response.BeginObject();
Response.AddString("name", Namespace);
- JupiterResult BucketsResult = m_Session.ListBuildBuckets(Namespace);
- AddStatistic(BucketsResult);
- if (!BucketsResult.Success)
+ if (bRecursive)
{
- throw std::runtime_error(
- fmt::format("Failed listing containers: {} ({})", BucketsResult.Reason, BucketsResult.ErrorCode));
- }
- CbObject BucketResponse = PayloadToCbObject("Failed listing containers"sv, BucketsResult.Response);
+ JupiterResult BucketsResult = m_Session.ListBuildBuckets(Namespace);
+ AddStatistic(BucketsResult);
+ if (!BucketsResult.Success)
+ {
+ throw std::runtime_error(
+ fmt::format("Failed listing namespaces: {} ({})", BucketsResult.Reason, BucketsResult.ErrorCode));
+ }
+ CbObject BucketResponse = PayloadToCbObject("Failed listing namespaces"sv, BucketsResult.Response);
- Response.BeginArray("items");
- for (CbFieldView BucketField : BucketResponse["buckets"])
- {
- std::string_view Bucket = BucketField.AsString();
- if (!Bucket.empty())
+ Response.BeginArray("items");
+ for (CbFieldView BucketField : BucketResponse["buckets"])
{
- Response.AddString(Bucket);
+ std::string_view Bucket = BucketField.AsString();
+ if (!Bucket.empty())
+ {
+ Response.AddString(Bucket);
+ }
}
+ Response.EndArray();
}
- Response.EndArray();
Response.EndObject();
}