10 Commits

Author SHA1 Message Date
0461e65a9c Written the documentation for the KeyNameFilter filter. 2023-04-23 13:24:59 +02:00
118e824989 Written the documentation for the AmiiboFilter filter. 2023-04-23 13:19:40 +02:00
46dca64589 Written the documentation for the AmiiboService actor. 2023-04-23 13:02:24 +02:00
dea5de9b32 Written the package description and the installation in the README file. 2023-04-23 13:02:05 +02:00
a0dcdf7673 [Tweaks] Models (#5)
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
2023-04-21 21:47:55 +00:00
f34ce5289d [Feature] Service (#4)
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
2023-04-21 18:16:38 +00:00
68acf82f9d [Feature] Client (#3)
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
2023-04-19 14:33:48 +00:00
e12fce9ddc [Feature] All endpoints (#2)
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
2023-04-18 20:03:12 +00:00
29f766ebdb [Feature] Models of the service (#1)
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
2023-04-18 18:37:08 +00:00
472ed2c068 Initial Commit 2023-04-18 19:44:24 +02:00