Adds support for website APIs both complex and simple. This commit only supports GET requests to APIs. POST request support can be added on request. Client IDs and secrets are also supported. They can be added via source settings or automatically set by a website endpoint. Also fetch sources for scraping using the backgroundContext and remove some functions from using the main actor. Signed-off-by: kingbri <bdashore3@gmail.com>
33 lines
857 B
Swift
33 lines
857 B
Swift
//
|
|
// Source+CoreDataProperties.swift
|
|
// Ferrite
|
|
//
|
|
// Created by Brian Dashore on 8/3/22.
|
|
//
|
|
//
|
|
|
|
import CoreData
|
|
import Foundation
|
|
|
|
public extension Source {
|
|
@nonobjc class func fetchRequest() -> NSFetchRequest<Source> {
|
|
NSFetchRequest<Source>(entityName: "Source")
|
|
}
|
|
|
|
@NSManaged var id: UUID
|
|
@NSManaged var baseUrl: String?
|
|
@NSManaged var dynamicBaseUrl: Bool
|
|
@NSManaged var enabled: Bool
|
|
@NSManaged var name: String
|
|
@NSManaged var author: String
|
|
@NSManaged var listId: UUID?
|
|
@NSManaged var preferredParser: Int16
|
|
@NSManaged var version: Int16
|
|
@NSManaged var htmlParser: SourceHtmlParser?
|
|
@NSManaged var rssParser: SourceRssParser?
|
|
@NSManaged var jsonParser: SourceJsonParser?
|
|
@NSManaged var api: SourceApi?
|
|
@NSManaged var trackers: [String]?
|
|
}
|
|
|
|
extension Source: Identifiable {}
|