@@ -121,6 +121,9 @@ export default {
121
121
},
122
122
123
123
methods: {
124
+ messagesRef (roomId ) {
125
+ return roomsRef .doc (roomId).collection (' messages' )
126
+ },
124
127
resetRooms () {
125
128
this .loadingRooms = true
126
129
this .rooms = []
@@ -223,9 +226,7 @@ export default {
223
226
},
224
227
225
228
getLastMessage (room ) {
226
- return roomsRef
227
- .doc (room .id )
228
- .collection (' messages' )
229
+ return this .messagesRef (room .id )
229
230
.orderBy (' timestamp' , ' desc' )
230
231
.limit (1 )
231
232
.get ()
@@ -237,9 +238,7 @@ export default {
237
238
},
238
239
239
240
listenLastMessage (room , index ) {
240
- const listener = roomsRef
241
- .doc (room .roomId )
242
- .collection (' messages' )
241
+ const listener = this .messagesRef (room .roomId )
243
242
.orderBy (' timestamp' , ' desc' )
244
243
.limit (1 )
245
244
.onSnapshot (messages => {
@@ -279,7 +278,7 @@ export default {
279
278
280
279
if (this .end && ! this .start ) return (this .messagesLoaded = true )
281
280
282
- let ref = roomsRef . doc (room .roomId ). collection ( ' messages ' )
281
+ let ref = this . messagesRef (room .roomId )
283
282
284
283
let query = ref .orderBy (' timestamp' , ' desc' ).limit (this .perPage )
285
284
@@ -328,9 +327,7 @@ export default {
328
327
message .data ().sender_id !== this .currentUserId &&
329
328
(! message .data ().seen || ! message .data ().seen [this .currentUserId ])
330
329
) {
331
- roomsRef
332
- .doc (room .roomId )
333
- .collection (' messages' )
330
+ this .messagesRef (room .roomId )
334
331
.doc (message .id )
335
332
.update ({
336
333
[` seen.${ this .currentUserId } ` ]: new Date ()
@@ -385,10 +382,7 @@ export default {
385
382
}
386
383
}
387
384
388
- const { id } = await roomsRef
389
- .doc (roomId)
390
- .collection (' messages' )
391
- .add (message)
385
+ const { id } = await this .messagesRef (roomId).add (message)
392
386
393
387
if (file) this .uploadFile ({ file, messageId: id, roomId })
394
388
},
@@ -412,17 +406,13 @@ export default {
412
406
newMessage .file = deleteDbField
413
407
}
414
408
415
- await roomsRef
416
- .doc (roomId)
417
- .collection (' messages' )
409
+ await this .messagesRef (roomId)
418
410
.doc (messageId)
419
411
.update (newMessage)
420
412
},
421
413
422
414
async deleteMessage ({ messageId, roomId }) {
423
- await roomsRef
424
- .doc (roomId)
425
- .collection (' messages' )
415
+ await this .messagesRef (roomId)
426
416
.doc (messageId)
427
417
.update ({ deleted: new Date () })
428
418
},
@@ -436,9 +426,7 @@ export default {
436
426
await uploadFileRef .put (file .blob , { contentType: file .type })
437
427
const url = await uploadFileRef .getDownloadURL ()
438
428
439
- await roomsRef
440
- .doc (roomId)
441
- .collection (' messages' )
429
+ await this .messagesRef (roomId)
442
430
.doc (messageId)
443
431
.update ({
444
432
[' file.url' ]: url
@@ -456,7 +444,7 @@ export default {
456
444
}
457
445
},
458
446
459
- messageActionHandler ({ action, roomId } ) {
447
+ messageActionHandler () {
460
448
// do something
461
449
},
462
450
@@ -516,16 +504,12 @@ export default {
516
504
},
517
505
518
506
async deleteRoom (roomId ) {
519
- const ref = roomsRef . doc (roomId). collection ( ' messages ' )
507
+ const ref = this . messagesRef (roomId)
520
508
521
- roomsRef
522
- .doc (roomId)
523
- .collection (' messages' )
524
- .get ()
525
- .then (res => {
526
- if (res .empty ) return
527
- res .docs .map (doc => ref .doc (doc .id ).delete ())
528
- })
509
+ ref .get ().then (res => {
510
+ if (res .empty ) return
511
+ res .docs .map (doc => ref .doc (doc .id ).delete ())
512
+ })
529
513
530
514
await roomsRef .doc (roomId).delete ()
531
515
0 commit comments