Skip to content

Commit a55b792

Browse files
authored
Merge pull request #247 from VAuthenticator/tiket-repository-on-postgres
Ticket repository on postgres
2 parents 9dfca20 + f0ef34f commit a55b792

32 files changed

+332
-160
lines changed

src/main/kotlin/com/vauthenticator/server/account/emailverification/SendVerifyEMailChallenge.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import com.vauthenticator.server.communication.domain.EMailSenderService
66
import com.vauthenticator.server.mfa.domain.MfaMethod
77
import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollment
88
import com.vauthenticator.server.oauth2.clientapp.domain.ClientAppId
9-
import com.vauthenticator.server.ticket.Ticket
10-
import com.vauthenticator.server.ticket.Ticket.Companion.MFA_SELF_ASSOCIATION_CONTEXT_VALUE
11-
import com.vauthenticator.server.ticket.TicketId
9+
import com.vauthenticator.server.ticket.domain.Ticket
10+
import com.vauthenticator.server.ticket.domain.Ticket.Companion.MFA_SELF_ASSOCIATION_CONTEXT_VALUE
11+
import com.vauthenticator.server.ticket.domain.TicketId
1212
import org.slf4j.LoggerFactory
1313

1414
private const val LINK_KEY = "verificationEMailLink"

src/main/kotlin/com/vauthenticator/server/account/emailverification/VerifyEMailChallenge.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ package com.vauthenticator.server.account.emailverification
33
import com.vauthenticator.server.account.Account
44
import com.vauthenticator.server.account.repository.AccountRepository
55
import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollmentAssociation
6-
import com.vauthenticator.server.ticket.InvalidTicketException
7-
import com.vauthenticator.server.ticket.TicketId
8-
import com.vauthenticator.server.ticket.TicketRepository
6+
import com.vauthenticator.server.ticket.domain.InvalidTicketException
7+
import com.vauthenticator.server.ticket.domain.TicketId
8+
import com.vauthenticator.server.ticket.domain.TicketRepository
99

