{"version":3,"sources":["./src/app/core/auth/auth.interceptor.ts","./src/app/core/models/roles.enum.ts","./src/app/core/services/https/restapi.service.ts","./src/environments/environment.ts","./src/app/core/auth/jwt-helper.service.ts","./src/app/core/models/authorities.enum.ts","./src/app/core/services/download-file.service.ts","./src/app/core/guard/confirm-deactivate.guard.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/core/auth/auth.service.ts","./src/app/app.module.ts","./src/app/core/services/user.service.ts","./src/app/core/services/https/ApiEndPoint.ts","./src/app/app-routing.module.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n    HttpInterceptor, HttpRequest, HttpHandler, HttpSentEvent, HttpHeaderResponse,\n    HttpProgressEvent, HttpResponse, HttpUserEvent, HttpErrorResponse\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { BehaviorSubject } from 'rxjs';\nimport { AuthService } from './auth.service';\nimport { JwtHelperService } from './jwt-helper.service';\nimport { Router } from '@angular/router';\nimport { catchError, switchMap, filter, take, flatMap } from 'rxjs/operators';\nimport { ToastrService } from 'ngx-toastr';\nimport { throwError } from 'rxjs';\n// import { LoaderService } from 'app/core/services/loader.service';\n\n@Injectable({\n    providedIn: 'root'\n  })\nexport class AuthInterceptor implements HttpInterceptor {\n\n    isRefreshingToken = false;\n    blacklistedRoutes: Array<string | RegExp> = ['oauth/token', 'api/otps', 'api/users', 'api/forget-password',\n        'api/reset-password', 'api/specialities', 'gm/api/StoreOrder/GenerateSalesReport',\n        'camp/api/vouchers/', 'camp/api/addvoucher', '/api/configurations/captchaSiteKey'];\n    tokenSubject: BehaviorSubject<string> = new BehaviorSubject<string>(null);\n\n    constructor(\n        private router: Router,\n        private authService: AuthService,\n        private jwtHelper: JwtHelperService,\n        public toastrService: ToastrService,\n        // public loaderService: LoaderService\n    ) { }\n\n    addToken(req: HttpRequest<any>, token: string): HttpRequest<any> {\n        return req.clone({ setHeaders: { Authorization: 'Bearer ' + token } });\n    }\n\n    isBlacklistedRoute(request: HttpRequest<any>): boolean {\n        const url = request.url;\n        return (\n            this.blacklistedRoutes.findIndex(\n                route =>\n                    typeof route === 'string'\n                        ? route === url\n                        : route instanceof RegExp ? route.test(url) : false\n            ) > -1\n        );\n    }\n\n    intercept(req: HttpRequest<any>, next: HttpHandler):\n        Observable<HttpSentEvent |\n            HttpHeaderResponse |\n            HttpProgressEvent |\n            HttpResponse<any> |\n            HttpUserEvent<any>> {\n        if (this.isBlacklistedRoute(req) || !req.withCredentials) {\n            return next.handle(req);\n        } else {\n            return next.handle(this.addToken(req, this.authService.getAuthToken())).pipe(catchError(err => this.handleError<any>(err)));\n        }\n    }\n\n    private handleError<T>(error: HttpErrorResponse): Observable<T> {\n        if (error.error instanceof ErrorEvent) {\n            // A client-side or network error occurred. Handle it accordingly.\n            console.error('An error occurred:', error.error.message);\n        } else if (error.status === 422 || error.status === 409 || error.status === 400) {\n            // The backend returned an unsuccessful response code.\n            // The response body may contain clues as to what went wrong,\n            // console.error(\n            //   `Backend returned code ${error.status}, ` +\n            //   `body was: ${error.error}`);\n            // console.log('TOASTR SERVICE #################', error.error.errorMessages);\n            // console.log(error.error);\n            if (error.error.errorMessages !== undefined) {\n                this.toastrService.error(error.error.errorMessages.join('\\n'));\n            }\n            // error.error.errorMessages.forEach(message => {\n            //   this.toastrService.error(message);\n            // });\n        }\n        // this.loaderService.toggleLoader(false);\n        // return an observable with a user-facing error message\n        return throwError(error);\n    }\n\n    // tslint:disable-next-line:typedef\n    handle400Error(error) {\n        if (error && error.status === 400 && error.error && error.error.error === 'invalid_grant') {\n            // If we get a 400 and the error message is 'invalid_grant', the token is no longer valid so logout.\n            return this.logoutUser();\n        }\n\n        return throwError(error);\n    }\n\n    // tslint:disable-next-line:typedef\n    handle401Error(req: HttpRequest<any>, next: HttpHandler) {\n        if (!this.isRefreshingToken) {\n            this.isRefreshingToken = true;\n\n            // Reset here so that the following requests wait until the token\n            // comes back from the refreshToken call.\n            this.tokenSubject.next(null);\n\n            return this.authService.refreshAccessToken()\n                .pipe(switchMap((newToken: string) => {\n                    if (newToken) {\n                        this.tokenSubject.next(newToken);\n                        return next.handle(this.addToken(req, newToken));\n                    }\n                    // If we don't get a new token, we are in trouble so logout.\n                    return this.logoutUser();\n                }), catchError(error => {\n                    // If there is an exception calling 'refreshToken', bad news so logout.\n                    return this.logoutUser();\n                }));\n        } else {\n            return this.tokenSubject.pipe(\n                filter(token => token != null),\n                take(1),\n                switchMap(token => {\n                    return next.handle(this.addToken(req, token));\n                }));\n        }\n    }\n\n    logoutUser() {\n        // Route to the login page (implementation up to you)\n        return this.authService.logoutUser().pipe(flatMap(resp => throwError('')));\n    }\n}\n","\nexport enum Roles {\n    USER = 'APP_USER',\n    ADMIN = 'ADMIN_USER',\n    SITE_ADMIN = 'SUPER_ADMIN'\n}\n","import { Location } from '@angular/common';\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { Observable, throwError } from 'rxjs';\n// import { APIDef, APIInput } from 'app\\core\\services\\https\\ApiEndPoint.ts';\n// import { LoaderService } from '../loader.service';\nimport { Injectable } from '@angular/core';\nimport { catchError } from 'rxjs/operators';\nimport { APIInput, APIDef } from './ApiEndPoint';\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class RestapiService {\n  loaderService: any;\n  constructor(\n    public http: HttpClient,\n    private router: Router,\n    // public loaderService: LoaderService,\n    private location: Location,\n    private toastrService: ToastrService\n  ) { }\n\n  invoke<T>(def: APIDef, apiInput: APIInput = {}, data?: T, queryMap?: any, needAuthtoken: boolean = true,\n    additionalHeader?: any, responseType?: any, showError: boolean = true): Observable<T> {\n    return this.invokeAPI(def.api(apiInput), def.method, data, queryMap, needAuthtoken,\n      additionalHeader, responseType);\n  }\n\n  // function for post\n  private invokeAPI<T>(api: string, method: string, body?: T, queryMap?: any,\n    needAuthtoken?: boolean, additionalHeader?: any, responseType?: any, showError?: boolean): Observable<T> {\n    let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n    console.log(';adfadfasdf additional header', additionalHeader);\n    let queryParams = new HttpParams();\n    for (const property in queryMap) {\n      if (queryMap.hasOwnProperty(property)) {\n        // console.log(property, queryMap[property]);\n        queryParams = queryParams.append(property, queryMap[property]);\n      }\n    }\n    if (additionalHeader) {\n      for (const property in additionalHeader) {\n        if (additionalHeader.hasOwnProperty(property)) {\n          if (headers.has(property)) {\n            headers.delete(property);\n          }\n          headers = headers.append(property, additionalHeader[property]);\n        }\n      }\n    }\n    const httpOptions: GMCOption = {\n      headers, params: queryParams, observe: 'body',\n      withCredentials: (needAuthtoken),\n      responseType\n    };\n    switch (method) {\n      case 'POST':\n        return this.post<T>(api, body, httpOptions, showError);\n      case 'GET':\n        return this.get<T>(api, httpOptions);\n      case 'PUT':\n        return this.put<T>(api, body, httpOptions,showError);\n      case 'DELETE':\n        return this.delete<T>(api, httpOptions, showError);\n      default:\n        break;\n    }\n  }\n\n  public printHTML = (url: string, body) => {\n    const headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n    headers.append('Accept', 'text');\n    return this.http.post(url, body, { headers, observe: 'response', responseType: 'text', withCredentials: true });\n  }\n\n\n  public getPrintedHTML = (url: APIDef, pathParams: APIInput) => {\n    const headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n    headers.append('Accept', 'text');\n    return this.http.get(url.api(pathParams), { headers, observe: 'response', responseType: 'text', withCredentials: true });\n  }\n\n  public printPdf = (url: string) => {\n    const headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n    return this.http.get(url, { headers, responseType: 'arraybuffer' });\n  }\n\n  public uploadFile = (url: string, body: any, queryMap = {}) => {\n    const formdata: FormData = new FormData();\n    formdata.append('file', body);\n    // const headers = new HttpHeaders({ 'Content-Type': ' multipart/form-data' });\n    let queryParams = new HttpParams();\n    for (const property in queryMap) {\n      if (queryMap.hasOwnProperty(property)) {\n        queryParams = queryParams.append(property, queryMap[property]);\n      }\n    }\n    return this.http.post(url, formdata, { params: queryParams, withCredentials: true });\n  }\n\n  public downloadFile = (url: string, body: any, responseType: any, queryMap?: any, withCredentials?: boolean) => {\n    let queryParams = new HttpParams();\n    for (const property in queryMap) {\n      if (queryMap.hasOwnProperty(property)) {\n        queryParams = queryParams.append(property, queryMap[property]);\n      }\n    }\n    const headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n    headers.set('Accept', '*/*');\n    return this.http.post(url, body, { headers, responseType, params: queryParams, withCredentials });\n  }\n\n  private post<T>(api: string, body: T, httpOptions: GMCOption, showError?: boolean): Observable<T> {\n    return this.http.post<T>(api, body, httpOptions).pipe(catchError(err => this.handleError<T>(err, showError)));\n  }\n\n  private get<T>(api: string, httpOptions: GMCOption): Observable<T> {\n    return this.http.get<T>(api, httpOptions);\n  }\n\n  private put<T>(api: string, body: T, httpOptions: GMCOption, showError?: boolean): Observable<T> {\n    return this.http.put<T>(api, body, httpOptions).pipe(catchError(err => this.handleError<T>(err,showError)));\n  }\n  private delete<T>(api: string, httpOptions: GMCOption, showError?: boolean): Observable<T> {\n    return this.http.delete<T>(api, httpOptions).pipe(catchError(err => this.handleError<T>(err,showError)));\n  }\n\n  private handleError<T>(error: HttpErrorResponse, showError?: boolean): Observable<T> {\n    console.log(error, 'rwuieruiweryweuryewrwuer');\n    if (error.error instanceof ErrorEvent) {\n      // A client-side or network error occurred. Handle it accordingly.\n      console.error('An error occurred:', error.error);\n    } else if ((error.status === 422 || error.status === 409 || error.status === 400 || error.status === 417 || error.status === 500) && showError) {\n      // The backend returned an unsuccessful response code.\n      // The response body may contain clues as to what went wrong,\n      // console.error(\n      //   `Backend returned code ${error.status}, ` +\n      //   `body was: ${error.error}`);\n      // console.log('TOASTR SERVICE #################', error.error.errorMessages);\n      // console.log(error.error);\n      // if (error.response && error.response.data && error.response.data.errors.length > 0) {\n      //   error.response.data.errors.forEach((response) => {\n      //     Toaster.errorToaster(response.message);\n      //   });\n      // }\n      if (error.error.errorMessages !== undefined) {\n        this.toastrService.error(error.error.errorMessages.join('\\n'));\n      }\n      // error.error.errorMessages.forEach(message => {\n      //   this.toastrService.error(message);\n      // });\n    }\n    // this.loaderService.toggleLoader(false);\n    // return an observable with a user-facing error message\n    return throwError(error);\n  }\n}\n\ninterface GMCOption {\n  headers?: HttpHeaders | {\n    [header: string]: string | string[];\n  };\n  observe?: 'body';\n  params?: HttpParams | {\n    [param: string]: string | string[];\n  };\n  reportProgress?: boolean;\n  responseType?: 'json';\n  withCredentials?: boolean;\n  needAuthtoken?: boolean;\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n  production: false\n};\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, Inject } from '@angular/core';\nimport { Cookie } from 'ng2-cookies';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class JwtHelperService {\n  tokenGetter: () => string;\n\n  constructor() {\n    this.tokenGetter = function tokenGetter() {\n      return localStorage.getItem('access_token');\n    };\n  }\n\n  static getAuthTokenFromCookies() {\n    return Cookie.get('access_token');\n  }\n\n  getAuthToken() {\n    return localStorage.getItem('access_token');\n  }\n\n\n  public urlBase64Decode(str: string): string {\n    let output = str.replace(/-/g, '+').replace(/_/g, '/');\n    switch (output.length % 4) {\n      case 0: {\n        break;\n      }\n      case 2: {\n        output += '==';\n        break;\n      }\n      case 3: {\n        output += '=';\n        break;\n      }\n      default: {\n        throw new Error('Illegal base64url string!');\n      }\n    }\n    return this.b64DecodeUnicode(output);\n  }\n\n  // credits for decoder goes to https://github.com/atk\n  private b64decode(str: string): string {\n    const chars =\n      'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n    let output = '';\n\n    str = String(str).replace(/=+$/, '');\n\n    if (str.length % 4 === 1) {\n      throw new Error(\n        '\\'atob\\' failed: The string to be decoded is not correctly encoded.'\n      );\n    }\n\n    for (\n      // initialize result and counters\n      let bc = 0, bs: any, buffer: any, idx = 0;\n      // get next character\n      (buffer = str.charAt(idx++));\n      // character found in table? initialize bit storage and add its ascii value;\n      // tslint:disable-next-line:no-bitwise\n      ~buffer &&\n        (\n          (bs = bc % 4 ? bs * 64 + buffer : buffer),\n          // and if not first of each 4 characters,\n          // convert the first 8 bits to one ascii character\n          bc++ % 4\n        )\n        // tslint:disable-next-line:no-bitwise\n        ? (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6))))\n        : 0\n    ) {\n      // try to find character in table (0-63, not found => -1)\n      buffer = chars.indexOf(buffer);\n    }\n    return output;\n  }\n\n  private b64DecodeUnicode(str: any) {\n    return decodeURIComponent(\n      Array.prototype.map\n        .call(this.b64decode(str), (c: any) => {\n          return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n        })\n        .join('')\n    );\n  }\n\n  public decodeToken(token: string = this.tokenGetter()): any {\n    if (token === null) {\n      return null;\n    }\n\n    const parts = token.split('.');\n\n    if (parts.length !== 3) {\n      throw new Error('The inspected token doesn\\'t appear to be a JWT. ' +\n        'Check to make sure it has three parts and see https://jwt.io for more.');\n    }\n\n    const decoded = this.urlBase64Decode(parts[1]);\n    if (!decoded) {\n      throw new Error('Cannot decode the token.');\n    }\n\n    return JSON.parse(decoded);\n  }\n\n  public getTokenExpirationDate(token: string = this.tokenGetter()): Date {\n    let decoded: any;\n    decoded = this.decodeToken(token);\n\n    if (!decoded.hasOwnProperty('exp')) {\n      return null;\n    }\n\n    const date = new Date(0);\n    date.setUTCSeconds(decoded.exp);\n\n    return date;\n  }\n\n  public isTokenExpired(token: string = this.tokenGetter(), offsetSeconds?: number): boolean {\n    if (token === null || token === '') { return true; }\n    const date = this.getTokenExpirationDate(token);\n    offsetSeconds = offsetSeconds || 0;\n\n    if (date === null) {\n      return true;\n    }\n\n    return !(date.valueOf() > new Date().valueOf() + offsetSeconds * 1000);\n  }\n}\n","\nexport enum Authorities {\n    User = 'LOGIN',\n\n    // survey\n    ViewSurvey = 'VIEW_SURVEY',\n    CreateSurvey = 'CREATE_SURVEY',\n    EditSurvey = 'EDIT_SURVEY',\n    PublishSurvey = 'PUBLISH_SURVEY',\n    DownloadSurvey = 'DOWNLOAD_SURVEY_RESPONSE',\n    DeleteSurvey = 'DELETE_SURVEY',\n\n    // newsfeed\n    ViewNewsfeed = 'VIEW_NEWSFEED',\n    CreateNewsfeed = 'CREATE_NEWSFEED',\n    EditNewsfeed = 'EDIT_NEWSFEED',\n    DeleteNewsfeed = 'DELETE_NEWSFEED',\n\n    // clergy\n    ViewClergy = 'VIEW_CLERGY',\n\n    // parish\n    ViewParish = 'VIEW_PARISH',\n\n    // users\n    ViewUsers = 'VIEW_USER',\n    CreateUser = 'CREATE_USER',\n    EditUser = 'EDIT_USER',\n    DeleteUser = 'DELETE_USER',\n    ApproveUser = 'REVIEW_USER',\n    DisableUser = 'DISABLE_USER',\n\n    // templates\n    ViewTemplatesList = 'VIEW_TEMPLATES_LIST',\n    EditTemplate = 'EDIT_TEMPLATE',\n    AddTemplate = 'ADD_TEMPLATE',\n    ViewTemplate = 'VIEW_TEMPLATE',\n    DeleteTemplate = 'DELETE_TEMPLATE',\n    EditTemplateType = 'EDIT_TEMPLATE_TYPE',\n\n\n    // roles\n    ViewRoles = 'VIEW_ROLE',\n    CreateRole = 'CREATE_ROLE',\n    DeleteRole = 'DELETE_ROLE',\n    EditRole = 'EDIT_ROLE',\n\n    // registration\n    ViewRegistrationProperty = 'VIEW_REGISTRATION_PROPERTY',\n    EditRegistrationProperty = 'EDIT_REGISTRATION_PROPERTY',\n\n    // notifications\n    ViewNotifications = 'VIEW_NOTIFICATIONS',\n    AddNotification = 'ADD_NOTIFICATION',\n    DeleteNotification = 'DELETE_NOTIFICATION',\n    EditNotification = 'EDIT_NOTIFICATION',\n\n    // calendar\n    ViewCalendar = 'VIEW_CALENDAR',\n    ApproveCalendar = 'APPROVE_CALENDAR',\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n@Injectable()\nexport class DownloadFileService {\n  constructor(public http: HttpClient) { }\n\n\n\n  public getImage(userId) {\n    const url = `api/auth/oauth/users/${userId}/profileImage`;\n    let headers = new HttpHeaders({ 'Content-Type': 'application/json' });\n    headers.set('Accept', '*/*');\n    return this.http.get(url, { headers: headers, responseType: 'blob',withCredentials: true });\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, CanDeactivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { CreateSurveyComponent } from 'app/modules/dashboard/survey-management/create-survey/create-survey.component';\nimport { Observable } from 'rxjs';\nexport interface CanComponentDeactivate {\n  canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;\n}\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ConfirmDeactivateGuard implements CanDeactivate<CanComponentDeactivate> {\n\n  canDeactivate(\n    component: CanComponentDeactivate,\n    currentRoute: ActivatedRouteSnapshot,\n    currentState: RouterStateSnapshot,\n    nextState?: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n      console.log('adsfasdfasdfasdfasdf', component.canDeactivate);\n    return component.canDeactivate ? component.canDeactivate() : true;\n  }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthService } from './core/auth/auth.service';\n\n@Component({\n  selector: 'app-root',\n  templateUrl: './app.component.html',\n  styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit{\n  title = 'Orthodox';\n  constructor(\n    public toastr: ToastrService,\n    private authService: AuthService\n  ) {\n    // this.toastr.success('Hello world!', '', {timeOut: 500000, extendedTimeOut: 500000});\n  }\n  ngOnInit() {\n    setTimeout(() => {\n      this.authService.getUserName();\n    }, 0);\n  }\n}\n","<router-outlet></router-outlet>","import { OnInit, OnDestroy } from '@angular/core';\nimport { Cookie } from 'ng2-cookies';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n// import { AuthToken, Roles } from 'app/core/models/app.models';\nimport { Injectable } from '@angular/core';\nimport { JwtHelperService } from './jwt-helper.service';\nimport { RestapiService } from '../services/https/restapi.service';\nimport { Subject } from 'rxjs';\nimport { flatMap, delay, map } from 'rxjs/operators';\nimport { AuthToken, } from '../models/app.models';\nimport { LocalStorageService } from 'ngx-localstorage';\nimport { Roles } from '../models/roles.enum';\nimport { Authorities } from '../models/authorities.enum';\nimport { APIEndPoint } from '../services/https/ApiEndPoint';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ToastrService } from 'ngx-toastr';\nimport { PROFILE_IMAGE_ERROR, PROFILE_IMAGE_SUCCESS } from '../String';\n\n\n\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class AuthService implements OnInit, OnDestroy {\n    // Assuming this would be cached somehow from a login call.\n    public authTokenStale = 'stale_auth_token';\n    public authTokenNew = 'new_auth_token';\n    public currentToken: string;\n    private decodedToken: any;\n    public authorities = Authorities;\n    private refreshToken: string;\n    private unsubscribe = new Subject<void>();\n    public _userName= new BehaviorSubject('');\n    public userName = this._userName.asObservable();\n    public _userImageURI = new BehaviorSubject('');\n    public userImageURI = this._userImageURI.asObservable();\n    imageUrl: any;\n\n    constructor(\n        private router: Router,\n        private http: HttpClient,\n        private jwt: JwtHelperService,\n        private restAPIService: RestapiService,\n        private sanitizer: DomSanitizer,\n        public toasterService: ToastrService,\n        private storageService: LocalStorageService/* , private jwtHelper: JwtHelperService */) {\n        const accessToken = storageService.get('access_token') || Cookie.get('access_token');\n        const refreshToken = storageService.get('refresh_token') || Cookie.get('refresh_token');\n        this.setCurrentTokens(accessToken, refreshToken);\n    }\n\n    getAuthToken(): string {\n        return this.currentToken;\n    }\n\n    getTokenExpirationDate(): Date {\n        // return this.jwtHelper.getTokenExpirationDate(this.currentToken);\n        return new Date();\n    }\n\n    saveToken(token: AuthToken, rememberMe?: boolean): void {\n        const expireDate = new Date().getTime() + (1000 * token.expires_in);\n        Cookie.set('access_token', token.access_token, expireDate, '/');\n        Cookie.set('refresh_token', token.refresh_token, expireDate, '/');\n        if (rememberMe) {\n            this.storageService.set('access_token', token.access_token);\n            this.storageService.set('refresh_token', token.refresh_token);\n        }\n        this.setCurrentTokens(token.access_token, token.refresh_token);\n    }\n\n    deleteToken(): void {\n        Cookie.delete('access_token', '/');\n        Cookie.delete('refresh_token', '/');\n        this.storageService.clear();\n        this.setCurrentTokens(null, null);\n    }\n\n    private setCurrentTokens(accessToken: string, refreshToken: string): void {\n        this.currentToken = accessToken;\n        this.refreshToken = refreshToken;\n        if (this.currentToken) {\n            this.decodedToken = this.jwt.decodeToken(this.currentToken);\n        } else {\n            this.decodedToken = null;\n        }\n    }\n\n    refreshAccessToken(): Observable<string> {\n        /*\n            The call that goes in here will use the existing refresh token to call\n            a method on the oAuth server (usually called refreshToken) to get a new\n            authorization token for the API calls.\n        */\n\n        const params = new URLSearchParams();\n        params.append('grant_type', 'refresh_token');\n        params.append('refresh_token', this.refreshToken);\n        // params.append('client_id', 'gmc-client');\n        const headers = new HttpHeaders({\n            'Content-type': 'application/x-www-form-urlencoded; charset=utf-8',\n            Authorization: 'Basic ' + btoa('gmc-client:password1234')\n        });\n        const httpOptions = { headers };\n        console.log(params.toString());\n        return this.http.post<AuthToken>('oauth/token',\n            params.toString(),\n            httpOptions).pipe(flatMap(data => {\n                this.saveToken(data);\n                return of(this.currentToken), delay(200);\n            }));\n\n    }\n\n    loginAndSetTokens(username: string, password: string, rememberMe?: boolean, captchaString?: string): Observable<AuthToken> {\n        const params = new URLSearchParams();\n        params.append('username', username);\n        params.append('password', password);\n        params.append('grant_type', 'password');\n        params.append('client_id', 'aob-admin-client');\n        params.append('client_secret', 'password1234');\n        // params.append('scope', 'SITE_ADMIN ADMIN DOCTOR SUPPORT_STAFF FINANCE MARKETING ORDER_MANAGER SALES USER TECH');\n        const headers = new HttpHeaders({\n            'Content-type': 'application/x-www-form-urlencoded; charset=utf-8',\n            //  'Authorization': 'Basic ' + btoa('gmc-client:password1234')\n        });\n        const httpOptions = { headers };\n        console.log(params.toString());\n        return this.http.post<AuthToken>('api/auth/oauth/token',\n            params.toString(),\n            httpOptions).pipe(map(data => {\n                console.log('login data set', data);\n                this.saveToken(data, rememberMe);\n                return data;\n            }));\n    }\n\n    logoutUser(): Observable<string> {\n        // Route to the login page (implementation up to you)\n        this.deleteToken();\n        this.currentToken = '';\n        this.router.navigate(['login']);\n        return of('');\n    }\n\n\n    public getRoles(): string[] {\n        return this.decodedToken.roles;\n    }\n    public getEmail(): string {\n        return this.decodedToken.email;\n    }\n\n    public getUserId(): string {\n        return this.decodedToken.user_name;\n    }\n\n    public getAutorities(): string[] {\n        return this.decodedToken.authorities;\n    }\n\n    public isUserAdmin(): boolean {\n        return this.decodedToken.roles.includes(Roles.ADMIN);\n    }\n\n    checkAccessForAuthorities(...authorities) {\n        // return authorities.some(authority => this.checkAuthority(authority));\n    }\n\n    checkAuthority(authority: string): boolean {\n        return this.getAutorities().includes(authority) || this.getRoles().includes('SUPER_ADMIN');\n        // return true;\n\n    }\n    // tslint:disable-next-line:contextual-lifecycle\n    ngOnInit(): void {\n    }\n\n    ngOnDestroy(): void {\n        this.unsubscribe.next();\n        this.unsubscribe.complete();\n    }\n\n    getUserName() {\n        if(this.getUserId()) {\n            this.getUserProfileImage()\n            this.restAPIService.invoke(APIEndPoint.GET_USER_BY_ID, { userId: this.getUserId()}).subscribe((res: any) => {\n                if(res) {\n                    this.updateUserName(`${res.firstName} ${res.lastName || ''}`);\n                }\n            });\n        }\n    }\n\n    updateUserName(username) {\n        localStorage.setItem(\"username\", username);\n        this._userName.next(username);\n    }\n\n    updateUserImage(uri) {\n        this._userImageURI.next(uri);\n    }\n\n\n\n  getUserProfileImage = () => {\n    this.restAPIService.invoke(APIEndPoint.GET_PROFILE_IMAGE, { userId: this.getUserId()}, null, null, true,\n      { 'Content-Type': '*/*', 'Accept': '*/*' }, 'blob').subscribe((res: any) => {\n        const blob = new Blob([res]);\n        const url = window.URL.createObjectURL(blob);\n        const image: any = this.sanitizer.bypassSecurityTrustUrl(url);\n        this.imageUrl = image.changingThisBreaksApplicationSecurity;\n        this.updateUserImage(this.imageUrl);\n      });\n  }\n  getUserNameById(userId: string): Observable<string> {\n    return this.restAPIService.invoke(APIEndPoint.GET_USER_BY_ID, { userId }).pipe(\n      map((res: any) => `${res.firstName} ${res.lastName || ''}`)\n    );\n  }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n// import { ServiceWorkerModule } from '@angular/service-worker';\nimport { environment } from '../environments/environment';\nimport { ToastrModule, ToastNoAnimation } from 'ngx-toastr';\nimport { NgxLocalStorageModule } from 'ngx-localstorage';\n\nimport { HttpClientModule, HttpClientXsrfModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\nimport { AuthInterceptor } from './core/auth/auth.interceptor';\nimport { RouterModule } from '@angular/router';\nimport { CdkColumnDef } from '@angular/cdk/table';\nimport { MAT_RADIO_DEFAULT_OPTIONS } from '@angular/material/radio';\nimport { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';\nimport { UserService } from './core/services/user.service';\nimport { DownloadFileService } from './core/services/download-file.service';\nimport { ConfirmDeactivateGuard } from './core/guard/confirm-deactivate.guard';\n\n// import { LoaderService } from './core/services/loader.service';\n\n\n@NgModule({\n  declarations: [\n    AppComponent,\n  ],\n  imports: [\n    BrowserModule,\n    AppRoutingModule,\n    BrowserAnimationsModule,\n    HttpClientModule,\n    HttpClientXsrfModule.withOptions({\n      cookieName: 'csrftoken',\n      headerName: 'X-CSRFToken'\n    }),\n    ReactiveFormsModule,\n    RouterModule,\n    FormsModule,\n    ToastrModule.forRoot({\n      toastComponent: ToastNoAnimation,\n      preventDuplicates: true,\n      tapToDismiss: true,\n      closeButton: true\n    }),\n    NgxLocalStorageModule.forRoot()\n    // ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production })\n  ],\n  providers: [\n    {\n      provide: HTTP_INTERCEPTORS,\n      useClass: AuthInterceptor,\n      multi: true\n    },\n    {\n      provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: {\n        duration: 500,\n        horizontalPosition: 'end',\n        verticalPosition: 'top',\n      }\n    },\n    CdkColumnDef,\n    UserService,\n    ConfirmDeactivateGuard,\n    DownloadFileService\n    // LoaderService,\n  ],\n  bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n@Injectable({\n    providedIn: 'root'\n})\nexport class UserService {\n    public _userEmail = new Subject();\n    public userEmail = this._userEmail.asObservable();\n    constructor() { }\n\n    updateEmail(email: any) {\n        this._userEmail.next(email);\n    }\n\n}","\nexport class APIEndPoint {\n\n\n    public static GET_SERVICE_KEYS: APIDef = { method: 'GET', api: () => 'config/api/meta/serviceKeys' };\n\n    // registeration\n    public static GET_PROPERTY_OPTIONS: APIDef = {\n        method: 'GET', api: (input: APIInput) => `api${input.endpoint}`\n    };\n    public static UPDATE_PROPERTY_OPTION: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `api${input.endpoint}/${input.id}`\n    };\n    public static ADD_PROPERTY_OPTION: APIDef = {\n        method: 'POST', api: (input: APIInput) => `api${input.endpoint}`\n    };\n\n    public static DELETE_PROPERTY_OPTION: APIDef = {\n        method: 'DELETE', api: (input: APIInput) => `api${input.endpoint}/${input.id}`\n    };\n\n    public static UPDATE__ALLOW_INPUT_STATUS: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `api${input.endpoint}/${input.id}`\n    };\n    public static UPDATE_PROPERTY_BY_ID: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `/api/metas/profileProperties/${input.id}`\n    };\n\n    public static GET_PROPERTIES: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/metas/profileProperties`\n    };\n\n    public static GET_ALL_OPTIONS_FOR_PERPERTIES: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/metas/allOptions`\n    };\n\n    public static CHANGE_REGISTRATION_OPTION_ORDER: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `/api/metas/profileProperties/${input.id}/updateOrder`\n    };\n\n\n\n\n    // {new_api}\n    public static GET_CLIENT_KEYS: APIDef = { method: 'GET', api: () => `notif/api/templates/clients` };\n\n    // log level\n    public static ADD_LOG_LEVEL: APIDef = {\n        method: 'POST', api: (input) => `/api/logger`\n    };\n    public static GET_LOG_LEVEL_LIST: APIDef = { method: 'GET', api: () => '/api/logger' };\n\n\n    // survey\n    public static GET_SURVEYS: APIDef = {\n        method: 'GET', api: () => `/api/surveys`\n    };\n    public static GET_SURVEY_BY_ID: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/surveys/${input.surveyId}`\n    };\n    public static GET_SURVEY_TARGET_BY_ID: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/surveys/${input.surveyId}/targetOptions`\n    };\n    public static GET_QUESTIONTYPE: APIDef = {\n        method: 'GET', api: () => `/api/questionTypes/`\n    };\n    public static CREATE_SURVEY: APIDef = {\n        method: 'POST', api: () => `/api/surveys`\n    };\n    public static COPY_SURVEY: APIDef = {\n        method: 'POST', api: (input: APIInput) => `/api/surveys/${input.surveyId}/copies`\n    };\n    public static CREATE_SURVEY_QUESTIONS: APIDef = {\n        method: 'POST', api: (input: APIInput) => `/api/surveys/${input.surveyId}/questions`\n    };\n    public static CREATE_SURVEY_TARGET: APIDef = {\n        method: 'POST', api: (input: APIInput) => `/api/surveys/${input.surveyId}/targetOptions`\n    };\n    public static UPDATE_SURVEY: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `/api/surveys/${input.surveyId}`\n    };\n    public static UPDATE_SURVEY_TARGET: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `/api/surveys/${input.surveyId}/targetOptions`\n    };\n    public static UPDATE_SURVEY_QUESTION: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `/api/surveys/${input.surveyId}/questions/${input.questionId}`\n    };\n    public static DELETE_SURVEY: APIDef = {\n        method: 'DELETE', api: (input: APIInput) => `/api/surveys/${input.surveyId}`\n    };\n    public static DELETE_SURVEY_QUESTIONS: APIDef = {\n        method: 'DELETE', api: (input: APIInput) => `/api/surveys/${input.surveyId}/questions/${input.questionId}`\n    };\n\n    public static PUBLISH_SURVEY: APIDef = {\n        method: 'POST', api: (input: APIInput) => `/api/surveys/${input.surveyId}/publish`\n    };\n\n    public static DOWNLOAD_SURVEY: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/surveys/${input.surveyId}/downloads`\n    };\n\n    public static CANCEL_SURVEY: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `/api/surveys/${input.surveyId}/cancelled`\n    };\n\n    public static SEND_SURVEY_REMINDER: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/surveys/${input.surveyId}/remind`\n    };\n\n    public static CHANGE_QUESTION_ORDER: APIDef = {\n        method: 'POST', api: (input: APIInput) => `/api/surveys/${input.surveyId}/questionOrder`\n    };\n\n\n\n    // state city\n    public static GET_STATE: APIDef = {\n        method: 'GET', api: () => `/api/metas/states`\n    };\n\n    public static GET_CITIES: APIDef = {\n        method: 'GET', api: () => `/api/metas/cities`\n    };\n    public static GET_CITY_BY_STATE_ID: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/states/${input.stateId}/cities`\n    };\n\n\n\n    // user\n    public static GET_USERS: APIDef = {\n        method: 'GET', api: () => `/api/auth/oauth/users`\n    };\n\n    public static TOGGLE_USER_DISABLILITY: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `api/auth/oauth/users/${input.userId}/toggleAccountStatus`\n    };\n\n    public static GET_USER_BY_EMAIL_ID: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/users/${input.email}`\n    };\n\n    public static GET_USER_PROFILE_CHANGES_BY_EMAIL_ID: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/users/profileChangeRequests/${input.email}`\n    };\n\n    public static CHANGE_PASSWORD: APIDef = {\n        method: 'POST', api: () => `/api/auth/oauth/change-password`\n    };\n    public static FORGET_PASSWORD_SEND_OTP: APIDef = {\n        method: 'POST', api: () => `/api/auth/otps/resetPassword`\n    };\n    public static VERIFY_OTP_FOR_PASSWORD: {\n        method: 'POST', api: () => `/api/auth/oauth/reset-password`\n    };\n\n    public static CHANGE_USER_STATUS_BY_ID: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `/api/auth/oauth/users/${input.userId}/review`\n    };\n    public static GET_USER_BY_ID: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/auth/oauth/users/${input.userId}`\n    };\n\n    public static DETELE_USER_BY_ID: APIDef = {\n        method: 'DELETE', api: (input: APIInput) => `/api/auth/oauth/users/${input.userId}`\n    };\n\n    public static CREATE_USERS: APIDef = {\n        method: 'POST', api: () => `/api/auth/oauth/users`\n    };\n    public static DELETE_USER: APIDef = {\n        method: 'DELETE', api: (input: APIInput) => `/api/auth/oauth/users/${input.userId}`\n    };\n    public static UPDATE_USER: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `/api/auth/oauth/users/${input.userId}`\n    };\n\n    public static CREATE_OTP_FOR_CHANGE_EMAIL: APIDef = {\n        method: 'POST', api: () => `/api/auth/otps/emailChange`\n    };\n\n    public static VERIFY_OTP_FOR_CHANGE_EMAIL: APIDef = {\n        method: 'PUT', api: () => `/api/auth/oauth/users/emailConfirmations`\n    };\n\n    public static VERIFY_OTP_FOR_FORGET_PASSWORD: APIDef = {\n        method: 'POST', api: () => `/api/auth/oauth/reset-password`\n    };\n\n    public static UPLOAD_PROFILE_IMAGE: APIDef = {\n        method: 'POST', api: (input: APIInput) => `/api/auth/oauth/users/${input.userId}/profileImage`\n    };\n\n    public static GET_PROFILE_IMAGE: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/auth/oauth/users/${input.userId}/profileImage`\n    };\n\n    public static   DOWNLOAD_USER_LIST: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/userDownloads`\n    };\n\n\n    // Notification\n    public static GET_NOTIFICATIONS: APIDef = {\n        method: 'GET', api: () => `/api/notifications`\n    };\n\n    public static GET_NOTIFICAITON_BY_ID: APIDef = {\n        method: 'GET', api: (input: APIInput) => `/api/notifications/${input.id}/view`\n    }\n\n    public static CREATE_NOTIFICATION: APIDef = {\n        method: 'POST', api: () => `/api/notifications`\n    };\n    public static DELETE_NOTIFICATION: APIDef = {\n        method: 'DELETE', api: (input: APIInput) => `/api/notifications/${input.notificationId}`\n    };\n\n    public static TOGGLE_NOTIFICATION_VISIBILITY: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `/api/notifications/${input.notificationId}/hide`\n    };\n\n    public static CREATE_NOTIFICATION_TARGET: APIDef = {\n        method: 'POST', api: (input: APIInput) => `/api/surveys/${input.notificationId}/targets`\n    };\n\n    public static GET_NOTIFICATION_EMAIL: APIDef = {\n        method: 'GET', api: () => `/api/metas/configs`\n    }\n\n    // Roles\n    public static GET_ROLES: APIDef = {\n        method: 'GET', api: () => `api/auth/oauth/roles`\n    };\n\n    public static CREATE_ROLE: APIDef = {\n        method: 'POST', api: () => `api/auth/oauth/roles`\n    };\n\n    public static UPDATE_ROLE: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `api/auth/oauth/roles/${input.roleId}`\n    };\n\n    public static DELETE_ROLE: APIDef = {\n        method: 'DELETE', api: (input: APIInput) => `api/auth/oauth/roles/${input.roleId}`\n    };\n\n    // Authorities\n    public static GET_AUTHORITIES: APIDef = {\n        method: 'GET', api: () => `api/auth/oauth/authorities`\n    };\n\n    public static CREATE_EMAIL: APIDef = { method: 'POST', api: () => 'notif/api/emailTemplates' };\n\n    public static CREATE_NEW_EMAIL: APIDef = { method: 'POST', api: () => 'notif/api/emailTemplates' };\n    // {new_api}\n    public static GET_EMAIL_TEMPLATES: APIDef = { method: 'GET', api: () => 'notif/api/emailTemplates' };\n\n    public static GET_NEW_EMAIL_TEMPLATES: APIDef = { method: 'GET', api: () => 'notif/api/emailTemplates' };\n\n\n\n\n\n    // {new_api}\n    public static GET_TYPES: APIDef = { method: 'GET', api: () => 'notif/api/templates/types' };\n\n\n    // Template Controller\n    public static CREATE_TEMPLATE: APIDef = { method: 'POST', api: () => 'api/templates' };\n    public static UPDATE_TEMPLATE: APIDef = {\n        method: 'PUT', api: (input: APIInput) =>\n            `api/template/${input.templateId}`\n    };\n    public static GET_TEMPLATES: APIDef = { method: 'GET', api: () => 'api/templates' };\n    public static GET_TEMPLATE_BY_ID: APIDef = { method: 'GET', api: (input: APIInput) => `api/templates/${input.templateId}` };\n\n\n    // {new_api}\n    public static UPDATE_EMAIL_TEMPLATES: APIDef = {\n        method: 'PUT', api: (input: APIInput) =>\n            `notif/api/emailTemplates/${input.emailTemplateId}`\n    };\n    public static UPDATE_NEW_EMAIL_TEMPLATES: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `notif/api/emailTemplates/${input.templateId}`\n    };\n    // {new_api}\n    public static GET_EMAIL_TEMPLATES_BY_ID: APIDef = {\n        method: 'GET', api: (input: APIInput) => `notif/api/emailtemplates/${input.emailTemplateId}`\n    };\n\n    public static GET_NEW_EMAIL_TEMPLATES_BY_ID: APIDef = {\n        method: 'GET', api: (input: APIInput) => `notif/api/emailTemplates/${input.emailTemplateId}`\n    };\n    public static DELETE_NEW_EMAIL_TEMPLATES_BY_ID: APIDef = {\n        method: 'DELETE', api: (input: APIInput) => `notif/api/emailTemplates/${input.emailTemplateId}`\n    };\n    public static DELETE_EMAIL_TEMPLATES_BY_ID: APIDef = {\n        method: 'DELETE', api: (input: APIInput) => `api/emailTemplates/${input.emailTemplateId}`\n    };\n    public static UPDATE_EMAIL_TYPE: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `notif/api/emailTemplates/${input.typeId}/updateType`\n    };\n\n    // PREVIEW TEMPLATE\n    // {new_api}\n    public static PREVIEW_TEMPLATE: APIDef = { method: 'POST', api: () => 'notif/api/templates/preview?type=html' };\n\n    // VIEW TEMPLATE\n    public static VIEW_TEMPLATE: APIDef = { method: 'POST', api: () => 'api/viewHTML' };\n\n    // Event Controller\n    public static GET_EVENTS: APIDef = { method: 'GET', api: () => 'gmcontent/api/events' };\n    public static CREATE_EVENTS: APIDef = { method: 'POST', api: () => 'api/events' };\n    public static GET_EVENTS_KEYS: APIDef = { method: 'GET', api: () => 'api/eventsKeys' };\n    public static DELETE_EVENT: APIDef = { method: 'DELETE', api: (input: APIInput) => `api/events/${input.key}` };\n    public static GET_TEMPLATE_KEYS: APIDef = { method: 'GET', api: (input: APIInput) => `api/events/${input.eventName}/templateKeys` };\n    public static TOGGLE_PUBLISH_PUBLIC_DOCTOR: APIDef = {\n        method: 'GET', api: (input: APIInput) =>\n            `api/publicDoctorProfiles/${input.publicDoctorId}/togglePublishStatus`\n    };\n\n    // Campare Template\n    public static GET_TEMPLATE_TYPE: APIDef = { method: 'GET', api: () => `notif/api/templateTypes` };\n    // public static GET_ENVIRONMENT_TYPE: APIDef = { 'method': 'GET', api: () => `notif/api/templateTypes` };\n\n    // {new_api}\n    public static POST_TEMPLATE_COMPARE: APIDef = { method: 'POST', api: () => `notif/api/templates/compare` };\n\n    // templets push notification\n    // {new_api}\n    public static GET_PUSH_NOTIFICATIONS: APIDef =\n\n        { method: 'GET', api: () => 'notif/api/pushTemplates' };\n\n\n    public static GET_DELETED_PUSH_NOTIFICATIONS: APIDef =\n\n        { method: 'DELETE', api: (input: APIInput) => `notif/api/pushTemplates/${input.PushId}` };\n\n    // {new_api}\n    public static POST_PUSHADD: APIDef =\n\n        { method: 'POST', api: () => 'notif/api/pushTemplates' };\n\n    // {new_api}\n    public static GET_PUSH_BY_ID: APIDef =\n\n        { method: 'GET', api: (input: APIInput) => `notif/api/pushTemplates/${input.PushId}` };\n\n    // {new_api}\n    public static UPDATE_PUSH_NOTIFICATION: APIDef =\n\n        { method: 'PUT', api: (input: APIInput) => `notif/api/pushTemplates/${input.PushId}` };\n\n    public static UPDATE_PUSH_TEMPLATE_TYPE: APIDef =\n\n        { method: 'PUT', api: (input: APIInput) => `notif/api/pushTemplates/${input.PushId}/updateType` };\n\n\n\n    // OTP-LIST-END-POINT\n    // {new_api}\n    public static GET_OTP_EVENTS: APIDef = {\n        method: 'GET', api: (input: APIInput) => `notif/api/templates/events/${input.clientKey}`\n    };\n    public static GET_2F_OTP_TEMPLATE: APIDef = {\n        method: 'GET', api: (input: APIInput) => `notif/api/twoFactorTemplates`\n    };\n\n    public static UPDATE_USER_STATUS: APIDef = {\n        method: 'PUT', api: (input: APIInput) => `api/auth/oauth/users/${input.userId}/review`\n    };\n\n    public static UPLOAD_ASSETS: APIDef = {\n        method: 'POST', api: () => `api/uploads`\n    };\n    public static UPLOAD_ASSETS_LISTS: APIDef = {\n        method: 'GET', api: (input: APIInput) => `api/uploads`\n    };\n    public static UPLOAD_ASSETS_LISTS_BY_ID: APIDef = {\n        method: 'GET', api: (input: APIInput) => `api/uploads`\n    };\n    public static UPLOAD_ASSETS_DELETE: APIDef = {\n        method: 'DELETE', api: (input: APIInput) => `api/uploads/${input.id}`\n    };\n}\n\n\n\nexport interface APIDef {\n    method: string;\n    api: any;\n}\n\nexport interface APIInput {\n    endpoint?: string;\n    notificationId?: any;\n    notifVisibility?: any;\n    surveyId?: any;\n    surveyTargetId?: any;\n    questionId?: any;\n    key?: string;\n    email?: string;\n    userId?: any;\n    typeId?: any;\n    stateId?: any;\n    roleId?: any;\n    templateId?: any;\n    emailTemplateId?: string;\n    smsTemplateId?: string;\n    viewTemplateId?: string;\n    clientKey?: string;\n    eventName?: string;\n    doctorId?: string;\n    publicDoctorId?: string;\n    padId?: string;\n    appointmentId?: string;\n    subscriptionId?: string;\n    scheduleId?: string;\n    patientId?: string;\n    purchaseReportId?: string;\n    invoiceId?: string;\n    countryId?: string;\n    ServicesId?: string;\n    virtualPharmacyId?: string;\n    publicDoctorProfileId?: string;\n    oddTimingId?: string;\n    jobKey?: string;\n    voucherId?: string;\n    EntityId?: string;\n    otpId?: string;\n    ruleId?: string;\n    notifyId?: string;\n    reviewId?: string;\n    eventId?: any;\n    clientId?: any;\n    id?: any;\n    versionId?: any;\n    deviceId?: any;\n    deviceType?: any;\n    PushId?: string;\n    clinicId?: string;\n    facilityId?: string;\n    staffId?: string;\n    encounterId?: string;\n    gmPadId?: string;\n    medicineName?: string;\n    fileName?: string;\n    planId?: string;\n    configurationId?: string;\n    jobGroup?: string;\n    jobName?: string;\n    agentId?: string;\n    paymentId?: string;\n    customerReviewId?: string;\n    reportId?: string;\n    docId?: string;\n    locale?: string;\n    medicineId?: string;\n    bannerId?: string;\n    urlId?: string;\n    urlShortCode?: string;\n    service?: string;\n    logConfigId?: string;\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\n\n\nconst APP_ROUTE: Routes = [\n  {\n    path: '',\n    loadChildren: () => import('app/modules/auth/auth.module').then(m => m.AuthModule)\n  },\n\n  {\n    path: 'dashboard',\n    loadChildren: () => import('app/modules/dashboard/dashboard.module').then(m => m.DashboardModule)\n  },\n\n  // {\n  //   path: 'survey',\n  //   loadChildren: () => import('app/modules/dashboard/survey-management/survey-management.module').then(m => m.SurveyManagmentModule)\n  // },\n  {\n    path: '**',\n    redirectTo: '',\n    pathMatch: 'full'\n  },\n];\n\n@NgModule({\n  imports: [RouterModule.forRoot(APP_ROUTE)],\n  exports: [RouterModule]\n})\nexport class AppRoutingModule { }\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\";"],"sourceRoot":"webpack:///"}