#pragma once

#include <maps/libs/pgpool/include/pgpool3.h>

#include <string>

namespace maps::wiki::editor_takeout {

using TId = uint64_t;

// F(filenameSuffix, data)
using UploadToTakeout = std::function<void(const std::string&, const std::string&)>;

void generateTakeoutEdits(
    pgpool3::Pool& coreLongReadPool,
    TId uid,
    UploadToTakeout uploadCallback);

void generateTakeoutMessages(
    pgpool3::Pool& socialPool,
    TId uid,
    UploadToTakeout uploadCallback);

} // namespace maps::wiki::editor_takeout
