Future
pruneTokens(resourceOwnerIdentifier)
Source
Future pruneTokens(dynamic resourceOwnerIdentifier) async {
var oldTokenQuery = new Query<ManagedToken>(context)
..where.resourceOwner = whereRelatedByValue(resourceOwnerIdentifier)
..sortBy((t) => t.expirationDate, QuerySortOrder.descending)
..offset = tokenLimit
..fetchLimit = 1
..returningProperties((t) => [t.expirationDate]);
var results = await oldTokenQuery.fetch();
if (results.length == 1) {
var deleteQ = new Query<ManagedToken>()
..where.resourceOwner = whereRelatedByValue(resourceOwnerIdentifier)
..where.expirationDate =
whereLessThanEqualTo(results.first.expirationDate);
return deleteQ.delete();
}
}