package com.ningdatech.carapi.user.security.auth.constant;

/**
 * @author LiuXinXin
 * @date 2021/7/30 下午2:10
 */

public enum AuthTypeEnum {

    /**
     * 手机 + 密码的认证方式
     */
    PHONE_PASSWORD("phone_password"),

    /**
     * 子账号 账号 + 密码的认证方式
     */
    ACCOUNT_PASSWORD("account_password");

    private final String key;

    AuthTypeEnum(String key) {
        this.key = key;
    }

    public static boolean contains(String key) {
        for (AuthTypeEnum value : AuthTypeEnum.values()) {
            if (key.equals(value.getKey())) {
                return true;
            }
        }
        return false;
    }

    public String getKey() {
        return key;
    }

    public static AuthTypeEnum of(String key) {
        for (AuthTypeEnum value : AuthTypeEnum.values()) {
            if (key.equals(value.getKey())) {
                return value;
            }
        }
        throw new RuntimeException(String.format("invalid AuthTypeEnum = %s", key));
    }
}
