Skip to content

Commit 11c155e

Browse files
committed
remove member from flags doc once matched
1 parent 8ac3bf2 commit 11c155e

2 files changed

Lines changed: 7 additions & 35 deletions

File tree

functions/src/ocpf/matchOcpfMembers.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ export const matchOcpfMembers = functions.https.onRequest(async (req, res) => {
3737
const filers = await downloadAndParseFilers()
3838
const members = await loadMembers()
3939

40+
const existingMappingDoc = await db.doc("/config/ocpfMemberMapping").get()
41+
const existingMapping = (existingMappingDoc.data() ?? {}) as OcpfMemberMapping
42+
4043
const mapping: OcpfMemberMapping = {}
4144
const unmatched: OcpfMemberMappingFlagsEntry[] = []
4245
const ambiguous: OcpfMemberMappingFlagsEntry[] = []
@@ -79,6 +82,7 @@ export const matchOcpfMembers = functions.https.onRequest(async (req, res) => {
7982
}
8083
mapping[member.MemberCode] = entry
8184
} else if (candidates.length === 0) {
85+
if (member.MemberCode in existingMapping) continue
8286
unmatched.push({ memberCode: member.MemberCode, name: member.Name })
8387
functions.logger.warn("No OCPF match", {
8488
memberCode: member.MemberCode,
@@ -87,6 +91,7 @@ export const matchOcpfMembers = functions.https.onRequest(async (req, res) => {
8791
branch
8892
})
8993
} else {
94+
if (member.MemberCode in existingMapping) continue
9095
ambiguous.push({ memberCode: member.MemberCode, name: member.Name })
9196
functions.logger.warn("Ambiguous OCPF match", {
9297
memberCode: member.MemberCode,
@@ -105,7 +110,7 @@ export const matchOcpfMembers = functions.https.onRequest(async (req, res) => {
105110

106111
const flags: OcpfMemberMappingFlags = { unmatched, ambiguous }
107112

108-
await db.doc("/config/ocpfMemberMapping").set(mapping)
113+
await db.doc("/config/ocpfMemberMapping").set(mapping, { merge: true })
109114
await db.doc("/config/ocpfMemberMappingFlags").set(flags)
110115

111116
functions.logger.info("matchOcpfMembers complete", {

functions/src/ocpf/types.ts

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -40,37 +40,4 @@ export interface MembersFinanceBreakdown {
4040
committee: FinanceBreakdownEntry
4141
union: FinanceBreakdownEntry
4242
unitemized: { amount: number }
43-
}
44-
45-
// Firestore: /generalCourts/{court}/membersFinance/{memberCode}
46-
export interface MembersFinance {
47-
ocpfCpfId: number
48-
totalRaised: number
49-
totalSpent: number
50-
cashOnHand: number
51-
contributorCount: number
52-
lastUpdated: Timestamp
53-
breakdown: MembersFinanceBreakdown
54-
candidateFunds: {
55-
loans: FinanceBreakdownEntry
56-
contributions: FinanceBreakdownEntry
57-
}
58-
inKind: {
59-
individual: FinanceBreakdownEntry
60-
committee: FinanceBreakdownEntry
61-
union: FinanceBreakdownEntry
62-
unitemized: { amount: number }
63-
}
64-
otherReceipts: {
65-
nonContribution: FinanceBreakdownEntry
66-
}
67-
years: Record<
68-
string,
69-
{
70-
totalRaised: number
71-
totalSpent: number
72-
breakdown: MembersFinanceBreakdown
73-
finalized: boolean
74-
}
75-
>
76-
}
43+
}

0 commit comments

Comments
 (0)