{"version":3,"file":"main-es2015.js","mappings":"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","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/enums/SMTimeSlotStatus.ts","./src/app/models/SMReservationSlots.ts","./src/app/services/app-firebase.module.ts","./src/app/services/app-service.module.ts","./src/app/services/auth.service.ts","./src/app/services/crud/base-firestore.service.ts","./src/app/services/crud/brand-owner.service.ts","./src/app/services/crud/brand.service.ts","./src/app/services/crud/order.service.ts","./src/app/services/crud/semt.service.ts","./src/app/services/crud/user.service.ts","./src/app/services/flows/create-order-flow.service.ts","./src/app/services/flows/login-flow.service.ts","./src/app/services/flows/my-cart-flow.service.ts","./src/app/services/onesignal.service.ts","./src/app/services/snackbar.service.ts","./src/app/services/spinner.service.ts","./src/app/store/actions.ts","./src/app/store/effects.ts","./src/app/store/facade.ts","./src/app/store/reducers.ts","./src/app/store/selectors.ts","./src/app/store/services.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\n\nconst routes: Routes = [\n {\n path: 'home',\n loadChildren: () => import('./views/home/home.module').then(m => m.HomeModule)\n },\n {\n path: 'login',\n loadChildren: () => import('./views/login/login.module').then(m => m.LoginModule)\n },\n { path: '', redirectTo: 'login', pathMatch: 'full' }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { enableTracing: false, useHash: true, relativeLinkResolution: 'legacy' })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, NgZone, OnInit } from '@angular/core';\nimport { AppFacade } from './store/facade';\nimport { AngularFireAuth } from '@angular/fire/auth';\nimport { SpinnerService } from './services/spinner.service';\nimport { Subject } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { AngularFirestore } from '@angular/fire/firestore';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n\n title;\n\n appSemtID$ = this.facade.getSemtID$\n spinner: Subject = this.spinnerService.isLoading;\n\n constructor(private facade: AppFacade, private fireAuth: AngularFireAuth, private firestore: AngularFirestore,\n private spinnerService: SpinnerService, private zone: NgZone, private router: Router) {\n }\n\n ngOnInit() {\n\n this.fireAuth.onAuthStateChanged(user => {\n if(user) {\n this.zone.run(() => this.facade.loadCurrentUser());\n }\n });\n\n setTimeout( async () => {\n\n this.facade.getCredential$.subscribe(data => {\n if(!data) {\n this.router.navigate(['/login']);\n }\n });\n }, 10000);\n }\n}\n","\n\n\n
\n \n
\n\n\n
\n \n
","import { NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { AppServiceModule } from './services/app-service.module';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { StoreModule } from '@ngrx/store';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport { environment } from '../environments/environment';\nimport { EffectsModule } from '@ngrx/effects';\nimport { AppEffects } from './store/effects';\nimport { StoreRouterConnectingModule } from '@ngrx/router-store';\nimport { appInitialState, appReducer } from './store/reducers';\nimport { AppFacade } from './store/facade';\nimport { AppServices } from './store/services';\nimport { SpinnerService } from './services/spinner.service';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport { SnackbarService } from './services/snackbar.service';\n\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n AppServiceModule,\n BrowserAnimationsModule,\n MatProgressSpinnerModule,\n MatSnackBarModule,\n EffectsModule.forRoot([AppEffects]),\n StoreRouterConnectingModule.forRoot(),\n StoreModule.forRoot({ app: appReducer }, { initialState: { app: appInitialState }, runtimeChecks: {strictActionWithinNgZone: true}}),\n !environment.production ? StoreDevtoolsModule.instrument() : [],\n StoreDevtoolsModule.instrument({ maxAge: 25, logOnly: environment.production })\n ],\n providers: [AppFacade, AppServices, \n SpinnerService,\n SnackbarService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","export enum SMTimeSlotStatus {\n SELECTED = 'selected',\n DISABLED = 'disabled',\n NOT_SELECTED = 'not-selected'\n}\n","export class SMReservationSlots {\n slots = [\n {code: '01', count: 0},\n {code: '12', count: 0},\n {code: '23', count: 0},\n {code: '34', count: 0},\n {code: '45', count: 0},\n {code: '56', count: 0},\n {code: '67', count: 0},\n {code: '78', count: 0},\n {code: '89', count: 0},\n {code: '910', count: 0},\n {code: '1011', count: 0},\n {code: '1112', count: 0},\n {code: '1213', count: 0},\n {code: '1314', count: 0},\n {code: '1415', count: 0},\n {code: '1516', count: 0},\n {code: '1617', count: 0},\n {code: '1718', count: 0},\n {code: '1819', count: 0},\n {code: '1920', count: 0},\n {code: '2021', count: 0},\n {code: '2122', count: 0},\n {code: '2223', count: 0},\n {code: '2324', count: 0}\n ];\n}\n","\nimport { NgModule } from '@angular/core';\nimport { AngularFireModule } from '@angular/fire';\nimport { environment } from '../../environments/environment';\nimport { AngularFireAuthModule } from '@angular/fire/auth';\nimport { AngularFirestoreModule } from '@angular/fire/firestore';\nimport { AngularFireStorageModule } from '@angular/fire/storage';\n\n@NgModule({\n imports: [\n AngularFireModule.initializeApp(environment.firebase),\n AngularFireAuthModule,\n AngularFirestoreModule,\n AngularFireStorageModule\n ],\n exports: [\n ],\n providers: [\n ]\n})\nexport class AppFirebaseModule { }\n","\nimport { NgModule } from '@angular/core';\nimport { LoginFlowService } from './flows/login-flow.service';\nimport { UserService } from './crud/user.service';\nimport { AppFirebaseModule } from './app-firebase.module';\nimport { SemtService } from './crud/semt.service';\nimport { BaseFirestoreService } from './crud/base-firestore.service';\nimport { BrandService } from './crud/brand.service';\nimport { CreateOrderFlowService } from './flows/create-order-flow.service';\nimport { MyCartFlowService } from './flows/my-cart-flow.service';\nimport { BrandOwnerService } from './crud/brand-owner.service';\nimport { OrderService } from './crud/order.service';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AppOneSignalService } from './onesignal.service';\n\n@NgModule({\n imports: [\n AppFirebaseModule,\n HttpClientModule\n ],\n exports: [\n ],\n providers: [\n LoginFlowService,\n BaseFirestoreService,\n UserService,\n SemtService,\n BrandService,\n CreateOrderFlowService,\n MyCartFlowService,\n BrandOwnerService,\n OrderService,\n AppOneSignalService\n ]\n})\nexport class AppServiceModule { }\n","import { Injectable } from '@angular/core';\nimport { AngularFireAuth } from '@angular/fire/auth';\nimport * as firebase from 'firebase/app';\nimport { FirebaseCredential } from '../models/firebase/FirebaseCredential';\nimport { FirebaseUser } from '../models/firebase/FirebaseUser';\nimport { environment } from 'src/environments/environment';\nimport { SnackbarService } from './snackbar.service';\n\nvar secondaryApp;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppAuthService {\n constructor(private snack: SnackbarService, private fireAuth: AngularFireAuth) {\n }\n async signInWithCredential(credential: any) {\n await this.fireAuth.signInWithCredential(credential).then(resp => {\n // this.userService.updateUserID('test-ugur');\n });\n }\n\n async signInWithCredentials(username: string, password: string): Promise {\n try {\n const credential = await this.fireAuth.signInWithEmailAndPassword(username, password);\n const fireUser: FirebaseUser = {\n email: credential.user.email,\n emailVerified: credential.user.emailVerified,\n isAnonymous: credential.user.isAnonymous,\n phoneNumber: credential.user.phoneNumber,\n photoURL: credential.user.photoURL,\n refreshToken: credential.user.refreshToken,\n uid: credential.user.uid\n }\n const fireCredential: FirebaseCredential = {\n user: fireUser\n }\n\n return Promise.resolve(fireCredential);\n } catch (err) {\n this.snack.openSnackBar(err.message);\n throw err;\n }\n }\n\n async createUserEmailAndPassword(username: string, password: string): Promise {\n try {\n const config = environment.firebase;\n \n if(!secondaryApp) {\n secondaryApp = firebase.default.initializeApp(config, \"Secondary\");\n }\n\n const credential = await secondaryApp.auth().createUserWithEmailAndPassword(username, password);\n\n const fireUser: FirebaseUser = {\n email: credential.user.email,\n emailVerified: credential.user.emailVerified,\n isAnonymous: credential.user.isAnonymous,\n phoneNumber: credential.user.phoneNumber,\n photoURL: credential.user.photoURL,\n refreshToken: credential.user.refreshToken,\n uid: credential.user.uid\n }\n const fireCredential: FirebaseCredential = {\n user: fireUser\n }\n secondaryApp.auth().signOut();\n return Promise.resolve(fireCredential);\n } catch (err) {\n this.snack.openSnackBar(err.message);\n throw err;\n }\n }\n\n async changePassword(newPassword: string): Promise {\n try {\n (await this.fireAuth.currentUser).updatePassword(newPassword);\n return Promise.resolve(true);\n } catch (err) {\n this.snack.openSnackBar(err.message);\n throw err;\n }\n }\n\n async signOut() {\n await this.fireAuth.signOut();\n }\n\n async loadCurrentUser(): Promise {\n const currentUser = await this.fireAuth.currentUser;\n\n const fireUser: FirebaseUser = {\n email: currentUser.email,\n emailVerified: currentUser.emailVerified,\n isAnonymous: currentUser.isAnonymous,\n phoneNumber: currentUser.phoneNumber,\n photoURL: currentUser.photoURL,\n refreshToken: currentUser.refreshToken,\n uid: currentUser.uid\n }\n const fireCredential: FirebaseCredential = {\n user: fireUser\n }\n\n return Promise.resolve(fireCredential);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AngularFirestore, AngularFirestoreDocument } from '@angular/fire/firestore';\nimport { Observable } from 'rxjs';\nimport { SnackbarService } from '../snackbar.service';\n@Injectable({\n providedIn: 'root'\n})\nexport class BaseFirestoreService {\n\n constructor(\n private firestore: AngularFirestore,\n private snack: SnackbarService\n ) { }\n\n createRecord(record: any, collectionName: string) {\n return this.firestore.collection(collectionName).add(record);\n }\n\n readCollectionSnapshot(collectionName) {\n return this.firestore.collection(collectionName).snapshotChanges();\n }\n\n getCollectionRef(collectionName: string) {\n return this.firestore.collection(collectionName);\n }\n\n getDocRef(recordID: string, collectionName: string) {\n return this.firestore.collection(collectionName).doc(recordID);\n }\n\n // tslint:disable-next-line: max-line-length\n async getDoc(docRef: AngularFirestoreDocument): Promise> {\n const doc: Observable> = await docRef.get();\n return doc.toPromise();\n }\n\n async updateRecord(recordID: string, record: any, collectionName: string): Promise {\n try {\n await this.firestore.doc(collectionName + '/' + recordID).update(record);\n return Promise.resolve(true);\n } catch (err) {\n this.snack.openSnackBar(err.message);\n return Promise.resolve(false);\n }\n }\n\n getFirestore(): AngularFirestore{\n return this.firestore;\n }\n\n deleteRecord(recordID: string, collectionName: string) {\n this.firestore.doc(collectionName + '/' + recordID).delete();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { BaseFirestoreService } from './base-firestore.service';\nimport { SMBrandOwner } from 'src/app/models/SMBrandOwner';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BrandOwnerService {\n\n COLLECTION_NAME = 'BrandOwners';\n private owner: SMBrandOwner;\n private ownerData = new BehaviorSubject(null);\n private oOwner: Observable = this.ownerData.asObservable();\n private ownerIDData = new BehaviorSubject(null);\n private oOwnerID: Observable = this.ownerIDData.asObservable();\n\n constructor(private base: BaseFirestoreService) {\n }\n\n getOwnerID(): Observable {\n return this.oOwnerID;\n }\n\n updateOwnerID(id: any) {\n this.ownerIDData.next(id);\n }\n\n getOwnerAsObservable(): Observable {\n return this.oOwner;\n }\n\n async getOwner(): Promise {\n if (!this.owner) {\n this.owner = await this.getOwnerFromFirebase();\n this.ownerData.next(this.owner);\n }\n return this.owner;\n }\n\n setOwner(owner: any) {\n this.owner = owner;\n }\n\n private async getOwnerFromFirebase(): Promise {\n const docRef = this.base.getDocRef(this.ownerIDData.value, this.COLLECTION_NAME);\n const doc = await this.base.getDoc(docRef);\n if (doc.exists) {\n const data: SMBrandOwner = Object.assign(doc.data());\n return data;\n }\n return null;\n }\n\n async getOwnerFromFirebaseWithId(id: string): Promise {\n const docRef = this.base.getDocRef(id, this.COLLECTION_NAME);\n const doc = await this.base.getDoc(docRef);\n if (doc.exists) {\n const data: SMBrandOwner = Object.assign(doc.data());\n return data;\n }\n return null;\n }\n\n async getBrandOwnerWithBrandID(brandID: string): Promise {\n return new Promise(resolve => {\n this.base.getFirestore().collection(this.COLLECTION_NAME, ref => {\n return ref.where('brandID', '==', brandID);\n }).valueChanges({ idField: 'id' }).subscribe((data: any) => {\n if(data) {\n resolve(data[0]);\n }\n });\n });\n }\n \n async updateOwner(owner: SMBrandOwner): Promise {\n const result = await this.base.updateRecord(owner.id, owner, this.COLLECTION_NAME);\n return result;\n }\n\n async createOwner(owner: SMBrandOwner) {\n const docRef = this.base.getDocRef(owner.id, this.COLLECTION_NAME);\n await docRef.set(owner);\n }\n\n async getBrandOwners(refData: string, refStr: string): Promise< Observable < any[]> > {\n return this.base.getFirestore().collection(this.COLLECTION_NAME, ref => {\n return ref.where( refStr, '==', refData);\n }).valueChanges({ idField: 'id' });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseFirestoreService } from './base-firestore.service';\nimport { SMBrand } from 'src/app/models/SMBrand';\nimport { SMOrderBasic } from 'src/app/models/SMOrderBasic';\nimport { SMReservationSlots } from 'src/app/models/SMReservationSlots';\nimport { SMTimeSlot } from 'src/app/models/SMTimeSlot';\nimport { SMTimeSlotStatus } from 'src/app/enums/SMTimeSlotStatus';\nimport { UserService } from './user.service';\nimport { SMComment } from 'src/app/models/SMComment';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BrandService {\n\n COLLECTION_NAME = 'Brands';\n brandList: SMBrand[] = [];\n brandIDList: string[] = [];\n constructor(private base: BaseFirestoreService, private userService: UserService) {\n }\n\n async getBrand(brandID: string): Promise {\n if (this.brandIDList.indexOf(brandID) > -1 ) {\n return this.brandList[this.brandIDList.indexOf(brandID)];\n }\n return await this.getBrandFromFirebase(brandID);\n }\n\n async getBrandFromFirebase(brandID): Promise {\n const docRef = this.base.getDocRef(brandID, this.COLLECTION_NAME);\n const doc = await this.base.getDoc(docRef);\n if (doc.exists) {\n const data: SMBrand = Object.assign(doc.data());\n if (this.brandIDList.indexOf(brandID) < 0) {\n this.brandList.push(data);\n this.brandIDList.push(brandID);\n }\n return data;\n }\n return null;\n }\n\n async getAllBrands(): Promise {\n return new Promise(resolve => {\n this.base.getCollectionRef('Brands').valueChanges({idField: 'id'}).subscribe((data: any) => resolve(data));\n });\n }\n\n async createOrderRequest(brandID: string, brand: SMBrand, order: SMOrderBasic): Promise {\n brand.orders.push(order);\n const user = await this.userService.getUser();\n user.orders.push(order);\n await this.userService.updateUser(user);\n return await this.base.updateRecord(brandID, brand, this.COLLECTION_NAME);\n }\n\n async getTimeSLots(brandID, date: Date): Promise {\n const docRef = this.base.getDocRef(brandID, this.COLLECTION_NAME);\n const slotRef = docRef.collection('reservations').doc(date.getDate() + '-' + (date.getMonth() + 1) + '-' + date.getFullYear() );\n const slotDoc = await this.base.getDoc(slotRef);\n if (slotDoc.exists) {\n return this.generateTimeSlots(slotDoc.data().slots);\n } else {\n const slots = new SMReservationSlots();\n slotRef.set({slots: slots.slots});\n return this.generateTimeSlots(slots.slots);\n }\n }\n\n async updateOrder(brand: SMBrand, order: SMOrderBasic): Promise {\n brand.orders.forEach(item => {\n if (item.id === order.id) {\n item.reservationDate = order.reservationDate;\n item.reservationHour = order.reservationHour;\n item.customerNote = order.customerNote;\n item.status = order.status;\n }\n });\n const user = await this.userService.getUser();\n user.orders.forEach(item => {\n if (item.id === order.id) {\n item.reservationDate = order.reservationDate;\n item.reservationHour = order.reservationHour;\n item.customerNote = order.customerNote;\n item.status = order.status;\n }\n });\n await this.userService.updateUser(user);\n return await this.base.updateRecord(brand.brandID, brand, this.COLLECTION_NAME);\n }\n\n generateTimeSlots(data): SMTimeSlot[] {\n const result: SMTimeSlot[] = [];\n for (let i = 0; i < data.length; i++) {\n const slot: SMTimeSlot = {\n code: data[i].code,\n end: i + 1,\n slot: (i < 10 ? '0' + i : i) + ':00 - ' + (i + 1 < 10 ? '0' + (i + 1) : i + 1) + ':00',\n start: i,\n status: data[i].count < 5 ? SMTimeSlotStatus.NOT_SELECTED : SMTimeSlotStatus.DISABLED\n };\n result.push(slot);\n }\n for (const slot of result) {\n if (slot.status !== SMTimeSlotStatus.DISABLED) {\n slot.status = SMTimeSlotStatus.SELECTED;\n break;\n }\n }\n return result;\n }\n\n async addComment(brand: SMBrand, comment: SMComment): Promise {\n if (!brand.comments) {\n brand.comments = [];\n }\n brand.comments.push(comment);\n return await this.base.updateRecord(brand.brandID, brand, this.COLLECTION_NAME);\n }\n\n async updateBrand(brand: SMBrand): Promise {\n const result = await this.base.updateRecord(brand.id, brand, this.COLLECTION_NAME);\n return result;\n }\n\n async getBrands(): Promise< Observable> {\n return this.base.getFirestore().collection(this.COLLECTION_NAME).valueChanges({ idField: 'id' });\n }\n\n async createBrand(newBrand:SMBrand): Promise {\n const recordRef: any = await this.base.createRecord(newBrand, this.COLLECTION_NAME);\n const docRef = await this.base.getDocRef(recordRef.path.split('/')[1],this.COLLECTION_NAME);\n const doc = await this.base.getDoc(docRef);\n\n if (doc.exists) {\n const data: SMBrand = Object.assign(doc.data());\n data.id = doc.id;\n return Promise.resolve(data);\n }\n\n return Promise.reject('marka oluşturulamadı');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseFirestoreService } from './base-firestore.service';\nimport { DocumentReference } from '@angular/fire/firestore';\nimport { SMOrderBasic } from 'src/app/models/SMOrderBasic';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrderService {\n\n COLLECTION_NAME = 'Orders';\n\n constructor(private base: BaseFirestoreService) {\n }\n\n async createOrder(order: SMOrderBasic): Promise {\n return await this.base.createRecord(order, this.COLLECTION_NAME);\n }\n\n async getOrders(brandID): Promise< Observable> {\n return this.base.getFirestore().collection(this.COLLECTION_NAME, ref => {\n return ref.where('brandID', '==', brandID);\n }).valueChanges({ idField: 'id' });\n }\n\n async updateOrder(order: SMOrderBasic): Promise {\n return await this.base.updateRecord(order.id, order, this.COLLECTION_NAME);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BaseFirestoreService } from './base-firestore.service';\nimport { SMSemt } from 'src/app/models/SMSemt';\nimport { AngularFirestoreDocument } from '@angular/fire/firestore';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SemtService {\n\n COLLECTION_NAME = 'Semtler';\n private semt: SMSemt;\n private semtID: string;\n private currentSemtDocRef: AngularFirestoreDocument;\n constructor(private base: BaseFirestoreService) {\n }\n\n getSemtID() {\n return this.semtID;\n }\n\n setSemtID(semtID: string) {\n this.semtID = semtID;\n }\n\n getDocRef(): AngularFirestoreDocument {\n return this.currentSemtDocRef;\n }\n\n async getSemt() {\n if (!this.semt) {\n this.semt = await this.getSemtFromFirebase();\n }\n return this.semt;\n }\n\n private async getSemtFromFirebase(): Promise {\n const docRef = this.base.getDocRef(this.semtID, this.COLLECTION_NAME);\n this.currentSemtDocRef = docRef;\n const doc = await this.base.getDoc(docRef);\n if (doc.exists) {\n const data: SMSemt = Object.assign(doc.data());\n return data;\n }\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { BaseFirestoreService } from './base-firestore.service';\nimport { SMUser } from 'src/app/models/SMUser';\nimport { AngularFirestoreDocument } from '@angular/fire/firestore';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n\n COLLECTION_NAME = 'Users';\n private user: SMUser;\n private userData = new BehaviorSubject(null);\n private oUser: Observable = this.userData.asObservable();\n private userIDdata = new BehaviorSubject(null);\n private userID: Observable = this.userIDdata.asObservable();\n private userDocRef: AngularFirestoreDocument;\n\n constructor(private base: BaseFirestoreService) {\n }\n\n getUserID(): Observable {\n return this.userID;\n }\n\n updateUserID(id: any) {\n this.userIDdata.next(id);\n this.userDocRef = this.base.getDocRef(this.userIDdata.value, this.COLLECTION_NAME);\n }\n\n getUserDocRef(): AngularFirestoreDocument {\n return this.userDocRef;\n }\n\n getUserAsObservable(): Observable {\n return this.oUser;\n }\n\n async getUser(): Promise {\n if (!this.user) {\n this.user = await this.getUserFromFirebase();\n this.userData.next(this.user);\n }\n return this.user;\n }\n\n setUser(user: any) {\n this.user = user;\n }\n\n private async getUserFromFirebase(): Promise {\n const docRef = this.base.getDocRef(this.userIDdata.value, this.COLLECTION_NAME);\n const doc = await this.base.getDoc(docRef);\n if (doc.exists) {\n const data: SMUser = Object.assign(doc.data());\n return data;\n }\n return null;\n }\n\n async updateUser(user: SMUser): Promise {\n const result = await this.base.updateRecord(this.userIDdata.value, user, this.COLLECTION_NAME);\n if (result) {\n this.userData.next(user);\n this.setUser(user);\n }\n return result;\n }\n\n async getUsers(refData: string, refStr: string): Promise< Observable < any[]> > {\n return this.base.getFirestore().collection(this.COLLECTION_NAME, ref => {\n return ref.where( refStr, '==', refData);\n }).valueChanges({ idField: 'id' });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { SMBrand } from 'src/app/models/SMBrand';\nimport { BrandService } from '../crud/brand.service';\nimport { SMOrderBasic } from 'src/app/models/SMOrderBasic';\nimport { SMTimeSlot } from 'src/app/models/SMTimeSlot';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CreateOrderFlowService {\n\n private brandData = new BehaviorSubject(null);\n brand: Observable = this.brandData.asObservable();\n brandID: string;\n\n constructor(private brandService: BrandService) { }\n\n setBrandID(brandID) {\n this.brandID = brandID;\n }\n\n getBrandID(): string {\n return this.brandID;\n }\n\n getBrand(): BehaviorSubject {\n return this.brandData;\n }\n\n updateBrand(brand: SMBrand) {\n this.brandData.next(brand);\n }\n\n async createOrder(order: SMOrderBasic): Promise {\n return await this.brandService.createOrderRequest(this.brandID, this.brandData.value, order);\n }\n\n async getTimeSlots(date: Date): Promise {\n return await this.brandService.getTimeSLots(this.brandID, date);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoginFlowService {\n\n private credentialData = new BehaviorSubject(null);\n credential: Observable = this.credentialData.asObservable();\n\n constructor() { }\n\n getCredential(): BehaviorSubject {\n return this.credentialData;\n }\n\n updateCredential(credential: any) {\n this.credentialData.next(credential);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SMProductBasic } from 'src/app/models/SMProductBasic';\nimport { Observable, BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MyCartFlowService {\n\n private products = new BehaviorSubject(null);\n oproducts: Observable< {product: SMProductBasic, count: number}[] > = this.products.asObservable();\n private currentBrandID: string;\n private count = new BehaviorSubject(0);\n ocount: Observable = this.count.asObservable();\n\n constructor() { }\n\n addOrUpdateProduct(product: {product: SMProductBasic, count: number}, brandID: string): Promise {\n if (this.products.value && this.currentBrandID === brandID) {\n const next = this.products.value;\n let isProductFound = false;\n next.forEach(element => {\n if (element.product.productID === product.product.productID) {\n element.count = product.count;\n isProductFound = true;\n }\n });\n if (!isProductFound) {\n next.push(product);\n }\n this.products.next(next);\n this.updateCount();\n return Promise.resolve('success');\n } else if (!this.products.value || this.products.value.length === 0) {\n const next = [];\n next.push(product);\n this.products.next(next);\n this.currentBrandID = brandID;\n this.updateCount();\n return Promise.resolve('success');\n } else {\n return Promise.reject('failed');\n }\n }\n\n getCurrentBrandID(): string {\n return this.currentBrandID;\n }\n\n getProducts(): Observable< {product: SMProductBasic, count: number}[] > {\n return this.oproducts;\n }\n\n deleteProduct(productID) {\n const next = this.products.value.filter(item => item.product.productID !== productID);\n this.products.next(next);\n this.updateCount();\n }\n\n getProductCount(): Observable {\n return this.ocount;\n }\n\n updateCount() {\n if (this.products.value.length === 0) {\n this.currentBrandID = null;\n }\n this.count.next(this.products.value.length);\n }\n\n clearCart() {\n this.currentBrandID = null;\n this.products.next(null);\n this.count.next(0);\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppOneSignalService {\n\n\n constructor(private http: HttpClient) {\n }\n\n async sendNotification(data: any) {\n const headers = {\n \"Content-Type\": \"application/json; charset=utf-8\",\n \"Authorization\": \"Basic NWI3MDM2ZDMtMjM1Ni00N2JlLTk4YzItNTQ4MzBhZTU5ZDJj\"\n };\n \n const url = 'https://onesignal.com/api/v1/notifications';\n\n var options = {\n headers: headers\n };\n this.http.post(url, data, options).subscribe( (response) => {\n console.log(response);\n });\n \n // var req = this.http.post(options, function(res) { \n // res.on('data', function(data) {\n // this.snack.openSnackBar(err.message);\"Response:\");\n // this.snack.openSnackBar(err.message);JSON.parse(data));\n // });\n // });\n \n // req.on('error', function(e) {\n // this.snack.openSnackBar(err.message);\"ERROR:\");\n // this.snack.openSnackBar(err.message);e);\n // });\n \n // req.write(JSON.stringify(data));\n // req.end();\n }\n}","import { Injectable } from \"@angular/core\";\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from \"@angular/material/snack-bar\";\nimport { Subject } from \"rxjs\";\n\n\n@Injectable()\nexport class SnackbarService {\n\n isLoading = new Subject();\n\n horizontalPosition: MatSnackBarHorizontalPosition = 'end';\n verticalPosition: MatSnackBarVerticalPosition = 'top';\n \n constructor(private _snackBar: MatSnackBar) {}\n \n openSnackBar(message: string) {\n this._snackBar.open(message, null, {\n horizontalPosition: this.horizontalPosition,\n verticalPosition: this.verticalPosition,\n duration: 5000\n });\n }\n\n show() {\n this.isLoading.next(true);\n }\n\n hide() {\n this.isLoading.next(false);\n }\n}","import { Injectable } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\n\n\n@Injectable()\nexport class SpinnerService {\n\n isLoading = new Subject();\n\n constructor() { }\n\n show() {\n this.isLoading.next(true);\n }\n\n hide() {\n this.isLoading.next(false);\n }\n}","import { createAction, props } from \"@ngrx/store\";\nimport { Error } from \"tslint/lib/error\";\nimport { FirebaseCredential } from \"../models/firebase/FirebaseCredential\";\nimport { SMBrand } from \"../models/SMBrand\";\nimport { SMBrandOwner } from \"../models/SMBrandOwner\";\n\nexport enum AppActionType {\n\n ResetState = 'RESET_STATE',\n\n LoadSemtID = 'Load semt id',\n LoadSemtIDSuccess = 'Load semt id success',\n LoadSemtIDError = 'Load semt id error',\n\n Login = 'Login to semt',\n LoginSuccess = 'Login success to semt',\n LoginError = 'Login error to semt',\n\n LoadCurrentUser = 'Load Current User',\n LoadCurrentUserSuccess = 'Load Current User success',\n LoadCurrentUserError = 'Load Current User error',\n\n LoadCurrentUserData = 'Load Current User data',\n LoadCurrentUserDataSuccess = 'Load Current User data success',\n LoadCurrentUserDataError = 'Load Current User data error',\n\n LoadCurrentBrandData = 'Load Current Brand data',\n LoadCurrentBrandDataSuccess = 'Load Current Brand data success',\n LoadCurrentBrandDataError = 'Load Current Brand data error',\n\n LoadTempBrandData = 'Load temp Brand data',\n LoadTempBrandDataSuccess = 'Load temp Brand data success',\n LoadTempBrandDataError = 'Load temp Brand data error',\n\n LoadAllBrandsData = 'Load all Brand data',\n LoadAllBrandsDataSuccess = 'Load all Brand data success',\n LoadAllBrandsDataError = 'Load all Brand data error',\n\n CreateBrandOwnerData = 'Create brand owner data',\n CreateBrandOwnerDataSuccess = 'Create brand owner data success',\n CreateBrandOwnerDataError = 'Create brand owner data error',\n\n CreateBrandOwnerFirebaseAuth = 'Create brand owner firebase auth data',\n CreateBrandOwnerFirebaseAuthSuccess = 'Create brand owner firebase auth data success',\n CreateBrandOwnerFirebaseAuthError = 'Create brand owner firebase auth data error',\n\n CreateBrandData = 'Create brand data',\n CreateBrandDataSuccess = 'Create brand data success',\n CreateBrandDataError = 'Create brand data error',\n\n UpdateBrandOwnerData = 'Update brand owner data',\n UpdateBrandOwnerDataSuccess = 'Update brand owner data success',\n UpdateBrandOwnerDataError = 'Update brand owner data error',\n\n UpdateBrandData = 'Update brand data',\n UpdateBrandDataSuccess = 'Update brand data success',\n UpdateBrandDataError = 'Update brand data error',\n\n UpdateTempBrandData = 'Update Temp brand data',\n UpdateTempBrandDataSuccess = 'Update Temp brand data success',\n UpdateTempBrandDataError = 'Update brand data error',\n\n UploadImage = 'upload image data',\n UploadImageSuccess = 'upload image data success',\n UploadImageError = 'upload image data error',\n\n LoadTempBrandOwnerData = 'Load temp brand owner data',\n LoadTempBrandOwnerDataSuccess = 'Load temp brand owner data success',\n LoadTempBrandOwnerDataError = 'Load temp brand owner data error',\n}\n\nexport const resetState = createAction(AppActionType.ResetState);\n\nexport const loadSemtID = createAction(AppActionType.LoadSemtID);\nexport const loadSemtIDSuccess = createAction(AppActionType.LoadSemtIDSuccess, props<{ semtID: string }>());\nexport const loadSemtIDSError = createAction(AppActionType.LoadSemtIDError, props<{ error: Error }>());\n\nexport const login = createAction(AppActionType.Login, props<{ username: string, password: string }>());\nexport const loginSuccess = createAction(AppActionType.LoginSuccess, props<{ credential: FirebaseCredential }>());\nexport const loginError = createAction(AppActionType.LoginError, props<{ error: Error }>());\n\nexport const loadCurrentUser = createAction(AppActionType.LoadCurrentUser);\nexport const loadCurrentUserSuccess = createAction(AppActionType.LoadCurrentUserSuccess, props<{ user: FirebaseCredential }>());\nexport const loadCurrentUserError = createAction(AppActionType.LoadCurrentUserError, props<{ error: Error }>());\n\nexport const loadCurrentUserData = createAction(AppActionType.LoadCurrentUserData, props<{ id: string }>());\nexport const loadCurrentUserDataSuccess = createAction(AppActionType.LoadCurrentUserDataSuccess, props<{ userData: SMBrandOwner }>());\nexport const loadCurrentUserDataError = createAction(AppActionType.LoadCurrentUserDataError, props<{ error: Error }>());\n\nexport const loadCurrentBrandData = createAction(AppActionType.LoadCurrentBrandData, props<{ id: string }>());\nexport const loadCurrentBrandDataSuccess = createAction(AppActionType.LoadCurrentBrandDataSuccess, props<{ brandData: SMBrand }>());\nexport const loadCurrentBrandDataError = createAction(AppActionType.LoadCurrentBrandDataError, props<{ error: Error }>());\n\nexport const loadTempBrandData = createAction(AppActionType.LoadTempBrandData, props<{ id: string }>());\nexport const loadTempBrandDataSuccess = createAction(AppActionType.LoadTempBrandDataSuccess, props<{ brandData: SMBrand }>());\nexport const loadTempBrandDataError = createAction(AppActionType.LoadTempBrandDataError, props<{ error: Error }>());\n\nexport const loadAllBrandsData = createAction(AppActionType.LoadAllBrandsData);\nexport const loadAllBrandsDataSuccess = createAction(AppActionType.LoadAllBrandsDataSuccess, props<{ brandsData: SMBrand[] }>());\nexport const loadAllBrandsDataError = createAction(AppActionType.LoadAllBrandsDataError, props<{ error: Error }>());\n\nexport const createBrandOwnerData = createAction(AppActionType.CreateBrandOwnerData, props<{ brandOwner:SMBrandOwner }>());\nexport const createBrandOwnerDataSuccess = createAction(AppActionType.CreateBrandOwnerDataSuccess, props<{ brandOwner: SMBrandOwner }>());\nexport const createBrandOwnerDataError = createAction(AppActionType.CreateBrandOwnerDataError, props<{ error: Error }>());\n\nexport const createBrandOwnerFirebaseAuth = createAction(AppActionType.CreateBrandOwnerFirebaseAuth, props<{ brandOwner:string, password: string }>());\nexport const createBrandOwnerFirebaseAuthSuccess = createAction(AppActionType.CreateBrandOwnerFirebaseAuthSuccess, props<{ cred: FirebaseCredential }>());\nexport const createBrandOwnerFirebaseAuthError = createAction(AppActionType.CreateBrandOwnerFirebaseAuthError, props<{ error: Error }>());\n\nexport const createBrandData = createAction(AppActionType.CreateBrandData, props<{ brand:SMBrand }>());\nexport const createBrandDataSuccess = createAction(AppActionType.CreateBrandDataSuccess, props<{ brand: SMBrand }>());\nexport const createBrandDataError = createAction(AppActionType.CreateBrandDataError, props<{ error: Error }>());\n\nexport const updateBrandOwnerData = createAction(AppActionType.UpdateBrandOwnerData, props<{ brandOwner:SMBrandOwner }>());\nexport const updateBrandOwnerDataSuccess = createAction(AppActionType.UpdateBrandOwnerDataSuccess, props<{ brandOwner: SMBrandOwner }>());\nexport const updateBrandOwnerDataError = createAction(AppActionType.UpdateBrandOwnerDataError, props<{ error: Error }>());\n\nexport const updateBrandData = createAction(AppActionType.UpdateBrandData, props<{ brand:SMBrand }>());\nexport const updateBrandDataSuccess = createAction(AppActionType.UpdateBrandDataSuccess);\nexport const updateBrandDataError = createAction(AppActionType.UpdateBrandDataError, props<{ error: Error }>());\n\nexport const uploadImage = createAction(AppActionType.UploadImage, props<{ file: any }>());\nexport const uploadImageSuccess = createAction(AppActionType.UploadImageSuccess, props<{ filePath: string }>());\nexport const uploadImageError = createAction(AppActionType.UploadImageError, props<{ error: Error }>());\n\nexport const loadTempBrandOwnerData = createAction(AppActionType.LoadTempBrandOwnerData, props<{ id: string }>());\nexport const loadTempBrandOwnerDataSuccess = createAction(AppActionType.LoadTempBrandOwnerDataSuccess, props<{ brandOwnerData: SMBrandOwner }>());\nexport const loadTempBrandOwnerDataError = createAction(AppActionType.LoadTempBrandOwnerDataError, props<{ error: Error }>());\n\nexport const updateTempBrandData = createAction(AppActionType.UpdateTempBrandData, props<{ brand:SMBrand }>());\nexport const updateTempBrandDataSuccess = createAction(AppActionType.UpdateTempBrandDataSuccess);\nexport const updateTempBrandDataError = createAction(AppActionType.UpdateTempBrandDataError, props<{ error: Error }>());\n\n\n\n","import { Injectable, NgZone } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { from, of } from 'rxjs';\nimport { catchError, concatMap, map } from 'rxjs/operators';\nimport { Error } from 'tslint/lib/error';\nimport { SnackbarService } from '../services/snackbar.service';\nimport * as appActions from \"./actions\";\nimport { AppServices } from './services';\n\n@Injectable()\nexport class AppEffects {\n constructor(private actions$: Actions, private appServices: AppServices, private snack: SnackbarService, private ngZone: NgZone) { }\n\n loginEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.login),\n concatMap(action =>\n from(this.appServices.login(action.username, action.password)).pipe(\n map(data => appActions.loginSuccess({ credential: data })),\n catchError((error: Error) => of(appActions.loginError({ error })))\n ))\n ));\n\n loadCurrentUserEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.loadCurrentUser),\n concatMap(action =>\n from(this.appServices.loadCurrentUser()).pipe(\n map(data => appActions.loadCurrentUserSuccess({ user: data })),\n catchError((error: Error) => of(appActions.loadCurrentUserError({ error })))\n ))\n ));\n\n loadCurrentUserDataEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.loadCurrentUserData),\n concatMap(action =>\n from(this.appServices.loadCurrentUserData(action.id)).pipe(\n map(data => appActions.loadCurrentUserDataSuccess({ userData: data })),\n catchError((error: Error) => of(appActions.loadCurrentUserDataError({ error })))\n ))\n ));\n\n loadTempBrandOwnerDataEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.loadTempBrandOwnerData),\n concatMap(action =>\n from(this.appServices.loadTempBrandOwnerData(action.id)).pipe(\n map(data => appActions.loadTempBrandOwnerDataSuccess({ brandOwnerData: data })),\n catchError((error: Error) => of(appActions.loadTempBrandOwnerDataError({ error })))\n ))\n ));\n\n loadCurrentUserSuccessEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.loadCurrentUserSuccess),\n concatMap(action =>\n from(this.appServices.loadCurrentUserData(action.user.user.uid)).pipe(\n map(data => this.ngZone.run(() =>appActions.loadCurrentUserDataSuccess({ userData: data }))),\n catchError((error: Error) => of(appActions.loadCurrentUserDataError({ error })))\n ))\n ));\n\n loginSuccessEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.loginSuccess),\n concatMap(action =>\n from(this.appServices.loadCurrentUserData(action.credential.user.uid)).pipe(\n map(data => this.ngZone.run(() =>appActions.loadCurrentUserDataSuccess({ userData: data }))),\n catchError((error: Error) => of(appActions.loadCurrentUserDataError({ error })))\n ))\n ));\n\n loadCurrentBrandDataEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.loadCurrentBrandData),\n concatMap(action =>\n from(this.appServices.loadCurrentBrandData(action.id)).pipe(\n map(data => appActions.loadCurrentBrandDataSuccess({ brandData: data })),\n catchError((error: Error) => of(appActions.loadCurrentBrandDataError({ error })))\n ))\n ));\n\n loadTempBrandDataEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.loadTempBrandData),\n concatMap(action =>\n from(this.appServices.loadCurrentBrandData(action.id)).pipe(\n map(data => appActions.loadTempBrandDataSuccess({ brandData: data })),\n catchError((error: Error) => of(appActions.loadTempBrandDataError({ error })))\n ))\n ));\n\n loadAllBrandsData = createEffect(() => this.actions$.pipe(\n ofType(appActions.loadAllBrandsData),\n concatMap(action =>\n from(this.appServices.loadAllBrandData()).pipe(\n map(data => appActions.loadAllBrandsDataSuccess({ brandsData: data })),\n catchError((error: Error) => of(appActions.loadAllBrandsDataError({ error })))\n ))\n ));\n\n createBrandOwnerEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.createBrandOwnerData),\n concatMap(action =>\n from(this.appServices.createBrandOwner(action.brandOwner)).pipe(\n map(data => appActions.createBrandOwnerDataSuccess({ brandOwner: data })),\n catchError((error: Error) => of(appActions.createBrandOwnerDataError({ error })))\n ))\n ));\n\n createBrandOwnerFireCredEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.createBrandOwnerFirebaseAuth),\n concatMap(action =>\n from(this.appServices.createBrandOwnerFirebaseAuth(action.brandOwner, action.password)).pipe(\n map(data => appActions.createBrandOwnerFirebaseAuthSuccess({ cred: data })),\n catchError((error: Error) => of(appActions.createBrandOwnerFirebaseAuthError({ error })))\n ))\n ));\n\n createBrandEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.createBrandData),\n concatMap(action =>\n from(this.appServices.createBrand(action.brand)).pipe(\n map(data => appActions.createBrandDataSuccess({ brand: data })),\n catchError((error: Error) => of(appActions.createBrandDataError({ error })))\n ))\n ));\n\n updateBrandOwnerEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.updateBrandOwnerData),\n concatMap(action =>\n from(this.appServices.updateBrandOwner(action.brandOwner)).pipe(\n map(data => appActions.updateBrandOwnerDataSuccess({ brandOwner: data })),\n catchError((error: Error) => of(appActions.updateBrandOwnerDataError({ error })))\n ))\n ));\n\n updateBrandEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.updateBrandData),\n concatMap(action =>\n from(this.appServices.updateBrand(action.brand)).pipe(\n map(data => appActions.updateBrandDataSuccess()),\n catchError((error: Error) => of(appActions.updateBrandDataError({ error })))\n ))\n ));\n\n updateTempBrandEffect = createEffect(() => this.actions$.pipe(\n ofType(appActions.updateTempBrandData),\n concatMap(action =>\n from(this.appServices.updateBrand(action.brand)).pipe(\n map(data => appActions.updateTempBrandDataSuccess()),\n catchError((error: Error) => of(appActions.updateTempBrandDataError({ error })))\n ))\n ));\n\n\n}","import { Injectable, NgZone } from \"@angular/core\";\nimport { select, Store } from \"@ngrx/store\";\nimport { AppPartialState } from \"./reducers\";\nimport { appQuery } from \"./selectors\";\nimport * as appActions from \"./actions\";\nimport { SMBrandOwner } from \"../models/SMBrandOwner\";\nimport { SMBrand } from \"../models/SMBrand\";\n\n@Injectable()\nexport class AppFacade {\n\n getSemtID$ = this.store.pipe(select(appQuery.getSemtID));\n getCredential$ = this.store.pipe(select(appQuery.getCredential));\n getUserData$ = this.store.pipe(select(appQuery.getUserData));\n getBrandData$ = this.store.pipe(select(appQuery.getBrandData));\n getNewBrandOwner$ = this.store.pipe(select(appQuery.getNewBrandOwnerData));\n getNewBrandOwnerCred$ = this.store.pipe(select(appQuery.getNewBrandOwnerCred));\n getNewBrandData$ = this.store.pipe(select(appQuery.getNewBrandData));\n getAllBrandsData$ = this.store.pipe(select(appQuery.getAllBrands));\n getTempBrandOwnerData$ = this.store.pipe(select(appQuery.getTempBrandOwnerData));\n\n constructor(private store: Store) { }\n\n resetState() {\n this.store.dispatch(appActions.resetState());\n }\n\n changeSemtID(newID) {\n this.store.dispatch(appActions.loadSemtIDSuccess({ semtID: newID }));\n }\n\n login(email: string, password: string) {\n this.store.dispatch(appActions.login({ username: email, password }));\n }\n\n loadCurrentUser() {\n this.store.dispatch(appActions.loadCurrentUser());\n }\n\n loadCurrentUserData(id: string) {\n this.store.dispatch(appActions.loadCurrentUserData({ id }));\n }\n\n loadCurrentBrandData(brandOwner: SMBrandOwner) {\n this.store.dispatch(appActions.loadCurrentBrandData({ id: brandOwner.brandID })); \n }\n\n loadAllBrands() {\n this.store.dispatch(appActions.loadAllBrandsData());\n }\n\n loadTempBrandOwnerData(id : string) {\n this.store.dispatch(appActions.loadTempBrandOwnerData({ id }));\n }\n\n loadTempBrandData(brandOwner: SMBrandOwner) {\n this.store.dispatch(appActions.loadTempBrandData({ id: brandOwner.brandID })); \n }\n\n createBrandOwnerOwnerCred(brandOwner: string, password: string) {\n this.store.dispatch(appActions.createBrandOwnerFirebaseAuth({ brandOwner, password }));\n }\n\n createBrandOwner(brandOwner: SMBrandOwner) {\n this.store.dispatch(appActions.createBrandOwnerData({ brandOwner }));\n }\n\n createBrand(brand: SMBrand) {\n this.store.dispatch(appActions.createBrandData({ brand }));\n }\n\n updateBrandOwner(brandOwner: SMBrandOwner) {\n this.store.dispatch(appActions.updateBrandOwnerData({brandOwner}));\n }\n\n updateBrand(brand:SMBrand) {\n this.store.dispatch(appActions.updateBrandData({brand}));\n }\n\n updateTempBrand(brand: SMBrand) {\n this.store.dispatch(appActions.updateTempBrandData({brand}));\n }\n\n uploadImage(file: any) {\n this.store.dispatch(appActions.uploadImage({file}));\n }\n}\n","import {\n Action,\n createReducer,\n on\n} from '@ngrx/store';\nimport { environment } from '../../environments/environment';\nimport { FirebaseCredential } from '../models/firebase/FirebaseCredential';\nimport { SMBrand } from '../models/SMBrand';\nimport { SMBrandOwner } from '../models/SMBrandOwner';\nimport { createBrandDataSuccess, createBrandOwnerDataSuccess, createBrandOwnerFirebaseAuthSuccess, loadAllBrandsDataSuccess, loadCurrentBrandDataSuccess, loadCurrentUserDataSuccess, loadCurrentUserSuccess, loadSemtIDSuccess, loadTempBrandData, loadTempBrandDataSuccess, loadTempBrandOwnerDataSuccess, loginSuccess, resetState, updateBrandDataSuccess, updateBrandOwnerData, updateBrandOwnerDataSuccess, updateTempBrandDataSuccess, uploadImageSuccess } from './actions';\n\nexport const APP_FEATURE_KEY = 'app'\n\nexport interface AppState {\n semtID: string;\n credential: FirebaseCredential;\n userData: SMBrandOwner;\n brandData: SMBrand;\n newBrandOwner: SMBrandOwner;\n newBrandOwnerCred: FirebaseCredential;\n newBrand: SMBrand;\n newFileUrl: string;\n allBrands: SMBrand[];\n tempBrandOwnerData: SMBrandOwner;\n tempBrandData: SMBrand;\n}\n\nexport interface AppPartialState {\n readonly [APP_FEATURE_KEY]: AppState;\n}\n\nexport const appInitialState: AppState = {\n semtID: environment.semtID,\n credential: null,\n userData: null,\n brandData: null,\n newBrandOwner: null,\n newBrandOwnerCred: null,\n newBrand: null,\n newFileUrl: null,\n allBrands: [],\n tempBrandOwnerData: null,\n tempBrandData: null\n}\n\nexport const AppReducer = createReducer(\n appInitialState,\n\n on(resetState, (state, payload) => ({\n ...appInitialState\n })),\n\n on(loadSemtIDSuccess, (state, payload) => ({\n ...state,\n semtID: payload.semtID\n })),\n\n on(loginSuccess, (state, payload) => ({\n ...state,\n credential: payload.credential\n })),\n\n on(loadCurrentUserSuccess, (state, payload) => ({\n ...state,\n credential: payload.user\n })),\n\n on(loadCurrentUserDataSuccess, (state, payload) => ({\n ...state,\n userData: payload.userData,\n semtID: payload.userData.semtID\n })),\n\n on(loadCurrentBrandDataSuccess, (state, payload) => ({\n ...state,\n brandData: payload.brandData\n })),\n\n on(loadTempBrandDataSuccess, (state, payload) => ({\n ...state,\n tempBrandData: payload.brandData\n })),\n\n on(createBrandOwnerDataSuccess, (state, payload) => ({\n ...state,\n newBrandOwner: payload.brandOwner\n })),\n\n on(createBrandDataSuccess, (state, payload) => ({\n ...state,\n newBrand: payload.brand\n })),\n\n on(createBrandOwnerFirebaseAuthSuccess, (state, payload) => ({\n ...state,\n newBrandOwnerCred: payload.cred\n })),\n\n on(updateBrandOwnerDataSuccess, (state, payload) => ({\n ...state,\n userData: payload.brandOwner\n })),\n\n on(uploadImageSuccess, (state, payload) => ({\n ...state,\n newFileUrl: payload.filePath\n })),\n on(loadAllBrandsDataSuccess, (state, payload) => ({\n ...state,\n allBrands: payload.brandsData\n })),\n\n on(loadTempBrandOwnerDataSuccess, (state, payload) => ({\n ...state,\n tempBrandOwnerData: payload.brandOwnerData\n }))\n);\n\nexport function appReducer(state: AppState | undefined, action: Action): AppState {\n return AppReducer(state, action);\n}\n","import { createFeatureSelector, createSelector } from \"@ngrx/store\";\nimport { AppState, APP_FEATURE_KEY } from \"./reducers\";\n\nconst getAppState = createFeatureSelector(APP_FEATURE_KEY);\n\nconst getSemtIDFromState = createSelector(\n getAppState,\n (state: AppState) => state.semtID\n);\n\nconst getCredentialFromStore = createSelector(\n getAppState,\n (state: AppState) => state.credential\n);\n\nconst getUserDataFromStore = createSelector(\n getAppState,\n (state: AppState) => state.userData\n);\n\nconst getBrandDataFromStore = createSelector(\n getAppState,\n (state: AppState) => state.brandData\n);\n\nconst getNewBrandOwnerDataFromStore = createSelector(\n getAppState,\n (state: AppState) => state.newBrandOwner\n);\n\nconst getNewBrandDataFromStore = createSelector(\n getAppState,\n (state: AppState) => state.newBrand\n);\n\nconst getNewBrandOwnerCredFromStore = createSelector(\n getAppState,\n (state: AppState) => state.newBrandOwnerCred\n);\n\nconst getNewFileUrlFromStore = createSelector(\n getAppState,\n (state: AppState) => state.newFileUrl\n);\n\nconst getAllBrandsFromStore = createSelector(\n getAppState,\n (state: AppState) => state.allBrands\n);\n\nconst getTempBrandOwnerDataFromStore = createSelector(\n getAppState,\n (state: AppState) => state.tempBrandOwnerData\n);\n\nconst getTempBrandDataFromStore = createSelector(\n getAppState,\n (state: AppState) => state.tempBrandData\n);\n\nexport const appQuery = {\n getSemtID: getSemtIDFromState,\n getCredential: getCredentialFromStore,\n getUserData: getUserDataFromStore,\n getBrandData: getBrandDataFromStore,\n getNewBrandOwnerData: getNewBrandOwnerDataFromStore,\n getNewBrandData: getNewBrandDataFromStore,\n getNewBrandOwnerCred: getNewBrandOwnerCredFromStore,\n getNewFileUrl: getNewFileUrlFromStore,\n getAllBrands: getAllBrandsFromStore,\n getTempBrandOwnerData: getTempBrandOwnerDataFromStore,\n getTempBrandData: getTempBrandDataFromStore\n}","import { Injectable } from \"@angular/core\";\nimport { FirebaseCredential } from \"../models/firebase/FirebaseCredential\";\nimport { SMBrand } from \"../models/SMBrand\";\nimport { SMBrandOwner } from \"../models/SMBrandOwner\";\nimport { AppAuthService } from \"../services/auth.service\";\nimport { BrandOwnerService } from \"../services/crud/brand-owner.service\";\nimport { BrandService } from \"../services/crud/brand.service\";\n\n@Injectable()\nexport class AppServices {\n\n constructor(private authService: AppAuthService, private brandOwnerService: BrandOwnerService, private brandService: BrandService) { }\n\n async login(username: string, password: string): Promise {\n return await this.authService.signInWithCredentials(username, password);\n }\n\n async loadCurrentUser(): Promise {\n return await this.authService.loadCurrentUser();\n }\n\n async loadCurrentUserData(id: string): Promise {\n return await this.brandOwnerService.getOwnerFromFirebaseWithId(id);\n }\n\n async loadCurrentBrandData(id: string): Promise {\n return await this.brandService.getBrandFromFirebase(id);\n }\n\n async loadAllBrandData() {\n return await this.brandService.getAllBrands();\n }\n\n async createBrandOwnerFirebaseAuth(brandOwner: string, password: string): Promise{\n return await this.authService.createUserEmailAndPassword(brandOwner, password);\n }\n\n async createBrandOwner(brandOwner: SMBrandOwner): Promise {\n return await this.brandOwnerService.createOwner(brandOwner);\n }\n\n async createBrand(newBrand: SMBrand): Promise {\n return await this.brandService.createBrand(newBrand);\n }\n\n async updateBrandOwner(brandOwner: SMBrandOwner): Promise {\n const result = await this.brandOwnerService.updateOwner(brandOwner);\n\n if(result) {\n return await this.loadCurrentUserData(brandOwner.id);\n }\n \n return {...brandOwner}\n \n }\n\n async loadTempBrandOwnerData(brandID): Promise {\n\n return await this.brandOwnerService.getBrandOwnerWithBrandID(brandID);\n }\n \n async updateBrand(brand: SMBrand): Promise {\n const result = await this.brandService.updateBrand(brand);\n }\n}","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n firebase: {\n apiKey: \"AIzaSyBEyTmVzBJEmsKoxuHN9VTKu1eB37vKt9s\",\n authDomain: \"semt-aydos.firebaseapp.com\",\n projectId: \"semt-aydos\",\n storageBucket: \"semt-aydos.appspot.com\",\n messagingSenderId: \"541525386810\",\n appId: \"1:541525386810:web:36b1e525a0ba5a267bb703\",\n measurementId: \"G-TFG5ZPYS89\"\n },\n semtID: 'aydos-country'\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":[],"sourceRoot":"webpack:///"}