package com.airlock.iam.factor.application.configuration.fido;

import com.airlock.iam.plugin.api.annotation.config.Plugin;
import com.airlock.iam.plugin.api.annotation.license.PluginLicenseRestriction;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;

@Plugin(
   displayName = "FIDO Default AAGUID Mappings",
   description = "Provides a pre-defined list of known FIDO authenticators, where each AAGUID is mapped to a make and model. For example, the AAGUID \"dd4ec289-e01d-41c9-bb89-70fa845d4bf2\" is mapped to \"iCloud Keychain (Managed)\". The provided list does not aim to be complete nor current."
)
@PluginLicenseRestriction(moduleAffiliation = "FIDO")
public final class FidoDefaultAaguidMappingsConfig implements FidoAaguidMappingsConfig {
   public static final String KNOWN_FIDO_AUTHENTICATORS_DISPLAY_NAME = "FIDO Default AAGUID Mappings";

   @SuppressFBWarnings(justification = "generated code")
   public static FidoDefaultAaguidMappingsConfig.FidoDefaultAaguidMappingsConfigBuilder builder() {
      return new FidoDefaultAaguidMappingsConfig.FidoDefaultAaguidMappingsConfigBuilder();
   }

   @SuppressFBWarnings(justification = "generated code")
   public static class FidoDefaultAaguidMappingsConfigBuilder {
      @SuppressFBWarnings(justification = "generated code")
      FidoDefaultAaguidMappingsConfigBuilder() {
      }

      @SuppressFBWarnings(justification = "generated code")
      public FidoDefaultAaguidMappingsConfig build() {
         return new FidoDefaultAaguidMappingsConfig();
      }

      @SuppressFBWarnings(justification = "generated code")
      @Override
      public String toString() {
         return "FidoDefaultAaguidMappingsConfig.FidoDefaultAaguidMappingsConfigBuilder()";
      }
   }
}
