Task 2: Centralize query parameter construction#21
Merged
Conversation
- Refactor OuraClient._make_request to handle URL construction centrally - Add logic to ensure endpoints start with / and remove duplicate /v2 prefixes - Update all endpoint modules to use relative paths without /v2 prefix - Update all tests to match new URL construction pattern - All 101 tests passing This fixes issue #8 where URLs were constructed as: https://api.ouraring.com/v2/v2/usercollection/... Now they correctly resolve to: https://api.ouraring.com/v2/usercollection/... 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Create build_query_params utility function in oura_api_client/utils - Handles date conversion from date objects to ISO strings - Filters out None values automatically - Refactor all endpoint modules to use the new utility - Reduces code duplication across 16 endpoint files - All 101 tests passing This centralizes the common pattern: - Converting date objects to ISO format strings - Building params dict with start_date, end_date, next_token - Filtering out None values Closes #9 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Fix undefined variable in ring_configuration.py - Remove unused List import from webhook.py - Add newline at end of query_params.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
oura_api_client/utilsfor parameter constructionChanges
Created
build_query_paramsutility function:oura_api_client/utils/query_params.pyRefactored 16 endpoint modules to use the new utility:
Maintained backward compatibility:
Benefits
Test plan
python -m pytest tests/test_client.pyflake8 oura_api_client/(all issues fixed)Closes #9
🤖 Generated with Claude Code