diff --git a/src/providers/patreon.ts b/src/providers/patreon.ts index 9f7329d..9966fbb 100644 --- a/src/providers/patreon.ts +++ b/src/providers/patreon.ts @@ -27,7 +27,7 @@ export async function fetchPatreonSponsors(token: string): Promise ({ membership, patron: sponsorshipData.included.find( - (v: any) => v.id === membership.relationships.user.data.id, + (v: any) => v.type === 'user' && v.id === membership.relationships.user.data.id, + ), + tier: sponsorshipData.included.find( + (v: any) => v.type === 'tier' && v.id === membership.relationships.currently_entitled_tiers.data[0]?.id, ), })), ) sponsorshipApi = sponsorshipData.links?.next } while (sponsorshipApi) - const processed = sponsors.map( - (raw: any): Sponsorship => ({ + const processed = sponsors.map((raw: any): Sponsorship => { + const sponsor: Sponsorship = { sponsor: { avatarUrl: raw.patron.attributes.image_url, login: raw.patron.attributes.first_name, @@ -62,13 +65,21 @@ export async function fetchPatreonSponsors(token: string): Promise 0) + sponsor.monthlyDollars = Math.floor(raw.tier.attributes.amount_cents / 100) + + return sponsor + }) return processed }