Merge branch 'main' of https://github.com/dg04-hi/hi-backend into mn
# Conflicts: # build.gradle
This commit is contained in:
@@ -11,7 +11,10 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||
*/
|
||||
@Configuration
|
||||
@ComponentScan(basePackages = "com.ktds.hi.common")
|
||||
@EntityScan(basePackages = "com.ktds.hi.common.entity")
|
||||
@EntityScan(basePackages = {
|
||||
"com.ktds.hi.common.entity",
|
||||
"com.ktds.hi.common.audit"
|
||||
})
|
||||
@EnableJpaRepositories(basePackages = "com.ktds.hi.common.repository")
|
||||
public class CommonModuleConfiguration {
|
||||
// 설정 클래스는 어노테이션만으로도 충분
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
package com.ktds.hi.common.audit;
|
||||
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.EntityListeners;
|
||||
import jakarta.persistence.Id;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -7,15 +10,20 @@ import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
|
||||
|
||||
/**
|
||||
* 감사 로그 엔티티
|
||||
*/
|
||||
@Getter
|
||||
@Entity
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EntityListeners(AuditingEntityListener.class)
|
||||
public class AuditLog {
|
||||
|
||||
@Id
|
||||
private Long id;
|
||||
private String entityType;
|
||||
private String entityId;
|
||||
@@ -26,4 +34,8 @@ public class AuditLog {
|
||||
private String userAgent;
|
||||
private String ipAddress;
|
||||
private LocalDateTime timestamp;
|
||||
private LocalDateTime createdAt;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
package com.ktds.hi.common.audit;
|
||||
|
||||
/**
|
||||
* 감사 로그 리포지토리 인터페이스
|
||||
*/
|
||||
public interface AuditLogRepository {
|
||||
|
||||
void save(AuditLog auditLog);
|
||||
|
||||
AuditLog findById(Long id);
|
||||
}
|
||||
@@ -29,7 +29,7 @@ public class AuditLogger {
|
||||
*/
|
||||
public void logCreate(Object entity) {
|
||||
try {
|
||||
AuditLog auditLog = AuditLog.builder()
|
||||
AuditLog auditLog = AuditLog.builder()
|
||||
.entityType(entity.getClass().getSimpleName())
|
||||
.entityId(extractEntityId(entity))
|
||||
.action(AuditAction.CREATE)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ktds.hi.common.audit;
|
||||
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.data.domain.AuditorAware;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
@@ -11,6 +12,7 @@ import java.util.Optional;
|
||||
* JPA Auditing을 위한 사용자 정보 제공자
|
||||
*/
|
||||
@Component
|
||||
@ConditionalOnClass(AuditorAware.class) // 👈 이 어노테이션 추가
|
||||
public class CustomAuditorAware implements AuditorAware<String> {
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user