Files
smartproc-be/src/main/java/com/iconplus/smartproc/service/manajemenuser/PutUpdateUserService.java
2023-05-24 12:21:01 +07:00

46 lines
1.7 KiB
Java

package com.iconplus.smartproc.service.manajemenuser;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.UsersRequest;
import com.iconplus.smartproc.model.response.UsersResponse;
import com.iconplus.smartproc.repository.UsersRepository;
import com.iconplus.smartproc.service.CommonService;
import org.springframework.stereotype.Service;
@Service
public class PutUpdateUserService implements BaseService<UsersRequest, UsersResponse> {
private UsersRepository usersRepository;
private CommonService commonService;
public PutUpdateUserService(UsersRepository usersRepository,
CommonService commonService) {
this.usersRepository = usersRepository;
this.commonService = commonService;
}
@Override
public UsersResponse execute(UsersRequest input) {
var users = usersRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err"));
commonService.validateUserRequst(input);
users.setInstansiId(input.getInstansiId());
users.setBidangId(input.getBidangId());
users.setNama(input.getNama());
users.setUsername(input.getUsername());
users.setJabatan(input.getJabatan());
users.setRoleId(input.getRoleId());
users.setEmail(input.getEmail());
users.setPassword(input.getPassword());
users.setIsActive(input.getIsActive());
users.setIsDelete(false);
var result = usersRepository.save(users);
return UsersResponse.builder()
.id(result.getId())
.build();
}
}