package com.airlock.iam.oauth2.domain.model.consent;

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

public enum OAuth2ConsentStatus {
   GRANTED("granted"),
   DENIED("denied"),
   UNDECIDED("undecided");

   private final String status;

   OAuth2ConsentStatus(String status) {
      this.status = status;
   }

   public static Optional<OAuth2ConsentStatus> getStatusForIdentifier(String identifier) {
      return Arrays.stream(values()).filter(entry -> entry.status.equals(identifier)).findFirst();
   }

   public boolean isGranted() {
      return this.equals(GRANTED);
   }

   public String getStatus() {
      return this.status;
   }
}
