#pragma once

#include <maps/wikimap/ugc/libs/common/takeout.h>

#include <maps/libs/chrono/include/time_point.h>

#include <pqxx/pqxx>

#include <optional>

namespace maps::wiki::ugc::tests {

gdpr::TakeoutId putTakeout(
    pqxx::transaction_base& txn,
    Uid uid,
    const ugc::gdpr::RequestId& requestId,
    std::optional<maps::chrono::TimePoint> completedAt = std::nullopt);


std::vector<ugc::gdpr::Takeout> loadTakeouts(pqxx::transaction_base& txn);

gdpr::Takeout getTakeout(pqxx::transaction_base& txn, gdpr::TakeoutId takeoutId);

} // namespace maps::wiki::ugc::tests
