Skip to content
This repository was archived by the owner on Sep 15, 2025. It is now read-only.

Commit deeb89d

Browse files
authored
Fix remote post update params diff (#770)
2 parents 7343890 + 8b61680 commit deeb89d

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

Sources/WordPressKit/Models/RemotePostParameters.swift

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,20 +71,20 @@ extension RemotePostCreateParameters {
7171
if previous.authorID != authorID {
7272
changes.authorID = authorID
7373
}
74-
if previous.title != title {
75-
changes.title = title
74+
if (previous.title ?? "") != (title ?? "") {
75+
changes.title = (title ?? "")
7676
}
77-
if previous.content != content {
78-
changes.content = content
77+
if (previous.content ?? "") != (content ?? "") {
78+
changes.content = (content ?? "")
7979
}
8080
if previous.password != password {
8181
changes.password = password
8282
}
83-
if previous.excerpt != excerpt {
84-
changes.excerpt = excerpt
83+
if (previous.excerpt ?? "") != (excerpt ?? "") {
84+
changes.excerpt = (excerpt ?? "")
8585
}
86-
if previous.slug != slug {
87-
changes.slug = slug
86+
if (previous.slug ?? "") != (slug ?? "") {
87+
changes.slug = (slug ?? "")
8888
}
8989
if previous.featuredImageID != featuredImageID {
9090
changes.featuredImageID = featuredImageID
@@ -227,7 +227,14 @@ struct RemotePostUpdateParametersWordPressComEncoder: Encodable {
227227
try container.encodeIfPresent(parameters.password, forKey: .password)
228228
try container.encodeIfPresent(parameters.excerpt, forKey: .excerpt)
229229
try container.encodeIfPresent(parameters.slug, forKey: .slug)
230-
try container.encodeIfPresent(parameters.featuredImageID, forKey: .featuredImageID)
230+
if let value = parameters.featuredImageID {
231+
if let featuredImageID = value {
232+
try container.encode(parameters.featuredImageID, forKey: .featuredImageID)
233+
} else {
234+
// Passing `null` doesn't work.
235+
try container.encode("", forKey: .featuredImageID)
236+
}
237+
}
231238

232239
// Pages
233240
if let parentPageID = parameters.parentPageID {
@@ -316,7 +323,14 @@ struct RemotePostUpdateParametersXMLRPCEncoder: Encodable {
316323
try container.encodeIfPresent(parameters.password, forKey: .password)
317324
try container.encodeIfPresent(parameters.excerpt, forKey: .excerpt)
318325
try container.encodeIfPresent(parameters.slug, forKey: .slug)
319-
try container.encodeIfPresent(parameters.featuredImageID, forKey: .featuredImageID)
326+
if let value = parameters.featuredImageID {
327+
if let featuredImageID = value {
328+
try container.encode(parameters.featuredImageID, forKey: .featuredImageID)
329+
} else {
330+
// Passing `null` doesn't work.
331+
try container.encode("", forKey: .featuredImageID)
332+
}
333+
}
320334

321335
// Pages
322336
if let parentPageID = parameters.parentPageID {

0 commit comments

Comments
 (0)