230 lines
9.7 KiB
Swift
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)
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
|
|
}
|
|
|