From f865ee5e792ed630b1c4fdb1ce2de027eaee83d1 Mon Sep 17 00:00:00 2001 From: nixzhu Date: Tue, 29 Sep 2015 15:13:06 +0800 Subject: [PATCH] createFeed --- Yep/Services/YepService.swift | 35 +++++++++++++++++++ .../NewFeed/NewFeedViewController.swift | 6 ++++ 2 files changed, 41 insertions(+) diff --git a/Yep/Services/YepService.swift b/Yep/Services/YepService.swift index 1cc437c3..f0651ab4 100644 --- a/Yep/Services/YepService.swift +++ b/Yep/Services/YepService.swift @@ -2091,6 +2091,41 @@ func discoverFeedsWithSortStyle(sortStyle: FeedSortStyle, pageIndex: Int, perPag } } +func createFeedWithMessage(message: String, attachments: String?, coordinate: CLLocationCoordinate2D?, skill: Skill?, allowComment: Bool, failureHandler: ((Reason, String?) -> Void)?, completion: JSONDictionary -> Void) { + + var requestParameters: JSONDictionary = [ + "body": message, + "latitude": 0, + "longitude": 0, + "allow_comment": allowComment, + ] + + if let coordinate = coordinate { + requestParameters["latitude"] = coordinate.latitude + requestParameters["longitude"] = coordinate.longitude + } + + if let skill = skill { + requestParameters["skill_id"] = skill.id + } + + if let attachments = attachments { + requestParameters["attachments"] = attachments + } + + let parse: JSONDictionary -> JSONDictionary? = { data in + return data + } + + let resource = authJsonResource(path: "/api/v1/topics", method: .POST, requestParameters: requestParameters, parse: parse) + + if let failureHandler = failureHandler { + apiRequest({_ in}, baseURL: baseURL, resource: resource, failure: failureHandler, completion: completion) + } else { + apiRequest({_ in}, baseURL: baseURL, resource: resource, failure: defaultFailureHandler, completion: completion) + } +} + // MARK: - Social Work func authURLRequestWithURL(url: NSURL) -> NSURLRequest { diff --git a/Yep/ViewControllers/NewFeed/NewFeedViewController.swift b/Yep/ViewControllers/NewFeed/NewFeedViewController.swift index 1c9404f4..a4512e8e 100644 --- a/Yep/ViewControllers/NewFeed/NewFeedViewController.swift +++ b/Yep/ViewControllers/NewFeed/NewFeedViewController.swift @@ -34,6 +34,12 @@ class NewFeedViewController: UIViewController { func post(sender: UIBarButtonItem) { println("post") + + createFeedWithMessage(messageTextView.text, attachments: nil, coordinate: nil, skill: nil, allowComment: true, failureHandler: { reason, errorMessage in + defaultFailureHandler(reason, errorMessage: errorMessage) + }, completion: { data in + println(data) + }) } }