1 package fr.tiogars.inception.config;
2
3 import java.time.Clock;
4 import java.time.Instant;
5 import java.time.temporal.ChronoUnit;
6 import java.util.Optional;
7
8 import org.springframework.context.annotation.Bean;
9 import org.springframework.context.annotation.Configuration;
10 import org.springframework.data.auditing.DateTimeProvider;
11 import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
12
13
14 @Configuration
15 @EnableJpaAuditing(auditorAwareRef = "securityAuditorAware", dateTimeProviderRef = "auditDateTimeProvider")
16 public class JpaAuditingConfiguration {
17
18 @Bean
19 public Clock auditClock() {
20 return Clock.systemUTC();
21 }
22
23 @Bean
24 public DateTimeProvider auditDateTimeProvider(Clock auditClock) {
25 return () -> Optional.of(Instant.now(auditClock).truncatedTo(ChronoUnit.MICROS));
26 }
27 }