Merged branch Posting-New-Etsy-Listings into master

This commit is contained in:
Okechi Onyeje 2016-07-30 08:26:02 -04:00
commit ceae87593f
9 changed files with 878 additions and 291 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -10,11 +10,11 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift" filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "490466193.9234" timestampString = "491361523.935232"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "224" startingLineNumber = "231"
endingLineNumber = "224" endingLineNumber = "231"
landmarkName = "authorizeApp(_:)" landmarkName = "authorizeApp(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
@ -26,141 +26,13 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift" filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "490466544.006941" timestampString = "491361523.935232"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "227" startingLineNumber = "234"
endingLineNumber = "227" endingLineNumber = "234"
landmarkName = "authorizeApp(_:)" landmarkName = "authorizeApp(_:)"
landmarkType = "5"> landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.EtsyRESTAPIManager.(authorizeApp (__ObjC.UIViewController) -&gt; ()).(closure #1).(closure #2).(closure #1).(closure #1).(closure #2).(closure #1)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/EtsyRESTAPIManager.swift"
timestampString = "490834356.819555"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "227"
endingLineNumber = "227"
offsetFromSymbolStart = "2218">
</Location>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.EtsyRESTAPIManager.(authorizeApp (__ObjC.UIViewController) -&gt; ()).(closure #1).(closure #2).(closure #1).(closure #1).(closure #2).(closure #1)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/EtsyRESTAPIManager.swift"
timestampString = "490834356.819758"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "227"
endingLineNumber = "227"
offsetFromSymbolStart = "4152">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/CategoriesTableViewController.swift"
timestampString = "490603435.51122"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "102"
endingLineNumber = "102"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.CategoriesTableViewController.tableView (__ObjC.UITableView, cellForRowAtIndexPath : __ObjC.NSIndexPath) -&gt; __ObjC.UITableViewCell"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/CategoriesTableViewController.swift"
timestampString = "490834356.822272"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "102"
endingLineNumber = "102"
offsetFromSymbolStart = "257">
</Location>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.CategoriesTableViewController.(tableView (__ObjC.UITableView, cellForRowAtIndexPath : __ObjC.NSIndexPath) -&gt; __ObjC.UITableViewCell).(closure #1)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/CategoriesTableViewController.swift"
timestampString = "490834356.822501"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "103"
endingLineNumber = "103"
offsetFromSymbolStart = "23">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/CategoriesTableViewController.swift"
timestampString = "490528234.977359"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "80"
endingLineNumber = "80"
landmarkName = "tableView(_:numberOfRowsInSection:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/CategoriesTableViewController.swift"
timestampString = "490603435.51122"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "107"
endingLineNumber = "107"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/CategoriesTableViewController.swift"
timestampString = "490603435.51122"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "106"
endingLineNumber = "106"
landmarkName = "tableView(_:cellForRowAtIndexPath:)"
landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy <BreakpointProxy
@ -170,11 +42,11 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/ListingPreviewViewController.swift" filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "490795870.729953" timestampString = "491357363.968778"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "152" startingLineNumber = "161"
endingLineNumber = "152" endingLineNumber = "161"
landmarkName = "publishItem(_:)" landmarkName = "publishItem(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
@ -182,15 +54,15 @@
<BreakpointProxy <BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent <BreakpointContent
shouldBeEnabled = "Yes" shouldBeEnabled = "No"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift" filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "490796826.376073" timestampString = "491361523.935232"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "435" startingLineNumber = "523"
endingLineNumber = "435" endingLineNumber = "523"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)" landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
@ -202,11 +74,11 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift" filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "490830825.959087" timestampString = "491361523.935232"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "396" startingLineNumber = "403"
endingLineNumber = "396" endingLineNumber = "403"
landmarkName = "sendGETRequest(_:onCompletion:)" landmarkName = "sendGETRequest(_:onCompletion:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
@ -218,11 +90,11 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/ListingPreviewViewController.swift" filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "490832217.159988" timestampString = "491357363.968778"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "250" startingLineNumber = "260"
endingLineNumber = "250" endingLineNumber = "260"
landmarkName = "publishItem(_:)" landmarkName = "publishItem(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
@ -234,43 +106,187 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/ListingPreviewViewController.swift" filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "490832219.521989" timestampString = "491396358.880255"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "262" startingLineNumber = "286"
endingLineNumber = "262" endingLineNumber = "286"
landmarkName = "publishItem(_:)" landmarkName = "publishItem(_:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491361523.935232"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "420"
endingLineNumber = "420"
landmarkName = "sendGETRequest(_:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491361523.935232"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "492"
endingLineNumber = "492"
landmarkName = "sendGETRequest(_:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491361523.935232"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "436"
endingLineNumber = "436"
landmarkName = "sendGETRequest(_:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491361523.935232"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "446"
endingLineNumber = "446"
landmarkName = "sendGETRequest(_:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491361523.935232"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "455"
endingLineNumber = "455"
landmarkName = "sendGETRequest(_:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "491395746.298372"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "289"
endingLineNumber = "289"
landmarkName = "publishItem(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "491395746.298372"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "317"
endingLineNumber = "317"
landmarkName = "publishItem(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "491395746.298372"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "342"
endingLineNumber = "342"
landmarkName = "publishItem(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491361638.753715"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "216"
endingLineNumber = "216"
landmarkName = "authorizeApp(_:)"
landmarkType = "5">
<Locations> <Locations>
<Location <Location
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
symbolName = "Vendoo.ListingPreviewViewController.publishItem (Swift.AnyObject) -&gt; ()" symbolName = "Vendoo.EtsyRESTAPIManager.(authorizeApp (__ObjC.UIViewController) -&gt; ()).(closure #1).(closure #2).(closure #1).(closure #1).(closure #2)"
moduleName = "Vendoo" moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes" usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/ListingPreviewViewController.swift" urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/EtsyRESTAPIManager.swift"
timestampString = "490834356.839251" timestampString = "491530458.908998"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "262" startingLineNumber = "216"
endingLineNumber = "262" endingLineNumber = "216"
offsetFromSymbolStart = "58309"> offsetFromSymbolStart = "4169">
</Location> </Location>
<Location <Location
shouldBeEnabled = "Yes" shouldBeEnabled = "Yes"
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
symbolName = "Vendoo.ListingPreviewViewController.(publishItem (Swift.AnyObject) -&gt; ()).(closure #2)" symbolName = "Vendoo.EtsyRESTAPIManager.(authorizeApp (__ObjC.UIViewController) -&gt; ()).(closure #1).(closure #2).(closure #1).(closure #1).(closure #2).(closure #1)"
moduleName = "Vendoo" moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes" usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/ListingPreviewViewController.swift" urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/EtsyRESTAPIManager.swift"
timestampString = "490834356.839438" timestampString = "491530458.909179"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "262" startingLineNumber = "219"
endingLineNumber = "262" endingLineNumber = "219"
offsetFromSymbolStart = "89"> offsetFromSymbolStart = "43">
</Location> </Location>
</Locations> </Locations>
</BreakpointContent> </BreakpointContent>
@ -282,12 +298,284 @@
ignoreCount = "0" ignoreCount = "0"
continueAfterRunningActions = "No" continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift" filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "490834455.083173" timestampString = "491361667.580641"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "448" startingLineNumber = "219"
endingLineNumber = "448" endingLineNumber = "219"
landmarkName = "convertStringToDictionary(_:)" landmarkName = "authorizeApp(_:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491433196.788315"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "527"
endingLineNumber = "527"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491485573.176495"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "637"
endingLineNumber = "637"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491485573.176495"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "653"
endingLineNumber = "653"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491485573.176495"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "654"
endingLineNumber = "654"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491485573.176495"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "638"
endingLineNumber = "638"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491460836.27789"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "610"
endingLineNumber = "610"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491460836.27789"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "620"
endingLineNumber = "620"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ListingPreviewViewController.swift"
timestampString = "491434159.311411"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "272"
endingLineNumber = "272"
landmarkName = "publishItem(_:)"
landmarkType = "5">
<Locations>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ListingPreviewViewController.publishItem (Swift.AnyObject) -&gt; ()"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/ListingPreviewViewController.swift"
timestampString = "491530458.914535"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "272"
endingLineNumber = "272"
offsetFromSymbolStart = "59097">
</Location>
<Location
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "Vendoo.ListingPreviewViewController.(publishItem (Swift.AnyObject) -&gt; ()).(closure #2)"
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/ListingPreviewViewController.swift"
timestampString = "491530458.91464"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "275"
endingLineNumber = "275"
offsetFromSymbolStart = "27">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491460836.27789"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "538"
endingLineNumber = "538"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491460836.27789"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "573"
endingLineNumber = "573"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491460836.27789"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "582"
endingLineNumber = "582"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/EtsyRESTAPIManager.swift"
timestampString = "491460836.27789"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "583"
endingLineNumber = "583"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Pods/OAuthSwift/OAuthSwift/OAuthSwiftClient.swift"
timestampString = "491485553.685844"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "213"
endingLineNumber = "213"
landmarkName = "postMultiPartRequest(_:method:parameters:multiparts:checkTokenExpiration:success:failure:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Pods/OAuthSwift/OAuthSwift/OAuthSwiftClient.swift"
timestampString = "491485554.992519"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "214"
endingLineNumber = "214"
landmarkName = "postMultiPartRequest(_:method:parameters:multiparts:checkTokenExpiration:success:failure:)"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Pods/OAuthSwift/OAuthSwift/OAuthSwiftClient.swift"
timestampString = "491485564.491079"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "218"
endingLineNumber = "218"
landmarkName = "postMultiPartRequest(_:method:parameters:multiparts:checkTokenExpiration:success:failure:)"
landmarkType = "5"> landmarkType = "5">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>

BIN
Vendoo/.DS_Store vendored

Binary file not shown.

View File

@ -17,7 +17,6 @@ class CategoriesTableViewController: UIViewController, UITableViewDelegate, UITa
private var ebayManager: EbayWebServiceManager! = EbayWebServiceManager() private var ebayManager: EbayWebServiceManager! = EbayWebServiceManager()
private var selectedCategory: String! private var selectedCategory: String!
//@TODO: replace with etsy categories and make a custom cell to contain a collection view of images for ebay/etsy approriatecolumns relevant to the category
private var categories = ["Accessories", private var categories = ["Accessories",
"Art", "Art",
"Bath & Beauty", "Bath & Beauty",

View File

@ -15,7 +15,7 @@ import Locksmith
import AFNetworking import AFNetworking
typealias ServiceResponse = (JSON, NSError?) -> Void typealias ServiceResponse = (AnyObject?, NSError?) -> Void
class EtsyRESTAPIManager: NSObject { class EtsyRESTAPIManager: NSObject {
@ -213,6 +213,13 @@ extension EtsyRESTAPIManager {
EtsyRESTAPIManager.settingsDictionary["userID"] = dict2[0]["login_name"]! EtsyRESTAPIManager.settingsDictionary["userID"] = dict2[0]["login_name"]!
NSUserDefaults.standardUserDefaults().setObject(EtsyRESTAPIManager.settingsDictionary, forKey: "etsySettings") NSUserDefaults.standardUserDefaults().setObject(EtsyRESTAPIManager.settingsDictionary, forKey: "etsySettings")
self.sendGETRequest("/shops/__SELF__/payment_templates", onCompletion: {
(data, error) -> Void in
self.sendGETRequest("/users/__SELF__/shipping/templates", onCompletion: nil)
})
} }
, failure: { error in , failure: { error in
print(error) print(error)
@ -392,8 +399,8 @@ extension EtsyRESTAPIManager {
} }
//sends the pregenerated url as a request to api service //sends the pregenerated url as a request to api service
func sendGETRequest(request: String, onCompletion: ServiceResponse) { func sendGETRequest(request: String, onCompletion: ServiceResponse?) {
let request = NSMutableURLRequest(URL: NSURL(string: request)!) /* let request = NSMutableURLRequest(URL: NSURL(string: request)!)
let session = NSURLSession.sharedSession() let session = NSURLSession.sharedSession()
@ -405,12 +412,93 @@ extension EtsyRESTAPIManager {
onCompletion(nil, error) onCompletion(nil, error)
} }
}) })
task.resume() task.resume()*/
self.oauthswift.client.get(self.baseURL + request,
success: {
(data, response) -> Void in
let dataString = NSString(data: data, encoding: NSUTF8StringEncoding)
let dict = self.convertStringToDictionary(dataString! as String)
print(dict)
print(response)
switch (request) {
case "/shops/__SELF__/payment_templates" :
if ((dict!["results"]!.isKindOfClass(NSNull.classForCoder()))) {
//@TODO: Put payment template parameters in function call
self.oauthswift.client.post(self.baseURL + "/shops/__SELF__/payment_templates",
parameters: [
"shop_id":"__SELF__",
],
headers: nil,
success: {
(data, response) -> Void in
let dataString = NSString(data: data, encoding: NSUTF8StringEncoding)
let dict = self.convertStringToDictionary(dataString! as String)
print(dict)
print(response)
onCompletion!(nil,nil)
},
failure: {
(error) -> Void in
print(error)
}
)
}
break
case "/users/__SELF__/shipping/templates" :
var dict2 = (dict!["results"] as! [[String : AnyObject]])
if ((dict!["results"]!.isKindOfClass(NSNull.classForCoder()))) {
//@TODO: Put payment template parameters in function call
self.oauthswift.client.post(self.baseURL + "/shipping/templates",
parameters: [
"title":"vendoo_default",
"origin_country_id":209,
"primary_cost":2.00,
"secondary_cost":1.00
],
headers: nil,
success: {
(data, response) -> Void in
let dataString = NSString(data: data, encoding: NSUTF8StringEncoding)
let dict = self.convertStringToDictionary(dataString! as String)
print(dict)
print(response)
},
failure: {
(error) -> Void in
print(error)
}
)
}else {
EtsyRESTAPIManager.settingsDictionary["shipping_template_id"] = dict2[0]["shipping_template_id"]!
NSUserDefaults.standardUserDefaults().setObject(EtsyRESTAPIManager.settingsDictionary, forKey: "etsySettings")
}
break
default:
break
}
},
failure: {
(error) -> Void in
print(error)
}
)
} }
//sends the pregenerated url as a request to api service //sends the pregenerated url as a request to api service
func sendPOSTRequest(request: String, body: [String: AnyObject], onCompletion: ServiceResponse) { func sendPOSTRequest(request: String, var body: [String: AnyObject], onCompletion: ServiceResponse?) {
let request = NSMutableURLRequest(URL: NSURL(string: request)!)
/* let request = NSMutableURLRequest(URL: NSURL(string: request)!)
// Set the method to POST // Set the method to POST
request.HTTPMethod = "POST" request.HTTPMethod = "POST"
@ -433,8 +521,196 @@ extension EtsyRESTAPIManager {
} catch { } catch {
// Create your personal error // Create your personal error
onCompletion(nil, nil) onCompletion(nil, nil)
}*/
if(request.containsString("listings/") && request.containsString("/images")){
let url = NSURL(string: self.baseURL + request)!
let requested = NSMutableURLRequest(URL: url)
requested.HTTPMethod = "POST"
let boundary = "Boundary-\(NSUUID().UUIDString)"
/*var headers = oauthswift.client.credential.makeHeaders(url, method: OAuthSwiftHTTPRequest.Method.POST, parameters: ["Content-Type":"multipart/form-dataheader"]) // here with create the authentification headers
requested.addValue(self.apiKey, forHTTPHeaderField: "Authorization" )
//define the multipart request type
requested.addValue("\((body["image"] as! NSData).length)", forHTTPHeaderField: "Content-Length")
requested.addValue("bytes", forHTTPHeaderField: "Content-Transfer-Encoding")
requested.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
//requested.addValue(self.apiKey, forHTTPHeaderField: "API-KEY")
requested.HTTPBody = self.oauthswift.client.multiPartBodyFromParams(body, boundary: boundary)
/*let body1 = NSMutableData()
let fname = "main.jpg"
let mimetype = "image/jpg"
//define the data post parameter
body1.appendData("--\(boundary)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
body1.appendData("Content-Disposition:form-data; name=\"listing_id\"\r\n\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
body1.appendData("\(body["listing_id"] as! Int)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
body1.appendData("--\(boundary)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
body1.appendData("Content-Disposition:form-data; name=\"image\"; filename=\"\(fname)\"\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
body1.appendData("Content-Type: \(mimetype)\r\n\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
body1.appendData((body["image"] as! NSData))
body1.appendData("\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
body1.appendData("--\(boundary)--\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
requested.HTTPBody = body1*/
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(requested) { data, response, error in
if nil != error {
// something went wrong
print(error)
onCompletion!(nil,nil)
switch (request) {
default:
break
} }
} }
else {
let dataString = NSString(data: data!, encoding: NSUTF8StringEncoding)
let dict = self.convertStringToDictionary(dataString! as String)
print(dict)
print(response)
onCompletion!(nil, nil)
switch (request) {
default:
break
}
}
}
task.resume()*/
/*
//var headers = oauthswift.client.credential.makeHeaders(url, method: OAuthSwiftHTTPRequest.Method.POST, parameters: ["Content-Type":"multipart/form-dataheader"]) // here with create the authentification headers
// here add additional headers "Content-type", etc..
requested.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
requested.addValue("\((body["image"] as! NSData).length)", forHTTPHeaderField: "Content-Length")
requested.addValue("bytes", forHTTPHeaderField: "Content-Transfer-Encoding")
//requested.addValue("form-data; name='Main Image'; filename='mainImage.jpg'", forHTTPHeaderField: "Content-Disposition")
requested.HTTPBody = self.oauthswift.client.multiPartBodyFromParams(body, boundary: "-XXX--")
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(requested) { data, response, error in
if nil != error {
// something went wrong
print(error)
onCompletion!(nil,nil)
switch (request) {
default:
break
}
}
else {
let dataString = NSString(data: data!, encoding: NSUTF8StringEncoding)
let dict = self.convertStringToDictionary(dataString! as String)
print(dict)
print(response)
onCompletion!(nil, nil)
switch (request) {
default:
break
}
}
}
task.resume()
*/
//body["oauth_verifier"] = (self.oauthswift.client.credential.oauth_verifier)
//@FIXME: multipart post request is returning with oauth signature invalid for uploading image in etsy
self.oauthswift.client.postMultiPartRequest(self.baseURL + request, method: OAuthSwiftHTTPRequest.Method.POST, parameters: body, success: {
(data, response) -> Void in
let dataString = NSString(data: data, encoding: NSUTF8StringEncoding)
let dict = self.convertStringToDictionary(dataString! as String)
print(dict)
print(response)
onCompletion!(nil, nil)
switch (request) {
default:
break
}
},
failure: {
(error) -> Void in
print(error)
onCompletion!(nil,nil)
switch (request) {
default:
break
}
}
)
}else {
self.oauthswift.client.post(self.baseURL + request, parameters: body, headers: nil,
success: {
(data, response) -> Void in
let dataString = NSString(data: data, encoding: NSUTF8StringEncoding)
let dict = self.convertStringToDictionary(dataString! as String)
print(dict)
print(response)
switch (request) {
case "/shipping/templates":
break
case "/listings":
var dict2 = (dict!["results"] as! [[String : AnyObject]])
print(((dict2[0]["listing_id"])!))
onCompletion!(dict2, nil)
break
default:
break
}
},
failure: {
(error) -> Void in
print(error)
switch (request) {
case "/shipping/templates":
break
case "/listings":
print(error.userInfo["Response-Body"])
if((error.userInfo["Response-Body"]!.isEqualToString("price is below listing fee."))) {
//@TODO: add alert to let user know that the price they have given is too low for etsy
}
break
default:
break
}
}
)
}
}
} }

View File

@ -21,7 +21,7 @@ protocol FacebookGraphAPIManagerDelegate {
} }
/* /*
NOTES: NOTE:
I am able to authorize application for use with facebook and deauthorize it while showing the toggle button switching back and forth, but during the last step of the process, for some reason NSUserDefault key for fbauthorized is not being called, in response handler, may need to run in a different thread I am able to authorize application for use with facebook and deauthorize it while showing the toggle button switching back and forth, but during the last step of the process, for some reason NSUserDefault key for fbauthorized is not being called, in response handler, may need to run in a different thread
NEED to figure out how to post picture and text as the same timeline post current can only upload item title, price and description. NEED to figure out how to post picture and text as the same timeline post current can only upload item title, price and description.

View File

@ -34,16 +34,6 @@ class HomeViewController: UITabBarController {
for (key, values) in listingDict! { for (key, values) in listingDict! {
let serviceGroup: dispatch_group_t = dispatch_group_create() let serviceGroup: dispatch_group_t = dispatch_group_create()
//@TODO: this is now getting all images but it is only displaying the last retrieved listings's set of images
/*dispatch_group_notify(countGroup, dispatch_get_main_queue(), {
print(HomeViewController.completionCount)
HomeViewController.completionCount += 1
if(HomeViewController.completionCount == 4){
HomeViewController.completionCount = 0
dispatch_group_leave(serviceGroup)
}
})*/
self.firebaseManager.ref.observeSingleEventOfType(.Value, withBlock: { snapshot in self.firebaseManager.ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
let databaseDict = snapshot.value as! [String : AnyObject] let databaseDict = snapshot.value as! [String : AnyObject]
@ -52,7 +42,6 @@ class HomeViewController: UITabBarController {
let mainListingImage = storageRef.child("images/\(key)/main.jpg") let mainListingImage = storageRef.child("images/\(key)/main.jpg")
//@TODO: add in logic to programmatically retrieve each stored image and store in listing object as a way to display each image
dispatch_group_enter(serviceGroup) dispatch_group_enter(serviceGroup)
mainListingImage.dataWithMaxSize(10 * 1024 * 1024, completion: { mainListingImage.dataWithMaxSize(10 * 1024 * 1024, completion: {
(dataMain, error) -> Void in (dataMain, error) -> Void in

View File

@ -14,7 +14,7 @@
*/ */
import UIKit import UIKit
//@TODO: Need to make multiple images work for etsy and facebook and need to implement multiple images saving to firebase
class ListingPreviewViewController: UIViewController { class ListingPreviewViewController: UIViewController {
//IBOutlets //IBOutlets
@ -36,6 +36,7 @@ class ListingPreviewViewController: UIViewController {
private var itemListingDictionary: Dictionary<String, AnyObject>! = Dictionary<String, AnyObject>() private var itemListingDictionary: Dictionary<String, AnyObject>! = Dictionary<String, AnyObject>()
private var alert = UIAlertController(title: "Listing Published", message: "Your listing has been published", preferredStyle: .Alert) private var alert = UIAlertController(title: "Listing Published", message: "Your listing has been published", preferredStyle: .Alert)
private var lastListingKey: String! private var lastListingKey: String!
private var newInProgressListing: Dictionary<String,AnyObject> = Dictionary<String, AnyObject>()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
@ -100,9 +101,15 @@ class ListingPreviewViewController: UIViewController {
} }
} }
} }
extension Dictionary {
mutating func update(other:Dictionary) {
for (key,value) in other {
self.updateValue(value, forKey:key)
}
}
}
//MARK: - FacebookGraphAPIManagerDelegate methods //MARK: - FacebookGraphAPIManagerDelegate methods
extension ListingPreviewViewController: FacebookGraphAPIManagerDelegate { extension ListingPreviewViewController: FacebookGraphAPIManagerDelegate {
@ -134,6 +141,7 @@ extension ListingPreviewViewController {
//save listing to private user path in firebase //save listing to private user path in firebase
let newListingRef = self.firManager.ref.child("Users").child("\(self.firManager.user_email)").child("user_Listings").childByAutoId() let newListingRef = self.firManager.ref.child("Users").child("\(self.firManager.user_email)").child("user_Listings").childByAutoId()
let postingGroup: dispatch_group_t = dispatch_group_create()
//post to ebay //post to ebay
if(self.networksDictionary["ebay"]!){ if(self.networksDictionary["ebay"]!){
@ -150,8 +158,9 @@ extension ListingPreviewViewController {
//post to etsy //post to etsy
if(self.networksDictionary["etsy"]!){ if(self.networksDictionary["etsy"]!){
dispatch_group_enter(postingGroup)
var categoryCode: Int! var categoryCode: Int!
//@FIXME: settings dctionary is staying nil
switch self.itemCategory.text { switch self.itemCategory.text {
case "Accessories": case "Accessories":
categoryCode = EtsyRESTAPIManager.settingsDictionary["categories"]!["accessories"] as! Int categoryCode = EtsyRESTAPIManager.settingsDictionary["categories"]!["accessories"] as! Int
@ -255,17 +264,42 @@ extension ListingPreviewViewController {
"who_made": EtsyRESTAPIManager.settingsDictionary["who_made"] as! String, "who_made": EtsyRESTAPIManager.settingsDictionary["who_made"] as! String,
"is_supply": EtsyRESTAPIManager.settingsDictionary["is_supply"]!, "is_supply": EtsyRESTAPIManager.settingsDictionary["is_supply"]!,
"when_made": EtsyRESTAPIManager.settingsDictionary["when_made"] as! String, "when_made": EtsyRESTAPIManager.settingsDictionary["when_made"] as! String,
"shipping_template_id": EtsyRESTAPIManager.settingsDictionary["shipping_template_id"] as! Int,
"state":"draft" "state":"draft"
] ]
self.etsyManager.sendPOSTRequest("/listings", body: body, onCompletion: {(JSON, NSError) -> Void in print(JSON)}) self.etsyManager.sendPOSTRequest("/listings", body: body, onCompletion: {
(dict, error) -> Void in
var results = (dict as! [[String : AnyObject]])[0]
if((self.newInProgressListing["networkIDs"] == nil)){
self.newInProgressListing["networkIDs"] = Dictionary<String, AnyObject>()
}
var networkIDs = (self.newInProgressListing["networkIDs"] as! Dictionary<String, AnyObject>)
networkIDs["etsy"] = results["listing_id"] as? Int
self.newInProgressListing["networkIDs"] = networkIDs
let imageBody = ["listing_id": networkIDs["etsy"] as! Int,
//"type":"image/jpg",
"image": UIImageJPEGRepresentation(self.itemPicture.image!, 0.45)!]
self.etsyManager.sendPOSTRequest(("listings/\(networkIDs["etsy"] as! Int)/images"), body: imageBody, onCompletion: {
(dict, error) -> Void in
dispatch_group_leave(postingGroup)
})
})
} }
//post to facebook //post to facebook
if(self.networksDictionary["facebook"]!){ if(self.networksDictionary["facebook"]!){
dispatch_group_enter(postingGroup)
let parameters: Dictionary<String, AnyObject> = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!)] let parameters: Dictionary<String, AnyObject> = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!)]
self.lastListingKey = newListingRef.key self.lastListingKey = newListingRef.key
@ -273,10 +307,10 @@ extension ListingPreviewViewController {
//let parameters: Dictionary<String, AnyObject> = ["":""] //let parameters: Dictionary<String, AnyObject> = ["":""]
dispatch_group_leave(postingGroup)
} }
dispatch_group_notify(postingGroup, dispatch_get_main_queue(), {
let listing: Dictionary<String,AnyObject> = ["listingID": newListingRef.key, self.newInProgressListing.update(["listingID": newListingRef.key,
"seller email": (NSUserDefaults.standardUserDefaults().objectForKey("email") as? String)!, "seller email": (NSUserDefaults.standardUserDefaults().objectForKey("email") as? String)!,
"listingTitle": self.itemTitle.text, "listingTitle": self.itemTitle.text,
"listingPrice": self.itemPrice.text, "listingPrice": self.itemPrice.text,
@ -284,7 +318,8 @@ extension ListingPreviewViewController {
"listingDescription": self.itemDescription.text, "listingDescription": self.itemDescription.text,
"numberOfSupportingImages" : ((self.itemListingDictionary["pictures"] as? [UIImageView])?.count)! - 1, "numberOfSupportingImages" : ((self.itemListingDictionary["pictures"] as? [UIImageView])?.count)! - 1,
"isListingDraft": false, "isListingDraft": false,
"networks": self.networksDictionary] "networks": self.networksDictionary])
self.firManager.ref.observeSingleEventOfType(.Value, withBlock: { snapshot in self.firManager.ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
@ -300,15 +335,15 @@ extension ListingPreviewViewController {
listingImageRef.putData(UIImageJPEGRepresentation(self.itemPicture.image!, 0.8)!, metadata: nil,completion: listingImageRef.putData(UIImageJPEGRepresentation(self.itemPicture.image!, 0.8)!, metadata: nil,completion:
{(metadata, error) -> Void in {(metadata, error) -> Void in
newListingRef.setValue(listing) newListingRef.setValue(self.newInProgressListing)
self.alert.title = "Listing saved with error" // self.alert.title = "Listing saved with error"
self.alert.message = "Your listing has been saved but something went wrong when trying to publish to facebook" // self.alert.message = "Your listing has been saved but something went wrong when trying to publish to facebook"
//let alert = UIAlertController(title: "Listing Published", message: "Your listing has been published", preferredStyle: .Alert) //let alert = UIAlertController(title: "Listing Published", message: "Your listing has been published", preferredStyle: .Alert)
self.alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in self.alert.dismissViewControllerAnimated(true, completion: nil)})) // self.alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in self.alert.dismissViewControllerAnimated(true, completion: nil)}))
//register new listing id in global path of firebase root' //register new listing id in global path of firebase root'
self.firManager.ref.child("Global_listings").child(newListingRef.key).setValue(newListingRef.key) self.firManager.ref.child("Global_listings").child(newListingRef.key).setValue(newListingRef.key)
@ -320,7 +355,7 @@ extension ListingPreviewViewController {
}) })
})
} }