Wondering what‚Äôs next for npm?Check out our public roadmap! ¬Ľ

    extra-life-node
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.1¬†‚Äʬ†Public¬†‚Äʬ†Published

    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-node
    import { 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 participantId as 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' 
      }
    • getUserDonations( participantId, limit?, page?)

      • Takes participantId as a parameter. limit and page are optional parameters. Page size is equal to your limit value.
      • 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'
          },
        ]
      }
    • getTeamInfo(teamId, fetchRoster?)

      • Takes teamId as a parameter and an optional fetchRoster boolean (defaults to TRUE)
      • Returns a promise that contains an object with the basic team info and it's full roster (if fetchRoster is 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'
          }
        ]
      }
    • getTeamRoster(teamId)

      • Takes teamId as 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'
            }
          ]
        }
    • getTeamDonations( teamId, limit, page )

      • Takes teamId as a parameter. limit and page are optional parameters. Page size is equal to your limit value.
      • 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

      {
        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

    The MIT License (MIT)

    Install

    npm i extra-life-node

    DownloadsWeekly Downloads

    1

    Version

    0.0.1

    License

    MIT

    Unpacked Size

    23.2 kB

    Total Files

    10

    Last publish

    Collaborators

    • avatar