class ExportsPurgeService {

    public void migrationPurgeDipFilesFromOffers() throws StorageServerClientException {
        try (StorageClient storageClient = storageClientFactory.getClient()) {

            Iterator<OfferLog> offerLogIterator = OfferLogHelper.getListing(
                storageClientFactory, VitamConfiguration.getDefaultStrategy(), DataCategory.DIP, null,
                Order.ASC, VitamConfiguration.getChunkSize(), null);

            while(offerLogIterator.hasNext()) {
                OfferLog offerLog = offerLogIterator.next();
                switch (offerLog.getAction()) {
                    case WRITE:
                        LOGGER.info("Deleting DIP file " + offerLog.getFileName());
                        storageClient.delete(VitamConfiguration.getDefaultStrategy(), DataCategory.DIP, offerLog.getFileName());
                        break;
                    case DELETE:
                        // NOP
                        break;
                    default:
                        throw new IllegalStateException("Unexpected value: " + offerLog.getAction());
                }
            }

        }
    }

    public  ExportsPurgeService(int timeToLiveInMinutes);
    @VisibleForTesting public  ExportsPurgeService(WorkspaceClientFactory workspaceClientFactory,
        StorageClientFactory storageClientFactory, int timeToLiveInMinutes);

}