Magnets are expressed in two different ways: a hash and a link. Both of these mean the same thing with a magnet link giving more information if required. However, there was a disconnect if a hash was present or a link was present and required many steps to check which was available. Unify magnets by creating a parent structure that attempts to extract the hash or create a link in the event that either parameter isn't provided. Replace everything except bookmarks (to prevent CoreData complaints and unnecessary abstraction) to use the new Magnet system. Signed-off-by: kingbri <bdashore3@proton.me>
24 lines
477 B
Swift
24 lines
477 B
Swift
//
|
|
// Bookmark+CoreDataClass.swift
|
|
// Ferrite
|
|
//
|
|
// Created by Brian Dashore on 9/2/22.
|
|
//
|
|
//
|
|
|
|
import CoreData
|
|
import Foundation
|
|
|
|
@objc(Bookmark)
|
|
public class Bookmark: NSManagedObject {
|
|
func toSearchResult() -> SearchResult {
|
|
SearchResult(
|
|
title: title,
|
|
source: source,
|
|
size: size,
|
|
magnet: Magnet(hash: magnetHash, link: magnetLink),
|
|
seeders: seeders,
|
|
leechers: leechers
|
|
)
|
|
}
|
|
}
|