class MetadataManagementResource {

    @Path(MIGRATION_PURGE_EXPIRED_FROM_OFFERS)
    @DELETE
    @Produces(MediaType.APPLICATION_JSON)
    @VitamAuthentication(authentLevel = AuthenticationLevel.BASIC_AUTHENT)
    public Response migrationPurgeDipFilesFromOffers() {
        try {

            for (Integer tenant : VitamConfiguration.getTenants()) {

                LOGGER.info("Running DIP cleanup from offers for tenant " + tenant);

                VitamThreadUtils.getVitamSession().setTenantId(tenant);
                VitamThreadUtils.getVitamSession().setRequestId(GUIDFactory.newRequestIdGUID(tenant));

                this.exportsPurgeService.migrationPurgeDipFilesFromOffers();

                LOGGER.info("Running DIP finished successfully");
            }

            return Response.status(OK).build();
        } catch (Exception e) {
            LOGGER.error(e);
            return VitamCodeHelper.toVitamError(VitamCode.METADATA_INTERNAL_SERVER_ERROR, e.getMessage())
                .toResponse();
        }
    }

    @VisibleForTesting  MetadataManagementResource(VitamRepositoryProvider vitamRepositoryProvider,
        OffsetRepository offsetRepository, MetaDataImpl metadata, MetaDataConfiguration configuration);
    @VisibleForTesting  MetadataManagementResource(
        ReconstructionService reconstructionService,
        StoreGraphService storeGraphService,
        GraphComputeService graphComputeService,
        ReclassificationDistributionService reclassificationDistributionService,
        ProcessingManagementClientFactory processingManagementClientFactory,
        LogbookOperationsClientFactory logbookOperationsClientFactory,
        WorkspaceClientFactory workspaceClientFactory,
        MetaDataConfiguration configuration,
        ExportsPurgeService exportsPurgeService);

}