Update GDPR scripts for latest DB schema (#17917)

This commit is contained in:
Pieter-Jan Briers
2023-07-09 23:14:46 +02:00
committed by GitHub
parent 61332a5814
commit 61f9fe68f4
2 changed files with 37 additions and 2 deletions

View File

@@ -8,7 +8,7 @@ import os
import psycopg2 import psycopg2
from uuid import UUID from uuid import UUID
LATEST_DB_MIGRATION = "20220816163319_Traits" LATEST_DB_MIGRATION = "20230402214647_BanAutoDelete"
def main(): def main():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
@@ -39,6 +39,7 @@ def main():
dump_player(cur, user_id, arg_output) dump_player(cur, user_id, arg_output)
dump_preference(cur, user_id, arg_output) dump_preference(cur, user_id, arg_output)
dump_server_ban(cur, user_id, arg_output) dump_server_ban(cur, user_id, arg_output)
dump_server_ban_exemption(cur, user_id, arg_output)
dump_server_role_ban(cur, user_id, arg_output) dump_server_role_ban(cur, user_id, arg_output)
dump_uploaded_resource_log(cur, user_id, arg_output) dump_uploaded_resource_log(cur, user_id, arg_output)
dump_whitelist(cur, user_id, arg_output) dump_whitelist(cur, user_id, arg_output)
@@ -300,6 +301,28 @@ FROM (
f.write(json_data) f.write(json_data)
def dump_server_ban_exemption(cur: "psycopg2.cursor", user_id: str, outdir: str):
print("Dumping server_ban_exemption...")
cur.execute("""
SELECT
COALESCE(json_agg(to_json(data)), '[]') #>> '{}'
FROM (
SELECT
*
FROM
server_ban_exemption
WHERE
user_id = %s
) as data
""", (user_id,))
json_data = cur.fetchall()[0][0]
with open(os.path.join(outdir, "server_ban_exemption.json"), "w", encoding="utf-8") as f:
f.write(json_data)
def dump_server_role_ban(cur: "psycopg2.cursor", user_id: str, outdir: str): def dump_server_role_ban(cur: "psycopg2.cursor", user_id: str, outdir: str):
print("Dumping server_role_ban...") print("Dumping server_role_ban...")

View File

@@ -12,7 +12,7 @@ import os
import psycopg2 import psycopg2
from uuid import UUID from uuid import UUID
LATEST_DB_MIGRATION = "20220816163319_Traits" LATEST_DB_MIGRATION = "20230402214647_BanAutoDelete"
def main(): def main():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
@@ -39,6 +39,7 @@ def main():
clear_player(cur, user_id) clear_player(cur, user_id)
clear_preference(cur, user_id) clear_preference(cur, user_id)
clear_server_ban(cur, user_id) clear_server_ban(cur, user_id)
clear_server_ban_exemption(cur, user_id)
clear_server_role_ban(cur, user_id) clear_server_role_ban(cur, user_id)
clear_uploaded_resource_log(cur, user_id) clear_uploaded_resource_log(cur, user_id)
clear_whitelist(cur, user_id) clear_whitelist(cur, user_id)
@@ -153,6 +154,17 @@ WHERE
""", (user_id,)) """, (user_id,))
def clear_server_ban_exemption(cur: "psycopg2.cursor", user_id: str):
print("Clearing server_ban_exemption...")
cur.execute("""
DELETE FROM
server_ban_exemption
WHERE
user_id = %s
""", (user_id,))
def clear_server_role_ban(cur: "psycopg2.cursor", user_id: str): def clear_server_role_ban(cur: "psycopg2.cursor", user_id: str):
print("Clearing server_role_ban...") print("Clearing server_role_ban...")