Inserted additional unixtime format to each date field in export JSON.

This commit is contained in:
23rd 2022-06-08 07:26:09 +03:00
parent 524771529a
commit 96bd9ae81c

View file

@ -74,6 +74,10 @@ QByteArray SerializeDate(TimeId date) {
QDateTime::fromSecsSinceEpoch(date).toString(Qt::ISODate).toUtf8());
}
QByteArray SerializeDateRaw(TimeId date) {
return SerializeString(QString::number(date).toUtf8());
}
QByteArray StringAllowEmpty(const Data::Utf8String &data) {
return data.isEmpty() ? data : SerializeString(data);
}
@ -253,6 +257,7 @@ QByteArray SerializeMessage(
: "message")
},
{ "date", SerializeDate(message.date) },
{ "date_unixtime", SerializeDateRaw(message.date) },
};
context.nesting.push_back(Context::kObject);
const auto serialized = [&] {
@ -269,6 +274,7 @@ QByteArray SerializeMessage(
};
if (message.edited) {
pushBare("edited", SerializeDate(message.edited));
pushBare("edited_unixtime", SerializeDateRaw(message.edited));
}
const auto push = [&](const QByteArray &key, const auto &value) {
@ -806,6 +812,10 @@ Result JsonWriter::writeUserpicsSlice(const Data::UserpicsSlice &data) {
"date",
userpic.date ? SerializeDate(userpic.date) : QByteArray()
},
{
"date_unixtime",
userpic.date ? SerializeDateRaw(userpic.date) : QByteArray()
},
{
"photo",
SerializeString(path)
@ -849,7 +859,8 @@ Result JsonWriter::writeSavedContacts(const Data::ContactsList &data) {
&& contact.lastName.isEmpty()
&& contact.phoneNumber.isEmpty()) {
block.append(SerializeObject(_context, {
{ "date", SerializeDate(contact.date) }
{ "date", SerializeDate(contact.date) },
{ "date_unixtime", SerializeDateRaw(contact.date) },
}));
} else {
block.append(SerializeObject(_context, {
@ -866,7 +877,8 @@ Result JsonWriter::writeSavedContacts(const Data::ContactsList &data) {
SerializeString(
Data::FormatPhoneNumber(contact.phoneNumber))
},
{ "date", SerializeDate(contact.date) }
{ "date", SerializeDate(contact.date) },
{ "date_unixtime", SerializeDateRaw(contact.date) },
}));
}
}
@ -1013,6 +1025,7 @@ Result JsonWriter::writeSessions(const Data::SessionsList &data) {
block.append(prepareArrayItemStart());
block.append(SerializeObject(_context, {
{ "last_active", SerializeDate(session.lastActive) },
{ "last_active_unixtime", SerializeDateRaw(session.lastActive) },
{ "last_ip", SerializeString(session.ip) },
{ "last_country", SerializeString(session.country) },
{ "last_region", SerializeString(session.region) },
@ -1028,6 +1041,7 @@ Result JsonWriter::writeSessions(const Data::SessionsList &data) {
{ "platform", SerializeString(session.platform) },
{ "system_version", SerializeString(session.systemVersion) },
{ "created", SerializeDate(session.created) },
{ "created_unixtime", SerializeDateRaw(session.created) },
}));
}
block.append(popNesting());
@ -1047,6 +1061,7 @@ Result JsonWriter::writeWebSessions(const Data::SessionsList &data) {
block.append(prepareArrayItemStart());
block.append(SerializeObject(_context, {
{ "last_active", SerializeDate(session.lastActive) },
{ "last_active_unixtime", SerializeDateRaw(session.lastActive) },
{ "last_ip", SerializeString(session.ip) },
{ "last_region", SerializeString(session.region) },
{ "bot_username", StringAllowNull(session.botUsername) },
@ -1054,6 +1069,7 @@ Result JsonWriter::writeWebSessions(const Data::SessionsList &data) {
{ "browser", SerializeString(session.browser) },
{ "platform", SerializeString(session.platform) },
{ "created", SerializeDate(session.created) },
{ "created_unixtime", SerializeDateRaw(session.created) },
}));
}
block.append(popNesting());