Public should not be used in an app since it declares public to additional modules. However, an app is one module. Some structs/ classes need to be left public to conform to CoreData's generation. Signed-off-by: kingbri <bdashore3@proton.me>
38 lines
890 B
Swift
38 lines
890 B
Swift
//
|
|
// Plugin.swift
|
|
// Ferrite
|
|
//
|
|
// Created by Brian Dashore on 1/25/23.
|
|
//
|
|
|
|
import CoreData
|
|
import Foundation
|
|
|
|
protocol Plugin: ObservableObject, NSManagedObject {
|
|
var id: UUID { get set }
|
|
var listId: UUID? { get set }
|
|
var name: String { get set }
|
|
var version: Int16 { get set }
|
|
var author: String { get set }
|
|
var about: String? { get set }
|
|
var website: String? { get set }
|
|
var enabled: Bool { get set }
|
|
var tags: NSOrderedSet? { get set }
|
|
func getTags() -> [PluginTagJson]
|
|
}
|
|
|
|
extension Plugin {
|
|
var tagArray: [PluginTag] {
|
|
tags?.array as? [PluginTag] ?? []
|
|
}
|
|
}
|
|
|
|
protocol PluginJson: Hashable {
|
|
var name: String { get }
|
|
var version: Int16 { get }
|
|
var author: String? { get }
|
|
var listId: UUID? { get }
|
|
var listName: String? { get }
|
|
var tags: [PluginTagJson]? { get }
|
|
func getTags() -> [PluginTagJson]
|
|
}
|