package com.iconplus.smartproc.service.roles; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.entity.Roles; import com.iconplus.smartproc.model.request.RolesRequest; import com.iconplus.smartproc.model.response.RolesResponse; import com.iconplus.smartproc.repository.RolesRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.stereotype.Service; @Service public class PutUpdateRoleService implements BaseService { private final RolesRepository rolesRepository; public PutUpdateRoleService(RolesRepository rolesRepository) { this.rolesRepository = rolesRepository; } @Override public RolesResponse execute(RolesRequest input) { Roles role = rolesRepository.findByIdAndIsDeleteFalse(input.getId()) .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10005, Constants.ERR_TTL_10005, String.format(Constants.ERR_MSG_10005, input.getId()))); role.setRole(input.getRole()); role.setKeterangan(input.getKeterangan()); role.setIsActive(input.getIsActive()); rolesRepository.save(role); return RolesResponse.builder() .id(role.getId()) .build(); } }