manifold/functions/src/follow-market.ts
2022-08-23 16:38:04 -06:00

32 lines
803 B
TypeScript

import { Contract } from '../../common/lib/contract'
import { User } from '../../common/lib/user'
import * as admin from 'firebase-admin'
import { FieldValue } from 'firebase-admin/firestore'
const firestore = admin.firestore()
export const addUserToContractFollowers = async (
contract: Contract,
user: User
) => {
const followerDoc = await firestore
.collection(`contracts/${contract.id}/follows`)
.doc(user.id)
.get()
if (followerDoc.exists) return
await firestore
.collection(`contracts/${contract.id}/follows`)
.doc(user.id)
.set({
id: user.id,
createdTime: Date.now(),
})
// TODO: decrement for unfollows
await firestore
.collection(`contracts`)
.doc(contract.id)
.update({
followerCount: FieldValue.increment(1),
})
}