pruneExpiredMessages method

Future<int> pruneExpiredMessages({
  1. required int ttlHours,
})

Prune messages whose TTL has reached 0 or whose creation time exceeds the time-based TTL.

Implementation

Future<int> pruneExpiredMessages({required int ttlHours}) {
  final cutoff = DateTime.now()
      .subtract(Duration(hours: ttlHours))
      .millisecondsSinceEpoch;

  return (delete(messages)
        ..where(
            (t) => t.ttl.isSmallerOrEqualValue(0) | t.createdAt.isSmallerThanValue(cutoff)))
      .go();
}