diff --git a/apple/OmnivoreKit/Sources/Models/CoreData/CoreDataModel.xcdatamodeld/CoreDataModel.xcdatamodel/contents b/apple/OmnivoreKit/Sources/Models/CoreData/CoreDataModel.xcdatamodeld/CoreDataModel.xcdatamodel/contents
index 3b0ea0639..63bdc0cd9 100644
--- a/apple/OmnivoreKit/Sources/Models/CoreData/CoreDataModel.xcdatamodeld/CoreDataModel.xcdatamodel/contents
+++ b/apple/OmnivoreKit/Sources/Models/CoreData/CoreDataModel.xcdatamodeld/CoreDataModel.xcdatamodel/contents
@@ -43,6 +43,7 @@
+
@@ -88,7 +89,7 @@
-
+
diff --git a/apple/OmnivoreKit/Sources/Models/DataModels/FeedItem.swift b/apple/OmnivoreKit/Sources/Models/DataModels/FeedItem.swift
index 934e545c5..30935ec9a 100644
--- a/apple/OmnivoreKit/Sources/Models/DataModels/FeedItem.swift
+++ b/apple/OmnivoreKit/Sources/Models/DataModels/FeedItem.swift
@@ -16,6 +16,7 @@ public struct JSONArticle: Decodable {
public let id: String
public let title: String
public let createdAt: Date
+ public let updatedAt: Date
public let savedAt: Date
public let image: String
public let readingProgressPercent: Double
@@ -116,6 +117,7 @@ public extension LinkedItem {
}
guard context.hasChanges else { return }
+ self.updatedAt = Date()
do {
try context.save()
diff --git a/apple/OmnivoreKit/Sources/Models/LinkedItemSort.swift b/apple/OmnivoreKit/Sources/Models/LinkedItemSort.swift
index d03f3e380..ba0919203 100644
--- a/apple/OmnivoreKit/Sources/Models/LinkedItemSort.swift
+++ b/apple/OmnivoreKit/Sources/Models/LinkedItemSort.swift
@@ -3,9 +3,9 @@ import Foundation
public enum LinkedItemSort: String, CaseIterable {
case newest
case oldest
- case recentlyRead
+ // case recentlyRead
case recentlyPublished
- case relevance
+// case relevance
}
public extension LinkedItemSort {
@@ -15,12 +15,12 @@ public extension LinkedItemSort {
return "Newest"
case .oldest:
return "Oldest"
- case .recentlyRead:
- return "Recently Read"
+// case .recentlyRead:
+// return "Recently Read"
case .recentlyPublished:
return "Recently Published"
- case .relevance:
- return "Relevance"
+// case .relevance:
+// return "Relevance"
}
}
@@ -30,23 +30,23 @@ public extension LinkedItemSort {
return "sort:saved"
case .oldest:
return "sort:saved-ASC"
- case .recentlyRead:
- return "sort:updated"
+// case .recentlyRead:
+// return "sort:updated"
case .recentlyPublished:
return "sort:published"
- case .relevance:
- return "relevance"
+// case .relevance:
+// return "relevance"
}
}
var sortDescriptors: [NSSortDescriptor] {
switch self {
- case .newest, .relevance:
+ case .newest /* , .relevance */:
return [NSSortDescriptor(keyPath: \LinkedItem.createdAt, ascending: false)]
case .oldest:
return [NSSortDescriptor(keyPath: \LinkedItem.createdAt, ascending: true)]
- case .recentlyRead:
- return [NSSortDescriptor(keyPath: \LinkedItem.savedAt, ascending: false)]
+// case .recentlyRead:
+// return [NSSortDescriptor(keyPath: \LinkedItem.updatedAt, ascending: false)]
case .recentlyPublished:
return [NSSortDescriptor(keyPath: \LinkedItem.publishDate, ascending: false)]
}
diff --git a/apple/OmnivoreKit/Sources/Services/DataService/Queries/ArticleContentQuery.swift b/apple/OmnivoreKit/Sources/Services/DataService/Queries/ArticleContentQuery.swift
index b322a4f73..89da84ecd 100644
--- a/apple/OmnivoreKit/Sources/Services/DataService/Queries/ArticleContentQuery.swift
+++ b/apple/OmnivoreKit/Sources/Services/DataService/Queries/ArticleContentQuery.swift
@@ -100,6 +100,7 @@ extension DataService {
title: try $0.title(),
createdAt: try $0.createdAt().value ?? Date(),
savedAt: try $0.savedAt().value ?? Date(),
+ updatedAt: try $0.updatedAt().value ?? Date(),
readingProgress: try $0.readingProgressPercent(),
readingProgressAnchor: try $0.readingProgressAnchorIndex(),
imageURLString: try $0.image(),
diff --git a/apple/OmnivoreKit/Sources/Services/DataService/Queries/LibraryItemsQuery.swift b/apple/OmnivoreKit/Sources/Services/DataService/Queries/LibraryItemsQuery.swift
index e14118f9c..6d2acdf74 100644
--- a/apple/OmnivoreKit/Sources/Services/DataService/Queries/LibraryItemsQuery.swift
+++ b/apple/OmnivoreKit/Sources/Services/DataService/Queries/LibraryItemsQuery.swift
@@ -97,6 +97,7 @@ public extension DataService {
title: try $0.title(),
createdAt: try $0.createdAt().value ?? Date(),
savedAt: try $0.savedAt().value ?? Date(),
+ updatedAt: try $0.updatedAt().value ?? Date(),
readingProgress: try $0.readingProgressPercent(),
readingProgressAnchor: try $0.readingProgressAnchorIndex(),
imageURLString: try $0.image(),
@@ -162,6 +163,7 @@ private let libraryArticleSelection = Selection.Article {
title: try $0.title(),
createdAt: try $0.createdAt().value ?? Date(),
savedAt: try $0.savedAt().value ?? Date(),
+ updatedAt: try $0.updatedAt().value ?? Date(),
readingProgress: try $0.readingProgressPercent(),
readingProgressAnchor: try $0.readingProgressAnchorIndex(),
imageURLString: try $0.image(),
diff --git a/apple/OmnivoreKit/Sources/Services/InternalModels/InternalLinkedItem.swift b/apple/OmnivoreKit/Sources/Services/InternalModels/InternalLinkedItem.swift
index 8927f7b63..9e60704c9 100644
--- a/apple/OmnivoreKit/Sources/Services/InternalModels/InternalLinkedItem.swift
+++ b/apple/OmnivoreKit/Sources/Services/InternalModels/InternalLinkedItem.swift
@@ -7,6 +7,7 @@ struct InternalLinkedItem {
let title: String
let createdAt: Date
let savedAt: Date
+ let updatedAt: Date
var readingProgress: Double
var readingProgressAnchor: Int
let imageURLString: String?
@@ -39,6 +40,7 @@ struct InternalLinkedItem {
linkedItem.title = title
linkedItem.createdAt = createdAt
linkedItem.savedAt = savedAt
+ linkedItem.updatedAt = updatedAt
linkedItem.readingProgress = readingProgress
linkedItem.readingProgressAnchor = Int64(readingProgressAnchor)
linkedItem.imageURLString = imageURLString
@@ -95,6 +97,7 @@ extension JSONArticle {
title: title,
createdAt: createdAt,
savedAt: savedAt,
+ updatedAt: updatedAt,
readingProgress: readingProgressPercent,
readingProgressAnchor: readingProgressAnchorIndex,
imageURLString: image,
diff --git a/packages/api/src/utils/uploads.ts b/packages/api/src/utils/uploads.ts
index 76422657e..2fc5535d6 100644
--- a/packages/api/src/utils/uploads.ts
+++ b/packages/api/src/utils/uploads.ts
@@ -20,9 +20,9 @@ export const generateUploadSignedUrl = async (
contentType: string,
selectedBucket?: string
): Promise => {
- if (env.dev.isLocal) {
- return 'http://localhost:3000/uploads/' + filePathName
- }
+ // if (env.dev.isLocal) {
+ // return 'http://localhost:3000/uploads/' + filePathName
+ // }
// These options will allow temporary uploading of file with requested content type
const options: GetSignedUrlConfig = {
@@ -59,9 +59,9 @@ export const makeStorageFilePublic = async (
id: string,
fileName: string
): Promise => {
- if (env.dev.isLocal) {
- return 'http://localhost:3000/public/' + id + '/' + fileName
- }
+ // if (env.dev.isLocal) {
+ // return 'http://localhost:3000/public/' + id + '/' + fileName
+ // }
// Makes the file public
const filePathName = generateUploadFilePathName(id, fileName)
@@ -75,12 +75,12 @@ export const getStorageFileDetails = async (
id: string,
fileName: string
): Promise<{ md5Hash: string; fileUrl: string }> => {
- if (env.dev.isLocal) {
- return {
- md5Hash: 'some_md5_hash',
- fileUrl: 'http://localhost:3000/public/' + id + '/' + fileName,
- }
- }
+ // if (env.dev.isLocal) {
+ // return {
+ // md5Hash: 'some_md5_hash',
+ // fileUrl: 'http://localhost:3000/public/' + id + '/' + fileName,
+ // }
+ // }
const filePathName = generateUploadFilePathName(id, fileName)
const file = storage.bucket(bucketName).file(filePathName)
@@ -103,9 +103,9 @@ export const uploadToSignedUrl = async (
data: Buffer,
contentType: string
): Promise => {
- if (env.dev.isLocal) {
- return
- }
+ // if (env.dev.isLocal) {
+ // return
+ // }
await axios.put(uploadUrl, data, {
headers: {