Coverage for website/thaliawebsite/management/commands/dataminimisation.py: 0.00%
32 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1from django.core.management.base import BaseCommand
3from events import services as events_services
4from facedetection import services as facedetection_services
5from members import services as members_services
6from payments import services as payments_services
7from pizzas import services as pizzas_services
8from sales import services as sales_services
9from utils.snippets import minimise_logentries_data
12class Command(BaseCommand):
13 """This command can be executed periodically to minimise the user information in our database."""
15 def add_arguments(self, parser):
16 parser.add_argument(
17 "--dry-run",
18 action="store_true",
19 dest="dry-run",
20 default=False,
21 help="Dry run instead of saving data",
22 )
24 def handle(self, *args, **options):
25 processed = members_services.execute_data_minimisation(options["dry-run"])
26 for p in processed:
27 self.stdout.write(f"Removed data for {p}")
29 processed = events_services.execute_data_minimisation(options["dry-run"])
30 for p in processed:
31 self.stdout.write(f"Removed registration information for {p}")
33 processed = payments_services.execute_data_minimisation(options["dry-run"])
34 for p in processed:
35 self.stdout.write(f"Removed payments information for {p}")
37 processed = pizzas_services.execute_data_minimisation(options["dry-run"])
38 for p in processed:
39 self.stdout.write(f"Removed food events information for {p}")
41 processed = sales_services.execute_data_minimisation(options["dry-run"])
42 for p in processed:
43 self.stdout.write(f"Removed sales orders for {p}")
45 processed = facedetection_services.execute_data_minimisation(options["dry-run"])
46 for p in processed:
47 self.stdout.write(f"Removed reference faces: {p}")
49 count = minimise_logentries_data(options["dry-run"])
50 self.stdout.write(f"Removed {count} log entries")