29 lines
804 B
TypeScript
29 lines
804 B
TypeScript
|
import { collection } from 'firebase/firestore'
|
||
|
|
||
|
import { getValues, listenForValues } from './utils'
|
||
|
import { db } from './init'
|
||
|
import { Answer } from '../../../common/answer'
|
||
|
|
||
|
function getAnswersCollection(contractId: string) {
|
||
|
return collection(db, 'contracts', contractId, 'answers')
|
||
|
}
|
||
|
|
||
|
export async function listAllAnswers(contractId: string) {
|
||
|
const answers = await getValues<Answer>(getAnswersCollection(contractId))
|
||
|
answers.sort((c1, c2) => c1.createdTime - c2.createdTime)
|
||
|
return answers
|
||
|
}
|
||
|
|
||
|
export function listenForAnswers(
|
||
|
contractId: string,
|
||
|
setAnswers: (answers: Answer[]) => void
|
||
|
) {
|
||
|
return listenForValues<Answer>(
|
||
|
getAnswersCollection(contractId),
|
||
|
(answers) => {
|
||
|
answers.sort((c1, c2) => c1.createdTime - c2.createdTime)
|
||
|
setAnswers(answers)
|
||
|
}
|
||
|
)
|
||
|
}
|