1010
class VerifyEMailChallenge(
1111
private val ticketRepository: TicketRepository,

src/main/kotlin/com/vauthenticator/server/config/EMailVerificationConfig.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import com.vauthenticator.server.communication.domain.SimpleEMailMessageFactory
1515
import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollment
1616
import com.vauthenticator.server.mfa.domain.MfaMethodsEnrollmentAssociation
1717
import com.vauthenticator.server.oauth2.clientapp.domain.ClientApplicationRepository
18-
import com.vauthenticator.server.ticket.TicketRepository
18+
import com.vauthenticator.server.ticket.domain.TicketRepository
1919
import org.springframework.beans.factory.annotation.Value
2020
import org.springframework.context.annotation.Bean
2121
import org.springframework.context.annotation.Configuration

src/main/kotlin/com/vauthenticator/server/config/ResetPasswordConfig.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import com.vauthenticator.server.password.PasswordPolicy
1515
import com.vauthenticator.server.password.VAuthenticatorPasswordEncoder
1616
import com.vauthenticator.server.password.resetpassword.ResetAccountPassword
1717
import com.vauthenticator.server.password.resetpassword.SendResetPasswordMailChallenge
18-
import com.vauthenticator.server.ticket.TicketCreator
19-
import com.vauthenticator.server.ticket.TicketRepository
18+
import com.vauthenticator.server.ticket.domain.TicketCreator
19+
import com.vauthenticator.server.ticket.domain.TicketRepository
2020
import org.springframework.beans.factory.annotation.Value
2121
import org.springframework.context.annotation.Bean
2222
import org.springframework.context.annotation.Configuration

src/main/kotlin/com/vauthenticator/server/config/TicketConfig.kt

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
package com.vauthenticator.server.config
22

3-
import com.vauthenticator.server.ticket.DynamoDbTicketRepository
4-
import com.vauthenticator.server.ticket.TicketCreator
5-
import com.vauthenticator.server.ticket.TicketFeatures
6-
import com.vauthenticator.server.ticket.TicketRepository
3+
import com.fasterxml.jackson.databind.ObjectMapper
4+
import com.vauthenticator.server.ticket.adapter.dynamodb.DynamoDbTicketRepository
5+
import com.vauthenticator.server.ticket.adapter.jdbc.JdbcTicketRepository
6+
import com.vauthenticator.server.ticket.domain.TicketCreator
7+
import com.vauthenticator.server.ticket.domain.TicketFeatures
8+
import com.vauthenticator.server.ticket.domain.TicketRepository
79
import org.springframework.beans.factory.annotation.Value
810
import org.springframework.context.annotation.Bean
911
import org.springframework.context.annotation.Configuration
12+
import org.springframework.context.annotation.Profile
13+
import org.springframework.jdbc.core.JdbcTemplate
1014
import software.amazon.awssdk.services.dynamodb.DynamoDbClient
1115
import java.time.Clock
1216
import java.time.Duration
@@ -15,12 +19,20 @@ import java.util.*
1519
@Configuration(proxyBeanMethods = false)
1620
class TicketConfig {
1721

18-
@Bean
19-
fun ticketRepository(
22+
@Bean("ticketRepository")
23+
@Profile("!experimental_database_persistence")
24+
fun dynamoDbTicketRepository(
2025
@Value("\${vauthenticator.dynamo-db.ticket.table-name}") tableName: String,
2126
dynamoDbClient: DynamoDbClient
22-
) =
23-
DynamoDbTicketRepository(dynamoDbClient, tableName)
27+
) = DynamoDbTicketRepository(dynamoDbClient, tableName)
28+
29+
30+
@Bean("ticketRepository")
31+
@Profile("experimental_database_persistence")
32+
fun jdbCTicketRepository(
33+
jdbcTemplate: JdbcTemplate,
34+
objectMapper: ObjectMapper
35+
) = JdbcTicketRepository(jdbcTemplate, objectMapper)
2436

2537

2638
@Bean

src/main/kotlin/com/vauthenticator/server/mfa/MfaConfig.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import com.vauthenticator.server.mask.SensitiveEmailMasker
1616
import com.vauthenticator.server.mask.SensitivePhoneMasker
1717
import com.vauthenticator.server.mfa.adapter.dynamodb.DynamoMfaAccountMethodsRepository
1818
import com.vauthenticator.server.mfa.domain.*
19-
import com.vauthenticator.server.ticket.TicketCreator
20-
import com.vauthenticator.server.ticket.TicketRepository
19+
import com.vauthenticator.server.ticket.domain.TicketCreator
20+
import com.vauthenticator.server.ticket.domain.TicketRepository
2121
import org.springframework.beans.factory.annotation.Value
2222
import org.springframework.boot.context.properties.ConfigurationProperties
2323
import org.springframework.context.annotation.Bean

src/main/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollment.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import com.vauthenticator.server.account.AccountNotFoundException
44
import com.vauthenticator.server.account.repository.AccountRepository
55
import com.vauthenticator.server.mask.SensitiveDataMaskerResolver
66
import com.vauthenticator.server.oauth2.clientapp.domain.ClientAppId
7-
import com.vauthenticator.server.ticket.TicketContext
8-
import com.vauthenticator.server.ticket.TicketCreator
9-
import com.vauthenticator.server.ticket.TicketId
7+
import com.vauthenticator.server.ticket.domain.TicketContext
8+
import com.vauthenticator.server.ticket.domain.TicketCreator
9+
import com.vauthenticator.server.ticket.domain.TicketId
1010
import org.slf4j.LoggerFactory
1111

1212
class MfaMethodsEnrollment(

src/main/kotlin/com/vauthenticator/server/mfa/domain/MfaMethodsEnrollmentAssociation.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.vauthenticator.server.mfa.domain
22

3-
import com.vauthenticator.server.ticket.InvalidTicketException
4-
import com.vauthenticator.server.ticket.Ticket
5-
import com.vauthenticator.server.ticket.TicketId
6-
import com.vauthenticator.server.ticket.TicketRepository
3+
import com.vauthenticator.server.ticket.domain.InvalidTicketException
4+
import com.vauthenticator.server.ticket.domain.Ticket
5+
import com.vauthenticator.server.ticket.domain.TicketId
6+
import com.vauthenticator.server.ticket.domain.TicketRepository
77

88
typealias MfaAssociationVerifier = (ticket: Ticket) -> Unit
99

src/main/kotlin/com/vauthenticator/server/password/resetpassword/ResetAccountPassword.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import com.vauthenticator.server.oauth2.clientapp.domain.ClientAppId
88
import com.vauthenticator.server.password.Password
99
import com.vauthenticator.server.password.PasswordPolicy
1010
import com.vauthenticator.server.password.VAuthenticatorPasswordEncoder
11-
import com.vauthenticator.server.ticket.InvalidTicketException
12-
import com.vauthenticator.server.ticket.Ticket
13-
import com.vauthenticator.server.ticket.TicketId
14-
import com.vauthenticator.server.ticket.TicketRepository
11+
import com.vauthenticator.server.ticket.domain.InvalidTicketException
12+
import com.vauthenticator.server.ticket.domain.Ticket
13+
import com.vauthenticator.server.ticket.domain.TicketId
14+
import com.vauthenticator.server.ticket.domain.TicketRepository
1515
import java.time.Instant
1616
import java.util.*
1717

src/main/kotlin/com/vauthenticator/server/password/resetpassword/RestePasswordEndPoint.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import com.vauthenticator.server.i18n.I18nScope
66
import com.vauthenticator.server.oauth2.clientapp.domain.Scope
77
import com.vauthenticator.server.oauth2.clientapp.domain.Scopes
88
import com.vauthenticator.server.role.domain.PermissionValidator
9-
import com.vauthenticator.server.ticket.TicketId
9+
import com.vauthenticator.server.ticket.domain.TicketId
1010
import jakarta.servlet.http.HttpSession
1111
import org.springframework.http.ResponseEntity
1212
import org.springframework.http.ResponseEntity.noContent

0 commit comments

Comments
 (0)