1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-07 01:51:47 +02:00

Merge pull request #7723 from yorickvP/nix-store-ping-json

nix store ping: add --json flag
This commit is contained in:
Eelco Dolstra 2023-02-01 17:11:34 +01:00 committed by GitHub
commit 7a09bfbcb6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 5 deletions

View file

@ -1,10 +1,13 @@
#include "command.hh"
#include "shared.hh"
#include "store-api.hh"
#include "finally.hh"
#include <nlohmann/json.hpp>
using namespace nix;
struct CmdPingStore : StoreCommand
struct CmdPingStore : StoreCommand, MixJSON
{
std::string description() override
{
@ -20,10 +23,21 @@ struct CmdPingStore : StoreCommand
void run(ref<Store> store) override
{
notice("Store URL: %s", store->getUri());
store->connect();
if (auto version = store->getVersion())
notice("Version: %s", *version);
if (!json) {
notice("Store URL: %s", store->getUri());
store->connect();
if (auto version = store->getVersion())
notice("Version: %s", *version);
} else {
nlohmann::json res;
Finally printRes([&]() {
logger->cout("%s", res);
});
res["url"] = store->getUri();
store->connect();
if (auto version = store->getVersion())
res["version"] = *version;
}
}
};