package tech.easyflow.system.permission.resource;

import tech.easyflow.system.enums.CategoryResourceType;
import tech.easyflow.system.enums.ResourceAction;
import tech.easyflow.system.enums.ResourceLookup;

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 RequireResourceAccess {

    CategoryResourceType resource();

    ResourceAction action();

    ResourceLookup lookup();

    String idExpr();

    String denyMessage() default "无权限访问该资源";
}
