{"version":3,"mappings":"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","names":["e","webpackEmptyAsyncContext","module","routes","path","loadChildren","Promise","then","m","HomeModule","LoginModule","redirectTo","pathMatch","AppRoutingModule","_angular_router__WEBPACK_IMPORTED_MODULE_1__","enableTracing","useHash","relativeLinkResolution","imports","exports","_angular_core__WEBPACK_IMPORTED_MODULE_2__","AppComponent","facade","fireAuth","firestore","spinnerService","zone","router","getSemtID$","isLoading","onAuthStateChanged","user","run","loadCurrentUser","setTimeout","getCredential$","subscribe","data","navigate","selectors","decls","vars","consts","template","AppModule","bootstrap","_app_component__WEBPACK_IMPORTED_MODULE_1__","_store_facade__WEBPACK_IMPORTED_MODULE_6__","_store_services__WEBPACK_IMPORTED_MODULE_7__","_services_spinner_service__WEBPACK_IMPORTED_MODULE_8__","_services_snackbar_service__WEBPACK_IMPORTED_MODULE_9__","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_11__","_app_routing_module__WEBPACK_IMPORTED_MODULE_0__","_services_app_service_module__WEBPACK_IMPORTED_MODULE_2__","_angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_12__","_angular_material_progress_spinner__WEBPACK_IMPORTED_MODULE_13__","_angular_material_snack_bar__WEBPACK_IMPORTED_MODULE_14__","_ngrx_effects__WEBPACK_IMPORTED_MODULE_15__","_store_effects__WEBPACK_IMPORTED_MODULE_4__","_ngrx_router_store__WEBPACK_IMPORTED_MODULE_16__","_ngrx_store__WEBPACK_IMPORTED_MODULE_17__","app","_store_reducers__WEBPACK_IMPORTED_MODULE_5__","initialState","runtimeChecks","strictActionWithinNgZone","_environments_environment__WEBPACK_IMPORTED_MODULE_3__","_ngrx_store_devtools__WEBPACK_IMPORTED_MODULE_18__","maxAge","logOnly","declarations","SMTimeSlotStatus","SMReservationSlots","code","count","AppFirebaseModule","_angular_fire__WEBPACK_IMPORTED_MODULE_2__","_environments_environment__WEBPACK_IMPORTED_MODULE_0__","_angular_fire_auth__WEBPACK_IMPORTED_MODULE_3__","_angular_fire_firestore__WEBPACK_IMPORTED_MODULE_4__","_angular_fire_storage__WEBPACK_IMPORTED_MODULE_5__","AppServiceModule","_flows_login_flow_service__WEBPACK_IMPORTED_MODULE_0__","_crud_base_firestore_service__WEBPACK_IMPORTED_MODULE_4__","_crud_user_service__WEBPACK_IMPORTED_MODULE_1__","_crud_semt_service__WEBPACK_IMPORTED_MODULE_3__","_crud_brand_service__WEBPACK_IMPORTED_MODULE_5__","_flows_create_order_flow_service__WEBPACK_IMPORTED_MODULE_6__","_flows_my_cart_flow_service__WEBPACK_IMPORTED_MODULE_7__","_crud_brand_owner_service__WEBPACK_IMPORTED_MODULE_8__","_crud_order_service__WEBPACK_IMPORTED_MODULE_9__","_onesignal_service__WEBPACK_IMPORTED_MODULE_10__","_app_firebase_module__WEBPACK_IMPORTED_MODULE_2__","_angular_common_http__WEBPACK_IMPORTED_MODULE_12__","secondaryApp","AppAuthService","snack","credential","signInWithCredential","username","password","signInWithEmailAndPassword","fireUser","email","emailVerified","isAnonymous","phoneNumber","photoURL","refreshToken","uid","fireCredential","resolve","openSnackBar","message","config","src_environments_environment__WEBPACK_IMPORTED_MODULE_1__","firebase_app__WEBPACK_IMPORTED_MODULE_0__","auth","createUserWithEmailAndPassword","signOut","newPassword","currentUser","updatePassword","_angular_core__WEBPACK_IMPORTED_MODULE_4__","factory","providedIn","BaseFirestoreService","record","collectionName","collection","add","snapshotChanges","recordID","doc","docRef","get","toPromise","update","BrandOwnerService","base","rxjs__WEBPACK_IMPORTED_MODULE_1__","ownerData","asObservable","ownerIDData","oOwnerID","id","next","oOwner","owner","getOwnerFromFirebase","getDocRef","value","COLLECTION_NAME","getDoc","exists","Object","assign","brandID","getFirestore","ref","where","valueChanges","idField","updateRecord","result","set","refData","refStr","_angular_core__WEBPACK_IMPORTED_MODULE_3__","BrandService","userService","brandIDList","indexOf","brandList","getBrandFromFirebase","push","getCollectionRef","brand","order","orders","getUser","updateUser","date","slotRef","getDate","getMonth","getFullYear","slotDoc","generateTimeSlots","slots","src_app_models_SMReservationSlots__WEBPACK_IMPORTED_MODULE_0__","forEach","item","reservationDate","reservationHour","customerNote","status","i","length","slot","end","start","src_app_enums_SMTimeSlotStatus__WEBPACK_IMPORTED_MODULE_1__","comment","comments","newBrand","createRecord","recordRef","split","reject","_angular_core__WEBPACK_IMPORTED_MODULE_5__","OrderService","SemtService","semtID","currentSemtDocRef","semt","getSemtFromFirebase","UserService","userData","userIDdata","userID","userDocRef","oUser","getUserFromFirebase","setUser","CreateOrderFlowService","brandService","brandData","createOrderRequest","getTimeSLots","LoginFlowService","rxjs__WEBPACK_IMPORTED_MODULE_0__","credentialData","MyCartFlowService","products","product","currentBrandID","isProductFound","element","productID","updateCount","oproducts","filter","ocount","AppOneSignalService","http","headers","url","options","post","response","console","log","_angular_core__WEBPACK_IMPORTED_MODULE_1__","SnackbarService","_snackBar","open","horizontalPosition","verticalPosition","duration","SpinnerService","AppActionType","resetState","ResetState","loadSemtID","LoadSemtID","loadSemtIDSuccess","LoadSemtIDSuccess","loadSemtIDSError","LoadSemtIDError","login","Login","loginSuccess","LoginSuccess","loginError","LoginError","LoadCurrentUser","loadCurrentUserSuccess","LoadCurrentUserSuccess","loadCurrentUserError","LoadCurrentUserError","loadCurrentUserData","LoadCurrentUserData","loadCurrentUserDataSuccess","LoadCurrentUserDataSuccess","loadCurrentUserDataError","LoadCurrentUserDataError","loadCurrentBrandData","LoadCurrentBrandData","loadCurrentBrandDataSuccess","LoadCurrentBrandDataSuccess","loadCurrentBrandDataError","LoadCurrentBrandDataError","loadTempBrandData","LoadTempBrandData","loadTempBrandDataSuccess","LoadTempBrandDataSuccess","loadTempBrandDataError","LoadTempBrandDataError","loadAllBrandsData","LoadAllBrandsData","loadAllBrandsDataSuccess","LoadAllBrandsDataSuccess","loadAllBrandsDataError","LoadAllBrandsDataError","createBrandOwnerData","CreateBrandOwnerData","createBrandOwnerDataSuccess","CreateBrandOwnerDataSuccess","createBrandOwnerDataError","CreateBrandOwnerDataError","createBrandOwnerFirebaseAuth","CreateBrandOwnerFirebaseAuth","createBrandOwnerFirebaseAuthSuccess","CreateBrandOwnerFirebaseAuthSuccess","createBrandOwnerFirebaseAuthError","CreateBrandOwnerFirebaseAuthError","createBrandData","CreateBrandData","createBrandDataSuccess","CreateBrandDataSuccess","createBrandDataError","CreateBrandDataError","updateBrandOwnerData","UpdateBrandOwnerData","updateBrandOwnerDataSuccess","UpdateBrandOwnerDataSuccess","updateBrandOwnerDataError","UpdateBrandOwnerDataError","updateBrandData","UpdateBrandData","updateBrandDataSuccess","UpdateBrandDataSuccess","updateBrandDataError","UpdateBrandDataError","uploadImage","UploadImage","uploadImageSuccess","UploadImageSuccess","uploadImageError","UploadImageError","loadTempBrandOwnerData","LoadTempBrandOwnerData","loadTempBrandOwnerDataSuccess","LoadTempBrandOwnerDataSuccess","loadTempBrandOwnerDataError","LoadTempBrandOwnerDataError","updateTempBrandData","UpdateTempBrandData","updateTempBrandDataSuccess","UpdateTempBrandDataSuccess","updateTempBrandDataError","UpdateTempBrandDataError","AppEffects","actions$","appServices","ngZone","pipe","_actions__WEBPACK_IMPORTED_MODULE_0__","action","error","brandOwnerData","loadAllBrandData","brandsData","createBrandOwner","brandOwner","cred","createBrand","updateBrandOwner","updateBrand","_angular_core__WEBPACK_IMPORTED_MODULE_9__","AppFacade","store","_selectors__WEBPACK_IMPORTED_MODULE_0__","dispatch","_actions__WEBPACK_IMPORTED_MODULE_1__","newID","file","APP_FEATURE_KEY","appInitialState","newBrandOwner","newBrandOwnerCred","newFileUrl","allBrands","tempBrandOwnerData","tempBrandData","AppReducer","state","payload","filePath","appReducer","getAppState","_reducers__WEBPACK_IMPORTED_MODULE_0__","getSemtIDFromState","getCredentialFromStore","getUserDataFromStore","getBrandDataFromStore","getNewBrandOwnerDataFromStore","getNewBrandDataFromStore","getNewBrandOwnerCredFromStore","getNewFileUrlFromStore","getAllBrandsFromStore","getTempBrandOwnerDataFromStore","getTempBrandDataFromStore","appQuery","getSemtID","getCredential","getUserData","getBrandData","getNewBrandOwnerData","getNewBrandData","getNewBrandOwnerCred","getNewFileUrl","getAllBrands","getTempBrandOwnerData","getTempBrandData","AppServices","authService","brandOwnerService","signInWithCredentials","getOwnerFromFirebaseWithId","createUserEmailAndPassword","createOwner","updateOwner","getBrandOwnerWithBrandID","environment","production","firebase","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","_environments_environment__WEBPACK_IMPORTED_MODULE_1__","_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__","bootstrapModule","_app_app_module__WEBPACK_IMPORTED_MODULE_0__","err"],"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions:%20%7B%7D|namespace%20object","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/enums/SMTimeSlotStatus.ts","webpack:///src/app/models/SMReservationSlots.ts","webpack:///src/app/services/app-firebase.module.ts","webpack:///src/app/services/app-service.module.ts","webpack:///src/app/services/auth.service.ts","webpack:///src/app/services/crud/base-firestore.service.ts","webpack:///src/app/services/crud/brand-owner.service.ts","webpack:///src/app/services/crud/brand.service.ts","webpack:///src/app/services/crud/order.service.ts","webpack:///src/app/services/crud/semt.service.ts","webpack:///src/app/services/crud/user.service.ts","webpack:///src/app/services/flows/create-order-flow.service.ts","webpack:///src/app/services/flows/login-flow.service.ts","webpack:///src/app/services/flows/my-cart-flow.service.ts","webpack:///src/app/services/onesignal.service.ts","webpack:///src/app/services/snackbar.service.ts","webpack:///src/app/services/spinner.service.ts","webpack:///src/app/store/actions.ts","webpack:///src/app/store/effects.ts","webpack:///src/app/store/facade.ts","webpack:///src/app/store/reducers.ts","webpack:///src/app/store/selectors.ts","webpack:///src/app/store/services.ts","webpack:///src/environments/environment.ts","webpack:///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","\n\n\n
\n \n
\n\n\n
\n \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","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"]}