NewPath-Consulting / warm

Pro Reports for Wild Apricot is a Google Data Studio connector that helps Wild Apricot administrators understand your organization’s membership engagement, renewal rates, and demographics. Trend your revenue and get expense analyses. Whatever your question, enjoy all the organized data you need at your fingertips to make the business decisions want.
https://newpathconsulting.com/warm
GNU General Public License v3.0
5 stars 4 forks source link

Introduce paging, start and end date and include voided checkbox for Invoices object #32

Closed asirota closed 4 years ago

asirota commented 4 years ago

Like the /Contacts endpoint, the /Invoices endpoint supports paging as well as the ability exclude the voided invoices.

  1. Introduce paging options similar to the Contacts endpoint (show paging parameters) for Invoices and adjust the messaging to include Invoices. Allow pages to be retrieved in pages the same way as Contacts are retrieved

  2. Introduce a checkbox called 'Include voided invoices', when checked set includeVoided to true in the $filter clause

  3. introduce Invoice Start Date and Invoice End Date as options to support filtering on a range of dates for invoices

StartDate and EndDate are the filter keys

If these are empty don't add the date filters to the call.

asirota commented 4 years ago

Turns out that paging is support on many other endpoints.

Can introduce paging on current support endpoints /Auditlog /Events

Also these future endpoint support paging in the same way:

/Donations /Payments /Refunds /SentEmails /EmailDrafts

miasmos commented 4 years ago
  1. Added paging to the Invoices endpoint. Also, fixed the endpoint being called an additional time unnecessarily.
  2. Added a checkbox that sends includeVoided=true along with api requests when checked.
  3. Date range is already supported if either Audit Log or Invoices is selected. By default, it will include the last 28 days, or whatever date range the user filters on in a report. As far as I can tell this isn't configurable from the connector. These will always have a value. https://developers.google.com/datastudio/connector/date-range

I've also added some tooling around code formatting.

asirota commented 4 years ago

@stephenpoole — can you add paging support to /Events and /Audilog as well. Both need to be paged especially if there is a ton of data to avoid API errors.

miasmos commented 4 years ago

Added paging for /auditlog and /event.

asirota commented 4 years ago

@stephenpoole /auditlog and /event do not prompt for page size and instead raise the error

Wild Apricot object is required.

miasmos commented 4 years ago

I need to redeploy to uat.

asirota commented 4 years ago

QA check ok on /auditlog /event and /invoice for page size and include voided invoice