package eu.eudat.migration.controllers; import eu.eudat.data.entities.DatasetProfile; import eu.eudat.migration.dao.TemplateRepository; import eu.eudat.migration.entities.Template; import eu.eudat.migration.entities.User; import eu.eudat.migration.services.DMPRoadmapService; import eu.eudat.models.data.helpers.responses.ResponseItem; import eu.eudat.types.ApiMessageCode; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.UUID; @RestController @RequestMapping("/") @ConditionalOnProperty(prefix = "roadmap", name="database.url") public class MigrateController { private final DMPRoadmapService roadmapMigration; @Autowired public MigrateController(DMPRoadmapService roadmapMigration) { this.roadmapMigration = roadmapMigration; } @GetMapping(path = "template/all", produces = "application/json") public ResponseEntity> getAllTemplates() { return ResponseEntity.ok(this.roadmapMigration.getTemplates()); } @GetMapping(path = "template/argos/memory", produces = "application/json") public ResponseEntity> getDatasetProfiles() { return ResponseEntity.ok(this.roadmapMigration.getDatesetProfiles()); } @GetMapping(path = "user/all", produces = "application/json") public ResponseEntity> getAllUsers() { return ResponseEntity.ok(this.roadmapMigration.getUsers()); } @GetMapping(path = "migration/execute", produces = "application/json") public ResponseEntity migrate() { this.roadmapMigration.migrate(); return ResponseEntity.ok(new ResponseItem().status(ApiMessageCode.NO_MESSAGE)); } }