package com.iconplus.smartproc.service.manajemenuser; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.model.EmptyResponse; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.UsersRequest; import com.iconplus.smartproc.repository.UsersRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @Service public class DeleteUserService implements BaseService { private UsersRepository usersRepository; public DeleteUserService(UsersRepository usersRepository) { this.usersRepository = usersRepository; } @Override public EmptyResponse execute(UsersRequest input) { var users = usersRepository.findByIdAndIsDeleteFalse(input.getId()) .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, "User", input.getId()))); users.setIsDelete(true); usersRepository.save(users); return new EmptyResponse(); } }