52 lines
2.0 KiB
Java
52 lines
2.0 KiB
Java
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<List<Template>> getAllTemplates() {
|
|
return ResponseEntity.ok(this.roadmapMigration.getTemplates());
|
|
}
|
|
|
|
@GetMapping(path = "template/argos/memory", produces = "application/json")
|
|
public ResponseEntity<List<eu.eudat.models.data.admin.composite.DatasetProfile>> getDatasetProfiles() {
|
|
return ResponseEntity.ok(this.roadmapMigration.getDatesetProfiles());
|
|
}
|
|
|
|
@GetMapping(path = "user/all", produces = "application/json")
|
|
public ResponseEntity<List<User>> getAllUsers() {
|
|
return ResponseEntity.ok(this.roadmapMigration.getUsers());
|
|
}
|
|
|
|
@GetMapping(path = "migration/execute", produces = "application/json")
|
|
public ResponseEntity<Object> migrate() {
|
|
this.roadmapMigration.migrate();
|
|
return ResponseEntity.ok(new ResponseItem<UUID>().status(ApiMessageCode.NO_MESSAGE));
|
|
}
|
|
}
|