Skip to content
Snippets Groups Projects
Commit f2d3a026 authored by Tom Käsler's avatar Tom Käsler
Browse files

make prototype exportsession (code in couchdbdao needs to be written)

parent d71fa59e
Branches
Tags
No related merge requests found
......@@ -17,6 +17,7 @@
*/
package de.thm.arsnova.controller;
import org.springframework.context.annotation.Import;
import de.thm.arsnova.connector.model.Course;
import de.thm.arsnova.entities.Session;
import de.thm.arsnova.entities.SessionFeature;
......@@ -268,6 +269,26 @@ public class SessionController extends PaginationController {
return sessionService.importSession(session);
}
@ApiOperation(value = "export sessions", nickname = "exportSession")
@RequestMapping(value = "/export", method = RequestMethod.GET)
public List<ImportExportSession> exportSession(
@ApiParam(value = "comma seperated list of sessionkeys", required = true) @PathVariable final String sessionkeys,
@ApiParam(value = "http servlet response", required = true) final HttpServletResponse response
) {
List<ImportExportSession> sessions = new ArrayList<ImportExportSession>();
ImportExportSession temp;
String[] splittedKeys = sessionkeys.split(",");
for (String key : splittedKeys) {
sessionService.setActive(key, false);
temp = sessionService.exportSession(key);
if (temp != null) {
sessions.add(temp);
}
sessionService.setActive(key, true);
}
return sessions;
}
@ApiOperation(value = "Locks or unlocks a Session",
nickname = "lockSession")
@ApiResponses(value = {
......
......@@ -2188,6 +2188,11 @@ public class CouchDBDao implements IDatabaseDao, ApplicationEventPublisherAware
return info;
}
@Override
public ImportExportQuestion exportSession(String sessionkey) {
}
@Override
public List<String> getSubjects(Session session, String questionVariant) {
String viewString = "";
......
......@@ -205,6 +205,8 @@ public interface IDatabaseDao {
SessionInfo importSession(User user, ImportExportSession importSession);
ImportExportSession exportSession(String sessionkey);
Statistics getStatistics();
List<String> getSubjects(Session session, String questionVariant);
......
......@@ -74,6 +74,8 @@ public interface ISessionService {
SessionInfo importSession(ImportExportSession session);
ImportExportSession exportSession(String sessionkey);
SessionFeature getSessionFeatures(String sessionkey);
SessionFeature changeSessionFeatures(String sessionkey, SessionFeature features);
......
......@@ -404,6 +404,12 @@ public class SessionService implements ISessionService, ApplicationEventPublishe
return info;
}
@Override
@PreAuthorize("isAuthenticated() and hasPermission(#sessionkey, 'session', 'owner')")
public ImportExportSession exportSession(String sessionkey) {
return databaseDao.exportSession(sessionkey);
}
@Override
public void setApplicationEventPublisher(ApplicationEventPublisher publisher) {
this.publisher = publisher;
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment