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.UserDeleted;
import lombok.NonNull;

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

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