From 60c1bf55db57b10f3e73e0a68f77ae88600dd9d5 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Wed, 19 Apr 2023 22:26:23 +0200 Subject: [PATCH] Defined the Service public protocol. --- Sources/Filters/KeyNameFilter.swift | 4 ++-- Sources/Protocols/Service.swift | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 Sources/Protocols/Service.swift diff --git a/Sources/Filters/KeyNameFilter.swift b/Sources/Filters/KeyNameFilter.swift index b04e634..554033b 100644 --- a/Sources/Filters/KeyNameFilter.swift +++ b/Sources/Filters/KeyNameFilter.swift @@ -8,8 +8,8 @@ public struct KeyNameFilter { // MARK: Initialisers public init( - key: String?, - name: String? + key: String? = nil, + name: String? = nil ) { self.key = key self.name = name diff --git a/Sources/Protocols/Service.swift b/Sources/Protocols/Service.swift new file mode 100644 index 0000000..ab6fe6d --- /dev/null +++ b/Sources/Protocols/Service.swift @@ -0,0 +1,14 @@ +import Foundation + +protocol Service { + + // MARK: Functions + + func amiibos(filter: AmiiboFilter) async throws -> [Amiibo] + func amiiboSeries(filter: AmiiboSeriesFilter) async throws -> [AmiiboSeries] + func amiiboTypes(filter: AmiiboTypeFilter) async throws -> [AmiiboType] + func gameSeries(filter: GameSeriesFilter) async throws -> [GameSeries] + func characters(filter: CharacterFilter) async throws -> [Character] + func lastUpdated() async throws -> Date + +}