mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2024-05-14 10:32:41 +00:00
27 lines
600 B
Swift
27 lines
600 B
Swift
import Foundation
|
|
|
|
public protocol Endpoint {
|
|
func path() -> String
|
|
func queryItems() -> [URLQueryItem]?
|
|
var jsonValue: Encodable? { get }
|
|
}
|
|
|
|
public extension Endpoint {
|
|
var jsonValue: Encodable? {
|
|
nil
|
|
}
|
|
}
|
|
|
|
extension Endpoint {
|
|
func makePaginationParam(sinceId: String?, maxId: String?, mindId: String?) -> [URLQueryItem]? {
|
|
if let sinceId {
|
|
return [.init(name: "since_id", value: sinceId)]
|
|
} else if let maxId {
|
|
return [.init(name: "max_id", value: maxId)]
|
|
} else if let mindId {
|
|
return [.init(name: "min_id", value: mindId)]
|
|
}
|
|
return nil
|
|
}
|
|
}
|