Skip to content

Commit 0d91a02

Browse files
committed
(demo) add messagesRef method
1 parent b66a7b3 commit 0d91a02

File tree

1 file changed

+17
-33
lines changed

1 file changed

+17
-33
lines changed

demo/src/ChatContainer.vue

Lines changed: 17 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@ export default {
121121
},
122122
123123
methods: {
124+
messagesRef(roomId) {
125+
return roomsRef.doc(roomId).collection('messages')
126+
},
124127
resetRooms() {
125128
this.loadingRooms = true
126129
this.rooms = []
@@ -223,9 +226,7 @@ export default {
223226
},
224227
225228
getLastMessage(room) {
226-
return roomsRef
227-
.doc(room.id)
228-
.collection('messages')
229+
return this.messagesRef(room.id)
229230
.orderBy('timestamp', 'desc')
230231
.limit(1)
231232
.get()
@@ -237,9 +238,7 @@ export default {
237238
},
238239
239240
listenLastMessage(room, index) {
240-
const listener = roomsRef
241-
.doc(room.roomId)
242-
.collection('messages')
241+
const listener = this.messagesRef(room.roomId)
243242
.orderBy('timestamp', 'desc')
244243
.limit(1)
245244
.onSnapshot(messages => {
@@ -279,7 +278,7 @@ export default {
279278
280279
if (this.end && !this.start) return (this.messagesLoaded = true)
281280
282-
let ref = roomsRef.doc(room.roomId).collection('messages')
281+
let ref = this.messagesRef(room.roomId)
283282
284283
let query = ref.orderBy('timestamp', 'desc').limit(this.perPage)
285284
@@ -328,9 +327,7 @@ export default {
328327
message.data().sender_id !== this.currentUserId &&
329328
(!message.data().seen || !message.data().seen[this.currentUserId])
330329
) {
331-
roomsRef
332-
.doc(room.roomId)
333-
.collection('messages')
330+
this.messagesRef(room.roomId)
334331
.doc(message.id)
335332
.update({
336333
[`seen.${this.currentUserId}`]: new Date()
@@ -385,10 +382,7 @@ export default {
385382
}
386383
}
387384
388-
const { id } = await roomsRef
389-
.doc(roomId)
390-
.collection('messages')
391-
.add(message)
385+
const { id } = await this.messagesRef(roomId).add(message)
392386
393387
if (file) this.uploadFile({ file, messageId: id, roomId })
394388
},
@@ -412,17 +406,13 @@ export default {
412406
newMessage.file = deleteDbField
413407
}
414408
415-
await roomsRef
416-
.doc(roomId)
417-
.collection('messages')
409+
await this.messagesRef(roomId)
418410
.doc(messageId)
419411
.update(newMessage)
420412
},
421413
422414
async deleteMessage({ messageId, roomId }) {
423-
await roomsRef
424-
.doc(roomId)
425-
.collection('messages')
415+
await this.messagesRef(roomId)
426416
.doc(messageId)
427417
.update({ deleted: new Date() })
428418
},
@@ -436,9 +426,7 @@ export default {
436426
await uploadFileRef.put(file.blob, { contentType: file.type })
437427
const url = await uploadFileRef.getDownloadURL()
438428
439-
await roomsRef
440-
.doc(roomId)
441-
.collection('messages')
429+
await this.messagesRef(roomId)
442430
.doc(messageId)
443431
.update({
444432
['file.url']: url
@@ -456,7 +444,7 @@ export default {
456444
}
457445
},
458446
459-
messageActionHandler({ action, roomId }) {
447+
messageActionHandler() {
460448
// do something
461449
},
462450
@@ -516,16 +504,12 @@ export default {
516504
},
517505
518506
async deleteRoom(roomId) {
519-
const ref = roomsRef.doc(roomId).collection('messages')
507+
const ref = this.messagesRef(roomId)
520508
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+
})
529513
530514
await roomsRef.doc(roomId).delete()
531515

0 commit comments

Comments
 (0)