package ru.soune.nocopy.entity; import jakarta.persistence.*; import lombok.*; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import java.time.LocalDateTime; @Entity @Table(name = "user_actions") @Getter @Setter @NoArgsConstructor @AllArgsConstructor @ToString @EntityListeners(AuditingEntityListener.class) public class UserAction { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long actionId; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", nullable = false) @ToString.Exclude private User user; @Column(name = "action", nullable = false, length = 100) private String action; @Column(name = "details", columnDefinition = "TEXT") private String details; @Column(name = "ip_address", length = 45) private String ipAddress; @Column(name = "user_agent", columnDefinition = "TEXT") private String userAgent; @CreatedDate @Column(name = "created_at", nullable = false, updatable = false) private LocalDateTime createdAt; }