package com.airlock.iam.common.domain.service.credential;

import com.airlock.iam.base.api.domain.model.user.UserId;
import com.airlock.iam.common.domain.model.user.UserLockState;
import com.airlock.iam.common.domain.service.user.UserLockService;
import com.airlock.iam.core.misc.authen.PredefinedLockReason;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;

public final class RequestAuthenticationLockServiceImpl implements RequestAuthenticationLockService {
   private final UserLockService userLockService;

   @Override
   public UserLockState lockUser(UserId userId) {
      return this.userLockService.lockUser(userId, PredefinedLockReason.TOO_MANY_LOGIN_FAILED);
   }

   @SuppressFBWarnings(justification = "generated code")
   public RequestAuthenticationLockServiceImpl(UserLockService userLockService) {
      this.userLockService = userLockService;
   }
}
