package com.dora.annotation;

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

/**
 * 需要管理员或工作人员权限的注解
 * 标记在控制器方法上，表示该方法需要管理员或工作人员权限
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface RequireAdminOrStaff {
    
    /**
     * 是否需要管理员权限（role=1）
     * @return true表示需要管理员权限，false表示管理员或工作人员都可以
     */
    boolean requireAdmin() default false;
    
    /**
     * 是否需要工作人员权限（role=0）
     * @return true表示需要工作人员权限，false表示管理员或工作人员都可以
     */
    boolean requireStaff() default false;
}
