argos/dmp-migration-tool/web/src/main/java/eu/old/eudat/publicapi/migration/MigrationController.java

44 lines
1.6 KiB
Java

package eu.old.eudat.publicapi.migration;
import com.fasterxml.jackson.core.JsonProcessingException;
import eu.eudat.commons.JsonHandlingService;
import eu.eudat.data.DmpEntity;
import eu.old.eudat.logic.services.operations.DatabaseRepository;
import eu.old.eudat.migration.DmpMigrationService;
import eu.old.eudat.migration.OrganizationMigrationService;
import io.swagger.annotations.Api;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@Api(tags = "Migration")
@RestController
@CrossOrigin
@RequestMapping(value = {"/api/public/migration"})
public class MigrationController {
private final DmpMigrationService dmpMigrationService;
private final OrganizationMigrationService organizationMigrationService;
public MigrationController(DatabaseRepository databaseRepository, JsonHandlingService jsonHandlingService, EntityManager entityManager, DmpMigrationService dmpMigrationService, OrganizationMigrationService organizationMigrationService) {
this.dmpMigrationService = dmpMigrationService;
this.organizationMigrationService = organizationMigrationService;
}
@GetMapping("dmps/migrate")
@Transactional
public String migrate() throws JsonProcessingException {
return this.dmpMigrationService.migrate();
}
@GetMapping("organizations/migrate")
@Transactional
public boolean migrateOrganizations() {
this.organizationMigrationService.migrate();
return true;
}
}