deleteExpiredReports method

Future<int> deleteExpiredReports()

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;
  }
}