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

import com.airlock.iam.base.api.domain.model.event.EventType;
import com.airlock.iam.base.api.domain.model.user.UserId;
import com.airlock.iam.base.domain.model.event.EventCreationData;
import com.airlock.iam.common.api.domain.model.event.UserUnlocked;
import lombok.NonNull;

public final class UserUnlockedImpl extends AbstractUserEvent implements UserUnlocked {
   public UserUnlockedImpl(EventCreationData eventCreationData, @NonNull UserId userId) {
      super(eventCreationData, "User Unlocked", userId);
      if (userId == null) {
         throw new NullPointerException("userId is marked non-null but is null");
      }
   }

   @Override
   public String displayName() {
      return "User Unlocked";
   }

   @Override
   public EventType type() {
      return CommonEventTypes.USER_UNLOCKED;
   }
}
