// This file is generated by tools/codegen.sh
// DO NOT EDIT IT.

// clang-format off

//  To parse this JSON data, first install
//
//      json.hpp  https://github.com/nlohmann/json
//
//  Then include this file, and then do
//
//     RepositoryCache.hpp data = nlohmann::json::parse(jsonString);

#pragma once

#include <optional>
#include <nlohmann/json.hpp>
#include "linglong/api/types/v1/helper.hpp"

#include "linglong/api/types/v1/RepoConfigV2.hpp"
#include "linglong/api/types/v1/RepositoryCacheLayersItem.hpp"
#include "linglong/api/types/v1/RepositoryCacheMergedItem.hpp"

namespace linglong {
namespace api {
namespace types {
namespace v1 {
/**
* storing information of all packages and config of repo
*/

using nlohmann::json;

/**
* storing information of all packages and config of repo
*/
struct RepositoryCache {
RepoConfigV2 config;
std::vector<RepositoryCacheLayersItem> layers;
/**
* version of linglong at the time of generating the file
*/
std::string llVersion;
std::optional<std::vector<RepositoryCacheMergedItem>> merged;
/**
* version of storage
*/
std::string version;
};
}
}
}
}

// clang-format on
