Necessary to ensure each endpoint is properly configured with settings unique to the client instance instead of sharing global settings. This cropped up due to needing to deal with multiple TRMNL API server routes when they should be a single route.
Milestone: minor
Necessary to ensure settings are unique per instance because, unfortunately, we have to deal with talking to two different TRMNL API endpoints now (i.e. `https://usetrmnl.com` and `https://usetrmnl.com/api`).
Milestone: patch
Necessary to perform API requests and acquire models for further processing. This also wires up the client and exposes the endpoint for immediate use.
Milestone: minor
Necessary to model the data from the Recipes API. This leverages the `Entry` model which encapsulates the `data` attribute while the other keys are pagination related.
Milestone: minor
Necessary to model recipe data. A `Struct` is used because some fields are optional. This will soon be used by the recipe model (soon to be added).
Milestone: minor
Necessary to model a recipe author. A `Struct` is used because some keys are optional. This injects the `LocaleReducer` in order to convert all description locales to a hash for quick lookup rather than use the redundant keys provided by the API. Will soon be used by the recipe model (soon to be added).
Milestone: minor
Necessary to provide a reusable function to process locales by dealing with the unnecessary duplication of locale key prefixes in the API responses. This will soon be used by the models.
Milestone: minor
Necessary to validate the API response and ensure it's of the right format and type. Leverages the recently added `Recipes::Author` contract.
Milestone: minor
Necessary to account for bad requests. This also removes the private attribute accessors since they are automatically made available via Infusible.
Milestone: minor
Necessary to validate the Palette API response. I've logged and issue against our Core project to improve upon this further since the API design is inconsistent so hoping this will improve soon.
Milestone: minor