Rename RefreshToken usedAt field

This commit is contained in:
Mikhail Yasnov 2021-07-02 14:57:29 +03:00
parent dcc35b3b10
commit 1dde5efd61
5 changed files with 8 additions and 8 deletions

View File

@ -6,6 +6,6 @@ import java.time.ZonedDateTime
data class RefreshToken(
val value: String,
val expiresAt: ZonedDateTime,
val refreshedAt: ZonedDateTime?,
val usedAt: ZonedDateTime?,
val user: User,
)

View File

@ -25,7 +25,7 @@ class RefreshTokenEntity : AuditableUuidIdEntity() {
lateinit var expiresAt: ZonedDateTime
var refreshedAt: ZonedDateTime? = null
var usedAt: ZonedDateTime? = null
@ManyToOne
@JoinColumn(name = "user_id")
@ -45,7 +45,7 @@ class RefreshTokenEntity : AuditableUuidIdEntity() {
lateinit var scopes: Set<ScopeEntity>
fun validate(): RefreshTokenEntity = this.apply {
if (expiresAt.isExpired() || refreshedAt != null) {
if (expiresAt.isExpired() || usedAt != null) {
throw RefreshTokenExpiredException(value)
}
}

View File

@ -7,6 +7,6 @@ interface RefreshTokenCoreService {
fun get(value: String): RefreshToken
fun create(token: NewRefreshToken): RefreshToken
fun setRefreshed(value: String): RefreshToken
fun setUsed(value: String): RefreshToken
}

View File

@ -53,11 +53,11 @@ class RefreshTokenCoreServiceImpl(
}
@Transactional
override fun setRefreshed(value: String): RefreshToken {
override fun setUsed(value: String): RefreshToken {
val refreshToken = refreshTokenRepository.findByValueOrThrow(value)
.validate()
.apply {
refreshedAt = ZonedDateTime.now()
usedAt = ZonedDateTime.now()
}
return refreshTokenRepository.save(refreshToken)
@ -81,7 +81,7 @@ class RefreshTokenCoreServiceImpl(
return RefreshToken(
value = value,
expiresAt = expiresAt,
refreshedAt = refreshedAt,
usedAt = usedAt,
user = user.toDto(device)
)
}

View File

@ -11,5 +11,5 @@ databaseChangeLog:
tableName: refresh_tokens
columns:
- column:
name: refreshed_at
name: used_at
type: TIMESTAMP WITH TIME ZONE