Skip to content

Commit c4db87e

Browse files
committed
Rename AbstractPost.original()
1 parent 0dbd06c commit c4db87e

21 files changed

+51
-51
lines changed

Sources/WordPressData/Swift/AbstractPost.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import WordPressShared
55
public extension AbstractPost {
66
/// Returns the original post by navigating the entire list of revisions
77
/// until it reaches the head.
8-
func original() -> AbstractPost {
9-
original?.original() ?? self
8+
func rootOriginal() -> AbstractPost {
9+
original?.rootOriginal() ?? self
1010
}
1111

1212
/// Returns `true` if the post was never uploaded to the remote and has
@@ -127,7 +127,7 @@ public extension AbstractPost {
127127
[
128128
"post_type": analyticsPostType ?? "",
129129
"status": status?.rawValue ?? "",
130-
"original_status": original().status?.rawValue ?? "unknown",
130+
"original_status": rootOriginal().status?.rawValue ?? "unknown",
131131
"password_protected": PostVisibility(post: self) == .protected
132132
]
133133
}
@@ -226,7 +226,7 @@ public extension AbstractPost {
226226
guard let previous = revision.original else {
227227
return wpAssertionFailure("missing original")
228228
}
229-
let original = revision.original()
229+
let original = revision.rootOriginal()
230230
previous.deleteRevision()
231231
if previous == original, !previous.hasRemote() {
232232
context.delete(original)

WordPress/Classes/Services/MediaCoordinator.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class MediaCoordinator: NSObject {
8989
}
9090

9191
// Use the original post so we don't create new coordinators for post revisions
92-
let original = post.original()
92+
let original = post.rootOriginal()
9393

9494
let coordinator = MediaProgressCoordinator()
9595
coordinator.delegate = self
@@ -105,7 +105,7 @@ class MediaCoordinator: NSObject {
105105
/// if one does not exist.
106106
private func cachedCoordinator(for post: AbstractPost) -> MediaProgressCoordinator? {
107107
// Use the original post so we don't create new coordinators for post revisions
108-
let original = post.original()
108+
let original = post.rootOriginal()
109109

110110
return progressCoordinatorQueue.sync {
111111
return postMediaProgressCoordinators[original]
@@ -557,7 +557,7 @@ class MediaCoordinator: NSObject {
557557
func addObserver(_ onUpdate: @escaping ObserverBlock, forMediaFor post: AbstractPost) -> UUID {
558558
let uuid = UUID()
559559

560-
let original = post.original()
560+
let original = post.rootOriginal()
561561
let observer = MediaObserver(subject: .post(id: original.objectID), onUpdate: onUpdate)
562562

563563
queue.async {
@@ -692,7 +692,7 @@ class MediaCoordinator: NSObject {
692692
guard let post = object as? AbstractPost else {
693693
return nil
694694
}
695-
return post.original().objectID
695+
return post.rootOriginal().objectID
696696
} ?? []
697697
}
698698

WordPress/Classes/Services/PostCoordinator.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class PostCoordinator: NSObject {
103103
/// Uploads the changes made to the post to the server.
104104
@discardableResult @MainActor
105105
func save(_ post: AbstractPost, changes: RemotePostUpdateParameters? = nil) async throws -> AbstractPost {
106-
let post = post.original()
106+
let post = post.rootOriginal()
107107

108108
await pauseSyncing(for: post)
109109
defer { resumeSyncing(for: post) }
@@ -150,7 +150,7 @@ class PostCoordinator: NSObject {
150150
private func update(_ post: AbstractPost, changes: RemotePostUpdateParameters) async throws {
151151
wpAssert(post.isOriginal())
152152

153-
let post = post.original()
153+
let post = post.rootOriginal()
154154
do {
155155
try await PostRepository(coreDataStack: coreDataStack).update(post, changes: changes)
156156
} catch {
@@ -244,7 +244,7 @@ class PostCoordinator: NSObject {
244244
/// Sets the post state to "updating" and performs the given changes.
245245
private func performChanges(_ changes: RemotePostUpdateParameters, for post: AbstractPost) {
246246
Task { @MainActor in
247-
let post = post.original()
247+
let post = post.rootOriginal()
248248
setUpdating(true, for: post)
249249
defer { setUpdating(false, for: post) }
250250

@@ -261,22 +261,22 @@ class PostCoordinator: NSObject {
261261

262262
/// Returns `true` if post has any revisions that need to be synced.
263263
func isSyncNeeded(for post: AbstractPost) -> Bool {
264-
post.original().getLatestRevisionNeedingSync() != nil
264+
post.rootOriginal().getLatestRevisionNeedingSync() != nil
265265
}
266266

267267
/// Sets a flag to sync the given revision and schedules the next sync.
268268
///
269269
/// - warning: Should only be used for draft posts.
270270
func setNeedsSync(for revision: AbstractPost) {
271271
wpAssert(revision.isRevision(), "Must be used only on revisions")
272-
wpAssert(isSyncAllowed(for: revision.original()), "Sync is not supported for this post")
272+
wpAssert(isSyncAllowed(for: revision.rootOriginal()), "Sync is not supported for this post")
273273

274274
if !revision.isSyncNeeded {
275275
revision.remoteStatus = .syncNeeded
276276
revision.confirmedChangesTimestamp = Date()
277277
ContextManager.shared.saveContextAndWait(coreDataStack.mainContext)
278278
}
279-
startSync(for: revision.original())
279+
startSync(for: revision.rootOriginal())
280280
}
281281

282282
func retrySync(for post: AbstractPost) {
@@ -300,7 +300,7 @@ class PostCoordinator: NSObject {
300300
request.predicate = NSPredicate(format: "remoteStatusNumber == %i", AbstractPostRemoteStatus.syncNeeded.rawValue)
301301
do {
302302
let revisions = try coreDataStack.mainContext.fetch(request)
303-
let originals = Set(revisions.map { $0.original() })
303+
let originals = Set(revisions.map { $0.rootOriginal() })
304304
for post in originals {
305305
startSync(for: post)
306306
}
@@ -862,12 +862,12 @@ class PostCoordinator: NSObject {
862862
// MARK: - State
863863

864864
func isUpdating(_ post: AbstractPost) -> Bool {
865-
pendingPostIDs.contains(post.original().objectID)
865+
pendingPostIDs.contains(post.rootOriginal().objectID)
866866
}
867867

868868
@MainActor
869869
private func setUpdating(_ isUpdating: Bool, for post: AbstractPost) {
870-
let post = post.original()
870+
let post = post.rootOriginal()
871871
if isUpdating {
872872
pendingPostIDs.insert(post.objectID)
873873
} else {

WordPress/Classes/Services/PostRepository.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ final class PostRepository {
134134
overwrite: Bool = false
135135
) async throws {
136136
wpAssert(post.isOriginal())
137-
let post = post.original() // Defensive code
137+
let post = post.rootOriginal() // Defensive code
138138
let context = coreDataStack.mainContext
139139

140140
let remotePost: RemotePost
@@ -231,7 +231,7 @@ final class PostRepository {
231231
private func _patch(_ post: AbstractPost, postID: Int, changes: RemotePostUpdateParameters, overwrite: Bool) async throws -> RemotePost {
232232
WPAnalytics.track(.postRepositoryPatchStarted)
233233
let service = try getRemoteService(for: post.blog)
234-
let original = post.original()
234+
let original = post.rootOriginal()
235235
var changes = changes
236236

237237
// Make sure the app never overwrites the content without the user approval.

WordPress/Classes/ViewRelated/Aztec/ViewControllers/AztecPostViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1143,7 +1143,7 @@ private extension AztecPostViewController {
11431143
alert.title = textCounterTitle
11441144
}
11451145

1146-
if post.original().isStatus(in: [.draft, .pending]) && editorHasChanges {
1146+
if post.rootOriginal().isStatus(in: [.draft, .pending]) && editorHasChanges {
11471147
alert.addDefaultActionWithTitle(MoreSheetAlert.saveDraft) { _ in
11481148
self.buttonSaveDraftTapped()
11491149
}

WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController+MoreActions.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ extension GutenbergViewController {
4242

4343
private func makeMoreMenuSecondaryActions() -> [UIAction] {
4444
var actions: [UIAction] = []
45-
if post.original().isStatus(in: [.draft, .pending]) {
45+
if post.rootOriginal().isStatus(in: [.draft, .pending]) {
4646
actions.append(UIAction(title: Strings.saveDraft, image: UIImage(systemName: "doc"), attributes: (editorHasChanges && editorHasContent) ? [] : [.disabled]) { [weak self] _ in
4747
self?.buttonSaveDraftTapped()
4848
})

WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -853,7 +853,7 @@ extension GutenbergViewController: GutenbergBridgeDelegate {
853853
focusTitleIfNeeded()
854854
mediaInserterHelper.refreshMediaStatus()
855855

856-
let original = post.original()
856+
let original = post.rootOriginal()
857857
if let content = original.voiceContent {
858858
original.voiceContent = nil
859859
gutenberg.onContentUpdate(content: content)

WordPress/Classes/ViewRelated/NewGutenberg/NewGutenbergViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -994,7 +994,7 @@ extension NewGutenbergViewController {
994994

995995
private func makeMoreMenuSecondaryActions() -> [UIAction] {
996996
var actions: [UIAction] = []
997-
if post.original().isStatus(in: [.draft, .pending]) {
997+
if post.rootOriginal().isStatus(in: [.draft, .pending]) {
998998
actions.append(UIAction(title: Strings.saveDraft, image: UIImage(systemName: "doc"), attributes: (editorHasChanges && editorHasContent) ? [] : [.disabled]) { [weak self] _ in
999999
self?.buttonSaveDraftTapped()
10001000
})

WordPress/Classes/ViewRelated/Pages/PageEditorPresenter.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ struct PageEditorPresenter {
1515
}
1616

1717
// No editing posts until the conflict has been resolved.
18-
if let error = PostCoordinator.shared.syncError(for: page.original()),
18+
if let error = PostCoordinator.shared.syncError(for: page.rootOriginal()),
1919
let saveError = error as? PostRepository.PostSaveError,
2020
case .conflict(let latest) = saveError {
21-
let page = page.original()
21+
let page = page.rootOriginal()
2222
PostCoordinator.shared.showResolveConflictView(post: page, remoteRevision: latest, source: .pageList)
2323
return false
2424
}

WordPress/Classes/ViewRelated/Post/Controllers/AbstractPostListViewController.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ class AbstractPostListViewController: UIViewController,
233233
guard let post = cell?.post else {
234234
return false
235235
}
236-
return updatedObjects.contains(post) || updatedObjects.contains(post.original())
236+
return updatedObjects.contains(post) || updatedObjects.contains(post.rootOriginal())
237237
}
238238
if !updatedIndexPaths.isEmpty {
239239
tableView.beginUpdates()
@@ -689,7 +689,7 @@ class AbstractPostListViewController: UIViewController,
689689
func trash(_ post: AbstractPost, completion: @escaping () -> Void) {
690690
WPAnalytics.track(.postListTrashAction, withProperties: propertiesForAnalytics())
691691

692-
let post = post.original()
692+
let post = post.rootOriginal()
693693

694694
func performAction() {
695695
Task {
@@ -715,7 +715,7 @@ class AbstractPostListViewController: UIViewController,
715715
func delete(_ post: AbstractPost, completion: @escaping () -> Void) {
716716
WPAnalytics.track(.postListDeleteAction, properties: propertiesForAnalytics())
717717

718-
let post = post.original()
718+
let post = post.rootOriginal()
719719

720720
let alert = UIAlertController(title: Strings.Delete.actionTitle, message: Strings.Delete.message(for: post.latest()), preferredStyle: .alert)
721721
alert.addCancelActionWithTitle(Strings.cancelText) { _ in
@@ -732,7 +732,7 @@ class AbstractPostListViewController: UIViewController,
732732

733733
func retry(_ post: AbstractPost) {
734734
WPAnalytics.track(.postListRetryAction, properties: propertiesForAnalytics())
735-
PostCoordinator.shared.retrySync(for: post.original())
735+
PostCoordinator.shared.retrySync(for: post.rootOriginal())
736736
}
737737

738738
func stats(for post: AbstractPost) {

0 commit comments

Comments
 (0)