Files
POCloud-iOS/pocloud/Controller/AppDelegate.swift
2018-05-29 20:58:07 -05:00

230 lines
9.7 KiB
Swift

//
// AppDelegate.swift
// pocloud
//
// Created by Patrick McDonagh on 5/22/18.
// Copyright © 2018 patrickjmcd. All rights reserved.
//
import UIKit
import PromiseKit
import Alamofire
import SwiftyJSON
import RealmSwift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
let baseURL : String = "https://henrypump.meshify.com/api/v3"
var user : User?
let channelDataTypes: [Int : String] = [
0: "Unknown",
1: "Float",
2: "String",
3: "Integer",
4: "Boolean",
5: "DateTime",
6: "Timespan",
7 :"File",
8: "LatLng"
]
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Chameleon.setGlobalThemeUsingPrimaryColor(UIColor.flatSkyBlue(), with: UIContentStyle.contrast)
// print(Realm.Configuration.defaultConfiguration.fileURL)
return true
}
//MARK: - Data Methods
// func getAddresses() ->Promise<Any> {
// let realm = try! Realm()
// let url = "\(baseURL)/addresses"
// let headers : HTTPHeaders = [
// "Authorization": user!.authToken
// ]
//
// return Promise { promise in
// Alamofire.request(url, method: .get, headers: headers)
// .validate()
// .responseJSON { response in
// switch response.result {
//
// case .success:
// let addressesJSON : JSON = JSON(response.result.value!)
// for(_, json) : (String, JSON) in addressesJSON {
// do {
// try realm.write {
// let addr = Address()
// addr.id = json["id"].intValue
// addr.apartment = json["id"].stringValue
// addr.city = json["city"].stringValue
// addr.country = json["country"].stringValue
// addr.lat = json["lat"].doubleValue
// addr.long = json["long"].doubleValue
// addr.state = json["state"].stringValue
// addr.street1 = json["street1"].stringValue
// addr.street2 = json["street2"].stringValue
// addr.zip = json["zip"].stringValue
// addr.zoneId = json["zoneid"].intValue
// realm.add(addr, update: true)
// }
// } catch {
// promise.reject(error)
// }
// }
// promise.fulfill(true)
// case .failure(let error):
// promise.reject(error)
// }
// }
// }
//
// }
//
// func getDevices(gateways : Results<Gateway>, deviceTypes : Results<DeviceType>) ->Promise<Any> {
// let realm = try! Realm()
// let url = "\(baseURL)/devices"
// let headers : HTTPHeaders = [
// "Authorization": user!.authToken
// ]
//
// return Promise { promise in
// Alamofire.request(url, method: .get, headers: headers)
// .validate()
// .responseJSON { response in
//
// switch response.result {
//
// case .success:
// let devicesJSON : JSON = JSON(response.result.value!)
// for(_, json) : (String, JSON) in devicesJSON {
// do {
// try realm.write {
// let dev = Device()
// dev.companyId = json["companyId"].intValue
// dev.deviceTypeId = json["deviceTypeId"].intValue
// dev.gatewayId = json["gatewayId"].intValue
// dev.id = json["id"].intValue
// dev.macAddress = json["macAddress"].stringValue
// dev.techName = json["techname"].stringValue
// dev.tenantId = json["tenantId"].intValue
// dev.vanityName = json["vanityName"].stringValue
//
// let pGateway = gateways.filter("id == %d", dev.gatewayId).first
// let pDeviceType = deviceTypes.filter("id == %d", dev.deviceTypeId).first
//
// realm.add(dev, update: true)
// pGateway?.devices.append(dev)
// pDeviceType?.devices.append(dev)
// }
// } catch {
// promise.reject(error)
// }
// }
// promise.fulfill(true)
// case .failure(let error):
// promise.reject(error)
// }
// }
// }
//
// }
//
// func getGateways(addresses : Results<Address>) -> Promise<Any> {
//
// let realm = try! Realm()
// let url = "\(baseURL)/gateways"
// let headers : HTTPHeaders = [
// "Authorization": user!.authToken
// ]
//
// return Promise { promise in
// Alamofire.request(url, method: .get, headers: headers)
// .responseJSON { response in
// switch response.result {
//
// case .success:
// let gatewaysJSON : JSON = JSON(response.result.value!)
// for(_, json) : (String, JSON) in gatewaysJSON {
//
// do {
// try realm.write {
// let gtw = Gateway()
// gtw.addressId = json["addressId"].intValue
// gtw.companyId = json["companyId"].intValue
// gtw.diaVersion = json["diaVersion"].stringValue
// gtw.gatewayConfigurationId = json["gatewayConfigurationId"].intValue
// gtw.gatewayTypeId = json["gatewayTypeId"].intValue
// gtw.id = json["id"].intValue
// gtw.macAddress = json["macAddress"].stringValue
// gtw.name = json["name"].stringValue
// gtw.panId = json["panId"].stringValue
// gtw.tenantId = json["tenantId"].intValue
// gtw.userId = json["userId"].intValue
//
// let associatedAddress = addresses.filter("id == %d", gtw.addressId).first
//
// gtw.address = associatedAddress
// realm.add(gtw, update: true)
// }
// } catch {
// promise.reject(error)
// }
// }
// promise.fulfill(true)
// case .failure(let error):
// promise.reject(error)
// }
// }
// }
// }
//
//
// func getDeviceTypes() -> Promise<Any> {
// let realm = try! Realm()
// let url = "\(baseURL)/devicetypes"
// let headers : HTTPHeaders = [
// "Authorization": user!.authToken
// ]
//
// return Promise { promise in
// Alamofire.request(url, method: .get, headers: headers)
// .responseJSON { response in
// switch response.result {
//
// case .success:
// let deviceTypesJson : JSON = JSON(response.result.value!)
// for(_, json) : (String, JSON) in deviceTypesJson {
// do {
// try realm.write {
// let dt = DeviceType()
// dt.companyId = json["CompanyId"].intValue
// dt.id = json["id"].intValue
// dt.imgUrl = json["imgUrl"].stringValue
// dt.name = json["name"].stringValue
// dt.note = json["note"].stringValue
// dt.tenantId = json["tenantId"].intValue
// dt.vanityName = json["vanityName"].stringValue
// realm.add(dt, update: true)
// }
// } catch {
// promise.reject(error)
// }
// }
// promise.fulfill(true)
// case .failure(let error):
// promise.reject(error)
// }
// }
// }
// }
}