From 96bd9ae81c994f97f1745de11d5254f4f658fe11 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Wed, 8 Jun 2022 07:26:09 +0300 Subject: [PATCH] Inserted additional unixtime format to each date field in export JSON. --- .../export/output/export_output_json.cpp | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/export/output/export_output_json.cpp b/Telegram/SourceFiles/export/output/export_output_json.cpp index fac36dd88..62baaf4c7 100644 --- a/Telegram/SourceFiles/export/output/export_output_json.cpp +++ b/Telegram/SourceFiles/export/output/export_output_json.cpp @@ -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());