GDPR stuff update (#18300)

This commit is contained in:
Pieter-Jan Briers
2023-07-26 20:05:51 +02:00
committed by GitHub
parent 86f33a8fa2
commit e0c4884995
9 changed files with 3720 additions and 24 deletions

View File

@@ -8,7 +8,7 @@ import os
import psycopg2
from uuid import UUID
LATEST_DB_MIGRATION = "20230402214647_BanAutoDelete"
LATEST_DB_MIGRATION = "20230725193102_AdminNotesImprovementsForeignKeys"
def main():
parser = argparse.ArgumentParser()
@@ -33,7 +33,9 @@ def main():
dump_admin(cur, user_id, arg_output)
dump_admin_log(cur, user_id, arg_output)
dump_admin_messages(cur, user_id, arg_output)
dump_admin_notes(cur, user_id, arg_output)
dump_admin_watchlists(cur, user_id, arg_output)
dump_connection_log(cur, user_id, arg_output)
dump_play_time(cur, user_id, arg_output)
dump_player(cur, user_id, arg_output)
@@ -291,7 +293,7 @@ FROM (
FROM
server_ban
WHERE
user_id = %s
player_user_id = %s
) as data
""", (user_id,))
@@ -339,7 +341,7 @@ FROM (
FROM
server_role_ban
WHERE
user_id = %s
player_user_id = %s
) as data
""", (user_id,))
@@ -393,6 +395,50 @@ FROM (
f.write(json_data)
def dump_admin_messages(cur: "psycopg2.cursor", user_id: str, outdir: str):
print("Dumping admin_messages...")
cur.execute("""
SELECT
COALESCE(json_agg(to_json(data)), '[]') #>> '{}'
FROM (
SELECT
*
FROM
admin_messages
WHERE
player_user_id = %s
) as data
""", (user_id,))
json_data = cur.fetchall()[0][0]
with open(os.path.join(outdir, "admin_messages.json"), "w", encoding="utf-8") as f:
f.write(json_data)
def dump_admin_watchlists(cur: "psycopg2.cursor", user_id: str, outdir: str):
print("Dumping admin_watchlists...")
cur.execute("""
SELECT
COALESCE(json_agg(to_json(data)), '[]') #>> '{}'
FROM (
SELECT
*
FROM
admin_watchlists
WHERE
player_user_id = %s
) as data
""", (user_id,))
json_data = cur.fetchall()[0][0]
with open(os.path.join(outdir, "admin_watchlists.json"), "w", encoding="utf-8") as f:
f.write(json_data)
main()
# "I'm surprised you managed to write this entire Python file without spamming the word 'sus' everywhere." - Remie