private List<PIICategoryValidity> getPIICategoriesFromServices(List<ReceiptService> receiptServices) { List<PIICategoryValidity> piiCategoryValidityMap = new ArrayList<>(); for (ReceiptService receiptService : receiptServices) { List<ConsentPurpose> purposes = receiptService.getPurposes(); for (ConsentPurpose purpose : purposes) { piiCategoryValidityMap.addAll(piiCategoryValidityMap.size(), purpose.getPiiCategory()); } } return piiCategoryValidityMap; }
protected List<ReceiptService> getServiceInfoOfReceipt(String consentReceiptId, ReceiptContext receiptContext) throws ConsentManagementServerException { List<ReceiptService> receiptServices; JdbcTemplate jdbcTemplate = JdbcUtils.getNewTemplate(); try { receiptServices = jdbcTemplate.withTransaction(template -> { List<ReceiptService> internalReceiptServices = template.executeQuery(GET_RECEIPT_SP_SQL, (resultSet, rowNumber) -> { ReceiptService receiptService = new ReceiptService(); receiptService.setReceiptToServiceId(resultSet.getInt(1)); receiptService.setService(resultSet.getString(2)); receiptService.setTenantId(resultSet.getInt(3)); receiptService.setSpDisplayName(resultSet.getString(4)); receiptService.setSpDescription(resultSet.getString(5)); return receiptService; }, preparedStatement -> preparedStatement.setString(1, consentReceiptId)); if (internalReceiptServices != null) { internalReceiptServices.forEach(rethrowConsumer(receiptService -> receiptService.setPurposes (getPurposeInfoOfService(receiptService.getReceiptToServiceId(), consentReceiptId, receiptContext)))); } return internalReceiptServices; }); } catch (TransactionException e) { throw ConsentUtils.handleServerException(ErrorMessages.ERROR_CODE_RETRIEVE_RECEIPT_INFO, consentReceiptId, e); } return receiptServices; }
consentReceiptDTO.setServices(receipt.getServices().stream().map(receiptService -> { ServiceDTO serviceDTO = new ServiceDTO(); serviceDTO.setService(receiptService.getService()); serviceDTO.setTenantDomain(receiptService.getTenantDomain()); serviceDTO.setPurposes(receiptService.getPurposes().stream().map(consentPurpose -> { PurposeDTO purposeDTO = new PurposeDTO(); purposeDTO.setConsentType(consentPurpose.getConsentType());
public void deleteReceipt(String receiptID) throws ConsentManagementException { Receipt receipt = getReceipt(receiptID); if (receipt == null) { throw ConsentUtils.handleServerException(ErrorMessages.ERROR_CODE_DELETE_RECEIPT, String .valueOf(receiptID)); } JdbcTemplate jdbcTemplate = JdbcUtils.getNewTemplate(); try { jdbcTemplate.withTransaction(template -> { receipt.getServices().forEach(rethrowConsumer(receiptService -> { int receiptToServiceId = receiptService.getReceiptToServiceId(); receiptService.getPurposes().forEach(rethrowConsumer(consentPurpose -> { int serviceToPurposeId = consentPurpose.getServiceToPurposeId(); deleteSpPurposeToPiiCategoryAssociation(serviceToPurposeId); deleteSpPurposeToPurposeCategoryAssociation(serviceToPurposeId); })); deleteSpToPurposeAssociation(receiptToServiceId); })); deleteReceiptSPAssociation(receiptID); deleteReceiptProperties(receiptID); deleteReceiptOnly(receiptID); return null; }); } catch (TransactionException e) { throw ConsentUtils.handleServerException(ErrorMessages.ERROR_CODE_DELETE_RECEIPT, receiptID, e); } }
private void populateTenantDomain(Receipt receipt) throws ConsentManagementServerException { receipt.setTenantDomain(ConsentUtils.getTenantDomain(realmService, receipt.getTenantId())); receipt.getServices().forEach(rethrowConsumer(receiptService -> receiptService.setTenantDomain(ConsentUtils .getTenantDomain(realmService, receiptService.getTenantId())))); }
private void handleCrossDomainPermission(String receiptId) throws ConsentManagementException { String tenantDomain = ConsentUtils.getTenantDomainFromCarbonContext(); Receipt receipt = consentManager.getReceipt(receiptId); if (receipt != null) { if (StringUtils.equals(receipt.getTenantDomain(), tenantDomain)) { return; } else if (receipt.getServices().stream().anyMatch(service -> StringUtils.equals(service.getTenantDomain(), tenantDomain))) { return; } } String message = String.format(ERROR_CODE_RECEIPT_ID_INVALID.getMessage(), receiptId) + " in tenant: " + tenantDomain; throw new ConsentManagementClientException(message, ERROR_CODE_RECEIPT_ID_INVALID.getCode()); }
private List<PIICategoryValidity> getPIICategoriesFromServices(List<ReceiptService> receiptServices) { List<PIICategoryValidity> piiCategoryValidityMap = new ArrayList<>(); for (ReceiptService receiptService : receiptServices) { List<ConsentPurpose> purposes = receiptService.getPurposes(); for (ConsentPurpose purpose : purposes) { piiCategoryValidityMap.addAll(piiCategoryValidityMap.size(), purpose.getPiiCategory()); } } return piiCategoryValidityMap; }