Skip to content

Commit 853b51a

Browse files
authored
Fixed AD auditor is not capturing all user creation events (#659) (#697)
1 parent 6829870 commit 853b51a

File tree

6 files changed

+16
-6
lines changed

6 files changed

+16
-6
lines changed

user-auditor/src/main/java/com/utmstack/userauditor/model/SourceScan.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class SourceScan extends Base implements Auditable {
2020
@Column(name = "next_execution_date")
2121
private LocalDateTime executionDate;
2222

23-
@OneToOne
23+
@ManyToOne
2424
@JoinColumn(name = "user_sources_id")
2525
@JsonIgnore
2626
UserSource source;

user-auditor/src/main/java/com/utmstack/userauditor/model/UserSource.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ public class UserSource extends Base {
2222
@Column(name = "index_name")
2323
private String indexName;
2424

25-
@OneToOne(mappedBy = "source", cascade = CascadeType.ALL)
26-
SourceScan source;
25+
@OneToMany(mappedBy = "source", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
26+
List<SourceScan> sources;
2727

2828
@OneToMany(mappedBy = "source", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
2929
List<SourceFilter> filters;

user-auditor/src/main/java/com/utmstack/userauditor/repository/SourceScanRepository.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.utmstack.userauditor.model.SourceScan;
44
import org.springframework.data.jpa.repository.JpaRepository;
5+
import org.springframework.data.jpa.repository.Query;
6+
import org.springframework.data.repository.query.Param;
57
import org.springframework.stereotype.Repository;
68

79
import java.util.Optional;
@@ -12,5 +14,7 @@
1214

1315
@Repository
1416
public interface SourceScanRepository extends JpaRepository<SourceScan, Long> {
15-
Optional<SourceScan> findBySource_Id(Long id);
17+
18+
@Query("SELECT ss FROM SourceScan ss WHERE ss.source.id = :sourceId ORDER BY ss.executionDate DESC")
19+
Optional<SourceScan> findLatestBySourceId(@Param("sourceId") Long sourceId);
1620
}

user-auditor/src/main/java/com/utmstack/userauditor/service/Impl/WindowsSource.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,9 @@ public SourceType getType() {
7777
@Override
7878
public Map<String, List<EventLog>> findUsers(UserSource userSource) throws Exception {
7979

80-
SourceScan scan = sourceScanRepository.findBySource_Id(userSource.getId())
80+
this.userEvents = new HashMap<>();
81+
82+
SourceScan scan = sourceScanRepository.findLatestBySourceId(userSource.getId())
8183
.orElse(SourceScan.builder()
8284
.source(userSource)
8385
.executionDate(LocalDateTime.of(LocalDate.of(startYear, 1, 1), LocalTime.now()))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
delete from utm_source_scan;
2+

user-auditor/src/main/resources/db/changelog/db.changelog-master.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@ databaseChangeLog:
22
- include:
33
file: classpath:/db/changelog/changes/001-initial-schema.sql
44
- include:
5-
file: classpath:/db/changelog/changes/002-2024-01-09-change-next-execution-date.sql
5+
file: classpath:/db/changelog/changes/002-2024-01-09-change-next-execution-date.sql
6+
- include:
7+
file: classpath:/db/changelog/changes/003-2024-05-29-clean-source-scans.sql

0 commit comments

Comments
 (0)