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

Commit 784114e

Browse files
authored
Merge pull request #611 from wordpress-mobile/feature/blaze-campaigns-add-ui-status
Add ui_status field to BlazeCampaign
2 parents 46af964 + 16ae546 commit 784114e

File tree

5 files changed

+15
-7
lines changed

5 files changed

+15
-7
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ _None._
3838

3939
### New Features
4040

41-
_None._
41+
- Add `ui_status` field to `BlazeCampaign` [#611]
4242

4343
### Bug Fixes
4444

WordPressKit.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Pod::Spec.new do |s|
44
s.name = 'WordPressKit'
5-
s.version = '8.4.0'
5+
s.version = '8.5.0-beta.1'
66

77
s.summary = 'WordPressKit offers a clean and simple WordPress.com and WordPress.org API.'
88
s.description = <<-DESC

WordPressKit/BlazeCampaign.swift

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
11
import Foundation
22

3-
public final class BlazeCampaign: Decodable {
3+
public final class BlazeCampaign: Codable {
44
public let campaignID: Int
55
public let name: String?
66
public let startDate: Date?
77
public let endDate: Date?
8+
/// A raw campaign status on the server.
89
public let status: Status
10+
/// A subset of ``BlazeCampaign/status-swift.property`` values where some
11+
/// cases are skipped for simplicity and mapped to other more common ones.
12+
public let uiStatus: Status
913
public let budgetCents: Int?
1014
public let targetURL: String?
1115
public let stats: Stats?
1216
public let contentConfig: ContentConfig?
1317
public let creativeHTML: String?
1418

15-
public init(campaignID: Int, name: String?, startDate: Date?, endDate: Date?, status: Status, budgetCents: Int?, targetURL: String?, stats: Stats?, contentConfig: ContentConfig?, creativeHTML: String?) {
19+
public init(campaignID: Int, name: String?, startDate: Date?, endDate: Date?, status: Status, uiStatus: Status, budgetCents: Int?, targetURL: String?, stats: Stats?, contentConfig: ContentConfig?, creativeHTML: String?) {
1620
self.campaignID = campaignID
1721
self.name = name
1822
self.startDate = startDate
1923
self.endDate = endDate
2024
self.status = status
25+
self.uiStatus = uiStatus
2126
self.budgetCents = budgetCents
2227
self.targetURL = targetURL
2328
self.stats = stats
@@ -31,14 +36,15 @@ public final class BlazeCampaign: Decodable {
3136
case startDate
3237
case endDate
3338
case status
39+
case uiStatus
3440
case budgetCents
3541
case targetURL = "targetUrl"
3642
case contentConfig
3743
case stats = "campaignStats"
3844
case creativeHTML = "creativeHtml"
3945
}
4046

41-
public enum Status: String, Decodable {
47+
public enum Status: String, Codable {
4248
case scheduled
4349
case created
4450
case rejected
@@ -55,7 +61,7 @@ public final class BlazeCampaign: Decodable {
5561
}
5662
}
5763

58-
public struct Stats: Decodable {
64+
public struct Stats: Codable {
5965
public let impressionsTotal: Int?
6066
public let clicksTotal: Int?
6167

@@ -65,7 +71,7 @@ public final class BlazeCampaign: Decodable {
6571
}
6672
}
6773

68-
public struct ContentConfig: Decodable {
74+
public struct ContentConfig: Codable {
6975
public let title: String?
7076
public let snippet: String?
7177
public let clickURL: String?

WordPressKitTests/BlazeServiceRemoteTests.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ final class BlazeServiceRemoteTests: RemoteTestCase, RESTTestable {
3737
XCTAssertEqual(campaign.startDate, ISO8601DateFormatter().date(from: "2023-06-13T00:00:00Z"))
3838
XCTAssertEqual(campaign.endDate, ISO8601DateFormatter().date(from: "2023-06-01T19:15:45Z"))
3939
XCTAssertEqual(campaign.status, .canceled)
40+
XCTAssertEqual(campaign.uiStatus, .canceled)
4041
XCTAssertEqual(campaign.budgetCents, 500)
4142
XCTAssertEqual(campaign.targetURL, "https://alextest9123.wordpress.com/2023/06/01/test-post/")
4243
XCTAssertEqual(campaign.contentConfig?.title, "Test Post - don't approve")

WordPressKitTests/Mock Data/blaze-campaigns-search.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"end_date": "2023-06-01T19:15:45.000Z",
99
"status_smart": 0,
1010
"status": "canceled",
11+
"ui_status": "canceled",
1112
"subscription_id": 117499,
1213
"display_name": "Test User",
1314
"avatar_url": "https://0.gravatar.com/avatar/614d27bcc21db12e7c49b516b4750387?s=96&amp;d=identicon&amp;r=G",

0 commit comments

Comments
 (0)