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

import java.time.Duration;
import lombok.NonNull;
import org.apache.commons.lang3.Validate;

public record LoginFromNewDeviceValidity(@NonNull Duration duration) {
   public LoginFromNewDeviceValidity {
      if (duration == null) {
         throw new NullPointerException("duration is marked non-null but is null");
      }

      validateNonNegative(duration);
   }

   private static void validateNonNegative(Duration d) {
      Validate.isTrue(!d.isNegative());
   }
}
