diff --git a/frontend/src/crdt/WebSocketProvider.ts b/frontend/src/crdt/WebSocketProvider.ts new file mode 100644 index 0000000..63d5b08 --- /dev/null +++ b/frontend/src/crdt/WebSocketProvider.ts @@ -0,0 +1,25 @@ +import { WebsocketProvider } from 'y-websocket'; +import * as Y from 'yjs'; + +export class WebSocketProvider { + provider: WebsocketProvider; + + constructor(doc: Y.Doc, projectId: string, jwtToken: string) { + const url = `ws://localhost:3001/project:${projectId}`; + this.provider = new WebsocketProvider(url, `project:${projectId}`, doc, { + params: { token: jwtToken } + }); + } + + disconnect() { + this.provider.disconnect(); + } + + connect() { + this.provider.connect(); + } + + destroy() { + this.provider.destroy(); + } +} \ No newline at end of file