Compare commits

...

10 Commits

Author SHA1 Message Date
Peter Zignego 94c9f7fe5a Bump version 2017-01-25 12:31:34 -05:00
Peter Zignego be8a5879f3 Merge pull request #77 from norwoodsystems/master
Updated podspec
2017-01-25 12:29:03 -05:00
kiancheong c657919704 Updated podspec 2017-01-25 14:42:19 +08:00
Peter Zignego abeef21d7a Merge pull request #75 from sersoft-gmbh/master
Fix author_name in Attachment, add Markdown fields for Attachments, fix optionality
2017-01-21 10:53:28 -05:00
Florian Friedrich 79e3b14593 Add missing ? in AttachmentField initializer 2017-01-20 16:16:35 +01:00
Florian Friedrich d9a4cda9b0 Made AttachmentField init params optional, fix author_name key in Attachment, add markdown fields to attachment 2017-01-20 16:11:08 +01:00
Peter Zignego 12b316da0b Merge pull request #73 from strogonoff/patch-1
OAuth: scopes must be supplied
2017-01-18 09:20:53 -05:00
Anton Strogonoff 13cade5c00 OAuth: scopes must be supplied
Slack API spec requires the "scope" parameter when requesting authorization code. Without it a token cannot be obtained as request fails with an error.
2017-01-18 16:21:03 +07:00
Peter Zignego 051e8dd6c8 Fix podspec 2017-01-16 22:11:52 -05:00
Peter Zignego 1adea1c54e Fix podspec 2017-01-16 22:02:43 -05:00
6 changed files with 28 additions and 9 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "SlackKit"
s.version = "3.1.8"
s.version = "3.1.9"
s.summary = "a Slack client library for OS X, iOS, and tvOS written in Swift"
s.homepage = "https://github.com/pvzig/SlackKit"
s.license = 'MIT'
@@ -11,7 +11,7 @@ Pod::Spec.new do |s|
s.osx.deployment_target = '10.10'
s.tvos.deployment_target = '9.0'
s.requires_arc = true
s.source_files = 'SlackKit/Sources/*.swift'
s.source_files = 'Sources/SlackKit/**/*.swift'
s.frameworks = 'Foundation'
s.dependency 'Starscream'
s.dependency 'Swifter'
+18 -2
View File
@@ -41,6 +41,8 @@ public struct Attachment {
public let footer: String?
public let footerIcon: String?
public let ts: Int?
public let markdownEnabledFields: Set<AttachmentTextField>?
internal init(attachment: [String: Any]?) {
fallback = attachment?["fallback"] as? String
@@ -61,9 +63,11 @@ public struct Attachment {
ts = attachment?["ts"] as? Int
fields = (attachment?["fields"] as? [[String: Any]])?.map { AttachmentField(field: $0) }
actions = (attachment?["actions"] as? [[String: Any]])?.map { Action(action: $0) }
markdownEnabledFields = (attachment?["mrkdwn_in"] as? [String]).map { Set($0.flatMap(AttachmentTextField.init)) }
}
public init(fallback: String, title:String, callbackID: String? = nil, type: String? = nil, colorHex: String? = nil, pretext: String? = nil, authorName: String? = nil, authorLink: String? = nil, authorIcon: String? = nil, titleLink: String? = nil, text: String? = nil, fields: [AttachmentField]? = nil, actions: [Action]? = nil, imageURL: String? = nil, thumbURL: String? = nil, footer: String? = nil, footerIcon:String? = nil, ts:Int? = nil) {
public init(fallback: String, title: String?, callbackID: String? = nil, type: String? = nil, colorHex: String? = nil, pretext: String? = nil, authorName: String? = nil, authorLink: String? = nil, authorIcon: String? = nil, titleLink: String? = nil, text: String? = nil, fields: [AttachmentField]? = nil, actions: [Action]? = nil, imageURL: String? = nil, thumbURL: String? = nil, footer: String? = nil, footerIcon:String? = nil, ts:Int? = nil, markdownFields: Set<AttachmentTextField>? = nil) {
self.fallback = fallback
self.callbackID = callbackID
self.type = type
@@ -82,6 +86,7 @@ public struct Attachment {
self.footer = footer
self.footerIcon = footerIcon
self.ts = ts
self.markdownEnabledFields = markdownFields
}
internal var dictionary: [String: Any] {
@@ -91,7 +96,7 @@ public struct Attachment {
attachment["attachment_type"] = type
attachment["color"] = color
attachment["pretext"] = pretext
attachment["authorName"] = authorName
attachment["author_name"] = authorName
attachment["author_link"] = authorLink
attachment["author_icon"] = authorIcon
attachment["title"] = title
@@ -104,6 +109,7 @@ public struct Attachment {
attachment["footer"] = footer
attachment["footer_icon"] = footerIcon
attachment["ts"] = ts
attachment["mrkdwn_in"] = markdownEnabledFields?.map { $0.rawValue }
return attachment
}
}
@@ -113,3 +119,13 @@ public enum AttachmentColor: String {
case warning = "warning"
case danger = "danger"
}
public enum AttachmentTextField: String {
case fallback = "fallback"
case pretext = "pretext"
case authorName = "author_name"
case title = "title"
case text = "text"
case fields = "fields"
case footer = "footer"
}
+2 -2
View File
@@ -33,9 +33,9 @@ public struct AttachmentField {
short = field?["short"] as? Bool
}
public init(title:String, value:String, short: Bool? = nil) {
public init(title: String?, value: String?, short: Bool? = nil) {
self.title = title
self.value = value.slackFormatEscaping
self.value = value?.slackFormatEscaping
self.short = short
}
+4 -1
View File
@@ -80,7 +80,10 @@ public struct OAuthServer {
private func oauthURLRequest(_ authorize: AuthorizeRequest) -> URLRequest? {
var components = URLComponents(string: "\(oauthURL)")
components?.queryItems = [URLQueryItem(name: "client_id", value: "\(authorize.clientID)")]
components?.queryItems = [
URLQueryItem(name: "client_id", value: "\(authorize.clientID)"),
URLQueryItem(name: "scope", value: "\(authorize.scope)"),
]
guard let url = components?.url else {
return nil
}
+1 -1
View File
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>3.1.8</string>
<string>3.1.9</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
+1 -1
View File
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>3.1.8</string>
<string>3.1.9</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>