-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path08-Repositories.kt
27 lines (20 loc) · 911 Bytes
/
08-Repositories.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@Repository
interface AccountRepository : CoroutineCrudRepository<Account, UUID>
@Repository
interface AccountUserRepository : CoroutineCrudRepository<AccountUser, UUID>
@Repository
interface UserRepository : CoroutineCrudRepository<User, UUID> {
suspend fun existsByEmail(email: String): Boolean
@Modifying
@Query("UPDATE auth_users SET last_logged_on = NOW() WHERE id = :id")
suspend fun updateLastLoggedOn(id: UUID)
@Modifying
@Query("UPDATE auth_users SET is_email_verified = true WHERE id = :id")
suspend fun updateEmailVerified(id: UUID?)
}
@Repository
interface UserTokenRepository : CoroutineCrudRepository<UserToken, UUID> {
suspend fun findByValueAndExpiresOnIsAfterAndType(value: String, now: LocalDateTime, type: UserTokenType): UserToken?
suspend fun deleteByUserIdAndType(userId: UUID, type: UserTokenType)
suspend fun deleteByValue(value: String)
}