From 0203be66d262c3e072f6c63a42660e23ab017e61 Mon Sep 17 00:00:00 2001
From: ccornu <ccornu@takima.fr>
Date: Tue, 11 Feb 2025 18:00:35 +0100
Subject: [PATCH] feat: change db config to use application.yaml values

---
 .../docker/dynamodb/shared-local-instance.db  | Bin 57344 -> 16384 bytes
 .../configuration/DynamoDbConfiguration.kt    |  13 ++++++++++++-
 src/main/resources/application.yaml           |   2 ++
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/docker/db/docker/dynamodb/shared-local-instance.db b/docker/db/docker/dynamodb/shared-local-instance.db
index d26d270ffd2ecfc6d03c96bea43216035c52cac1..652e3194249a2f8032ea2f1247fd20c7d369cc05 100644
GIT binary patch
delta 581
zcmZoTz}(Qls1O|JlUb6gkd|MRn^>Y?%)r9H$jIQJpuoVuz|6qFATUwEUYeOf_Zd4Y
z0|Nsi^KS+Q1_mzX-wd}Idl|MdY@0aIhDn)yayPH+=8HVPm>5|mU*Ol~XJBC9WaR~G
z_{PBeZR5l@%#**#^RqHZGB8PQoXF2KSyE4t<?DN2-_3S<n;4})th~~k9L6ai*8l%p
zV67h*m_KZs_>6h-2YXRQmW>mCF;5C$g)$Og41@@a5G%ud28R2L{LC!On#{LRoyT4r
zZ&+N+(KvCU9n`^GP!W9=_Q@Cc4K}aim13HFo#(m?$l)9e#taOz87mp*F@-YSV`gSP
z&S1<C&k#S+QG7BNrxv5YWK&MN%~!dZ8HG(a*u@0}8JmJj5|eULON&d3xhETPFA-+r
z1dBJ8gT+gVN{V<UH*?Ko<egl^sm{nZc^2mtc7Bju3=qFz^AZ~)^BM-`H5(@`VvY-9
zWR);sEO1KA%gQg7>)f+=$sD<TOT$#EtX$7Zz3Y+OEm^HpP@GztlCNY{trV<er36u`
zRI8&@ke``XQtVfno0M7vlJ!%vQZi7gt%U?MERIAtnI$+OnjjJ{7?@vdoOq8}LY&!z
H6PuL)sp+lk

delta 613
zcmZo@U~D+RtPmXNlUb6gkd|MRn^>Y?%pkzP$jIQJpuoVuz{J47z&BCBUY&_SPbYwv
z{{#asCl>?%1>SZ1i+Qf|c5+|g*~Bf&mCyBqvxv)#lWVh}z<cJ+3IY$9Co8aQoouY4
z#mF}~PQ`9Ai@F*k&tz@&E26xOY@F=kf`W{V<t2$pIjJQ@B}H75Gu38_ayOcAfMuG3
z!7`=ArNx|+H>ob!JV%9@apRrOOspIX3=9mDFEDHKhqy+BX!0^JFfj6eW8nXWuo!GR
zn3$}<5<B@DJ3lL*Bm<u$h6<Jhrpc0AiY)KFgIzb<acyFh0<rQ+b8;A`fLQ<kbAgTj
pz`*|jLo>vO;gdh`i!ut}kj<VX!iq;y0-q%LI%#AqUI*cm1OTB!w_pGO

diff --git a/src/main/kotlin/configuration/DynamoDbConfiguration.kt b/src/main/kotlin/configuration/DynamoDbConfiguration.kt
index 0b8963a..b55b82c 100644
--- a/src/main/kotlin/configuration/DynamoDbConfiguration.kt
+++ b/src/main/kotlin/configuration/DynamoDbConfiguration.kt
@@ -2,17 +2,28 @@ package betclic.test.configuration
 
 import io.ktor.server.config.*
 import org.slf4j.LoggerFactory
+import software.amazon.awssdk.auth.credentials.AwsBasicCredentials
+import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider
 import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedAsyncClient
+import software.amazon.awssdk.regions.Region
 import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient
 import java.net.URI
 
+private const val APPLICATION_YAML = "application.yaml"
+
 class DynamoDbConfiguration {
     private val logger = LoggerFactory.getLogger(DynamoDbConfiguration::class.java)
 
     fun createDynamoDbClient(): DynamoDbAsyncClient {
-        val url = ApplicationConfig("application.yaml").property("ktor.database.dynamodbUrl").getString()
+        val url = ApplicationConfig(APPLICATION_YAML).property("ktor.database.dynamodbUrl").getString()
+        val accessKey = ApplicationConfig(APPLICATION_YAML).property("ktor.database.accessKey").getString()
+        val secretKey = ApplicationConfig(APPLICATION_YAML).property("ktor.database.secretKey").getString()
         return DynamoDbAsyncClient.builder()
             .endpointOverride(URI(url))
+            .region(Region.US_EAST_1)
+            .credentialsProvider(
+                StaticCredentialsProvider.create(AwsBasicCredentials.create(accessKey, secretKey))
+            )
             .build()
 
     }
diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml
index bd3c34f..d9ece3a 100644
--- a/src/main/resources/application.yaml
+++ b/src/main/resources/application.yaml
@@ -6,3 +6,5 @@ ktor:
     port: 8080
   database:
     dynamodbUrl: "http://localhost:8000"
+    accessKey: "dummy"
+    secretKey: "dummy"
-- 
GitLab