wip: LoggerService

This commit is contained in:
2025-07-02 23:07:01 +02:00
parent 0c4b88b5cd
commit ad58958f49
6 changed files with 212 additions and 31 deletions

View File

@@ -0,0 +1,45 @@
package fr.titionfire.ffsaf.data.model;
import io.quarkus.runtime.annotations.RegisterForReflection;
import jakarta.persistence.*;
import lombok.*;
import java.util.Date;
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@RegisterForReflection
@Entity
@Table(name = "log")
public class LogModel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
String subject;
Date dateTime;
ActionType action;
ObjectType object;
Long target_id;
String target_name;
String message;
public enum ActionType {
ADD, REMOVE, UPDATE
}
public enum ObjectType {
Membre, Affiliation, Licence, Club, Competition, Register
}
}

View File

@@ -0,0 +1,7 @@
package fr.titionfire.ffsaf.data.model;
public interface LoggableModel {
Long getId();
String getObjectName();
LogModel.ObjectType getObjectType();
}

View File

@@ -21,7 +21,7 @@ import java.util.List;
@Entity
@Table(name = "membre")
public class MembreModel {
public class MembreModel implements LoggableModel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -72,4 +72,14 @@ public class MembreModel {
@OneToMany(mappedBy = "membre", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@Schema(description = "Les licences du membre. (optionnel)")
List<LicenceModel> licences;
@Override
public String getObjectName() {
return fname + " " + lname;
}
@Override
public LogModel.ObjectType getObjectType() {
return LogModel.ObjectType.Membre;
}
}