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