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

Commit 34f8857

Browse files
committed
Add SubsciberBasicInfoResponse
1 parent a128446 commit 34f8857

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

Package.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ let package = Package(
1111
targets: [
1212
.binaryTarget(
1313
name: "WordPressKit",
14-
url: "https://github.com/user-attachments/files/20105676/WordPressKit.zip",
15-
checksum: "6a446e44dda98d3f5d0d916fbd946d1bf602dfb6124e4ce01aeb7a0c161ee3f6"
14+
url: "https://github.com/user-attachments/files/20106710/WordPressKit.zip",
15+
checksum: "718a32f677c5ce49bd69f7cb0c8605993370f423aa8f088deab99a6f40dc45ac"
1616
),
1717
]
1818
)

Sources/WordPressKit/Services/SubscribersServiceRemote.swift

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public class SubscribersServiceRemote: ServiceRemoteWordPressComREST {
5353
public var page: Int
5454
public var subscribers: [Subscriber]
5555

56-
public struct Subscriber: Decodable {
56+
public struct Subscriber: Decodable, SubsciberBasicInfoResponse {
5757
public let subscriberID: Int
5858
public let dotComUserID: Int
5959
public let displayName: String?
@@ -120,7 +120,16 @@ public class SubscribersServiceRemote: ServiceRemoteWordPressComREST {
120120

121121
// MARK: GET Subscriber (Individual Details)
122122

123-
public struct GetSubscriberDetailsResponse: Decodable {
123+
public protocol SubsciberBasicInfoResponse {
124+
var dotComUserID: Int { get }
125+
var subscriberID: Int { get }
126+
var displayName: String? { get }
127+
var emailAddress: String? { get }
128+
var avatar: String? { get }
129+
var dateSubscribed: Date { get }
130+
}
131+
132+
public struct GetSubscriberDetailsResponse: Decodable, SubsciberBasicInfoResponse {
124133
public let subscriberID: Int
125134
public let dotComUserID: Int
126135
public let displayName: String?
@@ -231,3 +240,13 @@ public class SubscribersServiceRemote: ServiceRemoteWordPressComREST {
231240
).get().body
232241
}
233242
}
243+
244+
extension SubscribersServiceRemote.SubsciberBasicInfoResponse {
245+
public var avatarURL: URL? {
246+
avatar.flatMap(URL.init)
247+
}
248+
249+
public var isDotComUser: Bool {
250+
dotComUserID > 0
251+
}
252+
}

0 commit comments

Comments
 (0)