class LogbookOperationsImpl implements LogbookOperations {

    @Override
    public MongoCursor<LogbookOperation> selectOperationsByLastPersistenceDateInterval(LocalDateTime startDate,
        LocalDateTime endDate)
        throws LogbookDatabaseException, LogbookNotFoundException, InvalidCreateOperationException,
        InvalidParseOperationException {

        Select select = new Select();
        select.setQuery(QueryHelper.and()
            .add(QueryHelper
                .gte(VitamFieldsHelper.lastPersistedDate(), LocalDateUtil.getFormattedDateForMongo(startDate)))
            .add(QueryHelper
                .lte(VitamFieldsHelper.lastPersistedDate(), LocalDateUtil.getFormattedDateForMongo(endDate))));
        select.addOrderByAscFilter(VitamFieldsHelper.lastPersistedDate());

        MongoCursor<LogbookOperation> cursor = null;
        try {
            cursor =
                mongoDbAccess.getLogbookOperations(select.getFinalSelect(), false);
        } catch (VitamDBException e) {
            LOGGER.error(e);
        }
        return cursor;
    }

    public  LogbookOperationsImpl(LogbookDbAccess mongoDbAccess);
    @VisibleForTesting public  LogbookOperationsImpl(LogbookDbAccess mongoDbAccess, WorkspaceClientFactory workspaceClientFactory,
        StorageClientFactory storageClientFactory, IndexationHelper indexationHelper);

}