2020-07-30 01:50:30 +02:00
|
|
|
// Copyright © 2020 Metabolist. All rights reserved.
|
|
|
|
|
|
|
|
import Foundation
|
2020-08-31 03:40:58 +02:00
|
|
|
import HTTP
|
2020-09-04 03:55:46 +02:00
|
|
|
import Mastodon
|
2020-07-30 01:50:30 +02:00
|
|
|
|
2020-08-31 01:33:11 +02:00
|
|
|
public enum AccountEndpoint {
|
2020-07-30 01:50:30 +02:00
|
|
|
case verifyCredentials
|
2020-10-06 00:50:05 +02:00
|
|
|
case accounts(id: Account.Id)
|
2020-07-30 01:50:30 +02:00
|
|
|
}
|
|
|
|
|
2020-08-31 01:59:49 +02:00
|
|
|
extension AccountEndpoint: Endpoint {
|
2020-08-31 01:33:11 +02:00
|
|
|
public typealias ResultType = Account
|
2020-07-30 01:50:30 +02:00
|
|
|
|
2020-08-31 01:33:11 +02:00
|
|
|
public var context: [String] {
|
2020-07-30 01:50:30 +02:00
|
|
|
defaultContext + ["accounts"]
|
|
|
|
}
|
|
|
|
|
2020-08-31 01:33:11 +02:00
|
|
|
public var pathComponentsInContext: [String] {
|
2020-07-30 01:50:30 +02:00
|
|
|
switch self {
|
|
|
|
case .verifyCredentials: return ["verify_credentials"]
|
2020-09-22 08:53:11 +02:00
|
|
|
case let .accounts(id): return [id]
|
2020-07-30 01:50:30 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-08-31 01:33:11 +02:00
|
|
|
public var method: HTTPMethod {
|
2020-07-30 01:50:30 +02:00
|
|
|
switch self {
|
2020-09-22 08:53:11 +02:00
|
|
|
case .verifyCredentials, .accounts: return .get
|
2020-07-30 01:50:30 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|