1
1
package com.vauthenticator.server.config
2
2
3
+ import com.fasterxml.jackson.databind.ObjectMapper
3
4
import com.vauthenticator.server.ticket.adapter.dynamodb.DynamoDbTicketRepository
5
+ import com.vauthenticator.server.ticket.adapter.jdbc.JdbcTicketRepository
4
6
import com.vauthenticator.server.ticket.domain.TicketCreator
5
7
import com.vauthenticator.server.ticket.domain.TicketFeatures
6
8
import com.vauthenticator.server.ticket.domain.TicketRepository
7
9
import org.springframework.beans.factory.annotation.Value
8
10
import org.springframework.context.annotation.Bean
9
11
import org.springframework.context.annotation.Configuration
12
+ import org.springframework.context.annotation.Profile
13
+ import org.springframework.jdbc.core.JdbcTemplate
10
14
import software.amazon.awssdk.services.dynamodb.DynamoDbClient
11
15
import java.time.Clock
12
16
import java.time.Duration
@@ -15,12 +19,20 @@ import java.util.*
15
19
@Configuration(proxyBeanMethods = false )
16
20
class TicketConfig {
17
21
18
- @Bean
19
- fun ticketRepository (
22
+ @Bean(" ticketRepository" )
23
+ @Profile(" !experimental_database_persistence" )
24
+ fun dynamoDbTicketRepository (
20
25
@Value(" \$ {vauthenticator.dynamo-db.ticket.table-name}" ) tableName : String ,
21
26
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)
24
36
25
37
26
38
@Bean
0 commit comments