// // FirebaseService.swift // Vendoo // // This class is responsible for initializing a new user, as well as managing web request to both firebase database and data storage // Created by Okechi Onyeje on 6/2/16. // Copyright © 2016 Okechi Onyeje. All rights reserved. // import Foundation import Firebase import Locksmith import FirebaseStorage import TYMActivityIndicatorView class FirebaseManager: NSObject { let ref = FIRDatabase.database().reference() let user_email = ((NSUserDefaults.standardUserDefaults().objectForKey("email") as? String)!).stringByReplacingOccurrencesOfString(".", withString: "_") let storage = FIRStorage.storage() var indicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.WhiteLarge) var firGroup = dispatch_group_create() //let key: String! override init(){ super.init() indicator.color = UIColor.blueColor() //check if user has been created dispatch_group_enter(self.firGroup) self.ref.child("Users").observeSingleEventOfType(.Value, withBlock: { snapshot in // do some stuff once if(!snapshot.hasChild(self.user_email)){ let user = ["name": (NSUserDefaults.standardUserDefaults().objectForKey("name") as? String)!, "user_Listings": "", "listing_Keys": "", "favorite_listings_keys": ""] self.ref.child("Users").child(self.user_email).setValue(user, withCompletionBlock: { (error, reference) -> Void in dispatch_group_leave(self.firGroup) }) } }) } } //string adjustment functions extension FirebaseManager { func adjustUserEmail(aString: String) -> String { return aString.stringByReplacingOccurrencesOfString(".", withString: "_") } }