@@ -2,24 +2,47 @@ package no.nav.paw.arbeidssoeker.synk
2
2
3
3
import no.nav.paw.arbeidssoeker.synk.config.JOB_CONFIG
4
4
import no.nav.paw.arbeidssoeker.synk.config.JobConfig
5
- import no.nav.paw.arbeidssoeker.synk.service.SyncService
6
- import no.nav.paw.config.env.appNameOrDefaultForLocal
5
+ import no.nav.paw.arbeidssoeker.synk.consumer.InngangHttpConsumer
6
+ import no.nav.paw.arbeidssoeker.synk.repository.ArbeidssoekerSynkRepository
7
+ import no.nav.paw.arbeidssoeker.synk.service.ArbeidssoekerSynkService
8
+ import no.nav.paw.arbeidssoeker.synk.utils.flywayMigrate
9
+ import no.nav.paw.client.config.AZURE_M2M_CONFIG
10
+ import no.nav.paw.client.config.AzureAdM2MConfig
11
+ import no.nav.paw.client.factory.createAzureAdM2MTokenClient
7
12
import no.nav.paw.config.hoplite.loadNaisOrLocalConfiguration
13
+ import no.nav.paw.database.config.DATABASE_CONFIG
14
+ import no.nav.paw.database.config.DatabaseConfig
15
+ import no.nav.paw.database.factory.createHikariDataSource
8
16
import no.nav.paw.logging.logger.buildApplicationLogger
17
+ import org.jetbrains.exposed.sql.Database
18
+ import java.nio.file.Paths
9
19
10
20
fun main () {
11
21
val logger = buildApplicationLogger
12
- val jobConfig = loadNaisOrLocalConfiguration<JobConfig >(JOB_CONFIG )
13
- val syncService = SyncService (jobConfig)
14
-
15
- val name = jobConfig.runtimeEnvironment.appNameOrDefaultForLocal(default = " local-job" )
16
22
17
23
try {
18
- logger.info(" Starter $name " )
19
- syncService.syncArbeidssoekere()
24
+ val jobConfig = loadNaisOrLocalConfiguration<JobConfig >(JOB_CONFIG )
25
+ val databaseConfig = loadNaisOrLocalConfiguration<DatabaseConfig >(DATABASE_CONFIG )
26
+ val azureAdM2MConfig = loadNaisOrLocalConfiguration<AzureAdM2MConfig >(AZURE_M2M_CONFIG )
27
+
28
+ logger.info(" Initialiserer jobb" )
29
+
30
+ val dataSource = createHikariDataSource(databaseConfig)
31
+ dataSource.flywayMigrate()
32
+ Database .connect(dataSource)
33
+ val azureAdM2MTokenClient = createAzureAdM2MTokenClient(jobConfig.runtimeEnvironment, azureAdM2MConfig)
34
+ val arbeidssoekerSynkRepository = ArbeidssoekerSynkRepository ()
35
+ val inngangHttpConsumer = InngangHttpConsumer (jobConfig.apiInngangBaseUrl) {
36
+ azureAdM2MTokenClient.createMachineToMachineToken(jobConfig.apiInngangScope)
37
+ }
38
+ val arbeidssoekerSynkService =
39
+ ArbeidssoekerSynkService (jobConfig, arbeidssoekerSynkRepository, inngangHttpConsumer)
40
+
41
+ logger.info(" Starter jobb" )
42
+ arbeidssoekerSynkService.synkArbeidssoekere(Paths .get(jobConfig.syncFilePath))
20
43
} catch (throwable: Throwable ) {
21
44
logger.error(" Kjøring feilet" , throwable)
22
45
} finally {
23
- logger.info(" Avslutter $name " )
46
+ logger.info(" Avslutter jobb " )
24
47
}
25
48
}
0 commit comments