From 278056f27c4405396f481dd354bf2ebd7323ee2c Mon Sep 17 00:00:00 2001 From: Ian Philips Date: Fri, 2 Sep 2022 17:12:15 -0600 Subject: [PATCH] Handle updated groups --- functions/src/scripts/update-groups.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/functions/src/scripts/update-groups.ts b/functions/src/scripts/update-groups.ts index f3724236..98d6ede0 100644 --- a/functions/src/scripts/update-groups.ts +++ b/functions/src/scripts/update-groups.ts @@ -58,6 +58,17 @@ const convertGroupFieldsToGroupDocuments = async () => { const groups = await getGroups() for (const group of groups) { log('updating group', group.slug) + const groupRef = admin.firestore().collection('groups').doc(group.id) + const totalMembers = (await groupRef.collection('groupMembers').get()).size + const totalContracts = (await groupRef.collection('groupContracts').get()) + .size + if ( + totalMembers === group.memberIds?.length && + totalContracts === group.contractIds?.length + ) { + log('group already converted', group.slug) + continue + } for (const contractId of group.contractIds ?? []) { await createContractIdForGroup(group.id, contractId) } @@ -84,6 +95,6 @@ const updateTotalContractsAndMembers = async () => { if (require.main === module) { initAdmin() - // convertGroupFieldsToGroupDocuments() - updateTotalContractsAndMembers() + convertGroupFieldsToGroupDocuments() + // updateTotalContractsAndMembers() }