
package com.jeelowcode.framework.utils.enums;


import com.jeelowcode.framework.utils.utils.FuncBase;

import java.util.Arrays;
import java.util.Optional;

/**
 * 表单开发-认证类型
 */
public enum AuthTypeEnum {

    authOpen("authOpen", "不登录可查询"),
    authFalse("authFalse", "需要登录"),
    authTrue("authTrue", "需要登录和鉴权")
    ;

    private final String type;
    private final String name;

    public String getType() {
        return type;
    }

    public String getName() {
        return name;
    }

    AuthTypeEnum(String type, String name) {
        this.type = type;
        this.name = name;
    }

    public static AuthTypeEnum getByType(String type) {
        // 使用流来查找匹配的
        Optional<AuthTypeEnum> matchingEnum = Arrays.stream(AuthTypeEnum.values())
                .filter(dbFormTypeEnum -> FuncBase.equals(dbFormTypeEnum.getType(), type))
                .findFirst(); // findFirst()会返回第一个匹配的元素，或者如果找不到则返回一个空的Optional
        // 检查是否找到了匹配的枚举项
        if (matchingEnum.isPresent()) {
            return matchingEnum.get();
        }
        return null;

    }
}
