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
16 lines
305 B
Swift
16 lines
305 B
Swift
public struct Game {
|
|
public let ids: [String]
|
|
public let name: String
|
|
public let usage: [Usage]?
|
|
}
|
|
|
|
// MARK: - Decodable
|
|
|
|
extension Game: Decodable {
|
|
enum CodingKeys: String, CodingKey {
|
|
case ids = "gameID"
|
|
case name = "gameName"
|
|
case usage = "amiiboUsage"
|
|
}
|
|
}
|