Track lastUpdatedTime

This commit is contained in:
James Grugett 2022-05-01 11:04:27 -04:00
parent 3d96b11c6d
commit c880e164f9
3 changed files with 5 additions and 2 deletions

View File

@ -20,6 +20,7 @@ export type FullContract<
visibility: 'public' | 'unlisted' visibility: 'public' | 'unlisted'
createdTime: number // Milliseconds since epoch createdTime: number // Milliseconds since epoch
lastUpdatedTime?: number // Updated on new bet or comment
lastBetTime?: number lastBetTime?: number
lastCommentTime?: number lastCommentTime?: number
closeTime?: number // When no more trading is allowed closeTime?: number // When no more trading is allowed

View File

@ -19,9 +19,10 @@ export const onCreateBet = functions.firestore
throw new Error('Could not find contract corresponding with bet') throw new Error('Could not find contract corresponding with bet')
const bet = change.data() as Bet const bet = change.data() as Bet
const lastBetTime = bet.createdTime
await firestore await firestore
.collection('contracts') .collection('contracts')
.doc(contract.id) .doc(contract.id)
.update({ lastBetTime: bet.createdTime }) .update({ lastBetTime, lastUpdatedTime: Date.now() })
}) })

View File

@ -22,6 +22,7 @@ export const onCreateComment = functions.firestore
throw new Error('Could not find contract corresponding with comment') throw new Error('Could not find contract corresponding with comment')
const comment = change.data() as Comment const comment = change.data() as Comment
const lastCommentTime = comment.createdTime
const commentCreator = await getUser(comment.userId) const commentCreator = await getUser(comment.userId)
if (!commentCreator) throw new Error('Could not find contract creator') if (!commentCreator) throw new Error('Could not find contract creator')
@ -29,7 +30,7 @@ export const onCreateComment = functions.firestore
await firestore await firestore
.collection('contracts') .collection('contracts')
.doc(contract.id) .doc(contract.id)
.update({ lastCommentTime: comment.createdTime }) .update({ lastCommentTime, lastUpdatedTime: Date.now() })
let bet: Bet | undefined let bet: Bet | undefined
let answer: Answer | undefined let answer: Answer | undefined