1#include <userver/proto-structs/io/userver/proto_structs/date_conv.hpp>
3#include <google/type/date.pb.h>
5#include <userver/proto-structs/exceptions.hpp>
6#include <userver/proto-structs/io/context.hpp>
7#include <userver/utils/impl/internal_tag.hpp>
11namespace proto_structs::io {
13Date ReadProtoStruct(ReadContext& ctx, To<Date>,
const ::google::type::Date& msg) {
15 return Date(utils::
impl::InternalTag{}, msg.year(), msg.month(), msg.day());
16 }
catch (
const ValueError& e) {
17 ctx.AddError(e.what());
22void WriteProtoStruct(WriteContext&,
const Date& obj, ::google::type::Date& msg) {
23 msg.set_year(obj.YearNum());
24 msg.set_month(obj.MonthNum());
25 msg.set_day(obj.DayNum());