Package com.arms.api.wiki.controller
Class OtController
java.lang.Object
com.arms.api.wiki.controller.OtController
-
Constructor Summary
ConstructorsConstructorDescriptionOtController(OtService otService, org.springframework.messaging.simp.SimpMessagingTemplate messagingTemplate, SessionRegistryService sessionRegistryService) -
Method Summary
Modifier and TypeMethodDescriptionvoidgetDocumentState(Map<String, String> payload, Principal principal) Handle document state requests.voidhandleOperation(IncomingOperationPayload payload, org.springframework.messaging.simp.SimpMessageHeaderAccessor headerAccessor, Principal principal) Handle incoming operations from clients based on ot.js model.voidhandleSelection(IncomingSelectionPayload payload, org.springframework.messaging.simp.SimpMessageHeaderAccessor headerAccessor, Principal principal) Deprecated.
-
Constructor Details
-
OtController
public OtController(OtService otService, org.springframework.messaging.simp.SimpMessagingTemplate messagingTemplate, SessionRegistryService sessionRegistryService)
-
-
Method Details
-
handleOperation
@MessageMapping("/operation") public void handleOperation(@Payload IncomingOperationPayload payload, org.springframework.messaging.simp.SimpMessageHeaderAccessor headerAccessor, Principal principal) Handle incoming operations from clients based on ot.js model. Expects a payload containing the client's revision and the operation.- Parameters:
payload- The incoming operation payload.headerAccessor- Accessor for STOMP headers (e.g., to get session ID).principal- Optional principal for user identification.
-
handleSelection
@Deprecated public void handleSelection(@Payload IncomingSelectionPayload payload, org.springframework.messaging.simp.SimpMessageHeaderAccessor headerAccessor, Principal principal) Deprecated.DEPRECATED: Selection changes are now handled via the /operation endpoint. Keeping this method temporarily might be useful for debugging or if a fallback is needed.- Parameters:
payload- JSON representation of the selection (e.g., { ranges: [{ anchor: number, head: number }] })headerAccessor- Accessor for STOMP headers.principal- Optional principal.
-
getDocumentState
@MessageMapping("/get-document-state") public void getDocumentState(@Payload Map<String, String> payload, Principal principal) Handle document state requests. Expects a payload containing the documentId. Returns the current document content, revision number, and active participants for that document.
-