#pragma once #include "json.hpp" #include "zip.hpp" #include #include #include namespace connector { std::string safe_project_name(const std::string& value); std::string normalize_spine_version(const std::string& value); class ConversionWorkspace { public: explicit ConversionWorkspace(const Json& payload); ~ConversionWorkspace(); ConversionWorkspace(const ConversionWorkspace&) = delete; ConversionWorkspace& operator=(const ConversionWorkspace&) = delete; std::filesystem::path root; std::filesystem::path input_path; std::filesystem::path output_path; std::string project_name; std::string spine_version; std::vector archive_images; std::vector read_output() const; }; } // namespace connector