package org.mifos.application.importexport.servicefacade; import java.io.InputStream; import org.mifos.dto.domain.ParsedLoansDto; import org.mifos.dto.domain.ParsedSavingsDto; import org.springframework.security.access.prepost.PreAuthorize; public interface ImportLoansSavingsFacade { //TODO: ROLE_CAN_IMPORT_CLIENTS is temporary, loans and savings should have own roles /** * Parse loan accounts data. * @param stream * @return */ @PreAuthorize("isFullyAuthenticated() and hasRole('ROLE_CAN_IMPORT_LOANS')") ParsedLoansDto parseImportLoans(InputStream stream); /** * Saves parsed loan accounts data. * @param parsedLoansDto * @return */ @PreAuthorize("isFullyAuthenticated() and hasRole('ROLE_CAN_IMPORT_LOANS')") ParsedLoansDto saveLoans(ParsedLoansDto parsedLoansDto); @PreAuthorize("isFullyAuthenticated() and hasRole('ROLE_CAN_IMPORT_LOANS')") ParsedLoansDto createLoansDtoFromSingleError(String error); @PreAuthorize("isFullyAuthenticated() and hasRole('ROLE_CAN_IMPORT_SAVINGS')") ParsedSavingsDto parseImportSavings(InputStream stream); @PreAuthorize("isFullyAuthenticated() and hasRole('ROLE_CAN_IMPORT_SAVINGS')") ParsedSavingsDto saveSavings(ParsedSavingsDto parsedSavingsDto); @PreAuthorize("isFullyAuthenticated() and hasRole('ROLE_CAN_IMPORT_SAVINGS')") ParsedSavingsDto createSavingsDtoFromSingleError(String error); }