package com.airlock.iam.authentication.infrastructure.service.ui;

import com.airlock.iam.flow.ui.infrastructure.service.OnLogout;
import com.airlock.iam.flow.ui.infrastructure.service.OnLogout.OnLogoutType;
import jakarta.annotation.Nullable;
import jakarta.validation.constraints.NotNull;
import java.util.Optional;

public final class DefaultShowLogoutDisclaimerPage implements OnLogout {
   @NotNull
   private final Optional<String> uiTenantId;

   private DefaultShowLogoutDisclaimerPage(@Nullable String uiTenantId) {
      this.uiTenantId = Optional.ofNullable(uiTenantId);
   }

   public static DefaultShowLogoutDisclaimerPage defaultShowLogoutDisclaimerPage(String uiTenantId) {
      return new DefaultShowLogoutDisclaimerPage(uiTenantId);
   }

   public static DefaultShowLogoutDisclaimerPage defaultShowLogoutDisclaimerPage() {
      return new DefaultShowLogoutDisclaimerPage(null);
   }

   public OnLogoutType getType() {
      return OnLogoutType.SHOW_LOGOUT_CONFIRMATION;
   }

   public String getTarget() {
      return null;
   }

   public Optional<String> getUiTenantId() {
      return this.uiTenantId;
   }
}
