extra-life-node v0.0.1
extra-life-node
This is a clone of https://github.com/ammuench/extra-life-api
noed-extra-life is a node module to integrate with the extra-life API, and extends it to provide additional info where possible.
Installation
You can install the repo through NPM
npm i extra-life-nodeimport { getTeamInfo, getTeamDonations } from 'extra-life-node';
import * as extraLifeAPI from 'extra-life-node';API
Team & Participant IDs Parameters
Every method on the module will require an individual's 'Participant ID' or a team's 'Team ID'. These can be found by going to your personal profile page or team profile page, and checking the end of the URL:
Participant ID
extra-life.org/index.cfm?fuseaction=donordrive.participant&participantID=PARTICIPANT ID HERE
Team ID
extra-life.org/index.cfm?fuseaction=donorDrive.team&teamID=TEAM ID HERE
Methods
getUserInfo( participantId )
- Takes
participantIdas a parameter - Returns a basic object of user info
Returned object
{ displayName: 'Joe Smith', fundraisingGoal: 400, participantID: 506571, teamName: 'My Awesome Team', eventName: 'Extra Life 2018', avatarImageURL: 'https://assets.donordrive.com/extralife/images/$avatars$/constituent_42BB6E88-C292-13D6-00FFFD8987560FD1538.jpg', createdDateUTC: '2018-06-15T19:18:15.77+0000', eventID: 539, sumDonations: 250, teamID: 38961, isTeamCaptain: false, numDonations: 17, donateURL: 'https://www.extra-life.org/index.cfm?fuseaction=donate.participant&participantID=506571', teamURL: 'https://www.extra-life.org/index.cfm?fuseaction=donorDrive.team&teamID=38961' }- Takes
getUserDonations( participantId, limit?, page?)
- Takes
participantIdas a parameter.limitandpageare optional parameters. Page size is equal to yourlimitvalue. - Returns information on page and count, and an array of donations, ordered from newest to oldest
Returned object
{ countDonations: 73, countPages: 1, donations: [ { displayName: 'Tony Stark', message: 'Great job!', participantID: 681675, amount: 25, donorID: '5D4DBFFF-B861-D42E-05E6F2B574189698F', avatarImageURL: '//assets.donordrive.com/clients/extralife/img/avatar-constituent-default.gif', createdDateUTC: '2018-09-04T04:54:16.953+0000' }, ] }- Takes
getTeamInfo(teamId, fetchRoster?)
- Takes
teamIdas a parameter and an optionalfetchRosterboolean (defaults to TRUE) - Returns a promise that contains an object with the basic team info and it's full roster (if
fetchRosteris set to TRUE) - Roster returns as array of user objects
Returned object
{ fundraisingGoal: 50000, eventName: 'Extra Life 2018', avatarImageURL: 'http://assets.donordrive.com/extralife/images/$event539$/avatar_team_38961.jpg', createdDateUTC: '2018-01-20T04:51:25.97+0000', eventID: 539, sumDonations: 1469, teamID: 38961, name: 'Extra Life Nerds', numDonations: 51, teamURL: 'https://www.extra-life.org/index.cfm?fuseaction=donorDrive.team&teamID=38961' }, members: [ { displayName: 'Alex Muench', fundraisingGoal: 1000, participantID: 320706, teamName: 'Extra Life Nerds', eventName: 'Extra Life 2018', avatarImageURL: 'https://assets.donordrive.com/extralife/images/$avatars$/constituent_0C07ECD7-C293-34EB-45A3F7B77F8BA043.jpg', createdDateUTC: '2018-09-06T20:14:48.0+0000', eventID: 539, sumDonations: 0, teamID: 38961, isTeamCaptain: false, numDonations: 0, profileURL: 'https://www.extra-life.org/index.cfm?fuseaction=donorDrive.participants&participantID=320706', URL: 'https://www.extra-life.org/index.cfm?fuseaction=donorDrive.participant&participantID=320706' } ] }- Takes
getTeamRoster(teamId)
- Takes
teamIdas a parameter - Returns information on page and count and an array of team members
Returned object
{ countMembers: 73, countPages: 1, members: [ { displayName: 'Alex Muench', fundraisingGoal: 1000, participantID: 320706, teamName: 'Extra Life Nerds', eventName: 'Extra Life 2018', avatarImageURL: 'https://assets.donordrive.com/extralife/images/$avatars$/constituent_0C07ECD7-C293-34EB-45A3F7B77F8BA043.jpg', createdDateUTC: '2018-09-06T20:14:48.0+0000', eventID: 539, sumDonations: 0, teamID: 38961, isTeamCaptain: false, numDonations: 0, profileURL: 'https://www.extra-life.org/index.cfm?fuseaction=donorDrive.participants&participantID=320706', URL: 'https://www.extra-life.org/index.cfm?fuseaction=donorDrive.participant&participantID=320706' } ] }
- Takes
getTeamDonations( teamId, limit, page )
- Takes
teamIdas a parameter.limitandpageare optional parameters. Page size is equal to yourlimitvalue. - Returns information on page and count, and an array of donations given to the team, ordered from newest to oldest
NOTE ExtraLife's API includes registrations as donations in this view. Donations of "null" are a user signing up for a team. Donations of 19 (assumedly) are users signing up as a Platinum User.
Returned object
```javascript { countDonations: 73, countPages: 1, donations: [ { displayName: 'Joe Smith', message: null, participantID: 55555, amount: 19, donorID: 'ASDFF-AB7F-8295-1283655555F38D6D', avatarImageURL: '//assets.donordrive.com/extralife/images/$avatars$/constituent_ASDFF-AB7F-8295-1283655555F38D6D.jpg', createdDateUTC: '2018-01-22T14:39:04.783+0000', teamID: 38961 }, { displayName: 'Joan Smith', message: null, participantID: 55555, amount: 19, donorID: 'ASDFF-AB7F-8295-1283655555F38D6D', avatarImageURL: '//assets.donordrive.com/extralife/images/$avatars$/constituent_ASDFF-AB7F-8295-1283655555F38D6D.jpg', createdDateUTC: '2018-01-20T18:15:20.607+0000', teamID: 38961 }, { displayName: 'Joey Smith', message: null, participantID: 55555, amount: 19, donorID: 'ASDFF-AB7F-8295-1283655555F38D6D', avatarImageURL: '//assets.donordrive.com/extralife/images/$avatars$/constituent_ASDFF-AB7F-8295-1283655555F38D6D.jpg', createdDateUTC: '2018-01-20T17:47:14.630+0000', teamID: 38961 } ] } ```License
- Takes
7 years ago