Skip to content

Instantly share code, notes, and snippets.

@CharlesLuxinger
Last active May 26, 2021 20:22
Show Gist options
  • Save CharlesLuxinger/91ddd4b7f8ff0be384a762073f0c69b6 to your computer and use it in GitHub Desktop.
Save CharlesLuxinger/91ddd4b7f8ff0be384a762073f0c69b6 to your computer and use it in GitHub Desktop.
Mongo Config With Auditing and OffDateTime & Decimal128/BigDecimal Converter
package br.com.soudonus.credit.port.config
import br.com.soudonus.credit.port.config.converter.BigDecimalToDecimal128Converter.bigDecimalToDecimal128
import br.com.soudonus.credit.port.config.converter.BigDecimalToDecimal128Converter.decimal128ToBigDecimal
import br.com.soudonus.credit.port.config.converter.OffsetDateTimeReadConverter
import br.com.soudonus.credit.port.config.converter.OffsetDateTimeWriteConverter
import java.time.OffsetDateTime
import java.util.Optional
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.data.auditing.DateTimeProvider
import org.springframework.data.mongodb.config.EnableMongoAuditing
import org.springframework.data.mongodb.core.convert.MongoCustomConversions
@Configuration
@EnableMongoAuditing(dateTimeProviderRef = "auditingDateTimeProvider")
class MongoConfig {
@Bean
fun mongoCustomConversions(): MongoCustomConversions {
return MongoCustomConversions(
listOf(
OffsetDateTimeReadConverter(), OffsetDateTimeWriteConverter(),
decimal128ToBigDecimal(), bigDecimalToDecimal128()
)
)
}
@Bean
fun auditingDateTimeProvider() = DateTimeProvider { Optional.of(OffsetDateTime.now()) }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment