Track lastUpdatedTime
This commit is contained in:
		
							parent
							
								
									3d96b11c6d
								
							
						
					
					
						commit
						c880e164f9
					
				| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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() })
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user