Skip to content
Snippets Groups Projects
Commit c6567aae authored by Jan Sandr's avatar Jan Sandr
Browse files

Editor add/delete canvas

parent de69c6e8
No related branches found
No related tags found
No related merge requests found
...@@ -11,9 +11,11 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; ...@@ -11,9 +11,11 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.server.ResponseStatusException; import org.springframework.web.server.ResponseStatusException;
   
import java.awt.*; import java.awt.*;
import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Optional; import java.util.Optional;
   
...@@ -78,15 +80,50 @@ public class EditorController { ...@@ -78,15 +80,50 @@ public class EditorController {
return canvases.isPresent() ? canvases.get().getEditedByMe() : null; return canvases.isPresent() ? canvases.get().getEditedByMe() : null;
} }
   
@PutMapping("/{id}/editeByMe") @PostMapping ("/{id}/editeByMe")
public void addCanvas (@PathVariable String id, @RequestBody VectorCanvas c) { public void addCanvas (@PathVariable String id, @RequestBody VectorCanvas c) {
var vectorCanvas = vectorCanvasService.readById(c.getId()); var vectorCanvas = vectorCanvasService.readById(c.getId());
   
if (vectorCanvas.isPresent() && editorService.readById(id).isPresent()) if (vectorCanvas.isPresent() && editorService.readById(id).isPresent())
{ {
var editor = editorService.readById(id).get(); var editor = editorService.readById(id).get();
editor.getEditedByMe().add(vectorCanvas.get()); editor.getEditedByMe().add(vectorCanvas.get());
editorService.update(id,editor); editorService.update(id,editor);
}
}
@DeleteMapping ("/{id}/editeByMe/{canvasId}")
public void removeCanvas (@PathVariable String id, @PathVariable String canvasId) {
var vectorCanvas = vectorCanvasService.readById(canvasId);
var allEditor = editorService.readAll();
if (vectorCanvas.isPresent() && editorService.readById(id).isPresent())
{
var currentEditor = editorService.readById(id).get();
currentEditor.getEditedByMe().remove(vectorCanvas.get());
editorService.update(id,currentEditor);
//vectorCanvas = vectorCanvasService.readById(canvasId);
for ( var editor : allEditor )
{
if(editor.getEditedByMe().contains(vectorCanvas.get()))
return;
}
RestTemplate restTemplate = new RestTemplate();
restTemplate.delete("http://localhost:7080/canvas/" + canvasId);
// for ( var shape : vectorCanvas.get().getShapes())
// shapeService.deleteById(shape.getId());
//TODO Proč to tady nejde i když vyčistím canvas a nemá žádné editory?
// vectorCanvasService.deleteById(id);
} }
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment