#pragma once

#include <yandex/maps/proto/offline-mrc/results.sproto.h>
#include <maps/libs/sproto/include/sproto.h>

namespace maps {
namespace mrc {
namespace signal_queue {

namespace sresults = yandex::maps::sproto::offline::mrc::results;

SPROTO_MESSAGE(AssignmentImage)
{
    SPROTO_FIELD(Required, sresults::Image, data, 1);
    SPROTO_FIELD(Required, sproto::Uint64, assignmentId, 2);
    SPROTO_FIELD(Optional, sproto::String, mdsGroupId, 3);
    SPROTO_FIELD(Optional, sproto::String, mdsPath, 4);
    SPROTO_FIELD(Optional, sproto::String, sourceId, 5);
    SPROTO_FIELD(Optional, sproto::String, userId, 6);
    SPROTO_FIELD(Optional, sproto::String, sourceIp, 7);
    SPROTO_FIELD(Optional, sproto::Uint32, sourcePort, 8);
};

SPROTO_MESSAGE(RideImage)
{
    SPROTO_FIELD(Required, sresults::Image, data, 1);
    SPROTO_FIELD(Required, sproto::String, sourceId, 2);
    SPROTO_FIELD(Required, sproto::String, userId, 3);
    SPROTO_FIELD(Optional, sproto::String, mdsGroupId, 4);
    SPROTO_FIELD(Optional, sproto::String, mdsPath, 5);
    SPROTO_FIELD(Optional, sproto::String, sourceIp, 7);
    SPROTO_FIELD(Optional, sproto::Uint32, sourcePort, 8);
    SPROTO_FIELD(Optional, sproto::String, clientRideId, 9);
};

} //namespace signal_queue
} //namespace mrc
} //namespace maps
