This PR contains the work done to provide basic Linux support to this package.
To provide further details about the work done:
- [x] updated the `SwiftLibs` dependency to `v0.1.5`;
- [x] updated the Swift tools version in the `Package` file to `v5.7`;
- [x] added the `/.vscode` folder to the `.gitignore` file;
- [x] filtered out the `AmiiboClient` and `AmiiboService` entities from Linux platforms;
- [x] added several targets to the `Makefile` to smooth several development work-flows;
- [x] updated the Xcode and Github pages documentation.
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #16
This PR contains the work done to address the issue #14, that recommends some tweaks to the generated documentation targeting Xcode and Github pages.
To provide further details about the work done:
- [x] written the *Getting Started* article in the documentation catalog;
- [x] written the *AmiiboService* article in the documentation catalog;
- [x] updated the text of the `README` file;
- [x] downgraded the Swift tool version in the `Package` file to v5.5;
- [x] added the missing header file to the `Package` file;
- [x] updated the `SwiftLibs` package dependency to its latest release;
- [x] re-generated the documentation targeting Xcode and Github pages.
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #15
This PR contains the work done to address the issue #11, related to setting up DocC documentation in this project.
To provide further details about the work done:
- [x] created the documentation catalog for the project in Xcode;
- [x] added the `Swift-DocC-Plugin` dependency to the `Package` file;
- [x] implemented documentation preview, generation and cleanup workflows in the `Makefile` file;
- [x] generated documentation for Xcode and Github pages;
- [x] added the package logo assets to the project;
- [x] integrated the package logo assets to the `README` file, with support for both light and dark color schemes;
- [x] added the `.env` file to the `.gitignore` file.
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #13
This PR contains the work done to addres the issue #8, related to setting up a EUPL 1.2 license for this project.
To provide further details about the work done:
- [x] defined the LICENSE text;
- [x] defined the CONTRIBUTORS text;
- [x] added a header file to source code available in this project.
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #12
This PR contains the work done to address the issue #7, related to documenting the source code that would be used for other developers.
To provide further details about the work done:
- [x] restructured the hierarchy of some models that are related to the `Amiibo` model;
- [x] written documentation for the `AmiiboService` service;
- [x] written documentation for the `AmiiboFilter` and `KeyNameFilter` filters;
- [x] written documentation for the `Amiibo`, `KeyName`, `LastUpdated` and children model;
- [x] written documentation for the `AmiiboClientError` error;
- [x] written documentation for the README file.
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #10
This PR contains the work done to make improvements to the existing models.
To provide further details about the work done:
- [x] moved the `games3DS`, `gamesWiiU` and `gamesSwitch` properties from the `Amiibo` model to their own `Games` child model;
- [x] improved the decoding of the `Result` model.
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #5
This PR contains the work done to implement the actual public service interface to the Amiibo API.
To provide further details about this work:
- [x] defined a `Filter` protocol;
- [x] implemented the `AmiiboFilter` and the `KeyNameFilter` filters;
- [x] implemented the `Result` model;
- [x] defined the `Service` protocol;
- [x] implemented the `AmiiboService` concrete service;
- [x] fixed the `path` of the `GetAmiiboEndpoint` endpoint;
- [x] made the `usage` property of the `Game` model optional;
- [x] replaced the `showGames` and the `showUsage` flags of the `AmiiboFilter` filter with an enumeration.
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #4
This PR contains the work done to implement the `AmiiboClient` struct that conforms to the `Client` protocol coming from the **Communications** library of the [SwiftLibs package](https://github.com/rock-n-code/swift-libs)
To provide further detailks about the work done:
- [x] added the `parameters` property to all the existing endpoints;
- [x] implemented the `AmiiboClient` client and the `AmiiboClientError` error;
- [x] implemented some static formatters in the `DateFormatter+Formatter` extension;
- [x] updated the `SwiftLibs` package to its latest version.
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #3
This PR contains the work done in implementing the endpoints needed for the remote calls: `GetAmiiboEndpoint`, `GetTypeEndpoint`, `GetGameSeriesEndpoint`, `GetSeriesEndpoint`, `GetSeriesEndpoint` and `GetLastUpdatedEndpoint` endpoints definitions. Furthermore, I added the the **SwiftLibs** package as a dependency and also, I defined constants for `String+Scheme`, `String+Host` and the `String+Path` extensions.
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #2
This PR contains the implementation of all the models used by this service: `Amiibo`, `Amiibo.Game`, `Amiibo.Release`, `Amiibo.Usage`, `KeyName` and `LastUpdated`.
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Reviewed-on: #1