@@ -41,10 +41,8 @@ app.use(async (ctx) => {
41
41
42
42
// Creates various IDs
43
43
const docId = uuid ( ) ;
44
- const sessionEditingId = generateShortId ( ) ;
45
- documents . set ( sessionEditingId , [ docId , false ] ) ;
46
- const sessionViewingId = generateShortId ( ) ;
47
- documents . set ( sessionViewingId , [ docId , true ] ) ;
44
+ const sessionId = generateShortId ( ) ;
45
+ documents . set ( sessionId , [ docId , false ] ) ;
48
46
49
47
const connection = db . connect ( undefined , { docId, readOnly : false } ) ;
50
48
const doc = connection . get ( COLLECTION_NAME , docId ) ;
@@ -57,18 +55,26 @@ app.use(async (ctx) => {
57
55
}
58
56
} ) ;
59
57
} ) ;
60
- ctx . body = { docId, sessionEditingId , sessionViewingId } ;
58
+ ctx . body = { docId, sessionId } ;
61
59
return ;
62
60
}
63
61
64
62
const sessionId = ctx . path . substr ( 1 ) ;
65
- const [ docId , readOnly ] = getSessionDetails ( sessionId ) ;
63
+ const [ docId , defaultReadOnly ] = getSessionDetails ( sessionId ) ;
66
64
67
65
if ( docId === null ) {
68
66
ctx . status = 404 ;
69
67
return ;
70
68
}
71
69
70
+ if ( ctx . method === 'PATCH' ) {
71
+ const { defaultReadOnly } = ctx . request . body ;
72
+
73
+ documents . set ( sessionId , [ docId , defaultReadOnly ] ) ;
74
+ ctx . status = 200 ;
75
+ return ;
76
+ }
77
+
72
78
if ( ctx . method !== 'GET' ) {
73
79
ctx . status = 405 ;
74
80
return ;
@@ -87,9 +93,9 @@ app.use(async (ctx) => {
87
93
break ;
88
94
}
89
95
} ) ;
90
- db . listen ( ws , { docId, readOnly } ) ; // docId and readOnly is passed to 'connect' middleware as ctx.req
96
+ db . listen ( ws , { docId, defaultReadOnly } ) ; // docId and defaultReadOnly is passed to 'connect' middleware as ctx.req
91
97
} else {
92
- ctx . body = { docId, readOnly } ;
98
+ ctx . body = { docId, defaultReadOnly } ;
93
99
}
94
100
} ) ;
95
101
0 commit comments