feat: Add new initial application form template, migration from JSON to YAML
This commit is contained in:
@@ -23,6 +23,7 @@ repositories {
|
||||
|
||||
dependencies {
|
||||
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
|
||||
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml'
|
||||
implementation 'org.jetbrains.kotlin:kotlin-reflect'
|
||||
implementation 'org.liquibase:liquibase-core'
|
||||
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.6'
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.betriebsratkanzlei.legalconsenthub.user.User
|
||||
import com.betriebsratkanzlei.legalconsenthub.user.UserRepository
|
||||
import com.betriebsratkanzlei.legalconsenthub_api.model.ApplicationFormDto
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.boot.ApplicationArguments
|
||||
import org.springframework.boot.ApplicationRunner
|
||||
@@ -18,8 +19,9 @@ class InitialApplicationFormTemplateSeeder(
|
||||
private val applicationFormRepository: ApplicationFormRepository,
|
||||
private val applicationFormMapper: ApplicationFormMapper,
|
||||
private val userRepository: UserRepository,
|
||||
private val objectMapper: ObjectMapper,
|
||||
) : ApplicationRunner {
|
||||
private val yamlMapper = ObjectMapper(YAMLFactory()).findAndRegisterModules()
|
||||
|
||||
override fun run(args: ApplicationArguments) {
|
||||
seedInitialTemplateIfMissing()
|
||||
}
|
||||
@@ -43,7 +45,7 @@ class InitialApplicationFormTemplateSeeder(
|
||||
|
||||
private fun loadInitialTemplateDto(): ApplicationFormDto =
|
||||
ClassPathResource(INITIAL_TEMPLATE_RESOURCE_PATH).inputStream.use { inputStream ->
|
||||
objectMapper.readValue(inputStream, ApplicationFormDto::class.java)
|
||||
yamlMapper.readValue(inputStream, ApplicationFormDto::class.java)
|
||||
}
|
||||
|
||||
private fun getOrCreateSeedingUser(): User {
|
||||
@@ -63,7 +65,7 @@ class InitialApplicationFormTemplateSeeder(
|
||||
companion object {
|
||||
private val log = LoggerFactory.getLogger(InitialApplicationFormTemplateSeeder::class.java)
|
||||
|
||||
private const val INITIAL_TEMPLATE_RESOURCE_PATH = "seed/initial_application_form_template.json"
|
||||
private const val INITIAL_TEMPLATE_RESOURCE_PATH = "seed/initial_application_form_template.yaml"
|
||||
private const val SEEDING_USER_ID = "system-seeder"
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user