package com.airlock.iam.flow.shared.domain.model.newdevice;

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

public record LoginFromNewDeviceUserAgent(@NonNull Optional<String> browser, @NonNull Optional<String> operatingSystem, @NonNull Optional<String> device) {
   @SuppressFBWarnings(justification = "generated code")
   public LoginFromNewDeviceUserAgent {
      if (browser == null) {
         throw new NullPointerException("browser is marked non-null but is null");
      }

      if (operatingSystem == null) {
         throw new NullPointerException("operatingSystem is marked non-null but is null");
      }

      if (device == null) {
         throw new NullPointerException("device is marked non-null but is null");
      }
   }
}
