Package org.localify.repositories
Interface UserFavoriteEventRepository
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<UserFavoriteEvent,,UUID> org.springframework.data.jpa.repository.JpaRepository<UserFavoriteEvent,,UUID> org.springframework.data.repository.ListCrudRepository<UserFavoriteEvent,,UUID> org.springframework.data.repository.ListPagingAndSortingRepository<UserFavoriteEvent,,UUID> org.springframework.data.repository.PagingAndSortingRepository<UserFavoriteEvent,,UUID> org.springframework.data.repository.query.QueryByExampleExecutor<UserFavoriteEvent>,org.springframework.data.repository.Repository<UserFavoriteEvent,UUID>
public interface UserFavoriteEventRepository
extends org.springframework.data.jpa.repository.JpaRepository<UserFavoriteEvent,UUID>
Repository for
UserFavoriteEvent entities.-
Method Summary
Modifier and TypeMethodDescriptionvoidaddFavoriteEvent(@NotNull UUID userId, @NotNull UUID eventId) Adds a favorite event for a user.countByCreatedAtBetween(Instant start, Instant end) Counts the number of favorite events created between two timestamps.findAllByEventId(UUID eventId) Finds all favorite event relationships for an event.findAllByUserId(UUID userId) Finds all of a user's favorite events.findByUserAndEvent(User user, Event event) Finds a user's favorite event by user and event.org.springframework.data.domain.Page<UserFavoriteEvent>findByUserIdAndDeletedAtNull(UUID userId, org.springframework.data.domain.Pageable pageable) Finds a page of a user's non-deleted favorite events.findByUserIdAndEventId(UUID userId, UUID eventId) Finds a user's favorite event by user ID and event ID.org.springframework.data.domain.Page<UserFavoriteEvent>findByUserIdAndEventStartTimeAfterAndDeletedAtNullOrderByEventStartTimeAsc(UUID userId, org.springframework.data.domain.Pageable pageable, Instant startTime) Finds a page of a user's non-deleted favorite events after a certain start time, ordered by start time.org.springframework.data.domain.Page<UserFavoriteEvent>findByUserIdAndEventStartTimeBeforeAndDeletedAtNullOrderByEventStartTimeDesc(UUID userId, org.springframework.data.domain.Pageable pageable, Instant startTime) Finds a page of a user's non-deleted favorite events before a certain start time, ordered by start time descending.Methods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, saveMethods inherited from interface org.springframework.data.jpa.repository.JpaRepository
deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlushMethods inherited from interface org.springframework.data.repository.ListCrudRepository
findAll, findAllById, saveAllMethods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor
count, exists, findAll, findBy, findOne
-
Method Details
-
findByUserAndEvent
Finds a user's favorite event by user and event.- Parameters:
user- The user.event- The event.- Returns:
- An optional containing the user's favorite event if found, otherwise empty.
-
findByUserIdAndEventId
Finds a user's favorite event by user ID and event ID.- Parameters:
userId- The ID of the user.eventId- The ID of the event.- Returns:
- An optional containing the user's favorite event if found, otherwise empty.
-
findByUserIdAndDeletedAtNull
org.springframework.data.domain.Page<UserFavoriteEvent> findByUserIdAndDeletedAtNull(UUID userId, org.springframework.data.domain.Pageable pageable) Finds a page of a user's non-deleted favorite events.- Parameters:
userId- The ID of the user.pageable- The pageable request.- Returns:
- A page of user favorite events.
-
findByUserIdAndEventStartTimeAfterAndDeletedAtNullOrderByEventStartTimeAsc
org.springframework.data.domain.Page<UserFavoriteEvent> findByUserIdAndEventStartTimeAfterAndDeletedAtNullOrderByEventStartTimeAsc(UUID userId, org.springframework.data.domain.Pageable pageable, Instant startTime) Finds a page of a user's non-deleted favorite events after a certain start time, ordered by start time.- Parameters:
userId- The ID of the user.pageable- The pageable request.startTime- The minimum start time.- Returns:
- A page of user favorite events.
-
findByUserIdAndEventStartTimeBeforeAndDeletedAtNullOrderByEventStartTimeDesc
org.springframework.data.domain.Page<UserFavoriteEvent> findByUserIdAndEventStartTimeBeforeAndDeletedAtNullOrderByEventStartTimeDesc(UUID userId, org.springframework.data.domain.Pageable pageable, Instant startTime) Finds a page of a user's non-deleted favorite events before a certain start time, ordered by start time descending.- Parameters:
userId- The ID of the user.pageable- The pageable request.startTime- The maximum start time.- Returns:
- A page of user favorite events.
-
findAllByUserId
Finds all of a user's favorite events.- Parameters:
userId- The ID of the user.- Returns:
- A list of user favorite events.
-
addFavoriteEvent
@Modifying @Query(value="insert into user_favorite_events (user_id, event_id, created_at) values (:userId, :eventId, current_timestamp) on conflict do nothing", nativeQuery=true) void addFavoriteEvent(@NotNull @NotNull UUID userId, @NotNull @NotNull UUID eventId) Adds a favorite event for a user.- Parameters:
userId- The ID of the user.eventId- The ID of the event.
-
countByCreatedAtBetween
Counts the number of favorite events created between two timestamps.- Parameters:
start- The start timestamp.end- The end timestamp.- Returns:
- A completable future containing the number of favorite events.
-
findAllByEventId
Finds all favorite event relationships for an event.- Parameters:
eventId- The ID of the event.- Returns:
- A list of user favorite events.
-