Skip to content

Commit

Permalink
Find the creation date for findExpirableDoc to compare when finding…
Browse files Browse the repository at this point in the history
… expirable entities #1580
  • Loading branch information
JamesChenX committed Dec 2, 2024
1 parent f71a6cb commit 52b3ee8
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,19 @@ protected Flux<T> findExpirableDocs(Filter filter) {
.map(request -> transformExpiredRequest(request, getEntityExpireAfterSeconds()));
}

/**
* @param options Note that the projection must specify the creation date field to return. The
* method does not specify the creation date field here for better performance.
*/
protected Flux<T> findExpirableDocs(Filter filter, QueryOptions options) {
return mongoClient.findMany(entityClass, filter, options)
.map(request -> transformExpiredRequest(request, getEntityExpireAfterSeconds()));
}

/**
* @param options Note that the projection must specify the creation date field to return. The
* method does not specify the creation date field here for better performance.
*/
protected Mono<T> findExpirableDoc(Filter filter, QueryOptions options) {
return mongoClient.findOne(entityClass, filter, options)
.map(request -> transformExpiredRequest(request, getEntityExpireAfterSeconds()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,9 @@ public Mono<GroupInvitation> findGroupIdAndInviteeIdAndStatus(Long invitationId)
QueryOptions options = QueryOptions.newBuilder(1)
.include(GroupInvitation.Fields.GROUP_ID,
GroupInvitation.Fields.INVITEE_ID,
GroupInvitation.Fields.STATUS);
GroupInvitation.Fields.STATUS,
// Required by findExpirableDoc
GroupInvitation.Fields.CREATION_DATE);
return findExpirableDoc(filter, options);
}

Expand All @@ -148,7 +150,9 @@ public Mono<GroupInvitation> findGroupIdAndInviterIdAndInviteeIdAndStatus(Long i
.include(GroupInvitation.Fields.GROUP_ID,
GroupInvitation.Fields.INVITER_ID,
GroupInvitation.Fields.INVITEE_ID,
GroupInvitation.Fields.STATUS);
GroupInvitation.Fields.STATUS,
// Required by findExpirableDoc
GroupInvitation.Fields.CREATION_DATE);
return findExpirableDoc(filter, options);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,9 @@ public Mono<GroupJoinRequest> findRequesterIdAndStatusAndGroupId(Long requestId)
QueryOptions options = QueryOptions.newBuilder(1)
.include(GroupJoinRequest.Fields.REQUESTER_ID,
GroupJoinRequest.Fields.STATUS,
GroupJoinRequest.Fields.GROUP_ID);
GroupJoinRequest.Fields.GROUP_ID,
// Required by findExpirableDoc
GroupJoinRequest.Fields.CREATION_DATE);
return findExpirableDoc(filter, options);
}

Expand Down

0 comments on commit 52b3ee8

Please sign in to comment.