{"version":3,"sources":["webpack:///src/app/@core/mock/country-order.service.ts","webpack:///src/app/@theme/components/logout/logout.component.ts","webpack:///src/app/@theme/components/logout/logout.component.html","webpack:///src/app/@theme/pipes/filter-location.pipe.ts","webpack:///src/app/@theme/pipes/index.ts","webpack:///src/app/pages/home/home.component.ts","webpack:///src/app/pages/home/home.component.html","webpack:///src/app/@core/mock/traffic-list.service.ts","webpack:///src/app/@core/data/temperature-humidity.ts","webpack:///src/app/@core/data/profit-chart.ts","webpack:///src/app/@core/utils/layout.service.ts","webpack:///src/app/@core/mock/traffic-bar.service.ts","webpack:///src/app/@theme/layouts/three-columns/three-columns.layout.ts","webpack:///src/app/@core/mock/orders-profit-chart.service.ts","webpack:///src/app/@core/data/electricity.ts","webpack:///src/app/@core/data/traffic-bar.ts","webpack:///src/app/@theme/pipes/plural.pipe.ts","webpack:///src/app/@theme/pipes/round.pipe.ts","webpack:///src/app/@core/data/stats-bar.ts","webpack:///src/app/@theme/pipes/filter-status.pipe.ts","webpack:///src/app/@core/mock/user-activity.service.ts","webpack:///src/environments/environment.ts","webpack:///src/app/@core/mock/stats-progress-bar.service.ts","webpack:///src/app/@theme/layouts/two-columns/two-columns.layout.ts","webpack:///src/app/@core/utils/analytics.service.ts","webpack:///src/app/services/user/user.service.ts","webpack:///src/app/@theme/pipes/filter-stations.pipe.ts","webpack:///src/app/@core/data/country-order.ts","webpack:///src/app/@core/mock/profit-bar-animation-chart.service.ts","webpack:///src/app/@core/data/traffic-list.ts","webpack:///src/app/@core/mock/solar.service.ts","webpack:///src/app/@core/data/earning.ts","webpack:///src/app/@core/mock/profit-chart.service.ts","webpack:///src/app/@core/mock/visitors-analytics.service.ts","webpack:///src/app/@theme/components/search-input/search-input.component.ts","webpack:///src/app/@theme/components/header/header.component.ts","webpack:///src/app/@theme/components/header/header.component.html","webpack:///src/app/@core/data/orders-profit-chart.ts","webpack:///src/app/@core/module-import-guard.ts","webpack:///src/app/auth/auth0.config.ts","webpack:///src/app/services/logs/console.service.ts","webpack:///src/app/auth/auth.guard.ts","webpack:///src/app/@core/mock/orders-chart.service.ts","webpack:///src/app/@core/data/orders-chart.ts","webpack:///src/app/pages/home/landing-page/landing-page.component.ts","webpack:///src/app/pages/home/landing-page/landing-page.component.html","webpack:///src/app/@theme/components/footer/footer.component.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/services/export/smartbill.service.ts","webpack:///src/app/@core/core.module.ts","webpack:///src/app/@core/mock/stats-bar.service.ts","webpack:///src/app/@core/utils/state.service.ts","webpack:///src/app/app.module.ts","webpack:///src/app/services/logs/log.service.ts","webpack:///src/app/services/PlugpointEnvironment.ts","webpack:///src/app/@core/utils/player.service.ts","webpack:///src/app/services/discounts/discounts.service.ts","webpack:///src/app/@core/mock/earning.service.ts","webpack:///src/app/@core/data/traffic-chart.ts","webpack:///src/app/@core/utils/seo.service.ts","webpack:///src/app/@core/mock/smart-table.service.ts","webpack:///src/app/@core/data/visitors-analytics.ts","webpack:///src/app/@core/mock/temperature-humidity.service.ts","webpack:///src/app/@core/data/security-cameras.ts","webpack:///src/app/@theme/styles/theme.default.ts","webpack:///src/app/auth/roles.provider.ts","webpack:///src/app/services/dealer/dealer.service.ts","webpack:///src/app/@theme/components/index.ts","webpack:///src/app/@core/mock/security-cameras.service.ts","webpack:///src/app/@theme/layouts/one-column/one-column.layout.ts","webpack:///src/app/@core/data/profit-bar-animation-chart.ts","webpack:///src/app/@core/data/solar.ts","webpack:///src/app/auth/auth.service.ts","webpack:///src/app/pages/home/components/home-content/home-content.component.ts","webpack:///src/app/pages/home/components/home-content/home-content.component.html","webpack:///src/app/@theme/pipes/timing.pipe.ts","webpack:///src/app/@theme/pipes/capitalize.pipe.ts","webpack:///src/app/@core/data/smart-table.ts","webpack:///src/app/services/stations/stations.service.ts","webpack:///src/app/@core/data/users.ts","webpack:///src/app/@core/mock/users.service.ts","webpack:///src/app/@core/mock/traffic-chart.service.ts","webpack:///src/app/@core/mock/mock-data.module.ts","webpack:///src/app/@core/data/user-activity.ts","webpack:///src/app/@theme/pipes/number-with-commas.pipe.ts","webpack:///src/app/@core/data/stats-progress-bar.ts","webpack:///src/app/@theme/layouts/index.ts","webpack:///src/app/@core/utils/index.ts","webpack:///src/app/@theme/theme.module.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/@core/mock/electricity.service.ts","webpack:///src/app/services/car/car.service.ts","webpack:///src/app/@core/mock/periods.service.ts","webpack:///src/main.ts","webpack:///$_lazy_route_resource lazy namespace object"],"names":["CountryOrderService","countriesCategories","countriesCategoriesLength","length","nPoints","Array","from","map","Math","round","random","country","generateRandomData","LogoutComponent","auth","logout","selector","templateUrl","styleUrls","FilterLocationPipe","items","searchText","object","toLowerCase","finalItems","waitForCode","Promise","resolve","reject","stations","filter","item","stationVendor","forEach","station","index","console","log","locationName","includes","push","then","JSON","stringify","name","HomeComponent","TrafficListService","period","getRandom","roundTo","data","week","getDataWeek","month","getDataMonth","year","getDataYear","getFirstDateInPeriod","weeks","getWeeks","reduceData","months","getMonths","years","getYears","parseInt","timePeriods","reduce","result","timePeriod","hasResult","prevDate","comparison","nextDate","prevValue","nextValue","deltaValue","date","value","delta","up","abs","TemperatureHumidityData","ProfitChartData","LayoutService","layoutSize$","layoutSizeChange$","pipe","refCount","next","TrafficBarService","getDataForWeekPeriod","getDataForMonthPeriod","getDataForYearPeriod","labels","formatter","ThreeColumnsLayoutComponent","template","OrdersProfitChartService","ordersChartService","profitChartService","summary","title","getOrdersChartData","getProfitChartData","ElectricityData","TrafficBarData","PluralPipe","input","label","pluralLabel","RoundPipe","StatsBarData","FilterStatusPipe","it","bestStatus","UserActivityService","periods","pagesVisitCount","deltaUp","newVisits","generateUserActivityRandomData","currentDate","Date","days","getDate","getMonth","_","environment","production","StatsProgressBarService","progressInfoData","activeProgress","description","TwoColumnsLayoutComponent","AnalyticsService","location","router","enabled","events","event","subscribe","ga","hitType","page","path","eventName","httpOptions","headers","UserService","http","url","token","guid","endpoint","fetch","method","body","response","ok","get","Authorization","create","toString","json","categories","posId","sessionId","SessionId","userId","phoneNumber","encodedData","btoa","post","username","ip","phone","active","invoiceName","newEndpoint","split","text","send","parse","dataBody","command","userName","stationId","userEmail","usersPayDataId","user","transactionId","vendor","dateChecker","startDate","endDate","cif","companyName","fullName","operation","error","NoCacheHeadersInterceptor","req","authReq","clone","setHeaders","Pragma","handle","FilterStationsPipe","stationName","CountryOrderData","ProfitBarAnimationChartService","firstLine","getDataForFirstLine","secondLine","getDataForSecondLine","createEmptyArray","oneFifth","sin","cos","TrafficListData","SolarService","EarningData","ProfitChartService","nPoint","chartLabel","getRandomData","VisitorsAnalyticsService","periodService","pieChartValue","innerLinePoints","outerLinePoints","outerLinePointsLength","monthsLength","p","monthIndex","generateOutlineLineData","SearchInputComponent","search","isInputShown","nativeElement","focus","val","emit","showInput","hideInput","onInput","HeaderComponent","sidebarService","menuService","themeService","layoutService","breakpointService","accessChecker","destroy$","userPictureOnly","showTitle","currentTheme","userMenu","link","isCollapsed","faUser","faPowerOff","userProfile$","profiles","profile","getBreakpointsMap","xl","onMediaQueryChange","currentBreakpoint","width","isLessThanXl","onThemeChange","themeName","complete","changeTheme","toggle","changeLayoutSize","navigate","access","navigateHome","OrdersProfitChartData","throwIfAlreadyLoaded","parentModule","moduleName","Error","AUTH_CONFIG","clientID","clientId","domain","domainAPI","packageIdentifier","audience","client_secret","ConsoleToggleService","consoleLog","consoleDisabled","warn","debug","info","setTimeout","disableConsoleInProduction","providedIn","AuthGuard","state","isAuthenticated$","loggedIn","OrdersChartService","getDataLabels","linesData","labelsArray","labelsArrayLength","step","dataIndex","OrdersChartData","LandingPageComponent","FooterComponent","AppComponent","iconLibraries","consoleToggleService","registerFontPack","packClass","iconClassPrefix","SmartBillService","seriesname","number","hh","responseType","uri","handleError","vendorName","socialLinks","target","icon","DATA_SERVICES","provide","useClass","NB_CORE_PROVIDERS","forRoot","providers","strategies","setup","delay","forms","login","register","accessControl","guest","view","subscriber","parent","viewer","dealer","god","CoreModule","ngModule","imports","exports","declarations","StatsBarService","statsBarData","StateService","directionService","layouts","id","selected","sidebars","layoutState$","sidebarState$","alive","onDirectionChange","direction","updateSidebarIcons","getDirection","startSidebar","endSidebar","isLtr","LTR","startIconClass","endIconClass","asObservable","hljsLanguages","func","AppModule","languages","forChild","apiKey","libraries","bootstrap","LogService","today","getTime","thirtyDaysAgo","httpOptionsLocal","to","size","sortBy","sortDirection","params","set","start","end","sent","topic","action","entity","oldData","newData","additionalData","toPromise","key","substring","session","evseId","message","env","csl","PlugpointEnvironment","wssEndpoint","haproxyEndpoint","Track","PlayerService","playlist","artist","cover","current","floor","getNextTrack","getPrevTrack","DiscountsService","owner","discount","stationList","publicCharging","vendorId","groupName","fleet","groupDataId","group","groupOwner","restrictions","isACRestricted","isDCRestricted","kwDayLimit","kwWeekLimit","sessionsDayLimit","userInfo","tagId","groupId","finalUrl","EarningService","currentValue","ONE_DAY","pieChartData","liveUpdateChartData","bitcoin","liveChart","dailyIncome","tether","ethereum","elementsNumber","generateRandomLiveChartData","getFullYear","join","currency","newValue","shift","getDefaultLiveChartData","TrafficChartData","SeoService","document","platformId","isBrowser","dom","createCanonicalTag","linkCanonical","createElement","setAttribute","head","appendChild","getCanonicalUrl","origin","pathname","SmartTableService","firstName","lastName","email","age","VisitorsAnalyticsData","TemperatureHumidityService","temperatureDate","min","max","humidityDate","SecurityCamerasData","baseThemeVariables","variables","DEFAULT_THEME","base","temperature","arcFill","primary","arcEmpty","bg2","thumbBg","thumbBorder","solar","gradientLeft","gradientRight","shadowColor","secondSeriesFill","radius","traffic","tooltipBg","bg","tooltipBorderColor","border2","tooltipExtraCss","tooltipTextColor","fgText","tooltipFontWeight","yAxisSplitLine","separator","lineBg","border4","lineShadowBlur","itemColor","itemBorderColor","itemEmphasisBorderColor","shadowLineDarkBg","shadowLineShadow","gradFrom","gradTo","electricity","tooltipLineColor","tooltipLineWidth","axisLineColor","border3","xAxisTextColor","fg","lineStyle","lineWidth","lineGradFrom","lineGradTo","lineShadow","areaGradFrom","areaGradTo","bubbleMap","titleColor","areaColor","bg4","areaHoverColor","fgHighlight","areaBorderColor","border5","profitBarAnimationEchart","textColor","firstAnimationBarColor","secondAnimationBarColor","success","splitLineStyleOpacity","splitLineStyleWidth","splitLineStyleColor","tooltipFontSize","tooltipBorderWidth","trafficBarEchart","gradientFrom","warningLight","gradientTo","warning","shadow","shadowBlur","axisTextColor","axisFontSize","countryOrders","countryBorderColor","countryFillColor","bg3","countryBorderWidth","hoveredCountryBorderColor","hoveredCountryFillColor","primaryLight","hoveredCountryBorderWidth","chartAxisLineColor","chartAxisTextColor","chartAxisFontSize","chartGradientTo","chartGradientFrom","chartAxisSplitLine","chartShadowLineColor","chartLineBottomShadowColor","chartInnerLineColor","echarts","splitLineColor","itemHoverShadowColor","tooltipBackgroundColor","areaOpacity","chartjs","orders","firstAreaGradFrom","firstAreaGradTo","firstShadowLineDarkBg","secondLineGradFrom","secondLineGradTo","secondAreaGradFrom","secondAreaGradTo","secondShadowLineDarkBg","thirdLineGradFrom","thirdLineGradTo","successLight","thirdAreaGradFrom","thirdAreaGradTo","thirdShadowLineDarkBg","profit","firstLineGradFrom","firstLineGradTo","firstLineShadow","secondLineShadow","thirdLineShadow","orderProfitLegend","firstItem","secondItem","thirdItem","visitors","innerLineStyle","innerLineWidth","innerAreaGradFrom","innerAreaGradTo","visitorsLegend","firstIcon","secondIcon","visitorsPie","firstPieGradientLeft","firstPieGradientRight","firstPieShadowColor","firstPieRadius","secondPieGradientLeft","secondPieGradientRight","secondPieShadowColor","secondPieRadius","shadowOffsetX","shadowOffsetY","visitorsPieLegend","firstSection","secondSection","earningPie","center","fontSize","thirdPieGradientLeft","thirdPieGradientRight","thirdPieShadowColor","earningLine","RolesProvider","authService","role","getUserData","refactoredId","res","jsonData","atob","err","DealerService","logService","put","dealerName","clientName","URL","searchParams","append","users","status","vendorInfoObj","publicSubscription","vendorFullName","vendorCIF","vendorAddress","addVendorInfo","subscriptionCost","privateContractNumber","publicContractNumber","vendorObj","vendorGroup","SecurityCamerasService","cameras","source","OneColumnLayoutComponent","version","ProfitBarAnimationChartData","SolarData","AuthService","dealerService","userService","userRole","userVendor","userTagId","auth0Client$","client_id","redirect_uri","window","client","isAuthenticated","handleRedirectCallback$","handleRedirectCallback","userProfileSubject$","localAuthSetup","handleAuthCallback","options","getUser","checkAuth$","checkLocalUserDb","getUser$","redirectPath","loginWithRedirect","appState","targetRoute","authComplete$","cbRes","returnTo","localStorage","clear","bar","sub","indexId","indexOf","r","addUserToWs","resp","getClients","setItem","tStamp","getItem","subClients$","getDealer","clientsList","accessToken","encodeURIComponent","patch","HomeContentComponent","faLink","href","TimingPipe","time","minutes","seconds","initZero","CapitalizePipe","charAt","toUpperCase","slice","SmartTableData","StationsService","resse","dataJSON","coordinates","km","finalStart","getTimezoneOffset","toISOString","replace","finalEnd","interval","setHours","priceKw","priceH","priceB","startPriceVendor","newB","stationAddress","stationCoordinates","chargingPower","tags","startPricePP","publicStation","promoId","stationObj","stationObjString","data_admin","walletId","values","updateFirmware","obj","paginationOptions","stationIds","s","changes","dateString","setDate","String","padStart","day","hours","getHours","getMinutes","getSeconds","UserData","nick","picture","eva","jack","lee","alan","kate","types","mobile","home","work","contacts","type","recentUsers","TrafficChartService","SERVICES","MockDataModule","UserActivityData","NumberWithCommasPipe","Intl","NumberFormat","format","StatsProgressBarData","NB_MODULES","COMPONENTS","PIPES","ThemeModule","routes","redirectTo","pathMatch","component","loadChildren","m","PagesModule","NoPageFoundModule","AppRoutingModule","ElectricityService","listData","down","kWatts","cost","chartPoints","chartData","CarService","carId","brand","model","plateNo","updateFleetCar","PeriodsService","bootstrapModule","webpackEmptyAsyncContext","e","code","keys","module"],"mappings":"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","file":"main-es5.31513b4da543e99f66f6.js","sourcesContent":["import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { CountryOrderData } from '../data/country-order';\n\n@Injectable()\nexport class CountryOrderService extends CountryOrderData {\n\n private countriesCategories = [\n 'Sofas',\n 'Furniture',\n 'Lighting',\n 'Tables',\n 'Textiles',\n ];\n private countriesCategoriesLength = this.countriesCategories.length;\n private generateRandomData(nPoints: number): number[] {\n return Array.from(Array(nPoints)).map(() => {\n return Math.round(Math.random() * 20);\n });\n }\n\n getCountriesCategories(): Observable {\n return observableOf(this.countriesCategories);\n }\n\n getCountriesCategoriesData(country: string): Observable {\n return observableOf(this.generateRandomData(this.countriesCategoriesLength));\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/auth/auth.service';\n\n@Component({\n selector: 'app-logout',\n templateUrl: './logout.component.html',\n styleUrls: ['./logout.component.scss']\n})\nexport class LogoutComponent implements OnInit {\n\n constructor(public auth: AuthService) { }\n\n ngOnInit(): void {\n this.auth.logout();\n }\n\n}\n","
\n
\n \n
\n

Loading ..

\n Redirecting to home\n
\n \n
\n
\n ","import { Pipe, PipeTransform } from '@angular/core';\nimport { Stations } from 'src/app/services/stations/stations';\n\n@Pipe({\n name: 'filterLocation'\n})\nexport class FilterLocationPipe implements PipeTransform {\n\n transform(items: any[], searchText: string, object: Stations[]): any[] {\n if (!searchText) return items;\n searchText = searchText.toLowerCase();\n var finalItems = [];\n var waitForCode = new Promise((resolve, reject) => {\n var stations = object.filter(item => item.stationVendor.toLowerCase() == searchText);\n stations.forEach((station,index) => {\n console.log(station.locationName);\n if (!finalItems.includes(station.locationName)) {\n finalItems.push(station.locationName);\n }\n });\n resolve();\n })\n waitForCode.then(() => {\n console.log(JSON.stringify(finalItems));\n return finalItems;\n })\n\n // return items.filter(it => it.locationName.toLowerCase().includes(searchText));\n }\n\n}\n","export * from './capitalize.pipe';\nexport * from './plural.pipe';\nexport * from './round.pipe';\nexport * from './timing.pipe';\nexport * from './number-with-commas.pipe';\n","import { Component, OnInit } from '@angular/core';\nimport { AuthService } from 'src/app/auth/auth.service';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss']\n})\nexport class HomeComponent implements OnInit {\n\n constructor(public auth: AuthService) {}\n\n ngOnInit() {\n }\n}\n","\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { TrafficList, TrafficListData } from '../data/traffic-list';\n\n@Injectable()\nexport class TrafficListService extends TrafficListData {\n\n private getRandom = (roundTo: number) => Math.round(Math.random() * roundTo);\n private data = {};\n\n constructor(private period: PeriodsService) {\n super();\n this.data = {\n week: this.getDataWeek(),\n month: this.getDataMonth(),\n year: this.getDataYear(),\n };\n }\n\n private getDataWeek(): TrafficList[] {\n const getFirstDateInPeriod = () => {\n const weeks = this.period.getWeeks();\n\n return weeks[weeks.length - 1];\n };\n\n return this.reduceData(this.period.getWeeks(), getFirstDateInPeriod);\n }\n\n private getDataMonth(): TrafficList[] {\n const getFirstDateInPeriod = () => {\n const months = this.period.getMonths();\n\n return months[months.length - 1];\n };\n\n return this.reduceData(this.period.getMonths(), getFirstDateInPeriod);\n }\n\n private getDataYear(): TrafficList[] {\n const getFirstDateInPeriod = () => {\n const years = this.period.getYears();\n\n return `${parseInt(years[0], 10) - 1}`;\n };\n\n return this.reduceData(this.period.getYears(), getFirstDateInPeriod);\n }\n\n private reduceData(timePeriods: string[], getFirstDateInPeriod: () => string): TrafficList[] {\n return timePeriods.reduce((result, timePeriod, index) => {\n const hasResult = result[index - 1];\n const prevDate = hasResult ?\n result[index - 1].comparison.nextDate :\n getFirstDateInPeriod();\n const prevValue = hasResult ?\n result[index - 1].comparison.nextValue :\n this.getRandom(100);\n const nextValue = this.getRandom(100);\n const deltaValue = prevValue - nextValue;\n\n const item = {\n date: timePeriod,\n value: this.getRandom(1000),\n delta: {\n up: deltaValue <= 0,\n value: Math.abs(deltaValue),\n },\n comparison: {\n prevDate,\n prevValue,\n nextDate: timePeriod,\n nextValue,\n },\n };\n\n return [...result, item];\n }, []);\n }\n\n getTrafficListData(period: string): Observable {\n return observableOf(this.data[period]);\n }\n}\n","import { Observable } from 'rxjs';\n\nexport interface Temperature {\n value: number;\n min: number;\n max: number;\n}\n\nexport abstract class TemperatureHumidityData {\n abstract getTemperatureData(): Observable;\n abstract getHumidityData(): Observable;\n}\n","export interface ProfitChart {\n chartLabel: string[];\n data: number[][];\n}\n\nexport abstract class ProfitChartData {\n abstract getProfitChartData(period: string): ProfitChart;\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { delay, shareReplay, debounceTime } from 'rxjs/operators';\n\n@Injectable()\nexport class LayoutService {\n\n protected layoutSize$ = new Subject();\n protected layoutSizeChange$ = this.layoutSize$.pipe(\n shareReplay({ refCount: true }),\n );\n\n changeLayoutSize() {\n this.layoutSize$.next();\n }\n\n onChangeLayoutSize(): Observable {\n return this.layoutSizeChange$.pipe(delay(1));\n }\n\n onSafeChangeLayoutSize(): Observable {\n return this.layoutSizeChange$.pipe(\n debounceTime(350),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { TrafficBarData, TrafficBar } from '../data/traffic-bar';\n\n@Injectable()\nexport class TrafficBarService extends TrafficBarData {\n\n private data = { };\n\n constructor(private period: PeriodsService) {\n super();\n this.data = {\n week: this.getDataForWeekPeriod(),\n month: this.getDataForMonthPeriod(),\n year: this.getDataForYearPeriod(),\n };\n }\n\n getDataForWeekPeriod(): TrafficBar {\n return {\n data: [10, 15, 19, 7, 20, 13, 15],\n labels: this.period.getWeeks(),\n formatter: '{c0} MB',\n };\n }\n\n getDataForMonthPeriod(): TrafficBar {\n return {\n data: [0.5, 0.3, 0.8, 0.2, 0.3, 0.7, 0.8, 1, 0.7, 0.8, 0.6, 0.7],\n labels: this.period.getMonths(),\n formatter: '{c0} GB',\n };\n }\n\n getDataForYearPeriod(): TrafficBar {\n return {\n data: [10, 15, 19, 7, 20, 13, 15, 19, 11],\n labels: this.period.getYears(),\n formatter: '{c0} GB',\n };\n }\n\n getTrafficBarData(period: string): Observable {\n return observableOf(this.data[period]);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-three-columns-layout',\n styleUrls: ['./three-columns.layout.scss'],\n template: `\n \n \n \n \n\n \n \n \n\n \n \n\n \n \n \n\n \n \n\n \n \n \n \n `,\n})\nexport class ThreeColumnsLayoutComponent {}\n","import { of as observableOf, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { OrdersChart, OrdersChartData } from '../data/orders-chart';\nimport { OrderProfitChartSummary, OrdersProfitChartData } from '../data/orders-profit-chart';\nimport { ProfitChart, ProfitChartData } from '../data/profit-chart';\n\n@Injectable()\nexport class OrdersProfitChartService extends OrdersProfitChartData {\n\n private summary = [\n {\n title: 'Marketplace',\n value: 3654,\n },\n {\n title: 'Last Month',\n value: 946,\n },\n {\n title: 'Last Week',\n value: 654,\n },\n {\n title: 'Today',\n value: 230,\n },\n ];\n\n constructor(private ordersChartService: OrdersChartData,\n private profitChartService: ProfitChartData) {\n super();\n }\n\n getOrderProfitChartSummary(): Observable {\n return observableOf(this.summary);\n }\n\n getOrdersChartData(period: string): Observable {\n return observableOf(this.ordersChartService.getOrdersChartData(period));\n }\n\n getProfitChartData(period: string): Observable {\n return observableOf(this.profitChartService.getProfitChartData(period));\n }\n}\n","import { Observable } from 'rxjs';\n\nexport interface Month {\n month: string;\n delta: string;\n down: boolean;\n kWatts: string;\n cost: string;\n}\n\nexport interface Electricity {\n title: string;\n active?: boolean;\n months: Month[];\n}\n\nexport interface ElectricityChart {\n label: string;\n value: number;\n}\n\nexport abstract class ElectricityData {\n abstract getListData(): Observable;\n abstract getChartData(): Observable;\n}\n","import { Observable } from 'rxjs';\n\nexport interface TrafficBar {\n data: number[];\n labels: string[];\n formatter: string;\n}\n\nexport abstract class TrafficBarData {\n abstract getTrafficBarData(period: string): Observable;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxPlural' })\nexport class PluralPipe implements PipeTransform {\n\n transform(input: number, label: string, pluralLabel: string = ''): string {\n input = input || 0;\n return input === 1\n ? `${input} ${label}`\n : pluralLabel\n ? `${input} ${pluralLabel}`\n : `${input} ${label}s`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxRound' })\nexport class RoundPipe implements PipeTransform {\n\n transform(input: number): number {\n return Math.round(input);\n }\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class StatsBarData {\n abstract getStatsBarData(): Observable;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Stations } from 'src/app/services/stations/stations';\n\n@Pipe({\n name: 'filterStatus'\n})\nexport class FilterStatusPipe implements PipeTransform {\n\n transform(items: Stations[], searchText: string): any[] {\n // console.log(items)\n if (!searchText) return items;\n searchText = searchText.toLowerCase();\n return items.filter(it => it.bestStatus.toLowerCase().includes(searchText));\n}\n\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { UserActive, UserActivityData } from '../data/user-activity';\n\n@Injectable()\nexport class UserActivityService extends UserActivityData {\n\n private getRandom = (roundTo: number) => Math.round(Math.random() * roundTo);\n private generateUserActivityRandomData(date) {\n return {\n date,\n pagesVisitCount: this.getRandom(1000),\n deltaUp: this.getRandom(1) % 2 === 0,\n newVisits: this.getRandom(100),\n };\n }\n\n data = {};\n\n constructor(private periods: PeriodsService) {\n super();\n this.data = {\n week: this.getDataWeek(),\n month: this.getDataMonth(),\n year: this.getDataYear(),\n };\n }\n\n private getDataWeek(): UserActive[] {\n return this.periods.getWeeks().map((week) => {\n return this.generateUserActivityRandomData(week);\n });\n }\n\n private getDataMonth(): UserActive[] {\n const currentDate = new Date();\n const days = currentDate.getDate();\n const month = this.periods.getMonths()[currentDate.getMonth()];\n\n return Array.from(Array(days)).map((_, index) => {\n const date = `${index + 1} ${month}`;\n\n return this.generateUserActivityRandomData(date);\n });\n }\n\n private getDataYear(): UserActive[] {\n return this.periods.getYears().map((year) => {\n return this.generateUserActivityRandomData(year);\n });\n }\n\n getUserActivityData(period: string): Observable {\n return observableOf(this.data[period]);\n }\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: true\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/dist/zone-error'; // Included with Angular CLI.\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { ProgressInfo, StatsProgressBarData } from '../data/stats-progress-bar';\n\n@Injectable()\nexport class StatsProgressBarService extends StatsProgressBarData {\n private progressInfoData: ProgressInfo[] = [\n {\n title: 'Today’s Profit',\n value: 572900,\n activeProgress: 70,\n description: 'Better than last week (70%)',\n },\n {\n title: 'New Orders',\n value: 6378,\n activeProgress: 30,\n description: 'Better than last week (30%)',\n },\n {\n title: 'New Comments',\n value: 200,\n activeProgress: 55,\n description: 'Better than last week (55%)',\n },\n ];\n\n getProgressInfoData(): Observable {\n return observableOf(this.progressInfoData);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-two-columns-layout',\n styleUrls: ['./two-columns.layout.scss'],\n template: `\n \n \n \n \n\n \n \n \n\n \n \n\n \n \n \n\n \n \n \n\n \n `,\n})\nexport class TwoColumnsLayoutComponent {}\n","import { Injectable } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport { filter } from 'rxjs/operators';\n\ndeclare const ga: any;\n\n@Injectable()\nexport class AnalyticsService {\n private enabled: boolean;\n\n constructor(private location: Location, private router: Router) {\n this.enabled = false;\n }\n\n trackPageViews() {\n if (this.enabled) {\n this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n )\n .subscribe(() => {\n ga('send', {hitType: 'pageview', page: this.location.path()});\n });\n }\n }\n\n trackEvent(eventName: string) {\n if (this.enabled) {\n ga('send', 'event', eventName);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpInterceptor, HttpRequest, HttpHandler } from '@angular/common/http';\nimport { wsPayloadResponse } from './payload';\nimport { Observable, of } from 'rxjs';\nimport { PlugpointEnvironment } from '../PlugpointEnvironment';\nimport { Guid } from 'guid-typescript';\n\n\nconst httpOptions = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0' })\n};\n\n@Injectable()\nexport class UserService {\n\n // private url = 'https://manage.plugpoint.ro:8443/helios/api';\n private url = 'https://app.plugpoint.ro:8443/helios/api';\n // private url = 'https://test.plugpoint.ro:8443/helios/api';\n private token = \"4a46889db102438faa83b0b8151898a6\";\n public guid = true;\n constructor(\n public http: HttpClient,\n ) {\n this.url = PlugpointEnvironment.endpoint;\n }\n\n async recordIssue(data: any, environment: string) {\n const response = await fetch(PlugpointEnvironment.url + `:8443/helios/support/${environment}/support-issue`, {\n headers: { 'Content-Type': 'application/json', 'Authorization': 'Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0' },\n method: 'POST',\n body: JSON.stringify(data)\n })\n if (response.ok) {\n return true;\n } else {\n return false;\n }\n }\n getCategories(environment: string) {\n return this.http.get(PlugpointEnvironment.url + `:8443/helios/support/${environment}/issue-categories`, httpOptions)\n }\n\n async getCategoriesForPos(): Promise {\n const response = await fetch(`${PlugpointEnvironment.url}/pos-central/dashboard/support-issue-categories`, {\n headers: {\n Authorization: `Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==`,\n 'SessionID': Guid.create().toString(),\n 'X-Locale': `EN`,\n }\n });\n if (!response.ok) {\n return null;\n }\n try {\n const categories = await response.json();\n return categories;\n } catch (error) {\n return null;\n }\n }\n async recordIssuePos(data: any): Promise {\n const response = await fetch(`${PlugpointEnvironment.url}/pos-central/dashboard/support-issue`, {\n headers: {\n Authorization: `Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==`,\n 'SessionID': Guid.create().toString(),\n 'X-Locale': `EN`,\n },\n method: 'POST',\n body: JSON.stringify(data)\n })\n if (response.ok) {\n return true;\n } else {\n return false;\n }\n }\n\n async cancelSession(posId: string, sessionId: string): Promise {\n try {\n const response = await fetch(`${PlugpointEnvironment.url}/pos-central/${posId}/session/${sessionId}/end`, {\n headers: {\n SessionId: Guid.create().toString(),\n Authorization: `Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==`\n },\n method: 'POST'\n })\n if (response.ok) {\n return true;\n } else {\n return false;\n }\n } catch { return false }\n }\n\n\n updateUserPhoneNumber(userId: string, phoneNumber: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"update\": {\n \"userId\": userId,\n \"phoneNumber\": phoneNumber\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"usersData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions);\n }\n getUserData(username: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"info\": {\n \"userName\": username,\n \"version\": \"latest\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"usersData\",\n \"data\": encodedData\n }\n //console.log(\"body for getUserData is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n getAllUsersData(): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getAllUsers\": \"\"\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"usersData\",\n \"data\": encodedData\n }\n //console.log(\"body for getUserData is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n getAllBlockedUsers():Observable {\n let body = {\n \"token\" : this.token,\n \"action\" : \"blockedList\",\n \"data\": \"ewogICAgICAgICJnZXRCbG9ja2VkIiA6IHsKICAgICAgICAgICAgInBob25lTnVtYmVyIiA6ICJhbGwiCiAgICAgICAgfQogICAgfQ==\"\n }\n return this.http.post(this.url,body,httpOptions)\n }\n\n unblockUserByIp(ip: string, phone:string): Observable{\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateBlocked\" : {\n \"phoneNumber\" : phone,\n \"ip\" : ip,\n \"unblock\" : \"ip\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body =\n {\n \"token\" : this.token,\n \"action\" : \"blockedList\",\n \"data\": encodedData\n }\n return this.http.post(this.url,body,httpOptions)\n }\n unblockUserByPhone(ip: string, phone:string): Observable{\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateBlocked\" : {\n \"phoneNumber\" : phone,\n \"ip\" : ip,\n \"unblock\" : \"phone\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body =\n {\n \"token\" : this.token,\n \"action\" : \"blockedList\",\n \"data\": encodedData\n }\n return this.http.post(this.url,body,httpOptions)\n }\n\n getScenarioStatus(): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getScenario\" : {\n \"scenario\" : \"smsFlood\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\" : this.token,\n \"action\" : \"scenariosTable\",\n \"data\": encodedData\n }\n return this.http.post(this.url,body,httpOptions)\n }\n changeScenario(active: boolean): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateScenario\" : {\n \"scenario\" : \"smsFlood\",\n \"active\" : active\n }\n }\n let encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\" : this.token,\n \"action\" : \"scenariosTable\",\n \"data\": encodedData\n }\n return this.http.post(this.url,body,httpOptions)\n }\n getInvoiceAndSimpleAccountByInvoiceNumber(invoiceName: string) {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n const newEndpoint = this.url.split(':8')[0]\n const url = `${newEndpoint}/invoice/account/invoice-number/${invoiceName}`;\n return new Promise ((resolve, reject) => {\n fetch(url, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n \"SessionID\": this.token,\n 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg=='\n }\n }).then( async response => {\n if(response.ok){\n // console.log(response.text())\n let send = await response.text();\n if(send == \"\"){\n reject(\"No invoice found, bad format or invoice does not exist.\")\n }\n else {\n resolve(JSON.parse(send))\n }\n }\n else {\n reject(\"Error in fetching data\");\n }\n })\n })\n }\n getEncryptData(username: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"cardRedirect\": {\n \"userName\": username\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"payData\",\n \"data\": encodedData\n }\n //console.log(\"body for getEncryptData is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n setUserData(data: any): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n //console.log(\"In setUserData()\");\n let dataBody = {\n \"update\": data\n }\n var encodedData = btoa(JSON.stringify(dataBody));\n let body = {\n \"token\": this.token,\n \"action\": \"usersData\",\n \"data\": encodedData\n }\n console.log(\"body for setUserData is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n // blockUser(): Observable {\n // let body = {\n // \"blocked\" : true\n\n // }\n // return this.http.post(this.url,body,httpOptions)\n // }\n\n setFavouriteStation(command: string, userName: string, stationId: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"favorites\": {\n \"userName\": userName,\n \"command\": command,\n \"stationId\": stationId\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"usersData\",\n \"data\": encodedData\n }\n //console.log(\"body for addUserToWs is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n addUserToWs(userEmail: string, userName: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"add\": {\n \"userEmail\": userEmail,\n \"userName\": userName,\n \"stationVendor\": \"\",\n \"generalNotifications\": true,\n \"appUpdates\": true,\n \"showOnLockScreen\": true,\n \"emailGeneralNotifications\": true,\n \"monthlyNewsletter\": true,\n \"promoOffers\": true,\n \"carType\": \"999\",\n \"notificationId\": \"\",\n \"role\": \"guest\",\n \"access\": \"\",\n \"type\": \"none\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"usersData\",\n \"data\": encodedData\n }\n //console.log(\"body for addUserToWs is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n getCarsData(): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getCars\": {\n \"cars\": \"all\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"carsData\",\n \"data\": encodedData\n }\n //console.log(\"body for getCarsData is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n setVendor(userEmail: string, stationVendor: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateVendor\": {\n \"userEmail\": userEmail,\n \"stationVendor\": stationVendor\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"usersData\",\n \"data\": encodedData\n }\n //console.log(\"body for getUserPayData is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n getUserPayData(userName: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"userPayData\": {\n \"userName\": userName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"payData\",\n \"data\": encodedData\n }\n //console.log(\"body for getUserPayData is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n setDefaultCard(usersPayDataId: number): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"updatePayData\": {\n \"usersPayDataId\": usersPayDataId,\n \"defaultCard\": true\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"payData\",\n \"data\": encodedData\n }\n //console.log(\"body for setDefaultCard is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n getUserPayHistory(userName: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"payHistory\": {\n \"userName\": userName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"payData\",\n \"data\": encodedData\n }\n //console.log(\"body for getUserPayHistory is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n deleteUserCardData(usersPayDataId: number): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"deletePayData\": {\n \"usersPayDataId\": usersPayDataId\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"payData\",\n \"data\": encodedData\n }\n //console.log(\"body for deleteUserCardData is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n getAllInvoices(user?: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n if(!user) {\n user = \"all\";\n }\n let data = {\n \"getInvoices\": {\n \"getInvoices\": user\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"invoiceData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions);\n }\n getOneInvoices(transactionId: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n\n let data = {\n \"getInvoices\": {\n \"transactionId\": transactionId\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"invoiceData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions);\n }\n\n\n\n getVendorInvoices(vendor: string, dateChecker: Boolean, startDate?: string, endDate?: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data;\n if (!dateChecker) {\n data = {\n \"getInvoices\": {\n \"vendorName\": vendor\n }\n }\n } else {\n data = {\n \"getInvoices\": {\n \"vendorName\": vendor,\n \"startDate\": startDate,\n \"endDate\": endDate\n }\n }\n }\n // console.log(data);\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"invoiceData\",\n \"data\": encodedData\n }\n // console.log(JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n\n payDebt(userName: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"userPayDebt\": {\n \"userName\": userName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"payData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions);\n }\n\n getCardRegisterData(username: string, cif: string, companyName: string, fullName: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"cardRegister\": {\n \"userName\": username,\n \"CIF\": cif,\n \"companyName\": companyName,\n \"fullName\": fullName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"payData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions);\n }\n\n\n /**\n * Handle Http operation that failed.\n * Let the app continue.\n * @param operation - name of the operation that failed\n * @param result - optional value to return as the observable result\n */\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n // console.error(error); // log to console instead\n\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n}\n\n\n\n@Injectable()\nexport class NoCacheHeadersInterceptor implements HttpInterceptor {\n intercept(req: HttpRequest, next: HttpHandler) {\n const authReq = req.clone({\n setHeaders: {\n 'Cache-Control': 'no-cache',\n Pragma: 'no-cache'\n }\n });\n return next.handle(authReq);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Stations } from 'src/app/services/stations/stations';\n\n@Pipe({\n name: 'filterStations'\n})\nexport class FilterStationsPipe implements PipeTransform {\n\n transform(items: Stations[], searchText: string): any[] {\n // console.log(items)\n if (!searchText) return items;\n searchText = searchText.toLowerCase();\n return items.filter(it => it.stationName.toLowerCase().includes(searchText));\n}\n\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class CountryOrderData {\n abstract getCountriesCategories(): Observable;\n abstract getCountriesCategoriesData(country: string): Observable;\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { ProfitBarAnimationChartData } from '../data/profit-bar-animation-chart';\n\n@Injectable()\nexport class ProfitBarAnimationChartService extends ProfitBarAnimationChartData {\n\n private data: any;\n\n constructor() {\n super();\n this.data = {\n firstLine: this.getDataForFirstLine(),\n secondLine: this.getDataForSecondLine(),\n };\n }\n\n getDataForFirstLine(): number[] {\n return this.createEmptyArray(100)\n .map((_, index) => {\n const oneFifth = index / 5;\n\n return (Math.sin(oneFifth) * (oneFifth - 10) + index / 6) * 5;\n });\n }\n\n getDataForSecondLine(): number[] {\n return this.createEmptyArray(100)\n .map((_, index) => {\n const oneFifth = index / 5;\n\n return (Math.cos(oneFifth) * (oneFifth - 10) + index / 6) * 5;\n });\n }\n\n createEmptyArray(nPoints: number) {\n return Array.from(Array(nPoints));\n }\n\n getChartData(): Observable<{ firstLine: number[]; secondLine: number[]; }> {\n return observableOf(this.data);\n }\n}\n","import { Observable } from 'rxjs';\n\nexport interface TrafficList {\n date: string;\n value: number;\n delta: {\n up: boolean;\n value: number;\n };\n comparison: {\n prevDate: string;\n prevValue: number;\n nextDate: string;\n nextValue: number;\n };\n}\n\nexport abstract class TrafficListData {\n abstract getTrafficListData(period: string): Observable;\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { SolarData } from '../data/solar';\n\n@Injectable()\nexport class SolarService extends SolarData {\n private value = 42;\n\n getSolarData(): Observable {\n return observableOf(this.value);\n }\n}\n","import { Observable } from 'rxjs';\n\nexport interface LiveUpdateChart {\n liveChart: { value: [string, number] }[];\n delta: {\n up: boolean;\n value: number;\n };\n dailyIncome: number;\n}\n\nexport interface PieChart {\n value: number;\n name: string;\n}\n\nexport abstract class EarningData {\n abstract getEarningLiveUpdateCardData(currency: string): Observable;\n abstract getEarningCardData(currency: string): Observable;\n abstract getEarningPieChartData(): Observable;\n}\n","import { Injectable } from '@angular/core';\nimport { PeriodsService } from './periods.service';\nimport { ProfitChart, ProfitChartData } from '../data/profit-chart';\n\n@Injectable()\nexport class ProfitChartService extends ProfitChartData {\n\n private year = [\n '2012',\n '2013',\n '2014',\n '2015',\n '2016',\n '2017',\n '2018',\n ];\n\n private data = { };\n\n constructor(private period: PeriodsService) {\n super();\n this.data = {\n week: this.getDataForWeekPeriod(),\n month: this.getDataForMonthPeriod(),\n year: this.getDataForYearPeriod(),\n };\n }\n\n private getDataForWeekPeriod(): ProfitChart {\n const nPoint = this.period.getWeeks().length;\n\n return {\n chartLabel: this.period.getWeeks(),\n data: [\n this.getRandomData(nPoint),\n this.getRandomData(nPoint),\n this.getRandomData(nPoint),\n ],\n };\n }\n\n private getDataForMonthPeriod(): ProfitChart {\n const nPoint = this.period.getMonths().length;\n\n return {\n chartLabel: this.period.getMonths(),\n data: [\n this.getRandomData(nPoint),\n this.getRandomData(nPoint),\n this.getRandomData(nPoint),\n ],\n };\n }\n\n private getDataForYearPeriod(): ProfitChart {\n const nPoint = this.year.length;\n\n return {\n chartLabel: this.year,\n data: [\n this.getRandomData(nPoint),\n this.getRandomData(nPoint),\n this.getRandomData(nPoint),\n ],\n };\n }\n\n private getRandomData(nPoints: number): number[] {\n return Array.from(Array(nPoints)).map(() => {\n return Math.round(Math.random() * 500);\n });\n }\n\n getProfitChartData(period: string): ProfitChart {\n return this.data[period];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { PeriodsService } from './periods.service';\nimport { OutlineData, VisitorsAnalyticsData } from '../data/visitors-analytics';\n\n@Injectable()\nexport class VisitorsAnalyticsService extends VisitorsAnalyticsData {\n\n constructor(private periodService: PeriodsService) {\n super();\n }\n\n private pieChartValue = 75;\n private innerLinePoints: number[] = [\n 94, 188, 225, 244, 253, 254, 249, 235, 208,\n 173, 141, 118, 105, 97, 94, 96, 104, 121, 147,\n 183, 224, 265, 302, 333, 358, 375, 388, 395,\n 400, 400, 397, 390, 377, 360, 338, 310, 278,\n 241, 204, 166, 130, 98, 71, 49, 32, 20, 13, 9,\n ];\n private outerLinePoints: number[] = [\n 85, 71, 59, 50, 45, 42, 41, 44 , 58, 88,\n 136 , 199, 267, 326, 367, 391, 400, 397,\n 376, 319, 200, 104, 60, 41, 36, 37, 44,\n 55, 74, 100 , 131, 159, 180, 193, 199, 200,\n 195, 184, 164, 135, 103, 73, 50, 33, 22, 15, 11,\n ];\n private generateOutlineLineData(): OutlineData[] {\n const months = this.periodService.getMonths();\n const outerLinePointsLength = this.outerLinePoints.length;\n const monthsLength = months.length;\n\n return this.outerLinePoints.map((p, index) => {\n const monthIndex = Math.round(index / 4);\n const label = (index % Math.round(outerLinePointsLength / monthsLength) === 0)\n ? months[monthIndex]\n : '';\n\n return {\n label,\n value: p,\n };\n });\n }\n\n getInnerLineChartData(): Observable {\n return observableOf(this.innerLinePoints);\n }\n\n getOutlineLineChartData(): Observable {\n return observableOf(this.generateOutlineLineData());\n }\n\n getPieChartData(): Observable {\n return observableOf(this.pieChartValue);\n }\n}\n","import { Component, ElementRef, EventEmitter, Output, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'ngx-search-input',\n styleUrls: ['./search-input.component.scss'],\n template: `\n \n \n `,\n})\nexport class SearchInputComponent {\n @ViewChild('input', { static: true }) input: ElementRef;\n\n @Output() search: EventEmitter = new EventEmitter();\n\n isInputShown = false;\n\n showInput() {\n this.isInputShown = true;\n this.input.nativeElement.focus();\n }\n\n hideInput() {\n this.isInputShown = false;\n }\n\n onInput(val: string) {\n this.search.emit(val);\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { NbMediaBreakpointsService, NbMenuService, NbSidebarService, NbThemeService } from '@nebular/theme';\n\nimport { LayoutService } from '../../../@core/utils';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { Router } from '@angular/router';\nimport { faUser, faPowerOff } from '@fortawesome/free-solid-svg-icons';\nimport { NbAccessChecker } from '@nebular/security';\n\n@Component({\n selector: 'ngx-header',\n styleUrls: ['./header.component.scss'],\n templateUrl: './header.component.html',\n})\nexport class HeaderComponent implements OnInit, OnDestroy {\n\n private destroy$: Subject = new Subject();\n userPictureOnly: boolean = false;\n showTitle: boolean = true;\n user: any;\n profile: any;\n\n currentTheme = 'corporate';\n\n userMenu = [{ title: 'Profile', link: '/pages/profile' }, { title: 'Log out', link: '/logout' }];\n isCollapsed = true;\n faUser = faUser;\n faPowerOff = faPowerOff;\n\n constructor(private sidebarService: NbSidebarService,\n private menuService: NbMenuService,\n private themeService: NbThemeService,\n private layoutService: LayoutService,\n private breakpointService: NbMediaBreakpointsService,\n public auth: AuthService,\n public router: Router,\n public accessChecker: NbAccessChecker) {\n // console.log(this.auth.access , 'access at the start')\n // console.log(this.auth.loggedIn , 'loggedin at the start ')\n // setTimeout(() => {\n // console.log(this.auth.access , 'access 2 seconds later')\n // console.log(this.auth.loggedIn , 'loggedin 2 seconds later')\n\n // },2000)\n }\n\n ngOnInit() {\n this.currentTheme = this.themeService.currentTheme;\n this.auth.userProfile$\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n (profiles: any) => {\n this.profile = profiles;\n this.user = this.profile;\n }\n );\n\n const { xl } = this.breakpointService.getBreakpointsMap();\n this.themeService.onMediaQueryChange()\n .pipe(\n map(([, currentBreakpoint]) => currentBreakpoint.width < xl),\n takeUntil(this.destroy$),\n )\n .subscribe((isLessThanXl: boolean) => this.userPictureOnly = false);\n\n this.themeService.onThemeChange()\n .pipe(\n map(({ name }) => name),\n takeUntil(this.destroy$),\n )\n .subscribe(themeName => this.currentTheme = themeName);\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n changeTheme(themeName: string) {\n this.themeService.changeTheme(themeName);\n }\n\n toggleSidebar(): boolean {\n this.sidebarService.toggle(true, 'menu-sidebar');\n this.layoutService.changeLayoutSize();\n\n return false;\n }\n\n navigateHome() {\n this.router.navigate(['/home']);\n return false;\n }\n navigateDashboard() {\n if (this.auth.access.includes(\"subscriber\")) {\n this.router.navigate(['/pages/reportsfleet']);\n } else if (this.auth.access.includes(\"publicCharging\") && !this.auth.access.includes(\"payment\")) {\n this.router.navigate(['/pages/publicfleet']);\n } else if (this.auth.access.includes(\"fleet\") && !this.auth.access.includes(\"payment\")){\n this.router.navigate(['/pages/publicfleet']);\n }\n else {\n this.router.navigate(['/pages/dashboard']);\n }\n\n return false;\n }\n // navigateApp() {\n // this.router.navigate(['/pages/app/home']);\n // return false;\n // }\n}\n","\n","import { Observable } from 'rxjs';\nimport { OrdersChart } from './orders-chart';\nimport { ProfitChart } from './profit-chart';\n\nexport interface OrderProfitChartSummary {\n title: string;\n value: number;\n}\n\nexport abstract class OrdersProfitChartData {\n abstract getOrderProfitChartSummary(): Observable;\n abstract getOrdersChartData(period: string): Observable;\n abstract getProfitChartData(period: string): Observable;\n}\n","export function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\n if (parentModule) {\n throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`);\n }\n}\n","import { env } from 'src/app/services/PlugpointEnvironment';\n// src/app/services/auth.config.ts\n// PROD\nexport const AUTH_CONFIG = env ==\"prod\" ? {\n clientID: 'yi4Wi2lJs53TyIyyNJFGMDAjZomMp26L',\n clientId: 'yi4Wi2lJs53TyIyyNJFGMDAjZomMp26L',\n domain: 'login.plugpoint.ro',\n domainAPI: 'plugway.eu.auth0.com',\n packageIdentifier: 'com.gobreazy.app', // config.xml widget ID, e.g., com.auth0.ionic\n audience: 'https://plugway.eu.auth0.com/api/v2/',\n client_secret: '639jHWd7dCuEvaKFL4afWhY7UCAoKel7n_CHRl18ydtDg0-r4t1ht_4Uuc_AI6xA',\n}: {\n clientID: 'SOoRwbK6pC4eedgBmOqpxutZ85Lo9HAK',\n clientId: 'SOoRwbK6pC4eedgBmOqpxutZ85Lo9HAK',\n domain: 'plugpoint.eu.auth0.com',\n domainAPI: 'plugpoint.eu.auth0.com',\n packageIdentifier: 'com.gobreazy.app', // config.xml widget ID, e.g., com.auth0.ionic\n audience: 'https://plugpoint.eu.auth0.com/api/v2/',\n client_secret: 'M3f1r0ukONvJD1jChET46oPTYtEaPlnugnSosRdfNsG0iiSPW98kRhUT9Bq9YcXj'\n};\n\n// export const URL_CONFIG_PROD = {\n// url: 'https://app.plugpoint.ro:8443/helios/api',\n// token: \"4a46889db102438faa83b0b8151898a6\",\n// }\n// DEMO (T1)\n// export const AUTH_CONFIG = {\n// clientID: 'SOoRwbK6pC4eedgBmOqpxutZ85Lo9HAK',\n// clientId: 'SOoRwbK6pC4eedgBmOqpxutZ85Lo9HAK',\n// domain: 'plugpoint.eu.auth0.com',\n// domainAPI: 'plugpoint.eu.auth0.com',\n// packageIdentifier: 'com.gobreazy.app', // config.xml widget ID, e.g., com.auth0.ionic\n// audience: 'https://plugpoint.eu.auth0.com/api/v2/',\n// client_secret: 'M3f1r0ukONvJD1jChET46oPTYtEaPlnugnSosRdfNsG0iiSPW98kRhUT9Bq9YcXj'\n// };\n\n// TEST\n// export const AUTH_CONFIG_TEST = {\n// clientID: '1wPVmvAhgPivgyxWpZRsWzJWIUG5oP9t',\n// clientId: '1wPVmvAhgPivgyxWpZRsWzJWIUG5oP9t',\n// domain: 'test-plugpoint.eu.auth0.com',\n// domainAPI: 'test-plugpoint.eu.auth0.com',\n// packageIdentifier: 'com.gobreazy.app', // config.xml widget ID, e.g., com.auth0.ionic\n// audience: 'https://test-plugpoint.eu.auth0.com/api/v2/',\n// client_secret: 'bcF4iHWzIyvplvVeoPlWagUCfTPOX-TfGTcKbEzU73qWjPlLmaPkbjk-X3xT2jDX'\n// };\n\n\n// export const URL_CONFIG = {\n// url: 'https://test.plugpoint.ro:8443/helios/api',\n// token: \"4a46889db102438faa83b0b8151898a6\",\n// }\n","import { Injectable } from '@angular/core';\nimport { PlugpointEnvironment } from '../PlugpointEnvironment';\n\n@Injectable({ providedIn: 'root' })\n\nexport class ConsoleToggleService {\n consoleLog: any = console.log;\n constructor() { }\n\n disableConsoleInProduction(): void {\n if (PlugpointEnvironment.consoleDisabled) {\n console.warn(`🚨 Console output is disabled on production!`);\n console.log = function (): void { };\n console.debug = function (): void { };\n console.warn = function (): void { };\n console.info = function (): void { };\n }\n }\n enableConsoleInProduction(): void {\n console.log = this.consoleLog;\n setTimeout(() => {\n this.disableConsoleInProduction();\n }, 100);\n\n }\n} ","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n UrlTree,\n CanActivate,\n Router\n} from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { AuthService } from './auth.service';\nimport { tap } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate {\n\n constructor(private auth: AuthService, private router: Router) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable | Promise | boolean {\n return this.auth.isAuthenticated$.pipe(\n tap(loggedIn => {\n if (!loggedIn) {\n this.router.navigate(['/']);\n }\n })\n );\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { PeriodsService } from './periods.service';\nimport { OrdersChart, OrdersChartData } from '../data/orders-chart';\n\n@Injectable()\nexport class OrdersChartService extends OrdersChartData {\n\n private year = [\n '2012',\n '2013',\n '2014',\n '2015',\n '2016',\n '2017',\n '2018',\n ];\n\n private data = { };\n\n constructor(private period: PeriodsService) {\n super();\n this.data = {\n week: this.getDataForWeekPeriod(),\n month: this.getDataForMonthPeriod(),\n year: this.getDataForYearPeriod(),\n };\n }\n\n private getDataForWeekPeriod(): OrdersChart {\n return {\n chartLabel: this.getDataLabels(42, this.period.getWeeks()),\n linesData: [\n [\n 184, 267, 326, 366, 389, 399,\n 392, 371, 340, 304, 265, 227,\n 191, 158, 130, 108, 95, 91, 97,\n 109, 125, 144, 166, 189, 212,\n 236, 259, 280, 300, 316, 329,\n 338, 342, 339, 329, 312, 288,\n 258, 221, 178, 128, 71,\n ],\n [\n 158, 178, 193, 205, 212, 213,\n 204, 190, 180, 173, 168, 164,\n 162, 160, 159, 158, 159, 166,\n 179, 195, 215, 236, 257, 276,\n 292, 301, 304, 303, 300, 293,\n 284, 273, 262, 251, 241, 234,\n 232, 232, 232, 232, 232, 232,\n ],\n [\n 58, 137, 202, 251, 288, 312,\n 323, 324, 311, 288, 257, 222,\n 187, 154, 124, 100, 81, 68, 61,\n 58, 61, 69, 80, 96, 115, 137,\n 161, 186, 210, 233, 254, 271,\n 284, 293, 297, 297, 297, 297,\n 297, 297, 297, 297, 297,\n ],\n ],\n };\n }\n\n private getDataForMonthPeriod(): OrdersChart {\n return {\n chartLabel: this.getDataLabels(47, this.period.getMonths()),\n linesData: [\n [\n 5, 63, 113, 156, 194, 225,\n 250, 270, 283, 289, 290,\n 286, 277, 264, 244, 220,\n 194, 171, 157, 151, 150,\n 152, 155, 160, 166, 170,\n 167, 153, 135, 115, 97,\n 82, 71, 64, 63, 62, 61,\n 62, 65, 73, 84, 102,\n 127, 159, 203, 259, 333,\n ],\n [\n 6, 83, 148, 200, 240,\n 265, 273, 259, 211,\n 122, 55, 30, 28, 36,\n 50, 68, 88, 109, 129,\n 146, 158, 163, 165,\n 173, 187, 208, 236,\n 271, 310, 346, 375,\n 393, 400, 398, 387,\n 368, 341, 309, 275,\n 243, 220, 206, 202,\n 207, 222, 247, 286, 348,\n ],\n [\n 398, 348, 315, 292, 274,\n 261, 251, 243, 237, 231,\n 222, 209, 192, 172, 152,\n 132, 116, 102, 90, 80, 71,\n 64, 58, 53, 49, 48, 54, 66,\n 84, 104, 125, 142, 156, 166,\n 172, 174, 172, 167, 159, 149,\n 136, 121, 105, 86, 67, 45, 22,\n ],\n ],\n };\n }\n\n private getDataForYearPeriod(): OrdersChart {\n return {\n chartLabel: this.getDataLabels(42, this.year),\n linesData: [\n [\n 190, 269, 327, 366, 389, 398,\n 396, 387, 375, 359, 343, 327,\n 312, 298, 286, 276, 270, 268,\n 265, 258, 247, 234, 220, 204,\n 188, 172, 157, 142, 128, 116,\n 106, 99, 95, 94, 92, 89, 84,\n 77, 69, 60, 49, 36, 22,\n ],\n [\n 265, 307, 337, 359, 375, 386,\n 393, 397, 399, 397, 390, 379,\n 365, 347, 326, 305, 282, 261,\n 241, 223, 208, 197, 190, 187,\n 185, 181, 172, 160, 145, 126,\n 105, 82, 60, 40, 26, 19, 22,\n 43, 82, 141, 220, 321,\n ],\n [\n 9, 165, 236, 258, 244, 206,\n 186, 189, 209, 239, 273, 307,\n 339, 365, 385, 396, 398, 385,\n 351, 300, 255, 221, 197, 181,\n 170, 164, 162, 161, 159, 154,\n 146, 135, 122, 108, 96, 87,\n 83, 82, 82, 82, 82, 82, 82,\n ],\n ],\n };\n }\n\n getDataLabels(nPoints: number, labelsArray: string[]): string[] {\n const labelsArrayLength = labelsArray.length;\n const step = Math.round(nPoints / labelsArrayLength);\n\n return Array.from(Array(nPoints)).map((item, index) => {\n const dataIndex = Math.round(index / step);\n\n return index % step === 0 ? labelsArray[dataIndex] : '';\n });\n }\n\n getOrdersChartData(period: string): OrdersChart {\n return this.data[period];\n }\n}\n","export interface OrdersChart {\n chartLabel: string[];\n linesData: number[][];\n}\n\nexport abstract class OrdersChartData {\n abstract getOrdersChartData(period: string): OrdersChart;\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-landing-page',\n templateUrl: './landing-page.component.html',\n styleUrls: ['./landing-page.component.scss']\n})\nexport class LandingPageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n

MAKE IT PUBLIC


\n

You can now make your charging stations available to drivers in your area.\n Drivers will cover electricity costs and pay fees for your charging service.

\n \n
\"\"\n
\n
\n
\n
\"\"\n
\n
\n
\n
","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-footer',\n styleUrls: ['./footer.component.scss'],\n template: `\n
\n
\n
\n
\n
Quick links
\n \n
\n
\n
Charge Point SRL
\n
    \n
  • RO 35288705
  • \n
  • Sos. Giurgiului nr.73-75
  • \n
  • Comuna 1 Decembrie, Bucuresti
  • \n
\n
\n \n
\n
\n
\n
\t\n
\n
\n

Copyright © 2023 Charge Point SRL. All rights reserved.

\n
\n
\n
\n
\n
\n `,\n})\nexport class FooterComponent {\n}\n","import { Component } from '@angular/core';\nimport { NbIconLibraries } from '@nebular/theme';\nimport { ConsoleToggleService } from './services/logs/console.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n constructor(private iconLibraries: NbIconLibraries,private consoleToggleService: ConsoleToggleService) {\n this.consoleToggleService.disableConsoleInProduction();\n this.iconLibraries.registerFontPack('fa', { packClass: 'fa', iconClassPrefix: 'fa' });\n this.iconLibraries.registerFontPack('fas', { packClass: 'fas', iconClassPrefix: 'fa' });\n this.iconLibraries.registerFontPack('fad', { packClass: 'fad', iconClassPrefix: 'fa' });\n this.iconLibraries.registerFontPack('fal', { packClass: 'fal', iconClassPrefix: 'fa' });\n this.iconLibraries.registerFontPack('far', { packClass: 'far', iconClassPrefix: 'fa' });\n }\n}\n"," \n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { wsPayloadResponse } from '../user/payload';\nimport { tap, catchError, map } from 'rxjs/operators';\nimport { SmartBill } from './smartbill';\n\nconst httpOptions = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic YWxleC5yb2dvamluYXJ1QHBsdWdwb2ludC5ybzowMDF8MzE1OTBjMjI0MzQ5M2ZjMTU3ZDhjY2Y0Yjc5NDg3YWI==' })\n};\n\n@Injectable()\nexport class SmartBillService {\n\n // private url = 'https://cors-anywhere.herokuapp.com/https://ws.smartbill.ro/SBORO/api/invoice/';\n private url = 'SBORO/api/invoice/';\n\n private token = \"4a46889db102438faa83b0b8151898a6\";\n\n\n constructor(\n public http: HttpClient\n ) { }\n\n public getPDF(seriesname: string, number: string): Observable {\n //const options = { responseType: 'blob' }; there is no use of this\n let hh = new HttpHeaders({ 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', \n 'Accept': 'application/octet-stream', 'Authorization': 'Basic YWxleC5yb2dvamluYXJ1QHBsdWdwb2ludC5ybzowMDF8MzE1OTBjMjI0MzQ5M2ZjMTU3ZDhjY2Y0Yjc5NDg3YWI==', responseType: 'blob' })\n let uri = 'pdf?cif=RO37904461&seriesname=' + seriesname + '&number=' + number;\n uri = this.url + uri;\n return this.http.get(uri, { headers : hh,responseType : \n 'blob' as 'json'});\n }\n\n\n generateInvoice(data: SmartBill){\n return this.http.post(this.url, data, httpOptions).pipe(\n catchError(this.handleError()));\n }\n\n getDealer(vendorName: string): Observable {\n let data = {\n \"getFranchised\": {\n \"franchised\": vendorName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"franchiseData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n\n /**\n * Handle Http operation that failed.\n * Let the app continue.\n * @param operation - name of the operation that failed\n * @param result - optional value to return as the observable result\n */\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n // console.error(error); // log to console instead\n\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n}\n","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NbAuthModule, NbDummyAuthStrategy } from '@nebular/auth';\nimport { NbSecurityModule, NbRoleProvider } from '@nebular/security';\nimport { of as observableOf } from 'rxjs';\n\nimport { throwIfAlreadyLoaded } from './module-import-guard';\nimport {\n AnalyticsService,\n LayoutService,\n PlayerService,\n SeoService,\n StateService,\n} from './utils';\nimport { UserData } from './data/users';\nimport { ElectricityData } from './data/electricity';\nimport { SmartTableData } from './data/smart-table';\nimport { UserActivityData } from './data/user-activity';\nimport { OrdersChartData } from './data/orders-chart';\nimport { ProfitChartData } from './data/profit-chart';\nimport { TrafficListData } from './data/traffic-list';\nimport { EarningData } from './data/earning';\nimport { OrdersProfitChartData } from './data/orders-profit-chart';\nimport { TrafficBarData } from './data/traffic-bar';\nimport { ProfitBarAnimationChartData } from './data/profit-bar-animation-chart';\nimport { TemperatureHumidityData } from './data/temperature-humidity';\nimport { SolarData } from './data/solar';\nimport { TrafficChartData } from './data/traffic-chart';\nimport { StatsBarData } from './data/stats-bar';\nimport { CountryOrderData } from './data/country-order';\nimport { StatsProgressBarData } from './data/stats-progress-bar';\nimport { VisitorsAnalyticsData } from './data/visitors-analytics';\nimport { SecurityCamerasData } from './data/security-cameras';\n\nimport { UserService } from './mock/users.service';\nimport { ElectricityService } from './mock/electricity.service';\nimport { SmartTableService } from './mock/smart-table.service';\nimport { UserActivityService } from './mock/user-activity.service';\nimport { OrdersChartService } from './mock/orders-chart.service';\nimport { ProfitChartService } from './mock/profit-chart.service';\nimport { TrafficListService } from './mock/traffic-list.service';\nimport { EarningService } from './mock/earning.service';\nimport { OrdersProfitChartService } from './mock/orders-profit-chart.service';\nimport { TrafficBarService } from './mock/traffic-bar.service';\nimport { ProfitBarAnimationChartService } from './mock/profit-bar-animation-chart.service';\nimport { TemperatureHumidityService } from './mock/temperature-humidity.service';\nimport { SolarService } from './mock/solar.service';\nimport { TrafficChartService } from './mock/traffic-chart.service';\nimport { StatsBarService } from './mock/stats-bar.service';\nimport { CountryOrderService } from './mock/country-order.service';\nimport { StatsProgressBarService } from './mock/stats-progress-bar.service';\nimport { VisitorsAnalyticsService } from './mock/visitors-analytics.service';\nimport { SecurityCamerasService } from './mock/security-cameras.service';\nimport { MockDataModule } from './mock/mock-data.module';\nimport { RolesProvider } from '../auth/roles.provider';\n\nconst socialLinks = [\n {\n url: 'https://github.com/akveo/nebular',\n target: '_blank',\n icon: 'github',\n },\n {\n url: 'https://www.facebook.com/akveo/',\n target: '_blank',\n icon: 'facebook',\n },\n {\n url: 'https://twitter.com/akveo_inc',\n target: '_blank',\n icon: 'twitter',\n },\n];\n\nconst DATA_SERVICES = [\n { provide: UserData, useClass: UserService },\n { provide: ElectricityData, useClass: ElectricityService },\n { provide: SmartTableData, useClass: SmartTableService },\n { provide: UserActivityData, useClass: UserActivityService },\n { provide: OrdersChartData, useClass: OrdersChartService },\n { provide: ProfitChartData, useClass: ProfitChartService },\n { provide: TrafficListData, useClass: TrafficListService },\n { provide: EarningData, useClass: EarningService },\n { provide: OrdersProfitChartData, useClass: OrdersProfitChartService },\n { provide: TrafficBarData, useClass: TrafficBarService },\n { provide: ProfitBarAnimationChartData, useClass: ProfitBarAnimationChartService },\n { provide: TemperatureHumidityData, useClass: TemperatureHumidityService },\n { provide: SolarData, useClass: SolarService },\n { provide: TrafficChartData, useClass: TrafficChartService },\n { provide: StatsBarData, useClass: StatsBarService },\n { provide: CountryOrderData, useClass: CountryOrderService },\n { provide: StatsProgressBarData, useClass: StatsProgressBarService },\n { provide: VisitorsAnalyticsData, useClass: VisitorsAnalyticsService },\n { provide: SecurityCamerasData, useClass: SecurityCamerasService },\n];\n\n// export class NbSimpleRoleProvider extends NbRoleProvider {\n// getRole() {\n// // here you could provide any role based on any auth flow\n// return observableOf('user');\n// }\n// }\n\nexport const NB_CORE_PROVIDERS = [\n ...MockDataModule.forRoot().providers,\n ...DATA_SERVICES,\n ...NbAuthModule.forRoot({\n\n strategies: [\n NbDummyAuthStrategy.setup({\n name: 'email',\n delay: 3000,\n }),\n ],\n forms: {\n login: {\n socialLinks: socialLinks,\n },\n register: {\n socialLinks: socialLinks,\n },\n },\n }).providers,\n NbSecurityModule.forRoot({\n accessControl: {\n guest: {\n view: 'home',\n },\n subscriber: {\n parent: 'guest',\n view: ['dashboard', 'reports'],\n },\n viewer: {\n parent: 'guest',\n view: ['dashboard', 'reports'],\n },\n vendor: {\n parent: 'viewer',\n view: ['dashboard','reports'],\n },\n dealer: {\n parent: 'vendor',\n view: ['vendorInfo', 'clients'],\n },\n god: {\n parent: 'dealer',\n view: 'user',\n },\n },\n }).providers,\n {\n provide: NbRoleProvider, useClass: RolesProvider \n },\n AnalyticsService,\n LayoutService,\n PlayerService,\n SeoService,\n StateService,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [\n NbAuthModule,\n ],\n declarations: [],\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n throwIfAlreadyLoaded(parentModule, 'CoreModule');\n }\n\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n ...NB_CORE_PROVIDERS,\n ],\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { StatsBarData } from '../data/stats-bar';\n\n@Injectable()\nexport class StatsBarService extends StatsBarData {\n\n private statsBarData: number[] = [\n 300, 520, 435, 530,\n 730, 620, 660, 860,\n ];\n\n getStatsBarData(): Observable {\n return observableOf(this.statsBarData);\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { of as observableOf, Observable, BehaviorSubject } from 'rxjs';\nimport { takeWhile } from 'rxjs/operators';\n\nimport { NbLayoutDirectionService, NbLayoutDirection } from '@nebular/theme';\n\n@Injectable()\nexport class StateService implements OnDestroy {\n\n protected layouts: any = [\n {\n name: 'One Column',\n icon: 'nb-layout-default',\n id: 'one-column',\n selected: true,\n },\n {\n name: 'Two Column',\n icon: 'nb-layout-two-column',\n id: 'two-column',\n },\n {\n name: 'Center Column',\n icon: 'nb-layout-centre',\n id: 'center-column',\n },\n ];\n\n protected sidebars: any = [\n {\n name: 'Sidebar at layout start',\n icon: 'nb-layout-sidebar-left',\n id: 'start',\n selected: true,\n },\n {\n name: 'Sidebar at layout end',\n icon: 'nb-layout-sidebar-right',\n id: 'end',\n },\n ];\n\n protected layoutState$ = new BehaviorSubject(this.layouts[0]);\n protected sidebarState$ = new BehaviorSubject(this.sidebars[0]);\n\n alive = true;\n\n constructor(directionService: NbLayoutDirectionService) {\n directionService.onDirectionChange()\n .pipe(takeWhile(() => this.alive))\n .subscribe(direction => this.updateSidebarIcons(direction));\n\n this.updateSidebarIcons(directionService.getDirection());\n }\n\n ngOnDestroy() {\n this.alive = false;\n }\n\n private updateSidebarIcons(direction: NbLayoutDirection) {\n const [ startSidebar, endSidebar ] = this.sidebars;\n const isLtr = direction === NbLayoutDirection.LTR;\n const startIconClass = isLtr ? 'nb-layout-sidebar-left' : 'nb-layout-sidebar-right';\n const endIconClass = isLtr ? 'nb-layout-sidebar-right' : 'nb-layout-sidebar-left';\n startSidebar.icon = startIconClass;\n endSidebar.icon = endIconClass;\n }\n\n setLayoutState(state: any): any {\n this.layoutState$.next(state);\n }\n\n getLayoutStates(): Observable {\n return observableOf(this.layouts);\n }\n\n onLayoutState(): Observable {\n return this.layoutState$.asObservable();\n }\n\n setSidebarState(state: any): any {\n this.sidebarState$.next(state);\n }\n\n getSidebarStates(): Observable {\n return observableOf(this.sidebars);\n }\n\n onSidebarState(): Observable {\n return this.sidebarState$.asObservable();\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { HighlightModule } from 'ngx-highlightjs';\nimport json from 'highlight.js/lib/languages/json';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { HomeComponent } from './pages/home/home.component';\nimport { HomeContentComponent } from './pages/home/components/home-content/home-content.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { NbThemeModule, NbSidebarModule, NbMenuModule, NbLayoutModule, NbDatepickerModule, NbToastrModule, NbDialogModule, NbIconModule, NbButtonModule, NbWindowModule, NbTreeGridModule, NbInputModule, NbRadioModule } from '@nebular/theme';\nimport { CoreModule } from './@core/core.module';\nimport { ThemeModule } from './@theme/theme.module';\nimport { AuthGuard } from './auth/auth.guard';\nimport { HttpClientModule } from '@angular/common/http';\nimport { StationsService } from './services/stations/stations.service';\nimport { LogoutComponent } from './@theme/components/logout/logout.component';\nimport { UserService } from './services/user/user.service';\nimport { DiscountsService } from './services/discounts/discounts.service';\nimport { DealerService } from './services/dealer/dealer.service';\nimport { AgmCoreModule } from '@agm/core';\nimport { SmartBillService } from './services/export/smartbill.service';\nimport { CarService } from './services/car/car.service';\nimport { LandingPageComponent } from './pages/home/landing-page/landing-page.component';\nimport { DatePipe } from '@angular/common';\n\n\n\nexport function hljsLanguages() {\n return [{ name: 'json', func: json }];\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeComponent,\n HomeContentComponent,\n LandingPageComponent,\n LogoutComponent,\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n HttpClientModule,\n AppRoutingModule,\n HighlightModule.forRoot({\n languages: hljsLanguages\n }),\n FontAwesomeModule,\n NbThemeModule.forRoot(),\n NbMenuModule.forRoot(),\n NbSidebarModule.forRoot(),\n NbDatepickerModule.forRoot(),\n NbLayoutModule,\n CoreModule.forRoot(),\n ThemeModule.forRoot(),\n NbToastrModule.forRoot(),\n NbDialogModule.forChild(),\n NbButtonModule,\n NbIconModule,\n AgmCoreModule.forRoot({\n apiKey: 'AIzaSyBPivBONeROKIU65AxYfRDHySo3LXnxcgk',\n libraries: ['places']\n }),\n NbWindowModule.forChild(),\n NbTreeGridModule,\n NbInputModule,\n NbRadioModule ],\n providers: [AuthGuard, StationsService, UserService, DiscountsService, DealerService, SmartBillService, CarService, DatePipe],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Injectable } from '@angular/core';\nimport { Guid } from 'guid-typescript';\nimport { Observable } from 'rxjs';\nimport { HttpClient, HttpHeaders, HttpResponse, HttpParams } from '@angular/common/http';\nimport { PlugpointEnvironment } from '../PlugpointEnvironment';\nimport { ActivityLog } from './log';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LogService {\n url: string;\n constructor(\n public http: HttpClient\n\n ) {\n this.url = PlugpointEnvironment.url;\n\n }\n async getTriggerMsgLogs(): Promise {\n let sessionId = Guid.create().toString();\n const today = new Date().getTime();\n const thirtyDaysAgo = today - 2592000000;\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', \"SessionID\": sessionId, 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==' })\n };\n let uri = this.url + `/events-logger/activity-log/all-by-fields?topic=trigger-message-all&from=${thirtyDaysAgo}&to=${today}`\n const response = await fetch(uri, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'SessionID': sessionId,\n 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg=='\n }\n })\n return await response.json();\n }\n\n getActivityLogs(\n from: number, to: number, page: number, size: number, sortBy: string, sortDirection: string): Observable {\n let sessionId = Guid.create().toString();\n // Create query parameters with pagination and sorting values\n const params = new HttpParams()\n .set('from', from.toString())\n .set('to', to.toString())\n .set('page', page.toString())\n .set('size', size.toString())\n .set('sortBy', sortBy.toString()) // eg. 'sent'\n .set('sortDirection', sortDirection.toString()); // eg. 'asc ,desc'\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', \"SessionID\": sessionId, 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==' }),\n params: params\n };\n\n return this.http.get(`${this.url}/events-logger/activity-log/all-from-interval`, httpOptionsLocal);\n }\n getLogs(start: number, end: number): Observable {\n let sessionId = Guid.create().toString();\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', \"SessionID\": sessionId, 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==' })\n };\n let uri = this.url + `/events-logger/activity-log/all-from-interval?from=${start}&to=${end}`\n return this.http.get(uri, httpOptionsLocal);\n }\n addLog(log: ActivityLog) {\n let sessionId = Guid.create().toString();\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', \"SessionID\": sessionId, 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==' })\n };\n let uri = this.url + `/events-logger/activity-log/add`\n let sent = new Date().getTime();\n let body = {\n \"userId\": log.userId,\n \"sent\": sent,\n \"topic\": log.topic,\n \"action\": log.action,\n \"entity\": log.entity,\n \"oldData\": log.oldData,\n \"newData\": log.newData,\n \"additionalData\": log.additionalData\n }\n\n // console.log('added log ' + JSON.stringify(body))\n // console.log('at uri ' + uri)\n //functioneaza doar cu .toPromise() ???? sunt foarte confuz\n return this.http.post(uri, body, httpOptionsLocal).toPromise();\n }\n getLogsByField(body: object): Observable {\n let sessionId = Guid.create().toString();\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', \"SessionID\": sessionId, 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==' }),\n };\n console.log(body)\n let uri = this.url + `/events-logger/activity-log/all-by-fields?`\n for (let key in body) {\n if (body[key] != null) {\n uri += `${key}=${body[key]}&`\n }\n }\n uri = uri.substring(0, uri.length - 1);\n return this.http.get(uri, httpOptionsLocal);\n\n }\n getEventsBySessionId(sessionId: string) {\n\n let session = Guid.create().toString();\n\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', \"SessionID\": session, 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==' }),\n };\n\n let uri = this.url + `/events-logger/session/${sessionId}`\n\n return this.http.get(uri, httpOptionsLocal);\n }\n getEventsByUserId(userId: string, startDate: number, endDate: number) {\n\n let sessionId = Guid.create().toString();\n\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', \"SessionID\": sessionId, 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==' }),\n };\n\n let uri = this.url + `/events-logger/user-interval/${userId}/${startDate}/${endDate}`\n\n return this.http.get(uri, httpOptionsLocal);\n }\n getEventsByEvseId(evseId: string, startDate: number, endDate: number) {\n\n let sessionId = Guid.create().toString();\n\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', \"SessionID\": sessionId, 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==' }),\n };\n\n let uri = this.url + `/events-logger/evse-interval/${evseId}/${startDate}/${endDate}`\n\n return this.http.get(uri, httpOptionsLocal);\n }\n getEventsByMessage(message: string, startDate: number, endDate: number) {\n\n let sessionId = Guid.create().toString();\n\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', \"SessionID\": sessionId, 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==' }),\n };\n\n let uri = this.url + `/events-logger/message-interval/${message}/${startDate}/${endDate}`\n\n return this.http.get(uri, httpOptionsLocal);\n }\n}\nexport interface event {\n error: boolean,\n eventId : number,\n message: string,\n sessionId: string,\n timestamp: number,\n userId: string,\n service: string,\n additionalData: string,\n evseId: string,\n}\n","\n/**\n * @description this variable is used to set the environment of the application. choose between \"prod\", \"demo\" or \"custom\"\n * if \"custom\" make sure to change the switch custom case\n*/\nexport let env: string = \"prod\";\nlet csl = false;\n\nexport class PlugpointEnvironment {\n public static endpoint = \"https://app.plugpoint.ro:8443/helios/api\";\n public static token = \"4a46889db102438faa83b0b8151898a6\";\n public static wssEndpoint = \"wss://app.plugpoint.ro:8443/overwatch/centralSystem/\";\n public static haproxyEndpoint = \"https://app.plugpoint.ro/helios/\";\n public static url = \"https://app.plugpoint.ro\"\n public static consoleDisabled = !csl ? true : false;\n}\nswitch (env) {\n\n case \"demo\":\n PlugpointEnvironment.endpoint = \"https://api-test.plugpoint.ro:8443/helios/api\";\n PlugpointEnvironment.token = \"4a46889db102438faa83b0b8151898a6\";\n PlugpointEnvironment.wssEndpoint = \"wss://api-test.plugpoint.ro:8443/overwatch/centralSystem/\";\n PlugpointEnvironment.url = \"https://api-test.plugpoint.ro\"\n PlugpointEnvironment.haproxyEndpoint = \"https://api-test.plugpoint.ro/helios/\";\n break;\n\n case \"custom\":\n PlugpointEnvironment.endpoint = \"\";\n PlugpointEnvironment.token = \"4a46889db102438faa83b0b8151898a6\";\n PlugpointEnvironment.wssEndpoint = \"\";\n PlugpointEnvironment.url = \"\"\n break;\n\n default:\n break;\n}\n","import { Injectable } from '@angular/core';\n\nexport class Track {\n name: string;\n artist: string;\n url: string;\n cover: string;\n}\n\n@Injectable()\nexport class PlayerService {\n current: number;\n playlist: Track[] = [\n {\n name: 'Don\\'t Wanna Fight',\n artist: 'Alabama Shakes',\n url: 'https://p.scdn.co/mp3-preview/6156cdbca425a894972c02fca9d76c0b70e001af',\n cover: 'assets/images/cover1.jpg',\n },\n {\n name: 'Harder',\n artist: 'Daft Punk',\n url: 'https://p.scdn.co/mp3-preview/92a04c7c0e96bf93a1b1b1cae7dfff1921969a7b',\n cover: 'assets/images/cover2.jpg',\n },\n {\n name: 'Come Together',\n artist: 'Beatles',\n url: 'https://p.scdn.co/mp3-preview/83090a4db6899eaca689ae35f69126dbe65d94c9',\n cover: 'assets/images/cover3.jpg',\n },\n ];\n\n random(): Track {\n this.current = Math.floor(Math.random() * this.playlist.length);\n return this.playlist[this.current];\n }\n\n next(): Track {\n return this.getNextTrack();\n }\n\n prev() {\n return this.getPrevTrack();\n }\n\n private getNextTrack(): Track {\n if (this.current === this.playlist.length - 1) {\n this.current = 0;\n } else {\n this.current++;\n }\n\n return this.playlist[this.current];\n }\n\n private getPrevTrack(): Track {\n if (this.current === 0) {\n this.current = this.playlist.length - 1;\n } else {\n this.current--;\n }\n\n return this.playlist[this.current];\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { wsPayloadResponse } from '../user/payload';\nimport { tap, catchError, map } from 'rxjs/operators';\nimport { HtmlTagDefinition } from '@angular/compiler';\nimport { PlugpointEnvironment } from '../PlugpointEnvironment';\nimport { Guid } from 'guid-typescript';\nimport { GroupData } from './groupMembers';\n\n\nconst httpOptions = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0' })\n};\n\n@Injectable()\nexport class DiscountsService {\n\n\n // private url = 'https://89.33.44.84:8443/helios/api'; //test\n // private url = 'https://manage.plugpoint.ro:8443/helios/api';\n // private url = 'https://app.plugpoint.ro:8443/helios/api';\n private url = 'https://app.plugpoint.ro:8443/helios/api';\n\n private token = \"4a46889db102438faa83b0b8151898a6\";\n public guid = true;\n constructor(\n public http: HttpClient\n ) {\n this.url = PlugpointEnvironment.endpoint;\n }\n\n getVendorPromotions(vendorName: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getPromotions\": {\n \"vendorName\": vendorName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"promotionData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getPromotion(id: number): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getPromotion\": {\n \"promotionDataId\": id\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"promotionData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n addPromotion(name: string, owner: string, discount: number, startDate: number, endDate: number, stationList: string[], publicCharging: boolean): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"addPromotion\": {\n \"promotionName\": name,\n \"promotionOwner\": owner,\n \"discount\": discount,\n \"promotionStart\": startDate, // getTime() miliseconds\n \"promotionEnd\": endDate,\n \"stations\": stationList.toString(),\n \"publicCharging\": publicCharging\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"promotionData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n editPromotion(id: number, name: string, owner: string, discount: number, startDate: number, endDate: number, stationList: string[]): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"updatePromotion\": {\n \"promotionDataId\": id,\n \"promotionName\": name,\n \"promotionOwner\": owner,\n \"discount\": discount,\n \"promotionStart\": startDate, // getTime() miliseconds\n \"promotionEnd\": endDate,\n \"stations\": stationList.toString()\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"promotionData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n deletePromotion(id: number): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"deletePromotion\": {\n \"promotionDataId\": id\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"promotionData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getVendorGroups(vendorId: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getGroups\": {\n \"vendorName\": vendorId\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n console.log(body);\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n addGroup(userId: string, vendorName: string, groupName: string, discount: number, active: boolean, fleet: boolean): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"addGroup\": {\n \"requester\": userId,\n \"groupName\": groupName,\n \"groupOwner\": vendorName,\n \"discount\": discount,\n \"active\": active,\n \"fleet\": fleet,\n \"publicCharging\": true,\n \"restrictions\":{\n \"isACRestricted\":false,\n \"isDCRestricted\":false,\n \"kwDayLimit\":0,\n \"kwMonthLimit\":0,\n \"sessionsDayLimit\":0,\n }\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n console.log(body);\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n updateGroup(userId: string, vendorId: string, groupDataId: number, groupName: string, discount: number, active: boolean): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateGroup\": {\n \"requester\": userId,\n \"groupDataId\": groupDataId,\n \"groupName\": groupName,\n \"groupOwner\": vendorId,\n \"discount\": discount,\n \"active\": active\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n updateGrouForPublicCharging(userId: string, group: any,active: boolean): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateGroup\": {\n \"requester\": userId,\n \"groupDataId\": group.groupDataId,\n \"groupName\": group.groupName,\n \"groupOwner\": group.groupOwner,\n \"fleet\": group.fleet,\n \"restrictions\": {\n \"isACRestricted\": group.restrictions.isACRestricted,\n \"isDCRestricted\": group.restrictions.isDCRestricted,\n \"kwDayLimit\": group.restrictions.kwDayLimit,\n \"kwWeekLimit\": group.restrictions.kwWeekLimit,\n \"sessionsDayLimit\": group.restrictions.sessionsDayLimit\n },\n \"publicCharging\": group.publicCharging\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n\n deleteGroup(userId: string, groupDataId: number): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"deleteGroup\": {\n \"requester\": userId,\n \"groupDataId\": groupDataId,\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n // get all promotions by sending active value\n\n getAllPromotions(active: boolean): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getPromotionsList\": {\n \"active\": active\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"promotionData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n inviteMemberGroup(userId: string, groupName: string, vendorName: string, userEmail: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"inviteMember\": {\n \"requester\": userId,\n \"groupName\": groupName,\n \"groupOwner\": vendorName,\n \"userEmail\": userEmail\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n deleteMemberPendingGroup(vendorName: string, userEmail: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"removePending\": {\n \"groupOwner\": vendorName,\n \"userEmail\": userEmail\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n getAllPendingByVendor(vendorName: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getPendings\": {\n \"vendorName\": vendorName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getAllPendingByUser(userName: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"pendingsUser\": {\n \"userName\": userName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n addMemberToGroup(userId: string, groupName: string, vendorName: string, userInfo: string, userEmail: string, userName: string, tagId, stations: Array): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"addMember\": {\n \"requester\": userId,\n \"groupName\": groupName,\n \"groupOwner\": vendorName,\n \"userInfo\": userInfo,\n \"userEmail\": userEmail,\n \"userName\": userName,\n \"tagId\": tagId,\n \"stationList\": stations\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n updateMemberInfo(userId: string, groupId: number, userInfo: string, tagId: string, stations: Array, publicCharging: boolean, isDCRestricted: boolean, isACRestricted: boolean, kwDayLimit: number, kwWeekLimit: number, sessionsDayLimit: number): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateMember\": {\n \"requester\": userId,\n \"groupUserInfoId\": groupId,\n \"userInfo\": userInfo,\n \"tagId\" : tagId,\n \"stationList\": stations,\n \"publicCharging\": publicCharging,\n \"restrictions\":{\n \"isACRestricted\":isACRestricted,\n \"isDCRestricted\":isDCRestricted,\n \"kwDayLimit\":kwDayLimit,\n \"kwWeekLimit\":kwWeekLimit,\n \"sessionsDayLimit\":sessionsDayLimit,\n }\n }\n }\n console.log('body : ', data)\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n deleteMemberFromGroup(userId: string, groupName: string, vendorName: string, userEmail: string, tagId: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"deleteMember\": {\n \"requester\": userId,\n \"groupName\": groupName,\n \"groupOwner\": vendorName,\n \"userEmail\": userEmail,\n \"tagId\": tagId\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getMembersByGroup(groupName: string, vendorName: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getMembers\": {\n \"groupName\": groupName,\n \"groupOwner\": vendorName,\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getUserGroups(userName: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"showGroups\": {\n \"userName\": userName,\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"groupData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getGroupInfo(groupId: number): Observable {\n var finalUrl = PlugpointEnvironment.haproxyEndpoint + \"fleet/get-group-info/\" +groupId;\n return this.http.get(finalUrl, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n\n\n\n /**\n * Handle Http operation that failed.\n * Let the app continue.\n * @param operation - name of the operation that failed\n * @param result - optional value to return as the observable result\n */\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n // console.error(error); // log to console instead\n\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { LiveUpdateChart, PieChart, EarningData } from '../data/earning';\n\n@Injectable()\nexport class EarningService extends EarningData {\n\n private currentDate: Date = new Date();\n private currentValue = Math.random() * 1000;\n private ONE_DAY = 24 * 3600 * 1000;\n\n private pieChartData = [\n {\n value: 50,\n name: 'Bitcoin',\n },\n {\n value: 25,\n name: 'Tether',\n },\n {\n value: 25,\n name: 'Ethereum',\n },\n ];\n\n private liveUpdateChartData = {\n bitcoin: {\n liveChart: [],\n delta: {\n up: true,\n value: 4,\n },\n dailyIncome: 45895,\n },\n tether: {\n liveChart: [],\n delta: {\n up: false,\n value: 9,\n },\n dailyIncome: 5862,\n },\n ethereum: {\n liveChart: [],\n delta: {\n up: false,\n value: 21,\n },\n dailyIncome: 584,\n },\n };\n\n getDefaultLiveChartData(elementsNumber: number) {\n this.currentDate = new Date();\n this.currentValue = Math.random() * 1000;\n\n return Array.from(Array(elementsNumber))\n .map(item => this.generateRandomLiveChartData());\n }\n\n generateRandomLiveChartData() {\n this.currentDate = new Date(+this.currentDate + this.ONE_DAY);\n this.currentValue = this.currentValue + Math.random() * 20 - 11;\n\n if (this.currentValue < 0) {\n this.currentValue = Math.random() * 100;\n }\n\n return {\n value: [\n [\n this.currentDate.getFullYear(),\n this.currentDate.getMonth(),\n this.currentDate.getDate(),\n ].join('/'),\n Math.round(this.currentValue),\n ],\n };\n }\n\n getEarningLiveUpdateCardData(currency): Observable {\n const data = this.liveUpdateChartData[currency.toLowerCase()];\n const newValue = this.generateRandomLiveChartData();\n\n data.liveChart.shift();\n data.liveChart.push(newValue);\n\n return observableOf(data.liveChart);\n }\n\n getEarningCardData(currency: string): Observable {\n const data = this.liveUpdateChartData[currency.toLowerCase()];\n\n data.liveChart = this.getDefaultLiveChartData(150);\n\n return observableOf(data);\n }\n\n getEarningPieChartData(): Observable {\n return observableOf(this.pieChartData);\n }\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class TrafficChartData {\n abstract getTrafficChartData(): Observable;\n}\n","import { Injectable, Inject, PLATFORM_ID, OnDestroy } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { NB_DOCUMENT } from '@nebular/theme';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class SeoService implements OnDestroy {\n\n private readonly destroy$ = new Subject();\n private readonly dom: Document;\n private readonly isBrowser: boolean;\n private linkCanonical: HTMLLinkElement;\n\n constructor(\n private router: Router,\n @Inject(NB_DOCUMENT) document,\n @Inject(PLATFORM_ID) platformId,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n this.dom = document;\n\n if (this.isBrowser) {\n this.createCanonicalTag();\n }\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n createCanonicalTag() {\n this.linkCanonical = this.dom.createElement('link');\n this.linkCanonical.setAttribute('rel', 'canonical');\n this.dom.head.appendChild(this.linkCanonical);\n this.linkCanonical.setAttribute('href', this.getCanonicalUrl());\n }\n\n trackCanonicalChanges() {\n if (!this.isBrowser) {\n return;\n }\n\n this.router.events.pipe(\n filter((event) => event instanceof NavigationEnd),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.linkCanonical.setAttribute('href', this.getCanonicalUrl());\n });\n }\n\n private getCanonicalUrl(): string {\n return this.dom.location.origin + this.dom.location.pathname;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { SmartTableData } from '../data/smart-table';\n\n@Injectable()\nexport class SmartTableService extends SmartTableData {\n\n data = [{\n id: 1,\n firstName: 'Mark',\n lastName: 'Otto',\n username: '@mdo',\n email: 'mdo@gmail.com',\n age: '28',\n }, {\n id: 2,\n firstName: 'Jacob',\n lastName: 'Thornton',\n username: '@fat',\n email: 'fat@yandex.ru',\n age: '45',\n }, {\n id: 3,\n firstName: 'Larry',\n lastName: 'Bird',\n username: '@twitter',\n email: 'twitter@outlook.com',\n age: '18',\n }, {\n id: 4,\n firstName: 'John',\n lastName: 'Snow',\n username: '@snow',\n email: 'snow@gmail.com',\n age: '20',\n }, {\n id: 5,\n firstName: 'Jack',\n lastName: 'Sparrow',\n username: '@jack',\n email: 'jack@yandex.ru',\n age: '30',\n }, {\n id: 6,\n firstName: 'Ann',\n lastName: 'Smith',\n username: '@ann',\n email: 'ann@gmail.com',\n age: '21',\n }, {\n id: 7,\n firstName: 'Barbara',\n lastName: 'Black',\n username: '@barbara',\n email: 'barbara@yandex.ru',\n age: '43',\n }, {\n id: 8,\n firstName: 'Sevan',\n lastName: 'Bagrat',\n username: '@sevan',\n email: 'sevan@outlook.com',\n age: '13',\n }, {\n id: 9,\n firstName: 'Ruben',\n lastName: 'Vardan',\n username: '@ruben',\n email: 'ruben@gmail.com',\n age: '22',\n }, {\n id: 10,\n firstName: 'Karen',\n lastName: 'Sevan',\n username: '@karen',\n email: 'karen@yandex.ru',\n age: '33',\n }, {\n id: 11,\n firstName: 'Mark',\n lastName: 'Otto',\n username: '@mark',\n email: 'mark@gmail.com',\n age: '38',\n }, {\n id: 12,\n firstName: 'Jacob',\n lastName: 'Thornton',\n username: '@jacob',\n email: 'jacob@yandex.ru',\n age: '48',\n }, {\n id: 13,\n firstName: 'Haik',\n lastName: 'Hakob',\n username: '@haik',\n email: 'haik@outlook.com',\n age: '48',\n }, {\n id: 14,\n firstName: 'Garegin',\n lastName: 'Jirair',\n username: '@garegin',\n email: 'garegin@gmail.com',\n age: '40',\n }, {\n id: 15,\n firstName: 'Krikor',\n lastName: 'Bedros',\n username: '@krikor',\n email: 'krikor@yandex.ru',\n age: '32',\n }, {\n 'id': 16,\n 'firstName': 'Francisca',\n 'lastName': 'Brady',\n 'username': '@Gibson',\n 'email': 'franciscagibson@comtours.com',\n 'age': 11,\n }, {\n 'id': 17,\n 'firstName': 'Tillman',\n 'lastName': 'Figueroa',\n 'username': '@Snow',\n 'email': 'tillmansnow@comtours.com',\n 'age': 34,\n }, {\n 'id': 18,\n 'firstName': 'Jimenez',\n 'lastName': 'Morris',\n 'username': '@Bryant',\n 'email': 'jimenezbryant@comtours.com',\n 'age': 45,\n }, {\n 'id': 19,\n 'firstName': 'Sandoval',\n 'lastName': 'Jacobson',\n 'username': '@Mcbride',\n 'email': 'sandovalmcbride@comtours.com',\n 'age': 32,\n }, {\n 'id': 20,\n 'firstName': 'Griffin',\n 'lastName': 'Torres',\n 'username': '@Charles',\n 'email': 'griffincharles@comtours.com',\n 'age': 19,\n }, {\n 'id': 21,\n 'firstName': 'Cora',\n 'lastName': 'Parker',\n 'username': '@Caldwell',\n 'email': 'coracaldwell@comtours.com',\n 'age': 27,\n }, {\n 'id': 22,\n 'firstName': 'Cindy',\n 'lastName': 'Bond',\n 'username': '@Velez',\n 'email': 'cindyvelez@comtours.com',\n 'age': 24,\n }, {\n 'id': 23,\n 'firstName': 'Frieda',\n 'lastName': 'Tyson',\n 'username': '@Craig',\n 'email': 'friedacraig@comtours.com',\n 'age': 45,\n }, {\n 'id': 24,\n 'firstName': 'Cote',\n 'lastName': 'Holcomb',\n 'username': '@Rowe',\n 'email': 'coterowe@comtours.com',\n 'age': 20,\n }, {\n 'id': 25,\n 'firstName': 'Trujillo',\n 'lastName': 'Mejia',\n 'username': '@Valenzuela',\n 'email': 'trujillovalenzuela@comtours.com',\n 'age': 16,\n }, {\n 'id': 26,\n 'firstName': 'Pruitt',\n 'lastName': 'Shepard',\n 'username': '@Sloan',\n 'email': 'pruittsloan@comtours.com',\n 'age': 44,\n }, {\n 'id': 27,\n 'firstName': 'Sutton',\n 'lastName': 'Ortega',\n 'username': '@Black',\n 'email': 'suttonblack@comtours.com',\n 'age': 42,\n }, {\n 'id': 28,\n 'firstName': 'Marion',\n 'lastName': 'Heath',\n 'username': '@Espinoza',\n 'email': 'marionespinoza@comtours.com',\n 'age': 47,\n }, {\n 'id': 29,\n 'firstName': 'Newman',\n 'lastName': 'Hicks',\n 'username': '@Keith',\n 'email': 'newmankeith@comtours.com',\n 'age': 15,\n }, {\n 'id': 30,\n 'firstName': 'Boyle',\n 'lastName': 'Larson',\n 'username': '@Summers',\n 'email': 'boylesummers@comtours.com',\n 'age': 32,\n }, {\n 'id': 31,\n 'firstName': 'Haynes',\n 'lastName': 'Vinson',\n 'username': '@Mckenzie',\n 'email': 'haynesmckenzie@comtours.com',\n 'age': 15,\n }, {\n 'id': 32,\n 'firstName': 'Miller',\n 'lastName': 'Acosta',\n 'username': '@Young',\n 'email': 'milleryoung@comtours.com',\n 'age': 55,\n }, {\n 'id': 33,\n 'firstName': 'Johnston',\n 'lastName': 'Brown',\n 'username': '@Knight',\n 'email': 'johnstonknight@comtours.com',\n 'age': 29,\n }, {\n 'id': 34,\n 'firstName': 'Lena',\n 'lastName': 'Pitts',\n 'username': '@Forbes',\n 'email': 'lenaforbes@comtours.com',\n 'age': 25,\n }, {\n 'id': 35,\n 'firstName': 'Terrie',\n 'lastName': 'Kennedy',\n 'username': '@Branch',\n 'email': 'terriebranch@comtours.com',\n 'age': 37,\n }, {\n 'id': 36,\n 'firstName': 'Louise',\n 'lastName': 'Aguirre',\n 'username': '@Kirby',\n 'email': 'louisekirby@comtours.com',\n 'age': 44,\n }, {\n 'id': 37,\n 'firstName': 'David',\n 'lastName': 'Patton',\n 'username': '@Sanders',\n 'email': 'davidsanders@comtours.com',\n 'age': 26,\n }, {\n 'id': 38,\n 'firstName': 'Holden',\n 'lastName': 'Barlow',\n 'username': '@Mckinney',\n 'email': 'holdenmckinney@comtours.com',\n 'age': 11,\n }, {\n 'id': 39,\n 'firstName': 'Baker',\n 'lastName': 'Rivera',\n 'username': '@Montoya',\n 'email': 'bakermontoya@comtours.com',\n 'age': 47,\n }, {\n 'id': 40,\n 'firstName': 'Belinda',\n 'lastName': 'Lloyd',\n 'username': '@Calderon',\n 'email': 'belindacalderon@comtours.com',\n 'age': 21,\n }, {\n 'id': 41,\n 'firstName': 'Pearson',\n 'lastName': 'Patrick',\n 'username': '@Clements',\n 'email': 'pearsonclements@comtours.com',\n 'age': 42,\n }, {\n 'id': 42,\n 'firstName': 'Alyce',\n 'lastName': 'Mckee',\n 'username': '@Daugherty',\n 'email': 'alycedaugherty@comtours.com',\n 'age': 55,\n }, {\n 'id': 43,\n 'firstName': 'Valencia',\n 'lastName': 'Spence',\n 'username': '@Olsen',\n 'email': 'valenciaolsen@comtours.com',\n 'age': 20,\n }, {\n 'id': 44,\n 'firstName': 'Leach',\n 'lastName': 'Holcomb',\n 'username': '@Humphrey',\n 'email': 'leachhumphrey@comtours.com',\n 'age': 28,\n }, {\n 'id': 45,\n 'firstName': 'Moss',\n 'lastName': 'Baxter',\n 'username': '@Fitzpatrick',\n 'email': 'mossfitzpatrick@comtours.com',\n 'age': 51,\n }, {\n 'id': 46,\n 'firstName': 'Jeanne',\n 'lastName': 'Cooke',\n 'username': '@Ward',\n 'email': 'jeanneward@comtours.com',\n 'age': 59,\n }, {\n 'id': 47,\n 'firstName': 'Wilma',\n 'lastName': 'Briggs',\n 'username': '@Kidd',\n 'email': 'wilmakidd@comtours.com',\n 'age': 53,\n }, {\n 'id': 48,\n 'firstName': 'Beatrice',\n 'lastName': 'Perry',\n 'username': '@Gilbert',\n 'email': 'beatricegilbert@comtours.com',\n 'age': 39,\n }, {\n 'id': 49,\n 'firstName': 'Whitaker',\n 'lastName': 'Hyde',\n 'username': '@Mcdonald',\n 'email': 'whitakermcdonald@comtours.com',\n 'age': 35,\n }, {\n 'id': 50,\n 'firstName': 'Rebekah',\n 'lastName': 'Duran',\n 'username': '@Gross',\n 'email': 'rebekahgross@comtours.com',\n 'age': 40,\n }, {\n 'id': 51,\n 'firstName': 'Earline',\n 'lastName': 'Mayer',\n 'username': '@Woodward',\n 'email': 'earlinewoodward@comtours.com',\n 'age': 52,\n }, {\n 'id': 52,\n 'firstName': 'Moran',\n 'lastName': 'Baxter',\n 'username': '@Johns',\n 'email': 'moranjohns@comtours.com',\n 'age': 20,\n }, {\n 'id': 53,\n 'firstName': 'Nanette',\n 'lastName': 'Hubbard',\n 'username': '@Cooke',\n 'email': 'nanettecooke@comtours.com',\n 'age': 55,\n }, {\n 'id': 54,\n 'firstName': 'Dalton',\n 'lastName': 'Walker',\n 'username': '@Hendricks',\n 'email': 'daltonhendricks@comtours.com',\n 'age': 25,\n }, {\n 'id': 55,\n 'firstName': 'Bennett',\n 'lastName': 'Blake',\n 'username': '@Pena',\n 'email': 'bennettpena@comtours.com',\n 'age': 13,\n }, {\n 'id': 56,\n 'firstName': 'Kellie',\n 'lastName': 'Horton',\n 'username': '@Weiss',\n 'email': 'kellieweiss@comtours.com',\n 'age': 48,\n }, {\n 'id': 57,\n 'firstName': 'Hobbs',\n 'lastName': 'Talley',\n 'username': '@Sanford',\n 'email': 'hobbssanford@comtours.com',\n 'age': 28,\n }, {\n 'id': 58,\n 'firstName': 'Mcguire',\n 'lastName': 'Donaldson',\n 'username': '@Roman',\n 'email': 'mcguireroman@comtours.com',\n 'age': 38,\n }, {\n 'id': 59,\n 'firstName': 'Rodriquez',\n 'lastName': 'Saunders',\n 'username': '@Harper',\n 'email': 'rodriquezharper@comtours.com',\n 'age': 20,\n }, {\n 'id': 60,\n 'firstName': 'Lou',\n 'lastName': 'Conner',\n 'username': '@Sanchez',\n 'email': 'lousanchez@comtours.com',\n 'age': 16,\n }];\n\n getData() {\n return this.data;\n }\n}\n","import { Observable } from 'rxjs';\n\nexport interface OutlineData {\n label: string;\n value: number;\n}\n\nexport abstract class VisitorsAnalyticsData {\n abstract getInnerLineChartData(): Observable;\n abstract getOutlineLineChartData(): Observable;\n abstract getPieChartData(): Observable;\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { TemperatureHumidityData, Temperature } from '../data/temperature-humidity';\n\n@Injectable()\nexport class TemperatureHumidityService extends TemperatureHumidityData {\n\n private temperatureDate: Temperature = {\n value: 24,\n min: 12,\n max: 30,\n };\n\n private humidityDate: Temperature = {\n value: 87,\n min: 0,\n max: 100,\n };\n\n getTemperatureData(): Observable {\n return observableOf(this.temperatureDate);\n }\n\n getHumidityData(): Observable {\n return observableOf(this.humidityDate);\n }\n}\n","import { Observable } from 'rxjs';\n\nexport interface Camera {\n title: string;\n source: string;\n}\n\nexport abstract class SecurityCamerasData {\n abstract getCamerasData(): Observable;\n}\n","import { NbJSThemeOptions, DEFAULT_THEME as baseTheme } from '@nebular/theme';\n\nconst baseThemeVariables = baseTheme.variables;\n\nexport const DEFAULT_THEME = {\n name: 'default',\n base: 'default',\n variables: {\n temperature: {\n arcFill: [\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n baseThemeVariables.primary,\n ],\n arcEmpty: baseThemeVariables.bg2,\n thumbBg: baseThemeVariables.bg2,\n thumbBorder: baseThemeVariables.primary,\n },\n\n solar: {\n gradientLeft: baseThemeVariables.primary,\n gradientRight: baseThemeVariables.primary,\n shadowColor: 'rgba(0, 0, 0, 0)',\n secondSeriesFill: baseThemeVariables.bg2,\n radius: ['80%', '90%'],\n },\n\n traffic: {\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n yAxisSplitLine: baseThemeVariables.separator,\n\n lineBg: baseThemeVariables.border4,\n lineShadowBlur: '1',\n itemColor: baseThemeVariables.border4,\n itemBorderColor: baseThemeVariables.border4,\n itemEmphasisBorderColor: baseThemeVariables.primary,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n shadowLineShadow: 'rgba(0, 0, 0, 0)',\n gradFrom: baseThemeVariables.bg2,\n gradTo: baseThemeVariables.bg2,\n },\n\n electricity: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: baseThemeVariables.fgText,\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n\n axisLineColor: baseThemeVariables.border3,\n xAxisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n lineGradFrom: baseThemeVariables.primary,\n lineGradTo: baseThemeVariables.primary,\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.bg2,\n areaGradTo: baseThemeVariables.bg2,\n shadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n bubbleMap: {\n titleColor: baseThemeVariables.fgText,\n areaColor: baseThemeVariables.bg4,\n areaHoverColor: baseThemeVariables.fgHighlight,\n areaBorderColor: baseThemeVariables.border5,\n },\n\n profitBarAnimationEchart: {\n textColor: baseThemeVariables.fgText,\n\n firstAnimationBarColor: baseThemeVariables.primary,\n secondAnimationBarColor: baseThemeVariables.success,\n\n splitLineStyleOpacity: '1',\n splitLineStyleWidth: '1',\n splitLineStyleColor: baseThemeVariables.separator,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n\n trafficBarEchart: {\n gradientFrom: baseThemeVariables.warningLight,\n gradientTo: baseThemeVariables.warning,\n shadow: baseThemeVariables.warningLight,\n shadowBlur: '0',\n\n axisTextColor: baseThemeVariables.fgText,\n axisFontSize: '12',\n\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n },\n\n countryOrders: {\n countryBorderColor: baseThemeVariables.border4,\n countryFillColor: baseThemeVariables.bg3,\n countryBorderWidth: '1',\n hoveredCountryBorderColor: baseThemeVariables.primary,\n hoveredCountryFillColor: baseThemeVariables.primaryLight,\n hoveredCountryBorderWidth: '1',\n\n chartAxisLineColor: baseThemeVariables.border4,\n chartAxisTextColor: baseThemeVariables.fg,\n chartAxisFontSize: '16',\n chartGradientTo: baseThemeVariables.primary,\n chartGradientFrom: baseThemeVariables.primaryLight,\n chartAxisSplitLine: baseThemeVariables.separator,\n chartShadowLineColor: baseThemeVariables.primaryLight,\n\n chartLineBottomShadowColor: baseThemeVariables.primary,\n\n chartInnerLineColor: baseThemeVariables.bg2,\n },\n\n echarts: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.fgText,\n splitLineColor: baseThemeVariables.separator,\n itemHoverShadowColor: 'rgba(0, 0, 0, 0.5)',\n tooltipBackgroundColor: baseThemeVariables.primary,\n areaOpacity: '0.7',\n },\n\n chartjs: {\n axisLineColor: baseThemeVariables.separator,\n textColor: baseThemeVariables.fgText,\n },\n\n orders: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '0',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'solid',\n lineWidth: '4',\n\n // first line\n firstAreaGradFrom: baseThemeVariables.bg3,\n firstAreaGradTo: baseThemeVariables.bg3,\n firstShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // second line\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n\n secondAreaGradFrom: 'rgba(51, 102, 255, 0.2)',\n secondAreaGradTo: 'rgba(51, 102, 255, 0)',\n secondShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n\n // third line\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n\n thirdAreaGradFrom: 'rgba(0, 214, 143, 0.2)',\n thirdAreaGradTo: 'rgba(0, 214, 143, 0)',\n thirdShadowLineDarkBg: 'rgba(0, 0, 0, 0)',\n },\n\n profit: {\n bg: baseThemeVariables.bg,\n textColor: baseThemeVariables.fgText,\n axisLineColor: baseThemeVariables.border4,\n splitLineColor: baseThemeVariables.separator,\n areaOpacity: '1',\n\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n\n // first bar\n firstLineGradFrom: baseThemeVariables.bg3,\n firstLineGradTo: baseThemeVariables.bg3,\n firstLineShadow: 'rgba(0, 0, 0, 0)',\n\n // second bar\n secondLineGradFrom: baseThemeVariables.primary,\n secondLineGradTo: baseThemeVariables.primary,\n secondLineShadow: 'rgba(0, 0, 0, 0)',\n\n // third bar\n thirdLineGradFrom: baseThemeVariables.success,\n thirdLineGradTo: baseThemeVariables.successLight,\n thirdLineShadow: 'rgba(0, 0, 0, 0)',\n },\n\n orderProfitLegend: {\n firstItem: baseThemeVariables.success,\n secondItem: baseThemeVariables.primary,\n thirdItem: baseThemeVariables.bg3,\n },\n\n visitors: {\n tooltipBg: baseThemeVariables.bg,\n tooltipLineColor: 'rgba(0, 0, 0, 0)',\n tooltipLineWidth: '1',\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipExtraCss: 'border-radius: 10px; padding: 8px 24px;',\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '20',\n\n axisLineColor: baseThemeVariables.border4,\n axisFontSize: '16',\n axisTextColor: baseThemeVariables.fg,\n yAxisSplitLine: baseThemeVariables.separator,\n\n itemBorderColor: baseThemeVariables.primary,\n lineStyle: 'dotted',\n lineWidth: '6',\n lineGradFrom: '#ffffff',\n lineGradTo: '#ffffff',\n lineShadow: 'rgba(0, 0, 0, 0)',\n\n areaGradFrom: baseThemeVariables.primary,\n areaGradTo: baseThemeVariables.primaryLight,\n\n innerLineStyle: 'solid',\n innerLineWidth: '1',\n\n innerAreaGradFrom: baseThemeVariables.success,\n innerAreaGradTo: baseThemeVariables.success,\n },\n\n visitorsLegend: {\n firstIcon: baseThemeVariables.success,\n secondIcon: baseThemeVariables.primary,\n },\n\n visitorsPie: {\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n firstPieRadius: ['70%', '90%'],\n\n secondPieGradientLeft: baseThemeVariables.warning,\n secondPieGradientRight: baseThemeVariables.warningLight,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n secondPieRadius: ['60%', '97%'],\n shadowOffsetX: '0',\n shadowOffsetY: '0',\n },\n\n visitorsPieLegend: {\n firstSection: baseThemeVariables.warning,\n secondSection: baseThemeVariables.success,\n },\n\n earningPie: {\n radius: ['65%', '100%'],\n center: ['50%', '50%'],\n\n fontSize: '22',\n\n firstPieGradientLeft: baseThemeVariables.success,\n firstPieGradientRight: baseThemeVariables.success,\n firstPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n secondPieGradientLeft: baseThemeVariables.primary,\n secondPieGradientRight: baseThemeVariables.primary,\n secondPieShadowColor: 'rgba(0, 0, 0, 0)',\n\n thirdPieGradientLeft: baseThemeVariables.warning,\n thirdPieGradientRight: baseThemeVariables.warning,\n thirdPieShadowColor: 'rgba(0, 0, 0, 0)',\n },\n\n earningLine: {\n gradFrom: baseThemeVariables.primary,\n gradTo: baseThemeVariables.primary,\n\n tooltipTextColor: baseThemeVariables.fgText,\n tooltipFontWeight: 'normal',\n tooltipFontSize: '16',\n tooltipBg: baseThemeVariables.bg,\n tooltipBorderColor: baseThemeVariables.border2,\n tooltipBorderWidth: '1',\n tooltipExtraCss: 'border-radius: 10px; padding: 4px 16px;',\n },\n },\n} as NbJSThemeOptions;\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { of } from 'rxjs';\nimport { NbRoleProvider } from '@nebular/security';\nimport { AuthService } from './auth.service';\nimport { UserService } from '../services/user/user.service';\nimport { tap, switchMap, catchError } from 'rxjs/operators';\nimport { User } from '../services/user/user';\n\n\n@Injectable()\nexport class RolesProvider implements NbRoleProvider {\n\n role: string;\n constructor(private user: UserService, private authService: AuthService) {\n }\n\n getRole(): Observable {\n if(this.role) return of(this.role);\n return this.user.getUserData(this.authService.refactoredId).pipe(\n tap(res => {\n var jsonData = JSON.parse(atob(res.data));\n this.role = jsonData.role;\n }),\n switchMap((res) => res ? of(this.role) : of('guest')),\n catchError((err) => of('guest')));\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { wsPayloadResponse } from '../user/payload';\nimport { tap, catchError, map } from 'rxjs/operators';\nimport { PlugpointEnvironment } from '../PlugpointEnvironment';\nimport { VendorInfo } from './vendorInfo';\nimport { Guid } from 'guid-typescript';\nimport { LogService } from '../logs/log.service';\nimport { ActivityLog } from '../logs/log';\n\n\nconst httpOptions = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0' })\n};\n\n@Injectable()\nexport class DealerService {\n\n\n // private url = 'https://89.33.44.84:8443/helios/api'; //test\n // private url = 'https://manage.plugpoint.ro:8443/helios/api';\n private url = 'https://app.plugpoint.ro:8443/helios/api';\n // private url = 'https://test.plugpoint.ro:8443/helios/api';\n private token = \"4a46889db102438faa83b0b8151898a6\";\n public guid = true;\n constructor(\n public http: HttpClient,\n private logService: LogService,\n ) {\n this.url = PlugpointEnvironment.endpoint;\n }\n getOwner(vendorName: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==', 'SessionID': this.token })\n }\n return this.http.get(PlugpointEnvironment.url + \"/invoice/owner/\" + vendorName, httpOptionsLocal).pipe(\n catchError(this.handleError()));\n }\n\n getOwnerInvoices(vendorName: string, month, year): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let body = {\n \"month\": month,\n \"year\": year\n }\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==', 'SessionID': this.token })\n }\n return this.http.post(PlugpointEnvironment.url + \"/invoice/owner/\" + vendorName + '/invoices', body, httpOptionsLocal).pipe(\n catchError(this.handleError()));\n }\n getOwnerSessions(vendorName: string, month, year): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let body = {\n \"month\": month,\n \"year\": year\n }\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==', 'SessionID': this.token })\n }\n return this.http.post(PlugpointEnvironment.url + \"/invoice/owner/\" + vendorName + '/sessions', body, httpOptionsLocal).pipe(\n catchError(this.handleError()));\n }\n\n getDealer(vendorName: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getFranchised\": {\n \"franchised\": vendorName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"franchiseData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n updateOwnerEmail(vendorName: string, email: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let body = {\n \"accountingEmail\": email,\n }\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==', 'SessionID': this.token })\n }\n return this.http.put(PlugpointEnvironment.url + \"/invoice/owner/\" + vendorName, body, httpOptionsLocal).pipe(\n\n catchError(this.handleError()));\n }\n\n addClient(dealerName: string, clientName: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"addFranchised\": {\n \"franchised\": dealerName,\n \"client\": clientName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"franchiseData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n deleteClient(id: number): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"deleteFranchised\": {\n \"franchiseDataId\": id\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"franchiseData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getVendor(vendorName: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getVendorInfo\": {\n \"addedBy\": vendorName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"vendorInfo\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getAllVendorInvoices(startDate: string, endDate: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let uri = new URL(PlugpointEnvironment.url + \"/helios/fleet/get-fleet-vendor-invoice\")\n uri.searchParams.append('startDate', startDate)\n uri.searchParams.append('endDate', endDate)\n uri.searchParams.append('vendor', '')\n return this.http.get(uri.toString(), httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getVendorInvoice(vendorName: string, month: string, year: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let uri = new URL(PlugpointEnvironment.url + \"/helios/fleet/get-invoice-data\")\n uri.searchParams.append('vendor', vendorName)\n uri.searchParams.append('month', month)\n uri.searchParams.append('year', year)\n return this.http.get(uri.toString(), httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n async generateVendorInvoice(vendorName: string, users: number): Promise {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let uri = new URL(PlugpointEnvironment.url + \"/helios/fleet/generate-oblio-invoice\")\n uri.searchParams.append('vendor', vendorName)\n uri.searchParams.append('activeUsers', users.toString())\n\n let data\n try {\n const response = await fetch(uri.toString(), {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': 'Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0'\n }\n });\n if(response.status == 200){\n data = await response.json();\n }\n else data = await response.text();\n } catch {\n data = 'Error'\n }\n return data\n\n }\n\n\n getVendorPJ(vendorName: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getVendorInfoPJ\": {\n \"addedBy\": vendorName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"vendorInfo\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n addVendor(dealerName: string, vendorInfoObj: VendorInfo, publicSubscription?: boolean, userId?): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"addVendorInfo\": {\n \"vendorName\": vendorInfoObj.vendorName,\n \"vendorFullName\": vendorInfoObj.vendorFullName,\n \"vendorCIF\": vendorInfoObj.vendorCIF,\n \"vendorAddress\": vendorInfoObj.vendorAddress,\n \"invoiceSeries\": 'spf',\n \"invoiceNumber\": 1,\n \"tableSeries\": 'ts',\n \"invoiceSeriesPJ\": 'spj',\n \"invoiceNumberPJ\": 1,\n \"tableSeriesPJ\": 'ts',\n \"addedBy\": dealerName,\n \"invoiceVAT\": 19,\n \"contract\": '',\n \"email\": vendorInfoObj.email,\n }\n }\n if (publicSubscription) {\n data.addVendorInfo['subscriptionCost'] = +vendorInfoObj.subscriptionCost;\n data.addVendorInfo['privateFleetContractNo'] = vendorInfoObj.privateContractNumber;\n data.addVendorInfo['publicFleetContractNo'] = vendorInfoObj.publicContractNumber;\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"vendorInfo\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n addVendorNew(vendorObj): Observable {\n\n if (this.guid == true) {\n var token = Guid.create().toString();\n }\n\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==', 'SessionID': token })\n }\n\n return this.http.post(PlugpointEnvironment.url + \"/invoice/owner/add\", vendorObj, httpOptionsLocal)\n }\n\n getAllTags(): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getTagIdData\": {\n \"vendorGroup\": \"all\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getTagsByVendor(vendorGroup: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getTagIdData\": {\n \"vendorGroup\": vendorGroup\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n addTag(tagId: string, userId: number, vendorGroup: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"addTagIdData\": {\n \"tagId\": tagId,\n \"userId\": userId,\n \"vendorGroup\": vendorGroup,\n \"userGroup\": \"none\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n deleteTag(tagId: string, userId: number, vendorGroup: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"deleteTagIdData\": {\n \"tagId\": tagId,\n \"userId\": userId,\n \"vendorGroup\": vendorGroup,\n \"userGroup\": \"none\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getAllVendorsFromGroup(): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getVendorGroup\": {\n \"vendorGroup\": \"all\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getVendorsFromGroup(vendorGroup: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getVendorGroup\": {\n \"vendorGroup\": vendorGroup\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n addVendorGroup(vendorGroup: string, stationVendor: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"addVendorGroup\": {\n \"vendorGroup\": vendorGroup,\n \"stationVendor\": stationVendor\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n deleteVendorGroup(vendorGroup: string, stationVendor: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"deleteVendorGroup\": {\n \"vendorGroup\": vendorGroup,\n \"stationVendor\": stationVendor\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n /**\n * Handle Http operation that failed.\n * Let the app continue.\n * @param operation - name of the operation that failed\n * @param result - optional value to return as the observable result\n */\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n // console.error(error); // log to console instead\n\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n}\ninterface BillingData {\n companyName: string;\n vatNumber: string;\n address: string;\n}\n\ninterface OwnerInvoiceCounter {\n currentValue: number;\n}\n\nexport interface NewVendorObj {\n evseOwner: string;\n ownerBillingData: BillingData;\n email: string;\n accountingEmail: string;\n invoiceSeries: string;\n contractNumber: string;\n ownerInvoiceCounter: OwnerInvoiceCounter;\n}\n","export * from './header/header.component';\nexport * from './footer/footer.component';\nexport * from './search-input/search-input.component';\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { Camera, SecurityCamerasData } from '../data/security-cameras';\n\n@Injectable()\nexport class SecurityCamerasService extends SecurityCamerasData {\n\n private cameras: Camera[] = [\n {\n title: 'Camera #1',\n source: 'assets/images/camera1.jpg',\n },\n {\n title: 'Camera #2',\n source: 'assets/images/camera2.jpg',\n },\n {\n title: 'Camera #3',\n source: 'assets/images/camera3.jpg',\n },\n {\n title: 'Camera #4',\n source: 'assets/images/camera4.jpg',\n },\n ];\n\n getCamerasData(): Observable {\n return observableOf(this.cameras);\n }\n}\n","import { Component } from '@angular/core';\nimport * as packageJson from '../../../../../package.json';\n\n\n@Component({\n selector: 'ngx-one-column-layout',\n styleUrls: ['./one-column.layout.scss'],\n template: `\n \n \n \n \n\n \n \n \n\n \n \n \n\n \n

Charge Point SRL © All rights reserved. v.{{version}}

\n
\n
\n `,\n})\nexport class OneColumnLayoutComponent {\n version = packageJson.version;\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class ProfitBarAnimationChartData {\n abstract getChartData(): Observable<{ firstLine: number[]; secondLine: number[]; }>;\n}\n","import { Observable } from 'rxjs';\n\nexport abstract class SolarData {\n abstract getSolarData(): Observable;\n}\n","import { env } from 'src/app/services/PlugpointEnvironment';\nimport { Injectable } from '@angular/core';\nimport createAuth0Client from '@auth0/auth0-spa-js';\nimport Auth0Client from '@auth0/auth0-spa-js/dist/typings/Auth0Client';\nimport * as config from '../../../auth_config.json';\nimport * as config_test from '../../../auth_config_test.json'\nimport * as config_demo from '../../../auth_config_demo.json'\nimport { from, of, Observable, BehaviorSubject, combineLatest, throwError, Subscription } from 'rxjs';\nimport { tap, catchError, concatMap, shareReplay, switchMap } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport { UserService } from '../services/user/user.service';\nimport { User } from '../services/user/user';\nimport { Dealer } from '../services/dealer/dealerData';\nimport { DealerService } from '../services/dealer/dealer.service';\nimport { AUTH_CONFIG } from './auth0.config';\nimport { HttpClient } from '@angular/common/http';\nimport { SignUpObj } from './signup';\nimport { LogService } from '../services/logs/log.service';\nimport { ActivityLog } from '../services/logs/log';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n // AUTH_CONFIG_TEST (TEST) -- AUTH_CONFIG (PROD) - check also connectionToken();\n domain = AUTH_CONFIG.domainAPI;\n // Create an observable of Auth0 instance of client\n refactoredId: string = \"nologgedin\";\n userEmail: string;\n userRole: string = \"\";\n userVendor: string = \"none\";\n userName: string = \"none\";\n userTagId: string = \"N/A\";\n userId: number = 0;\n subClients$: Subscription;\n clientsList: Dealer[];\n access: string;\n auth0Client$ = (from(\n env == \"prod\" ?\n createAuth0Client({\n domain: config.domain,\n client_id: config.clientId,\n redirect_uri: `${window.location.origin}`\n }):\n createAuth0Client({\n domain: config_demo.domain,\n client_id: config_demo.clientId,\n redirect_uri: `${window.location.origin}`\n })\n // ***IMPORTANT******* CHECK LOGOUT TO CHANGE!!!!!!!!!! FOR PROD/TEST\n // ***IMPORTANT******* CHECK LOGOUT TO CHANGE!!!!!!!!!! FOR PROD/TEST\n // ***IMPORTANT******* CHECK LOGOUT TO CHANGE!!!!!!!!!! FOR PROD/TEST\n ) as Observable).pipe(\n shareReplay(1), // Every subscription receives the same shared value\n catchError(err => throwError(err))\n );\n // Define observables for SDK methods that return promises by default\n // For each Auth0 SDK method, first ensure the client instance is ready\n // concatMap: Using the client instance, call SDK method; SDK returns a promise\n // from: Convert that resulting promise into an observable\n isAuthenticated$ = this.auth0Client$.pipe(\n concatMap((client: Auth0Client) => from(client.isAuthenticated())),\n tap(res => this.loggedIn = res)\n );\n handleRedirectCallback$ = this.auth0Client$.pipe(\n concatMap((client: Auth0Client) => from(client.handleRedirectCallback())),\n // tap(res => console.log(\"res: \", res))\n );\n // Create subject and public observable of user profile data\n private userProfileSubject$ = new BehaviorSubject(null);\n userProfile$ = this.userProfileSubject$.asObservable();\n\n // Create a local property for login status\n loggedIn: boolean = null;\n\n constructor(private router: Router, private dealerService: DealerService, private userService: UserService, public http: HttpClient,\n private logService: LogService,\n ) {\n // this.userProfile$.subscribe(\n // (user) => {\n // console.log(\"userOBSERVABLE: \", user);\n // }\n // )\n // On initial load, check authentication state with authorization server\n // Set up local auth streams if user is already authenticated\n this.localAuthSetup();\n // Handle redirect from Auth0 login\n this.handleAuthCallback();\n }\n\n // When calling, options can be passed if desired\n // https://auth0.github.io/auth0-spa-js/classes/auth0client.html#getuser\n getUser$(options?): Observable {\n return this.auth0Client$.pipe(\n concatMap((client: Auth0Client) => from(client.getUser(options))),\n tap(user => {\n this.userProfileSubject$.next(user)\n // console.log(\"user: \", user);\n })\n );\n }\n\n private localAuthSetup() {\n // This should only be called on app initialization\n // Set up local authentication streams\n const checkAuth$ = this.isAuthenticated$.pipe(\n concatMap((loggedIn: boolean) => {\n if (loggedIn) {\n // If authenticated, get user and set in app\n // NOTE: you could pass options here if needed\n this.checkLocalUserDb();\n return this.getUser$();\n }\n // If not authenticated, return stream that emits 'false'\n return of(loggedIn);\n })\n );\n checkAuth$.subscribe();\n }\n\n login(redirectPath: string = '/') {\n // A desired redirect path can be passed to login method\n // (e.g., from a route guard)\n // Ensure Auth0 client instance exists\n this.auth0Client$.subscribe((client: Auth0Client) =>{\n\n // Call method to log in\n client.loginWithRedirect({\n redirect_uri: `${window.location.origin}`,\n appState: { target: redirectPath }\n });\n });\n\n }\n\n private handleAuthCallback() {\n // Call when app reloads after user logs in with Auth0\n const params = window.location.search;\n if (params.includes('code=') && params.includes('state=')) {\n let targetRoute: string; // Path to redirect to after login processsed\n const authComplete$ = this.handleRedirectCallback$.pipe(\n // Have client, now call method to handle auth callback redirect\n tap(cbRes => {\n // Get and set target redirect route from callback results\n targetRoute = cbRes.appState && cbRes.appState.target ? cbRes.appState.target : '/';\n }),\n concatMap(() => {\n // Redirect callback complete; get user and login status\n if (!this.userRole) this.checkLocalUserDb();\n return combineLatest([\n this.getUser$(),\n this.isAuthenticated$\n ]);\n })\n );\n // Subscribe to authentication completion observable\n // Response will be an array of user and login status\n authComplete$.subscribe(([user, loggedIn]) => {\n // Redirect to target route after callback processing\n this.router.navigate([targetRoute]);\n });\n }\n }\n\n logout() {\n // Ensure Auth0 client instance exists\n this.userRole = \"\";\n this.auth0Client$.subscribe((client: Auth0Client) => {\n // Call method to log out\n client.logout({\n client_id: env == \"prod\" ? config.clientId : config_demo.clientId,\n returnTo: window.location.origin\n });\n });\n localStorage.clear();\n }\n\n checkLocalUserDb() {\n this.access = null;\n var bar = new Promise((resolve, reject) => {\n this.getUser$().subscribe(user => {\n this.refactoredId = user.sub;\n var indexId = this.refactoredId.indexOf(\"|\");\n this.refactoredId = this.refactoredId.substring(indexId + 1);\n this.userEmail = user.email;\n this.userName = this.refactoredId;\n resolve();\n })\n })\n bar.then(() => {\n if (this.refactoredId) {\n this.userService.getUserData(this.refactoredId).subscribe(r => {\n if (r.data == null) {\n this.userService.addUserToWs(this.userEmail, this.refactoredId).subscribe(resp => {\n if (resp.error == 'TRUE') {\n // do something in case of error?\n } else {\n this.userRole = 'guest';\n }\n });\n } else {\n var jsonData = JSON.parse(atob(r.data));\n this.userRole = jsonData.role;\n this.userVendor = jsonData.stationVendor;\n this.access = jsonData.access;\n this.userTagId = jsonData.tagId;\n this.userId = jsonData.userId;\n this.userEmail = jsonData.userEmail;\n console.log(this.access);\n console.log(this.userRole)\n this.getClients();\n if (this.access == \"\" || this.access == null) {\n this.access = \"none\";\n }\n localStorage.setItem('access', this.access);\n localStorage.setItem('role', this.userRole)\n localStorage.setItem('vendor', this.userVendor);\n localStorage.setItem('refactoredId', this.refactoredId);\n var date = Date();\n var tStamp = localStorage.getItem(\"timeStamp\");\n if (tStamp == null)\n localStorage.setItem('timeStamp', date.toString());\n }\n })\n\n }\n });\n }\n getClients() {\n if (this.userVendor != null && this.userVendor != \"\") {\n this.subClients$ = this.dealerService.getDealer(this.userVendor).subscribe(client => {\n if (client.data) {\n var response = atob(client.data);\n if (response !== null) {\n this.clientsList = JSON.parse(response);\n localStorage.setItem('clientList', JSON.stringify(this.clientsList));\n } else {\n this.clientsList = [];\n localStorage.setItem('clientList', \"\");\n }\n } else {\n }\n\n })\n }\n }\n\n connectToken(): Observable {\n\n const url = `https://${this.domain}/oauth/token`;\n\n let body = env == \"prod\" ? {\n \"grant_type\": \"client_credentials\",\n \"client_id\": 'ReoM3x1PGhys2yWFfYrM7TLtBKt4On4f',\n \"client_secret\": 'VqCmqYcpb_1rdmXhVJXdZqUrHhssih-7_nSQqHGjecHsKNa-5lZNxSjVw-RRbaXA',\n \"audience\": 'https://plugway.eu.auth0.com/api/v2/'\n } : {\n \"grant_type\": \"client_credentials\",\n \"client_id\": 'W8dAvqo3KsoV2mzDQvt6DOob2tNatGGn',\n \"client_secret\": '1ApY6f8I7AkUkOLG68aQSyT4xbHjJOW-3VmDkihf1qr0fOec3zwTsDqVj9VAaxIo',\n \"audience\": 'https://plugpoint.eu.auth0.com/api/v2/'\n }\n\n ///// **** SET FOR PROD ******* /////////\n // let body = {\n // \"grant_type\": \"client_credentials\",\n // \"client_id\": 'ReoM3x1PGhys2yWFfYrM7TLtBKt4On4f',\n // \"client_secret\": 'VqCmqYcpb_1rdmXhVJXdZqUrHhssih-7_nSQqHGjecHsKNa-5lZNxSjVw-RRbaXA',\n // \"audience\": 'https://plugway.eu.auth0.com/api/v2/'\n // }\n ///// **** SET FOR DEMO(T1) ******* /////////\n // let body = {\n // \"grant_type\": \"client_credentials\",\n // \"client_id\": 'W8dAvqo3KsoV2mzDQvt6DOob2tNatGGn',\n // \"client_secret\": '1ApY6f8I7AkUkOLG68aQSyT4xbHjJOW-3VmDkihf1qr0fOec3zwTsDqVj9VAaxIo',\n // \"audience\": 'https://plugpoint.eu.auth0.com/api/v2/'\n // }\n ///// **** SET FOR TEST ******* /////////\n // let body = {\n // \"grant_type\": \"client_credentials\",\n // \"client_id\": 'OmfKSyNDJGwrdkUMUx4ESYE2N60WsL4W',\n // \"client_secret\": 'C_j2cUwQDIatqWvdeirbJHkmR6iqQPYLHGUA_qtYntOaTZ3T78Oc7eMvhiLVcx_p',\n // \"audience\": 'https://test-plugpoint.eu.auth0.com/api/v2/'\n // }\n return this.http.post(url, body, { headers: { 'Content-Type': 'application/json' } });\n }\n getAuth0UserInfo(email: string, accessToken: any): Observable {\n email = encodeURIComponent(email);\n const url = `https://${this.domain}/api/v2/users-by-email?email=${email}`\n\n return this.http.get(url, {\n headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + accessToken }\n });\n }\n\n blockUser(id:string, accessToken:any): Observable {\n const url = `https://${this.domain}/api/v2/users/${id}`\n let body = {\n \"blocked\" : true\n }\n return this.http.patch(url, body,\n { headers: { 'Content-Type': 'application/json' ,'Authorization': 'Bearer ' + accessToken } });\n }\n\n unblockUser(id:string, accessToken:any): Observable {\n const url = `https://${this.domain}/api/v2/users/${id}`\n let body = {\n \"blocked\" : false\n }\n return this.http.patch(url, body,\n { headers: { 'Content-Type': 'application/json' ,'Authorization': 'Bearer ' + accessToken } });\n }\n\n getUser(id:string, accessToken:any): Observable {\n const url = `https://${this.domain}/api/v2/users/${id}`\n\n return this.http.get(url, {\n headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + accessToken }\n });\n }\n\n unblockAuth0Ip(accessToken:any, id: string): Observable {\n id = \"5.2.250.107\";\n const url = `https://${this.domain}/api/v2/anomaly/blocks/ips/${id}`\n console.log(\"here\");\n return this.http.delete(url, { headers: { 'Content-Type': 'application/json' ,'Authorization': 'Bearer ' + accessToken } });\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { faLink } from '@fortawesome/free-solid-svg-icons';\n\n@Component({\n selector: 'app-home-content',\n templateUrl: './home-content.component.html',\n styleUrls: ['./home-content.component.scss']\n})\nexport class HomeContentComponent implements OnInit {\n faLink = faLink;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n goToGoogle() {\n window.location.href = \"\";\n\n }\n goToApple() {\n window.location.href = \"\";\n }\n}\n","
\n

Descoperă rețeaua
Plugpoint

\n
\n
\n
\n
Creează-ți cont în aplicație\n
\n

\n În contul tău găsești toate stațiile tale favorite, istoricul încărcărilor și facturile electronice. Iți\n selectezi ușor modalitatea de plată și ai posibilitatea de a deconta cheltuielile direct cu angajatorul tău.\n

\n
\n
\n
\n Verifică disponibilitatea stațiilor de lângă tine\n \n
\n

\n Doar la un ”tap” distanță, poți verifica care este cea mai apropiată stație disponibilă ca să nu ai surpriza\n de a ajunge la o stație deja\n ocupată. Platforma noastră comunică în timp real ca tu să ai\n informațiile la îndemână. #CheckInAutomat\n

\n
\n
\n
\n
\"\"\n
\n
\n
\n
\n
\n Rezervă stația în drum spre ea\n
\n

\n Ai posibilitatea de a rezerva stația de încărcare cu 15 minute înainte\n să ajungi în locație. În acest interval de timp, stația pornește doar la\n comanda ta. Așa ne asigurăm că nu pierzi timpul pe drum, cu\n bateria aproape descărcată. #SuntPeDrum\n

\n
\n
\n
\n Controlează din aplicație\n
\n

\n Odată ce ai dat start la încărcare, începe contorizarea în timp real.\n Poți verifica, din cafeneaua ta preferată, de cât timp ești conectat,\n câți kWh ai încărcat și cât ai de achitat. Dacă nu vrei să stai cu ochii\n în telefon, te anunțăm noi când bateria este ”full”.\n

\n
\n
\n
\n\n \n
\n
\n
\n
\n

Descarcă aplicația
Plugpoint

\n \n
\n \n \n
\n
\n
\n
\n
\n \n
\n

Creează propria rețea de încărcare

\n
\n
\n
\"\"\n
\n
\n
\n
\n
\n Noi ne ocupăm de ”logistică”, iar tu de creșterea afacerii\n
\n

\n Stațiile de încărcare prezintă o nouă oportunitate de a iți dezvolta\n afacerea. Oferim o soluție autonomă ca tu să te concentrezi pe ce\n este important. Noi ne ocupăm de încărcările clienților electrici, iar tu\n ai vizibilitate pe tot ce se întamplă în rețeaua ta.\n

\n
\n
\n
\n Tarifează încărcarile automat\n
\n

\n Fiecare încărcare se tranzacționează automat, se emit facturi\n electronice pentru clienții tăi, iar pentru contabilitate procesul este\n simplu și clar. Clienții sunt mulțumiți, costurile cu energia sunt\n acoperite și veniturile se încasează lunar.\n

\n
\n
\n
\n
\n
\n Ai control de la distanță, în timp real\n
\n

\n Tu decizi prețurile pentru serviciile de încărcare, individual pentru\n fiecare locație. Se pot analiza statistici detaliate despre încărcări,\n costuri, venituri și comportament de utilizare. Ai controlul și ești\n mereu informat astfel încât să iei cele mai bune decizii.\n

\n
\n
\n
\n Soluție inclusă în abonamentele business\n
\n

\n Fie că ai o stație publică sau mai multe, ai acces în platforma de\n administrare cu un simplu cont business. Contactează-ne ca să îți\n trimitem toate informațiile necesare pentru a face parte din rețeaua\n de încărcare Plugpoint.\n

\n
\n
\n
\n\n \n
\n
\n
\n
\n

Intră în rețeaua
\n

Plugpoint

\n \n \n \n
\n
\n
\n
\n ","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'timing' })\nexport class TimingPipe implements PipeTransform {\n transform(time: number): string {\n if (time) {\n const minutes = Math.floor(time / 60);\n const seconds = Math.floor(time % 60);\n return `${this.initZero(minutes)}${minutes}:${this.initZero(seconds)}${seconds}`;\n }\n\n return '00:00';\n }\n\n private initZero(time: number): string {\n return time < 10 ? '0' : '';\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxCapitalize' })\nexport class CapitalizePipe implements PipeTransform {\n\n transform(input: string): string {\n return input && input.length\n ? (input.charAt(0).toUpperCase() + input.slice(1).toLowerCase())\n : input;\n }\n}\n","\nexport abstract class SmartTableData {\n abstract getData(): any[];\n}\n","import { HttpClient, HttpHeaders, HttpUrlEncodingCodec } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { wsPayloadResponse } from '../user/payload';\nimport { tap, catchError, map } from 'rxjs/operators';\nimport { Stations } from './stations';\nimport { PlugpointEnvironment } from '../PlugpointEnvironment';\nimport { FirmwareUpdate } from './firmwareUpdate';\nimport { changeAvailability } from './changeAvailability';\nimport { Guid } from 'guid-typescript';\nimport { LogService } from '../logs/log.service';\nimport { ActivityLog } from '../logs/log';\nimport { AuthService } from 'src/app/auth/auth.service';\nimport { AddStation } from './addstation';\n/**\n * @description An object with the property evseId that is a Map of stationId and stationName\n*/\nexport type StationsMap = { evseMap : Map}\n\n\nconst httpOptions = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0' })\n};\n\n@Injectable()\nexport class StationsService {\n\n\n // private url = 'https://89.33.44.84:8443/helios/api'; //test\n // private url = 'https://manage.plugpoint.ro:8443/helios/api';\n // private url = 'https://app.plugpoint.ro:8443/helios/api';\n private url = 'https://app.plugpoint.ro:8443/helios/api';\n private token = \"4a46889db102438faa83b0b8151898a6\";\n public guid = true;\n constructor(\n public http: HttpClient,\n private logService: LogService,\n private authService: AuthService\n ) {\n this.url = PlugpointEnvironment.endpoint;\n }\n\n placeholder(vendorName: string): Promise {\n console.log('started placeholder call')\n const resse = [\n { location : \"Location1\",\n stations: [\n { stationId: \"1\", stationName: \"Station1\" },\n { stationId: \"2\", stationName: \"Station2\" },\n { stationId: \"3\", stationName: \"Station3\" },\n { stationId: \"4\", stationName: \"Station4\" },\n { stationId: \"5\", stationName: \"Station5\" },\n { stationId: \"6\", stationName: \"Station6\" },\n { stationId: \"7\", stationName: \"Station7\" },\n { stationId: \"8\", stationName: \"Station8\" },\n { stationId: \"9\", stationName: \"Station9\" },\n { stationId: \"10\", stationName: \"Station10\" },\n ]\n },\n { location : \"Location2\",\n stations: [\n { stationId: \"11\", stationName: \"Station11\" },\n { stationId: \"12\", stationName: \"Station12\" },\n { stationId: \"13\", stationName: \"Station13\" },\n { stationId: \"14\", stationName: \"Station14\" },\n { stationId: \"15\", stationName: \"Station15\" },\n { stationId: \"16\", stationName: \"Station16\" },\n { stationId: \"17\", stationName: \"Station17\" },\n { stationId: \"18\", stationName: \"Station18\" },\n { stationId: \"19\", stationName: \"Station19\" },\n { stationId: \"20\", stationName: \"Station20\" },\n ]\n },\n { location : \"Location3\",\n stations: [\n { stationId: \"21\", stationName: \"Station21\" },\n { stationId: \"22\", stationName: \"Station22\" },\n { stationId: \"23\", stationName: \"Station23\" },\n { stationId: \"24\", stationName: \"Station24\" },\n { stationId: \"25\", stationName: \"Station25\" },\n { stationId: \"26\", stationName: \"Station26\" },\n { stationId: \"27\", stationName: \"Station27\" },\n { stationId: \"28\", stationName: \"Station28\" },\n { stationId: \"29\", stationName: \"Station29\" },\n { stationId: \"30\", stationName: \"Station30\" },\n ]\n },\n { location : \"Location4\",\n stations: [\n { stationId: \"31\", stationName: \"Station31\" },\n { stationId: \"32\", stationName: \"Station32\" },\n { stationId: \"33\", stationName: \"Station33\" },\n { stationId: \"34\", stationName: \"Station34\" },\n { stationId: \"35\", stationName: \"Station35\" },\n { stationId: \"36\", stationName: \"Station36\" },\n { stationId: \"37\", stationName: \"Station37\" },\n { stationId: \"38\", stationName: \"Station38\" },\n { stationId: \"39\", stationName: \"Station39\" },\n { stationId: \"40\", stationName: \"Station40\" },\n ]\n }\n ]\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n console.log('resolved placeholder call')\n resolve(resse)\n }, 500)})\n }\n async triggerAllStations(): Promise {\n const uri =`${PlugpointEnvironment.url}:8443/overwatch/checkStationsResponse`\n const response = await fetch (uri, {\n method: 'POST',\n headers: {\n \"Authorization\" : \"Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0\"\n },\n body: \"\"\n })\n return response.text()\n\n\n }\n getLocationsByVendor(vendorName: string): Promise {\n let data = {\n \"getStationsByLocation\": {\n \"vendorName\": vendorName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"actionsONRfidCards\",\n \"data\": encodedData\n }\n return new Promise((resolve, reject) => {\n fetch(this.url, {\n method: 'POST',\n headers: {\n \"content-type\": \"application/json\",\n \"Authorization\": \"Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0\"\n },\n body: JSON.stringify(body)\n }).then((response) => {\n if(response.ok){\n response.json().then((dataJSON) => {\n resolve(dataJSON);\n })\n }\n else reject(response);\n })\n })\n }\n\n getPrices(id: string): Observable {\n if (this.guid == true) { this.token = Guid.create().toString(); }\n let data = {\n \"stationPrices\": {\n \"stationId\": id\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n // //console.log(\"body for getSingleStationHistory is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n getCPStations(): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getNow\": {\n \"station\": \"all\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n //console.log(\"body for getCPStations is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"in call\")),\n catchError(this.handleError(`getHero id=`)));\n }\n\n getLocationStations(location: string, user?: string): Promise {\n const uri = `${this.url}/location/${location}/evses/`\n return new Promise(async (resolve, reject) => {\n try {\n const response = await fetch(uri, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': 'Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0',\n },\n });\n\n if (response.status === 200) {\n resolve(await response.json());\n } else {\n reject(response.status);\n }\n } catch (error) {\n reject(error);\n }\n });\n }\n\n\n\n getMapStations(coordinates?: any, km?: any): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data;\n if (coordinates) {\n data = {\n \"getNowForMap\": {\n \"station\": \"all\",\n \"coordinates\": coordinates,\n \"km\": km\n }\n }\n } else {\n data = {\n \"getNowForMap\": {\n \"station\": \"all\"\n }\n }\n }\n // console.log(\"body: \" + JSON.stringify(data));\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n\n return this.http.post(this.url, body, httpOptions);\n\n }\n\n async getStationsMap(): Promise {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n const resp = await fetch(this.url + '/stations-data/evseMap', {\n method: 'GET',\n headers: {\n \"Authorization\" : \"Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0\",\n \"Content-Type\": \"application/json\"\n }\n })\n return await resp.json()\n\n }\n\n getCPHistory(startDate?: Date, endDate?: Date): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data;\n if (startDate) {\n var finalStart = new Date(startDate.getTime() + Math.abs(startDate.getTimezoneOffset() * 60000)).toISOString().substring(0, 19).replace('T', ' ');\n var finalEnd = new Date(endDate.getTime() + Math.abs(endDate.getTimezoneOffset() * 60000)).toISOString().substring(0, 19).replace('T', ' ');\n data = {\n \"getHistory\": {\n \"station\": \"all\",\n \"startDate\": finalStart,\n \"endDate\": finalEnd\n }\n }\n } else {\n data = {\n \"getHistory\": {\n \"station\": \"all\",\n }\n }\n }\n // console.log(finalEnd)\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n // console.log(data);\n return this.http.post(this.url, body, httpOptions);\n }\n\n async getHistory(startDate: any, endDate: any, vendor?: string) {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n if(endDate){\n endDate = endDate.replace('00:00:00', '23:59:59')\n }\n const uri = new URL(PlugpointEnvironment.url + ':8443/helios/dashboard/get-history')\n uri.searchParams.append('startDate', startDate)\n uri.searchParams.append('endDate', endDate)\n if (vendor) {\n uri.searchParams.append('vendor', vendor)\n }\n const response = await fetch(uri.toString(), {\n method: 'GET',\n headers: {\n \"Authorization\": \"Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0\",\n \"Content-Type\": \"application/json\",\n }\n })\n if (response.ok) {\n return response.json()\n }\n else return new Promise((resolve, reject) => {\n reject(response)\n })\n }\n\n async getChartPoints(startDate: any, endDate: any, interval: 'year' | 'month' | 'day', vendor?: string) {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n if(endDate){\n endDate = endDate.replace('00:00:00', '23:59:59')\n }\n const uri = new URL(PlugpointEnvironment.url + ':8443/helios/dashboard/get-data-for-charts')\n uri.searchParams.append('intervalType', interval)\n uri.searchParams.append('startDate', startDate)\n uri.searchParams.append('endDate', endDate ? endDate : '')\n if (vendor) {\n uri.searchParams.append('vendor', vendor)\n }\n const response = await fetch(uri.toString(), {\n method: 'GET',\n headers: {\n \"Authorization\": \"Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0\",\n \"Content-Type\": \"application/json\",\n }\n })\n if (response.ok) {\n return response.json()\n }\n else return new Promise((resolve, reject) => {\n reject(response)\n })\n\n }\n getReports(startDate?: Date, endDate?: Date): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n var finalStart = new Date(startDate.getTime() + Math.abs(startDate.getTimezoneOffset() * 60000)).toISOString().substring(0, 19).replace('T', ' ');\n var finalEnd = new Date(endDate.getTime() + Math.abs(endDate.getTimezoneOffset() * 60000)).toISOString().substring(0, 19).replace('T', ' ');\n let body = {\n \"startDate\": finalStart,\n \"endDate\": finalEnd\n\n }\n return this.http.post(`${this.url}/stations-data/get-history`, JSON.stringify(body), httpOptions);\n }\n\n getReportsForVendor(vendorName: string,startDate?: Date, endDate?: Date): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n endDate.setHours(23,59,59,999);\n var finalStart = new Date(startDate.getTime() + Math.abs(startDate.getTimezoneOffset() * 60000)).toISOString().substring(0, 19).replace('T', ' ');\n var finalEnd = new Date(endDate.getTime() + Math.abs(endDate.getTimezoneOffset() * 60000)).toISOString().substring(0, 19).replace('T', ' ');\n let body = {\n \"startDate\": finalStart,\n \"endDate\": finalEnd,\n \"vendorName\": vendorName\n }\n return this.http.post(`${this.url}/stations-data/get-vendor-history`, JSON.stringify(body), httpOptions);\n }\n\n getStationHistory(id: string, startDate?: string, endDate?: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getHistory\": {\n \"station\": id\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n //console.log(\"body for \" +id +\" getCPStations is \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n updatePriceKw(id: string, priceKw: number, oldData?): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateStation\": {\n \"stationId\": id,\n \"chargingPrice\": priceKw\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n\n //console.log(\"body for \" +id +\" getCPStations is \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n\n }\n updatePriceH(id: string, priceH: number, oldData?): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateStation\": {\n \"stationId\": id,\n \"chargingPriceTimeCharging\": priceH\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n //console.log(\"body for \" +id +\" getCPStations is \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n updatePriceB(id: string, priceB: number, oldData?): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateStation\": {\n \"stationId\": id,\n \"chargingPriceTimeBusy\": priceB\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions);\n }\n\n updatePriceStart(id: string, startPriceVendor: number, oldData?): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateStation\": {\n \"stationId\": id,\n \"startPriceVendor\": startPriceVendor\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n //console.log(\"body for \" +id +\" getCPStations is \" + JSON.stringify(body));\n // if (oldData) {\n // for (const key in data.updateStation) {\n // if (key != 'stationId') {\n // const log: ActivityLog = {\n // action: 'Station Update',\n // userId: this.authService.userName.toString(),\n // sent: Date.now(),\n // topic: 'station',\n // entity: id,\n // oldData: `${key}: ${oldData[key]}`,\n // newData: `${key}: ${data.updateStation[key]}`,\n // additionalData: data\n // }\n // }\n // }\n // }\n return this.http.post(this.url, body, httpOptions);\n }\n updateStation(id: string, newB): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n console.log(JSON.stringify(newB))\n let data = {\n \"updateStation\": {\n \"stationId\": id,\n \"stationVendor\": newB.stationVendor,\n \"stationAddress\": newB.stationAddress,\n // \"stationLocation\": newB.location,\n \"stationName\": newB.stationName,\n \"stationCoordinates\": newB.stationCoordinates,\n \"chargingPower\": newB.chargingPower,\n \"tags\": newB.tags\n }\n }\n console.log(data)\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n //console.log(\"body for \" +id +\" getCPStations is \" + JSON.stringify(body));\n // if (oldData) {\n // for (const key in data.updateStation) {\n // if (key != 'stationId') {\n // const log: ActivityLog = {\n // action: 'Station Update',\n // userId: this.authService.userName.toString(),\n // sent: Date.now(),\n // topic: 'station',\n // entity: id,\n // oldData: `${key}: ${oldData[key]}`,\n // newData: `${key}: ${data.updateStation[key]}`,\n // additionalData: data\n // }\n // this.logService.addLog(log)\n // }\n // }\n // }\n return this.http.post(this.url, body, httpOptions);\n }\n updatePriceStartChargePoint(id: string, startPricePP: number, oldData?): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateStation\": {\n \"stationId\": id,\n \"startPricePP\": startPricePP\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n // if (oldData) {\n // for (const key in data.updateStation) {\n // if (key != 'stationId') {\n // const log: ActivityLog = {\n // action: 'Station Update',\n // userId: this.authService.userName.toString(),\n // sent: Date.now(),\n // topic: 'station',\n // entity: id,\n // oldData: `${key}: ${oldData[key]}`,\n // newData: `${key}: ${data.updateStation[key]}`,\n // additionalData: data\n // }\n // }\n // }\n // }\n //console.log(\"body for \" +id +\" getCPStations is \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n updateStationType(id: string, publicStation: boolean, oldData?): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateStation\": {\n \"stationId\": id,\n \"publicStation\": publicStation\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n //console.log(\"body for \" +id +\" getCPStations is \" + JSON.stringify(body));\n // if (oldData) {\n // for (const key in data.updateStation) {\n // if (key != 'stationId') {\n // const log: ActivityLog = {\n // action: 'Station Update',\n // userId: this.authService.userName.toString(),\n // sent: Date.now(),\n // topic: 'station',\n // entity: id,\n // oldData: `${key}: ${oldData[key]}`,\n // newData: `${key}: ${data.updateStation[key]}`,\n // additionalData: data\n // }\n // }\n // }\n // }\n return this.http.post(this.url, body, httpOptions);\n }\n\n updateStationPromo(id: string, promoId: number): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateStation\": {\n \"stationId\": id,\n \"promotionDataId\": promoId\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions);\n }\n\n addStation(stationObj: AddStation): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n var stationObjString = JSON.stringify(stationObj);\n let data = {\n \"addStation\": JSON.parse(stationObjString)\n }\n // let data = {\n // \"addStation\": {\n // \"stationId\": stationObj.stationId,\n // \"stationName\": stationObj.stationName,\n // \"stationAddress\": stationObj.stationAddress,\n // \"stationVendor\": stationObj.stationVendor,\n // \"chargingPower\": stationObj.chargingPower,\n // \"cableType\": stationObj.cableType,\n // \"chargingPrice\": stationObj.chargingPrice,\n // \"stationCoordinates\": stationObj.stationCoordinates,\n // \"publicStation\": stationObj.publicStation,\n // \"doubleStation\": stationObj.doubleStation,\n // \"chargingPriceTimeCharging\": stationObj.chargingPriceTimeCharging,\n // \"chargingPriceTimeBusy\": stationObj.chargingPriceTimeBusy,\n // \"freeBusyTime\": stationObj.freeBusyTime,\n // \"reservationPeriod\": stationObj.reservationPeriod,\n // \"reservationPenalty\": stationObj.reservationPenalty,\n // \"parkingInfo\": stationObj.parkingInfo,\n // \"openingHours\": stationObj.openingHours,\n // \"detailedInfo\": stationObj.detailedInfo,\n // \"locationName\": stationObj.locationName,\n // \"sockets\": stationObj.sockets,\n // \"stationType\": stationObj.stationType,\n // \"tags\": stationObj.tags,\n // \"socketName\": stationObj.socketName,\n // \"startPriceVendor\": stationObj.startPriceVendor,\n // \"startPricePP\": stationObj.startPricePP,\n // \"currency\": stationObj.currency,\n // \"ocpp\": stationObj.ocpp,\n // \"masterStation\": stationObj.masterStation,\n // \"connectorId\": stationObj.connectorId,\n // \"commission\": stationObj.commission\n\n // }\n // }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n //console.log(\"body for addUserToWs is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n getStationsForVendor(vendorName: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getStationByVendor\": {\n \"vendor\": vendorName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n //console.log(\"body for getStationsForVendor is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n getStationsForUser(id: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getUserNow\": {\n \"userName\": id\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n // //console.log(\"body for getSingleStationHistory is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n getHistoryForUser(id: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getUserHistory\": {\n \"userName\": id\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n // //console.log(\"body for getSingleStationHistory is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n getStation(id: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getNow\": {\n \"station\": id\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n // //console.log(\"body for getStation is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n getStationTest(id: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"getNow\": {\n \"station\": id\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n // //console.log(\"body for getStation is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions).pipe(\n map(\n (response: wsPayloadResponse) => {\n // var data = atob(response.data);\n var data = JSON.parse(atob(response.data));\n return data;\n }\n )\n );\n }\n\n public processData(data: any) {\n\n //process your data\n return data;//this is processed data\n }\n\n\n startCharging(stationId: string, userId: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n\n\n let data = {\n \"stationStart\": {\n \"stationId\": stationId,\n \"userId\": userId,\n \"walletId\": \"none\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n if (userId.includes(\"3_\")) {\n let data_admin = {\n \"stationStart\": {\n \"stationId\": stationId,\n \"userId\": \"3\",\n \"admin\": userId,\n \"walletId\": \"none\"\n }\n }\n encodedData = btoa(JSON.stringify(data_admin));\n }\n\n let body = {\n \"token\": this.token,\n \"action\": \"deviceCmd\",\n \"data\": encodedData\n }\n // //console.log(\"body for getStartCharging is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n\n startChargingWithWalletId(stationId: string, userId: string, walletId: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"stationStart\": {\n \"stationId\": stationId,\n \"userId\": userId,\n \"walletId\": walletId\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"deviceCmd\",\n \"data\": encodedData\n }\n const httpOptionsLocal = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json' })\n };\n // //console.log(\"body for getStartCharging is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n stopCharging(stationId: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"stationStop\": {\n \"stationId\": stationId,\n \"userId\": 3\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"deviceCmd\",\n \"data\": encodedData\n }\n\n\n\n\n // //console.log(\"body for getStartCharging is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n reserveStation(stationId: string, userName: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"reserveStation\": {\n \"stationId\": stationId,\n \"userName\": userName\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n // //console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n unlock(stationId: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"mqttMessage\": {\n \"topic\": \"station/\" + stationId,\n \"message\": \"unlock&\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n // //console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n resetStation(stationId: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"mqttMessage\": {\n \"topic\": \"station/\" + stationId,\n \"message\": \"reset&\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n // //console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n stopHangingSessionByStation(stationId: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"hangingSession\": {\n \"stationId\": stationId,\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n // //console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n stopHangingSessionByUser(userName: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"hangingSession\": {\n \"userName\": userName,\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"stationsData\",\n \"data\": encodedData\n }\n // //console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n return this.http.post(this.url, body, httpOptions);\n }\n\n getLogs(stationId: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"mqttMessage\": {\n \"topic\": \"station/\" + stationId,\n \"message\": \"diagnostics&\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n // //console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n getConfiguration(stationId: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"mqttMessage\": {\n \"topic\": \"station/\" + stationId,\n \"message\": \"getConfiguration&\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n // //console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n setConfiguration(stationId: string, values: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"mqttMessage\": {\n \"topic\": \"station/\" + stationId,\n \"message\": \"changeConfiguration&\" + values\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n // //console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n setAuthList(stationId: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"mqttMessage\": {\n \"topic\": \"station/\" + stationId,\n \"message\": \"setLocalAuthList&\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n // //console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n updateFirmware(stationId: string, updateFirmware: FirmwareUpdate): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n let data = {\n \"mqttMessage\": {\n \"topic\": \"station/\" + stationId,\n \"message\": \"firmwareUpdate&\" + JSON.stringify(updateFirmware)\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n changeAvailability(stationId: string, obj: changeAvailability): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n\n let data = {\n \"mqttMessage\": {\n \"topic\": \"station/\" + stationId,\n \"message\": \"changeAvailability&\" + JSON.stringify(obj)\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n triggerMessage(stationId: string, command: string): Observable {\n if (this.guid == true) {\n this.token = Guid.create().toString();\n }\n\n let data = {\n \"mqttMessage\": {\n \"topic\": \"station/\" + stationId,\n \"message\": \"triggerMessage&\" + stationId + \"&\" + command\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n\n let body = {\n \"token\": this.token,\n \"action\": \"additionalCalls\",\n \"data\": encodedData\n }\n console.log(\"body for reserveStation is: \" + JSON.stringify(body));\n\n return this.http.post(this.url, body, httpOptions);\n }\n\n async getPosSessions(paginationOptions?: any): Promise {\n const uri = new URL(PlugpointEnvironment.url + '/pos-central/sessions')\n if (paginationOptions) {\n for (const key in paginationOptions) {\n uri.searchParams.append(key, paginationOptions[key])\n }\n }\n const response = await fetch(uri.toString(), {\n method: 'GET',\n headers: {\n \"Authorization\": \"Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==\",\n \"Content-Type\": \"application/json\",\n \"SessionID\": Guid.create().toString()\n }\n })\n if (response.ok) {\n return response.json()\n }\n else return new Promise(( _ , reject) => {\n reject(response)\n })\n }\n/**\n * Get all POS\n* @returns the ```Pos[]``` object if the POS is found\n* @returns ```null``` if the POS is not found\n*/\n async getAllPos(): Promise {\n const resp = await fetch( PlugpointEnvironment.url +'/pos-central/', {\n method: 'GET',\n headers: {\n \"Authorization\": \"Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==\",\n \"SessionID\": Guid.create().toString()\n }\n })\n if (resp.ok) {\n return await resp.json()\n }\n return []\n }\n\n /**\n * Get the details of a POS by its ID\n * @param posId - the ```string``` ID of the POS\n * @returns the ```Pos``` object if the POS is found\n * @returns ```null``` if the POS is not found\n */\n async getPosById(posId: string): Promise {\n const resp = await fetch(PlugpointEnvironment.url + '/pos-central/' + posId, {\n method: 'GET',\n headers: {\n \"Authorization\": \"Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==\",\n \"SessionID\": Guid.create().toString()\n }\n })\n if (resp.ok) {\n return await resp.json()\n }\n return null\n }\n\n async addPosStations(stations: any[]): Promise {\n const resp = await fetch(PlugpointEnvironment.url + '/pos-central/stations', {\n method: 'POST',\n headers: {\n \"Content-Type\": \"application/json\",\n \"Authorization\": \"Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==\",\n \"SessionID\": Guid.create().toString()\n },\n body: JSON.stringify(stations)\n })\n if (resp.ok) {\n return true\n }\n return false\n }\n async removePosStations(stations: any[]): Promise {\n const stationIds = stations.map(s => s.stationId); // Extract station IDs\n \n const resp = await fetch(`${PlugpointEnvironment.url}/pos-central/stations`, {\n method: 'DELETE',\n headers: {\n \"Content-Type\": \"application/json\",\n \"Authorization\": \"Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==\",\n \"SessionID\": Guid.create().toString()\n },\n body: JSON.stringify(stationIds) // Send JSON array in body\n });\n \n return resp.ok;\n }\n \n /**\n * Update the details of a POS\n * @param posId - the ```string``` ID of the POS\n * @param changes - the changes to be made - keys should be : ```location```, ```latitude```, ```longitude```, ```ip```\n * @returns ```boolean``` which signifies if the update was successful\n */\n async updatePos(posId: string, changes: any ): Promise {\n const resp = await fetch(PlugpointEnvironment.url + '/pos-central/' + posId, {\n method: 'PUT',\n headers: {\n \"Authorization\": \"Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==\",\n \"SessionID\": Guid.create().toString(),\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(changes)\n })\n if (resp.ok) {\n return true\n }\n return false\n }\n\n /**\n * Toggle the maintenance mode of a POS\n * @param posId - the ```string``` ID of the POS\n * @param value - the ```'on'``` or ```'off'``` value to toggle the maintenance mode\n * @returns the response from the server\n */\n async toggleMaintenance(posId: string, value: 'on' | 'off'): Promise {\n const resp = await fetch(PlugpointEnvironment.url + '/pos-central/maintenance/'+ value, {\n method: 'POST',\n headers: {\n \"Authorization\": \"Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==\",\n \"SessionID\": Guid.create().toString(),\n \"Content-Type\": \"application/json\"\n },\n body: `{ \"posIds\": [\"${posId}\"]}`\n })\n if (resp.ok) {\n return resp\n }\n return null\n }\n /**\n * Reboot a POS by sending an SQS message\n * @param posId - the ```string``` ID of the POS\n */\n async rebootPos(posId: string): Promise {\n const resp = await fetch(PlugpointEnvironment.url + '/pos-central/' + posId + '/reboot', {\n method: 'GET',\n headers: {\n \"Authorization\": \"Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==\",\n \"SessionID\": Guid.create().toString()\n }\n })\n if (resp.ok) {\n return resp\n }\n return null\n }\n async triggerFiscalEndDay(): Promise {\n const resp = await fetch(PlugpointEnvironment.url + '/pos-central/trigger-fiscal-end-day-report', {\n method: 'GET',\n headers: {\n \"Authorization\": \"Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==\",\n \"SessionID\": Guid.create().toString()\n }\n })\n if (resp.ok) {\n return await resp.json()\n }\n return null\n }\n /**\n * Request a heartbeat from a POS\n * @param posId - the ```string``` ID of the POS\n */\n async requestHeartbeat(posId: string): Promise {\n const resp = await fetch(PlugpointEnvironment.url + '/pos-central/' + posId + '/request-heartbeat', {\n method: 'POST',\n headers: {\n \"Authorization\": \"Basic Sjl1aFlzN1RxWjpOfVcxWFF2JDloRg==\",\n \"SessionID\": Guid.create().toString()\n }\n })\n if (resp.ok) {\n return resp\n }\n return null\n }\n\n /**\n * Handle Http operation that failed.\n * Let the app continue.\n * @param operation - name of the operation that failed\n * @param result - optional value to return as the observable result\n */\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n // console.error(error); // log to console instead\n\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n subtractThreeDays(dateString: string): string {\n const date = new Date(dateString);\n date.setDate(date.getDate() - 3);\n\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n const seconds = String(date.getSeconds()).padStart(2, '0');\n\n return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;\n }\n addThreeDays(dateString: string): string {\n const date = new Date(dateString);\n date.setDate(date.getDate() + 3);\n\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n const seconds = String(date.getSeconds()).padStart(2, '0');\n\n return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;\n }\n}\n\n\n\n// {\n// \"token\" : \"4a46889db102438faa83b0b8151898a6\",\n// \"action\" : \"additionalCalls\",\n// \"data\": \"CnsKICAgICAgICAibXF0dE1lc3NhZ2UiIDogewogICAgICAgICAgICAidG9waWMiIDogInN0YXRpb24vMVNPQ0tFVCIsCiAgICAgICAgICAgICJtZXNzYWdlIiA6ICJnZXRDb25maWd1cmF0aW9uJiIKICAgICAgICB9CiAgICB9\"\n// }\n\n\n\nexport type Pos = {\n id: string;\n posId: string,\n location: string,\n latitude: number,\n longitude: number,\n eftId?: string;\n mfaId?: string;\n isInMaintenance: boolean,\n isMFBlocked: boolean,\n heartbeatAt: number,\n stationList: StationsInPos[]\n}\ntype StationsInPos = {\n createdAt: number,\n updatedAt: number,\n deletedAt: number,\n id: number,\n stationId: string,\n connectorType: string,\n stationName: string,\n isReserved: boolean,\n reservationEndTime: number,\n reservationId: string\n}\n","import { Observable } from 'rxjs';\n\nexport interface User {\n name: string;\n picture: string;\n}\n\nexport interface Contacts {\n user: User;\n type: string;\n}\n\nexport interface RecentUsers extends Contacts {\n time: number;\n}\n\nexport abstract class UserData {\n abstract getUsers(): Observable;\n abstract getContacts(): Observable;\n abstract getRecentUsers(): Observable;\n}\n","import { of as observableOf, Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Contacts, RecentUsers, UserData } from '../data/users';\n\n@Injectable()\nexport class UserService extends UserData {\n\n private time: Date = new Date;\n\n private users = {\n nick: { name: 'Nick Jones', picture: 'assets/images/nick.png' },\n eva: { name: 'Eva Moor', picture: 'assets/images/eva.png' },\n jack: { name: 'Jack Williams', picture: 'assets/images/jack.png' },\n lee: { name: 'Lee Wong', picture: 'assets/images/lee.png' },\n alan: { name: 'Alan Thompson', picture: 'assets/images/alan.png' },\n kate: { name: 'Kate Martinez', picture: 'assets/images/kate.png' },\n };\n private types = {\n mobile: 'mobile',\n home: 'home',\n work: 'work',\n };\n private contacts: Contacts[] = [\n { user: this.users.nick, type: this.types.mobile },\n { user: this.users.eva, type: this.types.home },\n { user: this.users.jack, type: this.types.mobile },\n { user: this.users.lee, type: this.types.mobile },\n { user: this.users.alan, type: this.types.home },\n { user: this.users.kate, type: this.types.work },\n ];\n private recentUsers: RecentUsers[] = [\n { user: this.users.alan, type: this.types.home, time: this.time.setHours(21, 12)},\n { user: this.users.eva, type: this.types.home, time: this.time.setHours(17, 45)},\n { user: this.users.nick, type: this.types.mobile, time: this.time.setHours(5, 29)},\n { user: this.users.lee, type: this.types.mobile, time: this.time.setHours(11, 24)},\n { user: this.users.jack, type: this.types.mobile, time: this.time.setHours(10, 45)},\n { user: this.users.kate, type: this.types.work, time: this.time.setHours(9, 42)},\n { user: this.users.kate, type: this.types.work, time: this.time.setHours(9, 31)},\n { user: this.users.jack, type: this.types.mobile, time: this.time.setHours(8, 0)},\n ];\n\n getUsers(): Observable {\n return observableOf(this.users);\n }\n\n getContacts(): Observable {\n return observableOf(this.contacts);\n }\n\n getRecentUsers(): Observable {\n return observableOf(this.recentUsers);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { TrafficChartData } from '../data/traffic-chart';\n\n@Injectable()\nexport class TrafficChartService extends TrafficChartData {\n\n private data: number[] = [\n 300, 520, 435, 530,\n 730, 620, 660, 860,\n ];\n\n getTrafficChartData(): Observable {\n return observableOf(this.data);\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { UserService } from './users.service';\nimport { ElectricityService } from './electricity.service';\nimport { SmartTableService } from './smart-table.service';\nimport { UserActivityService } from './user-activity.service';\nimport { OrdersChartService } from './orders-chart.service';\nimport { ProfitChartService } from './profit-chart.service';\nimport { TrafficListService } from './traffic-list.service';\nimport { PeriodsService } from './periods.service';\nimport { EarningService } from './earning.service';\nimport { OrdersProfitChartService } from './orders-profit-chart.service';\nimport { TrafficBarService } from './traffic-bar.service';\nimport { ProfitBarAnimationChartService } from './profit-bar-animation-chart.service';\nimport { TemperatureHumidityService } from './temperature-humidity.service';\nimport { SolarService } from './solar.service';\nimport { TrafficChartService } from './traffic-chart.service';\nimport { StatsBarService } from './stats-bar.service';\nimport { CountryOrderService } from './country-order.service';\nimport { StatsProgressBarService } from './stats-progress-bar.service';\nimport { VisitorsAnalyticsService } from './visitors-analytics.service';\nimport { SecurityCamerasService } from './security-cameras.service';\n\nconst SERVICES = [\n UserService,\n ElectricityService,\n SmartTableService,\n UserActivityService,\n OrdersChartService,\n ProfitChartService,\n TrafficListService,\n PeriodsService,\n EarningService,\n OrdersProfitChartService,\n TrafficBarService,\n ProfitBarAnimationChartService,\n TemperatureHumidityService,\n SolarService,\n TrafficChartService,\n StatsBarService,\n CountryOrderService,\n StatsProgressBarService,\n VisitorsAnalyticsService,\n SecurityCamerasService,\n];\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n providers: [\n ...SERVICES,\n ],\n})\nexport class MockDataModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: MockDataModule,\n providers: [\n ...SERVICES,\n ],\n };\n }\n}\n","import { Observable } from 'rxjs';\n\nexport interface UserActive {\n date: string;\n pagesVisitCount: number;\n deltaUp: boolean;\n newVisits: number;\n}\n\nexport abstract class UserActivityData {\n abstract getUserActivityData(period: string): Observable;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ngxNumberWithCommas' })\nexport class NumberWithCommasPipe implements PipeTransform {\n\n transform(input: number): string {\n return new Intl.NumberFormat().format(input);\n }\n}\n","import { Observable } from 'rxjs';\n\nexport interface ProgressInfo {\n title: string;\n value: number;\n activeProgress: number;\n description: string;\n}\n\nexport abstract class StatsProgressBarData {\n abstract getProgressInfoData(): Observable;\n}\n","export * from './one-column/one-column.layout';\nexport * from './two-columns/two-columns.layout';\nexport * from './three-columns/three-columns.layout';\n","import { LayoutService } from './layout.service';\nimport { AnalyticsService } from './analytics.service';\nimport { PlayerService } from './player.service';\nimport { StateService } from './state.service';\nimport { SeoService } from './seo.service';\n\nexport {\n LayoutService,\n AnalyticsService,\n PlayerService,\n SeoService,\n StateService,\n};\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {\n NbActionsModule,\n NbLayoutModule,\n NbMenuModule,\n NbSearchModule,\n NbSidebarModule,\n NbUserModule,\n NbContextMenuModule,\n NbButtonModule,\n NbSelectModule,\n NbIconModule,\n NbThemeModule,\n NbInputModule,\n NbCardModule,\n} from '@nebular/theme';\nimport { NbEvaIconsModule } from '@nebular/eva-icons';\nimport { NbSecurityModule } from '@nebular/security';\n\nimport {\n FooterComponent,\n HeaderComponent,\n SearchInputComponent,\n} from './components';\nimport {\n CapitalizePipe,\n PluralPipe,\n RoundPipe,\n TimingPipe,\n NumberWithCommasPipe,\n} from './pipes';\nimport {\n OneColumnLayoutComponent,\n ThreeColumnsLayoutComponent,\n TwoColumnsLayoutComponent,\n} from './layouts';\nimport { DEFAULT_THEME } from './styles/theme.default';\nimport { FilterStationsPipe } from './pipes/filter-stations.pipe';\nimport { FilterStatusPipe } from './pipes/filter-status.pipe';\nimport { FilterLocationPipe } from './pipes/filter-location.pipe';\n\nconst NB_MODULES = [\n NbLayoutModule,\n NbMenuModule,\n NbUserModule,\n NbActionsModule,\n NbSearchModule,\n NbSidebarModule,\n NbContextMenuModule,\n NbSecurityModule,\n NbButtonModule,\n NbSelectModule,\n NbIconModule,\n NbEvaIconsModule,\n NbInputModule,\n NbCardModule\n];\nconst COMPONENTS = [\n HeaderComponent,\n FooterComponent,\n SearchInputComponent,\n OneColumnLayoutComponent,\n ThreeColumnsLayoutComponent,\n TwoColumnsLayoutComponent\n];\nconst PIPES = [\n CapitalizePipe,\n PluralPipe,\n RoundPipe,\n TimingPipe,\n NumberWithCommasPipe,\n FilterStationsPipe,\n FilterStatusPipe,\n FilterLocationPipe\n];\n\n@NgModule({\n imports: [CommonModule, ...NB_MODULES],\n exports: [CommonModule, ...PIPES, ...COMPONENTS],\n declarations: [...COMPONENTS, ...PIPES],\n})\nexport class ThemeModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: ThemeModule,\n providers: [\n ...NbThemeModule.forRoot(\n {\n name: 'default',\n },\n [ DEFAULT_THEME],\n ).providers,\n ],\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { HomeComponent } from './pages/home/home.component';\nimport { LogoutComponent } from './@theme/components/logout/logout.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: 'home', pathMatch: 'full' },\n { path: 'home', component: HomeComponent },\n { path: 'logout', component: LogoutComponent },\n {\n path: 'pages',\n loadChildren: () => import('./pages/pages.module').then(m => m.PagesModule)\n\n },\n { path: 'NoPageFound', loadChildren: () => import('./no-page-found/no-page-found.module').then(m => m.NoPageFoundModule) },\n]\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Injectable } from '@angular/core';\nimport { of as observableOf, Observable } from 'rxjs';\nimport { Electricity, ElectricityChart, ElectricityData } from '../data/electricity';\n\n@Injectable()\nexport class ElectricityService extends ElectricityData {\n\n private listData: Electricity[] = [\n {\n title: '2015',\n months: [\n { month: 'Jan', delta: '0.97', down: true, kWatts: '816', cost: '97' },\n { month: 'Feb', delta: '1.83', down: true, kWatts: '806', cost: '95' },\n { month: 'Mar', delta: '0.64', down: true, kWatts: '803', cost: '94' },\n { month: 'Apr', delta: '2.17', down: false, kWatts: '818', cost: '98' },\n { month: 'May', delta: '1.32', down: true, kWatts: '809', cost: '96' },\n { month: 'Jun', delta: '0.05', down: true, kWatts: '808', cost: '96' },\n { month: 'Jul', delta: '1.39', down: false, kWatts: '815', cost: '97' },\n { month: 'Aug', delta: '0.73', down: true, kWatts: '807', cost: '95' },\n { month: 'Sept', delta: '2.61', down: true, kWatts: '792', cost: '92' },\n { month: 'Oct', delta: '0.16', down: true, kWatts: '791', cost: '92' },\n { month: 'Nov', delta: '1.71', down: true, kWatts: '786', cost: '89' },\n { month: 'Dec', delta: '0.37', down: false, kWatts: '789', cost: '91' },\n ],\n },\n {\n title: '2016',\n active: true,\n months: [\n { month: 'Jan', delta: '1.56', down: true, kWatts: '789', cost: '91' },\n { month: 'Feb', delta: '0.33', down: false, kWatts: '791', cost: '92' },\n { month: 'Mar', delta: '0.62', down: true, kWatts: '790', cost: '92' },\n { month: 'Apr', delta: '1.93', down: true, kWatts: '783', cost: '87' },\n { month: 'May', delta: '2.52', down: true, kWatts: '771', cost: '83' },\n { month: 'Jun', delta: '0.39', down: false, kWatts: '774', cost: '85' },\n { month: 'Jul', delta: '1.61', down: true, kWatts: '767', cost: '81' },\n { month: 'Aug', delta: '1.41', down: true, kWatts: '759', cost: '76' },\n { month: 'Sept', delta: '1.03', down: true, kWatts: '752', cost: '74' },\n { month: 'Oct', delta: '2.94', down: false, kWatts: '769', cost: '82' },\n { month: 'Nov', delta: '0.26', down: true, kWatts: '767', cost: '81' },\n { month: 'Dec', delta: '1.62', down: true, kWatts: '760', cost: '76' },\n ],\n },\n {\n title: '2017',\n months: [\n { month: 'Jan', delta: '1.34', down: false, kWatts: '789', cost: '91' },\n { month: 'Feb', delta: '0.95', down: false, kWatts: '793', cost: '93' },\n { month: 'Mar', delta: '0.25', down: true, kWatts: '791', cost: '92' },\n { month: 'Apr', delta: '1.72', down: false, kWatts: '797', cost: '95' },\n { month: 'May', delta: '2.62', down: true, kWatts: '786', cost: '90' },\n { month: 'Jun', delta: '0.72', down: false, kWatts: '789', cost: '91' },\n { month: 'Jul', delta: '0.78', down: true, kWatts: '784', cost: '89' },\n { month: 'Aug', delta: '0.36', down: true, kWatts: '782', cost: '88' },\n { month: 'Sept', delta: '0.55', down: false, kWatts: '787', cost: '90' },\n { month: 'Oct', delta: '1.81', down: true, kWatts: '779', cost: '86' },\n { month: 'Nov', delta: '1.12', down: true, kWatts: '774', cost: '84' },\n { month: 'Dec', delta: '0.52', down: false, kWatts: '776', cost: '95' },\n ],\n },\n ];\n\n private chartPoints = [\n 490, 490, 495, 500,\n 505, 510, 520, 530,\n 550, 580, 630, 720,\n 800, 840, 860, 870,\n 870, 860, 840, 800,\n 720, 200, 145, 130,\n 130, 145, 200, 570,\n 635, 660, 670, 670,\n 660, 630, 580, 460,\n 380, 350, 340, 340,\n 340, 340, 340, 340,\n 340, 340, 340,\n ];\n\n chartData: ElectricityChart[];\n\n constructor() {\n super();\n this.chartData = this.chartPoints.map((p, index) => ({\n label: (index % 5 === 3) ? `${Math.round(index / 5)}` : '',\n value: p,\n }));\n }\n\n getListData(): Observable {\n return observableOf(this.listData);\n }\n\n getChartData(): Observable {\n return observableOf(this.chartData);\n }\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { wsPayloadResponse } from '../user/payload';\nimport { tap, catchError, map } from 'rxjs/operators';\nimport { PlugpointEnvironment } from '../PlugpointEnvironment';\nimport { Guid } from 'guid-typescript';\n\n\nconst httpOptions = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': 'Basic NGhNVVh4a1pYYUN1amZ1NTphQXM1VnFHUyszWXZFRiN0' })\n};\n\n@Injectable()\nexport class CarService {\n\n\n // private url = 'https://89.33.44.84:8443/helios/api'; //test\n // private url = 'https://manage.plugpoint.ro:8443/helios/api';\n // private url = 'https://test.plugpoint.ro:8443/helios/api';\n private url = 'https://app.plugpoint.ro:8443/helios/api';\n private token = \"4a46889db102438faa83b0b8151898a6\";\n public guid = true;\n constructor(\n public http: HttpClient\n ) {\n this.url = PlugpointEnvironment.endpoint;\n }\n\n getAllFleetCars(): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getAllFleetCars\" : {\n \"stationVendor\" : \"all\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"fleetCars\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n getVendorFleetCars(stationVendor: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getAllFleetCars\" : {\n \"stationVendor\" : stationVendor\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"fleetCars\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n getOneFleetCar(carId: number): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"getOneFleetCar\" : {\n \"id\" : carId\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"fleetCars\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n addFleetCar(userId: string, stationVendor: string, brand: string, model: string, plateNo: string, status: string): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"addFleetCar\" : {\n \"requester\": userId,\n \"stationVendor\" : stationVendor,\n \"brand\" : brand,\n \"model\" : model,\n \"plateNo\" : plateNo,\n \"status\" : \"active\"\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"fleetCars\",\n \"data\": encodedData\n }\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n updateFleetCar(userId: string, carId: number, stationVendor: string, brand: string, model: string, plateNo: string, status: string, km: number): Observable {\n if(this.guid == true){\n this.token = Guid.create().toString();\n }\n let data = {\n \"updateFleetCar\" : {\n \"requester\": userId,\n \"id\" : carId,\n \"stationVendor\" : stationVendor,\n \"brand\" : brand,\n \"model\" : model,\n \"plateNo\" : plateNo,\n \"km\" : km,\n \"status\" : status\n }\n }\n var encodedData = btoa(JSON.stringify(data));\n let body = {\n \"token\": this.token,\n \"action\": \"fleetCars\",\n \"data\": encodedData\n }\n console.log(data.updateFleetCar.status);\n\n return this.http.post(this.url, body, httpOptions).pipe(\n // tap(_ => console.log(\"hehe\")),\n catchError(this.handleError()));\n }\n\n /**\n * Handle Http operation that failed.\n * Let the app continue.\n * @param operation - name of the operation that failed\n * @param result - optional value to return as the observable result\n */\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n // console.error(error); // log to console instead\n\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class PeriodsService {\n getYears() {\n return [\n '2010', '2011', '2012',\n '2013', '2014', '2015',\n '2016', '2017', '2018',\n ];\n }\n\n getMonths() {\n return [\n 'Jan', 'Feb', 'Mar',\n 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec',\n ];\n }\n\n getWeeks() {\n return [\n 'Mon',\n 'Tue',\n 'Wed',\n 'Thu',\n 'Fri',\n 'Sat',\n 'Sun',\n ];\n }\n}\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","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;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"]}