This repository has been archived by the owner on Apr 15, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NetworkManager.swift
63 lines (49 loc) · 1.99 KB
/
NetworkManager.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//
// NetworkManager.swift
// SteemitApp
//
// Created by Burak Tayfun on 1/8/18.
// Copyright © 2018 Burak Tayfun. All rights reserved.
//
import UIKit
import ObjectMapper
struct NetworkManager {
let endPoint = "https://api.coinmarketcap.com/v1/ticker/"
let steemEndPoint = "https://api.steemjs.com/"
func getSteemitPrice(currency: String,
success: @escaping (_ result: CoinModel) -> Void,
failure: @escaping (_ error: String) -> Void) {
let path = endPoint + CoinTypes.steemDollar.rawValue + "/?convert=" + currency
BaseNetwork.sharedInstance.getRequest(path: path, success: { (data) in
guard let responseJSON = data as? Array<[String: AnyObject]> else {
failure("Error reading response")
return
}
let coin: [CoinModel] = Mapper<CoinModel>().mapArray(JSONArray: responseJSON)
success(coin.first!)
}) { (error) in
failure(error)
}
}
func getSteemitAccount(user: String,
success: @escaping (_ result: UserModel) -> Void,
failure: @escaping (_ error: String) -> Void) {
let path = steemEndPoint + "get_accounts?names[]=" + user
BaseNetwork.sharedInstance.getRequest(path: path, success: { (data) in
guard let responseJSON = data as? Array<Dictionary<String, AnyObject>> else {
failure("Error reading response")
return
}
guard let user: UserModel = Mapper<UserModel>().map(JSONObject: responseJSON.first) else {
failure("Error reading response")
return
}
success(user)
}) { (error) in
failure(error)
}
}
func cancelAllSessions() {
BaseNetwork.sharedInstance.cancelAllSessions()
}
}