class LogbookOperationsImpl implements LogbookOperations {

    @Override
    public LogbookOperation findFirstTraceabilityOperationOKAfterDate(final LocalDateTime date)
        throws InvalidCreateOperationException, LogbookNotFoundException, LogbookDatabaseException {
        final Select select = new Select();
        final Query query = QueryHelper.gt("evDateTime", date.toString());
        final Query type = QueryHelper.eq("evTypeProc", LogbookTypeProcess.TRACEABILITY.name());
        final Query status =
            QueryHelper.eq(LogbookDocument.EVENTS + "." + outcomeDetail.getDbname(), "STP_OP_SECURISATION.OK");
        select.setQuery(QueryHelper.and().add(query, type, status));
        select.setLimitFilter(0, 1);
        LogbookOperation logbookOperation = null;
        try {
            logbookOperation =
                mongoDbAccess.getLogbookOperations(select.getFinalSelect(), false).next();
        } catch (VitamDBException e) {
            LOGGER.error(e);
        }
        return logbookOperation;
    }

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

}