Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/api/filter activities #58

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

laurent-bientz
Copy link

@laurent-bientz laurent-bientz commented Aug 13, 2021

Hello @dawguk,

Thanks for your great library, it helped me a lot to build some useful analytics.

This PR allows to pass additional filters to the getActivityList() method because I needed to search for specific distances, between dates, sort by a column, [...], it's possible on Garmin Connect:

image

Rather than adding X new parameters to your method, I just decided to add an optional array and merging it with the existing params:

public function getActivityList($intStart = 0, $intLimit = 10, $strActivityType = null, $filters = array())

Full example:

$response = $client->getActivityList(0, 1, 'running', [
	'minDistance' => 4902,
	'maxDistance' => 5100,
	'startDate' => '2021-01-01',
	'endDate' => '2021-08-13',
	'sortBy' => 'elapsedDuration',
	'sortOrder' => 'asc',
]);

Note that getActivityList($filters = array()) would have been enough (because we can define start, limit & activityType in the same array) but to preserve backward compatibility, I decided to let the legacy params even if we can override them in that array.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant