package com.airlock.iam.login.api.domain.model.psd2;

import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.Arrays;
import java.util.Optional;

public enum Psd2PaymentServiceProviderRole {
   ACCOUNT_INFORMATION("PSP_AI"),
   PAYMENT_INITIATION("PSP_PI"),
   ACCOUNT_SERVICING("PSP_AS"),
   ISSUING_CARD("PSP_IC");

   private final String name;

   public static Optional<Psd2PaymentServiceProviderRole> parse(String nameToParse) {
      return Arrays.stream(values()).filter(role -> role.getName().equals(nameToParse)).findFirst();
   }

   @SuppressFBWarnings(justification = "generated code")
   Psd2PaymentServiceProviderRole(final String name) {
      this.name = name;
   }

   @SuppressFBWarnings(justification = "generated code")
   public String getName() {
      return this.name;
   }
}
