1
0
mirror of https://github.com/yattee/yattee.git synced 2024-12-15 06:40:32 +05:30
yattee/Model/Applications/SponsorBlockAPI.swift

34 lines
910 B
Swift
Raw Normal View History

2021-06-18 04:13:29 +05:30
import Alamofire
import Foundation
import SwiftyJSON
2021-06-28 16:13:07 +05:30
final class SponsorBlockAPI: ObservableObject {
2021-06-20 01:40:14 +05:30
static let categories = ["sponsor", "selfpromo", "outro", "intro", "music_offtopic", "interaction"]
2021-06-18 04:13:29 +05:30
var id: String
2021-06-18 04:13:29 +05:30
@Published var segments = [Segment]()
init(_ id: String) {
self.id = id
}
func load() {
AF.request("https://sponsor.ajay.app/api/skipSegments", parameters: parameters).responseJSON { response in
switch response.result {
case let .success(value):
self.segments = JSON(value).arrayValue.map { SponsorBlockSegment($0) }
case let .failure(error):
print(error)
}
}
}
private var parameters: [String: String] {
[
"videoID": id,
2021-06-28 16:13:07 +05:30
"categories": JSON(SponsorBlockAPI.categories).rawString(String.Encoding.utf8)!
2021-06-18 04:13:29 +05:30
]
}
}