Skip to content
This repository was archived by the owner on Jan 28, 2019. It is now read-only.

Commit b94ec80

Browse files
rafalwojcikpvzig
authored andcommitted
Add new method that allow list pinned items in channel
1 parent b42bc57 commit b94ec80

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

Sources/Endpoint.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ public enum Endpoint: String {
6565
case mpimMark = "mpim.mark"
6666
case mpimOpen = "mpim.open"
6767
case oauthAccess = "oauth.access"
68+
case pinsList = "pins.list"
6869
case pinsAdd = "pins.add"
6970
case pinsRemove = "pins.remove"
7071
case reactionsAdd = "reactions.add"

Sources/WebAPI.swift

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public final class WebAPI {
3434
public typealias MessageClosure = (_ message: Message) -> Void
3535
public typealias HistoryClosure = (_ history: History) -> Void
3636
public typealias FileClosure = (_ file: File) -> Void
37+
public typealias ItemsClosure = (_ items: [Item]?) -> Void
3738

3839
public enum InfoType: String {
3940
case purpose, topic
@@ -199,8 +200,8 @@ extension WebAPI {
199200
create(.channelsCreate, name: channel, success: success, failure: failure)
200201
}
201202

202-
public func inviteToChannel(_ channelID: String, userID: String, success: SuccessClosure?, failure: FailureClosure?) {
203-
invite(.channelsInvite, channelID: channelID, userID: userID, success: success, failure: failure)
203+
public func inviteToChannel(_ channel: String, user: String, success: SuccessClosure?, failure: FailureClosure?) {
204+
invite(.channelsInvite, channel: channel, user: user, success: success, failure: failure)
204205
}
205206

206207
public func setChannelPurpose(channel: String, purpose: String, success: SuccessClosure?, failure: FailureClosure?) {
@@ -704,6 +705,23 @@ extension WebAPI {
704705

705706
// MARK: - Pins
706707
extension WebAPI {
708+
public func pinsList(
709+
channel: String,
710+
success: ItemsClosure?,
711+
failure: FailureClosure?
712+
) {
713+
let parameters: [String: Any?] = [
714+
"token": token,
715+
"channel": channel
716+
]
717+
networkInterface.request(.pinsList, parameters: parameters, successClosure: { response in
718+
let items = response["items"] as? [[String: Any]]
719+
success?(items?.map({ Item(item: $0) }))
720+
}) {(error) in
721+
failure?(error)
722+
}
723+
}
724+
707725
public func pinItem(
708726
channel: String,
709727
file: String? = nil,
@@ -913,7 +931,7 @@ extension WebAPI {
913931
full: Bool = true,
914932
count: Int = 100,
915933
page: Int = 1,
916-
success: ((_ items: [Item]?) -> Void)?,
934+
success: ItemsClosure?,
917935
failure: FailureClosure?
918936
) {
919937
let parameters: [String: Any?] = [
@@ -1220,12 +1238,12 @@ extension WebAPI {
12201238

12211239
fileprivate func invite(
12221240
_ endpoint: Endpoint,
1223-
channelID: String,
1224-
userID: String,
1241+
channel: String,
1242+
user: String,
12251243
success: SuccessClosure?,
12261244
failure: FailureClosure?
12271245
) {
1228-
let parameters: [String: Any] = ["token": token, "channel": channelID, "user": userID]
1246+
let parameters: [String: Any] = ["token": token, "channel": channel, "user": user]
12291247
networkInterface.request(endpoint, parameters: parameters, successClosure: {(response) in
12301248
success?(true)
12311249
}) {(error) in

0 commit comments

Comments
 (0)