deleteExpiredReports method
Cleans up expired reports (can be called by a Cloud Function or admin)
Implementation
Future<int> deleteExpiredReports() async {
try {
final now = Timestamp.now();
final querySnapshot = await _firestore
.collection(_collectionPath)
.where('expiresAt', isLessThan: now)
.get();
// Delete each expired document
final batch = _firestore.batch();
for (final doc in querySnapshot.docs) {
batch.delete(doc.reference);
}
await batch.commit();
return querySnapshot.docs.length;
} catch (e) {
print('Error deleting expired reports: $e');
rethrow;
}
}