package tech.easyflow.approval.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 提交审批动作注解。
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ApprovalAction {

    /**
     * 资源类型。
     *
     * @return 资源类型编码
     */
    String resourceType();

    /**
     * 动作类型。
     *
     * @return 动作类型编码
     */
    String actionType();

    /**
     * 资源 ID 的 SpEL 表达式。
     *
     * @return SpEL 表达式
     */
    String idExpr();
}
