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

import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import lombok.NonNull;

public record LoginFromNewDeviceSettings(
   @NonNull LoginFromNewDeviceCookieName cookieName, @NonNull LoginFromNewDeviceValidity validity, @NonNull LoginFromNewDeviceEncryptionKey encryptionKey
) {
   @SuppressFBWarnings(justification = "generated code")
   public LoginFromNewDeviceSettings {
      if (cookieName == null) {
         throw new NullPointerException("cookieName is marked non-null but is null");
      }

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

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