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

import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.net.URI;
import java.util.Optional;
import lombok.NonNull;

public record OAuth2Response(Optional<String> error, Optional<String> errorDescription, @NonNull URI redirectUri, Optional<FormPostParameters> formPostParams) {
   public static final String CLIENT_REDIRECT_URI_ATTRIBUTE_KEY = "clientRedirectUri";
   public static final String FORM_POST_PARAMS_ATTRIBUTE_KEY = "formPostParameters";

   @SuppressFBWarnings(justification = "generated code")
   public OAuth2Response {
      if (redirectUri == null) {
         throw new NullPointerException("redirectUri is marked non-null but is null");
      }
   }
}
