Skip to content

Commit 03b0801

Browse files
committed
-
1 parent 08eb354 commit 03b0801

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

jupyverse_api/jupyverse_api/yjs/__init__.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
from ..app import App
1111
from ..auth import Auth, User
12-
from .models import MergeRoom
1312

1413

1514
class Yjs(Router, ABC):
@@ -47,10 +46,10 @@ async def fork_room(
4746

4847
@router.put("/api/collaboration/merge_room", status_code=200)
4948
async def merge_room(
50-
merge_room: MergeRoom,
49+
request: Request,
5150
user: User = Depends(auth.current_user(permissions={"contents": ["read"]})),
5251
):
53-
return await self.merge_room(merge_room, user)
52+
return await self.merge_room(request, user)
5453

5554
self.include_router(router)
5655

@@ -83,7 +82,7 @@ async def fork_room(
8382
@abstractmethod
8483
async def merge_room(
8584
self,
86-
merge_room: MergeRoom,
85+
request: Request,
8786
user: User,
8887
):
8988
...

plugins/yjs/fps_yjs/routes.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,12 @@ async def fork_room(
117117

118118
async def merge_room(
119119
self,
120-
merge_room: MergeRoom,
120+
request: Request,
121121
user: User,
122122
):
123+
# we need to process the request manually
124+
# see https://github.com/tiangolo/fastapi/issues/3373#issuecomment-1306003451
125+
merge_room = MergeRoom(**(await request.json()))
123126
fork_room = await self.room_manager.websocket_server.get_room(merge_room.fork_roomid)
124127
root_room = await self.room_manager.websocket_server.get_room(merge_room.root_roomid)
125128
update = fork_room.ydoc.get_update()

0 commit comments

Comments
 (0)