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;

    @Column(columnDefinition = "TEXT")
    String target_name;

    @Column(columnDefinition = "TEXT")
    String message;

    public enum ActionType {
        ADD, REMOVE, UPDATE
    }

    public enum ObjectType {
        Membre, Affiliation, Licence, Club, Competition, Register, Selection
    }

}
