refactor: move accessor from service to device#628
Closed
CFenner wants to merge 8 commits into
Closed
Conversation
CFenner
added a commit
that referenced
this pull request
Jun 18, 2026
* refactor: move accessor from service to device Splits the device-identity concern (installation/gateway/device IDs) from the HTTP/cache concern (OAuth, request building, caching). Service instances no longer hold an accessor — it lives on Device and PyViCareDeviceConfig and is passed at each call site. Prep work for a future gateway-scoped service that can serve multiple devices from a single bulk fetch. Picked up from CFenner's #628 on current master since the 8-month drift (notably #764's PACKAGE_NOT_PAID_FOR exception handling in ViCareCachedService) made a fresh implementation cleaner than the rebase. Same design and API shape — public surface (device.getProperty/setProperty, DeviceConfig.as*) is unchanged. * fix(tests): cleanup mypy + pylint warnings in refactored test helpers - ViCareDeviceAccessor takes int as first arg per its annotation; pass 0 instead of "[id]" in the typed setUp of test_PyViCareDeviceConfig - Rename intentionally-unused mock params to _-prefix (accessor, requested_roles) so pylint doesn't flag unused-argument --------- Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
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.
Prep work for gateway-centric api calls