{"version":3,"sources":["webpack:///./src/app/services/user.service.ts"],"names":[],"mappings":"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","file":"default~app-shopping-shopping-address-add-shopping-address-add-module~app-shopping-shopping-address-~50743bb4.js","sourcesContent":["import { Component,Injectable } from '@angular/core';\nimport { AngularFireAuth } from '@angular/fire/auth';\nimport { AngularFirestore,AngularFirestoreCollection,AngularFirestoreDocument} from '@angular/fire/firestore';\nimport * as firebase from 'firebase';\nimport { Observable } from 'rxjs';\nimport { first,map } from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n\n userId: string = \"\";\n userAuth: boolean = false;\n private userProfile: AngularFirestoreDocument;\n\n constructor(\n private firestore: AngularFirestore,\n private fireAuth:AngularFireAuth\n ) { \n this.fireAuth.authState.subscribe( user => {\n if(user) {\n console.log(\"USERSERVICE..... auth = true\");\n this.userId = user.uid;\n this.userAuth = true;\n console.log(\"userId=\"+this.userId);\n } else {\n console.log(\"USERSERVICE..... auth = false\");\n // Empty the value when user signs out\n this.userId = \"\";\n this.userAuth = false;\n console.log(\"userId=\"+this.userId);\n }\n });\n\n\n }\n\n\n//**************************************//\n//****** user authentication ******//\n//**************************************//\n\n///https://angularfirebase.com/snippets/check-if-current-user-exists-with-angularfire/\n isLoggedIn():Promise {\n return this.fireAuth.authState.pipe(first()).toPromise();\n }\n async getAuthState(){\n console.log(\"userService call getAuthState=\"+this.userAuth);\n return await this.userAuth;\n }\n getUserId(){\n return this.userId;\n \n }\n getConnectedUserId(){\n this.fireAuth.authState.subscribe( user => {\n if(user) {\n console.log(\"USERSERVICE RUNNNNN... auth 1\");\n this.userId = user.uid;\n this.userAuth = true;\n console.log(\"userService call getUserId=\"+this.userId);\n return this.userId;\n } else {\n console.log(\"USERSERVICE RUNNNNN... auth 0\");\n // Empty the value when user signs out\n this.userId = null;\n this.userAuth = false;\n console.log(\"userService call getUserId=\"+this.userId);\n return this.userId;\n }\n });\n \n }\n // async doSomething(): Promise {\n // const user = await this.isLoggedIn()\n // if (user) {\n // // do something\n // this.userId = await user.uid;\n // return this.firestore.doc('userProfile/'+this.userId).valueChanges();\n // } else {\n // // do something else\n // }\n // }\n \n // login\n signinUser(newEmail: string, newPassword: string): Promise {\n return this.fireAuth.auth.signInWithEmailAndPassword(newEmail,newPassword)\n }\n\n\n resetPassword(email: string):Promise {\n return this.fireAuth.auth.sendPasswordResetEmail(email);\n }\n\n signoutUser(): Promise {\n return this.fireAuth.auth.signOut();\n }\n\n // register \n signupUser(firstname: string, lastname: string, phone: string, username: string, password: string): Promise {\n return this.fireAuth.auth.createUserWithEmailAndPassword(username, password).then((newUser) => {\n console.log(\"userid=========\"+newUser.user.uid); // firebase.database().ref('/userProfile').child(newUser.uid).set({\n this.firestore.collection('userProfile').doc(newUser.user.uid).set({\n id: newUser.user.uid,\n firstname: firstname,\n lastname: lastname,\n email: username,\n image:\"\",\n phone:phone\n })\n\n });\n }\n\n//*******************************//\n//****** user profile ******//\n//*******************************//\n\n getUserProfile(){\n // this.fireAuth.authState.subscribe(user => {\n // if (user) {\n // //this.userId = user.uid;\n // //console.log(\"CALL check user auth________________userService user auth id = \"+ this.userId);\n // // set angularfireDoc userfile\n // // this.userProfile = this.firestore.doc('userProfile/'+this.userId);\n // //######\n // }\n // });\n console.log(\"userId=\"+this.userId);\n console.log(\"getUserProfile\");\n return this.firestore.doc('userProfile/'+this.userId).valueChanges();\n }\n\n \n async getUserProfileId(){\n const user = await this.isLoggedIn()\n if (user) {\n // do something\n this.userId = await user.uid;\n //return this.firestore.doc('userProfile/'+this.userId).valueChanges();\n } else {\n // do something else\n console.log(\"++++++++No userId\"+this.userId)\n }\n console.log(\"++++++++++getUserProfileId = \"+this.userId)\n return this.userId;\n }\n\n\n updateUserProfile(\n firstname: string, \n lastname: string, \n phone: string, \n email: string, \n ){\n \n return this.firestore.doc('userProfile/'+this.userId).update({\n firstname: firstname,\n lastname: lastname,\n phone:phone,\n email: email\n });\n }\n\n\n//*******************************//\n//****** user address ******//\n//*******************************//\n\ngetAddressByUserId(){\n console.log(\"_____getAddressByUserId=\");\n return this.firestore.collection('/userAddress', ref => ref\n .where('userProfileId', '==', this.userId))\n .snapshotChanges().pipe(\n map(actions => { \n return actions.map(a => {\n const data = a.payload.doc.data();\n const id = a.payload.doc.id; \n console.log(\"####get a group of countries=\"+data);\n return { id, ...data };\n });\n })\n );\n}\n\ngetAddressById( addressId: string){\n console.log(\"_______getAddressById\")\n return this.firestore.doc('userAddress/'+addressId).valueChanges();\n}\n\naddAddress(\n label: string,\n fullname: string,\n phone: number, \n address: string\n) {\n console.log(\"___addAddress=\");\n return this.firestore.collection('userAddress').add({\n userProfileId: this.userId,\n label: label,\n fullname: fullname,\n phone: phone,\n address: address\n //createdTime: new Date()\n });\n}\n\neditAddress(\n addressId: string, \n title: string,\n fullname: string,\n phone: number, \n address: string){\n console.log(\"addressId=\"+addressId)\n return this.firestore.doc('userAddress/'+addressId).update({\n label: title,\n fullname: fullname,\n phone: phone,\n address: address\n });\n}\n\ndeleteAddress(addressId: string){\n return this.firestore.doc('userAddress/'+addressId).delete();\n}\n\n\n\n\n}\n"],"sourceRoot":""}