pruneExpiredMessages method
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();
}