#pragma once

#include <maps/wikimap/mapspro/libs/social_serv_serialize/include/task_extended.h>
#include <maps/wikimap/mapspro/libs/social_serv_serialize/include/task_for_review_ui.h>

#include <maps/libs/json/include/builder.h>

namespace maps::wiki::socialsrv::serialize {

void taskBriefToJson(
    json::ObjectBuilder& builder,
    const social::feedback::TaskBrief& task,
    social::TUid uid);

void taskToJson(
    json::ObjectBuilder& builder,
    const TaskExtended& taskExtended,
    social::TUid uid);

void taskForReviewUIToJson(
    json::ObjectBuilder& builder,
    const TaskForReviewUI& task,
    social::TUid uid);

void taskToJson(
    json::ObjectBuilder& builder,
    const TaskForUI& task,
    social::TUid uid);

json::Value transformSourceContext(const json::Value& oldContext);

} // namespace maps::wiki::socialsrv::serialize
