package gc.mda.kcg.audit.annotation;

import java.lang.annotation.*;

/**
 * 메서드 실행 시 감사로그 자동 기록.
 *
 * 사용 예:
 * <pre>
 * @Auditable(action = "CONFIRM_PARENT", resourceType = "GEAR_GROUP")
 * public void confirmParent(String groupKey, ...) { ... }
 * </pre>
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Auditable {
    /** 액션 코드 (예: CONFIRM_PARENT, REJECT_PARENT, USER_CREATE, ROLE_GRANT, PERM_UPDATE) */
    String action();

    /** 리소스 타입 (예: VESSEL, GROUP, USER, ROLE, SYSTEM) */
    String resourceType() default "SYSTEM";
}
