package com.airlock.iam.factor.domain.model.airlock2fa;

import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import jakarta.annotation.Nonnull;
import java.net.URI;
import lombok.NonNull;

public record Airlock2FAMobileAuthUniversalLink(@NonNull String uri) {
   @SuppressFBWarnings(justification = "generated code")
   public Airlock2FAMobileAuthUniversalLink {
      if (uri == null) {
         throw new NullPointerException("uri is marked non-null but is null");
      }
   }

   @Nonnull
   @Override
   public String toString() {
      return this.uri;
   }

   public String getDomain() {
      return URI.create(this.uri).getAuthority();
   }
}
