package dev.lions.user.manager.server.impl.interceptor;

import jakarta.interceptor.InterceptorBinding;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Annotation pour auditer automatiquement l'exécution d'une méthode.
 */
@InterceptorBinding
@Target({ ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface Logged {

    /**
     * Type d'action d'audit (ex: UPDATE_USER).
     */
    String action() default "";

    /**
     * Type de ressource concernée (ex: USER).
     */
    String resource() default "";
}
