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

1from django.core.management.base import BaseCommand 

2 

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 

10 

11 

12class Command(BaseCommand): 

13 """This command can be executed periodically to minimise the user information in our database.""" 

14 

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 ) 

23 

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}") 

28 

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}") 

32 

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}") 

36 

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}") 

40 

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}") 

44 

45 processed = facedetection_services.execute_data_minimisation(options["dry-run"]) 

46 for p in processed: 

47 self.stdout.write(f"Removed reference faces: {p}") 

48 

49 count = minimise_logentries_data(options["dry-run"]) 

50 self.stdout.write(f"Removed {count} log entries")