feat(backend): implement step 3 — VirtualEntityRepository and DispatchLogRepository
This commit is contained in:
@@ -0,0 +1,19 @@
|
|||||||
|
package com.condado.newsletter.repository
|
||||||
|
|
||||||
|
import com.condado.newsletter.model.DispatchLog
|
||||||
|
import com.condado.newsletter.model.VirtualEntity
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository
|
||||||
|
import java.util.Optional
|
||||||
|
import java.util.UUID
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Repository for [DispatchLog] with custom query methods.
|
||||||
|
*/
|
||||||
|
interface DispatchLogRepository : JpaRepository<DispatchLog, UUID> {
|
||||||
|
|
||||||
|
/** Returns all dispatch logs for the given [VirtualEntity]. */
|
||||||
|
fun findAllByVirtualEntity(virtualEntity: VirtualEntity): List<DispatchLog>
|
||||||
|
|
||||||
|
/** Returns the most recent dispatch log for the given [VirtualEntity], or empty if none exist. */
|
||||||
|
fun findTopByVirtualEntityOrderByDispatchedAtDesc(virtualEntity: VirtualEntity): Optional<DispatchLog>
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.condado.newsletter.repository
|
||||||
|
|
||||||
|
import com.condado.newsletter.model.VirtualEntity
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository
|
||||||
|
import java.util.Optional
|
||||||
|
import java.util.UUID
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Repository for [VirtualEntity] with custom query methods.
|
||||||
|
*/
|
||||||
|
interface VirtualEntityRepository : JpaRepository<VirtualEntity, UUID> {
|
||||||
|
|
||||||
|
/** Returns all entities where [VirtualEntity.active] is true. */
|
||||||
|
fun findAllByActiveTrue(): List<VirtualEntity>
|
||||||
|
|
||||||
|
/** Finds an entity by its unique email address. */
|
||||||
|
fun findByEmail(email: String): Optional<VirtualEntity>
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user