mirror of
https://github.com/metabolist/metatext.git
synced 2024-09-27 14:00:05 +00:00
48 lines
934 B
Swift
48 lines
934 B
Swift
|
// Copyright © 2020 Metabolist. All rights reserved.
|
||
|
|
||
|
import Foundation
|
||
|
import HTTP
|
||
|
import Mastodon
|
||
|
|
||
|
public enum ResultsEndpoint {
|
||
|
case search(query: String, resolve: Bool)
|
||
|
}
|
||
|
|
||
|
extension ResultsEndpoint: Endpoint {
|
||
|
public typealias ResultType = Results
|
||
|
|
||
|
public var APIVersion: String {
|
||
|
switch self {
|
||
|
case .search:
|
||
|
return "v2"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public var pathComponentsInContext: [String] {
|
||
|
switch self {
|
||
|
case .search:
|
||
|
return ["search"]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public var method: HTTPMethod {
|
||
|
switch self {
|
||
|
case .search:
|
||
|
return .get
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public var queryParameters: [String: String]? {
|
||
|
switch self {
|
||
|
case let .search(query, resolve):
|
||
|
var params = ["q": query]
|
||
|
|
||
|
if resolve {
|
||
|
params["resolve"] = String(true)
|
||
|
}
|
||
|
|
||
|
return params
|
||
|
}
|
||
|
}
|
||
|
}
|