|
|
|
@ -1,6 +1,8 @@
|
|
|
|
|
package eu.eudat.controllers;
|
|
|
|
|
|
|
|
|
|
import eu.eudat.logic.security.claims.ClaimedAuthorities;
|
|
|
|
|
import eu.eudat.models.data.helpers.responses.ResponseItem;
|
|
|
|
|
import eu.eudat.models.data.security.Principal;
|
|
|
|
|
import eu.eudat.models.data.userguide.UserGuide;
|
|
|
|
|
import eu.eudat.types.ApiMessageCode;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
@ -19,6 +21,8 @@ import java.util.List;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
|
import static eu.eudat.types.Authorities.ADMIN;
|
|
|
|
|
|
|
|
|
|
@RestController
|
|
|
|
|
@CrossOrigin
|
|
|
|
|
@RequestMapping(value = {"/api/userguide/"})
|
|
|
|
@ -31,13 +35,16 @@ public class UserGuideController {
|
|
|
|
|
this.environment = environment;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@RequestMapping(path = "current", method = RequestMethod.GET )
|
|
|
|
|
public ResponseEntity getUserGuide() throws IOException {
|
|
|
|
|
@RequestMapping(path = "{lang}", method = RequestMethod.GET )
|
|
|
|
|
public ResponseEntity getUserGuide(@PathVariable(name = "lang") String lang) throws IOException {
|
|
|
|
|
Stream<Path> walk = Files.walk(Paths.get(this.environment.getProperty("userguide.path")));
|
|
|
|
|
List<String> result = walk.filter(Files::isRegularFile)
|
|
|
|
|
.map(Path::toString).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
String fileName = result.get(0);
|
|
|
|
|
String fileName = result.stream().filter(guide -> guide.contains("_" + lang)).findFirst().orElse(null);
|
|
|
|
|
if (fileName == null) {
|
|
|
|
|
fileName = result.stream().filter(guide -> guide.contains("_en")).findFirst().get();
|
|
|
|
|
}
|
|
|
|
|
InputStream is = new FileInputStream(fileName);
|
|
|
|
|
|
|
|
|
|
String[] filepath = fileName.split("\\.")[0].split("\\\\");
|
|
|
|
@ -60,7 +67,7 @@ public class UserGuideController {
|
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "current", method = RequestMethod.POST)
|
|
|
|
|
public @ResponseBody
|
|
|
|
|
ResponseEntity<ResponseItem<String>> updateGuide(@RequestBody UserGuide guide) throws Exception {
|
|
|
|
|
ResponseEntity<ResponseItem<String>> updateGuide(@RequestBody UserGuide guide, @ClaimedAuthorities(claims = {ADMIN}) Principal principal) throws Exception {
|
|
|
|
|
String fileName = this.environment.getProperty("userguide.path") + guide.getName() + ".html";
|
|
|
|
|
OutputStream os = new FileOutputStream(fileName);
|
|
|
|
|
os.write(guide.getHtml().getBytes());
|
|
|
|
|