Skip to content

Commit 2f53df4

Browse files
authored
Merge pull request #18 from ithsjava25/7-create-loggerentity
7 create loggerentity
2 parents af71e80 + 70857c6 commit 2f53df4

6 files changed

Lines changed: 100 additions & 0 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package demo.codeexample.enums;
2+
3+
public enum LoggerAction {
4+
PROJECT_CREATED,
5+
PROJECT_UPDATED,
6+
STATUS_CHANGED,
7+
USER_ASSIGNED,
8+
TASK_CREATED,
9+
COMMENT_ADDED,
10+
FILE_UPLOADED
11+
}

src/main/java/demo/codeexample/logger/LoggerController.java

Whitespace-only changes.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package demo.codeexample.logger;
2+
3+
import demo.codeexample.enums.LoggerAction;
4+
import lombok.Data;
5+
6+
import java.time.LocalDateTime;
7+
8+
@Data
9+
public class LoggerDto {
10+
11+
private Long id;
12+
13+
private LoggerAction action;
14+
15+
private String message;
16+
17+
private String userName;
18+
19+
private String projectTitle;
20+
21+
private LocalDateTime createdAt;
22+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,40 @@
11
package demo.codeexample.logger;
22

3+
import demo.codeexample.enums.LoggerAction;
4+
import demo.codeexample.project.ProjectEntity;
5+
import demo.codeexample.user.UserEntity;
6+
import jakarta.persistence.*;
7+
import lombok.Getter;
8+
import lombok.NoArgsConstructor;
9+
import lombok.Setter;
10+
11+
import java.time.LocalDateTime;
12+
13+
@Entity
14+
@Getter
15+
@Setter
16+
@NoArgsConstructor
317
public class LoggerEntity {
18+
19+
@Id
20+
@GeneratedValue(strategy = GenerationType.IDENTITY)
21+
private Long id;
22+
23+
@Enumerated(EnumType.STRING)
24+
private LoggerAction action;
25+
26+
private String message;
27+
28+
@ManyToOne
29+
private UserEntity user;
30+
31+
@ManyToOne
32+
private ProjectEntity project;
33+
34+
private LocalDateTime createdAt;
35+
36+
@PrePersist
37+
public void onCreate() {
38+
this.createdAt = LocalDateTime.now();
39+
}
440
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package demo.codeexample.logger;
2+
3+
4+
import org.springframework.data.jpa.repository.JpaRepository;
5+
6+
public interface LoggerRepository extends JpaRepository<LoggerEntity, Long> {
7+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package demo.codeexample.logger;
2+
3+
import demo.codeexample.enums.LoggerAction;
4+
import demo.codeexample.project.ProjectEntity;
5+
import demo.codeexample.user.UserEntity;
6+
import lombok.RequiredArgsConstructor;
7+
import org.springframework.stereotype.Service;
8+
9+
@Service
10+
@RequiredArgsConstructor
11+
public class LoggerService {
12+
13+
private final LoggerRepository loggerRepository;
14+
15+
public void log(LoggerAction action, String message, UserEntity user, ProjectEntity project) {
16+
LoggerEntity log = new LoggerEntity();
17+
log.setAction(action);
18+
log.setMessage(message);
19+
log.setUser(user);
20+
log.setProject(project);
21+
22+
loggerRepository.save(log);
23+
}
24+
}

0 commit comments

Comments
 (0)