- iOS: Add BackgroundSyncService, SyncScheduler, SyncWorker, BookmarkViewModel, FeedViewModel - iOS: Add BackgroundSyncService, SyncScheduler, SyncWorker services - Linux: Add settings-store.vala, State.vala signals, view widgets (FeedList, FeedDetail, AddFeed, Search, Settings, Bookmark) - Linux: Add bookmark-store.vala, bookmark vala model, search-service.vala - Android: Add NotificationService, NotificationManager, NotificationPreferencesStore - Android: Add BookmarkDao, BookmarkRepository, SettingsStore - Add unit tests for iOS, Android, Linux - Add integration tests - Add performance benchmarks - Update tasks and documentation Co-Authored-By: Paperclip <noreply@paperclip.ing>
40 lines
860 B
Swift
40 lines
860 B
Swift
//
|
|
// Bookmark.swift
|
|
// RSSuper
|
|
//
|
|
// Model representing a bookmarked feed item
|
|
//
|
|
|
|
import Foundation
|
|
|
|
struct Bookmark: Identifiable, Equatable {
|
|
let id: String
|
|
let feedItemId: String
|
|
let title: String
|
|
let link: String?
|
|
let description: String?
|
|
let content: String?
|
|
let createdAt: Date
|
|
let tags: String?
|
|
|
|
init(
|
|
id: String = UUID().uuidString,
|
|
feedItemId: String,
|
|
title: String,
|
|
link: String? = nil,
|
|
description: String? = nil,
|
|
content: String? = nil,
|
|
createdAt: Date = Date(),
|
|
tags: String? = nil
|
|
) {
|
|
self.id = id
|
|
self.feedItemId = feedItemId
|
|
self.title = title
|
|
self.link = link
|
|
self.description = description
|
|
self.content = content
|
|
self.createdAt = createdAt
|
|
self.tags = tags
|
|
}
|
|
}
|