@@ -57,43 +57,10 @@ def destroy
5757 )
5858 )
5959
60- patient_ids = team . patients . pluck ( :id )
61-
62- log_destroy (
63- PatientLocation . joins_team_locations . where ( team_locations : { team_id : } )
64- )
65-
66- log_destroy ( AccessLogEntry . where ( patient_id : patient_ids ) )
67- log_destroy ( ArchiveReason . where ( patient_id : patient_ids ) )
68- log_destroy ( AttendanceRecord . where ( patient_id : patient_ids ) )
69- log_destroy ( ConsentNotification . where ( patient_id : patient_ids ) )
70- log_destroy ( GillickAssessment . where ( patient_id : patient_ids ) )
71- log_destroy ( Note . where ( patient_id : patient_ids ) )
7260 # In local dev we can end up with NotifyLogEntries without a patient
7361 log_destroy ( NotifyLogEntry . where ( patient_id : nil ) )
74- log_destroy ( NotifyLogEntry . where ( patient_id : patient_ids ) )
75- log_destroy ( PatientChangeset . where ( patient_id : patient_ids ) )
76- log_destroy ( PatientLocation . where ( patient_id : patient_ids ) )
77- log_destroy ( PatientMergeLogEntry . where ( patient_id : patient_ids ) )
78- log_destroy ( PatientSpecificDirection . where ( patient_id : patient_ids ) )
79- log_destroy ( PDSSearchResult . where ( patient_id : patient_ids ) )
80- log_destroy ( PreScreening . where ( patient_id : patient_ids ) )
81- log_destroy ( SchoolMove . where ( patient_id : patient_ids ) )
82- log_destroy ( SchoolMoveLogEntry . where ( patient_id : patient_ids ) )
83- log_destroy ( VaccinationRecord . where ( patient_id : patient_ids ) )
84- log_destroy ( Triage . where ( patient_id : patient_ids ) )
85- log_destroy ( ImportantNotice . where ( patient_id : patient_ids ) )
86-
87- log_destroy ( ParentRelationship . where ( patient_id : patient_ids ) )
88- log_destroy (
89- PatientProgrammeVaccinationsSearch . where ( patient_id : patient_ids )
90- )
91- log_destroy ( Patient . where ( id : patient_ids ) )
9262
93- log_destroy (
94- Consent . where ( parent : Parent . where . missing ( :parent_relationships ) )
95- )
96- log_destroy ( Parent . where . missing ( :parent_relationships ) )
63+ log_destroy_patients ( patients : team . patients )
9764
9865 log_destroy ( Batch . where ( team :) )
9966
@@ -103,10 +70,6 @@ def destroy
10370
10471 log_destroy ( Triage . where ( team :) )
10572
106- # These should have been deleted anyway due to the foreign key cascade, but
107- # just to be safe.
108- log_destroy ( PatientTeam . where ( team :) )
109-
11073 TeamCachedCounts . new ( team ) . reset_all!
11174
11275 log_destroy ( Session . for_team ( team ) )
@@ -186,4 +149,10 @@ def log_destroy(query)
186149 )
187150 @log_time = Time . zone . now
188151 end
152+
153+ def log_destroy_patients ( patients :)
154+ PatientDeleter . call ( patients :)
155+ response . stream . write ( "PatientDeleter.call(patients: team.patients)" )
156+ @log_time = Time . zone . now
157+ end
189158end
0 commit comments