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