package com.airlock.iam.login.domain.model.event;

import com.airlock.iam.base.api.domain.model.event.DomainEvent;
import com.airlock.iam.base.api.domain.model.plugin.LogicForConfig;
import com.airlock.iam.common.domain.model.event.ClassNameEventHandler;
import com.airlock.iam.common.domain.model.event.LoginappSubscribedEvent;
import com.airlock.iam.login.application.configuration.event.Airlock2FADeviceActivatedSubscribedEventConfig;
import jakarta.inject.Inject;

@LogicForConfig(Airlock2FADeviceActivatedSubscribedEventConfig.class)
public class Airlock2FADeviceActivatedSubscribedEvent implements LoginappSubscribedEvent {
   private static final String CANONICAL_NAME = "com.airlock.iam.airlock2fa.api.domain.model.Airlock2FADeviceActivated";
   private final ClassNameEventHandler classNameHandler = new ClassNameEventHandler("com.airlock.iam.airlock2fa.api.domain.model.Airlock2FADeviceActivated");

   @Override
   public boolean canHandle(DomainEvent event) {
      return this.classNameHandler.canHandle(event);
   }

   @Override
   public String subscribedEventClass() {
      return "com.airlock.iam.airlock2fa.api.domain.model.Airlock2FADeviceActivated";
   }
}
