Handle when a feed in a folder being copied/moved already is subscribed in target account
This commit is contained in:
parent
30c21bb125
commit
a8f090656d
@ -492,6 +492,18 @@ private extension SidebarOutlineDataSource {
|
|||||||
case .success(let destinationFolder):
|
case .success(let destinationFolder):
|
||||||
let group = DispatchGroup()
|
let group = DispatchGroup()
|
||||||
for feed in folder.topLevelFeeds {
|
for feed in folder.topLevelFeeds {
|
||||||
|
if let existingFeed = destinationAccount.existingFeed(withURL: feed.url) {
|
||||||
|
group.enter()
|
||||||
|
destinationAccount.addFeed(existingFeed, to: destinationFolder) { result in
|
||||||
|
group.leave()
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
break
|
||||||
|
case .failure(let error):
|
||||||
|
NSApplication.shared.presentError(error)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
group.enter()
|
group.enter()
|
||||||
destinationAccount.createFeed(url: feed.url, name: feed.editedName, container: destinationFolder) { result in
|
destinationAccount.createFeed(url: feed.url, name: feed.editedName, container: destinationFolder) { result in
|
||||||
group.leave()
|
group.leave()
|
||||||
@ -503,11 +515,13 @@ private extension SidebarOutlineDataSource {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
group.notify(queue: DispatchQueue.main) {
|
group.notify(queue: DispatchQueue.main) {
|
||||||
completion()
|
completion()
|
||||||
}
|
}
|
||||||
case .failure(let error):
|
case .failure(let error):
|
||||||
NSApplication.shared.presentError(error)
|
NSApplication.shared.presentError(error)
|
||||||
|
completion()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user