{"version":3,"sources":["./src/app/components/about/about.component.ts","./src/app/components/about/about.component.html","./src/app/services/more-screen.service.ts","webpack:///crypto (ignored)?4e8a","util (ignored)","webpack:///util (ignored)?15b6","webpack:///buffer (ignored)?01f8","webpack:///crypto (ignored)?067b","./src/app/config/constants.ts","buffer (ignored)","webpack:///crypto (ignored)?e9c7","./src/app/components/privacy/privacy.component.ts","./src/app/components/privacy/privacy.component.html","./src/app/modules/register/registration/registration.component.ts","./src/app/modules/register/registration/registration.component.html","./src/app/modules/subscriptions/components/downgrade-subscription-dialog/downgrade-subscription-dialog.component.ts","./src/app/modules/subscriptions/components/downgrade-subscription-dialog/downgrade-subscription-dialog.component.html","./src/app/modules/jobs/services/jobs.service.ts","./src/environments/environment.ts","./src/app/modules/get-invited/get-invited/get-invited.component.ts","./src/app/modules/get-invited/get-invited/get-invited.component.html","./src/app/modules/shared/shared.module.ts","./src/app/components/enquiries/enquiries.component.ts","./src/app/components/enquiries/enquiries.component.html","./src/app/components/deactivate-account/deactivate-account.component.ts","./src/app/components/deactivate-account/deactivate-account.component.html","./src/app/modules/jobs/components/my-manage-jobs/my-manage-jobs.component.ts","./src/app/modules/jobs/components/my-manage-jobs/my-manage-jobs.component.html","./src/app/_helpers/classes/url-builder.ts","./src/app/modules/auth.guard.ts","./src/app/modules/jobs/components/apply-job/apply-job.component.ts","./src/app/modules/jobs/components/apply-job/apply-job.component.html","./src/app/components/notifications/notifications.component.ts","./src/app/components/notifications/notifications.component.html","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/modules/dashboard/main-dashboard/main-dashboard.component.ts","./src/app/modules/dashboard/main-dashboard/main-dashboard.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/models/constants.ts","./src/app/components/rate-us/rate-us.component.ts","./src/app/components/rate-us/rate-us.component.html","./src/app/components/login/login.component.ts","./src/app/components/login/login.component.html","./src/app/components/change-password/change-password.component.ts","./src/app/components/change-password/change-password.component.html","./src/app/app.module.ts","./src/app/modules/subscriptions/components/subscriptions/subscriptions.component.ts","./src/app/modules/subscriptions/components/subscriptions/subscriptions.component.html","./src/app/services/api-http.service.ts","./src/app/services/messaging.service.ts","./src/app/_helpers/classes/query-string-parameters.ts","./src/app/modules/dashboard/dashboard.service.ts","./src/app/delete-account/delete-account.component.ts","./src/app/delete-account/delete-account.component.html","./src/app/modules/groups/services/groups.service.ts","./src/app/services/auth.service.ts","./src/app/services/navbar.service.ts","./src/app/services/api-endpoint.service.ts","./src/app/modules/networks/services/networks.service.ts","./src/app/components/contact-us/contact-us.component.ts","./src/app/components/contact-us/contact-us.component.html","./src/app/modules/forgot-password/forgot-password.component.ts","./src/app/modules/forgot-password/forgot-password.component.html","./src/app/_helpers/interceptors/http-error.interceptor.ts","./src/app/components/about-us/about-us.component.ts","./src/app/components/about-us/about-us.component.html","./src/app/app-routing.module.ts","./src/app/components/landing-screen/landing-screen.component.ts","./src/app/components/landing-screen/landing-screen.component.html","./src/app/modules/jobs/components/jobs/jobs.component.ts","./src/app/modules/jobs/components/jobs/jobs.component.html","./src/app/components/terms-conditions/terms-conditions.component.ts","./src/app/components/terms-conditions/terms-conditions.component.html","./src/app/components/terms/terms.component.ts","./src/app/components/terms/terms.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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,iNACE;QAOJ,4DAAM;QACR,4DAAM;;;QA3DD,sJAA+C;QAahD,0DAA4B;QAA5B,uFAA4B;QAWd,0DAAkD;QAAlD,0FAAkD;;6FDfvD,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,gCAAgC;gBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;aAC9C;8QAEsB,MAAM;kBAA1B,uDAAS;mBAAC,QAAQ;YAIV,MAAM;kBAAd,mDAAK;;;;;;;;;;;;;AElBR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvS4E;AAUW;;;;;;;;;;;;;;ICiN7E,0EAIE;IADA,sWAA+B;IAC/B,qEACA;IAAA,gEACA;IAAA,qEAKA;IAAA,6EAA4B;IAAA,uDAA2B;;IAAA,4DAAS;IAClE,4DAAM;;;IARkB,0DAA2B;IAA3B,oJAA2B;IAI/C,0DAAuE;IAAvE,sMAAuE;IAG7C,0DAA2B;IAA3B,8IAA2B;;;;IA+GzD,0EAKE;IAFA,mXAA2C;IAG3C,gEACA;IAAA,qEAOA;IAAA,6EACE;IAAA,uDACF;IAAA,4DAAS;IACX,4DAAM;;;IARF,0DAEC;IAFD,sMAEC;IAID,0DACF;IADE,0GACF;;ADpVL,MAAM,sBAAsB;IAuNjC,YACU,cAA8B,EAC/B,WAAwB,EACvB,OAA0B,EAC1B,gBAAkC,EAClC,kBAAuC,EACvC,SAAsB,EACtB,kBAAsC;QANtC,mBAAc,GAAd,cAAc,CAAgB;QAC/B,gBAAW,GAAX,WAAW,CAAa;QACvB,YAAO,GAAP,OAAO,CAAmB;QAC1B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,uBAAkB,GAAlB,kBAAkB,CAAqB;QAC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","file":"main.js","sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { MoreScreenService } from 'src/app/services/more-screen.service';\nimport { NavbarService } from 'src/app/services/navbar.service';\n\n@Component({\n selector: 'app-about',\n templateUrl: './about.component.html',\n styleUrls: ['./about.component.scss']\n})\nexport class AboutComponent implements OnInit {\n about: any;\n\n constructor(public nav: NavbarService,\n private spinner: NgxSpinnerService,\n private _snackBar: MatSnackBar,\n private settingsService: MoreScreenService,\n public dialog: MatDialog) { }\n\n ngOnInit(): void {\n this.nav.navbarHide();\n this.nav.footerShow();\n this.nav.setfooterNotFixed();\n this.getAbout();\n }\n getAbout() {\n this.settingsService.aboutUs().subscribe((res) => {\n console.log(res);\n if (res.status) {\n this.about = res.data;\n } else {\n this.openSnackBar(res.message, '');\n }\n });\n }\n openSnackBar(message: string, action: string): void {\n this._snackBar.open(message, action, { duration: 3000 });\n }\n\n}\n","

About Us

\n\n
\n \n
\n
","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { ApiEndpointsService } from './api-endpoint.service';\nimport { ApiHttpService } from './api-http.service';\nimport { map, takeUntil } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MoreScreenService {\n\n destroy$ = new Subject();\n\n constructor(\n private apiHttpService: ApiHttpService,\n private apiEndpointsService: ApiEndpointsService\n ) { }\n\n async sendAnEnquiry(params: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(params);\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"Enquire now payload encrypted:- \")\n console.log(encryptedPayload);\n return this.apiHttpService.post(\n this.apiEndpointsService.sendAnEnquiry(),\n encryptedPayload\n );\n }\n\n async sendAnSubscriptionEnquiry(params: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(params);\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"Enquire now payload encrypted:- \")\n console.log(encryptedPayload);\n return this.apiHttpService.post(this.apiEndpointsService.sendAnSubscriptionEnquiry(), encryptedPayload);\n }\n\n getUserListBasedOnSearch(queryParams: any): Observable {\n return this.apiHttpService.get(\n this.apiEndpointsService.getUserListbySearch(queryParams)\n );\n }\n\n getEnquiryServices(): Observable {\n return this.apiHttpService.get(\n this.apiEndpointsService.getEnquiryServices()\n );\n }\n\n rateUs(formData: any): Observable {\n return this.apiHttpService.post(\n this.apiEndpointsService.rateUs(),\n formData\n );\n }\n\n async createOrderId(params: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(params);\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"createOrderId payload encrypted:- \")\n console.log(encryptedPayload);\n return (await this.apiHttpService.post(this.apiEndpointsService.createOrderId(), encryptedPayload)\n .pipe(\n map((res: any) => {\n return res;\n })\n ))\n }\n\n async subscriptionPayNow(params: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(params);\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"createOrderId payload encrypted:- \")\n console.log(encryptedPayload);\n return (await this.apiHttpService.post(this.apiEndpointsService.subscriptionPayNow(), encryptedPayload)\n .pipe(\n map((res: any) => {\n return res;\n })\n ))\n }\n\n aboutUs(): Observable {\n return this.apiHttpService.get(this.apiEndpointsService.aboutUs());\n }\n\n deactivateAccount(formData: any): Observable {\n return this.apiHttpService.post(\n this.apiEndpointsService.accountDeactivate(),\n formData\n );\n }\n\n async changePass(params: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(params);\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"changePassword payload encrypted:- \")\n console.log(encryptedPayload);\n return this.apiHttpService.post(\n this.apiEndpointsService.changePassword(),\n encryptedPayload\n );\n }\n\n async contactUs(params: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(params);\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"changePassword payload encrypted:- \")\n console.log(encryptedPayload);\n return this.apiHttpService.post(this.apiEndpointsService.contactUs(),encryptedPayload);\n }\n\n async getPlansList(queryParams: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(queryParams);\n return this.apiHttpService.get(await this.apiEndpointsService.plansList(queryParams))\n .pipe(map((res: any) => {\n return res;\n }));\n }\n\n async getSubscriptionHistory(queryParams: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(queryParams);\n return this.apiHttpService.get(await this.apiEndpointsService.getSubscriptionHistory(queryParams))\n .pipe(map((res: any) => {\n if (res.status) return res;\n else return null;\n }));\n }\n async getPlanDetails(queryParams: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(queryParams);\n return this.apiHttpService.get(await this.apiEndpointsService.planDetails(queryParams))\n .pipe(map((res: any) => {\n if (res.status) return res;\n else return null;\n }));\n }\n\n // async sendAnSubscriptionEnquiry(params: any): Promise> {\n // localStorage.setItem('aesToken', '')\n // await this.apiEndpointsService.getAesToken(params);\n // this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\n // let encryptedPayload = {\n // data: localStorage.getItem('aesToken')\n // }\n // console.log(\"Enquire now payload encrypted:- \")\n // console.log(encryptedPayload);\n // return this.apiHttpService.post(this.apiEndpointsService.sendAnSubscriptionEnquiry(), encryptedPayload);\n // }\n\n async sendOTPSubscription(params: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(params);\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"createOrderId payload encrypted:- \")\n console.log(encryptedPayload);\n return (await this.apiHttpService.post(this.apiEndpointsService.sendOTPSubscription(), encryptedPayload)\n .pipe(\n map((res: any) => {\n return res;\n })\n ))\n }\n\n async validateOTPSubscription(params: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(params);\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"validate OTP Subscription payload encrypted:- \")\n console.log(encryptedPayload);\n return (await this.apiHttpService.post(this.apiEndpointsService.validateOTPSubscription(), encryptedPayload)\n .pipe(\n map((res: any) => {\n return res;\n })\n ))\n }\n\n async submitChequeSubscription(params: any): Promise> {\n localStorage.setItem('aesToken', '')\n await this.apiEndpointsService.getAesToken(params);\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"submit Cheque Subscription payload encrypted:- \")\n console.log(encryptedPayload);\n return (await this.apiHttpService.post(this.apiEndpointsService.submitChequeSubscription(), encryptedPayload)\n .pipe(\n map((res: any) => {\n return res;\n })\n ))\n }\n\n\n unsubscribe() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n \n // async getApplicantsList(payload: any): Promise> {\n // return this.apiHttpService.get(\n // await this.apiEndpointsService.getApplicantsList(payload)\n // );\n // }\n\n}\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","import { Injectable } from '@angular/core';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class Constants {\r\n\r\n // public readonly API_ENDPOINT: string = \"https://3.108.114.119/app\";\r\n public readonly API_ENDPOINT: string = \"https://nushift.org/app\";\r\n public readonly PHP_API_ENDPOINT: string = \"https://nushift.org/app\";\r\n // public readonly FILTERED_ENDPOINT: string = \"https://pydev.nushift.org/api/v2\";\r\n public readonly FILTERED_ENDPOINT: string = \"https://pypro.nushift.org/api/v2\";\r\n // public readonly FILTERED_ENDPOINT: string = \"https://pyqa.nushift.org/api/v2\";\r\n\r\n // public readonly API_ENDPOINT: string = 'https://nushift.org/test';\r\n // public readonly API_ENDPOINT: string = 'https://nushift.org/sale';\r\n\r\n // public static readonly ASSETS_PATH: string = \"https://3.108.114.119/app/assets/\";\r\n public static readonly ASSETS_PATH: string = \"https://nushift-dev.s3.ap-south-1.amazonaws.com/\";\r\n // public static readonly ASSETS_PATH: string = \"https://nushift.org/test/assets/\";\r\n // public static readonly ASSETS_PATH: string = \"https://nushift.org/sale/assets/\";\r\n}\r\n\r\nexport const environment = {\r\n production: false,\r\n firebase: {\r\n apiKey: \"AIzaSyC-VhIQ4XysZDNTwSQgBYidGNhs9O98rVo\",\r\n authDomain: \"hcc-doctors.firebaseapp.com\",\r\n databaseURL: \"https://hcc-doctors.firebaseio.com\",\r\n projectId: \"hcc-doctors\",\r\n storageBucket: \"hcc-doctors.appspot.com\",\r\n messagingSenderId: \"968123953038\",\r\n appId: \"1:968123953038:web:0ec05601c7962416aafedf\",\r\n measurementId: \"G-D53E8P17H0\"\r\n }\r\n};\r\n","/* (ignored) */","/* (ignored) */","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { NavbarService } from 'src/app/services/navbar.service';\n\n@Component({\n selector: 'app-privacy',\n templateUrl: './privacy.component.html',\n styleUrls: ['./privacy.component.scss']\n})\nexport class PrivacyComponent implements OnInit {\n\n \n constructor(public nav: NavbarService,\n private _snackBar: MatSnackBar,\n private spinner: NgxSpinnerService,\n public dialog: MatDialog) { }\n\n ngOnInit(): void {\n this.nav.navbarHide();\n this.nav.footerShow();\n this.nav.setfooterNotFixed();\n }\n}\n","
\n

Nushift Connect - Privacy Policy

\n
\n
\n

\n \n Disclaimer: The Company can modify this Policy\n unilaterally at any time without notice. Modification may be\n necessary, among other reasons, to maintain compliance with applicable\n laws and regulations or accommodate organizational changes within the\n Company.\n \n

\n

\n We understand that the privacy of your personal information is important\n and hence we wouldlike to keep you informed and empowered with respect\n to your privacy on nushift.in(“Website”),mobile app, Nushift Connect(the\n “App”) (collectively as “Platform”). This Privacy Policy(“Policy”)\n applies to Website, the App and its related services (the “Services”)\n operated andrendered by Nushift Technologies Private Limited\n (“Company”). This Policy describes use andsharing of personally\n identifiable information submitted by its registered users receiving\n theServices (the “User(s)” or “You” or “Your”) in receiving the\n Services, such information beingrelated to you or other users\n downloading, accessing or using the Platform. The Services offeredadhere\n to all the laws, rules, regulations and policies (“Applicable Laws”)\n with regard to thecollection, use, disclosure, retention and protection\n of your information including Personal Data,that Company is likely to\n have access to as a result of your use of the Platform.\n

\n \n
    \n \n
  1. \n

    What the Company Collects From You

    \n
      \n
    • \n Any data about any you, by which you, as a person can be\n identified, including withoutlimitation, your name, gender,\n business name, its address, email address, date of birth,date of\n incorporation, any identity proof number, phone number, Phone book\n /Contacts, location details, IP address, browser details, doctors\n application viz doctorsregistration number, practicing locations,\n appointments, connections and interactioninformation with other\n doctors and patients, patients application viz medical\n conditions,medication, food allergies, appointments with doctors\n and events attended relevant to themedical community, medical\n prescriptions, diagnostic reports, access users media likecamera,\n pictures, audio, and video files etc., to which Company has or is\n likely to haveaccess by virtue of your consensual submission\n (“Personal Data”). Personal Data shallalso include the information\n of such third parties that Company may have access toduring the\n course of providing the Services to you. Company may also collect\n recurringinformation of your geographic locations on a continuous\n basis. Company collects suchPersonal Data from you because of your\n voluntary submission of such information inorder to enjoy the\n Service\n
    • \n
    • \n Information collected from website submissions will be used for\n Company’s internalbusiness purposes, including its investigations,\n sales, and marketing. We may use IPaddresses for purposes such as\n calculating usage levels, diagnosing server problems\n andadministering the services. We may also derive your approximate\n location from your IPaddress. The website may include options for\n visitors to submit information to Company,for example, while\n requesting information about a product/service, downloading\n anarticle, etc. Such forms may provide the option of submitting\n personal information, such as your name, job title, company, email\n address, or phone number. In addition, whensubmitting information\n on a Website, your submission will be associated with the\n IPaddress you are then using, which is automatically assigned to\n your computer by yourInternet Service Provider. If you are using\n one of the market leading browsers and areuncomfortable accepting\n cookies from our website, you may erase and/or disable\n theacceptance of cookies in your browsers administrative tools.\n Disabling your browser inthis manner may result in a compromised\n experience of Nushift Connect app or otherwebsites you regularly\n visit.\n
    • \n
    • \n Company may also collect such other anonymous data that is not\n associated with orlinked to any Personal Data (“Anonymous Data”)\n and which, by itself, does not permitthe identification of any\n individual User. Anonymous Data includes without limitation,unique\n identifiers of the device on which Company is installed, such as\n VPN,information of WiFi connectivity and such other information.\n Company may also storethis unique identifier, at many times and\n create a profile for you based on suchAnonymous Data.\n
    • \n
    • \n In addition, Company shall automatically collect certain other\n information, including butnot limited to usernames, passwords, and\n other security and usage related information,whenever you visit or\n utilize the Services such as Log Data, Analytical Code, TimeStamp,\n Geo Stamp, IP address, version and identification number of the\n App and device,browser type, browser language, the date and time\n of your request, your profile, websitesvisited by you, search\n terms used, your mobile carrier data, platform type, number\n ofclicks, phone number, requested status of other Users and\n various status informationwith regard to the Services provided\n through Nushift connect app (“UsageInformation”). Such Usage\n Information collected is not associated with any PersonalData and\n is only tagged to the unique identifier for a particular device\n
    • \n
    • \n Company uses data collection from devices such as “cookies” on\n your device throughwhich user is accessed that assist (a) in\n providing Services; and (b) to allow you to enteryour password\n less frequently during a session. Most cookies are “session\n cookies”. ASession cookie is temporary and is automatically\n deleted from your device at the end of asession. You are always at\n an option to decline these cookies if the application\n permits,although in that case you may not be able to use certain\n features on nushift connect appand you may be required to re-enter\n your password more frequently during a session\n
    • \n
    \n
  2. \n \n \n
  3. \n

    How the information collected is being used.

    \n
      \n
    • \n Company may use the Personal Data and other information collected\n as mentionedabove for any of the following purposes – to\n effectively provide the Services;  for the purposes of software\n verification or administering software upgrades; to allow you to\n participate in surveys regarding Services; to maintain the\n quality of the Services and provide general statistics regarding\n theiruse; to deliver Services, including email notifications,\n confirmations, technical notices,updates, security alerts, and\n support and administrative messages that you mayrequest; archival\n or backup purposes; to alert you about updated information and\n other such new or updated servicesthat may be offered by other\n Users; This information will be used to report better medical\n care for the patients andimprove the engagement of doctors in\n various aspects. Better prepare the doctorsfor future readiness;\n to allow access to exclusive features or functionality of\n Nushiftconnect app. to launch and/or open other mobile\n applications installed on your device based onfunctionality of\n Nushiftconnet app and to resolve disputes, collect fees and\n troubleshoot problem\n
    • \n
    \n
  4. \n \n \n
  5. \n

    Sharing of the collected information.

    \n
      \n
    • \n Company may share the Personal Data received from you: With the\n Company’s affiliates in connection with matters relating to\n theconsumption of Services by you to help detect and prevent\n identity theft, fraud andother potentially illegal acts;\n correlated or multiple accounts to prevent abuse ofServices; and\n to facilitate joint or co-branded services that you request, where\n suchservices are provided by more than one corporate entity other\n than the Company;and if required to do so by law or regulation;\n to its legal counsel, law enforcementofficers, governmental\n authorities who have asserted their lawful authority toobtain the\n information or where the Company has in good faith\n reasonablegrounds to believe that such disclosure is reasonably\n necessary to enforce its Termsof Use or this Privacy Policy. The\n information collected will be shared with doctors on the Platform\n relating topatient’s health, diagnostic data, past medical history\n and medical history of family\n
    • \n \n
    • \n The Company shall not rent, sell, or otherwise provide Personal\n Data received from youto third parties without your consent,\n except as described in this Policy or as required bylaw. However,\n the Company and its affiliates reserve the right to share, sell\n and transfersome or all of the Personal Data to other business\n entities should the Company, or itsassets, plan to merge with, or\n be acquired by that business entity.\n
    • \n
    \n
  6. \n \n \n
  7. \n

    Security of Personal Information.

    \n
      \n
    • \n All the information of the User is stored in AWS and encrypted.\n The details are sharedwith the requested parties with an OTP based\n verification process. If a patient shares thedocuments with a\n doctor no verification is received by the patient as it is deemed\n that thepatient consent is provided. Sharing of the documents is\n only allowed for a limitedamount of time and the document link\n expires after a certain period of time\n
    • \n \n
    • \n The Company has implemented commercially reasonable physical,\n managerial,operational and technical security measures to protect\n the loss, misuse, alteration andsecurity of the Personal Data\n received from you in the Company’s care. The Company’ssecurity\n practices and procedures limit access to Personal Data on need to\n know basisonly. Such measures may include, where appropriate, the\n use of firewalls, secure serverfacilities, implementing proper\n access rights management systems and processes, carefulselection\n of processors, standard authentication and encryption policies for\n its serversand other technically and commercially reasonable\n measures.\n
    • \n
    • \n The Company is committed to protecting the security of any\n Personal Data and usesreasonable efforts including a variety of\n security technologies and procedures to helpprotect such Personal\n Data from any unauthorized access, use or disclosure. TheCompany\n will take all reasonable measures in furtherance of the above\n commitment.However, the Company cannot guarantee that the Personal\n Data received from you andother information stored on the servers\n will be absolutely protected. Company’s systemsand the\n communications networks through which you access Nushift Connect\n app maybe subject to security breaches and failures due to\n circumstances beyond Company’sreasonable control. These may\n include computer \"hacking\", data theft or and physicaltheft among\n others. In such situations, the Company will try to rectify the\n problems assoon as possible\n
    • \n
    • \n Any data destroyed shall be disposed of in a manner that protects\n the privacy of thePersonal Data received by Company from you in an\n appropriate manner as per theindustry standard practices and\n norms.\n
    • \n
    • \n The User hereby acknowledges and understands that all Personal\n Data provided in usingthe App is with their knowledgeable consent\n and at the User’s own risk.\n
    • \n
    \n
  8. \n \n \n
  9. \n

    Your Obligation.

    \n
      \n
    • \n As a registered user of the Services, you have certain obligations\n to other users. Some ofthese obligations are imposed by Applicable\n Law and regulations, and others havebecome commonplace for\n Services as offered by Company: you must, at all times, abide by\n the terms and conditions of the then prevailingPrivacy Policy and\n Terms of Use. This includes respecting all intellectual\n propertyrights that may belong to third parties; you must not\n upload or insert any comments that may be deemed to be\n injurious,violent, offensive, racist or xenophobic, or which may\n otherwise violate thepurpose and spirit of Nushift connect app ,\n Nushift technologies private and itscommunity of users; You must\n keep your username and passwords confidential and not share it\n withothers; and All information given must be genuine and true to\n your best knowledge. TheCompany shall not be held responsible in\n case of any fraudulent information givenat the time of\n registration for usingNushift connect app. Any violation of the\n guidelines as mention in this Clause 5.1 may lead to\n therestriction, suspension or termination of your account with\n Company, at the solediscretion of the Company.\n
    • \n
    \n
  10. \n \n \n
  11. \n

    International Transfer Of Data.

    \n
      \n
    • \n In the process of providing Services to you, Company may transfer\n the Personal Data andother information that it collects to\n affiliated entities or other third parties across borders,and from\n your country or jurisdiction to other countries or jurisdictions\n around the world.You understand, acknowledge and consent to\n transferring information and permitting thetransfer of\n information, including Personal Data, to a country and\n jurisdiction that does nothave the same data protection laws as\n your jurisdiction. Your hereby consent to the transferof your\n information across countries or jurisdictions around the world\n
    • \n
    \n
  12. \n \n \n
  13. \n

    Governing Law.

    \n
      \n
    • \n The usage of the Services is exclusively governed by the laws\n ofIndiaand the jurisdictionof the competent courts in Bangalore.\n The Company expressly disclaims any impliedwarranties or\n liabilities imputed by the laws of any other jurisdiction\n
    • \n
    \n
  14. \n \n \n
  15. \n

    Modifications.

    \n
      \n
    • \n Any changes in this Policy by the Company shall be posted on the\n Website to reflectchanges in its Privacy Policy so that you are\n always aware of what information Companycollects, uses, and under\n what circumstances, if any, Company may disclose it. You should\n periodically review the above mentioned page for the latest\n information on Company’sprivacy practices. Once posted, those\n changes are effective immediately. Continued access oruse of\n Nushift connect app constitutes your acceptance of the changes and\n the amendedPolicy\n
    • \n
    \n
  16. \n \n
  17. \n

    Third Party Application Stores.

    \n
      \n
    • \n The App can be downloaded from third party application stores\n including Google Play, andApple App Store. The App may contain\n links to other third-party websites that may collectthe Personal\n Data. The User agrees to comply with all third party privacy\n policies, if any,applicable to the use of such applications or its\n services. The Company is not responsiblefor the User’s use of any\n third party product and/or service including the terms\n andconditions, privacy practices or the content of those linked\n websites or such third partyproduct and/or service or violation\n and infringement of any third party rights, policies,terms and\n conditions in connection with access, download or installation of\n such mobileapplications\n
    • \n
    \n
  18. \n \n
  19. \n

    Advertisements.

    \n
      \n
    • \n Company may use third-party advertising companies to serve\n advertisements when youcontact it. These companies may use\n information (not including name, address, emailaddress, or\n telephone number of the user) about your visits to Nushift Connect\n App andother websites in order to provide advertisements about\n goods and services of interest toyou.\n
    • \n
    \n
  20. \n \n \n
  21. \n

    Questions/Grievances

    \n
      \n
    • \n Any grievances or questions regarding this statement should be\n directed to the followinge-mail address: support.nc@nushift.in \n
    • \n \n \n
    \n
  22. \n \n \n
\n
\n
\n
\n ","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { SimpleOption } from '../../profile/dialogs/professional-summary-dialog/simple-option.model';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport * as CryptoJS from 'crypto-js';\n\n@Component({\n selector: 'app-registration',\n templateUrl: './registration.component.html',\n styleUrls: ['./registration.component.scss']\n})\nexport class RegistrationComponent implements OnInit {\n @Output() loginClosed = new EventEmitter();\n\n showSpinner: boolean = false;\n showOTPSpinner: boolean = false;\n showRegisterSpinner: boolean = false;\n showPasswordSpinner: boolean = false;\n geoCoder: google.maps.Geocoder;\n showCreatePassword: boolean = false;\n latitude: any;\n longitude: any;\n disableMobile: boolean = false;\n\n inviteCode = '';\n registrationHeading = \"Let's get started,\";\n\n public isOtpVerified: boolean = false;\n\n public showMobile: boolean = false;\n public showEmail: boolean = false;\n\n public showOTPBox: boolean = false;\n\n mobileStatusMessage: string;\n otpStatusMessage: string;\n registerStatusMessage: string = '';\n passwordStatusMessage: string;\n\n firstFormGroup: FormGroup;\n otpFormGroup: FormGroup;\n createPasswordForm: FormGroup;\n\n isPassword: boolean;\n\n registerForm: FormGroup = new FormGroup({\n mobile: new FormControl(''),\n mobile_code: new FormControl(''),\n firstName: new FormControl('', [Validators.required]),\n lastName: new FormControl('', [Validators.required]),\n emailAddress: new FormControl('', [\n Validators.required,\n Validators.pattern(\n '^([0-9]{9})|([A-Za-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,3})$'\n ),\n ]),\n gender: new FormControl('', Validators.required),\n specialization: new FormControl(''),\n // regNumber: new FormControl('', Validators.required),\n invitationCode: new FormControl(''),\n invitationStatus: new FormControl(''),\n deviceID: new FormControl(''),\n deviceType: new FormControl(this.authService.getDeviceType()),\n deviceModel: new FormControl(''),\n deviceToken: new FormControl(''),\n latitude: new FormControl('17.3850'),\n longitude: new FormControl('78.4687'),\n address: new FormControl('')\n });\n\n specializations: SimpleOption[] = [];\n mobileCheckResponse: any;\n registerResponse: any;\n constructor(\n private authService: AuthService,\n private _formBuilder: FormBuilder,\n private _snackBar: MatSnackBar,\n // private locationService: LocationService,\n private deviceService: DeviceDetectorService,\n private router: Router,\n private apiEndPointService: ApiEndpointsService,\n private activatedRoute: ActivatedRoute,\n private spinner: NgxSpinnerService\n ) { }\n\n ngOnInit(): void {\n // this.getSpecializations();\n\n this.firstFormGroup = this._formBuilder.group({\n mobile: ['', Validators.required],\n mobile_code: [''],\n user_type: ['D']\n });\n this.otpFormGroup = this._formBuilder.group({\n mobile: [''],\n OTP: ['', [Validators.required, Validators.minLength(4)]],\n });\n\n this.createPasswordForm = this._formBuilder.group({\n uid: [],\n password: ['', [Validators.required]],\n newPassword: ['', [Validators.required]],\n });\n this.geoCoder = new google.maps.Geocoder();\n this.getCurrentLocation();\n let firstLoginResponse: any;\n this.activatedRoute.queryParams.subscribe(params => {\n console.log(params);\n firstLoginResponse = JSON.parse(params.firstLoginResponse);\n if (firstLoginResponse && firstLoginResponse.firstTimePassword.toLowerCase() == 'yes') {\n //create password\n if (firstLoginResponse.uid) this.createPasswordForm.get('uid').setValue(firstLoginResponse.uid);\n this.registrationHeading = 'Create Password';\n this.showCreatePassword = true;\n }\n })\n }\n\n generateUUIDV4(): string {\n // http://www.ietf.org/rfc/rfc4122.txt\n const s = []\n const hexDigits = '0123456789abcdef'\n for (let i = 0; i < 36; i++) {\n s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)\n }\n s[14] = '4' // bits 12-15 of the time_hi_and_version field to 0010\n // eslint-disable-next-line no-bitwise\n s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1) // bits 6-7 of the clock_seq_hi_and_reserved to 01\n s[8] = s[13] = s[18] = s[23] = '-'\n\n const uuid = s.join('')\n return uuid\n }\n\n async getSpecializations() {\n let payload = {\n uid: this.authService.userValue.uid\n };\n (await this.authService.doctorSpecializations(payload)).subscribe((res: any) => {\n this.specializations = res;\n });\n }\n\n onCloseDrawer() {\n // this.loginClosed.emit(true);\n this.router.navigateByUrl('landing');\n }\n onOtpVerify() {\n this.isOtpVerified = !this.isOtpVerified;\n }\n\n getDeviceId() {\n let deviceId = localStorage.getItem('deviceId')\n if (!deviceId) {\n deviceId = this.generateUUIDV4()\n localStorage.setItem('deviceId', deviceId)\n }\n return deviceId;\n }\n\n getCurrentLocation(): void {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition((position: any) => {\n if (position) {\n this.latitude = position.coords.latitude;\n this.longitude = position.coords.longitude;\n this.getAddress(this.latitude, this.longitude);\n }\n });\n }\n }\n\n getAddress(latitude: any, longitude: any): void {\n this.geoCoder.geocode(\n { location: { lat: latitude, lng: longitude } },\n (results: { formatted_address: any }[], status: string) => {\n if (status === 'OK') {\n if (results[0]) {\n localStorage.setItem('deviceLocation', results[0]['formatted_address']);\n localStorage.setItem('latitude', latitude);\n localStorage.setItem('longitude', longitude);\n }\n } else {\n // window.alert('Geocoder failed due to: ' + status);\n }\n }\n );\n\n }\n\n async register() {\n const encryptedToken = localStorage.getItem('kf');\n\n let deviceToken = '';\n \n if (encryptedToken) {\n try {\n const bytes = CryptoJS.AES.decrypt(encryptedToken, 'ae65f515-b859-4c7f-887c-328a3c14ab7f');\n deviceToken = bytes.toString(CryptoJS.enc.Utf8);\n } catch (e) {\n console.error('Decryption error:', e);\n }\n } else {\n console.warn('No token found in localStorage under key \"kf\"');\n }\n \n console.log('Decrypted device token:', deviceToken);\n const payload = {\n mobile: this.registerForm.get('mobile').value,\n mobile_code: '91',\n first_name: this.registerForm.get('firstName').value,\n last_name: this.registerForm.get('lastName').value,\n email_address: this.registerForm.get('emailAddress').value,\n gender: this.registerForm.get('gender').value,\n invitation_code: this.registerForm.get('invitationCode').value,\n invitation_status: this.mobileCheckResponse.invitation_status,\n device_type: 'Web',\n device_model: this.deviceService.getDeviceInfo().os + ' - ' + this.deviceService.getDeviceInfo().browser,\n device_token: deviceToken,\n // device_token: CryptoJS.AES.decrypt(localStorage.getItem('kf'), 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString(CryptoJS.enc.Utf8),\n device_id: this.getDeviceId(),\n latitude: this.latitude ? this.latitude.toString() : '17.3850',\n longitude: this.longitude ? this.longitude.toString() : '78.4867',\n user_type: 'D'\n };\n console.log('register payload', payload);\n this.spinner.show();\n (await this.authService.registerV3(payload)).subscribe((res) => {\n console.log(res);\n if (res.status && res.data) {\n this.spinner.hide();\n this.apiEndPointService.decodeAesToken('nushift_connect', res.data).then((data) => {\n data ? console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'))) : false;\n this.registerResponse = data ? JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')) : [];\n console.log(this.registerResponse);\n if (this.mobileCheckResponse.invitation_status &&\n (\n (\n this.mobileCheckResponse.invitation_status.toLowerCase() == 'ni' \n && this.mobileCheckResponse.invite_code\n )\n || this.mobileCheckResponse.invitation_status.toLowerCase() == 'nothing'\n )\n && this.registerResponse.uid\n ) {\n this.createPasswordForm.get('uid').patchValue(this.registerResponse.uid);\n this.showCreatePassword = true;\n } else {\n this.registerStatusMessage = '';\n this.openSnackBar(res.message, 'Success');\n this.router.navigateByUrl('landing');\n }\n });\n } else {\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n if (res.status && this.mobileCheckResponse.invite_code) {\n this.showCreatePassword = true;\n }\n }\n }, error => {\n this.openSnackBar('Something went wrong! Please try again', '');\n this.showSpinner = false;\n });\n }\n\n async mobileInviteCheck() {\n if (this.firstFormGroup.get('mobile').value.includes('@')) {\n this.firstFormGroup.get('mobile_code').setValue('');\n this.showMobile = true;\n this.showEmail = false;\n this.registerForm.get('emailAddress').setValue(this.firstFormGroup.get('mobile').value);\n } else {\n this.firstFormGroup.get('mobile_code').setValue('91');\n this.showEmail = true;\n this.showMobile = false;\n this.registerForm\n .get('mobile')\n .setValue(this.firstFormGroup.get('mobile').value);\n }\n let formData = this.firstFormGroup.value;\n this.spinner.show();\n (await this.authService\n .mobileInviteCheck(formData))\n .subscribe((res) => {\n this.spinner.hide();\n this.apiEndPointService.decodeAesToken('nushift_connect', res.data).then((data) => {\n data ? console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'))) : false;\n this.mobileCheckResponse = data ? JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')) : [];\n console.log(this.mobileCheckResponse);\n if (res.status) {\n if (res.message && res.message.toLowerCase() == 'invalid otp') this.openSnackBar('Something went wrong, please refresh the page and try again', '');\n if (this.mobileCheckResponse.invitation_status || this.mobileCheckResponse.state) {\n if ((this.mobileCheckResponse.invitation_status.toLowerCase() == \"nothing\" ||this.mobileCheckResponse.invitation_status.toLowerCase() == \"ni\" || this.mobileCheckResponse.invitation_status.toLowerCase() == \"wl\") || this.mobileCheckResponse.state.toLowerCase() == \"wl\") {\n this.showOTPBox = true;\n this.openSnackBar(res.message, '');\n if (this.mobileCheckResponse.invitation_status && this.mobileCheckResponse.invitation_status.toLowerCase() == \"ni\") this.registerForm.get('invitationCode').setValue(this.mobileCheckResponse.invite_code);\n }\n } else if (this.mobileCheckResponse?.password?.toLowerCase() == \"no\") {\n this.registerStatusMessage = '';\n this.openSnackBar('Create New Password', '');\n this.createPasswordForm.get('uid').setValue(this.mobileCheckResponse.uid);\n this.registrationHeading = 'Create Password';\n this.showCreatePassword = true;\n }\n } else if (!res.status || res.message.toLowerCase() == 'please login with the initial password, sent to your email/mobile') {\n this.openSnackBar(res.message, '');\n this.router.navigateByUrl('landing');\n }\n });\n }, error => {\n this.spinner.hide();\n this.openSnackBar('Something went wrong! Please try again', '');\n });\n }\n\n openSnackBar(message: string, action: string): void {\n this._snackBar.open(message, action, {\n duration: 3000,\n });\n }\n\n async onOTPVerifyClick() {\n this.otpFormGroup\n .get('mobile')\n .setValue(this.firstFormGroup.get('mobile').value);\n const payload = {\n mobile: this.firstFormGroup.get('mobile').value,\n otp: this.otpFormGroup.get('OTP').value\n }\n let verifiedOtpResponse: any;\n this.spinner.show();\n (await this.authService.validateOTPV2(payload)).subscribe((res) => {\n this.spinner.hide();\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then((data) => {\n data ? console.log(JSON.parse(\"onOTPVerifyClick\",data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'))) : false;\n verifiedOtpResponse = data ? JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')) : [];\n if (res.status) {\n this.otpStatusMessage = '';\n this.disableMobile = true;\n this.isOtpVerified = true;\n this.showOTPBox = false;\n this.openSnackBar(res.message, '');\n } else {\n this.openSnackBar(res.message, '');\n this.otpStatusMessage = res.message;\n }\n });\n }, error => {\n this.spinner.hide();\n this.openSnackBar('Something went wrong! Please try again', '')\n });\n }\n\n async onCreatePassword() {\n const updatedPassword = this.createPasswordForm.value.newPassword;\n let formData = {\n uid: this.createPasswordForm.get('uid').value,\n new_password: updatedPassword,\n };\n console.log(formData);\n let createPasswordResponse: any;\n this.spinner.show();\n (await this.authService.createPassword(formData)).subscribe((res) => {\n let registeredLogin: boolean = false;\n this.spinner.hide();\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then((data) => {\n data ? console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'))) : false;\n createPasswordResponse = data ? JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')) : [];\n console.log(createPasswordResponse);\n if (res.status) {\n this.openSnackBar(res.message, '');\n registeredLogin = true;\n // this.router.navigate(['home'], {queryParams: {isRole: registeredLogin ? true : false}});\n this.router.navigateByUrl('landing');\n\n } else {\n this.openSnackBar(res.message, '');\n this.passwordStatusMessage = res.message;\n this.otpStatusMessage = res.message;\n }\n });\n }, error => {\n this.spinner.hide();\n this.openSnackBar('Something went wrong! Please try again', '');\n });\n }\n}\n","
\n\n\n
\n \"\"\n
\n \n
\n\n
\n close\n
\n\n
\n\n

{{registrationHeading}}

\n \n
\n \n \n \n \n
\n \n Enter\n Phone Number/Email *\n \n \n
\n \n \n \n
\n \n Register as*\n \n Doctor\n Hosptial\n Diagnostic Center\n \n \n
\n \n \n \n \n

Verified\n

\n
\n\n \n \n
\n \n \n \n
\n \n Enter OTP*\n \n \n
\n \n \n \n \n
\n \n \n \n
\n
\n \n \n
\n \n First Name*\n \n \n
\n \n \n
\n \n Last Name*\n \n \n
\n \n \n
\n \n Email*\n \n \n
\n \n \n
\n \n Phone Number*\n \n \n
\n \n \n
\n \n Gender*\n \n --Select Gender--\n Male\n Female\n Others\n \n \n
\n \n \n \n \n \n \n
\n \n Invitation Code*\n \n \n
\n \n \n \n \n \n
\n \n \n
\n \n \n
\n
\n \n \n
\n \n New Password*\n \n \n
\n \n \n
\n \n Confirm Password*\n \n \n
\n \n \n \n \n
\n

{{passwordStatusMessage}}\n

\n
\n\n\n
\n \n\n Already Registered?\n Login\n \n\n
\n \n
\n \n \n Loading... \n ","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-downgrade-subscription-dialog',\n templateUrl: './downgrade-subscription-dialog.component.html',\n styleUrls: ['./downgrade-subscription-dialog.component.scss']\n})\nexport class DowngradeSubscriptionDialogComponent implements OnInit {\n\n validityDays: string = '';\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any\n ) {\n if (data?.validityDays) {\n this.validityDays = this.data.validityDays;\n }\n\n console.log(this.validityDays);\n }\n\n onClose(result: any): void {\n this.dialogRef.close(result);\n }\n ngOnInit(): void {}\n\n}\n","

You still have {{validityDays}} days of premium benefits left.

\n

\n \n

\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { ApiHttpService } from 'src/app/services/api-http.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class JobsService {\n\n constructor(\n private apiEndpointsService: ApiEndpointsService,\n private apiHttpService: ApiHttpService\n ) { }\n\n async postJob(payload: any): Promise> {\n // this.apiEndpointsService.getAesToken(payload)\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), payload.uid, payload);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(encryptedPayload);\n\n return this.apiHttpService.post(\n this.apiEndpointsService.postJob(),\n encryptedPayload\n );\n }\n\n applyJob(payload: any, resume: FileList | any): Observable {\n // this.apiEndpointsService.getAesToken(payload)\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), payload.uid, payload);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken'),\n resume: resume\n }\n return this.apiHttpService.post(\n this.apiEndpointsService.applyJob(),\n encryptedPayload\n );\n }\n\n async getRecommendedJobs(payload: any): Promise> {\n return this.apiHttpService.get(\n await this.apiEndpointsService.getRecommendedJobs(payload)\n );\n }\n\n async saveJob(payload: any): Promise> {\n // this.apiEndpointsService.getAesToken(payload)\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), payload.uid, payload);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(encryptedPayload);\n \n return this.apiHttpService.post(\n this.apiEndpointsService.saveJob(),\n encryptedPayload\n );\n }\n\n\n\n // async postGroupFeedActivity(formData: any): Promise> {\n // let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n // await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n // return this.apiHttpService.post(\n // this.apiEndpointsService.postGroupFeedActivity(),\n // formData\n // );\n // }\n\n\n async unsaveJob(payload: any): Promise> {\n // this.apiEndpointsService.getAesToken(payload)\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), payload.uid, payload);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(encryptedPayload);\n \n return this.apiHttpService.post(\n this.apiEndpointsService.unSaveJob(),\n encryptedPayload\n );\n }\n async getCompaniesList(payload: any): Promise> {\n return this.apiHttpService.get(\n await this.apiEndpointsService.getCompaniesList(payload)\n );\n }\n\n async getSavedJobs(payload: any): Promise> {\n return this.apiHttpService.get(\n await this.apiEndpointsService.getSavedJobs(payload)\n );\n }\n\n async getActiveJobs(payload: any): Promise> {\n return this.apiHttpService.get(\n await this.apiEndpointsService.getActiveJobs(payload)\n );\n }\n\n async getClosedJobs(payload: any): Promise> {\n return this.apiHttpService.get(\n await this.apiEndpointsService.getClosedJobs(payload)\n );\n }\n\n async getApplicantsList(payload: any): Promise> {\n return this.apiHttpService.get(\n await this.apiEndpointsService.getApplicantsList(payload)\n );\n }\n\n async getAppliedJobs(payload: any): Promise> {\n return this.apiHttpService.get(\n await this.apiEndpointsService.getAppliedJobs(payload)\n );\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: false,\n privateKey: 'assets/font/privateKey.pem'\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 { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { NavbarService } from 'src/app/services/navbar.service';\n@Component({\n selector: 'app-get-invited',\n templateUrl: './get-invited.component.html',\n styleUrls: ['./get-invited.component.scss']\n})\nexport class GetInvitedComponent implements OnInit {\n\n mobileStatusMessage: string;\n showSpinner: boolean = false;\n public isOtpVerified: boolean = false;\n inviteForm: FormGroup = new FormGroup({\n mobile: new FormControl('', [Validators.required]),\n firstName: new FormControl('', [Validators.required]),\n lastName: new FormControl('', [Validators.required]),\n app: new FormControl('d'),\n email: new FormControl('', [Validators.required, Validators.pattern(/^[a-zA-Z0-9_-]+@[a-zA-Z0-9]+\\.[a-zA-Z]{2,3}$/)]),\n });\n\n constructor(\n private authService: AuthService,\n private _snackBar: MatSnackBar,\n private router: Router,\n private spinner: NgxSpinnerService,\n private nav: NavbarService\n ) { }\n\n ngOnInit() { \n this.nav.navbarHide();\n this.nav.footerHide();\n }\n\n\n async invite() {\n this.spinner.show();\n let payload = {\n mobile: this.inviteForm.value.mobile,\n email: this.inviteForm.value.email,\n app: 'd',\n first_name: this.inviteForm.get('firstName').value,\n last_name: this.inviteForm.get('lastName').value,\n };\n (await this.authService.getInvited(payload)).subscribe((res) => {\n this.spinner.hide();\n if (res?.status) {\n console.log(res);\n this.openSnackBar(res.message, '');\n this.router.navigate(['landing'], { replaceUrl: true });\n } else {\n this.openSnackBar(res.message, '');\n }\n }, error => {\n this.spinner.hide();\n this.openSnackBar('Something went wrong! Please try again', '');\n });\n }\n\n openSnackBar(message: string, action: string): void {\n this._snackBar.open(message, action, {\n duration: 3000,\n });\n }\n}\n","
\n
\n
\n
\n
\n
\n

Get Invited

\n
\n\n \n
\n \n \n\n First Name \n\n \n First Name is Required\n \n
\n\n \n
\n \n \n Last Name \n\n \n Last Name is Required\n \n
\n\n \n
\n \n \n Email \n\n \n Email is Required\n Email is Invalid\n \n
\n \n \n
\n \n \n Phone Number \n\n \n Phone Number is Required\n \n
\n\n \n \n
\n

{{ mobileStatusMessage }}

\n
\n
\n
\n\n\n\n Loading... \n\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { ChartsModule } from 'ng2-charts';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { NgChatModule } from 'ng-chat';\nimport { AngularFireModule } from '@angular/fire';\nimport { AngularFireMessagingModule } from '@angular/fire/messaging';\nimport { AngularFireAuthModule } from '@angular/fire/auth';\nimport { AngularFireDatabaseModule } from '@angular/fire/database';\nimport { AsyncPipe, CommonModule } from '@angular/common';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { HttpErrorInterceptor } from 'src/app/_helpers/interceptors/http-error.interceptor';\nimport { environment } from 'src/app/models/constants';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { MessagingService } from 'src/app/services/messaging.service';\n\n\n@NgModule({\n declarations: [],\n imports: [\n BrowserAnimationsModule,\n BrowserModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n MatToolbarModule,\n MatInputModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatIconModule,\n MatTabsModule,\n MatMenuModule,\n MatExpansionModule,\n MatButtonModule,\n MatRadioModule,\n MatCardModule,\n MatDialogModule,\n MatSelectModule,\n MatTooltipModule,\n MatSnackBarModule,\n MatCheckboxModule,\n ChartsModule,\n MatSidenavModule,\n MatProgressSpinnerModule,\n MatAutocompleteModule,\n NgChatModule,\n AngularFireAuthModule,\n AngularFireDatabaseModule,\n AngularFireMessagingModule,\n AngularFireModule.initializeApp(environment.firebase),\n MatBadgeModule,\n CommonModule,\n MatButtonToggleModule,\n MatFormFieldModule,\n NgxSpinnerModule\n ],\n exports: [\n BrowserAnimationsModule,\n BrowserModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n MatToolbarModule,\n MatInputModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatIconModule,\n MatTabsModule,\n MatMenuModule,\n MatExpansionModule,\n MatButtonModule,\n MatRadioModule,\n MatCardModule,\n MatDialogModule,\n MatSelectModule,\n MatTooltipModule,\n MatSnackBarModule,\n MatCheckboxModule,\n ChartsModule,\n MatSidenavModule,\n MatProgressSpinnerModule,\n MatAutocompleteModule,\n NgChatModule,\n AngularFireAuthModule,\n AngularFireDatabaseModule,\n AngularFireMessagingModule,\n MatBadgeModule,\n CommonModule,\n MatButtonToggleModule,\n MatFormFieldModule,\n NgxSpinnerModule\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpErrorInterceptor,\n multi: true,\n },\n MessagingService,\n AsyncPipe,\n ],\n})\nexport class SharedModule { }\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { Observable, Subscription } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { User } from 'src/app/models/user';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MoreScreenService } from 'src/app/services/more-screen.service';\n\n@Component({\n selector: 'app-enquiries',\n templateUrl: './enquiries.component.html',\n styleUrls: ['./enquiries.component.scss']\n})\nexport class EnquiriesComponent implements OnInit {\n user: User;\n userList$: Observable;\n userList: User[] = [];\n subscription: Subscription;\n toId: string;\n enquiryForm = new FormGroup({\n uid: new FormControl('', Validators.required),\n sendTo: new FormControl(''),\n name: new FormControl(''),\n email: new FormControl('', [Validators.required, Validators.email]),\n subject: new FormControl(''),\n description: new FormControl('', Validators.required),\n regarding: new FormControl('', Validators.required),\n to_id: new FormControl(''),\n phone: new FormControl('', [\n Validators.required,\n Validators.pattern('^((\\\\+91-?)|0)?[0-9]{10}$'),\n ]),\n });\n enquiriesList: any = [];\n\n constructor(\n private _snackBar: MatSnackBar,\n private spinner: NgxSpinnerService,\n private authService: AuthService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private apiEndPointService: ApiEndpointsService,\n private moreScreenService: MoreScreenService\n ) { }\n\n ngOnInit(): void {\n this.user = this.authService.userValue;\n this.enquiryForm.patchValue({\n uid: this.user.uid,\n name: this.user.name,\n email: this.user.email,\n phone: this.user.mob,\n });\n this.getEnquiryService();\n this.subscription = this.enquiryForm.get('sendTo').valueChanges.subscribe((value: any) => this.getUserList());\n this.userList$ = this.enquiryForm.get('to_id').valueChanges.pipe(startWith(''), map((value) => this._filter(value)));\n }\n\n ngDestroy() {\n this.subscription.unsubscribe();\n }\n async onSubmit() { // Calling save api on clicking of SUBMIT button\n this.spinner.show();\n let formData = this.enquiryForm.value;\n formData.uid = this.user.uid;\n formData.to_id = this.toId;\n let payload = {\n description: this.enquiryForm.get('description').value,\n email: this.enquiryForm.get('email').value,\n name: this.enquiryForm.get('name').value,\n phone: this.enquiryForm.get('phone').value,\n regarding: this.enquiryForm.get('regarding').value,\n uid: this.authService.userValue.uid\n };\n (await this.moreScreenService.sendAnEnquiry(payload)).subscribe((res) => {\n this.spinner.hide();\n console.log(res);\n if (res.status && res.data) {\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then(async (data) => {\n console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')));\n });\n }\n this.openSnackBar(res.message, '');\n if (res.status) {\n this.spinner.hide();\n this.dialogRef.close(res);\n } else if (!res.status) {\n this.spinner.hide();\n }\n }, error => {\n this.spinner.hide();\n });\n }\n\n getUserList() { // To get the dropdown for select user(to_id) field\n let queryParameters = {\n uid: this.user.uid,\n sendTo: this.enquiryForm.get('sendTo').value,\n };\n this.moreScreenService.getUserListBasedOnSearch(queryParameters)\n .subscribe((res) => {\n if (res.status) this.userList = res.data;\n else this.openSnackBar(res.message, '');\n });\n }\n\n getEnquiryService() { // To get the dropdown for enquiry related to(regarding) field\n this.moreScreenService.getEnquiryServices().subscribe((res) => {\n console.log(res);\n if (res.status) this.enquiriesList = res.data;\n else this.openSnackBar(res.message, '');\n });\n }\n\n selectUser(id: string) { // detect the value changes on select user(to_id) field\n this.toId = id;\n }\n\n private _filter(value: string): User[] {\n const filterValue = value.toLowerCase();\n let uList = [...this.userList];\n return uList.filter((option) =>\n option.name.toLowerCase().includes(filterValue)\n );\n }\n\n openSnackBar(message: string, action: string): void { //To show the alert messages when api fails/gets success\n this._snackBar.open(message, action, { duration: 3000 });\n }\n\n closeDialog() {\n this.dialogRef.close();\n }\n\n}\n","\n\n\n
\n

SEND AN ENQUIRY

\n \n
\n\n
\n \n \n
\n
\n \n \n Full Name* \n\n \n \n
\n\n
\n \n \n Phone Number * \n\n \n \n
\n\n
\n \n \n Email *\n\n \n \n
\n\n \n\n \n\n \n\n \n\n \n\n
\n \n \n Enquiry Related To *\n\n \n \n \n {{enq.name}}\n \n \n \n \n\n \n \n
\n\n
\n \n Description * \n \n \n
\n
\n
\n \n \n \n \n
\n
\n
\n\n\n Loading... \n\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MoreScreenService } from 'src/app/services/more-screen.service';\n\n@Component({\n selector: 'app-deactivate-account',\n templateUrl: './deactivate-account.component.html',\n styleUrls: ['./deactivate-account.component.css']\n})\nexport class DeactivateAccountComponent implements OnInit {\n\n constructor(private authService: AuthService, private moreScreenService: MoreScreenService,\n private spinner: NgxSpinnerService, private _snackBar: MatSnackBar, public dialogRef: MatDialogRef,) { }\n\n ngOnInit(): void {\n }\n\n onSubmit() {\n this.spinner.show();\n let formData = { uid: this.authService.userValue.uid };\n this.moreScreenService.deactivateAccount(formData).subscribe((res) => {\n this.spinner.hide();\n console.log(res);\n this.openSnackBar(res.message, \"\");\n if (res.status) this.dialogRef.close(\"deactivated\");\n })\n }\n\n openSnackBar(message: string, action: string): void {\n this._snackBar.open(message, action, { duration: 3000 });\n }\n}\n\n","\n
\n

Deactivate Account

\n \n
\n\n \n
\n
\n
\n \n Privacy Concerns\n Not interested\n Irrelevant content\n Others\n \n
\n\n \n Reason \n\n \n \n
\n

\n \n \n

\n
\n
\n
\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { JobsService } from '../../services/jobs.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'app-my-manage-jobs',\n templateUrl: './my-manage-jobs.component.html',\n styleUrls: ['./my-manage-jobs.component.scss'],\n})\nexport class MyManageJobsComponent implements OnInit {\n recommendedJobsList: any[] = [];\n defaultImage = './assets/img/nushiftconnect_logo.svg';\n @Input() tabName: string = '';\n\n @ViewChild('firstButton') firstButton: ElementRef;\n @ViewChild('secondButton') secondButton: ElementRef;\n savedJobs: any;\n comingFrom: any = '';\n appliedJobs: any;\n showJobPreview: boolean = false;\n jobDetails: any;\n activeJobs: any;\n closedJobs: any;\n jobType: any;\n applicantsList: any;\n firstButtonText: any = '';\n secondButtonText: any = '';y\n showJobApplyPreview: boolean = false;\n uploadedResume: File | any;\n applicationForm: FormGroup;\n // private fb: FormBuilder;\n applyJobForm = false;\n selectFirstButton : boolean = true;\n selectSecondButton : boolean = false;\n\n\n constructor(\n private spinner: NgxSpinnerService,\n private authService: AuthService,\n private jobsService: JobsService,\n private _snackBar: MatSnackBar,\n private apiEndPointService: ApiEndpointsService,\n private formBuilder: FormBuilder\n ) {}\n\n ngOnInit() {\n\n console.log('my-manage-job-component loaded', this.tabName);\n\n if (this.tabName == 'my-jobs') {\n this.selectFirstButton = true;\n this.selectSecondButton = false;\n this.getSavedJobs('saved');\n } else {\n this.getSavedJobs('active');\n }\n\n this.applicationForm = this.formBuilder.group({\n name: ['', Validators.required],\n phoneNumber: ['', Validators.required],\n emailAddress: ['', Validators.required],\n resume: ['', Validators.required]\n })\n\n }\n\n applyJob(job: any) {\n this.showJobPreview = false\n this.showJobApplyPreview = true;\n }\n async viewApplicants(jobDetails) {\n let payload = {\n uid: this.authService.userValue.uid,\n jobID: jobDetails.job_id\n }\n this.spinner.show();\n (await this.jobsService.getApplicantsList(payload)).subscribe((res: any) => {\n this.spinner.hide();\n let response;\n if (res.status) {\n console.log(res);\n this.apiEndPointService.decodeAesToken(this.authService.userValue.uid, res.data).then((data) => {\n response = data;\n console.log('Applicants List:-');\n this.applicantsList = JSON.parse(response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'));\n console.log(this.applicantsList);\n });\n this.openSnackBar(res.message, '');\n }\n }, error => {\n this.spinner.hide();\n this.openSnackBar(error, '');\n });\n }\n uploadResume(files: FileList): void {\n // if (event.target.files.length > 0) {\n this.uploadedResume = files.item(0);\n\n console.log(this.uploadResume);\n this.applicationForm.patchValue({\n resume: files.item(0),\n });\n // }\n }\n submitJob(job: any) {\n\n this.applyJobForm = true;\n if (this.applicationForm.invalid) {\n return;\n }\nelse\n{\n\n let job_apply_payload = {\n uid: this.authService.userValue.uid,\n jobID: this.jobDetails.job_id,\n email: this.applicationForm.get('emailAddress').value,\n mobile: this.applicationForm.get('phoneNumber').value,\n country_code: \"91\"\n }\n\n console.log(job_apply_payload,\"Job apply payload\");\n this.uploadedResume['resume'] = this.uploadedResume.name;\n this.jobsService.applyJob(job_apply_payload, this.uploadedResume).subscribe((result) => {\n console.log(result);\n if (result.status) {\n this.apiEndPointService.decodeAesToken(this.authService.userValue.uid, result.data).then((data) => {\n let response = data;\n console.log(response);\n this.applyJobForm = false;\n });\n this.openSnackBar(result.message, \"\");\n }\n })\n console.log(this.applicationForm.value);\n }\n}\n // onJobClick(job: any) {\n // console.log(job.job_tle);\n // this.showJobPreview = true;\n // }\n jobPreview(jobType, jobDetails) {\n console.log(jobType,jobDetails,\"jobType,jobDetails.\");\n this.jobDetails = jobDetails;\n this.jobType = jobType;\n this.showJobPreview = true;\n this.applicantsList = [];\n }\n\n getFirstButtonText() {\n this.firstButtonText = this.firstButton.nativeElement.textContent.trim();\n this.selectFirstButton = true;\n this.selectSecondButton = false;\n //alert(this.firstButtonText);\n if (this.tabName == 'my-jobs') {\n this.comingFrom = 'saved';\n this.showJobPreview = false;\n this.applyJobForm = false;\n this.getSavedJobs(this.comingFrom);\n } else {\n this.comingFrom = 'active';\n this.showJobPreview = false;\n this.applyJobForm = false;\n this.getSavedJobs(this.comingFrom);\n }\n }\n getSecondButtonText() {\n this.secondButtonText = this.secondButton.nativeElement.textContent.trim();\n this.selectFirstButton = false;\n this.selectSecondButton = true;\n // alert(this.secondButtonText);\n //alert(this.firstButtonText);\n if (this.tabName == 'my-jobs') {\n this.comingFrom = 'applied';\n this.showJobPreview = false;\n this.applyJobForm = false;\n this.getSavedJobs(this.comingFrom);\n } else {\n this.comingFrom = 'closed';\n this.showJobPreview = false;\n this.applyJobForm = false;\n this.getSavedJobs(this.comingFrom);\n }\n }\n\n async saveJob(job: any) {\n job.ap_sts = \"saved\";\n // Method to get my groups\n const formData = {\n uid: this.authService.userValue.uid,\n jobID: job.job_id\n };\n\n console.log(formData);\n\n // this.spinner.show();\n (await this.jobsService.saveJob(formData)).subscribe(\n (res: any) => {\n // this.spinner.hide();\n // this.myjobsList = [];\n let response;\n if (res.status) {\n this.spinner.hide();\n console.log(res);\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n response = data;\n // this.recommendedJobsList = JSON.parse(\n // response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')\n // );\n console.log(response);\n });\n this.openSnackBar(res.message, '');\n } else {\n this.spinner.hide();\n }\n },\n (error) => {\n // this.spinner.hide();\n this.spinner.hide();\n // this.openSnackBar(error, '');\n this.openSnackBar('Something went wrong! Please try again', '');\n }\n );\n }\n\n async unsaveJob(job: any) {\n job.ap_sts = \"\";\n // Method to get my groups\n const formData = {\n uid: this.authService.userValue.uid,\n jobID: job.job_id\n };\n\n console.log(formData);\n\n // this.spinner.show();\n (await this.jobsService.unsaveJob(formData)).subscribe(\n (res: any) => {\n // this.spinner.hide();\n // this.myjobsList = [];\n let response;\n if (res.status) {\n this.spinner.hide();\n console.log(res);\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n response = data;\n // this.recommendedJobsList = JSON.parse(\n // response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')\n // );\n console.log(response);\n });\n this.openSnackBar(res.message, '');\n } else {\n this.spinner.hide();\n }\n },\n (error) => {\n // this.spinner.hide();\n this.spinner.hide();\n // this.openSnackBar(error, '');\n this.openSnackBar('Something went wrong! Please try again', '');\n }\n );\n }\n openSnackBar(message: string, action: string): void {\n // Method to show alert when any api calls\n this._snackBar.open(message, action, { duration: 3000 });\n }\n\n async getSavedJobs(type) {\n this.comingFrom = type;\n if (type == 'saved') {\n let payload = {\n uid: this.authService.userValue.uid,\n };\n this.spinner.show();\n (await this.jobsService.getSavedJobs(payload)).subscribe(\n (res: any) => {\n let response;\n if (res.status) {\n this.spinner.hide();\n console.log(res);\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n response = data;\n if (data) {\n console.log(data.length); // Now it's safe to access length\n console.log('saved Jobs:-');\n this.savedJobs = JSON.parse(\n response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')\n );\n this.savedJobs.forEach((job) => {\n if (job.cd) {\n let startDate = new Date(job.cd).getTime();\n let endDate = new Date().getTime();\n let timeDifference = endDate - startDate;\n let days = Math.floor(\n timeDifference / (1000 * 60 * 60 * 24)\n );\n let hours = Math.floor(\n (timeDifference % (1000 * 60 * 60 * 24)) /\n (1000 * 60 * 60)\n );\n let minutes = Math.floor(\n (timeDifference % (1000 * 60 * 60)) / (1000 * 60)\n );\n let seconds = Math.floor(\n (timeDifference % (1000 * 60)) / 1000\n );\n console.log(\n days + ' Days ',\n hours +\n ' Hours ' +\n minutes +\n ' Minutes ' +\n seconds +\n ' Seconds '\n );\n job.cd = days\n ? days + ' Days '\n : hours\n ? hours + ' Hours '\n : minutes\n ? minutes + ' Minutes '\n : seconds\n ? seconds + ' Seconds '\n : '';\n }\n });\n\n }\n \n });\n this.openSnackBar(res.message, '');\n } else {\n this.spinner.hide();\n this.savedJobs = [];\n }\n },\n (error) => {\n this.spinner.hide();\n this.openSnackBar(error, '');\n }\n );\n }\n else if (type == 'applied') \n {\n let payload = {\n uid: this.authService.userValue.uid,\n };\n this.spinner.show();\n (await this.jobsService.getAppliedJobs(payload)).subscribe(\n (res: any) => {\n let response;\n if (res.status) {\n this.spinner.hide();\n console.log(res);\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n response = data;\n if (data) {\n console.log(data.length); // Now it's safe to access length\n console.log('Applied Jobs:-');\n this.appliedJobs = JSON.parse(\n response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')\n );\n this.appliedJobs.forEach((job) => {\n if (job.cd) {\n let startDate = new Date(job.cd).getTime();\n let endDate = new Date().getTime();\n let timeDifference = endDate - startDate;\n let days = Math.floor(\n timeDifference / (1000 * 60 * 60 * 24)\n );\n let hours = Math.floor(\n (timeDifference % (1000 * 60 * 60 * 24)) /\n (1000 * 60 * 60)\n );\n let minutes = Math.floor(\n (timeDifference % (1000 * 60 * 60)) / (1000 * 60)\n );\n let seconds = Math.floor(\n (timeDifference % (1000 * 60)) / 1000\n );\n console.log(\n days + ' Days ',\n hours +\n ' Hours ' +\n minutes +\n ' Minutes ' +\n seconds +\n ' Seconds '\n );\n job.cd = days\n ? days + ' Days '\n : hours\n ? hours + ' Hours '\n : minutes\n ? minutes + ' Minutes '\n : seconds\n ? seconds + ' Seconds '\n : '';\n }\n });\n\n }\n \n });\n this.openSnackBar(res.message, '');\n } else {\n this.spinner.hide();\n this.appliedJobs = [];\n }\n },\n (error) => {\n this.spinner.hide();\n this.openSnackBar(error, '');\n }\n );\n } \n else if (type == 'active') \n {\n let payload = {\n uid: this.authService.userValue.uid,\n };\n this.spinner.show();\n (await this.jobsService.getActiveJobs(payload)).subscribe(\n (res: any) => {\n let response;\n if (res.status) {\n this.spinner.hide();\n console.log(res);\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n response = data;\n if (data) {\n console.log(data.length); // Now it's safe to access length\n console.log('Active Jobs:-');\n this.activeJobs = JSON.parse(\n response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')\n );\n this.activeJobs.forEach((job) => {\n if (job.cd) {\n let startDate = new Date(job.cd).getTime();\n let endDate = new Date().getTime();\n let timeDifference = endDate - startDate;\n let days = Math.floor(\n timeDifference / (1000 * 60 * 60 * 24)\n );\n let hours = Math.floor(\n (timeDifference % (1000 * 60 * 60 * 24)) /\n (1000 * 60 * 60)\n );\n let minutes = Math.floor(\n (timeDifference % (1000 * 60 * 60)) / (1000 * 60)\n );\n let seconds = Math.floor(\n (timeDifference % (1000 * 60)) / 1000\n );\n console.log(\n days + ' Days ',\n hours +\n ' Hours ' +\n minutes +\n ' Minutes ' +\n seconds +\n ' Seconds '\n );\n job.cd = days\n ? days + ' Days '\n : hours\n ? hours + ' Hours '\n : minutes\n ? minutes + ' Minutes '\n : seconds\n ? seconds + ' Seconds '\n : '';\n }\n });\n\n }\n \n });\n this.openSnackBar(res.message, '');\n } else {\n this.spinner.hide();\n this.activeJobs = [];\n }\n },\n (error) => {\n this.spinner.hide();\n this.openSnackBar(error, '');\n }\n );\n } \n else if (type == 'closed') \n {\n let payload = {\n uid: this.authService.userValue.uid,\n };\n this.spinner.show();\n (await this.jobsService.getClosedJobs(payload)).subscribe(\n (res: any) => {\n let response;\n if (res.status) {\n this.spinner.hide();\n console.log(res);\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n response = data;\n if (data) {\n console.log(data.length); // Now it's safe to access length\n console.log('closed Jobs:-');\n this.savedJobs = JSON.parse(\n response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')\n );\n this.closedJobs.forEach((job) => {\n if (job.cd) {\n let startDate = new Date(job.cd).getTime();\n let endDate = new Date().getTime();\n let timeDifference = endDate - startDate;\n let days = Math.floor(\n timeDifference / (1000 * 60 * 60 * 24)\n );\n let hours = Math.floor(\n (timeDifference % (1000 * 60 * 60 * 24)) /\n (1000 * 60 * 60)\n );\n let minutes = Math.floor(\n (timeDifference % (1000 * 60 * 60)) / (1000 * 60)\n );\n let seconds = Math.floor(\n (timeDifference % (1000 * 60)) / 1000\n );\n console.log(\n days + ' Days ',\n hours +\n ' Hours ' +\n minutes +\n ' Minutes ' +\n seconds +\n ' Seconds '\n );\n job.cd = days\n ? days + ' Days '\n : hours\n ? hours + ' Hours '\n : minutes\n ? minutes + ' Minutes '\n : seconds\n ? seconds + ' Seconds '\n : '';\n }\n });\n\n }\n \n });\n this.openSnackBar(res.message, '');\n } else {\n this.spinner.hide();\n this.closedJobs = [];\n }\n },\n (error) => {\n this.spinner.hide();\n this.openSnackBar(error, '');\n }\n );\n }\n }\n\n}\n","
\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n \n
\n
0\" class=\"recommended-jobs-list\" [ngStyle]=\"{'width': (showJobPreview || showJobApplyPreview) ? '30%' : '100%', 'flex': (showJobPreview || showJobApplyPreview) ? '0 0 30%' : '0 0 100%'}\">\n
\n \n \n
\n
\n \n \n
\n \n

{{ job.job_tle }}

\n
\n location_on\n \n \n {{ job.job_cmpny }}\n \n \n

Owner\n

\n
\n \n
{{ job.job_loc }}
\n
\n
\n\n \n
\n
{{ job.cd }} ago
\n
\n \"Unsave\n \"save\n
\n
\n
\n \n
\n \n \n
\n
\n

No Saved Jobs Found

\n
\n\n
\n \n\n \n \"nushift_banner\"\n\n \n
\n\n\n
\n

{{jobDetails?.job_tle | uppercase}}

\n close\n
\n\n\n \n
\n \n
\n
{{jobDetails?.job_cmpny + ',' + jobDetails?.job_loc}}
\n
{{'   ' + jobDetails?.cd}} ago
\n
\n
\n\n
\n \"\"\n
\n {{jobDetails?.job_typ}}\n
\n
\n\n \n
\n\n\n
\n
Meet the Hiring Team
\n
\n \"\"\n
\n
\n {{jobDetails?.hirer_details.name}}\n
\n
\n {{jobDetails?.hirer_details.subsplid}} |\n
\n \n
\n
\n
\n
\n
\n
About the Job
\n
\n {{jobDetails?.job_des}} \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\n\n\n
\n \n \n

Apply to

\n \n close\n\n
\n\n

Contact info

\n
\n \"\"\n
\n\n
\n
\n \n Name*\n \n
\n Name is required.\n
\n
\n \n Phone Number*\n \n
\n Phone Number is required.\n
\n
\n \n Email Address*\n \n
\n Email is required.\n
\n
\n upload Resume*\n
\n
\n \n
\n Upload Resume\n
\n \n \n

{{uploadedResume?.name}}

\n
\n \n
\n \n \n
\n Please fill out all fields correctly.\n
\n
\n
\n
\n
\n
\n
\n
\n \n\n
\n
0\" class=\"recommended-jobs-list\" [ngStyle]=\"{'width': (showJobPreview || showJobApplyPreview) ? '30%' : '100%', 'flex': (showJobPreview || showJobApplyPreview) ? '0 0 30%' : '0 0 100%'}\">\n
\n \n \n
\n
\n \n \n
\n \n

{{ job.job_tle }}

\n
\n location_on\n \n \n {{ job.job_cmpny }}\n \n \n

Owner\n

\n
\n \n
{{ job.job_loc }}
\n
\n
\n\n \n
\n
{{ job.cd }} ago
\n
\n \"Unsave\n \"save\n
\n
\n
\n \n
\n \n \n
\n
\n

No Active Jobs Found

\n
\n\n\n\n
\n \n\n \n \"nushift_banner\"\n\n \n
\n\n\n
\n

{{jobDetails?.job_tle | uppercase}}

\n close\n
\n\n\n \n
\n \n
\n
{{jobDetails?.job_cmpny + ',' + jobDetails?.job_loc}}
\n
{{'   ' + jobDetails?.cd}} ago
\n
\n
\n\n
\n \"\"\n
\n {{jobDetails?.job_typ}}\n
\n
\n\n \n
\n\n\n
\n
Meet the Hiring Team
\n
\n \"\"\n
\n
\n {{jobDetails?.hirer_details.name}}\n
\n
\n {{jobDetails?.hirer_details.subsplid}} |\n
\n \n
\n
\n
\n
\n
\n
About the Job
\n
\n {{jobDetails?.job_des}} \n
\n
\n\n \n\n \n \n \n
\n\n
0\">\n

Applicants List

\n
\n \"\"\n
{{applicant?.name}}
\n
\n
\n
\n\n\n \n\n
\n\n \n \n
\n
0\" class=\"recommended-jobs-list\" [ngStyle]=\"{'width': (showJobPreview || showJobApplyPreview) ? '30%' : '100%', 'flex': (showJobPreview || showJobApplyPreview) ? '0 0 30%' : '0 0 100%'}\">\n
\n \n \n
\n
\n \n \n
\n \n

{{ job.job_tle }}

\n
\n location_on\n \n \n {{ job.job_cmpny }}\n \n \n

Owner\n

\n
\n \n
{{ job.job_loc }}
\n
\n
\n\n \n
\n
{{ job.cd }} ago
\n
\n \"Unsave\n \"save\n
\n
\n
\n \n
\n \n \n
\n
\n

No Applied Jobs Found

\n
\n\n\n\n
\n \n\n \n \"nushift_banner\"\n\n \n
\n\n\n
\n

{{jobDetails?.job_tle | uppercase}}

\n close\n
\n\n\n \n
\n \n
\n
{{jobDetails?.job_cmpny + ',' + jobDetails?.job_loc}}
\n
{{'   ' + jobDetails?.cd}} ago
\n
\n
\n\n
\n \"\"\n
\n {{jobDetails?.job_typ}}\n
\n
\n\n \n
\n
\n
Meet the Hiring Team
\n
\n \"\"\n
\n
\n {{jobDetails?.hirer_details.name}}\n
\n
\n {{jobDetails?.hirer_details.subsplid}} |\n
\n \n
\n
\n
\n
\n
\n
About the Job
\n
\n {{jobDetails?.job_des}} \n
\n
\n
\n \n
\n \n\n
\n
\n\n
\n\n
\n \n
\n
0\" class=\"recommended-jobs-list\" [ngStyle]=\"{'width': (showJobPreview || showJobApplyPreview) ? '30%' : '100%', 'flex': (showJobPreview || showJobApplyPreview) ? '0 0 30%' : '0 0 100%'}\">\n
\n \n \n
\n
\n \n \n
\n \n

{{ job.job_tle }}

\n
\n location_on\n \n \n {{ job.job_cmpny }}\n \n \n

Owner\n

\n
\n \n
{{ job.job_loc }}
\n
\n
\n\n \n
\n
{{ job.cd }} ago
\n
\n \"Unsave\n \"save\n
\n
\n
\n \n
\n \n \n
\n
\n

No Closed Jobs Found

\n
\n\n\n\n
\n \n\n \n \"nushift_banner\"\n\n \n
\n\n\n
\n

{{jobDetails?.job_tle | uppercase}}

\n close\n
\n\n\n \n
\n \n
\n
{{jobDetails?.job_cmpny + ',' + jobDetails?.job_loc}}
\n
{{'   ' + jobDetails?.cd}} ago
\n
\n
\n\n
\n \"\"\n
\n {{jobDetails?.job_typ}}\n
\n
\n\n \n
\n\n\n
\n
Meet the Hiring Team
\n
\n \"\"\n
\n
\n {{jobDetails?.hirer_details.name}}\n
\n
\n {{jobDetails?.hirer_details.subsplid}} |\n
\n \n
\n
\n
\n
\n
\n
About the Job
\n
\n {{jobDetails?.job_des}} \n
\n
\n \n \n\n
\n \n
\n
\n\n\n
\n\n
\n\n
\n
\n\n\n","// Application Classes\r\nimport { QueryStringParameters } from './query-string-parameters';\r\nexport class UrlBuilder {\r\n public url: string;\r\n public queryString: QueryStringParameters;\r\n constructor(\r\n private baseUrl: string,\r\n private action: string,\r\n queryString?: QueryStringParameters\r\n ) {\r\n this.url = [baseUrl, action].join('/');\r\n this.queryString = queryString || new QueryStringParameters();\r\n }\r\n public toString(): string {\r\n const qs: string = this.queryString ? this.queryString.toString() : '';\r\n return qs ? `${this.url}?${qs}` : this.url;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { AuthService } from '../services/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate {\n\n constructor(\n private router: Router,\n private authService: AuthService,\n ) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n\n // return true;\n\n const uid = this.authService.userValue.uid; // Check for UID in localStorage\n if (uid) {\n return true; // UID found, allow access\n } else {\n // this.router.navigate(['']); // UID not found, redirect to No Data Found page\n this.router.navigate(['/landing']); // UID not found, redirect to No Data Found page\n return false; // Prevent access\n }\n }\n \n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { JobsService } from '../../services/jobs.service';\n\n@Component({\n selector: 'app-apply-job',\n templateUrl: './apply-job.component.html',\n styleUrls: ['./apply-job.component.scss']\n})\nexport class ApplyJobComponent implements OnInit {\n\n\n applicationForm: FormGroup;\n uploadedResume: File | any;\n\n constructor(\n private fb: FormBuilder,\n private authService: AuthService,\n private jobsService: JobsService) { }\n\n ngOnInit(): void {\n // console.log(this.data);\n this.createApplicationForm();\n }\n\n createApplicationForm() {\n this.applicationForm = this.fb.group({\n name: ['', Validators.required],\n phoneNumber: ['', Validators.required],\n emailAddress: ['', Validators.required],\n resume: ['', Validators.required]\n })\n }\n\n uploadResume(files: FileList): void {\n // if (event.target.files.length > 0) {\n this.uploadedResume = files.item(0);\n this.applicationForm.patchValue({\n resume: files.item(0),\n });\n // }\n }\n\n closeDialog() {\n // this.dialogRef.close(null);\n }\n\n submitJob() {\n let payload = {\n uid: this.authService.userValue.uid,\n // jobID: this.data.jobDetails.job_id,\n email: this.applicationForm.get('emailAddress').value,\n mobile: this.applicationForm.get('phoneNumber').value,\n country_code: \"91\"\n }\n // this.uploadedResume['filename'] = this.uploadedResume.name;\n this.jobsService.applyJob(payload, this.uploadedResume).subscribe((result) => {\n if (result.status == true) {\n // this.dialogRef.close({res: result, comingFrom: this.data.jobDetails.comingFrom});\n }\n })\n // console.log(this.applicationForm.value);\n }\n}\n","

apply-job works!

\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatDrawer, MatSidenav } from '@angular/material/sidenav';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\nimport { AuthService } from 'src/app/services/auth.service';\n// import { NavbarService } from 'src/app/services/navbar.service';\n// import { MatTabsModule } from '@angular/material/tabs';\n\n@Component({\n selector: 'app-notifications',\n templateUrl: './notifications.component.html',\n styleUrls: ['./notifications.component.scss'],\n})\nexport class NotificationsComponent implements OnInit {\n @ViewChild('drawer') drawer!: MatSidenav;\n notifications = [];\n encodedJsonString: string = '';\n notification_Type: string = 'ALL';\n @Input() isOpen: boolean = false;\n tabIndex: any = 0;\n\n constructor(\n private authService: AuthService,\n private _snackBar: MatSnackBar,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n\n\n this.getNotificationsList('ALL');\n }\n tabClick(event: any) {\n // To detect tab changing event(referrals,events,invites)\n // this.tabIndex = event;\n switch (event) {\n case 0:\n this.getNotificationsList('ALL');\n break;\n case 1:\n this.getNotificationsList('REF');\n break;\n case 2:\n this.getNotificationsList('NTW');\n break;\n case 3:\n this.getNotificationsList('INV');\n break;\n default:\n break;\n }\n }\n getNotificationsList(type) {\n this.authService\n .getNotificationList({\n uid: this.authService.userValue.uid,\n filterBy: type,\n })\n .subscribe(\n (res: any) => {\n console.log(res);\n if (res.status) {\n this.notifications = res.data;\n } else {\n this.notifications = [];\n }\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n\n\n onClear() {\n this.isOpen = false;\n }\n\n notificationClick(notification: any) {\n let notificationType = notification.pType\n ? notification.pType.toLowerCase()\n : notification.ntype\n ? notification.ntype.toLowerCase()\n : '';\n switch (notificationType) {\n case 'ref_view':\n \n this.encodedJsonString = encodeURIComponent(\n JSON.stringify(notification)\n );\n this.router.navigate(['/refer'], {\n queryParams: {\n from: 'notifications',\n notification: this.encodedJsonString,\n },\n });\n break;\n case 'fedpst':\n case 'feedlike':\n case 'feedcomment':\n case 'feedshare':\n \n this.encodedJsonString = encodeURIComponent(\n JSON.stringify(notification)\n );\n this.router.navigate(['/feed'], {\n queryParams: {\n from: 'notifications',\n notification: this.encodedJsonString,\n },\n });\n break;\n case 'event_view':\n \n this.router.navigate(['events/view-event'], {\n queryParams: {\n eventId: notification.idref,\n isHost: notification?.is_host,\n eventType: notification?.type?.toLowerCase(),\n },\n });\n break;\n case 'network_view':\n case 'profile_view':\n \n notification['uid'] = notification.sender_id;\n this.encodedJsonString = encodeURIComponent(\n JSON.stringify({\n viewId: notification.sender_id,\n connectionDetails: notification,\n })\n );\n this.router.navigate(['/profile'], {\n queryParams: { profile: this.encodedJsonString },\n });\n break;\n case 'rcmnd_snt':\n \n notification['uid'] = notification.sender_id;\n this.encodedJsonString = encodeURIComponent(\n JSON.stringify({\n userId: notification.sender_id,\n notification: notification,\n })\n );\n this.router.navigate(['/profile/recommendations'], {\n queryParams: { notification: this.encodedJsonString },\n });\n break;\n }\n }\n\n onNotificationClear(notification: any) {\n this.authService\n .clearNotification({\n uid: this.authService.userValue.uid,\n notification_id: notification.id,\n })\n .subscribe(\n (res) => {\n if (res.status) {\n this.openSnackBar(res.message, '');\n this.getNotificationsList('');\n } else {\n this.openSnackBar(res.message, '');\n }\n },\n (error) => {\n console.log(error);\n }\n );\n }\n\n openSnackBar(message: string, action: string): void {\n this._snackBar.open(message, action, {\n duration: 3000,\n });\n }\n}\n","\n\n
\n
\n

Notification

\n \n highlight_off\n
\n\n \n\n \n \n \n \n \n \n\n \n\n
\n \n
\n
\n
\n \n
\n
\n \n {{ notification.msg }}\n \n
\n
\n
\n
\n \n \n No Notifications\n \n \n
\n
\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-ps\": \"TJgH\",\n\t\"./ar-ps.js\": \"TJgH\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku-kmr\": \"dVgr\",\n\t\"./ku-kmr.js\": \"dVgr\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { Component, OnInit, Renderer2, HostListener } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ChartOptions, ChartType } from 'chart.js';\nimport { Label, SingleDataSet } from 'ng2-charts';\nimport { AuthService } from 'src/app/services/auth.service';\nimport * as pluginLabels from 'chartjs-plugin-labels';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { DashboardService } from '../dashboard.service';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { BreakpointObserver, Breakpoints, BreakpointState } from '@angular/cdk/layout';\n\n@Component({\n selector: 'app-main-dashboard',\n templateUrl: './main-dashboard.component.html',\n styleUrls: ['./main-dashboard.component.scss']\n})\nexport class MainDashboardComponent implements OnInit {\n\n\n\n applicantsList: any;\n\n\n // Referrals Count\n referralSentCount: string = '';\n referralRecievedCount: string = '';\n referralPendingCount: string = '';\n\n // Followers Data\n\n totalFollowersCount: string = '';\n followersData: any;\n totalFeedCount: string = '';\n feedLikesData: any;\n feedSharesData: any;\n feedCommentsData: any;\n feedbackData: any;\n\n// Connection\n connectionsData: any;\n connectionsValues: any;\n\n\n\n\n followersChartLabels: string[] = [];\n public followersChartData: Chart.ChartDataSets[] = [\n {\n data: [],\n label: 'followers',\n fill: false // Ensures the line is not filled\n }\n ];\n public followersChartOptions: Chart.ChartOptions = {\n responsive: true,\n maintainAspectRatio: false,\n };\n public followersChartLegend = true;\n public followersLineChartType = 'line';\n public followersChartColors: Array = [\n {\n backgroundColor: 'rgba(105, 0, 132, .2)',\n borderColor: '#002469',\n borderWidth: 2,\n }\n ];\n\n\n\n feedChartLabels: string[] = [];\n public feedChartData: Chart.ChartDataSets[] = [\n {\n data: [],\n label: 'feed',\n fill: false // Ensures the line is not filled\n }\n ];\n public feedChartOptions: Chart.ChartOptions = {\n responsive: true,\n maintainAspectRatio: false,\n };\n public feedChartLegend = true;\n public feedLineChartType = 'line';\n public feedChartColors: Array = [\n {\n backgroundColor: 'rgba(105, 0, 132, .2)',\n borderColor: 'red',\n borderWidth: 2,\n }\n ];\n\n feedbackButtons = [\n {\n id: 'yet_to_receive',\n selected: true,\n color: '#E32020',\n defaultImage: '../../../../assets/dashboard_images/red_fill.png',\n selectedImage: '../../../../assets/dashboard_images/red_fill.png',\n unselectedImage: '../../../../assets/dashboard_images/red_outer.png'\n },\n {\n id: 'sent',\n selected: false,\n color: '#FBDF4A',\n defaultImage: '../../../../assets/dashboard_images/yellow_outer.png',\n selectedImage: '../../../../assets/dashboard_images/yellow_fill.png',\n unselectedImage: '../../../../assets/dashboard_images/yellow_outer.png'\n },\n {\n id: 'received',\n selected: false,\n color: '#71EE76',\n defaultImage: '../../../../assets/dashboard_images/green_outer.png',\n selectedImage: '../../../../assets/dashboard_images/green_fill.png',\n unselectedImage: '../../../../assets/dashboard_images/green_outer.png'\n },\n {\n id: 'pending',\n selected: false,\n color: '#3F8CD2',\n defaultImage: '../../../../assets/dashboard_images/blue_outer.png',\n selectedImage: '../../../../assets/dashboard_images/blue_fill.png',\n unselectedImage: '../../../../assets/dashboard_images/blue_outer.png'\n }\n ];\n\n buttons = [\n {\n id: 'total',\n selected: false,\n color: '#E32020',\n defaultImage: '../../../../assets/dashboard_images/totalcount.png',\n selectedImage: '../../../../assets/dashboard_images/red_fill.png',\n unselectedImage: '../../../../assets/dashboard_images/red_outer.png'\n\n },\n {\n id: 'share',\n selected: false,\n color: '#FBDF4A',\n defaultImage: '../../../../assets/dashboard_images/share.png',\n selectedImage: '../../../../assets/dashboard_images/yellow_fill.png',\n unselectedImage: '../../../../assets/dashboard_images/yellow_outer.png'\n\n },\n {\n id: 'comment',\n selected: false,\n color: '#71EE76',\n defaultImage: '../../../../assets/dashboard_images/comments.png',\n selectedImage: '../../../../assets/dashboard_images/green_fill.png',\n unselectedImage: '../../../../assets/dashboard_images/green_outer.png'\n\n },\n {\n id: 'like',\n selected: false,\n color: '#3F8CD2',\n defaultImage: '../../../../assets/dashboard_images/like.png',\n selectedImage: '../../../../assets/dashboard_images/blue_fill.png',\n unselectedImage: '../../../../assets/dashboard_images/blue_outer.png'\n\n }\n ];\n\n\n\n connectionsChartLabels: string[] = ['Doctors', 'Diagnostics', 'Hospitals'];\n public connectionsChartData: Chart.ChartDataSets[] = [\n {\n data: [2, 1, 11],\n label: 'Connections',\n fill: true,\n barPercentage: 0.1, // Adjust the width of each bar\n categoryPercentage: 0.5 // Adjust the space between bars\n // Ensures the line is not filled\n },\n\n\n ];\n public connectionsChartOptions: Chart.ChartOptions = {\n responsive: true,\n legend: {\n display: true,\n labels: {\n fontColor: 'black'\n }\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end', \n }\n }\n };\n public connectionsChartLegend = true;\n public connectionsLineChartType = 'bar';\n public connectionsChartColors: Array = [\n {\n backgroundColor: this.getConnectionColors(),\n // borderColor: 'blue',\n borderWidth: 1,\n }\n ];\n\n\n feedbackChartLabels: string[] = [];\n public feedbackChartData: Chart.ChartDataSets[] = [\n {\n data: [],\n label: 'Referrals Feedback',\n fill: false // Ensures the line is not filled\n }\n ];\n public feedbackChartOptions: Chart.ChartOptions = {\n responsive: true,\n maintainAspectRatio: false,\n };\n public feedbackChartLegend = true;\n public feedbackLineChartType = 'line';\n public feedbackChartColors: Array = [\n {\n backgroundColor: 'rgba(105, 0, 132, .2)',\n borderColor: '#002469',\n borderWidth: 2,\n }\n ];\n\n\n isMobile: boolean;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n public authService: AuthService,\n private spinner: NgxSpinnerService,\n private dashboardService: DashboardService,\n private apiEndPointService: ApiEndpointsService,\n private _snackBar: MatSnackBar,\n private breakpointObserver: BreakpointObserver\n ) { \n }\n\n ngOnInit(): void {\n this.authService.isSpecialComponentActive = false;\n this.breakpointObserver.observe([Breakpoints.Handset])\n .subscribe((state: BreakpointState) => {\n this.isMobile = state.matches;\n console.log('Is mobile:', this.isMobile);\n\n this.activatedRoute.queryParams.subscribe((params: any) => {\n if (params.cf.toLowerCase() === 'd') {\n // Goes inside this condition if the screen path contains dashboard as 'n' for 'cf' value\n this.authService.isLoggedIn.next({\n showNavbar: this.isMobile ? false : true,\n showSideNav: true,\n cf: params.cf.toLowerCase(),\n });\n }\n });\n \n });\n\n\n\n\n this.getNewAnalytics('year');\n\n }\n\n\n \n getConnectionColors(): string[] {\n // Define your custom colors for each month\n return [\n '#3F8CD2', // January\n '#FBDF4A', // February\n '#71EE76', // March\n ];\n }\n\n // feedAction(actionType:string,colorValue:string){\n // this.feedChartLabels = this.applicantsList['axis'];\n // this.feedChartData = [\n // {\n // data: this.applicantsList['engagement'][actionType],\n // label: actionType.toLocaleUpperCase(),\n // fill: false // Ensures the line is not filled\n // }\n // ]; \n // this.feedChartColors = [\n // {\n // backgroundColor: 'rgba(105, 0, 132, .2)',\n // borderColor: colorValue,\n // borderWidth: 2,\n // }\n // ];\n // }\n\n\n feedAction(buttonId: string) {\n // Deselect all buttons\n this.buttons.forEach(button => button.selected = false);\n // Select the clicked button\n const button = this.buttons.find(button => button.id === buttonId);\n this.feedChartLabels = this.applicantsList['axis'];\n this.feedChartData = [\n {\n data: this.applicantsList['engagement'][buttonId],\n label: buttonId.toLocaleUpperCase(),\n fill: false // Ensures the line is not filled\n }\n ]; \n this.feedChartColors = [\n {\n backgroundColor: 'rgba(105, 0, 132, .2)',\n borderColor: button.color,\n borderWidth: 2,\n }\n ];\n\n if (button) {\n button.selected = true;\n }\n }\n\n\n referralfeedbackAction(buttonId : string){\n\n\n // Deselect all buttons\n this.feedbackButtons.forEach(button => button.selected = false);\n // Select the clicked button\n const button = this.feedbackButtons.find(button => button.id === buttonId);\n if (button) {\n button.selected = true;\n }\n\n\n this.feedbackChartLabels = this.applicantsList['axis'];\n this.feedbackChartData = [\n {\n data: this.applicantsList['feedback'][buttonId],\n label: buttonId.toLocaleUpperCase(),\n fill: false // Ensures the line is not filled\n }\n ]; \n this.feedbackChartColors = [\n {\n backgroundColor: 'rgba(105, 0, 132, .2)',\n borderColor: button.color,\n borderWidth: 2,\n }\n ];\n \n }\n\n\n async getNewAnalytics(filterType : string) {\n let payload = {\n uid: this.authService.userValue.uid,\n filter_by: filterType,\n // start_date: '2023-05-20',\n // end_date: '2024-05-20',\n // filter_value: 2024,\n }\n console.log(payload);\n this.spinner.show('yyyyyyyyyyyyyyy');\n (await this.dashboardService.getNewAnalytics(payload)).subscribe((res: any) => {\n \n let response;\n if (res.status) {\n console.log(res);\n this.apiEndPointService.decodeAesToken(this.authService.userValue.uid, res.data).then((data) => {\n response = data;\n this.applicantsList = JSON.parse(response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'));\n // console.log(this.applicantsList['referrals']['sent'],'Referrals Data');\n this.referralSentCount = this.applicantsList['referrals']['sent'];\n this.referralPendingCount = this.applicantsList['referrals']['pending'];\n this.referralRecievedCount = this.applicantsList['referrals']['received'];\n this.totalFollowersCount = this.applicantsList['followers']['total'];\n this.followersData = this.applicantsList['followers']['followers_data'];\n this.followersChartLabels = this.applicantsList['axis'];\n this.connectionsData = this.applicantsList['connections'];\n console.log( this.applicantsList['connections'],'connections Data');\n\n\n // console.log(this.applicantsList['axis'],'followersData');\n this.followersChartData = [\n {\n data: this.followersData,\n label: 'followers',\n fill: false // Ensures the line is not filled\n }\n ];\n\n \n this.feedAction('total');\n this.referralfeedbackAction('yet_to_receive');\n this.connectionsChartLabels = Object.keys(this.connectionsData);\n this.connectionsValues = Object.values(this.connectionsData);\n this.connectionsChartData = [\n {\n data: this.connectionsValues,\n label: 'Connections',\n fill: true,\n barPercentage: 0.1, // Adjust the width of each bar\n categoryPercentage: 0.5 // Adjust the space between bars\n // Ensures the line is not filled\n },\n ];\n \n\n });\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n }\n\n }, error => {\n this.spinner.hide();\n this.openSnackBar(error, '');\n });\n }\n\n\n openSnackBar(message: string, action: string): void {\n // Method to show alert when any api calls\n this._snackBar.open(message, action, { duration: 3000 });\n }\n\n}","
\n
\n
Welcome,
\n

Dr. Azharuddin

\n

Referrals

\n\n
\n \n \n

Pending {{ referralPendingCount }}

\n
\n \n \n

Recieved {{ referralRecievedCount }}

\n
\n \n \n

Sent {{ referralSentCount }}

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

Followers

\n

{{ totalFollowersCount }}

\n
\n
\n

Select a Range

\n
\n \n \n 1W\n \n \n 1M\n \n \n 1Y\n \n \n
\n
\n
\n\n
\n
\n \n \n
\n
\n
\n\n \n\n \n
\n
\n

Feed - April

\n

50

\n
\n
\n

Select a Range

\n
\n \n \n 1W\n \n \n 1M\n \n \n 1Y\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\n \n
\n
\n

Total Connections

\n

20

\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

Feedback Count

\n

50

\n
\n
\n

Select a Range

\n
\n \n \n 1W\n \n \n 1M\n \n \n 1Y\n \n \n
\n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n \n \n
\n
\n
\n \n
\n\n","import { ChangeDetectorRef, Component, HostListener, Input, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Observable } from 'rxjs';\nimport { ActivatedRoute, ActivationEnd, NavigationEnd, Router } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { User } from './models/user.model';\nimport { ApiEndpointsService } from './services/api-endpoint.service';\nimport { AuthService } from './services/auth.service';\nimport { NavbarService } from './services/navbar.service';\nimport { MessagingService } from './services/messaging.service';\nimport * as CryptoJS from 'crypto-js';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { NetworksService } from './modules/networks/services/networks.service';\nimport { MatDrawer, MatSidenav } from '@angular/material/sidenav';\nimport { LandingScreenComponent } from './components/landing-screen/landing-screen.component';\nimport { HomeComponent } from './modules/home/home.component';\nimport { NetworksComponent } from './modules/networks/networks/networks.component';\nimport { EnquiriesComponent } from './components/enquiries/enquiries.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { TermsConditionsComponent } from './components/terms-conditions/terms-conditions.component';\nimport { RateUsComponent } from './components/rate-us/rate-us.component';\nimport { AboutUsComponent } from './components/about-us/about-us.component';\nimport { DeactivateAccountComponent } from './components/deactivate-account/deactivate-account.component';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { ContactUsComponent } from './components/contact-us/contact-us.component';\n\nconst QR_ICON = ``;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AppComponent implements OnInit {\n title = 'NushiftConnectWeb';\n name = 'Angular';\n message;\n\n isDrawerOpen = false;\n\n menuList: any[] = [\n { img: '../assets/home_screen_images/home_icon_fill.png', title: 'Home', icon_text: 'Home', class: 'col-md-2 p-0 m-0', height: 25, width: 25, clicked: true },\n { img: '../assets/home_screen_images/networks_icon.png', title: 'Networks', icon_text: 'Networks', class: 'col-md-2 p-0 m-0', height: 25, width: 25, clicked: false },\n { img: '../assets/home_screen_images/chat_icon.png', title: 'Chat', icon_text: 'Chat', class: 'col-md-2 p-0 m-0', height: 25, width: 22, clicked: false },\n { img: '../assets/home_screen_images/dashboard_icon.png', title: 'Dashboard', icon_text: 'Dashboard', class: 'col-md-2 p-0 m-0', height: 25, width: 25, clicked: false },\n { img: '../assets/home_screen_images/notifications_icon.png', title: 'Notifications', icon_text: 'Notifications', class: 'col-md-2 p-0 m-0', height: 20, width: 20, clicked: false },\n { img: '../../../assets/img/updated-nushift-logo.png', title: 'Profile', icon_text: '', class: 'col-md-1 rounded-circle border-light border py-0 my-0', height: 50, width: 50, clicked: false, style: '0rem 0.5rem 0rem 2rem' },\n ];\n\n networks_menuList: any[] = [\n { img: 'url(../assets/networks_images/userlist.png)', img_white: 'url(../assets/networks_images/suggetions_white.png)', title: 'Suggestions', icon_text: 'Suggestions', class: 'col-md-2 p-0 m-0', height: 25, width: 25, clicked: true },\n { img: 'url(../assets/networks_images/userlist.png)', img_white: 'url(../assets/networks_images/userlist_white.png)', title: 'Userlist', icon_text: 'Userlist', class: 'col-md-2 p-0 m-0', height: 25, width: 25, clicked: false },\n { img: 'url(../assets/networks_images/connections.png)', img_white: 'url(../assets/networks_images/connections_white.png)', title: 'Connections', icon_text: 'Connections', class: 'col-md-2 p-0 m-0', height: 25, width: 22, clicked: false },\n { img: 'url(../assets/networks_images/followers.png)', img_white: 'url(../assets/networks_images/followers_white.png)', title: 'Followers', icon_text: 'Followers', class: 'col-md-2 p-0 m-0', height: 25, width: 25, clicked: false },\n { img: 'url(../assets/networks_images/following.png)', img_white: 'url(../assets/networks_images/following_white.png)', title: 'Following', icon_text: 'Following', class: 'col-md-2 p-0 m-0', height: 20, width: 20, clicked: false },\n { img: 'url(../assets/networks_images/sent.png)', img_white: 'url(../assets/networks_images/sent_white.png)', title: 'Sent', icon_text: 'Sent', class: 'col-md-2 p-0 m-0', height: 45, width: 40, clicked: false },\n { img: 'url(../assets/networks_images/received.png)', img_white: 'url(../assets/networks_images/received_white.png)', title: 'Received', icon_text: 'Received', class: 'col-md-2 p-0 m-0', height: 45, width: 40, clicked: false },\n\n ];\n\n more_navbar_list: any[] = [\n { img: '../assets/home_screen_images/for_business_icon.png', title: 'For Business', icon_text: 'For Business', class: 'col-md-6', height: 30, width: 30, clicked: false, style: '0 0 60%' },\n { img: '../assets/home_screen_images/more_icon.png', title: 'More', icon_text: 'More', class: 'col-md-6', height: 25, width: 25, clicked: false, style: '0 0 40%', more_screens_list: [\n { title: 'My Profile', name: 'my-profile' },\n { title: 'Subscriptions', name: 'subscriptions' },\n { title: 'Enquiries', name: 'enquiries' },\n { title: 'Terms and Conditions', name: 'tnc' },\n { title: 'Rate Us', name: 'rate-us' },\n { title: 'About Us', name: 'about-us' },\n { title: 'Contact Us', name: 'contact-us' },\n { title: 'Change Password', name: 'change-password' },\n { title: 'Switch Profile', name: 'switch-profile' },\n { title: 'Deactivate Account', name: 'deactivate-account' },\n { title: 'Logout', name: 'logout' }\n ]\n }\n ];\n user: Observable;\n tabStatus: string = 'Opened';\n showNavBar: boolean = false;\n // search = new FormControl('');\n showSideNav: boolean = false;\n l_i_u_d: any = {};\n panelOpenState: boolean = false;\n hovered_type: any = '';\n restored_type: any = '';\n myRoles: any[] = [];\n isRole: boolean = false;\n decryptedUserDetails: any;\n searchForm: FormGroup;\n coming_from: string;\n isSpecialComponentActive: boolean = false;\n showMoreScreens: boolean = false;\n more_screens_list: any = [];\n\n\n constructor(\n public authService: AuthService,\n private sanitizer: DomSanitizer,\n private matIconRegistry: MatIconRegistry,\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private messagingService: MessagingService,\n public nav: NavbarService,\n public apiEndPointService: ApiEndpointsService,\n private _snackBar: MatSnackBar,\n private spinner: NgxSpinnerService,\n public dialog: MatDialog,\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef,\n private networkService: NetworksService\n ) {\n this.matIconRegistry.addSvgIconLiteral(\n 'qrcode',\n sanitizer.bypassSecurityTrustHtml(QR_ICON)\n );\n }\n\n ngOnInit(): void {\n this.cdr.detectChanges();\n // this.authService.routerChanges();\n localStorage.setItem('API-KEY', '827ccb0eea8a706c4c34a16891f84e7b'); // Setting API-KEY in localstorage\n this.authService.loggedIn.subscribe((res: any) => {\n this.showNavBar = res.showNavbar ? true : false;\n this.showSideNav = res.showSideNav ? true : false;\n this.decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\n this.spinner.hide();\n if (this.showSideNav && this.authService.userValue.uid) {\n console.log(this.authService.userValue);\n this.searchForm = this.fb.group({\n search: ''\n })\n this.l_i_u_d = this.authService.userValue; // Setting logged in user details to the variable in UI\n switch (res.cf && res.cf.toLowerCase()) {\n case 'h':\n this.coming_from = 'home';\n this.navItemClick(this.coming_from, 0, 'menu-list');\n break;\n case 'n':\n this.coming_from = 'networks';\n this.navItemClick(this.coming_from, 1, 'menu-list');\n break;\n case 'c':\n this.coming_from = 'chat';\n this.navItemClick(this.coming_from, 2, 'menu-list');\n break;\n case 'd':\n this.coming_from = 'dashboard';\n this.navItemClick(this.coming_from, 3, 'menu-list');\n break;\n case 'e':\n this.coming_from = 'events';\n this.navItemClick(this.coming_from, 4, 'side-menu-list');\n break;\n case 'g':\n this.coming_from = 'groups';\n this.navItemClick(this.coming_from, 5, 'side-menu-list');\n break;\n case 'j':\n this.coming_from = 'jobs';\n this.navItemClick(this.coming_from, 6, 'side-menu-list');\n break;\n case 's':\n this.coming_from = 'subscriptions';\n this.navItemClick(this.coming_from, null, 'side-menu-list');\n break;\n case 'p':\n this.coming_from = 'profile';\n this.navItemClick(this.coming_from, null, 'side-menu-list');\n break;\n }\n } else if (res.isRole && res.isRole === 'true' || res.isRole === true) {\n this.isRole = true;\n this.showNavBar = false;\n this.showSideNav = false;\n this.getRoles();\n }\n });\n if (this.activatedRoute.snapshot.url.length > 0 && this.activatedRoute.snapshot.url[0].path == 'dashboard' && this.activatedRoute.snapshot.url[1].path) {\n this.authService.userValue.uid = this.activatedRoute.snapshot.url[1].path;\n this.router.navigate(['/dashboard'], { queryParams: { user_id: this.authService.userValue.uid } });\n this.nav.footerHide();\n this.nav.navbarHide();\n }\n if (this.authService?.user != null) this.user = this.authService.user;\n if (\n this.authService.userValue != null &&\n this.authService.userValue &&\n this.userValue === '1'\n ) {\n } else if (this.authService.userValue && this.authService.userValue.uid && this.authService.userValue.aid) {\n this.getAliasPermissions();\n this.checkLoggedInDevices();\n }\n this.messagingService.requestPermission();\n }\n\n\n\n async getAliasPermissions() {\n let payload = {\n uid: this.authService.userValue.uid,\n alias_id: this.authService.userValue.alid ?? this.authService.userValue.uid\n };\n (await this.authService.getAliasPermissions(payload)).subscribe((res) => {\n if (res.status) {\n if (res.data) {\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then((data) => {\n if (data) {\n console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')));\n let responseData = JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'));\n } else {\n console.log(res);\n }\n });\n } else {\n console.log(res);\n }\n } else {\n console.log(res);\n }\n }, error => {\n console.log(error);\n })\n }\n\n async checkLoggedInDevices() { // Method to check loggedIn devices of the app\n let payload = {\n dvctkn: CryptoJS.AES.decrypt(localStorage.getItem('kf'), 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString(CryptoJS.enc.Utf8),\n uid: this.authService.userValue.uid ?? 'nushift-connect',\n other_id: this.authService.userValue.alid ?? this.authService.userValue.uid\n };\n (await this.authService.checkLoggedInUsers(payload)).subscribe((res) => {\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then((data) => {\n if (data) {\n console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')));\n let responseData = JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'));\n if (res.status && responseData.allow_login && responseData.allow_login.toLowerCase() == 'no') {\n this.nav.navbarHide();\n this.nav.footerHide();\n this.router.navigate(['']);\n } else if (res.status && responseData.allow_login && responseData.allow_login.toLowerCase() == 'yes') {\n console.log(data);\n } else {\n this.router.navigate(['feed']);\n }\n } else {\n this.openSnackBar(res.message, '')\n }\n });\n })\n }\n\n changeBackgroundImage(type: any) { // Method to change the icons on the side navbar\n this.hovered_type = type.toLowerCase();\n }\n\n restoreBackgroundImage(type: any) { // Method to change the icons on the sie navbar on mouseleave\n this.restored_type = type.toLowerCase();\n }\n changeNetworksBackgroundImage(type: any) { // Method to change the icons on the networks side navbar\n this.hovered_type = type.toLowerCase();\n }\n restoreNetworksBackgroundImage(type: any) { // Method to change the icons on the networks side navbar on mouseleave\n this.restored_type = type.toLowerCase();\n }\n\n clickSideNavItem(type: string) { // Method to select side navbar item\n switch (type.toLowerCase()) {\n case 'groups':\n this.router.navigate(['groups'], { queryParams: { cf: 'g' } });\n break;\n case 'jobs':\n this.router.navigate(['jobs'], { queryParams: { cf: 'j' } });\n break;\n case 'events':\n this.router.navigate(['events'], { queryParams: { cf: 'e' } });\n break;\n case 'recent-profile-views':\n // this.router.navigate(['events'], { queryParams: { cf: 'e' } });\n // alert(\"Clicked bussinesspage\");\n // this.router.navigate(['recent'], { queryParams: { cf: 'rpv' } });\n this.router.navigate(['home/recent'], { queryParams: {cf: 'rpv'} });\n break;\n case 'networks':\n this.router.navigate(['networks'], { queryParams: { cf: 'n' } });\n break;\n default:\n break;\n }\n }\n\n async getRoles() { // To get all roles of the loggedin user\n this.spinner.show();\n (await this.authService.getUserRoles({ mobile_number: this.authService.userValue.mobile ? this.authService.userValue.mobile : this.authService.userValue.mob, uid: this.authService.userValue.uid })).subscribe((res: any) => {\n console.log(res);\n this.spinner.hide();\n if (res) {\n let response: any;\n this.apiEndPointService.decodeAesToken(this.authService.userValue.uid, res.data).then((data) => {\n response = data;\n console.log(JSON.parse(response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')));\n this.myRoles = JSON.parse(response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'));\n this.nav.footerHide();\n this.nav.navbarHide();\n });\n }\n }, error => {\n this.spinner.hide();\n });\n }\n\n roleClick(role) { // Selection of loggedin user role method\n console.log(role);\n this.nav.navbarShow();\n this.nav.footerShow();\n this.isRole = false;\n let userDetails = this.decryptedUserDetails;\n userDetails['uid'] = role.uid;\n userDetails['ppic'] = role.profile_picture;\n userDetails['name'] = role.name;\n userDetails['user_type'] = role.user_type;\n userDetails['td'] = CryptoJS.AES.decrypt(localStorage.getItem('kf'), 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString(CryptoJS.enc.Utf8);\n let encodedUserString = encodeURIComponent(JSON.stringify(userDetails));\n localStorage.setItem('user', encodedUserString);\n this.authService.setLocalStorage(JSON.parse(decodeURIComponent(localStorage.getItem('user'))));\n this.authService.isSpecialComponentActive = true;\n this.router.navigate(['home'], { queryParams: { isRole: false, ln: true } });\n }\n\n openSnackBar(message: string, action: string): void { // Method to open alert messages\n this._snackBar.open(message, action, { duration: 3000 });\n }\n\n async getBannerImages() { // Method to get side banner images\n (await this.authService.getBannerImages()).subscribe((res) => {\n localStorage.setItem('bannerImages', JSON.stringify(res.data));\n })\n }\n\n get userValue(): string {\n return this.authService.userValue.uvrfd;\n }\n\n // Method to get clicked nav item from the menu bar\n \n navItemClick(navItem: any, navIndex: number, navType: string) {\n if (navType.toLowerCase() == 'menu-list') {\n for (let item of (navType.toLowerCase() == 'menu-list' ? this.menuList : this.more_navbar_list)) {\n item['clicked'] = (navItem.toLowerCase() == item['title'].toLowerCase()) ? true : false;\n }\n console.log(navItem.toLowerCase(), \"navItemClick\");\n switch (navItem.toLowerCase()) {\n case 'home':\n this.router.navigate(['home'], { queryParams: { isRole: false, ln: true, cf: 'h' } })\n break;\n case 'networks':\n this.router.navigate(['networks'], { queryParams: { cf: 'n' } })\n break;\n case 'chat':\n this.router.navigate(['chat'], { queryParams: { cf: 'c' } })\n break;\n case 'dashboard':\n this.router.navigate(['dashboard'], { queryParams: { cf: 'd' } })\n break;\n case 'notifications':\n this.isDrawerOpen = !this.isDrawerOpen;\n break;\n case 'profile':\n this.router.navigate(['/profile'], { queryParams: { cf: 'p', id: localStorage.getItem('uid') ?? this.authService.userValue.uid } });\n\n }\n } else if (navType.toLowerCase() == 'side-menu-list') {\n console.log(navItem.toLowerCase());\n for (let item of (navType.toLowerCase() == 'side-menu-list' ? this.menuList : this.more_navbar_list)) {\n item['clicked'] = (navItem.toLowerCase() == item['title'].toLowerCase()) ? true : false;\n }\n }\n else if (navType.toLowerCase() == 'more-list') {\n for (let item of (navType.toLowerCase() == 'menu-list' ? this.menuList : this.more_navbar_list)) {\n item['clicked'] = (navItem.toLowerCase() == item['title'].toLowerCase()) ? true : false;\n }\n console.log(navItem.toLowerCase());\n\n switch (navItem.toLowerCase()) {\n case 'more':\n // this.logOut();\n this.showMoreScreens = true;\n this.more_screens_list = this.more_navbar_list[1].more_screens_list;\n break;\n case 'for business':\n this.showMoreScreens = false;\n break;\n }\n\n }\n }\n\n async logOut() { // Method to logout from the application\n let payload = {\n uid: this.authService.userValue.uid,\n token: this.authService.userValue['td']\n };\n console.log('logout payload',payload);\n this.spinner.show();\n (await this.authService.logout(payload)).subscribe((res) => {\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n if (res.status) {\n this.showNavBar = false;\n this.showSideNav = false;\n localStorage.clear();\n this.router.navigate(['/landing']);\n }\n }, error => {\n this.spinner.hide();\n });\n }\n\n openDialog(dialogType: any) {\n const dialogRef = this.dialog.open(dialogType, {\n height: '500px',\n width: '75%',\n autoFocus: false,\n disableClose: true\n });\n dialogRef.afterClosed().subscribe((res) => {\n // this.getMyGroups();\n });\n }\n\n moreScreenClick(more_screen_item) { // More screens clicking functionality\n switch (more_screen_item.name.toLowerCase()) {\n case 'my-profile':\n this.router.navigate(['/profile'], { queryParams: { cf: 'p', id: localStorage.getItem('uid') ?? this.authService.userValue.uid } });\n break;\n case 'logout':\n this.logOut();\n break;\n case 'subscriptions':\n this.router.navigate(['/subscriptions'], { queryParams: { cf: 's' } });\n break;\n case 'enquiries':\n this.openDialog(EnquiriesComponent);\n break;\n case 'tnc':\n this.openDialog(TermsConditionsComponent);\n break;\n case 'rate-us':\n this.openDialog(RateUsComponent);\n break;\n case 'about-us':\n this.openDialog(AboutUsComponent);\n break;\n case 'deactivate-account':\n this.openDialog(DeactivateAccountComponent);\n break;\n case 'change-password':\n this.openDialog(ChangePasswordComponent);\n break;\n case 'contact-us':\n this.openDialog(ContactUsComponent);\n break;\n case 'switch-profile':\n this.isRole = true;\n this.router.navigate(['home'], { queryParams: { isRole: true, ln: true } });\n break;\n default:\n break;\n }\n }\n\n\n // Method to get clicked nav item from the networks side bar\n newtworksSideItemClick(navItem: any, navIndex: number, navType: string) {\n for (let item of (navType.toLowerCase() == 'networks-menu-list' ? this.networks_menuList : \"\")) {\n item['clicked'] = (navItem.toLowerCase() == item['title'].toLowerCase()) ? true : false;\n }\n this.networkService.clickedNetworkItem.next(navItem);\n console.log(navItem, \"networkssideItemName\");\n }\n}\n","
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n search\r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{icon?.icon_text}}
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{{icon?.icon_text}}
\r\n
\r\n \r\n
\r\n {{more_item.title}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n

{{l_i_u_d?.name}}

\r\n

{{l_i_u_d?.specialization_name}}

\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
View More\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Groups\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Suggestions\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Recent Profile Viewers\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Events\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Jobs\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
{{networkItem.title}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n chat......\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n Please Select Your Role to Proceed Further!\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{role?.name}}
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n Loading... \r\n \r\n","import { Injectable } from '@angular/core';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class Constants {\r\n\r\n // public readonly API_ENDPOINT: string = \"https://3.108.114.119/app\";\r\n public readonly API_ENDPOINT: string = \"https://nushift.org/app\";\r\n public readonly PHP_API_ENDPOINT: string = \"https://nushift.org/app\";\r\n public readonly FILTERED_ENDPOINT: string = \"https://pydev.nushift.org/api/v2\";\r\n // public readonly API_ENDPOINT: string = 'https://nushift.org/test';\r\n // public readonly API_ENDPOINT: string = 'https://nushift.org/sale';\r\n\r\n // public static readonly ASSETS_PATH: string = \"https://3.108.114.119/app/assets/\";\r\n public static readonly ASSETS_PATH: string = \"https://nushift-dev.s3.ap-south-1.amazonaws.com/\";\r\n // public static readonly ASSETS_PATH: string = \"https://nushift.org/test/assets/\";\r\n // public static readonly ASSETS_PATH: string = \"https://nushift.org/sale/assets/\";\r\n}\r\n\r\nexport const environment = {\r\n production: false,\r\n firebase: {\r\n apiKey: \"AIzaSyC-VhIQ4XysZDNTwSQgBYidGNhs9O98rVo\",\r\n authDomain: \"hcc-doctors.firebaseapp.com\",\r\n databaseURL: \"https://hcc-doctors.firebaseio.com\",\r\n projectId: \"hcc-doctors\",\r\n storageBucket: \"hcc-doctors.appspot.com\",\r\n messagingSenderId: \"968123953038\",\r\n appId: \"1:968123953038:web:0ec05601c7962416aafedf\",\r\n measurementId: \"G-D53E8P17H0\"\r\n }\r\n};\r\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { User } from 'src/app/models/user';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MoreScreenService } from 'src/app/services/more-screen.service';\n\n@Component({\n selector: 'app-rate-us',\n templateUrl: './rate-us.component.html',\n styleUrls: ['./rate-us.component.css']\n})\nexport class RateUsComponent implements OnInit {\n\n user: User;\n rateUsForm = new FormGroup({\n uid: new FormControl('', Validators.required),\n feedback: new FormControl('5', [Validators.required, Validators.email]),\n description: new FormControl('', Validators.required),\n from: new FormControl('D', [Validators.required]),\n });\n\n constructor(private _snackBar: MatSnackBar, private spinner: NgxSpinnerService,\n public authService: AuthService, public dialogRef: MatDialogRef, private moreScreenService: MoreScreenService) { }\n\n\n ngOnInit(): void {\n this.user = this.authService.userValue;\n this.rateUsForm.patchValue({ uid: this.user.uid });\n }\n\n onSubmit() {\n this.spinner.show();\n let formData = this.rateUsForm.value;\n formData['uid'] = this.authService.userValue.uid;\n this.moreScreenService.rateUs(formData).subscribe((res) => {\n this.spinner.hide();\n console.log(res);\n if (res.status) this.dialogRef.close();\n this.openSnackBar(res.message, \"\");\n })\n }\n\n setFeedBack(fb: string) {\n this.rateUsForm.value.feedback = fb;\n }\n\n openSnackBar(message: string, action: string): void {\n this._snackBar.open(message, action, { duration: 3000 });\n }\n\n closeDialog() {\n this.dialogRef.close();\n }\n}\n","\n\n
\n

Give Feedback

\n \n
\n

Please provide feedback

\n\n \n
\n
\n
\n \n \n \n \n \n \n
\n\n \n Comments \n \n \n \n
\n

\n \n \n

\n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { MatDrawer } from '@angular/material/sidenav';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { BehaviorSubject } from 'rxjs';\nimport * as CryptoJS from 'crypto-js';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { NavbarService } from 'src/app/services/navbar.service';\nimport { MessagingService } from 'src/app/services/messaging.service';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent implements OnInit {\n latitude: any;\n longitude: any;\n @Input() drawer!: MatDrawer;\n @Output() loginClosed = new EventEmitter();\n @Input() closeLogin: any;\n hide = true;\n otp: any;\n disableButton: boolean = false;\n loginForm: FormGroup = new FormGroup({\n userid: new FormControl('', [\n Validators.required,\n Validators.pattern(\n '^([0-9]{9})|([A-Za-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,3})$'\n ),\n ]),\n pwd: new FormControl('', [Validators.required, Validators.min(3)]),\n as: new FormControl('D'),\n otp: new FormControl(null)\n });\n\n errors: any = { email: 'Email required' };\n showOtpField: boolean = false;\n firstLoginResponse: any = {\n \"uid\": \"D188387504352126_D001\",\n \"name\": \"Dr. Sravani\",\n \"lastName\": \"Vajrala\",\n \"usts\": 1,\n \"ppic\": \"https://nushift-dev.s3.ap-south-1.amazonaws.com/default/profiles/female.png\",\n \"is_subscribed\": \"no\",\n \"mob\": \"8309446398\",\n \"email\": \"pometi7491@mainmile.com\",\n \"cphncode\": 91,\n \"firstTimePassword\": \"no\",\n \"specialization_name\": \"None\",\n \"extra_user_type\": \"USER\",\n \"extra_new_device\": \"yes\"\n };\n geoCoder: any;\n verifiedOtpResponse: any;\n otpLoginResponse: any;\n otpValidated: boolean = false;\n decryptedUserDetails: any;\n\n constructor(\n private router: Router,\n private authService: AuthService,\n private deviceService: DeviceDetectorService,\n public dialog: MatDialog,\n private _snackBar: MatSnackBar,\n private spinner: NgxSpinnerService,\n private apiEndPointService: ApiEndpointsService,\n private nav: NavbarService,\n private messagingService: MessagingService\n ) { }\n\n ngOnInit() { \n this.decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\n this.nav.navbarHide();\n this.nav.footerHide();\n // this.geoCoder = new google.maps.Geocoder();\n // this.getCurrentLocation();\n }\n\n onCloseDrawer() {\n this.loginClosed.emit(true);\n }\n\n uid: string;\n generateUUIDV4(): string {\n // http://www.ietf.org/rfc/rfc4122.txt\n const s = []\n const hexDigits = '0123456789abcdef'\n for (let i = 0; i < 36; i++) {\n s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)\n }\n s[14] = '4' // bits 12-15 of the time_hi_and_version field to 0010\n // eslint-disable-next-line no-bitwise\n s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1) // bits 6-7 of the clock_seq_hi_and_reserved to 01\n s[8] = s[13] = s[18] = s[23] = '-'\n\n const uuid = s.join('')\n return uuid\n }\n getDeviceId() {\n let deviceId = localStorage.getItem('deviceId')\n if (!deviceId) {\n deviceId = this.generateUUIDV4()\n localStorage.setItem('deviceId', deviceId)\n }\n return deviceId;\n }\n\n getCurrentLocation(): void {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition((position: any) => {\n if (position) {\n this.latitude = position.coords.latitude;\n this.longitude = position.coords.longitude;\n this.getAddress(this.latitude, this.longitude);\n }\n });\n }\n }\n\n getAddress(latitude: any, longitude: any): void {\n this.geoCoder.geocode(\n { location: { lat: latitude, lng: longitude } },\n (results: { formatted_address: any }[], status: string) => {\n if (status === 'OK') {\n if (results[0]) {\n localStorage.setItem('deviceLocation', results[0]['formatted_address']);\n localStorage.setItem('latitude', latitude);\n localStorage.setItem('longitude', longitude);\n }\n } else {\n // window.alert('Geocoder failed due to: ' + status);\n }\n }\n );\n\n }\n\n async verifyOTP() {\n let decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\n const payload = {\n uid: this.firstLoginResponse.uid,\n otp: Number(this.loginForm.get('otp').value),\n device_type: 'Web',\n device_token: localStorage.getItem('kf') ? CryptoJS.AES.decrypt(localStorage.getItem('kf'), 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString(CryptoJS.enc.Utf8) : '',\n device_model: (this.deviceService.getDeviceInfo().browser && this.deviceService.getDeviceInfo().os) ? (this.deviceService.getDeviceInfo().os +\n ' - ' +\n this.deviceService.getDeviceInfo().browser) : '',\n latitude: this.latitude ? this.latitude.toString() : '17.3850',\n longitude: this.longitude ? this.longitude.toString() : '78.4867',\n device_id: this.getDeviceId() ?? '',\n address: localStorage.getItem('deviceLocation') ?? '',\n alid: decryptedUserDetails.alid ?? '' // if the user is alias user, \"alid\": \"sgfsdhf\" otherwise \"alid\": \"\"\n }\n this.spinner.show();\n (await this.authService.OtpLogin(payload)).subscribe((res) => {\n let otpLogin:boolean = false;\n console.log(res);\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then((data) => {\n if (data) {\n console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')));\n this.verifiedOtpResponse = JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'));\n console.log('verifiedOtpResponse:- ')\n console.log(this.verifiedOtpResponse);\n if (res.status) {\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n this.verifiedOtpResponse['td'] = CryptoJS.AES.decrypt(localStorage.getItem('kf'), 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString(CryptoJS.enc.Utf8);\n let encodedUserString = encodeURIComponent(JSON.stringify(this.verifiedOtpResponse));\n localStorage.setItem('user', encodedUserString);\n let decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\n this.authService.userSubject = new BehaviorSubject(decryptedUserDetails);\n this.authService.user = this.authService.userSubject.asObservable();\n this.authService.userSubject.next(decryptedUserDetails);\n console.log(decryptedUserDetails);\n otpLogin = true;\n this.gotoHome(otpLogin);\n } else {\n this.spinner.hide();\n this.openSnackBar(res.message, '')\n };\n } else {\n this.spinner.hide();\n this.openSnackBar(res.message, '')\n }\n });\n }, error => {\n this.openSnackBar('Something went wrong! Please try again', '');\n this.spinner.hide();\n });\n }\n\n async validateOtp() {\n let payload ={\n mobile: this.loginForm.get('userid').value,\n otp: Number(this.loginForm.get('otp').value)\n };\n this.spinner.show();\n (await this.authService.validateOTPV2(payload)).subscribe((res) => {\n console.log(res);\n // let loginResponse: any;\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then((data) => {\n if(data) {\n console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')));\n this.otpLoginResponse = data ? JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')) : [];\n console.log(this.otpLoginResponse);\n }\n if (res.status) {\n this.spinner.hide();\n this.otpValidated = true;\n this.showOtpField = false;\n this.otpLoginResponse['td'] = CryptoJS.AES.decrypt(localStorage.getItem('kf'), 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString(CryptoJS.enc.Utf8);\n let encodedUserString = encodeURIComponent(JSON.stringify(this.otpLoginResponse));\n localStorage.setItem('user', encodedUserString);\n let decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\n this.authService.userSubject = new BehaviorSubject(decryptedUserDetails);\n this.authService.user = this.authService.userSubject.asObservable();\n this.authService.userSubject.next(decryptedUserDetails);\n console.log(decryptedUserDetails);\n } else {\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n }\n });\n }, error => {\n this.openSnackBar('Something went wrong! Please try again', '');\n console.log(error);\n this.spinner.hide();\n });\n }\n\n async login() {\n this.messagingService.requestPermission();\n const payload = {\n user_name: this.loginForm.get('userid').value,\n password: this.loginForm.get('pwd').value,\n device_token: CryptoJS.AES.decrypt(localStorage.getItem('kf'), 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString(CryptoJS.enc.Utf8),\n device_id: this.getDeviceId(),\n uid: 'nushift_connect'\n }\n this.spinner.show();\n (await this.authService.loginv3(payload)).subscribe((res) => {\n console.log(res);\n if (res.status && res.data) {\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then(async (data) => {\n console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')));\n this.firstLoginResponse = data ? JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')) : [];\n console.log(this.firstLoginResponse,'firstLoginResponse');\n if (res.status) {\n this.spinner.hide();\n this.firstLoginResponse['td'] = CryptoJS.AES.decrypt(localStorage.getItem('kf'), 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString(CryptoJS.enc.Utf8);\n if (this.firstLoginResponse.alid) {\n let payload = {\n uid: this.firstLoginResponse.uid,\n alid: this.firstLoginResponse.alid\n };\n (await this.authService.getAlias(payload)).subscribe((res) => {\n console.log(res);\n this.apiEndPointService.decodeAesToken(this.firstLoginResponse.uid, res.data).then(async (data) => {\n console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')));\n console.log(this.firstLoginResponse);\n });\n })\n }\n let encodedUserString = encodeURIComponent(JSON.stringify(this.firstLoginResponse));\n localStorage.setItem('user', encodedUserString);\n let decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\n this.authService.userSubject = new BehaviorSubject(decryptedUserDetails);\n this.authService.user = this.authService.userSubject.asObservable();\n this.authService.userSubject.next(decryptedUserDetails);\n console.log(decryptedUserDetails);\n if(this.firstLoginResponse && this.firstLoginResponse.firstTimePassword) {\n if (this.firstLoginResponse.firstTimePassword.toLowerCase() == 'yes') \n {\n this.router.navigate(['/register'], {queryParams: {firstLoginResponse: JSON.stringify(this.firstLoginResponse)}});\n } \n else if (this.firstLoginResponse.firstTimePassword.toLowerCase() == 'no') \n {\n if (this.firstLoginResponse.extra_new_device && this.firstLoginResponse.extra_new_device.toLowerCase() == 'no') {\n let newDeviceLogin:boolean = false;\n this.openSnackBar(res.message, '');\n this.authService.setLocalStorage(this.firstLoginResponse);\n localStorage.setItem('loggedInUid', this.firstLoginResponse.uid);\n localStorage.setItem('loggedInUsername', (this.firstLoginResponse.name + ' ' + this.firstLoginResponse.lastName));\n this.gotoHome(newDeviceLogin);\n } \n else if (this.firstLoginResponse.extra_new_device && this.firstLoginResponse.extra_new_device.toLowerCase() == 'yes')\n {\n this.openSnackBar(res.message, '');\n this.showOtpField = true;\n this.loginForm.get('otp').markAsUntouched();\n this.loginForm.get('otp').setValidators(Validators.required);\n this.authService.setLocalStorage(this.firstLoginResponse);\n localStorage.setItem('loggedInUid', this.firstLoginResponse.uid);\n localStorage.setItem('loggedInUsername', (this.firstLoginResponse.name + ' ' + this.firstLoginResponse.lastName));\n }\n else\n {\n let newDeviceLogin:boolean = false;\n this.openSnackBar(res.message, '');\n this.authService.setLocalStorage(this.firstLoginResponse);\n localStorage.setItem('loggedInUid', this.firstLoginResponse.uid);\n localStorage.setItem('loggedInUsername', (this.firstLoginResponse.name + ' ' + this.firstLoginResponse.lastName));\n this.gotoHome(newDeviceLogin);\n }\n }\n } \n else if (this.firstLoginResponse.extra_new_device) {\n if (this.firstLoginResponse.extra_new_device.toLowerCase() == 'no') {\n let newDeviceLogin: boolean = false;\n this.openSnackBar(res.message, '');\n this.authService.setLocalStorage(this.firstLoginResponse);\n localStorage.setItem('loggedInUid', this.firstLoginResponse.uid);\n localStorage.setItem('loggedInUsername', (this.firstLoginResponse.name + ' ' + this.firstLoginResponse.lastName));\n newDeviceLogin = true;\n this.gotoHome(newDeviceLogin);\n } else if (this.firstLoginResponse.extra_new_device.toLowerCase() == 'yes') {\n this.openSnackBar(res.message, '');\n this.showOtpField = true;\n this.loginForm.get('otp').markAsUntouched();\n this.loginForm.get('otp').setValidators(Validators.required);\n this.authService.setLocalStorage(this.firstLoginResponse);\n localStorage.setItem('loggedInUid', this.firstLoginResponse.uid);\n localStorage.setItem('loggedInUsername', (this.firstLoginResponse.name + ' ' + this.firstLoginResponse.lastName));\n }\n }\n }\n });\n } else {\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n }\n \n }, error => {\n this.openSnackBar('Something went wrong! Please try again', '');\n console.log(error);\n this.spinner.hide();\n });\n }\n\n gotoCreatePassword = () =>\n this.router.navigate(['auth/createPassword'], {\n queryParams: { uid: this.uid },\n });\n\n gotoHome = (otpLogin) => this.router.navigate(['home'], {queryParams: {isRole: otpLogin ? true : false, ln: true}}); // 'ln' means user logged in\n\n gotoRegister = () => this.router.navigateByUrl('register'); \n\n gotoForgotPassword = () => this.router.navigateByUrl('forgotPassword');\n\n openSnackBar(message: string, action: string): void {\n this._snackBar.open(message, action, {\n duration: 3000,\n });\n }\n}\n","
\n
\n \"\"\n
\n
\n \n
\n close\n
\n \n
\n

Hello!! Login as

\n
\n
\n \n
\n \n Email/Phone\n number *\n \n \n
\n
\n \n Password\n *\n \n {{hide ? 'visibility_off' : 'visibility'}}\n \n \n
\n
\n \n Enter OTP\n *\n \n \n
\n
\n
\n Forgot Password?\n \n \n
\n New User?\n Register\n \n
\n
\n
\n
\n
\n
\n \n \n \n Loading... \n ","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, FormGroupDirective, NgForm, Validators } from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { User } from 'src/app/models/user';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MoreScreenService } from 'src/app/services/more-screen.service';\n\nexport class MyErrorStateMatcher implements ErrorStateMatcher {\n isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const invalidCtrl = !!(control && control.invalid && control.parent.dirty);\n const invalidParent = !!(control && control.parent && control.parent.invalid && control.parent.dirty);\n\n return (invalidCtrl || invalidParent);\n }\n}\n\n\n@Component({\n selector: 'app-change-password',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.css']\n})\nexport class ChangePasswordComponent implements OnInit {\n\n ohide: boolean = true;\n chide: boolean = true;\n nhide: boolean = true;\n\n user: User;\n\n matcher = new MyErrorStateMatcher();\n\n\n changePassForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email]),\n old_password: new FormControl('', Validators.required),\n new_password: new FormControl('', Validators.required),\n confirm_password: new FormControl('',),\n }, this.checkPasswords);\n decryptedUserDetails: any;\n\n constructor(private authService: AuthService,\n private spinner: NgxSpinnerService, private moreScreenService: MoreScreenService,\n public dialogRef: MatDialogRef, private _snackBar: MatSnackBar, private endPointService: ApiEndpointsService) {\n this.user = this.authService.userValue;\n this.changePassForm.patchValue({\n email: this.user.email,\n });\n }\n\n ngOnInit(): void {\n this.decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\n }\n\n async onSubmit() {\n if (this.changePassForm.valid) {\n this.spinner.show();\n let formData = this.changePassForm.value;\n (await this.moreScreenService.changePass(formData)).subscribe((res) => {\n this.spinner.hide();\n this.openSnackBar(res.message, \"\");\n if (res.status) {\n if (res.data) {\n let response: any;\n this.endPointService.decodeAesToken(this.authService.userValue.uid ?? this.decryptedUserDetails.uid, res.data).then((data) => {\n response = data;\n console.log('changePassword Response:-');\n this.openSnackBar(res.message, \"\");\n console.log(JSON.parse(JSON.stringify(JSON.parse(response.replace(/'/g, '\"').replace(/None/g, null).replace(/False/g, false).replace(/True/g, true)))));\n this.dialogRef.close('changedPassword');\n });\n } else {\n this.dialogRef.close('changedPassword');\n }\n } else {\n console.log(res);\n }\n }, error => {\n this.spinner.hide();\n })\n }\n }\n\n checkPasswords(group: FormGroup) {\n let pass = group.controls.new_password.value;\n let confirmPass = group.controls.confirm_password.value;\n\n return pass === confirmPass ? null : { notSame: true }\n }\n\n openSnackBar(message: string, action: string): void {\n this._snackBar.open(message, action, { duration: 3000 });\n }\n}\n","
\n

Change Password

\n \n
\n\n
\n
\n\n \n Email \n \n \n\n \n Old Password \n \n {{ohide ? 'visibility_off' : 'visibility'}}\n \n Please enter your old password\n \n \n\n \n New Password \n \n {{nhide ? 'visibility_off' : 'visibility'}}\n \n Please enter your new password\n \n \n\n \n Confirm Password \n \n {{chide ? 'visibility_off' : 'visibility'}}\n \n Passwords do not match\n \n \n\n
\n

\n \n \n

\n
\n
\n","import { BrowserModule } from '@angular/platform-browser';\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\nimport { AngularFireModule } from '@angular/fire';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { LandingScreenComponent } from './components/landing-screen/landing-screen.component';\nimport { LoginComponent } from './components/login/login.component';\nimport { SharedModule } from './modules/shared/shared.module';\nimport { environment } from './models/constants';\nimport { NotificationsComponent } from './components/notifications/notifications.component';\nimport { JobsComponent } from './modules/jobs/components/jobs/jobs.component';\nimport { MyManageJobsComponent } from './modules/jobs/components/my-manage-jobs/my-manage-jobs.component';\nimport { ApplyJobComponent } from './modules/jobs/components/apply-job/apply-job.component';\nimport { CommonModule } from '@angular/common';\nimport { MainDashboardComponent } from './modules/dashboard/main-dashboard/main-dashboard.component';\nimport { AuthGuard } from './modules/auth.guard';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { EnquiriesComponent } from './components/enquiries/enquiries.component';\nimport { RouterModule } from '@angular/router';\nimport { TermsConditionsComponent } from './components/terms-conditions/terms-conditions.component';\nimport { RateUsComponent } from './components/rate-us/rate-us.component';\nimport { AboutUsComponent } from './components/about-us/about-us.component';\nimport { ChangePasswordComponent } from './components/change-password/change-password.component';\nimport { DeactivateAccountComponent } from './components/deactivate-account/deactivate-account.component';\nimport { ContactUsComponent } from './components/contact-us/contact-us.component';\nimport { DeleteAccountComponent } from './delete-account/delete-account.component';\nimport { RegistrationComponent } from './modules/register/registration/registration.component';\nimport { PrivacyComponent } from './components/privacy/privacy.component';\nimport { TermsComponent } from './components/terms/terms.component';\nimport { AboutComponent } from './components/about/about.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { ForgotPasswordComponent } from './modules/forgot-password/forgot-password.component';\nimport { GetInvitedComponent } from './modules/get-invited/get-invited/get-invited.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n LandingScreenComponent,\n LoginComponent,\n NotificationsComponent,\n JobsComponent,\n MyManageJobsComponent,\n ApplyJobComponent,\n MainDashboardComponent,\n EnquiriesComponent,\n TermsConditionsComponent,\n RateUsComponent,\n AboutUsComponent,\n ChangePasswordComponent,\n DeactivateAccountComponent,\n ContactUsComponent,\n DeleteAccountComponent,\n RegistrationComponent,\n PrivacyComponent,\n TermsComponent,\n AboutComponent,\n ForgotPasswordComponent,\n GetInvitedComponent,\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n SharedModule,\n MatMenuModule,\n AngularFireModule.initializeApp(environment.firebase),\n CommonModule,\n RouterModule,\n MatFormFieldModule\n ],\n providers: [AuthGuard], // Provide the AuthGuard\n // providers: [], // Provide the AuthGuard\n\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { Datum } from '../../subscription-model';\nimport { NavbarService } from 'src/app/services/navbar.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MoreScreenService } from 'src/app/services/more-screen.service';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport {\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { DowngradeSubscriptionDialogComponent } from '../downgrade-subscription-dialog/downgrade-subscription-dialog.component';\n\n@Component({\n selector: 'app-subscriptions',\n templateUrl: './subscriptions.component.html',\n styleUrls: ['./subscriptions.component.scss'],\n})\nexport class SubscriptionsComponent implements OnInit {\n uid: string;\n public plansList: Datum[] = [];\n public isVisible: boolean = false;\n selectedCard: string = 'premium'; // Default selection\n\n\n\n selectedItems: number[] = [];\n enquiryForm: FormGroup;\n\n constructor(\n public authService: AuthService,\n private activatedRoute: ActivatedRoute,\n private nav: NavbarService,\n public dialog: MatDialog,\n private router: Router,\n private _snackBar: MatSnackBar,\n private spinner: NgxSpinnerService,\n private moreScreenService: MoreScreenService,\n public apiEndPointService: ApiEndpointsService,\n private fb: FormBuilder\n ) {}\n\n toggleItem(index: number) {\n const selectedIndex = this.selectedItems.indexOf(index);\n if (selectedIndex === -1) {\n this.selectedItems.push(index);\n } else {\n this.selectedItems.splice(selectedIndex, 1);\n }\n }\n\n isSelected(index: number): boolean {\n return this.selectedItems.includes(index);\n }\n\n selectCard(cardType: string) {\n this.selectedCard = cardType;\n console.log(cardType);\n }\n\n isCardSelected(cardType: string): boolean {\n return this.selectedCard === cardType;\n }\n\n ngOnInit(): void {\n this.enquiryForm = this.fb.group({\n uid: new FormControl('', Validators.required),\n name: new FormControl('', Validators.required),\n organization: new FormControl('', Validators.required),\n designation: new FormControl('', Validators.required),\n description: new FormControl('', Validators.required),\n });\n\n this.authService.isSpecialComponentActive = false;\n this.activatedRoute.queryParams.subscribe((params: any) => {\n if (params.cf.toLowerCase() === 's') {\n // Goes inside this condition if the screen path contains networks as 'n' for 'cf' value\n this.authService.isLoggedIn.next({\n showNavbar: true,\n showSideNav: false,\n cf: params.cf.toLowerCase(),\n });\n }\n });\n this.getPlans();\n }\n\n async getPlans() {\n let queryParameters = {\n uid:\n localStorage.getItem('uid') ??\n this.uid ??\n this.authService.userValue.uid,\n };\n this.spinner.show();\n (await this.moreScreenService.getPlansList(queryParameters)).subscribe(\n (res: any) => {\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n let response: any;\n if (res.data) {\n let decryptedUserDetails = JSON.parse(\n decodeURIComponent(localStorage.getItem('user'))\n );\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n response = data;\n console.log('getPlans Response:-');\n console.log(\n JSON.parse(\n JSON.stringify(\n JSON.parse(\n response\n .replace(/'/g, '\"')\n .replace(/None/g, null)\n .replace(/False/g, false)\n .replace(/True/g, true)\n )\n )\n )\n );\n this.plansList = JSON.parse(\n JSON.stringify(\n JSON.parse(\n response\n .replace(/'/g, '\"')\n .replace(/None/g, null)\n .replace(/False/g, false)\n .replace(/True/g, true)\n )\n )\n ).data;\n });\n }\n },\n (error) => {\n this.spinner.hide();\n this.openSnackBar('Something went wrong! Please try again later.', '');\n console.log(error);\n }\n );\n }\n\n onPlanCLick(plan: any) {\n // if (plan.toLowerCase() === 'premium') {\n // this.router.navigate([\n // '/subscriptions/subscription-cards',\n // this.authService.userValue.uid,\"PLN12345\"\n // ]);\n // } else if (plan.toLowerCase() === 'free') {\n // this.router.navigate([\n // '/subscriptions/subscription-history',\n // this.authService.userValue.uid,\n // ]);\n // }\n\n if (plan.name.toLowerCase() === 'premium') {\n if (!plan.is_current_plan) this.router.navigate(['/subscriptions/subscription-cards', this.uid ?? this.authService.userValue.uid, plan.plan_id, plan.is_current_plan]);\n else this.router.navigate(['/subscriptions/subscribed-plan', localStorage.getItem('uid') ?? this.uid ?? this.authService.userValue.uid]);\n } else if (plan.name.toLowerCase() === 'free') {\n for (plan of this.plansList) {\n if (plan.is_current_plan === true) {\n const dialogRef = this.dialog.open(\n DowngradeSubscriptionDialogComponent,\n {\n data: { validityDays: plan.subscribed_plan_details.days_left },\n panelClass: 'full-width-dialog',\n }\n );\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n // Handle the result from the dialog\n console.log('Dialog result:', result);\n }\n });\n }\n }\n }\n }\n\n async onEnquiryClick() {\n let formData = this.enquiryForm.value;\n (formData.uid =\n localStorage.getItem('uid') ??\n this.uid ??\n this.authService.userValue.uid),\n this.spinner.show();\n let payload = {\n uid:\n localStorage.getItem('uid') ??\n this.uid ??\n this.authService.userValue.uid,\n name: this.enquiryForm.get('name').value,\n organization: this.enquiryForm.get('organization').value,\n designation: this.enquiryForm.get('designation').value,\n description: this.enquiryForm.get('description').value,\n };\n (await this.moreScreenService.sendAnSubscriptionEnquiry(payload)).subscribe(\n (res) => {\n this.spinner.hide();\n if (res.data) {\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n if (data)\n console.log(\n JSON.parse(\n data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')\n )\n );\n });\n }\n if (res.status) {\n this.openSnackBar(res.message, '');\n //this.dialogRef.close();\n } else {\n this.openSnackBar(res.message, '');\n }\n },\n (error) => {\n this.spinner.hide();\n }\n );\n }\n\n openSnackBar(message: string, action: string): void {\n // Method to open alert messages\n this._snackBar.open(message, action, { duration: 3000 });\n }\n}\n","\n
\n
\n
\n \n
\n \n
Basic
\n
Free
\n

0/-

\n

Enjoy all these features

\n \n
\n \n
    \n
  • \n {{ subItem.split(\"|\")[0] }} \n \n
  • \n
\n
\n \n\n \n\n \n
\n
\n
\n
\n \n
\n \n
\n \n
Premium
\n
(Billed Annulay)
\n

1998/- month

\n

Enjoy all these features, plus

\n \n
\n
    \n \n {{ subItem.split(\"|\")[0] }}\n
      \n \n {{subItem.split(\"|\")[j + 1] }}\n \n
    \n \n
\n \n\n \n \n \n
\n
\n
\n \n \n
\n \n
\n \n
Enterprise
\n
For Your Support
\n

Enterprise solutions

\n \n
    \n
  • \n For any custom solutions feel\n free to get in touch with us\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 \n\n \n Loading... \n \n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport * as CryptoJS from 'crypto-js';\nimport { catchError } from 'rxjs/operators';\n// import * as privateKey from '../../assets/font/privateKey.pem';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiHttpService {\n CryptoJS = require(\"crypto-js\");\n base64URL = require(\"base64url\");\n // fernet = require('./fernet');\n secret: any;\n aesToken: any;\n constructor(private http: HttpClient) {\n }\n\n loadPEMFile() {\n // Replace 'assets/your.pem' with the correct path to your .pem file.\n // return this.http.get(environment.privateKey, { responseType: 'text' })\n }\n\n makeid(length) {\n let result = '';\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n let counter = 0;\n while (counter < length) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n counter += 1;\n }\n console.log(result.toString());\n return result.toString();\n}\n\n getAesToken(payload) {\n const derivedKey = decodeURIComponent(localStorage.getItem('salt'));\n let _key = CryptoJS.enc.Utf8.parse(derivedKey);\n let _iv = CryptoJS.enc.Utf8.parse(derivedKey);\n let encrypted = CryptoJS.AES.encrypt(\n JSON.stringify(payload), _key, {\n keySize: 16,\n iv: _iv,\n mode: CryptoJS.mode.ECB,\n padding: CryptoJS.pad.Pkcs7\n });\n var tok = encrypted.toString();\n this.aesToken = tok;console.log('aesToken:- '+tok);\n return tok;\n }\n decryptUsingAES256() {\n const derivedKey = decodeURIComponent(localStorage.getItem('salt'));\n let _key = CryptoJS.enc.Utf8.parse(derivedKey);\n let _iv = CryptoJS.enc.Utf8.parse(derivedKey);\n\n var decrypted = CryptoJS.AES.decrypt(\n this.aesToken, _key, {\n keySize: 16,\n iv: _iv,\n mode: CryptoJS.mode.ECB,\n padding: CryptoJS.pad.Pkcs7\n }).toString(CryptoJS.enc.Utf8);\n console.log(decrypted);\n }\n\n base64url(source: any) {\n let encodedSource = this.CryptoJS.enc.Base64.stringify(source);\n\n encodedSource = encodedSource.replace(/=+$/, '');\n\n encodedSource = encodedSource.replace(/\\+/g, '-');\n encodedSource = encodedSource.replace(/\\//g, '_');\n\n return encodedSource;\n }\n\n encodeToken(payload:any) {\n var header = {\n \"alg\": \"RS256\",\n \"typ\": \"JWT\"\n };\n\n var stringifiedHeader = this.CryptoJS.enc.Utf8.parse(JSON.stringify(header));\n var encodedHeader = this.base64url(stringifiedHeader);\n\n var stringifiedData = this.CryptoJS.enc.Utf8.parse(JSON.stringify(payload));\n var encodedData = this.base64url(stringifiedData);\n\n var token = encodedHeader + \".\" + encodedData;\n return token;\n }\n\n signToken(payload:any,key:string) {\n var secret = key;\n let token:any = this.encodeToken(payload);\n console.log(\"encodeToken:- \"+token);\n\n var signature:any = this.CryptoJS.HmacSHA256(token, secret);\n signature = this.base64url(signature);\n\n var signedToken = token + \".\" + signature;\n console.log(\"signedToken:- \"+signedToken);\n return signedToken;\n }\n\n createAuthorizationHeader(headers: Headers) {\n headers.append('Authorization', localStorage.getItem('bearerToken')); \n }\n\n public get(url: string, options?: any, headers?: any): Observable {\n try {\n headers = new HttpHeaders();\n headers = headers\n // .set('Access-Control-Allow-Origin', 'http://15.206.116.221/api/v2')\n .set('Content-Type', 'application/json')\n // .set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS, PATCH')\n .set('Authorization', `Bearer ${localStorage.getItem('bearerToken').toString()}`)\n // .set('Access-Control-Allow-Headers', 'Access-Control-Allow-Origin, Content-Type', 'Access-Control-Allow-Methods', 'Authorization');\n return this.http.get(url, { headers: url.toLowerCase().includes('d/practiceareas/get') ? null : headers}).pipe(\n catchError(error => {\n // Handle the error here\n console.error('API Error:', error);\n return throwError(error);\n })\n );\n } catch(error) {\n console.log(error);\n }\n }\n\n public post(url: string, data: any, options?: any, headers?: any): Observable {\n try {\n data = ((url.toLowerCase().includes('discussion_board/create') && data['discussion_type'] && data['discussion_type'].toLowerCase() == 'quiz') || ('files' in data) || ('file' in data) || ('licenseCertificate' in data) || ('photos' in data) || ('image' in data) || ('images' in data) || ('banners[]' in data) || ('videos' in data) || ('cover_pic' in data) || ('profile_pic' in data) || url.toLowerCase().includes('referral/send_referral') || url.toLowerCase().includes('groups/create_group') || data.dataFile || url.toLowerCase().includes('getinvited') || url.toLowerCase().includes('getuserprofile') || url.toLowerCase().includes('jobapply') || url.toLowerCase().includes('doctor_services/update_profile')) ? this.jsonToFormData(data) : (url.toLowerCase().includes('discussion_board') && !('images' in data)) ? data : data;\n headers = new HttpHeaders();\n console.log(data);\n headers = headers.set('Authorization', `Bearer ${localStorage.getItem('bearerToken').toString()}`)\n return this.http.post(url, data, { headers: (url.toLowerCase().includes('getinvited') || url.toLowerCase().includes('getuserprofile') && !url.toLowerCase().includes('networks/get_explore_list_v2') && !url.toLowerCase().includes('networks/get_all_networks') && !url.toLowerCase().includes('networks/user_follow') && !url.toLowerCase().includes('networks/user_unfollow') && !url.toLowerCase().includes('networks/get_all_networks') && !url.toLowerCase().includes('feed') && !url.toLowerCase().includes('discussion_board')) ? null : headers });\n } catch (error) {\n console.log(error);\n }\n }\n\n public discussionPost(url: string, data: any, options?: any): Observable {\n data = this.jsonToFormData(data);\n return this.http.post(url, data, options);\n }\n\n public postComment(url: string, data: any, options?: any): Observable {\n data = this.jsonToFormData(data);\n return this.http.post(url, data, options);\n }\n\n public pollPost(url: string, data: any, options?: any): Observable {\n data = this.jsonToFormData(data);\n return this.http.post(url, data, options);\n }\n\n public deletePost(url: string, data: any, options?: any): Observable {\n const opt = {\n headers: new HttpHeaders({\n // 'Content-Type': 'application/x-www-form-urlencoded'\n }),\n body: (url.toLowerCase().includes('groups/delete') || url.toLowerCase().includes('feed/delete')) ? options : new HttpParams({ fromObject: options }),\n }\n opt.headers = opt.headers.set('Authorization', `Bearer ${localStorage.getItem('bearerToken').toString()}`)\n return this.http.post(url, data, options);\n }\n\n public put = (url: string, data: any, options?: any): Observable =>\n this.http.put(url, data, options);\n\n public delete(url: string, options?: any): Observable {\n const opt = {\n headers: new HttpHeaders({}),\n body: (url.toLowerCase().includes('diagnostic_services/delete_test') || url.toLowerCase().includes('practice_area/delete') || url.toLowerCase().includes('feed/delete_comment') || url.toLowerCase().includes('discussion_board/delete') || url.toLowerCase().includes('groups/delete') || url.toLowerCase().includes('feed/delete')) ? options : new HttpParams({ fromObject: options }),\n }\n opt.headers = opt.headers.set('Authorization', `Bearer ${localStorage.getItem('bearerToken').toString()}`)\n return this.http.delete(url, opt);\n }\n\n getPdf(url) {\n return this.http.get(url, {\n responseType: 'blob',observe: 'response'\n });\n }\n\n public jsonToFormData(item: any): FormData {\n let formData = new FormData();\n for (const key in item) {\n if (key == 'files' || key == 'images' || key == 'banners[]' || key == 'videos' || key == 'images') {\n for (const file in item[key]) {\n if (file) formData.append(key, item[key][file]);\n else formData.append(key, item[key] ?? '');\n }\n } else if (key == 'file' || key == 'profile_pic' || (key == 'cover_picture' && item['cover_picture']) || (key == 'display_picture' && item['display_picture']) || key == 'licenseCertificate' || key == 'dataFile' || key == 'cover_pic' || key == 'image') {\n if (item[key].name) formData.append(key, item[key], item[key].name);\n else formData.append(key, item[key] ?? '');\n }\n else formData.append(key, item[key] ?? '');\n }\n return formData;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AngularFireMessaging } from '@angular/fire/messaging';\nimport { BehaviorSubject } from 'rxjs'\nimport { v4 as uuidv4 } from 'uuid';\nimport * as CryptoJS from 'crypto-js';\n@Injectable()\nexport class MessagingService {\n currentMessage = new BehaviorSubject(null);\n constructor(private angularFireMessaging: AngularFireMessaging) {\n this.angularFireMessaging.messaging.subscribe(\n (_messaging) => {\n _messaging.onMessage = _messaging.onMessage.bind(_messaging);\n _messaging.onTokenRefresh = _messaging.onTokenRefresh.bind(_messaging);\n }\n )\n }\n requestPermission() {\n this.angularFireMessaging.requestToken.subscribe(\n (token) => {\n let encodedJsonString = token;\n encodedJsonString = CryptoJS.AES.encrypt(encodedJsonString, 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString();\n localStorage.setItem('kf', encodedJsonString);\n },\n () => {\n let randomString: string = uuidv4();\n randomString = CryptoJS.AES.encrypt(randomString, 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString();\n localStorage.setItem('kf', randomString);\n }\n );\n }\n receiveMessage() {\n this.angularFireMessaging.messages.subscribe(\n (payload) => {\n console.log(\"new message received. \", payload);\n this.currentMessage.next(payload);\n })\n }\n}\n","export class QueryStringParameters {\r\n private paramsAndValues: string[];\r\n constructor() {\r\n this.paramsAndValues = [];\r\n }\r\n public push(key: string, value: Object): void {\r\n value = encodeURIComponent(value ? value.toString() : '');\r\n this.paramsAndValues.push([key, value].join('='));\r\n }\r\n public toString = (): string => this.paramsAndValues.join('&');\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { ApiHttpService } from 'src/app/services/api-http.service';\nimport { Observable } from 'rxjs';\nimport { NetworksModel } from './networks.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DashboardService {\n\n constructor(\n private apiEndpointsService: ApiEndpointsService,\n private apiHttpService: ApiHttpService\n ) { }\n\n // async getNewAnalytics(payload: any): Promise> {\n // // this.apiEndpointsService.getAesToken(payload)\n // this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), payload.uid, payload);\n // let encryptedPayload = {\n // data: localStorage.getItem('aesToken')\n // }\n // console.log(encryptedPayload);\n\n // return this.apiHttpService.post(\n // await this.apiEndpointsService.getNewAnalytics(payload),\n // encryptedPayload\n // );\n // }\n\n\n async getNewAnalytics(payload: any): Promise> {\n return this.apiHttpService.get(\n await this.apiEndpointsService.getNewAnalytics(payload)\n );\n }\n\n //getAnalytics\n async getAnalytics(payload: any): Promise> {\n return this.apiHttpService.get(\n await this.apiEndpointsService.getAnalytics(payload)\n );\n }\n\n // getNetworksData(formData: any): Observable {\n // return this.apiHttpService.get(\n // this.apiEndpointsService.getNetworksData(formData)\n // );\n // }\n\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NavbarService } from '../services/navbar.service';\n@Component({\n selector: 'app-delete-account',\n templateUrl: './delete-account.component.html',\n styleUrls: ['./delete-account.component.scss']\n})\nexport class DeleteAccountComponent implements OnInit {\n\n enquiryForm = new FormGroup({\n sendTo: new FormControl(''),\n name: new FormControl(''),\n email: new FormControl('', [Validators.required, Validators.email]),\n subject: new FormControl(''),\n description: new FormControl('', Validators.required),\n regarding: new FormControl('', Validators.required),\n to_id: new FormControl(''),\n phone: new FormControl('', [\n Validators.required,\n Validators.pattern('^((\\\\+91-?)|0)?[0-9]{10}$'),\n ]),\n });\n enquiriesList: any = ['Delete Account','Deativate Account'];\n alert: string = '';\n isUpdate : boolean = false;\n\n constructor(public nav: NavbarService,\n private _snackBar: MatSnackBar,\n private spinner: NgxSpinnerService,\n public dialog: MatDialog,\n ) { }\n\n\n ngOnInit(): void {\n\n this.nav.navbarHide();\n this.nav.footerShow();\n this.nav.setfooterNotFixed();\n \n }\n // ngDestroy() {\n // this.subscription.unsubscribe();\n // }\n\n async onSubmit() { \n this.isUpdate = false;\n if (this.enquiryForm.invalid) {\n this.isUpdate = true\n this.alert = \"Please fill in all required fields.\";\n this.openSnackBar('Please fill in all required fields.', 'Close');\n return;\n }\n \n // Calling save api on clicking of SUBMIT button\n this.spinner.show();\n let formData = this.enquiryForm.value;\n console.log(formData);\n // alert('Account Deletion is Completed');\n // Simulate a delay of 2 seconds\n setTimeout(() => {\n this.spinner.hide();\n // Add your form submission logic here\n this.isUpdate = true;\n this.alert = \"We have received your request and we will process within 7 days\";\n this.enquiryForm.reset(); // Clear all fields after submission\n this.openSnackBar('We have received your request and we will process it within 7 days', 'Close');\n }, 2000);\n }\n\n openSnackBar(message: string, action: string): void { //To show the alert messages when api fails/gets success\n this._snackBar.open(message, action, { duration: 3000 });\n }\n\n}\n","
\n

Nushift Connect - Delete Account

\n\n \n \n
\n
\n \n \n Full Name * \n\n \n \n
\n\n
\n \n \n Phone Number * \n\n \n \n
\n\n
\n \n \n Email * \n\n \n \n
\n\n \n\n
\n \n \n Choose any of the following action type * \n\n \n \n {{enq}}\n \n \n \n
\n\n
\n \n \n Description * \n\n \n \n
\n
\n
\n\n

{{alert}}

\n\n \n \n \n \n\n
\n
\n
\n\n Loading... \n\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { ApiHttpService } from 'src/app/services/api-http.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GroupsService {\n shareGroupDetails = new BehaviorSubject('');\n group_details = this.shareGroupDetails.asObservable();\n\n constructor(\n private apiEndpointsService: ApiEndpointsService,\n private apiHttpService: ApiHttpService\n ) { }\n\n async getMyGroups(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(this.apiEndpointsService.getMyGroups(formData));\n }\n\n //Save Job\n \n\n async getGroupDetails(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(\n this.apiEndpointsService.getGroupDetails(formData)\n );\n }\n\n async groupDetails(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\nMIIJKAIBAAKCAgEAwmI8Cz6XTnVTje6sRBrFMactcjRq4scYQ9lF8kikFgZPfX2Itpf+89yl1J0TmMIO6P2yqD5RHysm2+0TmpiTYel54gU18CcQNmu9lWgF7O9RCNINms/EQEIxqRx3SE6tghWA8BxvADl53TgXjQr3WIG9VHiE/06ebLvoX7uYZyx6Y71bHU6By/EaA8hUI9uq22vZVzMPD0FKXEP+mlt5d7+tDIydDF9Qcf+glmaT4SBrHPDR6yB8di9MY+uoA+ON98O68/GcyK9en98FW3wCIHj2Ql07oHLcqlb4pgoVRL5C2//eh7wHv7yPSPbTiaaQ5H3ygFWAMJoU7iLZjxR+GN/2dhHWqgX1arDm5NTgYfYVpw4yUERZl3iMfQE/JthrBj3vHu2FqI/SmRJKNlz/yhUerHPlSdiJJl/xYZKrajkn1plvGMybeEzoLCyfJ4rvKg9FW2rA2GHBGYHvkZrc2ow8CvQ7VjAFm05AWfYe/2UgmCCwEbanXFGAz34lpbQYvfvu0i1KtxxGTAoIHT/32AOCSC8UXdACKfXFQsK29h4l2O9Y+e9DdmQeACDyH4gqO6xKayUdXLq0fed1xFreHHQi0XknzkQErxckygCIjNdUY+JLosCZY/0NT2oV0wbqFDO8Rc49AKzsNJF2lwM8Iz2x9H3nuRtRIZl8EqPH2dsCAwEAAQKCAgAJefaJaczAk3G2WqtlSpTQfeD2T13inmgtbps9W5M8S6R2brdKh5BzXQ9slRfOe690ZmHeV+NmjJkBYcZx4/xTaql5fl2Jzq24qXn9naukSGp/7pWhNX3Q0ClRoESkbsmArQGzMv+qWCL7yO9E/gLe+rw7MQDy3WdVz7dda2zbosx4rlOR0zD6u09UXeDUOrJSrihTWvbh/IHei6YO6mS6lMqf8P77Cm6GkDrI+kk9UXJHX+or91J6BIZJ3MQ9JEvYh19G40GMexg23Q2KzznfUWZYB+mPQepGF6VZmuY8irYBubCkl2MdUtj9aqMXc9peeVFoNkLgm7JnhaVrl0kqYYSZePA7QrwIMvG2ixH9yImX418IsmOLQC71/G/h1e1nlOVfsK+WoNPvsqobzg3qtm875slMl/B4+dKm6WkJZLzyCOay5Bgr5AbpZjYqdTXegLWOihhRlXDohaPCqrhRs2dmuLjXUu/KgiP2md1hd51ouVeQNHfFZPOLax3XWS26fKZly+CNDx4vPKwFJNM7SJJjpvh7KPB1pA9VSr858fPv+PngltwED5nCsmgKuxhDv9YIyGUirD5KrXSilHhavJnBPAIr0ZPYJYkrik25thzLmaDUBCbpEI4E6g4lJRwTslqSa2iJzl9hUyTqwkCzz1mti6fu7kbiNHMPPlZT0QKCAQEA57m5pREzwAD8XBVKtrOfhgb2PUgu3MaP3O8fGpqk6pcKlCvM3qTROtGRBG5Q1qaMWuH5dF1sGwC2/V1WnuSKbK0c7oe89a0WsFndY082Nz3eJDN62mpPIvqMQrlANhlGCZELIeO8aWK6D/sl+MEVKK4d1hjc7CqaPxBQ5UftpYbOYr+ozKqAFTfLTSZV60w/fw55Y036NFpS5bIOY8Apg1++fWC4IvQqfUsGmJWZvn0LI6ELk9knsVK7YWdunZIgU6NtKSDYP5AmqoLirBW7I7nPxVzf1cMAdtEZ5NdQHnrVH2z76MWaa4cykhTjvON2A+I5PfaPRvjMr5XNZnS2+QKCAQEA1r8ZukawIFpGgtFSlVu5gF9sO1O64/1N+slXigdHsXl7HkTBgepuVa4PTCG6Z4XPNOm+Ikn6pX12+SnRatjWhbOh4fiaMYw6p6EF3NFKjmXr9khXqGMPtuyIt0wWYgp1CxztYgqtQ59RlZGpyZuBMT1T2ele7y/E0Yr8gD8xr3SOiVQkyc1pIeELICLvZ97JfVjyqcqLjourbt1+FGf171C50jZPCjKyu6akRB2dA131UDDQv/xo2OiycFEoD0UoXBJGSN0RwseQkRBj4vhOeDDBlxbaPEAi/H5GVz9gbwbwXKQozmTLD2GqswDBrwh3YKIRhJIrA7bCvRacTcjocwKCAQBW4peOIfYSbwwwhrc96/nLaj7X2YHgu/7jKzGxavydDUclKYsmjAv7jupeC/L5mPcVeJdtHz5SnaD/PQkmiLCycPJhKbobL+xK8VcGToQYkHUDg93zmVrU1bbTqdw+rJlLKvxOl7JknWUAav3g2JzTZP3A8g+b6ZluPfLnFWIw52vpMM3c960Qx5vN8KrUkAFa5ZV0O5+uE5PzliC5HCs0nCizoBlK2dw4oHH3slg0SXRsxoytwgWVAl1J91tNb6X5VlSu0CblJmqpEmxlc7x4d8pEyT8QSo6Y/mxEFstuskXJA7csnzL4UHgQuA5wG6V7bU5jQliUluNAjt22JdsZAoIBAQCSRCtj4w3Hm3V3WNek/4rD0zrG1ervqvJYJJdJXlgIm7OuFCqxMFniZeHpeveZ11wgsCxe8oCUA3brkv4ehn7nJkjWvxtXMCorTtPNaYgcoXMslm2ONZrYfxdHsb11HaZG4XcWVitZacSJ2WMJ/K7sONdKD1goFiM6ji4Zs/FFjmAfTX6ZLR20g7GuO91QpEAc7l6qI1kWyC8GHjrn7z9lt1g5w9/mFE4E3iX4dysgxfh2nCky+tr3EtenBMACVpp8y72vl1OnlYH0LHO8fmAEIUFahagzbYPm8qM6feJS/SjuEKnymlhsq5s2vQcvDtcwrHK+F0jRCMRvQl1H5dXdAoIBAFD+AObRBnwLvcNUnAs7i8WStiGoy9+cKfEo9vof8Y63X5wz5XeOUvu6i80r7crk+vMrxfs9mg9VuXwSqY7+pA9mtqKXh5D7xyKl+BnNMdLZpLzSY+Rr30+jcPKI4mhIQmprgj7/sgO4/gM5lct10NjuPKdiGDFFnXL+P6PKvBcRpu1F6h4M2UL3/ULTAfQLKqm6JMsk6OCQqSLVdQph5cRJ0IN/a/mUCQMkTa1aYkFW334Pi+ov5pl6ttODOLCn5n0c0QUlJXcVqAQ+dH76WNBlHGcUM4+PAjp4h5777xJR+la2PIE8ZN5aln3Ncu/MUv3RrkdUkabM4TBZMdgJicc=\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(\n this.apiEndpointsService.groupDetails(formData)\n );\n }\n\n async getAboutGroup(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(\n this.apiEndpointsService.getAboutGroup(formData)\n );\n }\n\n async getInviteConnections(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(\n this.apiEndpointsService.getInviteConnections(formData)\n );\n }\n\n async sendMultipleInvite(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(\n this.apiEndpointsService.sendMultipleInvite(),\n formData\n );\n }\n\n async changeStateOfMember(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(\n this.apiEndpointsService.changeStateOfMember(),\n formData\n );\n }\n\n async postGroupFeedActivity(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(\n this.apiEndpointsService.postGroupFeedActivity(),\n formData\n );\n }\n\n async deleteFeedActivity(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\nMIIJKAIBAAKCAgEAwmI8Cz6XTnVTje6sRBrFMactcjRq4scYQ9lF8kikFgZPfX2Itpf+89yl1J0TmMIO6P2yqD5RHysm2+0TmpiTYel54gU18CcQNmu9lWgF7O9RCNINms/EQEIxqRx3SE6tghWA8BxvADl53TgXjQr3WIG9VHiE/06ebLvoX7uYZyx6Y71bHU6By/EaA8hUI9uq22vZVzMPD0FKXEP+mlt5d7+tDIydDF9Qcf+glmaT4SBrHPDR6yB8di9MY+uoA+ON98O68/GcyK9en98FW3wCIHj2Ql07oHLcqlb4pgoVRL5C2//eh7wHv7yPSPbTiaaQ5H3ygFWAMJoU7iLZjxR+GN/2dhHWqgX1arDm5NTgYfYVpw4yUERZl3iMfQE/JthrBj3vHu2FqI/SmRJKNlz/yhUerHPlSdiJJl/xYZKrajkn1plvGMybeEzoLCyfJ4rvKg9FW2rA2GHBGYHvkZrc2ow8CvQ7VjAFm05AWfYe/2UgmCCwEbanXFGAz34lpbQYvfvu0i1KtxxGTAoIHT/32AOCSC8UXdACKfXFQsK29h4l2O9Y+e9DdmQeACDyH4gqO6xKayUdXLq0fed1xFreHHQi0XknzkQErxckygCIjNdUY+JLosCZY/0NT2oV0wbqFDO8Rc49AKzsNJF2lwM8Iz2x9H3nuRtRIZl8EqPH2dsCAwEAAQKCAgAJefaJaczAk3G2WqtlSpTQfeD2T13inmgtbps9W5M8S6R2brdKh5BzXQ9slRfOe690ZmHeV+NmjJkBYcZx4/xTaql5fl2Jzq24qXn9naukSGp/7pWhNX3Q0ClRoESkbsmArQGzMv+qWCL7yO9E/gLe+rw7MQDy3WdVz7dda2zbosx4rlOR0zD6u09UXeDUOrJSrihTWvbh/IHei6YO6mS6lMqf8P77Cm6GkDrI+kk9UXJHX+or91J6BIZJ3MQ9JEvYh19G40GMexg23Q2KzznfUWZYB+mPQepGF6VZmuY8irYBubCkl2MdUtj9aqMXc9peeVFoNkLgm7JnhaVrl0kqYYSZePA7QrwIMvG2ixH9yImX418IsmOLQC71/G/h1e1nlOVfsK+WoNPvsqobzg3qtm875slMl/B4+dKm6WkJZLzyCOay5Bgr5AbpZjYqdTXegLWOihhRlXDohaPCqrhRs2dmuLjXUu/KgiP2md1hd51ouVeQNHfFZPOLax3XWS26fKZly+CNDx4vPKwFJNM7SJJjpvh7KPB1pA9VSr858fPv+PngltwED5nCsmgKuxhDv9YIyGUirD5KrXSilHhavJnBPAIr0ZPYJYkrik25thzLmaDUBCbpEI4E6g4lJRwTslqSa2iJzl9hUyTqwkCzz1mti6fu7kbiNHMPPlZT0QKCAQEA57m5pREzwAD8XBVKtrOfhgb2PUgu3MaP3O8fGpqk6pcKlCvM3qTROtGRBG5Q1qaMWuH5dF1sGwC2/V1WnuSKbK0c7oe89a0WsFndY082Nz3eJDN62mpPIvqMQrlANhlGCZELIeO8aWK6D/sl+MEVKK4d1hjc7CqaPxBQ5UftpYbOYr+ozKqAFTfLTSZV60w/fw55Y036NFpS5bIOY8Apg1++fWC4IvQqfUsGmJWZvn0LI6ELk9knsVK7YWdunZIgU6NtKSDYP5AmqoLirBW7I7nPxVzf1cMAdtEZ5NdQHnrVH2z76MWaa4cykhTjvON2A+I5PfaPRvjMr5XNZnS2+QKCAQEA1r8ZukawIFpGgtFSlVu5gF9sO1O64/1N+slXigdHsXl7HkTBgepuVa4PTCG6Z4XPNOm+Ikn6pX12+SnRatjWhbOh4fiaMYw6p6EF3NFKjmXr9khXqGMPtuyIt0wWYgp1CxztYgqtQ59RlZGpyZuBMT1T2ele7y/E0Yr8gD8xr3SOiVQkyc1pIeELICLvZ97JfVjyqcqLjourbt1+FGf171C50jZPCjKyu6akRB2dA131UDDQv/xo2OiycFEoD0UoXBJGSN0RwseQkRBj4vhOeDDBlxbaPEAi/H5GVz9gbwbwXKQozmTLD2GqswDBrwh3YKIRhJIrA7bCvRacTcjocwKCAQBW4peOIfYSbwwwhrc96/nLaj7X2YHgu/7jKzGxavydDUclKYsmjAv7jupeC/L5mPcVeJdtHz5SnaD/PQkmiLCycPJhKbobL+xK8VcGToQYkHUDg93zmVrU1bbTqdw+rJlLKvxOl7JknWUAav3g2JzTZP3A8g+b6ZluPfLnFWIw52vpMM3c960Qx5vN8KrUkAFa5ZV0O5+uE5PzliC5HCs0nCizoBlK2dw4oHH3slg0SXRsxoytwgWVAl1J91tNb6X5VlSu0CblJmqpEmxlc7x4d8pEyT8QSo6Y/mxEFstuskXJA7csnzL4UHgQuA5wG6V7bU5jQliUluNAjt22JdsZAoIBAQCSRCtj4w3Hm3V3WNek/4rD0zrG1ervqvJYJJdJXlgIm7OuFCqxMFniZeHpeveZ11wgsCxe8oCUA3brkv4ehn7nJkjWvxtXMCorTtPNaYgcoXMslm2ONZrYfxdHsb11HaZG4XcWVitZacSJ2WMJ/K7sONdKD1goFiM6ji4Zs/FFjmAfTX6ZLR20g7GuO91QpEAc7l6qI1kWyC8GHjrn7z9lt1g5w9/mFE4E3iX4dysgxfh2nCky+tr3EtenBMACVpp8y72vl1OnlYH0LHO8fmAEIUFahagzbYPm8qM6feJS/SjuEKnymlhsq5s2vQcvDtcwrHK+F0jRCMRvQl1H5dXdAoIBAFD+AObRBnwLvcNUnAs7i8WStiGoy9+cKfEo9vof8Y63X5wz5XeOUvu6i80r7crk+vMrxfs9mg9VuXwSqY7+pA9mtqKXh5D7xyKl+BnNMdLZpLzSY+Rr30+jcPKI4mhIQmprgj7/sgO4/gM5lct10NjuPKdiGDFFnXL+P6PKvBcRpu1F6h4M2UL3/ULTAfQLKqm6JMsk6OCQqSLVdQph5cRJ0IN/a/mUCQMkTa1aYkFW334Pi+ov5pl6ttODOLCn5n0c0QUlJXcVqAQ+dH76WNBlHGcUM4+PAjp4h5777xJR+la2PIE8ZN5aln3Ncu/MUv3RrkdUkabM4TBZMdgJicc=\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(\n this.apiEndpointsService.deleteFeedActivity(),\n formData\n );\n }\n\n async blockMember(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(\n this.apiEndpointsService.blockMember(),\n formData\n );\n }\n\n async deleteGroup(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.delete(\n this.apiEndpointsService.deleteGroup(),\n formData\n );\n }\n\n async reportGroup(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(\n this.apiEndpointsService.reportGroup(),\n formData\n );\n }\n\n async requestGroup(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(\n this.apiEndpointsService.requestGroup(),\n formData\n );\n }\n\n async getReportList(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(this.apiEndpointsService.getReportList());\n }\n\n async acceptRejectFeed(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(\n this.apiEndpointsService.acceptRejectFeed(),\n formData\n );\n }\n\n async createGroup(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(\n this.apiEndpointsService.createGroup(),\n formData\n );\n }\n\n async getGroupIndustries(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(\n this.apiEndpointsService.getGroupIndustries(formData)\n );\n }\n\n async getGroupFeed(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(\n this.apiEndpointsService.getGroupFeed(formData)\n );\n }\n\n async getMemberList(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(\n this.apiEndpointsService.getMemberList(formData)\n );\n }\n\n async getGroups(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(\n this.apiEndpointsService.getGroups(formData)\n );\n }\n\n async getBusinessPageTypes(formData: any): Promise {\n return this.apiHttpService.get(await this.apiEndpointsService.getBusinessPageTypes(formData));\n }\n\n}\n","import { Injectable } from '@angular/core';\r\nimport { Observable, BehaviorSubject, Subject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ActivationEnd, Router } from '@angular/router';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { IprofileDetails } from '../models/profile-details';\r\nimport { User } from '../models/user.model';\r\nimport { ApiEndpointsService } from './api-endpoint.service';\r\nimport { ApiHttpService } from './api-http.service';\r\nimport { LoginResponse } from '../models/login.model';\r\nimport { LandingScreenComponent } from '../components/landing-screen/landing-screen.component';\r\nimport { HomeComponent } from '../modules/home/home.component';\r\nimport { MainDashboardComponent } from '../modules/dashboard/main-dashboard/main-dashboard.component';\r\nimport { SubscriptionsComponent } from '../modules/subscriptions/components/subscriptions/subscriptions.component';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService {\r\n public userSubject: any;\r\n public user: Observable;\r\n userProfilePic = new Subject();\r\n isLoggedIn = new BehaviorSubject('');\r\n \r\n loggedIn = this.isLoggedIn.asObservable();\r\n updatedUserProfilePic = this.userProfilePic.asObservable();\r\n updateData = new Subject();\r\n updatedData = this.updateData.asObservable();\r\n private _userProfile: Observable;\r\n public isSpecialComponentActive: boolean = false;\r\n constructor(\r\n private router: Router,\r\n private apiHttpService: ApiHttpService,\r\n private apiEndpointsService: ApiEndpointsService\r\n ) {\r\n // let decryptedUserDetails;\r\n // if (localStorage.getItem('user') && localStorage.getItem('user') !== 'undefined') {\r\n // decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\r\n // if (decryptedUserDetails && decryptedUserDetails['uid']) {\r\n // this.userSubject = new BehaviorSubject(decryptedUserDetails);\r\n // this.user = this.userSubject.asObservable();\r\n // this.setUserValue(decryptedUserDetails);\r\n // } else {\r\n // this.router.navigate(['/'])\r\n // }\r\n // } else {\r\n // this.router.navigate(['/'])\r\n // }\r\n }\r\n\r\n public get userValue(): any {\r\n if (this.userSubject) return this.userSubject.value;\r\n }\r\n\r\n public get userProfile(): Observable {\r\n return this._userProfile;\r\n }\r\n\r\n public set userProfile(profileDetails: Observable) {\r\n this._userProfile = profileDetails;\r\n }\r\n\r\n setUserValue(user: User) {\r\n this.userSubject.next(user);\r\n }\r\n\r\n public routerChanges() {\r\n this.router.events.subscribe(event => {\r\n if (event instanceof ActivationEnd) {\r\n if(event.snapshot.component === LandingScreenComponent || event.snapshot.component === MainDashboardComponent || event.snapshot.component === SubscriptionsComponent) {\r\n this.isSpecialComponentActive = true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n public doctorRegistration(formData: any): Observable {\r\n return this.apiHttpService\r\n .post(this.apiEndpointsService.doctorsRegistration(), formData)\r\n .pipe(\r\n map((res: any) => {\r\n if (!res.status) window.alert(res.message);\r\n else {\r\n this.setLocalStorage(res.content[0]);\r\n return res;\r\n }\r\n })\r\n );\r\n }\r\n\r\n public setLocalStorage(user: User) {\r\n let decryptedUserDetails: any;\r\n user['td'] = CryptoJS.AES.decrypt(localStorage.getItem('kf'), 'ae65f515-b859-4c7f-887c-328a3c14ab7f').toString(CryptoJS.enc.Utf8);\r\n let encodedUserString = encodeURIComponent(JSON.stringify(user));\r\n localStorage.setItem('user', encodedUserString);\r\n console.log(localStorage.getItem('user'));\r\n decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\r\n this.userSubject = new BehaviorSubject(decryptedUserDetails);\r\n this.user = this.userSubject.asObservable();\r\n this.userSubject.next(user);\r\n }\r\n\r\n public verifyOtp(params: any): Observable {\r\n return this.apiHttpService.post(\r\n this.apiEndpointsService.validateOtp(),\r\n params\r\n );\r\n }\r\n\r\n async verifyOtpV2(params: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(params);\r\n this.apiEndpointsService.signToken(decodeURIComponent(localStorage.getItem('privateKey')), params.uid ?? 'nushift_connect', params);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log(\"verified otp payload encrypted:- \")\r\n console.log(encryptedPayload);\r\n return (await this.apiHttpService.post(this.apiEndpointsService.validateOtpV2(), encryptedPayload)\r\n .pipe(\r\n map((res: any) => {\r\n return res;\r\n })\r\n ))\r\n }\r\n\r\n async getUserRoles(queryParams: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(queryParams);\r\n return this.apiHttpService.get(await this.apiEndpointsService.roles(queryParams))\r\n .pipe(map((res: any) => {\r\n if (res.status) return res;\r\n else return null;\r\n }));\r\n }\r\n\r\n async getBannerImages(): Promise> {\r\n return this.apiHttpService.get(await this.apiEndpointsService.getBannerImages()).pipe(\r\n map((res: any) => {\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n \r\n\r\n async OtpLogin(params: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(params);\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log(\"Login payload encrypted:- \")\r\n console.log(encryptedPayload);\r\n return (await this.apiHttpService.post( this.apiEndpointsService.OtpLogin(), encryptedPayload)\r\n .pipe(\r\n map((res: any) => {\r\n return res;\r\n })\r\n ))\r\n }\r\n\r\n async doctorSpecializations(queryParameters: any): Promise {\r\n return this.apiHttpService\r\n .get(await this.apiEndpointsService.specilizations(queryParameters))\r\n .pipe(\r\n map((res: any) => {\r\n return res;\r\n })\r\n );\r\n }\r\n \r\n getAllDoctors(): Observable {\r\n return this.apiHttpService\r\n .get(this.apiEndpointsService.doctors())\r\n .pipe(\r\n map((res: any) => {\r\n if (res.status) return res;\r\n else window.alert(res.message);\r\n })\r\n );\r\n }\r\n\r\n async getUserProfile(queryParams: any) {\r\n this.apiHttpService.get(await this.apiEndpointsService.userProfile(queryParams)).pipe(\r\n map((res: any) => {\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n public login(params: any): Observable {\r\n localStorage.removeItem('user');\r\n return this.apiHttpService\r\n .post(this.apiEndpointsService.login(), params)\r\n .pipe(\r\n map((res: any) => {\r\n if (res.status) {\r\n this.setLocalStorage(res.content);\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n public loginv2(params: any): Observable {\r\n localStorage.removeItem('user');\r\n return this.apiHttpService\r\n .post(this.apiEndpointsService.loginv2(), params)\r\n .pipe(\r\n map((res: any) => {\r\n if (res.status) {\r\n this.setLocalStorage(res.content);\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n async loginv3(params: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(params);\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), params.uid ?? 'nushift_connect', params);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log(\"login payload encrypted:- \")\r\n console.log(encryptedPayload);\r\n localStorage.removeItem('user');\r\n return (await this.apiHttpService\r\n .post( this.apiEndpointsService.loginv3(), encryptedPayload)\r\n .pipe(\r\n map((res: any) => {\r\n if (res.status) {\r\n this.setLocalStorage(res);\r\n }\r\n return res;\r\n })\r\n ));\r\n }\r\n \r\n\r\n async getAlias(params: any): Promise> {\r\n return this.apiHttpService.get(await this.apiEndpointsService.getAlias(params)).pipe(\r\n map((res: any) => {\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n async getInvited(formData: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(formData);\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), formData.uid ?? 'nushift_connect', formData);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log(\"getInvited api payload encrypted:- \")\r\n console.log(encryptedPayload);\r\n return this.apiHttpService.post(\r\n this.apiEndpointsService.getInvited(),\r\n encryptedPayload\r\n );\r\n }\r\n\r\n async logout(formData: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(formData);\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), formData.uid ?? 'nushift_connect', formData);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log('logout api payload encrypted:- ',encryptedPayload);\r\n return this.apiHttpService.post(\r\n this.apiEndpointsService.logout(),\r\n encryptedPayload\r\n );\r\n }\r\n\r\n async checkLoggedInUsers(formData: any): Promise> {\r\n return this.apiHttpService.get(\r\n await this.apiEndpointsService.checkLoggedInUsers(formData)\r\n );\r\n }\r\n\r\n async getAliasPermissions(formData: any): Promise> {\r\n return this.apiHttpService.get(await this.apiEndpointsService.getAliasPermissions(formData));\r\n }\r\n \r\n public isLogedIn(userId: string): boolean {\r\n return userId == this.userValue.uid;\r\n }\r\n\r\n async forgotPasswordOTP(formData: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(formData);\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), formData.uid ?? 'nushift_connect', formData);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log(\"forgot password payload encrypted:- \")\r\n console.log(encryptedPayload);\r\n return this.apiHttpService.post(\r\n this.apiEndpointsService.forgotPasswordOTP(),\r\n encryptedPayload\r\n );\r\n }\r\n\r\n async updatePassword(passwordForm: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(passwordForm);\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), passwordForm.uid ?? 'nushift_connect', passwordForm);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log(\"Update password payload encrypted:- \")\r\n console.log(encryptedPayload);\r\n return this.apiHttpService.post(\r\n this.apiEndpointsService.updatePassword(),\r\n encryptedPayload\r\n );\r\n }\r\n\r\n // new APIS\r\n\r\n async mobileInviteCheck(formData: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(formData);\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), formData.uid ?? 'nushift_connect', formData);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log(\"registration payload encrypted:- \")\r\n console.log(encryptedPayload);\r\n return (await this.apiHttpService.post(\r\n this.apiEndpointsService.mobileInviteCheck(),\r\n encryptedPayload\r\n ));\r\n }\r\n\r\n public resendOTP(formData: any): Observable {\r\n // const formData = { mobile: mobileNumber, mobileCode: otp }\r\n return this.apiHttpService.post(\r\n this.apiEndpointsService.resendOTP(),\r\n formData\r\n );\r\n }\r\n\r\n async validateOTPV2(formData: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(formData); \r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), formData.uid ?? 'nushift_connect', formData);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log(\"verify otp registered payload encrypted:- \")\r\n console.log(encryptedPayload);\r\n return (await this.apiHttpService.post(\r\n this.apiEndpointsService.validateOtpV2(),\r\n encryptedPayload\r\n ));\r\n }\r\n\r\n public registerV2(formData: any): Observable {\r\n return this.apiHttpService\r\n .post(this.apiEndpointsService.doctorsRegistrationV2(), formData)\r\n .pipe(\r\n map((res: any) => {\r\n if (res.status && res.content != null && res.content.length > 0) {\r\n this.setLocalStorage(res.content[0]);\r\n }\r\n return res;\r\n })\r\n );\r\n }\r\n\r\n async registerV3(formData: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(formData);\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), formData.uid ?? 'nushift_connect', formData);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log(\"Registration form details payload encrypted:- \",encryptedPayload)\r\n return (await this.apiHttpService\r\n .post( this.apiEndpointsService.doctorsRegistrationV2(), encryptedPayload)\r\n .pipe(\r\n map((res: any) => {\r\n console.log('response',res);\r\n // if (res.status && res.data != null) {\r\n // this.setLocalStorage(res.data);\r\n // }\r\n return res;\r\n })\r\n ));\r\n }\r\n\r\n async createPassword(formData: any): Promise> {\r\n localStorage.setItem('aesToken', '')\r\n await this.apiEndpointsService.getAesToken(formData);\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), formData.uid ?? 'nushift_connect', formData);\r\n let encryptedPayload = {\r\n data: localStorage.getItem('aesToken')\r\n }\r\n console.log(\"Create Password payload encrypted:- \")\r\n console.log(encryptedPayload);\r\n return (await this.apiHttpService.post(\r\n this.apiEndpointsService.createPassword(),\r\n encryptedPayload\r\n ));\r\n }\r\n \r\n\r\n async connectionStatus(userId: string, fId: string): Promise> {\r\n let formData = {\r\n uid: userId,\r\n fid: fId\r\n }\r\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\r\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\r\n return this.apiHttpService.get(this.apiEndpointsService.connectionStatus(userId, fId))\r\n .pipe(map((res: any) => {\r\n return res;\r\n }));\r\n }\r\n\r\n async removeConnection(formData: any): Promise> {\r\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\r\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\r\n return this.apiHttpService.post(this.apiEndpointsService.removeConnection(), formData);\r\n }\r\n\r\n async sendRequest(formData: any): Promise> {\r\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\r\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\r\n return this.apiHttpService.post(this.apiEndpointsService.sendRequest(), formData);\r\n }\r\n\r\n async getAllNetworks(queryParameters: any): Promise> {\r\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\r\n await this.apiEndpointsService.signToken(key, queryParameters.uid ?? 'nushift_connect', queryParameters);\r\n return this.apiHttpService.get(this.apiEndpointsService.getAllNetworks(queryParameters));\r\n }\r\n\r\n getNetworkList(userId: string): Observable {\r\n return this.apiHttpService.post(this.apiEndpointsService.networkList(), { uid: userId })\r\n .pipe(map((res: any) => {\r\n if (res.status) return res.data;\r\n else return null;\r\n }));\r\n }\r\n \r\n async getExploreList(queryParameters): Promise> {\r\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\r\n await this.apiEndpointsService.signToken(key, queryParameters.uid ?? 'nushift_connect', queryParameters);\r\n return this.apiHttpService.get(this.apiEndpointsService.exploreList(queryParameters))\r\n .pipe(map((res: any) => {\r\n if (res.status) return res.data;\r\n else return null;\r\n }));\r\n }\r\n \r\n // async getRecentProfileViews(formData): Promise> {\r\n // let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\r\n // this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\r\n // return this.apiHttpService.get(await this.apiEndpointsService.getRecentProfileViews(formData))\r\n // .pipe(map((res: any) => {\r\n // return res;\r\n // }));\r\n // }\r\n \r\n getfollowingAndFollowersList(userId: string, connectionType: string, userType: string): Observable {\r\n return this.apiHttpService.get(this.apiEndpointsService.followingAndFollowersList(userId, connectionType, userType))\r\n .pipe(map((res: any) => {\r\n if (res.status) return res.data;\r\n else return null;\r\n }));\r\n }\r\n async acceptRejectRequest(formData: any): Promise> {\r\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\r\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\r\n return this.apiHttpService.post(this.apiEndpointsService.acceptRejectRequest(), formData)\r\n .pipe(map(res => { if (res.status) return res }));\r\n }\r\n async withDrawRequest(formData: any): Promise> {\r\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\r\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\r\n return this.apiHttpService.post(this.apiEndpointsService.withDrawRequest(), formData)\r\n .pipe(map(res => { if (res.status) return res }));\r\n }\r\n \r\n // Follow an user\r\n async followUser(payload: any): Promise> {\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), payload.uid, payload);\r\n return this.apiHttpService.post(\r\n await this.apiEndpointsService.followUser(),\r\n payload\r\n );\r\n }\r\n\r\n // Unfollow User\r\n async unFollowUser(payload: any): Promise> {\r\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), payload.uid, payload);\r\n return this.apiHttpService.post(await this.apiEndpointsService.unFollowUser(),\r\n payload\r\n );\r\n }\r\n\r\n// Notifications List \r\n\r\nclearNotification(params: any): Observable {\r\n return this.apiHttpService.post(\r\n this.apiEndpointsService.clearNotification(),\r\n params\r\n );\r\n}\r\n\r\ngetNotificationList(queryParams: any): Observable {\r\n return this.apiHttpService.get(\r\n this.apiEndpointsService.getNotificationList(queryParams)\r\n );\r\n}\r\n\r\n\r\n\r\n public getDeviceType(): string {\r\n const ua = navigator.userAgent;\r\n if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) {\r\n return 'tablet';\r\n } else if (\r\n /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(\r\n ua\r\n )\r\n ) {\r\n return 'mobile';\r\n }\r\n return 'desktop';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NavbarService {\n footerFixed: boolean = false;\n footerVisible: boolean = false;\n navbarVisible: boolean = false;\n\n constructor() {\n this.navbarVisible = false;\n this.footerVisible = false;\n this.footerFixed = false;\n }\n\n navbarHide() {\n this.navbarVisible = false;\n }\n\n navbarShow() {\n this.navbarVisible = true;\n }\n\n navbarToggle() {\n this.navbarVisible = !this.navbarVisible;\n }\n\n footerHide() {\n this.footerVisible = false;\n }\n\n footerShow() {\n this.footerVisible = true;\n }\n\n footerToggle() {\n this.footerVisible = !this.footerVisible;\n }\n\n setfooterFixed() {\n this.footerFixed = true;\n }\n setfooterNotFixed() {\n this.footerFixed = false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UrlBuilder } from '../_helpers/classes/url-builder';\nimport { QueryStringParameters } from '../_helpers/classes/query-string-parameters';\nimport { Constants } from 'src/app/config/constants';\nimport pbkdf2Hmac from 'pbkdf2-hmac';\nimport * as CryptoJS from 'crypto-js';\nimport Fernet from 'fernet';\nimport { ApiHttpService } from './api-http.service';\nimport * as jwt from 'jsonwebtoken';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiEndpointsService {\n \"use strict\";\n crypto = require(\"crypto\");\n CryptoJS = require(\"crypto-js\");\n base64URL = require(\"base64url\");\n // fernet = require('./fernet');\n secret: any;\n aesToken: any;\n privateKey: any;\n constructor(private apiConstants: Constants, private httpService: ApiHttpService) {\n localStorage.setItem('salt', encodeURIComponent(\"3Uvq0zYOV3Y=\"));\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n let encodedPrivateKeyString = encodeURIComponent(key);\n localStorage.setItem('privateKey', encodedPrivateKeyString);\n // this.httpService.loadPEMFile().subscribe((data: any) => {\n // console.log(data);\n // this.privateKey = data;\n // });\n }\n\n makeid(length) {\n let result = [];\n let hexRef = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n for (let n = 0; n < length; n++) {\n result.push(hexRef[Math.floor(Math.random() * 16)]);\n }\n return result.join('');\n }\n\n async getAesToken(payload): Promise {\n var privateKEY = \"-----BEGIN RSA PRIVATE KEY-----\\nMIIJKAIBAAKCAgEAwmI8Cz6XTnVTje6sRBrFMactcjRq4scYQ9lF8kikFgZPfX2Itpf+89yl1J0TmMIO6P2yqD5RHysm2+0TmpiTYel54gU18CcQNmu9lWgF7O9RCNINms/EQEIxqRx3SE6tghWA8BxvADl53TgXjQr3WIG9VHiE/06ebLvoX7uYZyx6Y71bHU6By/EaA8hUI9uq22vZVzMPD0FKXEP+mlt5d7+tDIydDF9Qcf+glmaT4SBrHPDR6yB8di9MY+uoA+ON98O68/GcyK9en98FW3wCIHj2Ql07oHLcqlb4pgoVRL5C2//eh7wHv7yPSPbTiaaQ5H3ygFWAMJoU7iLZjxR+GN/2dhHWqgX1arDm5NTgYfYVpw4yUERZl3iMfQE/JthrBj3vHu2FqI/SmRJKNlz/yhUerHPlSdiJJl/xYZKrajkn1plvGMybeEzoLCyfJ4rvKg9FW2rA2GHBGYHvkZrc2ow8CvQ7VjAFm05AWfYe/2UgmCCwEbanXFGAz34lpbQYvfvu0i1KtxxGTAoIHT/32AOCSC8UXdACKfXFQsK29h4l2O9Y+e9DdmQeACDyH4gqO6xKayUdXLq0fed1xFreHHQi0XknzkQErxckygCIjNdUY+JLosCZY/0NT2oV0wbqFDO8Rc49AKzsNJF2lwM8Iz2x9H3nuRtRIZl8EqPH2dsCAwEAAQKCAgAJefaJaczAk3G2WqtlSpTQfeD2T13inmgtbps9W5M8S6R2brdKh5BzXQ9slRfOe690ZmHeV+NmjJkBYcZx4/xTaql5fl2Jzq24qXn9naukSGp/7pWhNX3Q0ClRoESkbsmArQGzMv+qWCL7yO9E/gLe+rw7MQDy3WdVz7dda2zbosx4rlOR0zD6u09UXeDUOrJSrihTWvbh/IHei6YO6mS6lMqf8P77Cm6GkDrI+kk9UXJHX+or91J6BIZJ3MQ9JEvYh19G40GMexg23Q2KzznfUWZYB+mPQepGF6VZmuY8irYBubCkl2MdUtj9aqMXc9peeVFoNkLgm7JnhaVrl0kqYYSZePA7QrwIMvG2ixH9yImX418IsmOLQC71/G/h1e1nlOVfsK+WoNPvsqobzg3qtm875slMl/B4+dKm6WkJZLzyCOay5Bgr5AbpZjYqdTXegLWOihhRlXDohaPCqrhRs2dmuLjXUu/KgiP2md1hd51ouVeQNHfFZPOLax3XWS26fKZly+CNDx4vPKwFJNM7SJJjpvh7KPB1pA9VSr858fPv+PngltwED5nCsmgKuxhDv9YIyGUirD5KrXSilHhavJnBPAIr0ZPYJYkrik25thzLmaDUBCbpEI4E6g4lJRwTslqSa2iJzl9hUyTqwkCzz1mti6fu7kbiNHMPPlZT0QKCAQEA57m5pREzwAD8XBVKtrOfhgb2PUgu3MaP3O8fGpqk6pcKlCvM3qTROtGRBG5Q1qaMWuH5dF1sGwC2/V1WnuSKbK0c7oe89a0WsFndY082Nz3eJDN62mpPIvqMQrlANhlGCZELIeO8aWK6D/sl+MEVKK4d1hjc7CqaPxBQ5UftpYbOYr+ozKqAFTfLTSZV60w/fw55Y036NFpS5bIOY8Apg1++fWC4IvQqfUsGmJWZvn0LI6ELk9knsVK7YWdunZIgU6NtKSDYP5AmqoLirBW7I7nPxVzf1cMAdtEZ5NdQHnrVH2z76MWaa4cykhTjvON2A+I5PfaPRvjMr5XNZnS2+QKCAQEA1r8ZukawIFpGgtFSlVu5gF9sO1O64/1N+slXigdHsXl7HkTBgepuVa4PTCG6Z4XPNOm+Ikn6pX12+SnRatjWhbOh4fiaMYw6p6EF3NFKjmXr9khXqGMPtuyIt0wWYgp1CxztYgqtQ59RlZGpyZuBMT1T2ele7y/E0Yr8gD8xr3SOiVQkyc1pIeELICLvZ97JfVjyqcqLjourbt1+FGf171C50jZPCjKyu6akRB2dA131UDDQv/xo2OiycFEoD0UoXBJGSN0RwseQkRBj4vhOeDDBlxbaPEAi/H5GVz9gbwbwXKQozmTLD2GqswDBrwh3YKIRhJIrA7bCvRacTcjocwKCAQBW4peOIfYSbwwwhrc96/nLaj7X2YHgu/7jKzGxavydDUclKYsmjAv7jupeC/L5mPcVeJdtHz5SnaD/PQkmiLCycPJhKbobL+xK8VcGToQYkHUDg93zmVrU1bbTqdw+rJlLKvxOl7JknWUAav3g2JzTZP3A8g+b6ZluPfLnFWIw52vpMM3c960Qx5vN8KrUkAFa5ZV0O5+uE5PzliC5HCs0nCizoBlK2dw4oHH3slg0SXRsxoytwgWVAl1J91tNb6X5VlSu0CblJmqpEmxlc7x4d8pEyT8QSo6Y/mxEFstuskXJA7csnzL4UHgQuA5wG6V7bU5jQliUluNAjt22JdsZAoIBAQCSRCtj4w3Hm3V3WNek/4rD0zrG1ervqvJYJJdJXlgIm7OuFCqxMFniZeHpeveZ11wgsCxe8oCUA3brkv4ehn7nJkjWvxtXMCorTtPNaYgcoXMslm2ONZrYfxdHsb11HaZG4XcWVitZacSJ2WMJ/K7sONdKD1goFiM6ji4Zs/FFjmAfTX6ZLR20g7GuO91QpEAc7l6qI1kWyC8GHjrn7z9lt1g5w9/mFE4E3iX4dysgxfh2nCky+tr3EtenBMACVpp8y72vl1OnlYH0LHO8fmAEIUFahagzbYPm8qM6feJS/SjuEKnymlhsq5s2vQcvDtcwrHK+F0jRCMRvQl1H5dXdAoIBAFD+AObRBnwLvcNUnAs7i8WStiGoy9+cKfEo9vof8Y63X5wz5XeOUvu6i80r7crk+vMrxfs9mg9VuXwSqY7+pA9mtqKXh5D7xyKl+BnNMdLZpLzSY+Rr30+jcPKI4mhIQmprgj7/sgO4/gM5lct10NjuPKdiGDFFnXL+P6PKvBcRpu1F6h4M2UL3/ULTAfQLKqm6JMsk6OCQqSLVdQph5cRJ0IN/a/mUCQMkTa1aYkFW334Pi+ov5pl6ttODOLCn5n0c0QUlJXcVqAQ+dH76WNBlHGcUM4+PAjp4h5777xJR+la2PIE8ZN5aln3Ncu/MUv3RrkdUkabM4TBZMdgJicc=\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n if (!localStorage.getItem('salt')) localStorage.setItem('salt', encodeURIComponent(\"3Uvq0zYOV3Y=\"));\n if (!localStorage.getItem('privateKey')) localStorage.setItem('privateKey', encodeURIComponent(privateKEY));\n const derivedKey = this.base64URL.encode(await pbkdf2Hmac(payload.uid ?? 'nushift_connect', decodeURIComponent(localStorage.getItem('salt')), 480000, 32));\n this.secret = new Fernet.Secret(derivedKey);\n localStorage.setItem('secretKey', JSON.stringify(this.secret));\n var token = new Fernet.Token({\n secret: this.secret,\n time: new Date(),\n iv: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]\n });\n var tok = token.encode(JSON.stringify(payload));\n this.aesToken = tok;\n // this.authService.userValue['aesToken'] = tok;\n localStorage.setItem('aesToken', tok.toString());\n console.log('aesToken:- ');\n console.log(localStorage.getItem('aesToken'));\n this.decodeAesToken(payload.uid ?? 'nushift_connect', tok);\n return tok;\n }\n\n async decodeAesToken(uid, token):Promise {\n // console.log(token);\n try {\n const derivedKey = this.base64URL.encode(await pbkdf2Hmac(uid.toString(), decodeURIComponent(localStorage.getItem('salt')), 480000, 32));\n this.secret = new Fernet.Secret(derivedKey);\n console.log(this.secret);\n console.log(token);\n var decodedToken = new Fernet.Token({\n secret: this.secret,\n token: token,\n ttl: 0\n });\n console.log(decodedToken.decode());\n return decodedToken.decode();\n } catch(err) {\n console.log(err);\n }\n }\n decryptUsingAES256() {\n const derivedKey = decodeURIComponent(localStorage.getItem('salt'));\n let _key = CryptoJS.enc.Utf8.parse(derivedKey);\n let _iv = CryptoJS.enc.Utf8.parse(derivedKey);\n\n var decrypted = CryptoJS.AES.decrypt(\n this.aesToken, _key, {\n keySize: 16,\n iv: _iv,\n mode: CryptoJS.mode.ECB,\n padding: CryptoJS.pad.Pkcs7\n }).toString(CryptoJS.enc.Utf8);\n console.log(decrypted);\n }\n\n base64url(source: any) {\n let encodedSource = this.CryptoJS.enc.Base64.stringify(source);\n\n encodedSource = encodedSource.replace(/=+$/, '');\n\n encodedSource = encodedSource.replace(/\\+/g, '-');\n encodedSource = encodedSource.replace(/\\//g, '_');\n\n return encodedSource;\n }\n\n encodeToken(payload: any) {\n var header = {\n \"alg\": \"RS256\",\n \"typ\": \"JWT\"\n };\n\n var stringifiedHeader = this.CryptoJS.enc.Utf8.parse(JSON.stringify(header));\n var encodedHeader = this.base64url(stringifiedHeader);\n\n var stringifiedData = this.CryptoJS.enc.Utf8.parse(JSON.stringify(payload));\n var encodedData = this.base64url(stringifiedData);\n\n var token = encodedHeader + \".\" + encodedData;\n // console.log(\"encodeToken:- \"+token);\n return token;\n }\n\n signToken(key: string, uid: any, params: any): Promise {\n return new Promise((resolve, reject) => {\n // const jwt = require('jsonwebtoken');\n var privateKEY = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n if (!localStorage.getItem('salt')) localStorage.setItem('salt', encodeURIComponent(\"3Uvq0zYOV3Y=\"));\n if (!localStorage.getItem('privateKey')) localStorage.setItem('privateKey', encodeURIComponent(privateKEY));\n var payload = { salt: decodeURIComponent(localStorage.getItem('salt')), uid: uid };\n var signOptions = {\n algorithm: \"RS256\", audience: \"nushift\", expiresIn: 60 * 60, issuer: 'nushift'\n };\n // var token = jwt.sign(payload, this.privateKey, signOptions);\n var token = jwt.sign(payload, privateKEY, { algorithm: 'RS256', audience: \"nushift\", expiresIn: 60 * 60, issuer: 'nushift' }\n );\n localStorage.setItem('bearerToken', token);\n console.log('bearerToken:- ');\n console.log(token);\n // this.verifyToken(token);\n this.getAesToken(params);\n resolve(token) ;\n });\n }\n\n verifyToken(token: string) {\n // const jwt = require('jsonwebtoken');\n var privateKEY = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n try {\n const decodedToken = jwt.verify(token, privateKEY, { algorithms: ['RS256'] }); // Replace 'your-secret-key' with your actual secret key\n console.log(decodedToken); // The decoded token, containing payload information\n return true; // Token is valid\n } catch (err) {\n console.error('Token verification failed:', err);\n return false; // Token is invalid\n }\n }\n\n private createUrl(action: string): string {\n const urlBuilder: UrlBuilder = new UrlBuilder(\n this.apiConstants.PHP_API_ENDPOINT,\n action\n );\n return urlBuilder.toString();\n }\n\n private pythonCreateUrl(action: string): string {\n const urlBuilder: UrlBuilder = new UrlBuilder(\n this.apiConstants.FILTERED_ENDPOINT,\n action\n );\n return urlBuilder.toString();\n }\n\n private createUrlHahstag(action: string): string {\n const urlBuilder: UrlBuilder = new UrlBuilder(\n this.apiConstants.FILTERED_ENDPOINT,\n action\n );\n return urlBuilder.toString();\n }\n\n private createUrlWithQueryParameters(\n action: string,\n queryStringHandler?: (queryStringParameters: QueryStringParameters) => void\n ): any {\n const urlBuilder: UrlBuilder = new UrlBuilder(\n this.apiConstants.PHP_API_ENDPOINT,\n action\n );\n // Push extra query string params\n if (queryStringHandler) {\n queryStringHandler(urlBuilder.queryString);\n }\n return urlBuilder.toString();\n }\n\n private pythonCreateUrlWithQueryParameters(\n action: string,\n queryStringHandler?: (queryStringParameters: QueryStringParameters) => void\n ): any {\n const urlBuilder: UrlBuilder = new UrlBuilder(\n this.apiConstants.FILTERED_ENDPOINT,\n action\n );\n // Push extra query string params\n if (queryStringHandler) {\n queryStringHandler(urlBuilder.queryString);\n }\n return urlBuilder.toString();\n }\n\n private createUrlWithQueryParametersHashtag(\n action: string,\n queryStringHandler?: (queryStringParameters: QueryStringParameters) => void\n ): string {\n const urlBuilder: UrlBuilder = new UrlBuilder(\n this.apiConstants.FILTERED_ENDPOINT,\n action\n );\n // Push extra query string params\n if (queryStringHandler) {\n queryStringHandler(urlBuilder.queryString);\n }\n return urlBuilder.toString();\n }\n\n private createUrlWithPathVariables(\n action: string,\n pathVariables: any[] = []\n ): string {\n let encodedPathVariablesUrl: string = '';\n for (const pathVariable of pathVariables) {\n if (pathVariable !== null) {\n encodedPathVariablesUrl += `/${encodeURIComponent(\n pathVariable.toString()\n )}`;\n }\n }\n const urlBuilder: UrlBuilder = new UrlBuilder(\n this.apiConstants.API_ENDPOINT,\n `${action}${encodedPathVariablesUrl}`\n );\n return urlBuilder.toString();\n }\n\n /*\n Authentication related Ednpoints\n 1. doctorsRegistration\n 2. otp\n 3. specilizations\n 4. login\n */\n\n doctorsRegistration = (): string =>\n this.createUrl('d/Services/doctorRegistration');\n doctorsRegistrationV2 = (): string =>\n this.pythonCreateUrl('provider/register');\n createPassword = (): string => this.pythonCreateUrl('provider/create_password');\n mobileInviteCheck = (): string =>\n this.pythonCreateUrl('provider/mobile_invite_check');\n validateOtp = (): string => this.pythonCreateUrl('Services/validate_otp');\n OtpLogin = (): string => this.pythonCreateUrl('provider/proceed_login');\n validateOtpV2 = (): string => this.pythonCreateUrl('provider/validate_otp');\n resendOTP = (): string => this.createUrl('d/Services/reSendOTP');\n async specilizations(queryParams: any) {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters('services/specializations');\n }\n doctors(): string {\n return this.pythonCreateUrl('services/get_all_doctors');\n }\n\n login = (): string => this.createUrl('WebServices/login');\n\n loginv2 = (): string => this.createUrl('WebServices/login');\n loginv3 = (): string => this.pythonCreateUrl('provider/login');\n // getAlias = (): string => this.createUrl('Alias/getAliasDetails');\n\n getInvited = (): string => this.pythonCreateUrl('invite/get_invited');\n\n createOrderId = (): string => this.pythonCreateUrl('subscribe/create_order_id');\n\n clearNotification = (): string => this.pythonCreateUrl('services/clear_notification');\n\n subscriptionPayNow = (): string => this.pythonCreateUrl('subscribe/pay_now');\n\n /*\n Feed API endpoints for feed module\n 1. getFeed\n 2. userfeed activity\n 3. getCommentsList\n 4. getEventsList\n */\n\n updateEvent = (): string => this.pythonCreateUrl('events/update');\n uploadFiles = (): string => this.pythonCreateUrl('chat/send_files');\n userFeedActivity = (): string => this.pythonCreateUrl('feed/record_activity');\n\n feed(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n // 'Feed/getNewFeed',\n 'feed/get',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('get_type', queryParams.get_type);\n qs.push('index', queryParams.index);\n qs.push('fid', queryParams.fid);\n qs.push('hash_tag', queryParams.hash_tag);\n qs.push('filter_by', queryParams.filterBy);\n }\n );\n }\n\n\n\n async checkLoggedInUsers(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\nMIIJKAIBAAKCAgEAwmI8Cz6XTnVTje6sRBrFMactcjRq4scYQ9lF8kikFgZPfX2Itpf+89yl1J0TmMIO6P2yqD5RHysm2+0TmpiTYel54gU18CcQNmu9lWgF7O9RCNINms/EQEIxqRx3SE6tghWA8BxvADl53TgXjQr3WIG9VHiE/06ebLvoX7uYZyx6Y71bHU6By/EaA8hUI9uq22vZVzMPD0FKXEP+mlt5d7+tDIydDF9Qcf+glmaT4SBrHPDR6yB8di9MY+uoA+ON98O68/GcyK9en98FW3wCIHj2Ql07oHLcqlb4pgoVRL5C2//eh7wHv7yPSPbTiaaQ5H3ygFWAMJoU7iLZjxR+GN/2dhHWqgX1arDm5NTgYfYVpw4yUERZl3iMfQE/JthrBj3vHu2FqI/SmRJKNlz/yhUerHPlSdiJJl/xYZKrajkn1plvGMybeEzoLCyfJ4rvKg9FW2rA2GHBGYHvkZrc2ow8CvQ7VjAFm05AWfYe/2UgmCCwEbanXFGAz34lpbQYvfvu0i1KtxxGTAoIHT/32AOCSC8UXdACKfXFQsK29h4l2O9Y+e9DdmQeACDyH4gqO6xKayUdXLq0fed1xFreHHQi0XknzkQErxckygCIjNdUY+JLosCZY/0NT2oV0wbqFDO8Rc49AKzsNJF2lwM8Iz2x9H3nuRtRIZl8EqPH2dsCAwEAAQKCAgAJefaJaczAk3G2WqtlSpTQfeD2T13inmgtbps9W5M8S6R2brdKh5BzXQ9slRfOe690ZmHeV+NmjJkBYcZx4/xTaql5fl2Jzq24qXn9naukSGp/7pWhNX3Q0ClRoESkbsmArQGzMv+qWCL7yO9E/gLe+rw7MQDy3WdVz7dda2zbosx4rlOR0zD6u09UXeDUOrJSrihTWvbh/IHei6YO6mS6lMqf8P77Cm6GkDrI+kk9UXJHX+or91J6BIZJ3MQ9JEvYh19G40GMexg23Q2KzznfUWZYB+mPQepGF6VZmuY8irYBubCkl2MdUtj9aqMXc9peeVFoNkLgm7JnhaVrl0kqYYSZePA7QrwIMvG2ixH9yImX418IsmOLQC71/G/h1e1nlOVfsK+WoNPvsqobzg3qtm875slMl/B4+dKm6WkJZLzyCOay5Bgr5AbpZjYqdTXegLWOihhRlXDohaPCqrhRs2dmuLjXUu/KgiP2md1hd51ouVeQNHfFZPOLax3XWS26fKZly+CNDx4vPKwFJNM7SJJjpvh7KPB1pA9VSr858fPv+PngltwED5nCsmgKuxhDv9YIyGUirD5KrXSilHhavJnBPAIr0ZPYJYkrik25thzLmaDUBCbpEI4E6g4lJRwTslqSa2iJzl9hUyTqwkCzz1mti6fu7kbiNHMPPlZT0QKCAQEA57m5pREzwAD8XBVKtrOfhgb2PUgu3MaP3O8fGpqk6pcKlCvM3qTROtGRBG5Q1qaMWuH5dF1sGwC2/V1WnuSKbK0c7oe89a0WsFndY082Nz3eJDN62mpPIvqMQrlANhlGCZELIeO8aWK6D/sl+MEVKK4d1hjc7CqaPxBQ5UftpYbOYr+ozKqAFTfLTSZV60w/fw55Y036NFpS5bIOY8Apg1++fWC4IvQqfUsGmJWZvn0LI6ELk9knsVK7YWdunZIgU6NtKSDYP5AmqoLirBW7I7nPxVzf1cMAdtEZ5NdQHnrVH2z76MWaa4cykhTjvON2A+I5PfaPRvjMr5XNZnS2+QKCAQEA1r8ZukawIFpGgtFSlVu5gF9sO1O64/1N+slXigdHsXl7HkTBgepuVa4PTCG6Z4XPNOm+Ikn6pX12+SnRatjWhbOh4fiaMYw6p6EF3NFKjmXr9khXqGMPtuyIt0wWYgp1CxztYgqtQ59RlZGpyZuBMT1T2ele7y/E0Yr8gD8xr3SOiVQkyc1pIeELICLvZ97JfVjyqcqLjourbt1+FGf171C50jZPCjKyu6akRB2dA131UDDQv/xo2OiycFEoD0UoXBJGSN0RwseQkRBj4vhOeDDBlxbaPEAi/H5GVz9gbwbwXKQozmTLD2GqswDBrwh3YKIRhJIrA7bCvRacTcjocwKCAQBW4peOIfYSbwwwhrc96/nLaj7X2YHgu/7jKzGxavydDUclKYsmjAv7jupeC/L5mPcVeJdtHz5SnaD/PQkmiLCycPJhKbobL+xK8VcGToQYkHUDg93zmVrU1bbTqdw+rJlLKvxOl7JknWUAav3g2JzTZP3A8g+b6ZluPfLnFWIw52vpMM3c960Qx5vN8KrUkAFa5ZV0O5+uE5PzliC5HCs0nCizoBlK2dw4oHH3slg0SXRsxoytwgWVAl1J91tNb6X5VlSu0CblJmqpEmxlc7x4d8pEyT8QSo6Y/mxEFstuskXJA7csnzL4UHgQuA5wG6V7bU5jQliUluNAjt22JdsZAoIBAQCSRCtj4w3Hm3V3WNek/4rD0zrG1ervqvJYJJdJXlgIm7OuFCqxMFniZeHpeveZ11wgsCxe8oCUA3brkv4ehn7nJkjWvxtXMCorTtPNaYgcoXMslm2ONZrYfxdHsb11HaZG4XcWVitZacSJ2WMJ/K7sONdKD1goFiM6ji4Zs/FFjmAfTX6ZLR20g7GuO91QpEAc7l6qI1kWyC8GHjrn7z9lt1g5w9/mFE4E3iX4dysgxfh2nCky+tr3EtenBMACVpp8y72vl1OnlYH0LHO8fmAEIUFahagzbYPm8qM6feJS/SjuEKnymlhsq5s2vQcvDtcwrHK+F0jRCMRvQl1H5dXdAoIBAFD+AObRBnwLvcNUnAs7i8WStiGoy9+cKfEo9vof8Y63X5wz5XeOUvu6i80r7crk+vMrxfs9mg9VuXwSqY7+pA9mtqKXh5D7xyKl+BnNMdLZpLzSY+Rr30+jcPKI4mhIQmprgj7/sgO4/gM5lct10NjuPKdiGDFFnXL+P6PKvBcRpu1F6h4M2UL3/ULTAfQLKqm6JMsk6OCQqSLVdQph5cRJ0IN/a/mUCQMkTa1aYkFW334Pi+ov5pl6ttODOLCn5n0c0QUlJXcVqAQ+dH76WNBlHGcUM4+PAjp4h5777xJR+la2PIE8ZN5aln3Ncu/MUv3RrkdUkabM4TBZMdgJicc=\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n return this.pythonCreateUrlWithQueryParameters(\n 'services/check_logged_in_users',\n (qs: QueryStringParameters) => { \n qs.push('data', localStorage.getItem('aesToken'));\n }\n );\n }\n\n async getAliasPermissions(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\nMIIJKAIBAAKCAgEAwmI8Cz6XTnVTje6sRBrFMactcjRq4scYQ9lF8kikFgZPfX2Itpf+89yl1J0TmMIO6P2yqD5RHysm2+0TmpiTYel54gU18CcQNmu9lWgF7O9RCNINms/EQEIxqRx3SE6tghWA8BxvADl53TgXjQr3WIG9VHiE/06ebLvoX7uYZyx6Y71bHU6By/EaA8hUI9uq22vZVzMPD0FKXEP+mlt5d7+tDIydDF9Qcf+glmaT4SBrHPDR6yB8di9MY+uoA+ON98O68/GcyK9en98FW3wCIHj2Ql07oHLcqlb4pgoVRL5C2//eh7wHv7yPSPbTiaaQ5H3ygFWAMJoU7iLZjxR+GN/2dhHWqgX1arDm5NTgYfYVpw4yUERZl3iMfQE/JthrBj3vHu2FqI/SmRJKNlz/yhUerHPlSdiJJl/xYZKrajkn1plvGMybeEzoLCyfJ4rvKg9FW2rA2GHBGYHvkZrc2ow8CvQ7VjAFm05AWfYe/2UgmCCwEbanXFGAz34lpbQYvfvu0i1KtxxGTAoIHT/32AOCSC8UXdACKfXFQsK29h4l2O9Y+e9DdmQeACDyH4gqO6xKayUdXLq0fed1xFreHHQi0XknzkQErxckygCIjNdUY+JLosCZY/0NT2oV0wbqFDO8Rc49AKzsNJF2lwM8Iz2x9H3nuRtRIZl8EqPH2dsCAwEAAQKCAgAJefaJaczAk3G2WqtlSpTQfeD2T13inmgtbps9W5M8S6R2brdKh5BzXQ9slRfOe690ZmHeV+NmjJkBYcZx4/xTaql5fl2Jzq24qXn9naukSGp/7pWhNX3Q0ClRoESkbsmArQGzMv+qWCL7yO9E/gLe+rw7MQDy3WdVz7dda2zbosx4rlOR0zD6u09UXeDUOrJSrihTWvbh/IHei6YO6mS6lMqf8P77Cm6GkDrI+kk9UXJHX+or91J6BIZJ3MQ9JEvYh19G40GMexg23Q2KzznfUWZYB+mPQepGF6VZmuY8irYBubCkl2MdUtj9aqMXc9peeVFoNkLgm7JnhaVrl0kqYYSZePA7QrwIMvG2ixH9yImX418IsmOLQC71/G/h1e1nlOVfsK+WoNPvsqobzg3qtm875slMl/B4+dKm6WkJZLzyCOay5Bgr5AbpZjYqdTXegLWOihhRlXDohaPCqrhRs2dmuLjXUu/KgiP2md1hd51ouVeQNHfFZPOLax3XWS26fKZly+CNDx4vPKwFJNM7SJJjpvh7KPB1pA9VSr858fPv+PngltwED5nCsmgKuxhDv9YIyGUirD5KrXSilHhavJnBPAIr0ZPYJYkrik25thzLmaDUBCbpEI4E6g4lJRwTslqSa2iJzl9hUyTqwkCzz1mti6fu7kbiNHMPPlZT0QKCAQEA57m5pREzwAD8XBVKtrOfhgb2PUgu3MaP3O8fGpqk6pcKlCvM3qTROtGRBG5Q1qaMWuH5dF1sGwC2/V1WnuSKbK0c7oe89a0WsFndY082Nz3eJDN62mpPIvqMQrlANhlGCZELIeO8aWK6D/sl+MEVKK4d1hjc7CqaPxBQ5UftpYbOYr+ozKqAFTfLTSZV60w/fw55Y036NFpS5bIOY8Apg1++fWC4IvQqfUsGmJWZvn0LI6ELk9knsVK7YWdunZIgU6NtKSDYP5AmqoLirBW7I7nPxVzf1cMAdtEZ5NdQHnrVH2z76MWaa4cykhTjvON2A+I5PfaPRvjMr5XNZnS2+QKCAQEA1r8ZukawIFpGgtFSlVu5gF9sO1O64/1N+slXigdHsXl7HkTBgepuVa4PTCG6Z4XPNOm+Ikn6pX12+SnRatjWhbOh4fiaMYw6p6EF3NFKjmXr9khXqGMPtuyIt0wWYgp1CxztYgqtQ59RlZGpyZuBMT1T2ele7y/E0Yr8gD8xr3SOiVQkyc1pIeELICLvZ97JfVjyqcqLjourbt1+FGf171C50jZPCjKyu6akRB2dA131UDDQv/xo2OiycFEoD0UoXBJGSN0RwseQkRBj4vhOeDDBlxbaPEAi/H5GVz9gbwbwXKQozmTLD2GqswDBrwh3YKIRhJIrA7bCvRacTcjocwKCAQBW4peOIfYSbwwwhrc96/nLaj7X2YHgu/7jKzGxavydDUclKYsmjAv7jupeC/L5mPcVeJdtHz5SnaD/PQkmiLCycPJhKbobL+xK8VcGToQYkHUDg93zmVrU1bbTqdw+rJlLKvxOl7JknWUAav3g2JzTZP3A8g+b6ZluPfLnFWIw52vpMM3c960Qx5vN8KrUkAFa5ZV0O5+uE5PzliC5HCs0nCizoBlK2dw4oHH3slg0SXRsxoytwgWVAl1J91tNb6X5VlSu0CblJmqpEmxlc7x4d8pEyT8QSo6Y/mxEFstuskXJA7csnzL4UHgQuA5wG6V7bU5jQliUluNAjt22JdsZAoIBAQCSRCtj4w3Hm3V3WNek/4rD0zrG1ervqvJYJJdJXlgIm7OuFCqxMFniZeHpeveZ11wgsCxe8oCUA3brkv4ehn7nJkjWvxtXMCorTtPNaYgcoXMslm2ONZrYfxdHsb11HaZG4XcWVitZacSJ2WMJ/K7sONdKD1goFiM6ji4Zs/FFjmAfTX6ZLR20g7GuO91QpEAc7l6qI1kWyC8GHjrn7z9lt1g5w9/mFE4E3iX4dysgxfh2nCky+tr3EtenBMACVpp8y72vl1OnlYH0LHO8fmAEIUFahagzbYPm8qM6feJS/SjuEKnymlhsq5s2vQcvDtcwrHK+F0jRCMRvQl1H5dXdAoIBAFD+AObRBnwLvcNUnAs7i8WStiGoy9+cKfEo9vof8Y63X5wz5XeOUvu6i80r7crk+vMrxfs9mg9VuXwSqY7+pA9mtqKXh5D7xyKl+BnNMdLZpLzSY+Rr30+jcPKI4mhIQmprgj7/sgO4/gM5lct10NjuPKdiGDFFnXL+P6PKvBcRpu1F6h4M2UL3/ULTAfQLKqm6JMsk6OCQqSLVdQph5cRJ0IN/a/mUCQMkTa1aYkFW334Pi+ov5pl6ttODOLCn5n0c0QUlJXcVqAQ+dH76WNBlHGcUM4+PAjp4h5777xJR+la2PIE8ZN5aln3Ncu/MUv3RrkdUkabM4TBZMdgJicc=\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n return this.pythonCreateUrlWithQueryParameters(\n 'doctor_services/get_alias_permissions',\n (qs: QueryStringParameters) => { \n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n hashtagFeed(queryParams: any): string {\n return this.createUrlWithQueryParametersHashtag(\n 'feed/getNewFeedByFilter',\n (qs: QueryStringParameters) => {\n console.log(qs);\n qs.push('uid', queryParams.uid);\n qs.push('index', queryParams.index);\n qs.push('fid', queryParams.fid);\n qs.push('type', queryParams.type);\n qs.push('hashTag', queryParams.hashtag);\n }\n );\n }\n\n groupFeed(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/get_feed',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('index', queryParams.index);\n qs.push('group_id', queryParams.group_id);\n }\n );\n }\n\n getGroupPendingFeed(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/get_pending_feed',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('index', queryParams.index);\n qs.push('group_id', queryParams.group_id);\n }\n );\n }\n\n getGroupFeed(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/get_feed',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('index', queryParams.index);\n qs.push('group_id', queryParams.group_id);\n }\n );\n }\n\n updateFeed = (): string => this.pythonCreateUrl('feed/update');\n deleteFeed = (): string => this.pythonCreateUrl('feed/delete');\n updateComment = (): string => this.pythonCreateUrl('feed/update_comment');\n deleteComment = (): string => this.pythonCreateUrl('feed/delete_comment');\n commentsList(queryParams) {\n return this.pythonCreateUrlWithQueryParameters(\n 'feed/get_comments',\n (qs: QueryStringParameters) => {\n qs.push('feed_id', queryParams.feed_id);\n qs.push('uid', queryParams.uid);\n qs.push('index', queryParams.index);\n }\n );\n }\n\n sharesList(queryParams) {\n return this.pythonCreateUrlWithQueryParameters(\n 'feed/get_shares_list',\n (qs: QueryStringParameters) => {\n qs.push('feed_id', queryParams.feed_id);\n }\n );\n }\n\n likesList(feedId: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'feed/get_likes_list',\n (qs: QueryStringParameters) => {\n qs.push('feed_id', feedId);\n }\n );\n }\n\n getAbuseList = (): string => this.pythonCreateUrlWithQueryParameters('feed/get_abuse_list');\n\n reportAbuse = (): string => this.pythonCreateUrl('feed/report_abuse');\n\n eventsList(userId: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get',\n (qs: QueryStringParameters) => {\n qs.push('uid', userId);\n }\n );\n }\n\n filteredEvents(queryParams): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_filtered_events',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('coming_from', queryParams.comingFrom);\n }\n );\n }\n\n getLandedEvents(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_landed_events',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('date', queryParams.date);\n qs.push('index', queryParams.index);\n }\n );\n }\n\n getSearchedCity(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'services/city_search',\n (qs: QueryStringParameters) => {\n qs.push('search_item', queryParams.search_item);\n }\n );\n }\n\n speakerInviteDetails(ed: string, sd: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_invite_details',\n (qs: QueryStringParameters) => {\n qs.push('ed', ed);\n qs.push('sd', sd);\n }\n );\n }\n\n speakers(eventId: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_speakers',\n (qs: QueryStringParameters) => qs.push('event_id', eventId)\n );\n }\n\n //feed\n feedShare = (): string => this.pythonCreateUrl('feed/share');\n feedDetails(feedID: string) {\n return this.pythonCreateUrlWithQueryParameters(\n 'feed/get_details',\n (qs: QueryStringParameters) => qs.push('feed_id', feedID)\n );\n }\n // userProfile = (): string => this.createUrl('Services/getUserProfile');\n\n writePost = (): string => this.pythonCreateUrl('feed/post');\n saveDiscussion = (): string => this.pythonCreateUrl('discussion_board/create');\n updateDiscussion = (): string => this.pythonCreateUrl('discussion_board/update');\n deleteDiscussion = (): string => this.pythonCreateUrl('discussion_board/delete');\n discussionClick = (): string => this.pythonCreateUrl('discussion_board/react');\n pollClick = (): string => this.pythonCreateUrl('discussion_board/quiz');\n updateAliasPermissions = (): string => this.pythonCreateUrl('alias/update_permissions');\n updateAlias = (): string => this.pythonCreateUrl('alias/update');\n createAlias = (): string => this.pythonCreateUrl('alias/create');\n updateAliasStatus = (): string => this.pythonCreateUrl('alias/update_status');\n async userProfile(queryParameters: any) {\n let payload = {\n uid: queryParameters.uid,\n other_id: queryParameters.loginUserID,\n };\n localStorage.setItem('aesToken', '')\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"userProfile payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'services/get_user_profile',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n async getAlias(queryParameters: any) {\n let payload = {\n uid: queryParameters.uid,\n alid: queryParameters.alid,\n };\n localStorage.setItem('aesToken', '')\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"getAlias payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'alias/get_alias_details',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n async userProfileV2(queryParameters: any) {\n let payload = {\n uid: queryParameters.loginUserID,\n other_id: queryParameters.uid,\n };\n localStorage.setItem('aesToken', '')\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.loginUserID ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"userProfileV2 payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'services/get_user_profile',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n // qs.push('other_id', queryParams.loginUserID);\n // qs.push('uid', queryParams.uid);\n }\n );\n }\n\n async userProfileV3(queryParameters: any) {\n let payload = {\n uid: queryParameters.uid,\n };\n localStorage.setItem('aesToken', '')\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"userProfileV2 payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'networks/get_recent_profile_views',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n // qs.push('other_id', queryParams.loginUserID);\n // qs.push('uid', queryParams.uid);\n }\n );\n }\n \n \n async aliasRoles(queryParameters) { \n let payload = {\n uid: queryParameters.uid,\n };\n localStorage.setItem('aesToken', '')\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"userProfileV2 payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters('alias/get_roles_list',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n}\n \n async getAliases(queryParameters: any) {\n let payload = {\n uid: queryParameters.uid,\n other_id: queryParameters.uid,\n };\n localStorage.setItem('aesToken', '')\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"userProfileV2 payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'alias/get_alias_list',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n getCitiesV2(queryParams: any): string {\n return this.createUrlWithQueryParameters(\n 'Services/citySearch',\n (qs: QueryStringParameters) => {\n qs.push('searchItem', queryParams.searchItem);\n }\n );\n }\n\n async getUserPrracticeAreasV2(queryParameters: any): Promise {\n let payload = {\n uid: queryParameters.uid,\n other_id: queryParameters.other_id ?? queryParameters.uid,\n selected_date: queryParameters.selectedDate,\n filter: queryParameters.filter,\n coming_from: queryParameters.comingFrom,\n request_for: queryParameters.requestFor,\n };\n console.log('practice areas payload');\n console.log(payload);\n localStorage.setItem('aesToken', '')\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"getUserPrracticeAreasV2 payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'practice_area/get',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n // qs.push('other_id', queryParameters.uid);\n // qs.push('selected_date', queryParameters.selectedDate);\n // qs.push('filter', queryParameters.filter);\n // qs.push('coming_from', queryParameters.comingFrom);\n // qs.push('request_for', queryParameters.requestFor);\n }\n );\n }\n\n async getRecommendedJobs(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n let aesToken = localStorage.getItem('aesToken');\n // console.log(this.aesToken);\n return this.pythonCreateUrlWithQueryParameters(\n 'jobs/recommendedJobs',\n (qs: QueryStringParameters) => { \n // qs.push('uid', queryParams.uid);\n // qs.push('job_title', queryParams.job_title);\n // qs.push('token', this.signToken(queryParams, key));\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n\n \n async getCompaniesList(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\nMIIJKAIBAAKCAgEAwmI8Cz6XTnVTje6sRBrFMactcjRq4scYQ9lF8kikFgZPfX2Itpf+89yl1J0TmMIO6P2yqD5RHysm2+0TmpiTYel54gU18CcQNmu9lWgF7O9RCNINms/EQEIxqRx3SE6tghWA8BxvADl53TgXjQr3WIG9VHiE/06ebLvoX7uYZyx6Y71bHU6By/EaA8hUI9uq22vZVzMPD0FKXEP+mlt5d7+tDIydDF9Qcf+glmaT4SBrHPDR6yB8di9MY+uoA+ON98O68/GcyK9en98FW3wCIHj2Ql07oHLcqlb4pgoVRL5C2//eh7wHv7yPSPbTiaaQ5H3ygFWAMJoU7iLZjxR+GN/2dhHWqgX1arDm5NTgYfYVpw4yUERZl3iMfQE/JthrBj3vHu2FqI/SmRJKNlz/yhUerHPlSdiJJl/xYZKrajkn1plvGMybeEzoLCyfJ4rvKg9FW2rA2GHBGYHvkZrc2ow8CvQ7VjAFm05AWfYe/2UgmCCwEbanXFGAz34lpbQYvfvu0i1KtxxGTAoIHT/32AOCSC8UXdACKfXFQsK29h4l2O9Y+e9DdmQeACDyH4gqO6xKayUdXLq0fed1xFreHHQi0XknzkQErxckygCIjNdUY+JLosCZY/0NT2oV0wbqFDO8Rc49AKzsNJF2lwM8Iz2x9H3nuRtRIZl8EqPH2dsCAwEAAQKCAgAJefaJaczAk3G2WqtlSpTQfeD2T13inmgtbps9W5M8S6R2brdKh5BzXQ9slRfOe690ZmHeV+NmjJkBYcZx4/xTaql5fl2Jzq24qXn9naukSGp/7pWhNX3Q0ClRoESkbsmArQGzMv+qWCL7yO9E/gLe+rw7MQDy3WdVz7dda2zbosx4rlOR0zD6u09UXeDUOrJSrihTWvbh/IHei6YO6mS6lMqf8P77Cm6GkDrI+kk9UXJHX+or91J6BIZJ3MQ9JEvYh19G40GMexg23Q2KzznfUWZYB+mPQepGF6VZmuY8irYBubCkl2MdUtj9aqMXc9peeVFoNkLgm7JnhaVrl0kqYYSZePA7QrwIMvG2ixH9yImX418IsmOLQC71/G/h1e1nlOVfsK+WoNPvsqobzg3qtm875slMl/B4+dKm6WkJZLzyCOay5Bgr5AbpZjYqdTXegLWOihhRlXDohaPCqrhRs2dmuLjXUu/KgiP2md1hd51ouVeQNHfFZPOLax3XWS26fKZly+CNDx4vPKwFJNM7SJJjpvh7KPB1pA9VSr858fPv+PngltwED5nCsmgKuxhDv9YIyGUirD5KrXSilHhavJnBPAIr0ZPYJYkrik25thzLmaDUBCbpEI4E6g4lJRwTslqSa2iJzl9hUyTqwkCzz1mti6fu7kbiNHMPPlZT0QKCAQEA57m5pREzwAD8XBVKtrOfhgb2PUgu3MaP3O8fGpqk6pcKlCvM3qTROtGRBG5Q1qaMWuH5dF1sGwC2/V1WnuSKbK0c7oe89a0WsFndY082Nz3eJDN62mpPIvqMQrlANhlGCZELIeO8aWK6D/sl+MEVKK4d1hjc7CqaPxBQ5UftpYbOYr+ozKqAFTfLTSZV60w/fw55Y036NFpS5bIOY8Apg1++fWC4IvQqfUsGmJWZvn0LI6ELk9knsVK7YWdunZIgU6NtKSDYP5AmqoLirBW7I7nPxVzf1cMAdtEZ5NdQHnrVH2z76MWaa4cykhTjvON2A+I5PfaPRvjMr5XNZnS2+QKCAQEA1r8ZukawIFpGgtFSlVu5gF9sO1O64/1N+slXigdHsXl7HkTBgepuVa4PTCG6Z4XPNOm+Ikn6pX12+SnRatjWhbOh4fiaMYw6p6EF3NFKjmXr9khXqGMPtuyIt0wWYgp1CxztYgqtQ59RlZGpyZuBMT1T2ele7y/E0Yr8gD8xr3SOiVQkyc1pIeELICLvZ97JfVjyqcqLjourbt1+FGf171C50jZPCjKyu6akRB2dA131UDDQv/xo2OiycFEoD0UoXBJGSN0RwseQkRBj4vhOeDDBlxbaPEAi/H5GVz9gbwbwXKQozmTLD2GqswDBrwh3YKIRhJIrA7bCvRacTcjocwKCAQBW4peOIfYSbwwwhrc96/nLaj7X2YHgu/7jKzGxavydDUclKYsmjAv7jupeC/L5mPcVeJdtHz5SnaD/PQkmiLCycPJhKbobL+xK8VcGToQYkHUDg93zmVrU1bbTqdw+rJlLKvxOl7JknWUAav3g2JzTZP3A8g+b6ZluPfLnFWIw52vpMM3c960Qx5vN8KrUkAFa5ZV0O5+uE5PzliC5HCs0nCizoBlK2dw4oHH3slg0SXRsxoytwgWVAl1J91tNb6X5VlSu0CblJmqpEmxlc7x4d8pEyT8QSo6Y/mxEFstuskXJA7csnzL4UHgQuA5wG6V7bU5jQliUluNAjt22JdsZAoIBAQCSRCtj4w3Hm3V3WNek/4rD0zrG1ervqvJYJJdJXlgIm7OuFCqxMFniZeHpeveZ11wgsCxe8oCUA3brkv4ehn7nJkjWvxtXMCorTtPNaYgcoXMslm2ONZrYfxdHsb11HaZG4XcWVitZacSJ2WMJ/K7sONdKD1goFiM6ji4Zs/FFjmAfTX6ZLR20g7GuO91QpEAc7l6qI1kWyC8GHjrn7z9lt1g5w9/mFE4E3iX4dysgxfh2nCky+tr3EtenBMACVpp8y72vl1OnlYH0LHO8fmAEIUFahagzbYPm8qM6feJS/SjuEKnymlhsq5s2vQcvDtcwrHK+F0jRCMRvQl1H5dXdAoIBAFD+AObRBnwLvcNUnAs7i8WStiGoy9+cKfEo9vof8Y63X5wz5XeOUvu6i80r7crk+vMrxfs9mg9VuXwSqY7+pA9mtqKXh5D7xyKl+BnNMdLZpLzSY+Rr30+jcPKI4mhIQmprgj7/sgO4/gM5lct10NjuPKdiGDFFnXL+P6PKvBcRpu1F6h4M2UL3/ULTAfQLKqm6JMsk6OCQqSLVdQph5cRJ0IN/a/mUCQMkTa1aYkFW334Pi+ov5pl6ttODOLCn5n0c0QUlJXcVqAQ+dH76WNBlHGcUM4+PAjp4h5777xJR+la2PIE8ZN5aln3Ncu/MUv3RrkdUkabM4TBZMdgJicc=\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n let decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'jobs/companiesList',\n (qs: QueryStringParameters) => {\n // qs.push('uid', queryParams.uid);\n // qs.push('job_title', queryParams.job_title);\n // qs.push('token', this.signToken(queryParams, key));\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n async getSavedJobs(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'jobs/savedJobsList',\n (qs: QueryStringParameters) => {\n // qs.push('uid', queryParams.uid);\n // qs.push('token', this.signToken(queryParams, key));\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n async getActiveJobs(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'jobs/jobsPostedList',\n (qs: QueryStringParameters) => {\n // qs.push('uid', queryParams.uid);\n // qs.push('token', this.signToken(queryParams, key));\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n async getClosedJobs(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\nMIIJKAIBAAKCAgEAwmI8Cz6XTnVTje6sRBrFMactcjRq4scYQ9lF8kikFgZPfX2Itpf+89yl1J0TmMIO6P2yqD5RHysm2+0TmpiTYel54gU18CcQNmu9lWgF7O9RCNINms/EQEIxqRx3SE6tghWA8BxvADl53TgXjQr3WIG9VHiE/06ebLvoX7uYZyx6Y71bHU6By/EaA8hUI9uq22vZVzMPD0FKXEP+mlt5d7+tDIydDF9Qcf+glmaT4SBrHPDR6yB8di9MY+uoA+ON98O68/GcyK9en98FW3wCIHj2Ql07oHLcqlb4pgoVRL5C2//eh7wHv7yPSPbTiaaQ5H3ygFWAMJoU7iLZjxR+GN/2dhHWqgX1arDm5NTgYfYVpw4yUERZl3iMfQE/JthrBj3vHu2FqI/SmRJKNlz/yhUerHPlSdiJJl/xYZKrajkn1plvGMybeEzoLCyfJ4rvKg9FW2rA2GHBGYHvkZrc2ow8CvQ7VjAFm05AWfYe/2UgmCCwEbanXFGAz34lpbQYvfvu0i1KtxxGTAoIHT/32AOCSC8UXdACKfXFQsK29h4l2O9Y+e9DdmQeACDyH4gqO6xKayUdXLq0fed1xFreHHQi0XknzkQErxckygCIjNdUY+JLosCZY/0NT2oV0wbqFDO8Rc49AKzsNJF2lwM8Iz2x9H3nuRtRIZl8EqPH2dsCAwEAAQKCAgAJefaJaczAk3G2WqtlSpTQfeD2T13inmgtbps9W5M8S6R2brdKh5BzXQ9slRfOe690ZmHeV+NmjJkBYcZx4/xTaql5fl2Jzq24qXn9naukSGp/7pWhNX3Q0ClRoESkbsmArQGzMv+qWCL7yO9E/gLe+rw7MQDy3WdVz7dda2zbosx4rlOR0zD6u09UXeDUOrJSrihTWvbh/IHei6YO6mS6lMqf8P77Cm6GkDrI+kk9UXJHX+or91J6BIZJ3MQ9JEvYh19G40GMexg23Q2KzznfUWZYB+mPQepGF6VZmuY8irYBubCkl2MdUtj9aqMXc9peeVFoNkLgm7JnhaVrl0kqYYSZePA7QrwIMvG2ixH9yImX418IsmOLQC71/G/h1e1nlOVfsK+WoNPvsqobzg3qtm875slMl/B4+dKm6WkJZLzyCOay5Bgr5AbpZjYqdTXegLWOihhRlXDohaPCqrhRs2dmuLjXUu/KgiP2md1hd51ouVeQNHfFZPOLax3XWS26fKZly+CNDx4vPKwFJNM7SJJjpvh7KPB1pA9VSr858fPv+PngltwED5nCsmgKuxhDv9YIyGUirD5KrXSilHhavJnBPAIr0ZPYJYkrik25thzLmaDUBCbpEI4E6g4lJRwTslqSa2iJzl9hUyTqwkCzz1mti6fu7kbiNHMPPlZT0QKCAQEA57m5pREzwAD8XBVKtrOfhgb2PUgu3MaP3O8fGpqk6pcKlCvM3qTROtGRBG5Q1qaMWuH5dF1sGwC2/V1WnuSKbK0c7oe89a0WsFndY082Nz3eJDN62mpPIvqMQrlANhlGCZELIeO8aWK6D/sl+MEVKK4d1hjc7CqaPxBQ5UftpYbOYr+ozKqAFTfLTSZV60w/fw55Y036NFpS5bIOY8Apg1++fWC4IvQqfUsGmJWZvn0LI6ELk9knsVK7YWdunZIgU6NtKSDYP5AmqoLirBW7I7nPxVzf1cMAdtEZ5NdQHnrVH2z76MWaa4cykhTjvON2A+I5PfaPRvjMr5XNZnS2+QKCAQEA1r8ZukawIFpGgtFSlVu5gF9sO1O64/1N+slXigdHsXl7HkTBgepuVa4PTCG6Z4XPNOm+Ikn6pX12+SnRatjWhbOh4fiaMYw6p6EF3NFKjmXr9khXqGMPtuyIt0wWYgp1CxztYgqtQ59RlZGpyZuBMT1T2ele7y/E0Yr8gD8xr3SOiVQkyc1pIeELICLvZ97JfVjyqcqLjourbt1+FGf171C50jZPCjKyu6akRB2dA131UDDQv/xo2OiycFEoD0UoXBJGSN0RwseQkRBj4vhOeDDBlxbaPEAi/H5GVz9gbwbwXKQozmTLD2GqswDBrwh3YKIRhJIrA7bCvRacTcjocwKCAQBW4peOIfYSbwwwhrc96/nLaj7X2YHgu/7jKzGxavydDUclKYsmjAv7jupeC/L5mPcVeJdtHz5SnaD/PQkmiLCycPJhKbobL+xK8VcGToQYkHUDg93zmVrU1bbTqdw+rJlLKvxOl7JknWUAav3g2JzTZP3A8g+b6ZluPfLnFWIw52vpMM3c960Qx5vN8KrUkAFa5ZV0O5+uE5PzliC5HCs0nCizoBlK2dw4oHH3slg0SXRsxoytwgWVAl1J91tNb6X5VlSu0CblJmqpEmxlc7x4d8pEyT8QSo6Y/mxEFstuskXJA7csnzL4UHgQuA5wG6V7bU5jQliUluNAjt22JdsZAoIBAQCSRCtj4w3Hm3V3WNek/4rD0zrG1ervqvJYJJdJXlgIm7OuFCqxMFniZeHpeveZ11wgsCxe8oCUA3brkv4ehn7nJkjWvxtXMCorTtPNaYgcoXMslm2ONZrYfxdHsb11HaZG4XcWVitZacSJ2WMJ/K7sONdKD1goFiM6ji4Zs/FFjmAfTX6ZLR20g7GuO91QpEAc7l6qI1kWyC8GHjrn7z9lt1g5w9/mFE4E3iX4dysgxfh2nCky+tr3EtenBMACVpp8y72vl1OnlYH0LHO8fmAEIUFahagzbYPm8qM6feJS/SjuEKnymlhsq5s2vQcvDtcwrHK+F0jRCMRvQl1H5dXdAoIBAFD+AObRBnwLvcNUnAs7i8WStiGoy9+cKfEo9vof8Y63X5wz5XeOUvu6i80r7crk+vMrxfs9mg9VuXwSqY7+pA9mtqKXh5D7xyKl+BnNMdLZpLzSY+Rr30+jcPKI4mhIQmprgj7/sgO4/gM5lct10NjuPKdiGDFFnXL+P6PKvBcRpu1F6h4M2UL3/ULTAfQLKqm6JMsk6OCQqSLVdQph5cRJ0IN/a/mUCQMkTa1aYkFW334Pi+ov5pl6ttODOLCn5n0c0QUlJXcVqAQ+dH76WNBlHGcUM4+PAjp4h5777xJR+la2PIE8ZN5aln3Ncu/MUv3RrkdUkabM4TBZMdgJicc=\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'jobs/closedJobsList',\n (qs: QueryStringParameters) => {\n // qs.push('uid', queryParams.uid);\n // qs.push('token', this.signToken(queryParams, key));\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n async getApplicantsList(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'jobs/viewApplicants',\n (qs: QueryStringParameters) => {\n // qs.push('uid', queryParams.uid);\n // qs.push('token', this.signToken(queryParams, key));\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n async getAppliedJobs(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'jobs/jobsApplied',\n (qs: QueryStringParameters) => {\n // qs.push('uid', queryParams.uid);\n // qs.push('token', this.signToken(queryParams, key));\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n \n async getbusinessPages(queryParams: any) {\n let payload = {\n uid: queryParams.uid,\n other_id: queryParams.other_id ?? queryParams.uid,\n };\n localStorage.setItem('aesToken', '')\n await this.getAesToken(payload);\n await this.signToken(localStorage.getItem('privateKey'), queryParams.uid, queryParams);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"getbusinessPages payload encrypted:- \");\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'provider/get_pages_practices',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data)\n }\n );\n }\n\n async getServiceTypesD(queryParams: any) {\n return this.pythonCreateUrlWithQueryParameters(\n 'diagnostic_services/get_departments',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n }\n );\n }\n\n async getServiceDetailsD(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'diagnostic_services/get_test_details',\n (qs: QueryStringParameters) => {\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n async getTestTypesListD(queryParams: any) {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'diagnostic_services/get_department_tests',\n (qs: QueryStringParameters) => {\n qs.push('department_id', queryParams.department_id)\n }\n );\n }\n\n async getbusinessPageDetailsH(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'hospital_services/get_business_page',\n (qs: QueryStringParameters) => {\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n async getbusinessPageDetailsD(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'diagnostic_services/get_business_page',\n (qs: QueryStringParameters) => {\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n forgotPasswordOTP = (): string => this.pythonCreateUrl('provider/forgot_password');\n logout = (): string => this.pythonCreateUrl('services/logout');\n updatePassword = (): string => this.pythonCreateUrl('services/password_update');\n registerEvent = (): string => this.pythonCreateUrl('events/participate');\n cancelEvent = (): string => this.pythonCreateUrl('events/cancel');\n getExistingSpeakers(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_existing_speakers',\n (qs: QueryStringParameters) => {\n qs.push('event_id', queryParams.eventID);\n qs.push('search_item', queryParams.searchItem);\n }\n );\n }\n publishEvent = (): string => this.pythonCreateUrl('events/event_publish');\n addSpeaker = (): string => this.pythonCreateUrl('events/add_speaker');\n addAgenda = (): string => this.pythonCreateUrl('events/create_event_agenda');\n deleteSpeaker = (): string => this.pythonCreateUrl('events/delete_speaker');\n deleteAgenda = (): string => this.pythonCreateUrl('events/delete_agenda');\n deleteSponsor = (): string => this.pythonCreateUrl('events/delete_sponsor');\n deleteExhibitor = (): string => this.pythonCreateUrl('events/delete_exhibitor');\n updateSpeaker = (): string => this.pythonCreateUrl('events/update_speaker');\n updateContactDetails = (): string =>\n this.pythonCreateUrl('events/update_contact_details');\n contactDetails(eventID: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_contact_details',\n (qs: QueryStringParameters) => qs.push('event_id', eventID)\n );\n }\n eventPoints(eventID: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_event_points',\n (qs: QueryStringParameters) => qs.push('event_id', eventID)\n );\n }\n deleteSummaryPoint = (): string => this.pythonCreateUrl('events/delete_point');\n addSummaryPoint = (): string => this.pythonCreateUrl('events/add_event_points');\n\n //Speaker Agenda\n agenda(eventID: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_agendas',\n (qs: QueryStringParameters) => qs.push('event_id', eventID)\n );\n }\n\n sponsor(eventID: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_sponsors',\n (qs: QueryStringParameters) => qs.push('event_id', eventID)\n );\n }\n addSponsor = (): string => this.pythonCreateUrl('events/add_sponsor');\n updateSponsor = (): string => this.pythonCreateUrl('events/update_sponsor');\n addExhibitor = (): string => this.pythonCreateUrl('events/add_exhibitor');\n updateExhibitor = (): string => this.pythonCreateUrl('events/update_exhibitor');\n exhibitors(eventID: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_exhibitors',\n (qs: QueryStringParameters) => qs.push('event_id', eventID)\n );\n }\n\n //Profile APIS\n editDoctorProfile = (): string => this.createUrl('d/Services/profileUpdate');\n getPracticeAreas(userId: string, filter?: string, date?: string, coming_from?: any, request_for?: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'practice_area/get',\n (qs: QueryStringParameters) => {\n qs.push('other_id', userId);\n qs.push('filter', filter);\n qs.push('selected_date', date);\n qs.push('coming_from', coming_from);\n qs.push('request_for', request_for);\n }\n );\n }\n getBloodGroups(userId: string): string {\n return this.createUrlWithQueryParameters(\n 'Services/blood_groups',\n (qs: QueryStringParameters) => {\n qs.push('uid', userId);\n }\n );\n }\n\n healthRecord(userId: string): string {\n return this.createUrlWithQueryParameters(\n 'Services/getHealthRecords',\n (qs: QueryStringParameters) => {\n qs.push('uid', userId);\n }\n );\n }\n\n healthRecordsHelper = (): string =>\n this.createUrlWithQueryParameters('Services/getHealthRecordsHelper');\n\n typeOfAllergies(type: string): string {\n return this.createUrlWithQueryParameters(\n 'Services/allergies',\n (qs: QueryStringParameters) => {\n qs.push('type', type);\n }\n );\n }\n\n getMedications(userId: string): string {\n return this.createUrlWithQueryParameters(\n 'Services/getMedications',\n (qs: QueryStringParameters) => {\n qs.push('uid', userId);\n }\n );\n }\n updateHealthReacord = (): string =>\n this.createUrl('Services/healthRecordUpdate');\n deletePracticeArea = (): string => this.pythonCreateUrl('practice_area/delete');\n deleteService = (): string => this.pythonCreateUrl('diagnostic_services/delete_test');\n addPracticeAreas = (): string => this.pythonCreateUrl('d/PracticeAreas/add');\n updatePracticeArea = (): string => this.pythonCreateUrl('d/PracticeAreas/update');\n addMedication = (): string => this.createUrl('Services/medication');\n deleteMedication = (): string => this.createUrl('Services/deleteMedications');\n deleteBusinessPage = (): string => this.pythonCreateUrl('hospital_services/delete_page');\n\n getAllDrugs(queryParams: any): string {\n return this.createUrlWithQueryParameters(\n 'Services/medicineList',\n (qs: QueryStringParameters) => {\n qs.push('index', queryParams.index);\n qs.push('searchItem', queryParams.searchItem);\n }\n );\n }\n\n sendAnEnquiry = (): string =>\n this.pythonCreateUrl('services/send_enquiry');\n\n sendAnSubscriptionEnquiry = (): string => \n this.pythonCreateUrlWithQueryParameters('subscribe/enquire_now');\n\n sendOTPSubscription = (): string =>\n this.pythonCreateUrlWithQueryParameters('subscribe/send_otp');\n\n validateOTPSubscription = (): string =>\n this.pythonCreateUrlWithQueryParameters('subscribe/validate_otp');\n\n submitChequeSubscription = (): string =>\n this.pythonCreateUrlWithQueryParameters('subscribe/submit_cheque');\n\n aboutUs = (): string => this.pythonCreateUrlWithQueryParameters('services/about_us');\n\n // async plansList(queryParams) {\n // let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n // await this.signToken(key, queryParams.uid, queryParams);\n // return this.pythonCreateUrlWithQueryParameters(\n // 'subscribe/get_plans',\n // (qs: QueryStringParameters) => {\n // qs.push('data', localStorage.getItem('aesToken'));\n // }\n // );\n // }\n\n async getSubscriptionHistory(queryParams) {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'subscribe/get_subscriptions_history',\n (qs: QueryStringParameters) => {\n qs.push('data', localStorage.getItem('aesToken'));\n }\n );\n }\n\n getEnquiries(queryParams): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'services/get_enquiry_services',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n }\n );\n }\n\n async planDetails(queryParams) {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'subscribe/get_plan_details',\n (qs: QueryStringParameters) => {\n qs.push('data', localStorage.getItem('aesToken'));\n }\n );\n }\n\n getNotificationList(queryParams): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'services/get_notifications',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('filter_by', queryParams.filterBy);\n }\n );\n }\n\n contactUs = (): string =>\n this.pythonCreateUrl('services/contact_us');\n\n\n async plansList(queryParams) {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid ?? 'nushift_connect', queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'subscribe/get_plans',\n (qs: QueryStringParameters) => { \n qs.push('data', localStorage.getItem('aesToken'))\n // qs.push('uid', queryParams.uid);\n // qs.push('job_title', queryParams.job_title);\n // qs.push('token', this.signToken(queryParams, key));\n }\n );\n }\n\n\n changePassword = (): string =>\n this.pythonCreateUrl('services/change_password');\n\n rateUs = (): string => this.pythonCreateUrl('services/feedback');\n\n diagnosisServices(): string {\n return this.createUrlWithQueryParameters('Services/getDiagnosisServices');\n }\n updateMedication = (): string => this.createUrl('/Services/updateMedication');\n updateProfilePic = (): string =>\n this.pythonCreateUrl('services/profile_photo_upload');\n toggleMedicineRemainder = (): string =>\n this.createUrl('Services/MedicationStatusUpdate');\n\n // Networks Apis\n acceptRejectRequest = (): string =>\n this.pythonCreateUrl('networks/accept_reject_request');\n \n connectionList(userId: string, userType: string): string {\n return this.createUrlWithQueryParameters(\n 'Networks/connectionList',\n (qs: QueryStringParameters) => {\n qs.push('uid', userId);\n qs.push('user_type', userType);\n }\n );\n }\n\n networkList = (): string => this.createUrl('Networks/networkList');\n connectionListCount(userId: string): string {\n return this.createUrlWithQueryParameters(\n 'Networks/connectionListCount',\n (qs: QueryStringParameters) => {\n qs.push('uid', userId);\n }\n );\n }\n connectionStatus(userId: string, fId: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'networks/connection_status',\n (qs: QueryStringParameters) => {\n qs.push('uid', userId);\n qs.push('fid', fId);\n }\n );\n }\n followingAndFollowersList(\n userId: string,\n comingFrom: string,\n filterBy: string\n ): string {\n return this.createUrlWithQueryParameters(\n 'Networks/followingAndFollowersList',\n (qs: QueryStringParameters) => {\n qs.push('uid', userId);\n qs.push('comingFrom', comingFrom);\n qs.push('filterBy', filterBy);\n }\n );\n }\n\n getAllNetworks(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'networks/get_all_networks',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('other_id', queryParams.other_id);\n qs.push('coming_from', queryParams.coming_from);\n qs.push('filter_by', queryParams.filter_by);\n qs.push('search_item', queryParams.search_item);\n qs.push('index', queryParams.index);\n }\n );\n }\n\n\n exploreList(queryParams): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'networks/get_explore_list_v2',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('user_type', queryParams.user_type);\n qs.push('name', queryParams.name);\n qs.push('index', queryParams.index);\n }\n );\n }\n\n\n exploreList1(queryParams): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'networks/get_recent_profile_views',\n (qs: QueryStringParameters) => {\n }\n );\n }\n // async getRecentProfileViews(queryParameters: any): Promise {\n // localStorage.setItem('aesToken', '')\n // console.log(\"queryParamas \", queryParameters)\n // await this.getAesToken(queryParameters);\n // this.signToken(localStorage.getItem('privateKey'), queryParameters ?? 'nushift_connect', queryParameters);\n // let encryptedPayload = {\n // data: localStorage.getItem('aesToken')\n // }\n // console.log(\"getRecentProfileViews payload encrypted:- \");\n // console.log(encryptedPayload);\n // return this.pythonCreateUrlWithQueryParameters(\n // 'networks/get_recent_profile_views',\n // (qs: QueryStringParameters) => {\n // qs.push('data', encryptedPayload.data);\n // }\n // );\n // }\n\n getRecentProfileViews = (): string => this.pythonCreateUrl('networks/get_recent_profile_views');\n\n removeConnection = (): string => this.pythonCreateUrl('networks/remove_connection');\n\n withDrawRequest = (): string => this.pythonCreateUrl('networks/withdraw_request');\n\n getConnectionDetails(usersArray: string): string {\n return this.createUrlWithQueryParameters(\n 'Networks/getConnectionDetails',\n (qs: QueryStringParameters) => {\n qs.push('usersArray', usersArray);\n }\n );\n }\n followUser = (): string => this.pythonCreateUrl('networks/user_follow');\n\n postProfessionalSummaryV2 = (): string => this.pythonCreateUrl('doctor_services/update_profile');\n\n deleteAcademicWork = (): string => this.pythonCreateUrl('doctor_services/delete_academic_work');\n\n\n postJob = (): string =>\n this.createUrlHahstag('jobs/postJob');\n\n applyJob = (): string =>\n this.createUrlHahstag('jobs/jobApply');\n\n saveJob = (): string =>\n this.createUrlHahstag('jobs/saveJob');\n\n unSaveJob = (): string =>\n this.createUrlHahstag('jobs/unsaveJob');\n\n closeJob = (): string =>\n this.createUrlHahstag('jobs/closeJob');\n\n unFollowUser = (): string => this.pythonCreateUrl('networks/user_unfollow');\n\n\n // getRecentProfileViews = (): string => this.pythonCreateUrl('networks/get_recent_profile_views');\n\n /*\n GET/POST User related details\n 1. details - followers, following and connections\n 2. userProfile\n */\n\n details(userId: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'networks/following_list_count',\n (qs: QueryStringParameters) => {\n qs.push('profile_id', userId);\n }\n );\n }\n\n async getBannerImages(): Promise {\n return this.pythonCreateUrlWithQueryParameters(\n 'services/get_web_banners',\n (qs: QueryStringParameters) => { \n }\n );\n }\n\n async roles(mob: any) {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, mob.uid ?? 'nushift_connect', mob);\n return this.pythonCreateUrlWithQueryParameters(\n 'provider/get_my_roles',\n (qs: QueryStringParameters) => { \n qs.push('data', localStorage.getItem('aesToken'))\n // qs.push('uid', queryParams.uid);\n // qs.push('job_title', queryParams.job_title);\n // qs.push('token', this.signToken(queryParams, key));\n }\n );\n }\n\n sendRequest = (): string => this.pythonCreateUrl('networks/send_request');\n\n async getRecommendation(queryParams: any): Promise {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'recommendation/get',\n (qs: QueryStringParameters) => {\n qs.push('data', localStorage.getItem('aesToken'));\n // qs.push('type', queryParams.type);\n }\n );\n }\n\n async getRelations(queryParams: any): Promise {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'recommendation/get_relations',\n (qs: QueryStringParameters) => {\n qs.push('data', localStorage.getItem('aesToken'));\n // qs.push('type', queryParams.type);\n }\n );\n }\n\n async getOccupationList(queryParams: any): Promise {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'recommendation/occupation_list',\n (qs: QueryStringParameters) => {\n qs.push('data', localStorage.getItem('aesToken'));\n // qs.push('type', queryParams.type);\n }\n );\n }\n\n askRecommendation = (): string =>\n this.pythonCreateUrl('recommendation/ask');\n createRecommendation = (): string =>\n this.pythonCreateUrl('recommendation/create');\n acceptIgnoreRecommendation = (): string =>\n this.pythonCreateUrl('recommendation/accept_ignore');\n updateRecommendationStatus = (): string =>\n this.pythonCreateUrl('recommendation/update_status');\n\n /* End points for Refer */\n getReferrals(queryParams: any) {\n return this.pythonCreateUrlWithQueryParameters(\n 'referral/get_filtered_referrals',\n (qs: QueryStringParameters) => {\n qs.push('type', queryParams.type);\n qs.push('duration', queryParams.duration);\n qs.push('as_type', queryParams.as_type);\n qs.push('index', queryParams.index);\n qs.push('search_item', queryParams.search_item);\n qs.push('doctors', queryParams.doctors);\n qs.push('specializations', queryParams.specializations);\n qs.push('tests', queryParams.tests);\n qs.push('other_id', queryParams.other_id);\n }\n );\n }\n referConnectionList(userId: string, type: string) {\n return this.pythonCreateUrlWithQueryParameters(\n 'referral/my_connection_list',\n (qs: QueryStringParameters) => {\n qs.push('uid', userId);\n qs.push('utyp', type);\n }\n );\n }\n acceptReject = (): string => this.pythonCreateUrl('referral/accept_reject');\n sendReferral = (): string => this.pythonCreateUrl('referral/send_referral');\n \n reasonForReferrals = (): string =>\n this.pythonCreateUrlWithQueryParameters('referral/reason_for_referrals');\n updateFeedback = (): string => this.pythonCreateUrl('referral/update_feedback');\n referralSuggestion = (): string =>\n this.pythonCreateUrl('referral/referral_suggestion');\n viewReferral(queryParameters: any) {\n return this.pythonCreateUrlWithQueryParameters(\n 'referral/view_referral',\n (qs: QueryStringParameters) => {\n qs.push('ref_id', queryParameters.refid);\n qs.push('other_id', queryParameters.other_id);\n }\n );\n }\n mainUserSearch(\n type: string,\n lat: string,\n lng: string,\n uId: string,\n name: string,\n specialization: string,\n address: string,\n selectedDate: string,\n ctypes: string\n ) {\n return this.createUrlWithQueryParameters(\n 'Networks/getMainUserSearch',\n (qs: QueryStringParameters) => {\n qs.push('lat', lat);\n qs.push('lng', lng);\n qs.push('type', type);\n qs.push('uid', uId);\n qs.push('name', name);\n qs.push('specialization', specialization);\n qs.push('address', address);\n qs.push('selectedDate', selectedDate);\n qs.push('ctypes', ctypes);\n }\n );\n }\n searchVerifiedUsersRef(queryParameters: any) {\n return this.pythonCreateUrlWithQueryParameters(\n 'referral/search_verified_users_ref',\n (qs: QueryStringParameters) => {\n qs.push('other_id', queryParameters.uid);\n qs.push('type', queryParameters.type);\n qs.push('name', queryParameters.name);\n qs.push('spl', queryParameters.spl);\n qs.push('mob', queryParameters.mob);\n }\n );\n }\n getUsersSuggestions(queryParameters: any) {\n return this.createUrlWithQueryParameters(\n 'd/Helper/getUsersSuggestions',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParameters.uid);\n // qs.push('type', queryParameters.type);\n qs.push('searchItem', queryParameters.searchItem);\n }\n );\n }\n getDoctorsList(queryParameters: any) {\n return this.pythonCreateUrlWithQueryParameters(\n 'hospital_appointments/get_specialized_doctors',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParameters.uid);\n }\n );\n }\n getReferralDoctorsList(queryParameters: any) {\n return this.pythonCreateUrlWithQueryParameters\n (\n 'referral/get_specialized_doctors',\n (qs: QueryStringParameters) => {\n qs.push('other_id', queryParameters.uid);\n }\n );\n }\n getTestsList(queryParameters: any) {\n return this.pythonCreateUrlWithQueryParameters(\n 'l/diagnostic_services/get_filtered_tests',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParameters.uid);\n }\n );\n }\n getReferralTestsList(queryParameters: any) {\n return this.pythonCreateUrlWithQueryParameters(\n 'referral/get_filtered_tests',\n (qs: QueryStringParameters) => {\n qs.push('other_id', queryParameters.uid);\n }\n );\n }\n async getFilteredDocs(queryParameters: any): Promise {\n localStorage.setItem('aesToken', '')\n await this.getAesToken(queryParameters);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"getFilteredDocs payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'services/get_filtered_docs',\n (qs: QueryStringParameters) => {\n qs.push('data', localStorage.getItem('aesToken'));\n // qs.push('type_string', queryParameters.type);\n }\n );\n }\n\n async suggestionsForSubSpezn(queryParameters: any): Promise {\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n return this.pythonCreateUrlWithQueryParameters(\n 'services/sub_specializations',\n (qs: QueryStringParameters) => {\n qs.push('id', queryParameters.id);\n }\n );\n }\n\n async searchVerifiedDoctors(queryParameters: any): Promise {\n localStorage.setItem('aesToken', '')\n await this.getAesToken(queryParameters);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"getFilteredDocs payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'services/search_verified_doctors',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n /* Chat APIs */\n async chatList(queryParameters: any) {\n return this.pythonCreateUrlWithQueryParameters(\n 'chat/get_connections_list',\n (qs: QueryStringParameters) => {\n qs.push('name', queryParameters.name);\n qs.push('uid', queryParameters.userId);\n }\n );\n }\n\n joinMeeting(meetingId: string): string {\n return this.createUrlWithQueryParameters('', (qs: QueryStringParameters) =>\n qs.push('meetingId', meetingId)\n );\n }\n\n sendMessage = (): string => this.pythonCreateUrl('chat/send');\n\n async chatHistory(queryParameters: any) {\n return this.pythonCreateUrlWithQueryParameters(\n 'chat/chat_history',\n (qs: QueryStringParameters) => {\n qs.push('from_id', queryParameters.fromId);\n qs.push('to_id', queryParameters.toId);\n qs.push('aid', queryParameters.aId);\n qs.push('index', '0');\n }\n );\n }\n\n async myChat(userId: string, as: string) {\n // let payload = {\n // as: as,\n // uid: userId,\n // index: 0\n // };\n // localStorage.setItem('aesToken', '')\n // await this.getAesToken(payload);\n // let encryptedPayload = {\n // data: localStorage.getItem('aesToken')\n // }\n // console.log(\"daysSlots payload encrypted:- \")\n // console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'chat/get_my_chat',\n (qs: QueryStringParameters) => {\n qs.push('as', as);\n }\n );\n }\n\n // Appointments\n async allPatients(userId: string, searchItem: string) {\n let payload = {\n other_id: userId,\n search_item: searchItem,\n uid: userId\n };\n localStorage.setItem('aesToken', '')\n await this.getAesToken(payload);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"daysSlots payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'services/get_patients_list',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n completeAppointment = (): string =>\n this.createUrl('d/Appointment/completeAppointment');\n\n bookmarksList(userId: string): string {\n return this.createUrlWithQueryParameters(\n 'd/Services/getBookmarksList',\n (qs: QueryStringParameters) => qs.push('uid', userId)\n );\n }\n\n async daysSlots(queryParameters: any): Promise {\n let payload = {\n uid: queryParameters.uid,\n selected_date: queryParameters.selected_date,\n practice_area_id: queryParameters.practiceAreaID,\n coming_from: queryParameters.comingFrom,\n };\n localStorage.setItem('aesToken', '')\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"daysSlots payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'd/doctor_practice_areas/get_days_slots',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n dayCount(queryParams: any): string {\n return this.createUrlWithQueryParameters(\n 'd/Appointment/getDayCount',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('searchOnDate', queryParams.searchOnDate);\n qs.push('Hospital_id', queryParams.Hospital_id);\n qs.push('did', queryParams.did);\n qs.push('spid', queryParams.spid);\n qs.push('loginID', queryParams.loginID);\n }\n );\n }\n\n async feeDetails(queryParameters: any): Promise {\n let payload = {\n uid: queryParameters.uid,\n selected_date: queryParameters.selectedDate,\n practice_area_id: queryParameters.practiceAreaID,\n coming_from: queryParameters.comingFrom,\n doctor_id: queryParameters.doctorID,\n health_id: queryParameters.healthID\n };\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"feeDetails payload encrypted:- \")\n console.log(encryptedPayload);\n return this.createUrlWithQueryParameters(\n 'd/doctor_practice_areas/get_fee_details',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n timeSlots(queryParams: any): string {\n return this.createUrlWithQueryParameters(\n 'd/Appointment/getTimeSlots',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('searchOnDate', queryParams.searchOnDate);\n qs.push('Hospital_id', queryParams.Hospital_id);\n qs.push('did', queryParams.did);\n qs.push('spid', queryParams.spid);\n }\n );\n }\n bookAppointment = (): string =>\n this.createUrl('d/Appointment/bookAppointment');\n\n filteredAppointments(queryParams: any): string {\n return this.createUrlWithQueryParameters(\n 'd/Appointment/getFilteredAppointments',\n (qs: QueryStringParameters) => {\n qs.push('user_id', queryParams.user_id);\n qs.push('type', queryParams.type);\n qs.push('date', queryParams.date);\n qs.push('duration', queryParams.duration);\n qs.push('category', queryParams.category);\n qs.push('range_start', queryParams.range_start);\n qs.push('range_end', queryParams.range_end);\n }\n );\n }\n\n appointments(queryParams): string {\n return this.createUrlWithQueryParameters(\n 'd/Appointment/getAppointments',\n (qs: QueryStringParameters) => {\n qs.push('user_id', queryParams.user_id);\n qs.push('filterBy', queryParams.filterBy);\n qs.push('category', queryParams.category);\n qs.push('type', queryParams.type);\n qs.push('hid', queryParams.hid);\n qs.push('date', queryParams.date);\n qs.push('groupFilter', queryParams.groupFilter);\n }\n );\n }\n\n getUserListbySearch(queryParams): string {\n return this.createUrlWithQueryParameters(\n 'Services/getUsersListBySearch',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('name', queryParams.name);\n qs.push('type', queryParams.type);\n }\n );\n }\n\n getEnquiryServices(): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'services/get_enquiry_services',\n (qs: QueryStringParameters) => {\n // qs.push('uid', queryParams['API-KEY']);\n }\n );\n }\n\n async timings(queryParameters: any): Promise {\n let payload = {\n uid: queryParameters.uid,\n practice_area_id: queryParameters.practiceAreaID,\n };\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"feeDetails payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'd/doctor_practice_areas/get_timings',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n viewAppointment(queryParams): string {\n return this.createUrlWithQueryParameters(\n 'd/Appointment/viewAppointments',\n (qs: QueryStringParameters) => {\n qs.push('apid', queryParams.apid);\n qs.push('user_id', queryParams.user_id);\n }\n );\n }\n\n pushAppointments = (): string =>\n this.createUrl('d/Appointment/pushAppointments');\n\n speakerInvitationStatus = (): string =>\n this.pythonCreateUrl('events/update_invitation_status');\n\n // get doctors specialization end point\n\n getDoctorsSpecialization(queryParameters: any): string {\n return this.createUrlWithQueryParameters(\n 'd/Dashboard/doctorsSpecialization',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParameters.uid);\n qs.push('fid', queryParameters.fid);\n qs.push('spid', queryParameters.spid);\n }\n );\n }\n\n // get analytics end point\n\n // getAnalytics(queryParameters: any): string {\n // return this.createUrlWithQueryParameters(\n // 'd/Dashboard/getAnalytics',\n // (qs: QueryStringParameters) => {\n // qs.push('date', queryParameters.date);\n // qs.push('filterType', queryParameters.filterType);\n // qs.push('uid', queryParameters.uid);\n // qs.push('fid', queryParameters.fid);\n // qs.push('spid', queryParameters.spid);\n // qs.push('type', queryParameters.type);\n // }\n // );\n // }\n\n // get analytics new end point\n\n // getNewAnalytics(queryParameters: any): string {\n // return this.createUrlWithQueryParameters(\n // 'd/Dashboard/getNewAnalytics',\n // (qs: QueryStringParameters) => {\n // qs.push('filterValue', queryParameters.filterValue);\n // qs.push('filterBy', queryParameters.filterBy);\n // qs.push('uid', queryParameters.uid);\n // qs.push('startDate', queryParameters.startDate);\n // qs.push('endDate', queryParameters.endDate);\n // }\n // );\n // }\n\n //get_new_analytics\n\n async getNewAnalytics(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'dashboard/get_new_analytics',\n (qs: QueryStringParameters) => {\n // qs.push('uid', queryParams.uid);\n // qs.push('token', this.signToken(queryParams, key));\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n\n\n async getAnalytics(queryParams: any) {\n localStorage.setItem('aesToken', '');\n await this.getAesToken(queryParams);\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\nMIIJKAIBAAKCAgEAwmI8Cz6XTnVTje6sRBrFMactcjRq4scYQ9lF8kikFgZPfX2Itpf+89yl1J0TmMIO6P2yqD5RHysm2+0TmpiTYel54gU18CcQNmu9lWgF7O9RCNINms/EQEIxqRx3SE6tghWA8BxvADl53TgXjQr3WIG9VHiE/06ebLvoX7uYZyx6Y71bHU6By/EaA8hUI9uq22vZVzMPD0FKXEP+mlt5d7+tDIydDF9Qcf+glmaT4SBrHPDR6yB8di9MY+uoA+ON98O68/GcyK9en98FW3wCIHj2Ql07oHLcqlb4pgoVRL5C2//eh7wHv7yPSPbTiaaQ5H3ygFWAMJoU7iLZjxR+GN/2dhHWqgX1arDm5NTgYfYVpw4yUERZl3iMfQE/JthrBj3vHu2FqI/SmRJKNlz/yhUerHPlSdiJJl/xYZKrajkn1plvGMybeEzoLCyfJ4rvKg9FW2rA2GHBGYHvkZrc2ow8CvQ7VjAFm05AWfYe/2UgmCCwEbanXFGAz34lpbQYvfvu0i1KtxxGTAoIHT/32AOCSC8UXdACKfXFQsK29h4l2O9Y+e9DdmQeACDyH4gqO6xKayUdXLq0fed1xFreHHQi0XknzkQErxckygCIjNdUY+JLosCZY/0NT2oV0wbqFDO8Rc49AKzsNJF2lwM8Iz2x9H3nuRtRIZl8EqPH2dsCAwEAAQKCAgAJefaJaczAk3G2WqtlSpTQfeD2T13inmgtbps9W5M8S6R2brdKh5BzXQ9slRfOe690ZmHeV+NmjJkBYcZx4/xTaql5fl2Jzq24qXn9naukSGp/7pWhNX3Q0ClRoESkbsmArQGzMv+qWCL7yO9E/gLe+rw7MQDy3WdVz7dda2zbosx4rlOR0zD6u09UXeDUOrJSrihTWvbh/IHei6YO6mS6lMqf8P77Cm6GkDrI+kk9UXJHX+or91J6BIZJ3MQ9JEvYh19G40GMexg23Q2KzznfUWZYB+mPQepGF6VZmuY8irYBubCkl2MdUtj9aqMXc9peeVFoNkLgm7JnhaVrl0kqYYSZePA7QrwIMvG2ixH9yImX418IsmOLQC71/G/h1e1nlOVfsK+WoNPvsqobzg3qtm875slMl/B4+dKm6WkJZLzyCOay5Bgr5AbpZjYqdTXegLWOihhRlXDohaPCqrhRs2dmuLjXUu/KgiP2md1hd51ouVeQNHfFZPOLax3XWS26fKZly+CNDx4vPKwFJNM7SJJjpvh7KPB1pA9VSr858fPv+PngltwED5nCsmgKuxhDv9YIyGUirD5KrXSilHhavJnBPAIr0ZPYJYkrik25thzLmaDUBCbpEI4E6g4lJRwTslqSa2iJzl9hUyTqwkCzz1mti6fu7kbiNHMPPlZT0QKCAQEA57m5pREzwAD8XBVKtrOfhgb2PUgu3MaP3O8fGpqk6pcKlCvM3qTROtGRBG5Q1qaMWuH5dF1sGwC2/V1WnuSKbK0c7oe89a0WsFndY082Nz3eJDN62mpPIvqMQrlANhlGCZELIeO8aWK6D/sl+MEVKK4d1hjc7CqaPxBQ5UftpYbOYr+ozKqAFTfLTSZV60w/fw55Y036NFpS5bIOY8Apg1++fWC4IvQqfUsGmJWZvn0LI6ELk9knsVK7YWdunZIgU6NtKSDYP5AmqoLirBW7I7nPxVzf1cMAdtEZ5NdQHnrVH2z76MWaa4cykhTjvON2A+I5PfaPRvjMr5XNZnS2+QKCAQEA1r8ZukawIFpGgtFSlVu5gF9sO1O64/1N+slXigdHsXl7HkTBgepuVa4PTCG6Z4XPNOm+Ikn6pX12+SnRatjWhbOh4fiaMYw6p6EF3NFKjmXr9khXqGMPtuyIt0wWYgp1CxztYgqtQ59RlZGpyZuBMT1T2ele7y/E0Yr8gD8xr3SOiVQkyc1pIeELICLvZ97JfVjyqcqLjourbt1+FGf171C50jZPCjKyu6akRB2dA131UDDQv/xo2OiycFEoD0UoXBJGSN0RwseQkRBj4vhOeDDBlxbaPEAi/H5GVz9gbwbwXKQozmTLD2GqswDBrwh3YKIRhJIrA7bCvRacTcjocwKCAQBW4peOIfYSbwwwhrc96/nLaj7X2YHgu/7jKzGxavydDUclKYsmjAv7jupeC/L5mPcVeJdtHz5SnaD/PQkmiLCycPJhKbobL+xK8VcGToQYkHUDg93zmVrU1bbTqdw+rJlLKvxOl7JknWUAav3g2JzTZP3A8g+b6ZluPfLnFWIw52vpMM3c960Qx5vN8KrUkAFa5ZV0O5+uE5PzliC5HCs0nCizoBlK2dw4oHH3slg0SXRsxoytwgWVAl1J91tNb6X5VlSu0CblJmqpEmxlc7x4d8pEyT8QSo6Y/mxEFstuskXJA7csnzL4UHgQuA5wG6V7bU5jQliUluNAjt22JdsZAoIBAQCSRCtj4w3Hm3V3WNek/4rD0zrG1ervqvJYJJdJXlgIm7OuFCqxMFniZeHpeveZ11wgsCxe8oCUA3brkv4ehn7nJkjWvxtXMCorTtPNaYgcoXMslm2ONZrYfxdHsb11HaZG4XcWVitZacSJ2WMJ/K7sONdKD1goFiM6ji4Zs/FFjmAfTX6ZLR20g7GuO91QpEAc7l6qI1kWyC8GHjrn7z9lt1g5w9/mFE4E3iX4dysgxfh2nCky+tr3EtenBMACVpp8y72vl1OnlYH0LHO8fmAEIUFahagzbYPm8qM6feJS/SjuEKnymlhsq5s2vQcvDtcwrHK+F0jRCMRvQl1H5dXdAoIBAFD+AObRBnwLvcNUnAs7i8WStiGoy9+cKfEo9vof8Y63X5wz5XeOUvu6i80r7crk+vMrxfs9mg9VuXwSqY7+pA9mtqKXh5D7xyKl+BnNMdLZpLzSY+Rr30+jcPKI4mhIQmprgj7/sgO4/gM5lct10NjuPKdiGDFFnXL+P6PKvBcRpu1F6h4M2UL3/ULTAfQLKqm6JMsk6OCQqSLVdQph5cRJ0IN/a/mUCQMkTa1aYkFW334Pi+ov5pl6ttODOLCn5n0c0QUlJXcVqAQ+dH76WNBlHGcUM4+PAjp4h5777xJR+la2PIE8ZN5aln3Ncu/MUv3RrkdUkabM4TBZMdgJicc=\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.signToken(key, queryParams.uid, queryParams);\n return this.pythonCreateUrlWithQueryParameters(\n 'dashboard/get_analytics',\n (qs: QueryStringParameters) => {\n // qs.push('uid', queryParams.uid);\n // qs.push('token', this.signToken(queryParams, key));\n qs.push('data', localStorage.getItem('aesToken'))\n }\n );\n }\n // getNewAnalytics(queryParameters: any): string {\n // return this.createUrlWithQueryParameters(\n // 'dashboard/get_new_analytics',\n // (qs: QueryStringParameters) => {\n // qs.push('filterValue', queryParameters.filterValue);\n // qs.push('filterBy', queryParameters.filterBy);\n // qs.push('uid', queryParameters.uid);\n // qs.push('startDate', queryParameters.startDate);\n // qs.push('endDate', queryParameters.endDate);\n // }\n // );\n // }\n\n accountDeactivate = (): string =>\n this.pythonCreateUrl('services/account_deactivate');\n\n // Event Apis\n\n getCategories(): string {\n return this.pythonCreateUrlWithQueryParameters('events/get_categories');\n }\n\n getDefaultIcons(): string {\n return this.pythonCreateUrlWithQueryParameters('events/get_default_icons');\n }\n\n getSubCategories(queryParameters: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_sub_categories',\n (qs: QueryStringParameters) => {\n qs.push('category', queryParameters.category);\n }\n );\n }\n\n createEvent = (): string => this.pythonCreateUrl('events/create');\n createBusinessPageOne = (): string => this.pythonCreateUrl('provider/create_page_one');\n createBusinessPageTwoH = (): string => this.pythonCreateUrl('hospital_services/update_profile');\n createBusinessPageTwoD = (): string => this.pythonCreateUrl('diagnostic_services/update_profile');\n addDoctor = (): string => this.pythonCreateUrl('/practice_area/invite_doctor');\n\n addServicesBussinesPageH = (): string => this.pythonCreateUrl('hospital_services/update_page_services');\n\n\n createChimeMeeting = (): string =>\n 'https://93a9o99qaf.execute-api.ap-south-1.amazonaws.com/Dev/createmeeting';\n updateAgenda = (): string => this.pythonCreateUrl('events/update_agenda');\n\n getAgenda(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_agenda',\n (qs: QueryStringParameters) => {\n qs.push('event_id', queryParams.eventID);\n }\n );\n }\n\n getSpeakers(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_speakers',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('event_id', queryParams.eventID);\n }\n );\n }\n\n updateSpeakerIntro = (): string =>\n this.pythonCreateUrl('events/update_speaker_intro');\n\n updateSpeakerImage = (): string =>\n this.pythonCreateUrl('events/upload_speaker_image');\n\n getLanguages(searchItem: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_languages',\n (qs: QueryStringParameters) => {\n qs.push('search_item', searchItem);\n }\n );\n }\n\n getIndiaCities(searchItem: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_india_cities',\n (qs: QueryStringParameters) => {\n qs.push('search_item', searchItem);\n }\n );\n }\n\n updateFilters = (): string => this.pythonCreateUrl('events/update_filters');\n\n updatePreview = (): string => this.pythonCreateUrl('events/submit');\n\n getTerms = (): string => this.pythonCreateUrl('events/get_terms');\n\n getCalculationValues = (): string =>\n this.pythonCreateUrlWithQueryParameters('events/get_calculation_values');\n\n getEventCount(uid: string): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/manage_count',\n (qs: QueryStringParameters) => {\n qs.push('uid', uid);\n }\n );\n }\n\n getFilters(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/get_filters',\n (qs: QueryStringParameters) => {\n qs.push('event_id', queryParams.eventID);\n }\n );\n }\n\n getEventDetails(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'events/details',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('event_id', queryParams.eventID);\n }\n );\n }\n\n getNotifications(queryParams: any): string {\n return this.createUrlWithQueryParameters(\n 'Services/getNotifications',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('filterBy', queryParams.filterBy);\n qs.push('index', queryParams.index);\n }\n );\n }\n\n secondOpinionAnswer = (): string =>\n this.pythonCreateUrl('practice_area/second_opinion_answer');\n\n addServiceD = (): string =>\n this.pythonCreateUrl('diagnostic_services/add_test');\n \n updateServiceD = (): string =>\n this.pythonCreateUrl('diagnostic_services/update_test');\n\n practiceAreaS1 = (): string =>\n this.pythonCreateUrl('practice_area/add_one');\n\n practiceAreaS2 = (): string =>\n this.pythonCreateUrl('practice_area/add_two');\n\n practiceAreaS3 = (): string =>\n this.pythonCreateUrl('practice_area/add_three');\n\n practiceAreaSubmit = (): string => this.pythonCreateUrl('practice_area/submit');\n rejectRequest = (): string => this.createUrl('d/Services/rejectTeamRequest');\n acceptRequest = (): string => this.createUrl('d/Services/acceptTeamRequest');\n\n async getPreviewDetails(queryParameters: any): Promise {\n let payload = {\n uid: queryParameters.uid,\n other_id: queryParameters.uid,\n practice_area_id: queryParameters.practiceAreaID,\n };\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"feeDetails payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'practice_area/preview_details',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n async getPracticeArea1(queryParameters: any): Promise {\n let payload = {\n uid: queryParameters.uid,\n practice_area_id: queryParameters.practiceAreaID,\n };\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"feeDetails payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'practice_area/get_one',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n async getPracticeArea2(queryParameters: any): Promise {\n let payload = {\n uid: queryParameters.uid,\n other_id: queryParameters.uid,\n coming_from: queryParameters.comingFrom,\n practice_area_id: queryParameters.practiceAreaID,\n };\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"feeDetails payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'practice_area/get_two',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n async getPracticeArea3(queryParameters: any): Promise {\n let payload = {\n uid: queryParameters.uid,\n other_id: queryParameters.uid,\n coming_from: queryParameters.comingFrom,\n practice_area_id: queryParameters.practiceAreaID,\n };\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'practice_area/get_three',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n getRejectionReasons(queryParams: any) {\n \n return this.pythonCreateUrlWithQueryParameters(\n 'services/get_reject_reasons',\n (qs: QueryStringParameters) => {\n qs.push('coming_from', queryParams.comingFrom);\n qs.push('module', queryParams.module);\n // qs.push('uid', queryParams.uid);\n }\n );\n }\n\n getMyGroups(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/get_my_groups',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('coming_from', queryParams.comingFrom);\n }\n );\n }\n\n getMemberList(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/get_members_list',\n (qs: QueryStringParameters) => {\n qs.push('group_id', queryParams.group_id);\n qs.push('uid', queryParams.uid);\n qs.push('state', queryParams.state);\n qs.push('connection', queryParams.connection);\n qs.push('search_item', queryParams.search_item);\n qs.push('index', queryParams.index);\n }\n );\n }\n\n getGroups(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/get_groups',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('search_item', queryParams.searchItem);\n qs.push('index', queryParams.index);\n }\n );\n }\n\n getDiscussions(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'discussion_board/get',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n }\n );\n }\n\n async getBusinessPageTypes(queryParameters: any): Promise {\n let payload = {\n uid: queryParameters.uid,\n };\n await this.getAesToken(payload);\n this.signToken(localStorage.getItem('privateKey'), queryParameters.uid ?? 'nushift_connect', queryParameters);\n let encryptedPayload = {\n data: localStorage.getItem('aesToken')\n }\n console.log(\"getBusinessPageTypes payload encrypted:- \")\n console.log(encryptedPayload);\n return this.pythonCreateUrlWithQueryParameters(\n 'provider/get_roles_configurations',\n (qs: QueryStringParameters) => {\n qs.push('data', encryptedPayload.data);\n }\n );\n }\n\n getDiscussionDetails(queryParams: any): string {\n return this.createUrlWithQueryParametersHashtag(\n 'discussion_board/details',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('post_id', queryParams.post_id);\n }\n );\n }\n\n getGroupDetails(queryParams: any): any {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/get_group_details',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('group_id', queryParams.group_id);\n }\n );\n }\n\n groupDetails(queryParams: any): any {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/get_details',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('group_id', queryParams.group_id);\n // qs.push('groupID', queryParams.API-KEY);\n }\n );\n }\n\n getAboutGroup(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/about_group',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('group_id', queryParams.group_id);\n }\n );\n }\n\n getInviteConnections(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/get_invite_connections',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('group_id', queryParams.group_id);\n qs.push('search_item', queryParams.search_item);\n qs.push('requested', queryParams.requested);\n qs.push('index', queryParams.index);\n }\n );\n }\n\n sendMultipleInvite = (): string =>\n this.pythonCreateUrl('groups/send_multiple_invite');\n\n changeStateOfMember = (): string =>\n this.pythonCreateUrl('groups/change_state_of_member');\n\n postGroupFeedActivity = (): string =>\n this.pythonCreateUrl('feed/record_activity');\n\n deleteFeedActivity = (): string =>\n this.pythonCreateUrl('groups/delete_feed_activity');\n\n blockMember = (): string => this.pythonCreateUrl('groups/block_member');\n\n deleteGroup = (): string => this.pythonCreateUrl('groups/delete_group');\n\n reportGroup = (): string => this.pythonCreateUrl('groups/report');\n\n requestGroup = (): string => this.pythonCreateUrl('groups/request_group');\n\n getReportList(): string {\n return this.pythonCreateUrlWithQueryParameters('groups/get_report_list');\n }\n\n acceptRejectFeed = (): string => this.pythonCreateUrl('groups/accept_reject_feed');\n\n createGroup = (): string => this.pythonCreateUrl('groups/create_group');\n\n getGroupIndustries(queryParams: any): string {\n return this.pythonCreateUrlWithQueryParameters(\n 'groups/get_group_industries',\n (qs: QueryStringParameters) => {\n qs.push('search_item', queryParams.searchItem);\n }\n );\n }\n\n getNetworksData(queryParams: any): string {\n return this.createUrlWithQueryParameters(\n 'd/Dashboard/getNetworksData',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n }\n );\n }\n getReferralsData(queryParams: any): string {\n return this.createUrlWithQueryParameters(\n 'd/Dashboard/getReferralsData',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n qs.push('comingFrom', queryParams.comingFrom);\n }\n );\n }\n getEventsData(queryParams: any): string {\n return this.createUrlWithQueryParameters(\n 'd/Dashboard/getEventsData',\n (qs: QueryStringParameters) => {\n qs.push('uid', queryParams.uid);\n }\n );\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { ApiHttpService } from 'src/app/services/api-http.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworksService {\n\n clickedNetworkItem = new BehaviorSubject('');\n selectedNetworkItem = this.clickedNetworkItem.asObservable();\n\n constructor(\n private apiEndpointsService: ApiEndpointsService,\n private apiHttpService: ApiHttpService\n ) { }\n\n // Method to get networks data in home screen\n async getNetworksList(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(this.apiEndpointsService.exploreList(formData)).pipe(map((res: any) => {\n return res;\n }));\n }\n\n\n // Method to get networks data in home screen\n async getNetworksList1(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(this.apiEndpointsService.exploreList1(formData)).pipe(map((res: any) => {\n return res;\n }));\n }\n \n\n\n // Method to get connections data in home screen\n async getConnectionsList(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(this.apiEndpointsService.getAllNetworks(formData)).pipe(map((res: any) => {\n return res;\n }));\n }\n\n /**\n * @param {any} formData\n * @returns Observable\n */\n async acceptRejectRequest(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(this.apiEndpointsService.acceptRejectRequest(), formData)\n .pipe(map(res => { if (res.status) return res }));\n }\n\n /**\n * @param {any} formData\n * @returns Observable\n */\n // Send withdraw request an user\n async withDrawRequest(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(this.apiEndpointsService.withDrawRequest(), formData)\n .pipe(map(res => { if (res.status) return res }));\n }\n // Send Connect request an user\n async sendRequest(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.post(this.apiEndpointsService.sendRequest(), formData);\n }\n\n // Follow an user\n async followUser(payload: any): Promise> {\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), payload.uid, payload);\n return this.apiHttpService.post(\n await this.apiEndpointsService.followUser(),\n payload\n );\n }\n\n // Unfollow User\n async unFollowUser(payload: any): Promise> {\n this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), payload.uid, payload);\n return this.apiHttpService.post(await this.apiEndpointsService.unFollowUser(),\n payload\n );\n }\n\n\n // async removeConnection(formData: any): Promise> {\n // let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n // await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n // return this.apiHttpService.post(this.apiEndpointsService.removeConnection(), formData);\n // }\n // async getRecentProfileViews(payload: any): Promise> {\n // this.apiEndpointsService.signToken(localStorage.getItem('privateKey'), payload.uid, payload);\n // // let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n // // this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n // return this.apiHttpService.get(await this.apiEndpointsService.getRecentProfileViews(payload),payload\n // );\n // }\n\n async getRecentProfileViews(formData: any): Promise> {\n let key = \"-----BEGIN RSA PRIVATE KEY-----\\n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\\n-----END RSA PRIVATE KEY-----\" /* ==================== JWT Signing ===================== */\n await this.apiEndpointsService.signToken(key, formData.uid ?? 'nushift_connect', formData);\n return this.apiHttpService.get(this.apiEndpointsService.getRecentProfileViews(), formData);\n }\n}\n\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { User } from 'src/app/models/user';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MoreScreenService } from 'src/app/services/more-screen.service';\n\n@Component({\n selector: 'app-contact-us',\n templateUrl: './contact-us.component.html',\n styleUrls: ['./contact-us.component.css']\n})\nexport class ContactUsComponent implements OnInit {\n\n user: User;\n contactUsForm = new FormGroup({\n name: new FormControl('', Validators.required),\n email: new FormControl('', [Validators.required, Validators.email]),\n description: new FormControl('', Validators.required),\n phone: new FormControl('', [Validators.required, Validators.pattern(\"^((\\\\+91-?)|0)?[0-9]{10}$\")]),\n });\n decryptedUserDetails: any;\n\n constructor(private moreScreenService: MoreScreenService, private _snackBar: MatSnackBar, private spinner: NgxSpinnerService,\n private authService: AuthService, public dialogRef: MatDialogRef, private endPointService: ApiEndpointsService) { }\n\n ngOnInit(): void {\n this.decryptedUserDetails = JSON.parse(decodeURIComponent(localStorage.getItem('user')));\n this.user = this.authService.userValue;\n this.contactUsForm.patchValue({\n name: this.user.name,\n email: this.user.email,\n phone: this.user.mob\n });\n\n }\n\n async onSubmit() {\n this.spinner.show();\n let formData = this.contactUsForm.value;\n formData['uid'] = this.authService.userValue.uid;\n (await this.moreScreenService.contactUs(formData)).subscribe((res) => {\n this.spinner.hide();\n if (res.status) {\n this.openSnackBar(res.message, \"\");\n if (res.data) {\n let response: any;\n this.endPointService.decodeAesToken(this.authService.userValue.uid ?? this.decryptedUserDetails.uid, res.data).then((data) => {\n response = data;\n console.log('contactUs Response:-');\n console.log(JSON.parse(JSON.stringify(JSON.parse(response.replace(/'/g, '\"').replace(/None/g, null).replace(/False/g, false).replace(/True/g, true)))));\n this.dialogRef.close();\n });\n } else {\n this.dialogRef.close();\n }\n } else {\n console.log(res);\n }\n }, error => {\n this.spinner.hide();\n console.log(error);\n })\n }\n\n openSnackBar(message: string, action: string): void {\n this._snackBar.open(message, action, { duration: 3000 });\n }\n}\n","\n
\n

Contact Us

\n \n
\n\n
\n
\n \n Full Name \n\n \n \n\n \n Contact Number \n\n \n \n\n \n Email \n\n \n \n\n \n Query \n\n \n \n
\n

\n \n \n

\n
\n
\n","import { AfterViewInit, Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { NavbarService } from 'src/app/services/navbar.service';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit {\n forgotForm: FormGroup;\n isOTPVerified: boolean;\n emailValidators: ValidatorFn[] = [ // Setting Validators for Email field\n Validators.pattern(\n '^([0-9]{9})|([A-Za-z0-9._%+-]+@[a-z0-9.-]+.[a-z]{2,3})$'\n ),\n ];\n hide: boolean = true;\n hide_two: boolean = true;\n disableButton: boolean = false;\n flagButton: boolean;\n validators: ValidatorFn[] = [Validators.required];\n private uid: string;\n generatedOTPResponse: any;\n showOtpField: boolean = false;\n verifiedOTPResponse: any;\n verifiedOtpField: boolean = false;\n updatedPasswordResponse: any;\n constructor(\n private fb: FormBuilder,\n private authService: AuthService,\n private router: Router,\n public nav: NavbarService,\n private spinner: NgxSpinnerService,\n private _snackBar: MatSnackBar,\n private apiEndPointService: ApiEndpointsService\n ) {\n this.forgotForm = this.fb.group({ // Forgot password formgroup\n email: ['', Validators.required],\n new_password: ['', Validators.required],\n confirm_password: ['', Validators.required],\n otp: ['', Validators.required],\n user_type: ['']\n });\n }\n\n ngOnInit(): void {\n this.nav.navbarHide(); // To hide the navbar menu\n this.nav.footerShow(); // To show the footer at the bottom of the screen\n this.nav.setfooterFixed(); // Setting the footer at the bottom fixed\n }\n\n // public addChild(childName: string, abstractControl: any) {\n // this.forgotForm.addControl(childName, abstractControl);\n // }\n\n // submit() {\n // this.disableButton = true;\n // this.isOTPVerified\n // ? this.verifyOtp(this.forgotForm.value.otp)\n // : this.generateOTP(this.forgotForm.value.email);\n // }\n\n async generateOTP(userId: string) { // Method to send otp to the apicall\n let payload = {\n user_name: this.forgotForm.value.email,\n user_type: this.forgotForm.value.user_type\n };\n this.spinner.show();\n (await this.authService.forgotPasswordOTP(payload)).subscribe((res) => {\n if (res.status && res.data) {\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n this.isOTPVerified = true;\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then((data) => {\n data ? console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'))) : false;\n this.generatedOTPResponse = data ? JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')) : [];\n if (this.generatedOTPResponse.uid) this.uid = this.generatedOTPResponse.uid;\n console.log(this.generatedOTPResponse);\n this.showOtpField = true;\n });\n } else {\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n if (res.status) this.showOtpField = true;\n }\n // if (res.status) {\n // this.openSnackBar(res.message, '');\n // } else {\n // this.openSnackBar(res.message, '');\n // }\n }, error => {\n this.spinner.hide();\n this.openSnackBar('Something went wring! Please try again', '');\n });\n }\n\n async verifyOtp(otp: string) { // Method to verify entered otp \n let payload = {\n mobile: this.forgotForm.value.email,\n otp: Number(this.forgotForm.value.otp)\n }\n this.spinner.show();\n (await this.authService.verifyOtpV2(payload)).subscribe((res) => {\n if (res.status && res.data) {\n this.spinner.hide();\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then((data) => {\n data ? console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'))) : false;\n this.verifiedOTPResponse = data ? JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')) : [];\n console.log(this.verifiedOTPResponse);\n if (res.status) this.verifiedOtpField = true;\n });\n } else {\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n if (res.status) this.verifiedOtpField = true;\n }\n }, error => {\n this.spinner.hide();\n this.openSnackBar('Something went wrong! Please try again', '');\n });\n }\n\n async updatePassword() { // Method to update the new password entered by the user\n let payload = {\n user_name: this.forgotForm.get('email').value,\n new_password: this.forgotForm.get('new_password').value,\n confirm_password: this.forgotForm.get('confirm_password').value\n };\n this.spinner.show();\n (await this.authService.updatePassword(payload)).subscribe((res) => {\n if (res.status && res.data) {\n this.spinner.hide();\n this.apiEndPointService.decodeAesToken((this.authService && this.authService.userValue && this.authService.userValue.uid) ? this.authService.userValue.uid : 'nushift_connect', res.data).then((data) => {\n data ? console.log(JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"'))) : false;\n this.updatedPasswordResponse = data ? JSON.parse(data.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')) : [];\n console.log(this.updatedPasswordResponse);\n if (res.status) {\n this.openSnackBar(res.message, '');\n this.router.navigateByUrl('landing');\n }\n });\n } else {\n this.spinner.hide();\n this.openSnackBar(res.message, '');\n res.status ? this.router.navigate(['/landing']) : false;\n }\n }, error => {\n this.spinner.hide();\n this.openSnackBar('Something went wrong! Please try again', '');\n });\n }\n\n openSnackBar(message: string, action: string): void { // Method to show the alert message\n this._snackBar.open(message, action, {\n duration: 3000,\n });\n }\n}\n","
\n

Forgot Password

\n
\n \n \n \n
\n \n Email/Phone\n number *\n \n \n
\n \n \n \n \n \n
\n \n Enter OTP*\n \n \n
\n \n

New password should not match with the previous password.

\n \n \n
\n \n Enter New\n password*\n \n {{hide ? 'visibility_off' : 'visibility'}}\n \n
\n \n \n
\n \n Enter Confirm\n password*\n \n {{hide_two ? 'visibility_off' : 'visibility'}}\n \n
\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n Loading... \n ","import {\r\n HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpErrorResponse,\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\n\r\nexport class HttpErrorInterceptor implements HttpInterceptor {\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n const token: string = localStorage.getItem('API-KEY');\r\n if (request.url.toLowerCase().includes('getfiltereddocs') || request.url.toLowerCase().includes('getpatientslist') || request.url.toLowerCase().includes('practiceareas') || request.url.toLowerCase().includes('dashboard') || request.url.toLowerCase().includes('getinvited') || request.url.toLowerCase().includes('getuserprofile') || request.url.toLowerCase().includes('services/getrejectreasons')) {\r\n if(!request.url.toLowerCase().includes('feed/record_activity') && !request.url.toLowerCase().includes('groups/get_feed') && !request.url.toLowerCase().includes('groups/delete_feed_activity') && !request.url.toLowerCase().includes('groups/accept_reject_feed') && !request.url.toLowerCase().includes('groups/get_pending_feed') && !request.url.toLowerCase().includes('networks/get_explore_list_v2') && !request.url.toLowerCase().includes('networks/user_unfollow') && !request.url.toLowerCase().includes('networks/get_all_networks')) {\r\n if (request.body) {\r\n request = request.clone({ body: request.body.append('API-KEY', token) });\r\n }\r\n else {\r\n console.log(request.params);\r\n request = request.clone({\r\n params: request.params.append('API-KEY', token),\r\n });\r\n if (request.url.includes('.pdf')) {\r\n for (let key of request.params.keys()) {\r\n if (key == 'API-KEY') {\r\n request = request.clone({\r\n params: request.params.delete('API-KEY')\r\n });\r\n }\r\n }\r\n } else {\r\n for (let key of request.params.keys()) {\r\n if (key !== 'API-KEY') {\r\n request = request.clone({\r\n params: request.params.append('API-KEY', token),\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n }\r\n return next.handle(request).pipe(\r\n retry(0),\r\n catchError((error: HttpErrorResponse) => {\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n // server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n return throwError(errorMessage);\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MoreScreenService } from 'src/app/services/more-screen.service';\n\n@Component({\n selector: 'app-about-us',\n templateUrl: './about-us.component.html',\n styleUrls: ['./about-us.component.css'],\n})\nexport class AboutUsComponent implements OnInit {\n about: any[];\n constructor(\n private moreScreenService: MoreScreenService,\n private _snackBar: MatSnackBar\n ) {}\n\n ngOnInit(): void {\n this.getAbout();\n }\n\n getAbout() {\n this.moreScreenService.aboutUs().subscribe((res) => {\n console.log(res);\n if (res.status) {\n this.about = res.data;\n } else {\n this.openSnackBar(res.message, '');\n }\n });\n }\n\n openSnackBar(message: string, action: string): void {\n this._snackBar.open(message, action, { duration: 3000 });\n }\n}\n ","\n\n
\n

About Us

\n \n
\n\n\n
\n
    \n
  • \n {{a.abtus}}\n
  • \n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LandingScreenComponent } from './components/landing-screen/landing-screen.component';\nimport { AuthGuard } from './modules/auth.guard';\nimport { CanActivate, Router } from '@angular/router';\nimport { DeleteAccountComponent } from './delete-account/delete-account.component';\nimport { RegistrationComponent } from './modules/register/registration/registration.component';\nimport { TermsComponent } from './components/terms/terms.component';\nimport { PrivacyComponent } from './components/privacy/privacy.component';\nimport { AboutComponent } from './components/about/about.component';\nimport { ForgotPasswordComponent } from './modules/forgot-password/forgot-password.component';\nimport { GetInvitedComponent } from './modules/get-invited/get-invited/get-invited.component';\n\nconst routes: Routes = [\n { path: '', redirectTo: '/landing', pathMatch: 'full' }, // Redirect root to terms\n { path: 'delete-account', component: DeleteAccountComponent },\n { path: 'terms', component: TermsComponent },\n { path: 'privacy', component: PrivacyComponent },\n { path: 'about', component: AboutComponent },\n { path: 'register', component: RegistrationComponent },\n { path: 'forgotPassword', component: ForgotPasswordComponent },\n { path: 'landing', component: LandingScreenComponent },\n\n {\n path: 'get-invited',\n component: GetInvitedComponent,\n },\n {\n path: 'home',\n loadChildren: () =>\n import('./modules/home/home.module').then((m) => m.HomeModule),\n canActivate: [AuthGuard],\n },\n\n {\n path: 'networks',\n loadChildren: () =>\n import('././modules/networks/networks.module').then(\n (m) => m.NetworksModule\n ),\n canActivate: [AuthGuard],\n },\n {\n path: 'chat',\n loadChildren: () =>\n import('././modules/chat/chat.module').then((m) => m.ChatModule),\n canActivate: [AuthGuard],\n },\n {\n path: 'groups',\n loadChildren: () =>\n import('././modules/groups/groups.module').then((m) => m.GroupsModule),\n canActivate: [AuthGuard],\n },\n {\n path: 'events',\n loadChildren: () =>\n import('././modules/events/events.module').then((m) => m.EventsModule),\n canActivate: [AuthGuard],\n },\n {\n path: 'refer',\n loadChildren: () =>\n import('././modules/refer/refer.module').then((m) => m.ReferModule),\n canActivate: [AuthGuard],\n },\n {\n path: 'jobs',\n loadChildren: () =>\n import('././modules/jobs/jobs.module').then((m) => m.JobsModule),\n canActivate: [AuthGuard],\n },\n {\n path: 'dashboard',\n loadChildren: () =>\n import('././modules/dashboard/dashboard.module').then(\n (m) => m.DashboardModule\n ),\n canActivate: [AuthGuard],\n },\n {\n path: 'subscriptions',\n loadChildren: () =>\n import('././modules/subscriptions/subscriptions.module').then(\n (m) => m.SubscriptionsModule\n ),\n canActivate: [AuthGuard],\n },\n {\n path: 'profile',\n loadChildren: () =>\n import('././modules/profile/profile.module').then((m) => m.ProfileModule),\n canActivate: [AuthGuard],\n },\n // { path: '', redirectTo: '', pathMatch: 'full' }, // optional: redirect root to landing\n // { path: '**', redirectTo: '' }, // optional: wildcard route\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n})\nexport class AppRoutingModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { FAQModel } from 'src/app/models/faq-model';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { NavbarService } from 'src/app/services/navbar.service';\n\n@Component({\n selector: 'app-landing-screen',\n templateUrl: './landing-screen.component.html',\n styleUrls: ['./landing-screen.component.scss'],\n})\nexport class LandingScreenComponent implements OnInit {\n isLoginClicked: boolean = false;\n constructor(\n private nav: NavbarService,\n public authService: AuthService\n ) {}\n\n faqList: FAQModel[] = [\n {\n question: 'Who can be a part of Nushift Connect?',\n answer:\n 'Currently only doctors holding a valid registration number can register on the platform. However the services will soon be extended to Patients, Hospitals, Diagnostics, Pharmacies & other key stakeholders within the healthcare community. ',\n },\n {\n question: 'How can I be a part of the Nushift Connect app?',\n answer:\n 'Nushift Connect is an invite only platform, if you know someone who is an existing user of the app you can ask them for an exclusive invitation. However you can also register your details with us to get regular updates on membership.',\n },\n {\n question: 'What can I post on the feed ?',\n answer:\n 'You can post interesting articles, latest updates, facts, images, informative videos and case studies on the feed.',\n },\n {\n question: 'Why should I conduct an event through Nushift?',\n answer:\n 'Nushift Technologies offers the convenience to conduct virtual events like CMEs, Health talks, online conferences, workshops and seminars online to help your voice reach the relevant stakeholders within the healthcare community.',\n },\n {\n question: 'Is Nushift Technologies a free networking platform ?',\n answer:\n 'Nushift Technology’s networking platform is modelled on the principle of a freemium pricing which means some features of the app are free. However there are significant advantages that a premium subscription offers. Get in touch with our team or visit the product page to know more.',\n },\n {\n question: 'How can I connect with other doctors on the app?',\n answer:\n 'In order to connect with a doctor through the Nushift Connect app, search for the doctor by name, specialisation and location.In case you don’t happen to find a doctor known to you on the platform, then please feel free to invite them from your personal contacts.',\n },\n {\n question:\n 'How can I make my events reach out to the right target audience?',\n answer:\n 'While creating your event on the app, kindly filter the options to reach out to the right target audience for your events. Based on the filter results your event will get recommended to the potential audience.',\n },\n {\n question: 'What features can be availed while conducting events?',\n answer:\n 'If you are conducting an event through Nushift Connect then you can avail the following- a registration platform, viewer data management, Q&A for participants, quick notes, and use the chat feature during the event.',\n },\n {\n question: 'How is Nushift Connect unifying the medical ecosystem?',\n answer:\n 'Through Nushift Connect doctors can find a common engagement platform for sharing their thoughts, views, and collaboratively make the best use of their expertise in individual areas. An ongoing strain of communication will help doctors better their understanding of critical cases and work towards their cost and time effective resolution.',\n },\n {\n question: 'Is Nushift Connect a social media site?',\n answer:\n 'Nushift Connect is essentially a networking and engagement platform for doctors. It’s a closed community where people from within the medical fraternity work towards making healthcare services more accessible and patient care more proactive. It helps doctors stay connected to their wider community on the go.',\n },\n ];\n\n ngOnInit() {\n this.authService.isSpecialComponentActive = false;\n this.authService.routerChanges();\n this.nav.navbarHide();\n this.nav.footerHide();\n }\n\n login(type) {\n if (type == 'login') {\n this.isLoginClicked = true;\n }\n }\n loginClosed(event) {\n if (event === true) {\n this.isLoginClicked = false;\n }\n }\n\n toScroll(id: string) {\n // install commands changed\n document.getElementById(id).scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'nearest',\n });\n // document.getElementsByClassName(clickedTag)[0].classList.add(clickedTag);\n }\n}\n","
\n \n \n \n \n
\n \n \n\n \n
\n
\n

\n Connect with the biggest network of doctors across the\n globe-Seamlessly, Instantly and conveniently.\n

\n

\n Nushift Technologies\n is India’s largest networking and engagement platform for the\n medical community that works towards unifying the entire medical\n ecosystem by fostering better connection, communication and\n collaboration.\n

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

How Does it work?

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

Connect with your fraternity

\n

\n Build interdisciplinary connections within the fraternity by\n networking and engaging with doctors across the city, globe\n and specialisation.\n

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

Cross-Refer Cases

\n

\n Collaboratively work on cases to get better insights and\n perspective, and work towards bringing out faster and\n improved treatment outcomes.\n

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

Conduct CMEs

\n

\n Educate the fraternity with the latest medical updates,\n share journals, case studies and articles to empower the\n community. Conduct online events, conferences and workshops\n to encourage a free-flow of information and knowledge within\n the fraternity.\n

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

Engage, Educate, Enable and Empower

\n

\n Engage proactively to grow your network wider by making the\n right connections with the right people. Educate, enable and\n empower yourself to adapt to the ever-changing dynamics of\n the medical landscape, and to progressively stay updated\n with the new advancements in the field of health sciences.\n

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

Our Services

\n

\n Connect, collaborate and cohesively work with a wider network of\n doctors within the medical fraternity.\n

\n
\n
\n
\n
\n

Connect Conveniently

\n

\n We bring together the entire community of doctors under one\n platform and look forward to helping the medical fraternity by\n working closely towards making healthcare processes more\n goal-oriented, agile and proactive.\n

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

Communicate Cohesively

\n

\n Communication is the cornerstone for networking, a good and\n healthy exchange between doctors helps them to better both their\n humanistic and technical side. At Nushift Connect we work\n

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

Collaborate Continually

\n

\n Come together as a team to opine on matters of joint concern and\n decision making. We promote ongoing col- laboration within the\n fraternity to work towards a more comprehensive, cost-efficient\n and population based ap- proach towards patient care. A\n collaborative approach leads to better outcomes in the direction\n of health pro- motion and disease prevention.\n

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

FAQ's

\n \n
\n
    \n
    \n

    \n Q. {{ faq.question }}\n

    \n

    A. {{ faq.answer }}

    \n
    \n
\n
\n\n \n
\n \n
\n
\n Download the NUSHIFT CONNECT App\n
\n
\n \n \n \n \n \n
\n
\n
\n\n \n \n
\n
\n
\n
\n
\n
\n Nushift Connect has analyzed the present trend of patients\n choosing a particular healthcare institution over another.\n
\n \n
\n
\n
\n
\n Company\n
\n
\n \n \n How Does it Work\n
\n
\n \n \n Services\n
\n
\n FAQ’s\n
\n
\n Contact Us\n
\n
\n Download App\n
\n
\n
\n
\n
\n
\n
\n Get in touch\n
\n
\n
\n \n
\n
\n Nushift Technologies Pvt. Ltd.
\n T-Hub 2.0, 20, Inorbit Mall Rd, Vittal Rao Nagar,\n Madhapur,
\n Hyderabad, Telangana 500081
\n
\n
\n
\n
\n \n
\n
+91 90304 13379
\n
\n
\n
\n \n
\n
info@nushift.in
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n © 2024 Nushift Connect | All rights reserved\n
\n
\n
\n
\n
\n
\n
","\n\nimport { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { GroupsService } from 'src/app/modules/groups/services/groups.service';\nimport { ApiEndpointsService } from 'src/app/services/api-endpoint.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { NavbarService } from 'src/app/services/navbar.service';\nimport { GroupDeleteModel } from 'src/app/models/groups.model';\nimport { JobsService } from '../../services/jobs.service';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\n\n@Component({\n selector: 'app-jobs',\n templateUrl: './jobs.component.html',\n styleUrls: ['./jobs.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class JobsComponent implements OnInit {\n tabName: string = 'all-jobs';\n showCreateGroup: boolean = false;\n submittedJobForm = false;\n applyJobForm = false;\n\n // myGroupsList: any[] = [];\n recommendedJobsList: any[] = [];\n requestedGroupsList: any[] = [];\n currentUrl: string;\n defaultImage = './assets/img/nushiftconnect_logo.svg';\n selectedIndex: number;\n companiesList: any\n isChecked: boolean = false;\n ananymous = 'no';\n showJobPreview: boolean = false;\n jobDetails: any;\n jobType: any;\n showJobApplyPreview: boolean = false;\n applicationForm: FormGroup;\n uploadedResume: File | any;\n public createJobForm: FormGroup;\n constructor(\n private groupsService: GroupsService,\n private jobsService: JobsService,\n private authService: AuthService,\n private nav: NavbarService,\n public dialog: MatDialog,\n private router: Router,\n private _snackBar: MatSnackBar,\n private spinner: NgxSpinnerService,\n private apiEndPointService: ApiEndpointsService,\n private activatedRoute: ActivatedRoute,\n private _formBuilder: FormBuilder,\n private fb: FormBuilder,\n ) {}\n\n ngOnInit(): void {\n\n this.getRecommendedJobs();\n this.createApplicationForm();\n\n this.activatedRoute.queryParams.subscribe((params: any) => {\n if (params.cf && params.cf.toLowerCase() == 'j') {\n // Goes inside this condition if side navtype clicked is groups after login\n this.authService.isLoggedIn.next({\n showNavbar: true,\n showSideNav: true,\n cf:\n params.cf && params.cf.toLowerCase()\n ? params.cf.toLowerCase()\n : 'j',\n });\n }\n });\n this.nav.setfooterNotFixed();\n\n\n this.getCompaniesList();\n\n this.createJobForm = this._formBuilder.group({ // Creating Formgroup to Edit/Create Group\n job_title: ['', Validators.required],\n organization_name:['', Validators.required],\n job_location: ['', Validators.required],\n job_type: ['', Validators.required],\n job_description: ['', Validators.required],\n uid: this.authService.userValue.uid\n });\n }\n async getCompaniesList() { \n \n console.log(\"this.authService.userValue\",this.authService.userValue);\n this.authService.isSpecialComponentActive = true;\n\n // To get the companies List for the Job Company Field\n let payload = {\n 'user_name': this.authService.userValue.mob,\n uid: this.authService.userValue.uid\n };\n (await this.jobsService.getCompaniesList(payload)).subscribe((res) => {\n this.apiEndPointService.decodeAesToken(this.authService.userValue.uid, res.data).then((data: any) => {\n this.companiesList = JSON.parse(data.replace(/'/g, '\"'));\n console.log(this.companiesList.organization_name);\n });\n })\n\n }\n\n\n checkboxChanged(event: any) {\n this.isChecked = event.checked;\n // You can perform additional actions here based on the checkbox state\n if (this.isChecked) {\n console.log('Checkbox is checked');\n this.ananymous = 'yes';\n // Perform some action when checkbox is checked\n } else {\n console.log('Checkbox is unchecked');\n this.ananymous = 'no';\n // Perform some action when checkbox is unchecked\n }\n }\n async createJob() { \n\n this.submittedJobForm = true;\n if (this.createJobForm.invalid) {\n return;\n }\nelse\n{\n console.log(this.createJobForm.value,'createJobForm');\n let payload_data = this.createJobForm.value;\n payload_data['organization_name'] = this.createJobForm.value.organization_name;\n payload_data['is_anonymous'] = this.ananymous;\n console.log(payload_data,'create a job payload');\n this.spinner.show();\n (await this.jobsService.postJob(payload_data)).subscribe((res: any) => {\n this.spinner.hide();\n console.log(res);\n if (res.status) {\n this.apiEndPointService.decodeAesToken(this.authService.userValue.uid, res.data).then((data) => {\n let response = data;\n console.log(response);\n this.createJobForm.reset();\n this.submittedJobForm = false;\n // this.onTabChange(\"manage\");\n });\n this.openSnackBar(res.message, \"\");\n }\n }, error => {\n this.spinner.hide();\n this.openSnackBar(error, \"\");\n })\n }\n }\n uploadResume(files: FileList): void {\n // if (event.target.files.length > 0) {\n this.uploadedResume = files.item(0);\n\n console.log(this.uploadResume);\n this.applicationForm.patchValue({\n resume: files.item(0),\n });\n // }\n }\n\n\n createApplicationForm() {\n this.applicationForm = this.fb.group({\n name: ['', Validators.required],\n phoneNumber: ['', Validators.required],\n emailAddress: ['', Validators.required],\n resume: ['', Validators.required]\n })\n }\n submitJob(job: any) {\n\n this.applyJobForm = true;\n if (this.applicationForm.invalid) {\n return;\n }\nelse\n{\n\n let job_apply_payload = {\n uid: this.authService.userValue.uid,\n jobID: this.jobDetails.job_id,\n email: this.applicationForm.get('emailAddress').value,\n mobile: this.applicationForm.get('phoneNumber').value,\n country_code: \"91\"\n }\n\n console.log(job_apply_payload,\"Job apply payload\");\n this.uploadedResume['resume'] = this.uploadedResume.name;\n this.jobsService.applyJob(job_apply_payload, this.uploadedResume).subscribe((result) => {\n console.log(result);\n if (result.status) {\n this.apiEndPointService.decodeAesToken(this.authService.userValue.uid, result.data).then((data) => {\n let response = data;\n console.log(response);\n this.applyJobForm = false;\n });\n this.openSnackBar(result.message, \"\");\n }\n })\n console.log(this.applicationForm.value);\n }\n}\n // applyForJob(jobDetails): void {\n // const dialogRef = this.dialog.open(ApplyJobDialogComponent, {\n // data: {\n // jobDetails: jobDetails,\n // comingFrom: this.comingFrom\n // },\n // disableClose: true\n // });\n\n // dialogRef.afterClosed().subscribe((result) => {\n // if (result.res.status) {\n // console.log(result);\n // if (result.res.comingFrom.toLowerCase() == '') {\n // this.getJobs();\n // } else {\n // this.getSavedJobs(result.res.comingFrom.toLowerCase());\n // }\n // }\n // });\n // }\n \n async getRecommendedJobs() {\n // Method to get my groups\n const formData = {\n job_title: '',\n uid: this.authService.userValue.uid,\n };\n\n // this.spinner.show();\n (await this.jobsService.getRecommendedJobs(formData)).subscribe(\n (res: any) => {\n // this.spinner.hide();\n // this.myjobsList = [];\n let response;\n if (res.status) {\n this.spinner.hide();\n console.log(res);\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n response = data;\n this.recommendedJobsList = JSON.parse(\n response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')\n );\n console.log(this.recommendedJobsList);\n this.recommendedJobsList.forEach((job) => {\n if (job.cd) {\n let startDate = new Date(job.cd).getTime();\n let endDate = new Date().getTime();\n let timeDifference = endDate - startDate;\n let days = Math.floor(timeDifference / (1000 * 60 * 60 * 24));\n let hours = Math.floor(\n (timeDifference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)\n );\n let minutes = Math.floor(\n (timeDifference % (1000 * 60 * 60)) / (1000 * 60)\n );\n let seconds = Math.floor(\n (timeDifference % (1000 * 60)) / 1000\n );\n console.log(\n days + ' Days ',\n hours +\n ' Hours ' +\n minutes +\n ' Minutes ' +\n seconds +\n ' Seconds '\n );\n job.cd = days\n ? days + ' Days '\n : hours\n ? hours + ' Hours '\n : minutes\n ? minutes + ' Minutes '\n : seconds\n ? seconds + ' Seconds '\n : '';\n }\n });\n });\n this.openSnackBar(res.message, '');\n } else {\n this.spinner.hide();\n this.recommendedJobsList = [];\n }\n },\n (error) => {\n // this.spinner.hide();\n this.spinner.hide();\n // this.openSnackBar(error, '');\n this.openSnackBar('Something went wrong! Please try again', '');\n }\n );\n }\n openSnackBar(message: string, action: string): void {\n // Method to show alert when any api calls\n this._snackBar.open(message, action, { duration: 3000 });\n }\n onJobClick(job: any) {\n\n console.log(job.job_tle);\n this.showJobPreview = true;\n }\n\n jobPreview(jobType, jobDetails) {\n console.log(jobType,jobDetails,\"jobType,jobDetails.\");\n this.jobDetails = jobDetails;\n this.jobType = jobType;\n this.showJobPreview = true;\n }\n\n\n\n onTabChange(event) {\n this.tabName = event.value.toLowerCase();\n console.log('this.tabName jobs:- ', this.tabName);\n switch (this.tabName.toLowerCase()) {\n case 'my-jobs':\n break;\n case 'post':\n this.showCreateGroup = true;\n break;\n case 'manage':\n break;\n default:\n break;\n }\n }\n async saveJob(job: any) {\n job.ap_sts = \"saved\";\n // Method to get my groups\n const formData = {\n uid: this.authService.userValue.uid,\n jobID: job.job_id\n };\n\n console.log(formData);\n\n // this.spinner.show();\n (await this.jobsService.saveJob(formData)).subscribe(\n (res: any) => {\n // this.spinner.hide();\n // this.myjobsList = [];\n let response;\n if (res.status) {\n this.spinner.hide();\n console.log(res);\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n response = data;\n // this.recommendedJobsList = JSON.parse(\n // response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')\n // );\n console.log(response);\n });\n this.openSnackBar(res.message, '');\n } else {\n this.spinner.hide();\n }\n },\n (error) => {\n // this.spinner.hide();\n this.spinner.hide();\n // this.openSnackBar(error, '');\n this.openSnackBar('Something went wrong! Please try again', '');\n }\n );\n }\n\n async unsaveJob(job: any) {\n job.ap_sts = \"\";\n // Method to get my groups\n const formData = {\n uid: this.authService.userValue.uid,\n jobID: job.job_id\n };\n\n console.log(formData);\n\n // this.spinner.show();\n (await this.jobsService.unsaveJob(formData)).subscribe(\n (res: any) => {\n // this.spinner.hide();\n // this.myjobsList = [];\n let response;\n if (res.status) {\n this.spinner.hide();\n console.log(res);\n this.apiEndPointService\n .decodeAesToken(this.authService.userValue.uid, res.data)\n .then((data) => {\n response = data;\n // this.recommendedJobsList = JSON.parse(\n // response.replace(/'/g, '\"').replace(/: None/g, ': \"None\"')\n // );\n console.log(response);\n });\n this.openSnackBar(res.message, '');\n } else {\n this.spinner.hide();\n }\n },\n (error) => {\n // this.spinner.hide();\n this.spinner.hide();\n // this.openSnackBar(error, '');\n this.openSnackBar('Something went wrong! Please try again', '');\n }\n );\n }\n applyJob(job: any) {\n this.showJobPreview = false\n this.showJobApplyPreview = true;\n\n}\n}","\n \n
\n \n My Jobs\n Post\n Manage jobs\n \n
\n\n
\n \n

Recommended jobs

\n
\n 0\"\n class=\"recommended-jobs-list\"\n [ngStyle]=\"{\n width: showJobPreview || showJobApplyPreview ? '30%' : '100%',\n flex: showJobPreview || showJobApplyPreview ? '0 0 30%' : '0 0 100%'\n }\"\n >\n \n \n
\n \n \n \n
\n \n \n {{ job.job_tle }}\n \n
\n location_on\n \n \n {{ job.job_cmpny }}\n \n \n \n Owner\n \n
\n \n \n {{ job.job_loc }}\n \n
\n
\n\n \n
\n \n {{ job.cd }} ago\n \n \n \n
\n \n \n
\n
\n
\n \n
\n \n \n

No Recommended Jobs Found

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

\n {{ jobDetails?.job_tle | uppercase }}\n

\n close\n
\n\n \n
\n \n
\n
\n {{ jobDetails?.job_cmpny + \",\" + jobDetails?.job_loc }}\n
\n
\n {{ \"   \" + jobDetails?.cd }} ago\n
\n
\n
\n\n
\n \n
\n {{ jobDetails?.job_typ }}\n
\n
\n\n \n
\n\n
\n
Meet the Hiring Team
\n \n \n
\n
\n {{ jobDetails?.hirer_details.name }}\n
\n
\n {{ jobDetails?.hirer_details.subsplid }} |\n
\n \n
\n
\n
\n
\n
\n
About the Job
\n
\n {{ jobDetails?.job_des }}\n
\n
\n \n \n Save\n \n \n Apply\n \n \n \n \n \n \n \n\n \n
\n
\n \n\n
\n \n\n

\n Apply to\n

\n \n close\n
\n\n

Contact info

\n
\n \n
\n
\n \n \n Name*\n \n \n Name is required.\n
\n \n \n Phone Number*\n \n \n Phone Number is required.\n
\n \n \n Email Address*\n \n \n Email is required.\n \n \n upload Resume*\n
\n \n \n
\n Upload Resume\n
\n \n \n

{{ uploadedResume?.name }}

\n \n \n \n \n \n Submit\n \n \n Please fill out all fields correctly.\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n
\n \n
\n

Tell us who you are hiring

\n\n
\n\n
\n\n \n \n \n \n Job Title * \n\n \n \n \n \n\n \n
\n \n\n \n\n Company * \n\n \n {{ organization_name }}\n \n \n \n
\n\n \n\n \n\n Job Location * \n\n \n \n \n \n\n \n \n Job Type * \n\n \n \n \n \n\n \n \n Job Description * \n\n \n \n \n \n Ananymously post this job\n
\n \n
\n \n Please fill out all fields correctly.\n
\n \n
\n \n
\n \n

Manage jobs

\n \n\n \n
\n \n
\n\n\n Loading... \n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-terms-conditions',\n templateUrl: './terms-conditions.component.html',\n styleUrls: ['./terms-conditions.component.scss']\n})\nexport class TermsConditionsComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n ) { }\n\n ngOnInit(): void {\n }\n\n closeDialog() {\n this.dialogRef.close();\n }\n\n}\n","\n\n
\n

Nushift Terms and Conditions

\n \n
\n\n
\n

\n Nushift Technologies Private Limited, on behalf of itself and its affiliates/group companies under the brand\n \"Nushift\" (“Nushift”), is the author and publisher of the internet resource www.Nushift.com and the mobile\n application ‘Nushift’ (together, “Website”). Nushift owns and operates the services provided through the Website.\n

\n
    \n
  • \n
    1.NATURE AND APPLICABILITY OF TERMS
    \n

    \n Please carefully go through these terms and conditions (“Terms”) and the privacy policy available at\n https://www.Nushift.com/company/privacy (“Privacy Policy”) before you decide to access the Website or\n avail the services made available on the Website by Nushift. These Terms and the Privacy Policy together\n constitute a legal agreement (“Agreement”) between you and Nushift in connection with your visit to the\n Website and your use of the Services (as defined below).\n

    \n

    The Agreement applies to you whether you are -

    \n
      \n
    • \n A medical practitioner or health care provider (whether an individual professional or an organization) or\n similar institution wishing to be listed, or already listed, on the Website, including designated,\n authorized associates of such practitioners or institutions (“Practitioner(s)”, “you” or “User”); or\n
    • \n
    • \n A patient, his/her representatives or affiliates, searching for Practitioners through the Website\n (“End-User”, “you” or “User”); or\n
    • \n
    • \n Otherwise a user of the Website (“you” or “User”).\n
    • \n
    \n

    \n This Agreement applies to those services made available by Nushift on the Website, which are offered free of\n charge to the Users (“Services”), including the following:\n

    \n
      \n
    • \n For Practitioners: Listing of Practitioners and their profiles and contact details, to be made available to\n the other Users and visitors to the Website;\n
    • \n
    • \n For other Users: Facility to (i) create and maintain ‘Health Accounts’, (ii) search for Practitioners by\n name, specialty, and geographical area, or any other criteria that may be developed and made available by\n Nushift, and (iii) to make appointments with Practitioners.\n
    • \n
    \n

    \n The Services may change from time to time, at the sole discretion of Nushift, and the Agreement will apply to\n your visit to and your use of the Website to avail the Service, as well as to all information provided by you\n on the Website at any given point in time.\n

    \n

    \n This Agreement defines the terms and conditions under which you are allowed to use the Website and describes\n the manner in which we shall treat your account while you are registered as a member with us. If you have any\n questions about any part of the Agreement, feel free to contact us at support@Nushift.com.\n

    \n

    \n By downloading or accessing the Website to use the Services, you irrevocably accept all the conditions\n stipulated in this Agreement, the Subscription Terms of Service and Privacy Policy, as available on the Website, and agree to abide by them. This Agreement\n supersedes all previous oral and written terms and conditions (if any) communicated to you relating to your\n use of the Website to avail the Services. By availing any Service, you signify your acceptance of the terms of\n this Agreement.\n

    \n

    \n We reserve the right to modify or terminate any portion of the Agreement for any reason and at any time, and\n such modifications shall be informed to you in writing You should read the Agreement at regular intervals.\n Your use of the Website following any such modification constitutes your agreement to follow and be bound by\n the Agreement so modified.\n

    \n

    \n You acknowledge that you will be bound by this Agreement for availing any of the Services offered by us. If\n you do not agree with any part of the Agreement, please do not use the Website or avail any Services.\n

    \n

    \n Your access to use of the Website and the Services will be solely at the discretion of Nushift.\n

    \n

    \n The Agreement is published in compliance of, and is governed by the provisions of Indian law, including but\n not limited to:\n

    \n
      \n
    • \n the Indian Contract Act, 1872,\n
    • \n
    • \n the (Indian) Information Technology Act, 2000, and\n
    • \n
    • \n the rules, regulations, guidelines and clarifications framed there under, including the (Indian) Information\n Technology (Reasonable Security Practices and Procedures and Sensitive Personal Information) Rules, 2011\n (the “SPI Rules”), and the (Indian) Information Technology (Intermediaries Guidelines) Rules, 2011\n (the “IG Rules”).\n
    • \n
    \n
  • \n
  • \n
    2.CONDITIONS OF USE
    \n

    \n You must be 18 years of age or older to register, use the Services, or visit or use the Website in any manner.\n By registering, visiting and using the Website or accepting this Agreement, you represent and warrant to\n Nushift that you are 18 years of age or older, and that you have the right, authority and capacity to use the\n Website and the Services available through the Website, and agree to and abide by this Agreement.\n

    \n
  • \n
  • \n
    3.TERMS OF USE APPLICABLE TO ALL USERS OTHER THAN PRACTITIONERS
    \n

    The terms in this Clause 3 are applicable only to Users other than Practitioners.

    \n
      \n
    • \n 3.1END-USER ACCOUNT AND DATA PRIVACY\n
        \n
      • 3.1.1 The terms “personal information” and “sensitive personal data or\n information” are defined under the SPI Rules, and are reproduced in the Privacy Policy.\n
      • \n
      • 3.1.2 Nushift may by its Services, collect information relating to the\n devices through which you access the Website, and anonymous data of your usage. The collected\n information will be used only for improving the quality of Nushift’s services and to build new services.\n
      • \n
      • 3.1.3 The Website allows Nushift to have access to registered Users’\n personal email or phone number, for communication purpose so as to provide you a better way of booking\n appointments and for obtaining feedback in relation to the Practitioners and their practice.\n
      • \n
      • \n 3.1.4 The Privacy Policy sets out, inter-alia:\n
          \n
        • \n The type of information collected from Users, including sensitive personal data or information;\n
        • \n
        • The purpose, means and modes of usage of such information;
        • \n
        • How and to whom Nushift will disclose such information; and,
        • \n
        • Other information mandated by the SPI Rules.
        • \n
        \n
      • \n
      • \n 3.1.5 The User is expected to read and understand the Privacy Policy, so as\n to ensure that he or she has the knowledge of, inter-alia:\n
          \n
        • the fact that certain information is being collected;
        • \n
        • the purpose for which the information is being collected;
        • \n
        • the intended recipients of the information;
        • \n
        • the nature of collection and retention of the information; and
        • \n
        • the name and address of the agency that is collecting the information and the agency that will\n retain the information; and
        • \n
        • the various rights available to such Users in respect of such information.
        • \n
        \n
      • \n
      • 3.1.6 Nushift shall not be responsible in any manner for the authenticity\n of the personal information or sensitive personal data or information supplied by the User to Nushift or\n to any other person acting on behalf of Nushift.\n
      • \n
      • 3.1.7 The User is responsible for maintaining the confidentiality of the\n User’s account access information and password, if the User is registered on the Website. The User shall\n be responsible for all usage of the User’s account and password, whether or not authorized by the User.\n The User shall immediately notify Nushift of any actual or suspected unauthorized use of the User’s\n account or password. Although Nushift will not be liable for your losses caused by any unauthorized use\n of your account, you may be liable for the losses of Nushift or such other parties as the case may be,\n due to any unauthorized use of your account.\n
      • \n
      • \n 3.1.8If a User provides any information that is untrue, inaccurate, not\n current or incomplete (or becomes untrue, inaccurate, not current or incomplete), or Nushift has\n reasonable grounds to suspect that such information is untrue, inaccurate, not current or incomplete,\n Nushift has the right to discontinue the Services to the User at its sole discretion.\n
      • \n
      • \n 3.1.9Nushift may use such information collected from the Users from time to\n time for the purposes of debugging customer support related issues.\n
      • \n
      • \n 3.1.10Against every Practitioner listed in Nushift.com, you may see a ‘show\n number’ option. When you choose this option, you choose to call the number through a free telephony\n service provided by Nushift, and the records of such calls are recorded and stored in Nushift’s servers.\n Such call will have an IVR message stating the purpose of recording your calls and your consent to such\n recordings which are dealt with as per the Privacy Policy. Such records may be accessed by Nushift for\n quality control and support related purposes and are dealt with only in accordance with the terms of the\n Privacy Policy. Such call facility provided to you by Nushift should be used only for appointment and\n booking purposes, and not for consultation on health-related issues. Nushift accepts no liability if the\n call facility is not used in accordance with the foregoing. Nushift may also choose to not use this\n facility and show the practitioner's direct number. In case you choose to not provide your consent to\n recording your calls that may have personal information required for appointment and booking purposes,\n Nushift reserves the right to not provide the Services for which such personal information is sought.\n
      • \n
      \n
    • \n
    • \n 3.2RELEVANCE ALGORITHM\n

      \n Nushift’s relevance algorithm for the Practitioners is a fully automated system that lists the\n Practitioners, their profile and information regarding their Practice on its Website. These listings of\n Practitioners do not represent any fixed objective ranking or endorsement by Nushift. Nushift will not be\n liable for any change in the relevance of the Practitioners on search results, which may take place from\n time to time. The listing of Practitioners will be based on automated computation of the various factors\n including inputs made by the Users including their comments and feedback. Such factors may change from\n time to time, in order to improve the listing algorithm. Nushift in no event will be held responsible for\n the accuracy and the relevancy of the listing order of the Practitioners on the Website.\n

      \n
    • \n
    • \n 3.3LISTING CONTENT AND DISSEMINATING INFORMATION\n
        \n
      • \n 3.3.1Nushift collects, directly or indirectly, and displays on the Website,\n relevant information regarding the profile and practice of the Practitioners listed on the Website, such\n as their specialization, qualification, fees, location, visiting hours, and similar details. Nushift\n takes reasonable efforts to ensure that such information is updated at frequent intervals. Although\n Nushift screens and vets the information and photos submitted by the Practitioners, it cannot be held\n liable for any inaccuracies or incompleteness represented from it, despite such reasonable efforts.\n
      • \n
      • \n 3.3.2The Services provided by Nushift or any of its licensors or service\n providers are provided on an \"as is\" and “as available’ basis, and without any warranties or conditions\n (express or implied, including the implied warranties of merchantability, accuracy, fitness for a\n particular purpose, title and non-infringement, arising by statute or otherwise in law or from a course\n of dealing or usage or trade). Nushift does not provide or make any representation, warranty or\n guarantee, express or implied about the Website or the Services. Nushift does not guarantee the accuracy\n or completeness of any content or information provided by Users on the Website. To the fullest extent\n permitted by law, Nushift disclaims all liability arising out of the User’s use or reliance upon the\n Website, the Services, representations and warranties made by other Users, the content or information\n provided by the Users on the Website, or any opinion or suggestion given or expressed by Nushift or any\n User in relation to any User or services provided by such User.\n
      • \n
      • \n 3.3.3The Website may be linked to the website of third parties, affiliates\n and business partners. Nushift has no control over, and not liable or responsible for content, accuracy,\n validity, reliability, quality of such websites or made available by/through our Website. Inclusion of\n any link on the Website does not imply that Nushift endorses the linked site. User may use the links and\n these services at User’s own risk.\n
      • \n
      • \n 3.3.4Nushift assumes no responsibility, and shall not be liable for, any\n damages to, or viruses that may infect User’s equipment on account of User’s access to, use of, or\n browsing the Website or the downloading of any material, data, text, images, video content, or audio\n content from the Website. If a User is dissatisfied with the Website, User’s sole remedy is to\n discontinue using the Website.\n
      • \n
      • \n 3.3.5If Nushift determines that you have provided fraudulent, inaccurate,\n or incomplete information, including through feedback, Nushift reserves the right to immediately suspend\n your access to the Website or any of your accounts with Nushift and makes such declaration on the\n website alongside your name/your clinic’s name as determined by Nushift for the protection of its\n business and in the interests of Users. You shall be liable to indemnify Nushift for any losses incurred\n as a result of your misrepresentations or fraudulent feedback that has adversely affected Nushift or its\n Users.\n
      • \n
      • \n 3.3.6The information published under the head of \"Industry wide city-wise\n Pricing Graph\" is derived from a benchmarking group that is determined to be relevant by Nushift in the\n relevant city. Nushift has published this information for guidance purpose and does not have the ability\n to ascertain accuracy of the data based on which the information has been published and nor does it have\n any duty to disclose to anyone the source of the underlying data sets based on which this information\n has been published. Nushift is not liable in any manner for any consequence whatsoever arising out of\n any use of the information published here.\n
      • \n
      \n
    • \n
    • \n 3.4BOOK APPOINTMENT AND CALL FACILITY\n

      Nushift enables Users to connect with Practitioners through two methods: a) Book facility that allows\n Users book an appointment through the Website; b) Value added telephonic services which connect Users\n directly to the Practitioner’s number provided on the Website.

      \n
        \n
      • \n 3.4.1Nushift will ensure Users are provided confirmed appointment on the\n Book facility. However, Nushift has no liability if such an appointment is later cancelled by the\n Practitioner, or the same Practitioner is not available for appointment. Provided, it does not fall\n under the heads listed under the Nushift\n Guarantee Program, in which case the terms of this program shall apply.\n
      • \n
      • \n 3.4.2If a User has utilized the telephonic services, Nushift reserves the\n right to share the information provided by the User with the Practitioner and store such information\n and/or conversation of the User with the Practitioner, in accordance with our Privacy Policy.\n
      • \n
      • \n 3.4.3The results of any search Users perform on the Website for\n Practitioners should not be construed as an endorsement by Nushift of any such particular Practitioner.\n If the User decides to engage with a Practitioner to seek medical services, the User shall be doing so\n at his/her own risk.\n
      • \n
      • \n 3.4.4\n Without prejudice to the generality of the above, Nushift is not involved in providing any healthcare or\n medical advice or diagnosis and hence is not responsible for any interactions between User and the\n Practitioner. User understands and agrees that Nushift will not be liable for:\n
          \n
        • \n User interactions and associated issues User has with the Practitioner;\n
        • \n
        • \n the ability or intent of the Practitioner(s) or the lack of it, in fulfilling their obligations\n towards Users;\n
        • \n
        • \n any wrong medication or quality of treatment being given by the Practitioner(s), or any medical\n negligence on part of the Practitioner(s);\n
        • \n
        • \n inappropriate treatment, or similar difficulties or any type of inconvenience suffered by the User\n due to a failure on the part of the Practitioner to provide agreed Services;\n
        • \n
        • \n any misconduct or inappropriate behaviour by the Practitioner or the Practitioner’s staff;\n
        • \n
        • \n cancellation or no show by the Practitioner or rescheduling of booked appointment or any variation\n in the fees charged, provided these have been addressed to under, Nushift Guarantee Program.\n
        • \n
        \n
      • \n
      • \n 3.4.5Users are allowed to provide feedback about their experiences with the\n Practitioner, however, the User shall ensure that, the same is provided in accordance with applicable\n law. User however understands that, Nushift shall not be obliged to act in such manner as may be\n required to give effect to the content of Users feedback, such as suggestions for delisting of a\n particular Practitioner from the Website.\n
      • \n
      • \n 3.4.6In case of a ‘Patient-No-Show (P.N.S)’ (defined below), where the User\n does not show-up at the concerned Practitioner’s clinic:\n
          \n
        • \n User’s account will be temporarily disabled from booking further online appointments on Nushift.com\n for next four (4) months, in case of, three(3) Valid PNS, as per the Patient-No-Show Policy. However, the User\n can continue to call the clinic via Nushift.com to get an appointment.\n
        • \n
        • \n Patient- No-Show (P.N.S) for the purposes of these Terms and Conditions, is defined as, any instance\n where a User, who booked an appointment on the Website using the Book Appointment facility , has not\n turned up for the appointment without cancelling, rescheduling, or informing the Practitioner in\n advance about the same. When Practitioner informs Nushift of the incident or marks a particular\n appointment as P.N.S. using the Nushift Ray software or Nushift Pro App within five (5) days of the\n scheduled appointment, an email and SMS (“PNS Communication”) will be sent to the User to confirm on\n the incident with reasons. Where the User is not able to establish that the User had a legitimate\n reason as per Clause 3.4.6(c), for not showing up, Nushift shall be entitled to take actions as\n under Clause 3.4.6 (a). However Users understand that, actions such as ones mentioned under Clause\n 3.4.6(a) are included as a deterrent to stop Users from misusing the Website, and the loss of\n business hours incurred by the Practitioner.\n
        • \n
        • \n Following instances, solely at the discretion of Nushift, would be construed as valid cases of PNS\n (“Valid PNS”), in which case the User shall be penalized as per Clause 3.4.6 (a):\n
            \n
          • User does not reply within seven (7) days, with reasons to PNS Communication, from the date of\n receipt of such PNS Communication;
          • \n
          • In case User responds to the PNS Communication with below reasons:\n
              \n
            • Forgot the appointment
            • \n
            • Chose to visit another Practitioner/consulted online;
            • \n
            • Busy with other work; or such other reasons (which Nushift at its discretion decides to be\n a valid reason to not show up).
            • \n
            \n
          • \n
          • Where the User has booked a paid appointment and is unable to visit the Practitioner, due to\n such genuine reasons of sickness etc. at the sole discretion of Nushift, pursuant to conducting\n of investigation, the User shall be provided with a refund of such payment made by User, at the\n time of booking. However, where cancellation charges have been levied, you would not be entitled\n to complete refund.
          • \n
          \n
        • \n
        • \n Nushift reserves the right to make the final decision in case of a conflict. The total aggregate\n liability of Nushift with respect to any claims made herein shall be INR 200.\n
        • \n
        \n
      • \n
      • \n 3.4.7Cancellation and Refund Policy\n
          \n
        • \n In the event that, the Practitioner with whom User has booked a paid appointment via the Website,\n has not been able to meet the User, User will need to write to us at support@Nushift.com within five\n (5) days from the occurrence of such event; in which case, the entire consultation amount as\n mentioned on the Website will be refunded to the User within the next five (5) to six (6) business\n days in the original mode of payment done by the User while booking. In case where the User, does\n not show up for the appointment booked with a Practitioner, without cancelling the appointment\n beforehand, the amount will not be refunded, and treated as under Clause 3.4.6. However, where\n cancellation charges have been levied (as charged by the Practitioner/Practice), you would not be\n entitled to complete refund even if you have cancelled beforehand.\n
        • \n
        • \n Users will not be entitled for any refunds in cases where, the Practitioner is unable to meet the\n User at the exact time of the scheduled appointment time and the User is required to wait,\n irrespective of the fact whether the User is required to wait or choose to not obtain the medical\n services from the said Practitioner.\n
        • \n
        \n
      • \n
      \n
    • \n
    • \n 3.5NO DOCTOR-PATIENT RELATIONSHIP; NOT FOR EMERGENCY USE\n
        \n
      • \n 3.5.1Please note that some of the content, text, data, graphics, images,\n information, suggestions, guidance, and other material (collectively, “Information”) that may be\n available on the Website (including information provided in direct response to your questions or\n postings) may be provided by individuals in the medical profession. The provision of such Information\n does not create a licensed medical professional/patient relationship, between Nushift and you and does\n not constitute an opinion, medical advice, or diagnosis or treatment of any particular condition, but is\n only provided to assist you with locating appropriate medical care from a qualified practitioner.\n
      • \n
      • \n 3.5.2It is hereby expressly clarified that, the Information that you obtain\n or receive from Nushift, and its employees, contractors, partners, sponsors, advertisers, licensors or\n otherwise on the Website is for informational purposes only. We make no guarantees, representations or\n warranties, whether expressed or implied, with respect to professional qualifications, quality of work,\n expertise or other information provided on the Website. In no event shall we be liable to you or anyone\n else for any decision made or action taken by you in reliance on such information.\n
      • \n
      • \n 3.5.3The Services are not intended to be a substitute for getting in touch\n with emergency healthcare. If you are an End-User facing a medical emergency (either on your or a\n another person’s behalf), please contact an ambulance service or hospital directly.\n
      • \n
      \n
    • \n
    • \n 3.6CONSULT\n \n
    • \n
    • \n 3.7Nushift HEALTH FEED\n

      These terms & conditions governing Nushift Health feed are applicable to Users (being both end-users/\n Practitioner). However, it is clarified that the terms and conditions herein applicable only to\n Practitioners and applicable to Users are called out separately, as the context warrants.

      \n
        \n
      • \n 3.7.1Nushift Health feed is an online content platform available on the\n Website, wherein Practitioners who have created a Nushift profile can login and post health and wellness\n related content.\n
      • \n
      • \n 3.7.2Practitioners can use Nushift Health feed by logging in from their\n health account, creating original content comprising text, audio, video, images, data or any combination\n of the same (“Content”), and uploading said Content to Nushift’s servers. Nushift will make\n available to the User a gallery of images licensed by Nushift from a third party stock image provider\n (“Nushift Gallery”). The User can upload their own images or choose an image from the Nushift\n Gallery. Nushift does not provide any warranty as to the ownership of the intellectual property in the\n Nushift Gallery and the User acknowledges that the User will use the images from the Nushift Gallery at\n their own risk. Nushift shall post such Content to Nushift Health feed at its own option and subject to\n these Terms and Conditions. The Content uploaded via Nushift Health feed does not constitute medical\n advice and may not be construed as such by any person.\n
      • \n
      • \n 3.7.3Practitioners acknowledges that they are the original authors and\n creators of any Content uploaded by them via Nushift Health feed and that no Content uploaded by them\n would constitute infringement of the intellectual property rights of any other person. Nushift reserves\n the right to remove any Content which it may determine at its own discretion as violating the\n intellectual property rights of any other person, including but not limited to patent, trademark,\n copyright or other proprietary rights. Practitioner agrees to absolve Nushift from and indemnify Nushift\n against all claims that may arise as a result of any third party intellectual property right claim that\n may arise from the Practitioner’s uploading of any Content on the Nushift Health feed. The Practitioner\n may not use the images in the Nushift Gallery for any purpose other than those directly related to the\n creation and uploading of Content to Nushift Health feed. The Practitioner also agrees to absolve\n Nushift from and indemnify Nushift against all claims that may arise as a result of any third party\n intellectual property claim if the Practitioner downloads, copies or otherwise utilizes an image from\n the Nushift Gallery for his/her personal or commercial gain.\n
      • \n
      • \n 3.7.4Practitioner hereby assigns to Nushift, in perpetuity and worldwide,\n all intellectual property rights in any Content created by the User and uploaded by the User via Nushift\n Health feed.\n
      • \n
      • \n 3.7.5Nushift shall have the right to edit or remove the Content and any\n comments in such manner as it may deem Nushift Health feed at any time.\n
      • \n
      • \n 3.7.6Practitioner shall ensure that the Content or any further responses to\n the Content (including responses to Users) is not harmful, harassing, blasphemous, defamatory, obscene,\n pornographic, paedophilic or libelous in any manner. Further, Practitioner should ensure that the\n Content is not invasive of any other person’s privacy, or otherwise contains any elements that is\n hateful, racially or ethnically objectionable, disparaging, or otherwise unlawful in any manner\n whatever. Nushift reserves the right to remove any Content which it may determine at its own discretion\n is violative of these Terms and Conditions or any law or statute in force at the time. Also, the\n Practitioner agrees to absolve Nushift from and indemnify Nushift against all claims that may arise as a\n result of any legal claim arising from the nature of the Content posted by the Practitioner on Nushift\n Health Feed.\n
      • \n
      • \n 3.7.7Practitioner shall ensure that no portion of the Content is violative\n of any law for the time being in force.\n
      • \n
      • \n 3.7.8Practitioner shall ensure that the Content is not threatening the\n unity, integrity, defence, security or sovereignty of India, friendly relations with foreign states, or\n public order. Further the Practitioner shall ensure that the Content will not cause incitement to the\n commission of any cognisable offence or prevent investigation of any offence or is insulting to any\n other nation.\n
      • \n
      • \n 3.7.9User may also use Nushift Health feed in order to view original\n content created by Practitioners and to create and upload comments on such Content, where allowed\n (“User Comment”).\n
      • \n
      • \n 3.7.10User acknowledges that the User Comment reflects the views and\n opinions of the authors of such Content and do not necessarily reflect the views of Nushift.\n
      • \n
      • \n 3.7.11User agrees that the Content they access on Nushift Health feed does\n not in any way constitute medical advice and that the responsibility for any act or omission by the User\n arising from the User’s interpretation of the Content, is solely attributable to the User. The User\n agrees to absolve Nushift from and indemnify Nushift against all claims that may arise as a result of\n the User’s actions resulting from the User’s viewing of Content on Nushift Health feed.\n
      • \n
      • \n 3.7.12User acknowledges that all intellectual property rights in the User\n Comment on Nushift Health feed vests with Nushift. The User agrees not to infringe upon Nushift’s\n intellectual property by copying or plagiarizing content on Nushift Health feed. Nushift reserves its\n right to initiate all necessary legal remedies available to them in case of such an infringement by the\n User. Also, User Comment will be the sole intellectual property of Nushift. The User agrees not to post\n User Comment that would violate the intellectual property of any third party, including but not limited\n to patent, trademark, copyright or other proprietary rights. Nushift reserves the right to remove any\n User Comment which it may determine at its own discretion as violating the intellectual property rights\n of any third party. The User agrees to absolve Nushift from and indemnify Nushift against all claims\n that may arise as a result of any third party intellectual property right claim that may arise from the\n User Comment.\n
      • \n
      • \n 3.7.13User shall ensure that the User Comment is not harmful, harassing,\n blasphemous, defamatory, obscene, pornographic, paedophilic or libelous in any manner. Further, User\n should ensure that the User Comment is not invasive of any other person’s privacy, or otherwise contains\n any elements that is hateful, racially or ethnically objectionable, disparaging, or otherwise unlawful\n in any manner whatever. Nushift reserves the right to remove any Content which it may determine at its\n own discretion is violative of these Terms and Conditions or any law or statute in force at the time\n Also, the User agrees to absolve Nushift from and indemnify Nushift against all claims that may arise as\n a result of any legal claim arising from the nature of the User Comment.\n
      • \n
      • \n 3.7.14User shall ensure that the User Comment is not threatening the unity,\n integrity, defence, security or sovereignty of India, friendly relations with foreign states, or public\n order. Further the Practitioner shall ensure that the User Comment will not cause incitement to the\n commission of any cognisable offence or prevent investigation of any offence or is insulting to any\n other nation.\n
      • \n
      \n
    • \n
    • \n 3.8CONTENT OWNERSHIP AND COPYRIGHT CONDITIONS OF ACCESS\n
        \n
      • \n 3.8.1The contents listed on the Website are (i) User generated content, or\n (ii) belong to Nushift. The information that is collected by Nushift directly or indirectly from the\n End- Users and the Practitioners shall belong to Nushift. Copying of the copyrighted content published\n by Nushift on the Website for any commercial purpose or for the purpose of earning profit will be a\n violation of copyright and Nushift reserves its rights under applicable law accordingly.\n
      • \n
      • \n 3.8.2Nushift authorizes the User to view and access the content available\n on or from the Website solely for ordering, receiving, delivering and communicating only as per this\n Agreement. The contents of the Website, information, text, graphics, images, logos, button icons,\n software code, design, and the collection, arrangement and assembly of content on the Website\n (collectively, \"Nushift Content\"), are the property of Nushift and are protected under copyright,\n trademark and other laws. User shall not modify the Nushift Content or reproduce, display, publicly\n perform, distribute, or otherwise use the Nushift Content in any way for any public or commercial\n purpose or for personal gain.\n
      • \n
      • \n 3.8.3User shall not access the Services for purposes of monitoring their\n availability, performance or functionality, or for any other benchmarking or competitive purposes.\n
      • \n
      \n
    • \n
    \n
  • \n
  • \n 3.9REVIEWS AND FEEDBACK\n

    \n By using this Website, you agree that any information shared by you with Nushift or with any Practitioner will\n be subject to our Privacy Policy.\n

    \n

    \n You are solely responsible for the content that you choose to submit for publication on the Website, including\n any feedback, ratings, or reviews (“Critical Content”) relating to Practitioners or other healthcare\n professionals. The role of Nushift in publishing Critical Content is restricted to that of an ‘intermediary’\n under the Information Technology Act, 2000. Nushift disclaims all responsibility with respect to the content\n of Critical Content, and its role with respect to such content is restricted to its obligations as an\n ‘intermediary’ under the said Act. Nushift shall not be liable to pay any consideration to any User for\n re-publishing any content across any of its platforms.\n

    \n

    \n Your publication of reviews and feedback on the Website is governed by Clause 5 of these Terms. Without\n prejudice to the detailed terms stated in Clause 5, you hereby agree not to post or publish any content on the\n Website that (a) infringes any third-party intellectual property or publicity or privacy rights, or (b)\n violates any applicable law or regulation, including but not limited to the IG Rules and SPI Rules. Nushift,\n at its sole discretion, may choose not to publish your reviews and feedback, if so required by applicable law,\n and in accordance with Clause 5 of these Terms. You agree that Nushift may contact you through telephone,\n email, SMS, or any other electronic means of communication for the purpose of:\n

    \n
      \n
    • Obtaining feedback in relation to Website or Nushift’s services; and/or
    • \n
    • Obtaining feedback in relation to any Practitioners listed on the Website; and/or
    • \n
    • Resolving any complaints, information, or queries by Practitioners regarding your Critical Content;
    • \n
    \n

    \n and you agree to provide your fullest co-operation further to such communication by Nushift. Nushift’s\n Feedback Collection and Fraud Detection Policy, is annexed as the Schedule hereto, and remains subject always\n to these Terms.\n

    \n
  • \n
  • \n 3.10RECORDS\n

    \n Nushift may provide End-Users with a free facility known as ‘Records’ on its mobile application ‘Nushift’.\n Information available in your Records is of two types:\n

    \n
      \n
    • User-created: Information uploaded by you or information generated during your interaction with Nushift\n ecosystem, eg: appointment, medicine order placed by you.
    • \n
    • Practice-created: Health Records generated by your interaction with a Practitioner who uses ‘Nushift Ray’\n or other Services of Nushift software.
    • \n
    \n

    \n

    \n The specific terms relating to such Health Account are as below, without prejudice to the rest of these Terms\n and the Privacy Policy:\n

    \n
      \n
    • \n 3.10.1Your Records is only created after you have signed up and explicitly\n accepted these Terms.\n
    • \n
    • \n 3.10.2Any Practice created Health Record is provided on an as-is basis at the\n sole intent, risk and responsibility of the Practitioner and Nushift does not validate the said information\n and makes no representation in connection therewith. You should contact the relevant Practitioner in case\n you wish to point out any discrepancies or add, delete, or modify the Health Record in any manner.\n
    • \n
    • \n 3.10.3The Health Records are provided on an as-is basis. While we strive to\n maintain the highest levels of service availability, Nushift is not liable for any interruption that may be\n caused to your access of the Services.\n
    • \n
    • \n 3.10.4The reminder provided by the Records is only a supplementary way of\n reminding you to perform your activities as prescribed by your Practitioner. In the event of any medicine\n reminders provided by Nushift, you should refer to your prescription before taking any medicines. Nushift is\n not liable if for any reason reminders are not delivered to you or are delivered late or delivered\n incorrectly, despite its best efforts. In case you do not wish to receive the reminders, you can switch it\n off through the Nushift app.\n
    • \n
    • \n 3.10.5It is your responsibility to keep your correct mobile number and email ID\n updated in the Records. The Health Records will be sent to the Records associated with this mobile number\n and/or email ID. Every time you change any contact information (mobile or email), we will send a\n confirmation. Nushift is not responsible for any loss or inconvenience caused due to your failure in\n updating the contact details with Nushift.\n
    • \n
    • \n 3.10.6Nushift uses industry–level security and encryption to your Health\n Records. However, Nushift does not guarantee to prevent unauthorized access if you lose your login\n credentials or they are otherwise compromised. In the event you are aware of any unauthorized use or access,\n you shall immediately inform Nushift of such unauthorized use or access. Please safeguard your login\n credentials and report any actual suspected breach of account to support@Nushift.com.\n
    • \n
    • \n 3.10.7If you access your dependents’ Health Records by registering your\n dependents with your own Records, you are deemed to be responsible for the Health Records of your dependents\n and all obligations that your dependents would have had, had they maintained their own separate individual\n Records. You agree that it shall be your sole responsibility to obtain prior consent of your dependent and\n shall have right to share, upload and publish any sensitive personal information of your dependent. Nushift\n assumes no responsibility for any claim, dispute or liability arising in this regard, and you shall\n indemnify Nushift and its officers against any such claim or liability arising out of unauthorized use of\n such information.\n
    • \n
    • \n 3.10.8In case you want to delete your Records, you can do so by contacting our\n service support team. However only your account and any associated Health Records will be deleted, and your\n Health Records stored by your Practitioners will continue to be stored in their respective accounts.\n
    • \n
    • \n 3.10.9You may lose your “User created” record, if the data is not synced with\n the server.\n
    • \n
    • \n 3.10.10If the Health Record is unassessed for a stipulated time, you may not be\n able to access your Health Records due to security reasons.\n
    • \n
    • \n 3.10.11Nushift is not liable if for any reason, Health Records are not\n delivered to you or are delivered late despite its best efforts.\n
    • \n
    • \n 3.10.12The Health Records are shared with the phone numbers that are provided\n by your Practitioner. Nushift is not responsible for adding the Heath Records with incorrect numbers if\n those incorrect numbers are provided by the Practitioner.\n
    • \n
    • \n 3.10.13Nushift is not responsible or liable for any content, fact, Health\n Records, medical deduction or the language used in your Health Records whatsoever. Your Practitioner is\n solely responsible and liable for your Health Records and any information provided to us including but not\n limited to the content in them.\n
    • \n
    • \n 3.10.14Nushift has the ability in its sole discretion to retract Health Records\n without any prior notice if they are found to be shared incorrectly or inadvertently.\n
    • \n
    • \n 3.10.15Nushift will follow the law of land in case of any constitutional court\n or jurisdiction mandates to share the Health Records for any reason.\n
    • \n
    • \n 3.10.16You agree and acknowledge that Nushift may need to access the Health\n Record for cases such as any technical or operational issue of the End User in access or ownership of the\n Records.\n
    • \n
    • \n 3.10.17You acknowledge that the Practitioners you are visiting may engage\n Nushift's software or third party software for the purposes of the functioning of the Practitioner’s\n business and Nushift's services including but not limited to the usage and for storage of Records (as\n defined in Section 3.10) in India and outside India, in accordance with the applicable laws.\n
    • \n
    • \n 3.10.18To the extent that your Records have been shared with Nushift or stored\n on any of the Nushift products used by Practitioner’s you are visiting, and may in the past have visited,\n You hereby agree to the storage of your Records by Nushift pertaining to such previously visited clinics and\n hospitals who have tie ups with Nushift for the purposes of their business and for Nushift's services\n including but not limited to the usage and for storage of Records (as defined in Section 3.10) in India and\n outside India, in accordance with the applicable laws and further agree, upon creation of your account with\n Nushift, to the mapping of such Records as may be available in Nushift’s database to your User account.\n
    • \n
    \n
  • \n
  • \n 3.11Nushift MEDICINE INFORMATION\n

    \n For detailed terms and conditions regarding medicine information click here.\n

    \n
  • \n
  • \n
    3.12Nushift Q&A
    \n
      \n
    • \n 3.12.1Terms for Practitioners:\n
        \n
          \n
        • Every Practitioner on the Q&A Platform must be qualified in the area of expertise that he\n represents as being his qualification.
        • \n
        • The Q&A Platform is a platform for exchange of information which is of general nature in a\n question and answer format. The Q&A Platform is not for emergency situations.
        • \n
        • Any Q&A interaction cannot be construed as a medical consultation with the Practitioner, in any\n manner whatsoever.
        • \n
        • Nushift Users may post questions on medical issues (“Querist”), and these queries can be\n answered by multiple Practitioners on the Q&A Platform. It is expressly clarified that no\n doctor-patient relationship is established between the Querist and Practitioner, in any manner\n whatsoever, by indulging in this Q&A.
        • \n
        • The Practitioner may provide probable views, recommendations, suggestions and solutions to\n the question posted by a Querist. However, it is expressly clarified that any such view,\n recommendation, suggestion and solution shall not be construed as medical advice. The person in\n question (being Querist or not) is advised to consult with a doctor in this regard.
        • \n
        • Practitioner shall not share their personal, religious and/or moral views with the Querist while\n issuing their response.
        • \n
        • The Practitioner cannot issue and/or prescribe any medicines on the Q&A platform. It is a\n platform for only exchange of information and not a consultation/ medical advice.
        • \n
        • The Practitioner is absolutely and expressly prohibited to:\n
            \n
          • Provide a medical diagnosis;
          • \n
          • Issue a prescription;
          • \n
          • Post any response which comprises of any derogatory language, objectionable, pornographic and\n /or offensive content;
          • \n
          • Advertise any brand of drugs, supplements, vaccines and medications, in any manner of\n whatsoever;
          • \n
          • Advertise to/solicit patients in any manner including without limitation by way of using social\n media handles, including without limitation, facebook, twitter etc., telephone/ mobile numbers,\n youtube, and address;
          • \n
          • Promote content and activities which are illegal in nature;
          • \n
          \n
        • \n
        • In the event of any breach of these QA T&C, Nushift will take appropriate action inter\n alia ranging from issuing warnings to removal of Practitioner from the Q&A Platform, in its\n sole and absolute discretion, on a case to case basis.
        • \n
        • Any liability arising out of the response issued by a Practitioner will be borne solely by the\n Practitioner. Q&A Platform is only a platform interface provided by Nushift for sharing and\n exchanging information purposes.
        • \n
        • The Q&A Platform shall be audited on a regular basis by Nushift for ascertaining compliance by\n the Practitioner to Paragraph 6, and the Practitioners consent to the same. It is clarified that the\n said audit is not conducted for the purpose of quality check or validation of responses issued by\n Practitioner.
        • \n
        • All general Nushift Terms and Conditions shall govern the QA T&C to the extent applicable.\n Decision of Nushift is final and binding on the issues arising under the QA T&C and Nushift Terms\n and Conditions.
        • \n
        \n
      \n
    • \n
    • \n 3.12.2Terms for User/Querist:\n
        \n
          \n
        • The personally identifiable information of the querist shall be anonymized by Nushift prior to\n posting the question on the Q&A Platform;
        • \n
        • Q&A Platform is a public forum for exchange of information, hence, any question posted by a\n querist is visible publicly. It is advisable for a User to ensure that no confidential information is\n published by them on the Q&A Platform.
        • \n
        • User shall not use the Q&A Platform for emergency situations.
        • \n
        • The User is prohibited to post any query/issue on the Q&A Platform, which comprises of any\n derogatory language, objectionable, pornographic and /or offensive content;
        • \n
        • Any response provided by the Practitioner shall not be construed as medical advice on the Q&A\n Platform. Q&A Platform is a platform for exchange of information which is of general nature in a\n question and answer format. This cannot be construed as a medical consultation with the Practitioner,\n in any manner whatsoever.
        • \n
        • It is expressly clarified that no doctor-patient relationship is established between the user and\n Practitioner, in any manner whatsoever, by indulging in this Q&A. The Practitioner may provide\n probable views, recommendations, suggestions and solutions to the question posted. However, it\n is expressly clarified that any such view, recommendation, suggestion and solution shall not be\n construed as medical advice. The person in question (being Querist or not) is advised to\n consult with a doctor in this regard.
        • \n
        • All general Nushift Terms and Conditions shall govern the QA T&C to the extent applicable.\n Decision of Nushift is final and binding on the issues arising under the QA T&C and Nushift Terms\n and Conditions.
        • \n
        \n
      \n
    • \n
    \n
  • \n
  • \n 3.13Nushift DIAGNOSTICS\n

    \n For detailed terms and conditions regarding diagnostics click here.\n

    \n
  • \n
  • \n 3.14 Nushift HEALTHCASH\n
      \n
    • \n 3.14.1 Nushift HealthCash is a grant of benefit in the form of credits in the\n Nushift accounts of the Users (“Nushift HealthCash”) in the form and under such circumstances decided\n by Nushift from time to time.\n
    • \n
    • \n 3.14.2 Nushift HealthCash can be redeemed by the User only to pay online for\n the following services on the Website:\n
        \n
      • Ordering medicines online;
      • \n
      • Consulting a doctor online;
      • \n
      • Booking diagnostic tests and health check-ups;
      • \n
      • Pre-paying for doctor appointment bookings; and
      • \n
      • Subscribing to Healthcare plans.
      • \n
      \n (The above services on the Website are collectively referred to as “Permitted Services”.)\n
    • \n
    • \n 3.14.3 Every time a User using (i) Android version 4.31 or above; or (ii) iOS\n version 4.24 or above of the Nushift mobile application; or (iii) the Nushift website (www.Nushift.com),\n uses HealthCash to pay online for any of the Permitted Services availed by him/her, only such percentage of\n the total amount to be paid for the availed Permitted Services, as may be prescribed by Nushift from time to\n time on the respective Nushift mobile application or website ( www.Nushift.com ), can be redeemed by such\n User using the Nushift HealthCash per transaction.\n
    • \n
    • \n 3.14.4 Nushift HealthCash neither can be converted to actual money nor can be\n transferred to any bank accounts.\n
    • \n
    • \n 3.14.5 The Nushift HealthCash received by each User may or may not have an\n expiry date associated with it and the said expiry date is subject to the following:\n
        \n
      • The expiry date associated with Nushift HealthCash may vary from time to time. However, the same\n cannot exceed beyond 2 (Two) years
      • \n
      • The expiry date of Nushift HealthCash may be intimated to each User by way of SMS or e-mail or in-App\n notification on the Website.
      • \n
      • The expiry date of Nushift HealthCash can be viewed by each User in the designated page for HealthCash\n in the Website.
      • \n
      • The User acknowledges that Nushift has agreed to offer Nushift HealthCash in its sole discretion.\n Nothing in these Terms shall be interpreted to restrict Nushift’s right to withdraw the Nushift\n HealthCash before the expiry date.
      • \n
      \n
    • \n
    • \n 3.14.6 Nushift reserves its discretion to deny Nushift HealthCash to any User\n in its sole discretion, notwithstanding compliance by such User of the requirements set out in the Terms,\n applicable law or otherwise.\n
    • \n
    • \n 3.14.7 Other than the conditions set out in these Terms, accrual, utilization,\n expiry or any other treatment of Nushift HealthCash may be further restricted by the terms governing the\n specific service or facility offered by Nushift or its business associates, the procurement of which\n entitles Nushift HealthCash to a User (“HealthCash Terms”). In the event of any inconsistency between\n these Terms and the HealthCash Terms in relation to accrual, utilization, expiry or any other treatment of\n Nushift HealthCash by a User, the HealthCash Terms shall override these Terms to the extent of such\n inconsistency.\n
    • \n
    \n
  • \n
  • \n
    4. TERMS OF USE PRACTITIONERS
    \n

    The terms in this Clause 4 are applicable only to Practitioners.

    \n
      \n
    • \n 4.1 LISTING POLICY\n
        \n
      • \n 4.1.1Nushift, directly and indirectly, collects information regarding the\n Practitioners’ profiles, contact details, and practice. Nushift reserves the right to take down any\n Practitioner’s profile as well as the right to display the profile of the Practitioners, with or without\n notice to the concerned Practitioner. This information is collected for the purpose of facilitating\n interaction with the End-Users and other Users. If any information displayed on the Website in\n connection with you and your profile is found to be incorrect, you are required to inform Nushift\n immediately to enable Nushift to make the necessary amendments.\n
      • \n
      • \n 4.1.2Nushift shall not be liable and responsible for the ranking of the\n Practitioners on external websites and search engines\n
      • \n
      • \n 4.1.3Nushift shall not be responsible or liable in any manner to the Users\n for any losses, damage, injuries or expenses incurred by the Users as a result of any disclosures or\n publications made by Nushift, where the User has expressly or implicitly consented to the making of\n disclosures or publications by Nushift. If the User had revoked such consent under the terms of the\n Privacy Policy, then Nushift shall not be responsible or liable in any manner to the User for any\n losses, damage, injuries or expenses incurred by the User as a result of any disclosures made by Nushift\n prior to its actual receipt of such revocation.\n
      • \n
      • \n 4.1.4Nushift reserves the right to moderate the suggestions made by the\n Practitioners through feedback and the right to remove any abusive or inappropriate or promotional\n content added on the Website. However, Nushift shall not be liable if any inactive, inaccurate,\n fraudulent, or non- existent profiles of Practitioners are added to the Website.\n
      • \n
      • \n 4.1.5Practitioners explicitly agree that Nushift reserves the right to\n publish the Content provided by Practitioners to a third party including content platforms.\n
      • \n
      • \n 4.1.6When you are listed on Nushift.com, End-Users may see a ‘show number’\n option. When End-Users choose this option, they choose to call your number through a free telephony\n service provided by Nushift, and the records of such calls are recorded and stored in Nushift’s servers.\n Such call will have an IVR message stating the purpose of recording your calls and your consent to such\n recordings which are dealt with as per the Privacy Policy. Such records may be accessed by Nushift for\n quality control and support related purposes and are dealt with only in accordance with the terms of the\n Privacy Policy. Such call facility provided to End-Users and to you by Nushift should be used only for\n appointment and booking purposes, and not for consultation on health-related issues. Nushift accepts no\n liability if the call facility is not used in accordance with the foregoing. In case you choose to not\n provide your consent to recording your calls that may have personal information required for appointment\n and booking purposes, Nushift reserves the right to not provide the Services for which such personal\n information is sought.\n
      • \n
      • \n 4.1.7You as a Practitioner hereby represent and warrant that you will use\n the Services in accordance with applicable law. Any contravention of applicable law as a result of your\n use of these Services is your sole responsibility, and Nushift accepts no liability for the same.\n
      • \n
      \n
    • \n
    • \n 4.2PROFILE OWNERSHIP AND EDITING RIGHTS\n

      \n Nushift ensures easy access to the Practitioners by providing a tool to update your profile information.\n Nushift reserves the right of ownership of all the Practitioner’s profile and photographs and to moderate\n the changes or updates requested by Practitioners. However, Nushift takes the independent decision whether\n to publish or reject the requests submitted for the respective changes or updates. You hereby represent\n and warrant that you are fully entitled under law to upload all content uploaded by you as part of your\n profile or otherwise while using Nushift’s services, and that no such content breaches any third party\n rights, including intellectual property rights. Upon becoming aware of a breach of the foregoing\n representation, Nushift may modify or delete parts of your profile information at its sole discretion with\n or without notice to you.\n

      \n
    • \n
    • \n 4.3REVIEWS AND FEEDBACK DISPLAY RIGHTS OF Nushift\n
        \n
      • \n 4.3.1All Critical Content is content created by the Users of\n www.Nushift.com (“Website”) and the clients of Nushift customers and Practitioners, including the\n End-Users. As a platform, Nushift does not take responsibility for Critical Content and its role with\n respect to Critical Content is restricted to that of an ‘intermediary’ under the Information Technology\n Act, 2000. The role of Nushift and other legal rights and obligations relating to the Critical Content\n are further detailed in Clauses 3.9 and 5 of these Terms. Nushift’s Feedback Collection and Fraud\n Detection Policy, is annexed as the Schedule hereto, and remains subject always to these Terms.\n
      • \n
      • \n 4.3.2Nushift reserves the right to collect feedback and Critical Content\n for all the Practitioners, Clinics and Healthcare Providers listed on the Website.\n
      • \n
      • \n 4.3.3Nushift shall have no obligation to pre-screen, review, flag, filter,\n modify, refuse or remove any or all Critical Content from any Service, except as required by applicable\n law.\n
      • \n
      • \n 4.3.4You understand that by using the Services you may be exposed to\n Critical Content or other content that you may find offensive or objectionable. Nushift shall not be\n liable for any effect on Practitioner’s business due to Critical Content of a negative nature. In these\n respects, you may use the Service at your own risk. Nushift however, as an ‘intermediary, takes steps as\n required to comply with applicable law as regards the publication of Critical Content. The legal rights\n and obligations with respect to Critical Content and any other information sought to be published by\n Users are further detailed in Clauses 3.9 and 5 of these Terms.\n
      • \n
      • \n 4.3.5Nushift will take down information under standards consistent with\n applicable law, and shall in no circumstances be liable or responsible for Critical Content, which has\n been created by the Users. The principles set out in relation to third party content in the terms of\n Service for the Website shall be applicable mutatis mutandis in relation to Critical Content posted on\n the Website.\n
      • \n
      • \n 4.3.6If Nushift determines that you have provided inaccurate information or\n enabled fraudulent feedback, Nushift reserves the right to immediately suspend any of your accounts with\n Nushift and makes such declaration on the website alongside your name/your clinics name as determined by\n Nushift for the protection of its business and in the interests of Users.\n
      • \n
      \n
    • \n
    • \n 4.4RELEVANCE ALGORITHM\n

      \n Nushift has designed the relevance algorithm in the best interest of the End-User and may adjust the\n relevance algorithm from time to time to improve the quality of the results given to the patients. It is a\n pure merit driven, proprietary algorithm which cannot be altered for specific Practitioners. Nushift shall\n not be liable for any effect on the Practitioner’s business interests due to the change in the Relevance\n Algorithm.\n

      \n
    • \n
    • \n 4.5INDEPENDENT SERVICES\n

      \n Your use of each Service confers upon you only the rights and obligations relating to such Service, and\n not to any other service that may be provided by Nushift.\n

      \n
    • \n
    • \n 4.6Nushift REACH RIGHTS\n

      \n Nushift reserves the rights to display sponsored ads on the Website. These ads would be marked as\n “Sponsored ads”. Without prejudice to the status of other content, Nushift will not be liable for the\n accuracy of information or the claims made in the Sponsored ads. Nushift does not encourage the Users to\n visit the Sponsored ads page or to avail any services from them. Nushift will not be liable for the\n services of the providers of the Sponsored ads.\n

      \n

      \n You represent and warrant that you will use these Services in accordance with applicable law. Any\n contravention of applicable law as a result of your use of these Services is your sole responsibility, and\n Nushift accepts no liability for the same.\n

      \n
    • \n
    • \n 4.7Nushift MEDICINE INFORMATION\n

      \n For detailed terms and conditions regarding medicine information click here.\n

      \n
    • \n
    • \n 4.8 BOOK APPOINTMENT AND CALL FACILITY\n
        \n
      • \n 4.8.1As a valuable partner on our platform we want to ensure that the\n Practitioners experience on the Nushift booking platform is beneficial to both, Practitioners and their\n Users.
        \n For all terms and conditions of Book facility on Nushift profile check Book Standards .\n
      • \n
      • \n 4.8.2Practitioner understands that, Nushift shall not be liable, under any\n event, for any comments or feedback given by any of the Users in relation to the Services provided by\n Practitioner. The option of publishing or modifying or moderating or masking (where required by law or\n norm etc.) the feedback provided by Users shall be solely at the discretion of Nushift.\n
      • \n
      \n
    • \n
    • \n 4.9 PRACTITIONER UNDERTAKING\n

      \n The Practitioner is and shall be duly registered, licensed and qualified to practice medicine/ provide\n health care, wellness services, as per applicable laws/regulations/guidelines set out by competent\n authorities and the Practitioner shall not be part of any arrangement which will prohibit him/her from\n practicing medicine within the territory of India. The Practitioner shall at all times ensure that all the\n applicable laws that govern the Practitioner shall be followed and utmost care shall be taken in terms of\n the consultation/ services being rendered.\n

      \n
    • \n
    • \n 4.10 USAGE IN PROMOTIONAL & MARKETING MATERIALS\n

      \n In recognition of the various offerings and services provided by Nushift to Practitioner, Practitioner\n shall (subject to its reasonable right to review and approve): (a) allow Nushift to include a brief\n description of the services provided to Practitioner in Nushift’s marketing, promotional and advertising\n materials; (b) allow Nushift to make reference to Practitioner in case studies, and related marketing\n materials; (c) serve as a reference to Nushift’s existing and potential clients; (d) provide video logs,\n testimonials, e-mailers, banners, interviews to the news media and provide quotes for press releases; (e)\n make presentations at conferences; and/or (f) use the Practitioner’s name and/or logo, brand images, tag\n lines etc., within product literature, e-mailers, press releases, social media and other advertising,\n marketing and promotional materials.\n

      \n
    • \n
    \n
  • \n
  • \n
    5.RIGHTS AND OBLIGATIONS RELATING TO CONTENT
    \n
      \n
    • \n 5.1As mandated by Regulation 3(2) of the IG Rules, Nushift hereby informs Users\n that they are not permitted to host, display, upload, modify, publish, transmit, update or share any\n information that:\n
        \n
      • \n belongs to another person and to which the User does not have any right to;\n
      • \n
      • \n is grossly harmful, harassing, blasphemous, defamatory, obscene, pornographic, pedophilic, libelous,\n invasive of another's privacy, hateful, or racially, ethnically objectionable, disparaging, relating or\n encouraging money laundering or gambling, or otherwise unlawful in any manner whatever;\n
      • \n
      • harm minors in any way;
      • \n
      • infringes any patent, trademark, copyright or other proprietary rights;
      • \n
      • violates any law for the time being in force;
      • \n
      • \n deceives or misleads the addressee about the origin of such messages or communicates any information\n which is grossly offensive or menacing in nature;\n
      • \n
      • impersonate another person;
      • \n
      • \n contains software viruses or any other computer code, files or programs designed to interrupt, destroy\n or limit the functionality of any computer resource;\n
      • \n
      • \n threatens the unity, integrity, defence, security or sovereignty of India, friendly relations with\n foreign states, or public order or causes incitement to the commission of any cognizable offence or\n prevents investigation of any offence or is insulting any other nation.\n
      • \n
      \n
    • \n
    • \n 5.2Users are also prohibited from:\n
        \n
      • \n violating or attempting to violate the integrity or security of the Website or any Nushift Content;\n
      • \n
      • \n transmitting any information (including job posts, messages and hyperlinks) on or through the Website\n that is disruptive or competitive to the provision of Services by Nushift;\n
      • \n
      • \n intentionally submitting on the Website any incomplete, false or inaccurate information;\n
      • \n
      • making any unsolicited communications to other Users;
      • \n
      • \n using any engine, software, tool, agent or other device or mechanism (such as spiders, robots, avatars\n or intelligent agents) to navigate or search the Website;\n
      • \n
      • \n attempting to decipher, decompile, disassemble or reverse engineer any part of the Website;\n
      • \n
      • \n copying or duplicating in any manner any of the Nushift Content or other information available from the\n Website;\n
      • \n
      • framing or hot linking or deep linking any Nushift Content.
      • \n
      • \n circumventing or disabling any digital rights management, usage rules, or other security features of the\n Software.\n
      • \n
      \n
    • \n
    • \n 5.3Nushift, upon obtaining knowledge by itself or been brought to actual\n knowledge by an affected person in writing or through email signed with electronic signature about any such\n information as mentioned above, shall be entitled to disable such information that is in contravention of\n Clauses 5.1 and 5.2. Nushift shall also be entitled to preserve such information and associated records for\n at least 90 (ninety) days for production to governmental authorities for investigation purposes.\n
    • \n
    • \n 5.4In case of non-compliance with any applicable laws, rules or regulations, or\n the Agreement (including the Privacy Policy) by a User, Nushift has the right to immediately terminate the\n access or usage rights of the User to the Website and Services and to remove non-compliant information from\n the Website.\n
    • \n
    • \n 5.5Nushift may disclose or transfer User-generated information to its\n affiliates or governmental authorities in such manner as permitted or required by applicable law, and you\n hereby consent to such transfer. The SPI Rules only permit Nushift to transfer sensitive personal data or\n information including any information, to any other body corporate or a person in India, or located in any\n other country, that ensures the same level of data protection that is adhered to by Nushift as provided for\n under the SPI Rules, only if such transfer is necessary for the performance of the lawful contract between\n Nushift or any person on its behalf and the User or where the User has consented to data transfer.\n
    • \n
    • \n Nushift respects the intellectual property rights of others and we do not hold any responsibility for any\n violations of any intellectual property rights\n
    • \n
    \n
  • \n
  • \n
    6.TERMINATION
    \n
      \n
    • \n 6.1Nushift reserves the right to suspend or terminate a User’s access to the\n Website and the Services with or without notice and to exercise any other remedy available under law, in\n cases where,\n
        \n
      • Such User breaches any terms and conditions of the Agreement;
      • \n
      • A third party reports violation of any of its right as a result of your use of the Services;
      • \n
      • Nushift is unable to verify or authenticate any information provide to Nushift by a User;
      • \n
      • \n Nushift has reasonable grounds for suspecting any illegal, fraudulent or abusive activity on part of\n such User; or\n
      • \n
      • \n Nushift believes in its sole discretion that User’s actions may cause legal liability for such User,\n other Users or for Nushift or are contrary to the interests of the Website.\n
      • \n
      \n
    • \n
    • \n 6.2Once temporarily suspended, indefinitely suspended or terminated, the User\n may not continue to use the Website under the same account, a different account or re-register under a new\n account. On termination of an account due to the reasons mentioned herein, such User shall no longer have\n access to data, messages, files and other material kept on the Website by such User. The User shall ensure\n that he/she/it has continuous backup of any medical services the User has rendered in order to comply with\n the User’s record keeping process and practices.\n
    • \n
    \n
  • \n
  • \n
    7.LIMITATION OF LIABILITY
    In no event, including but not limited to\n negligence, shall Nushift, or any of its directors, officers, employees, agents or content or service providers\n (collectively, the “Protected Entities”) be liable for any direct, indirect, special, incidental, consequential,\n exemplary or punitive damages arising from, or directly or indirectly related to, the use of, or the inability\n to use, the Website or the content, materials and functions related thereto, the Services, User’s provision of\n information via the Website, lost business or lost End-Users, even if such Protected Entity has been advised of\n the possibility of such damages. In no event shall the Protected Entities be liable for:\n
      \n
    • \n provision of or failure to provide all or any service by Practitioners to End- Users contacted or managed\n through the Website;\n
    • \n
    • \n any content posted, transmitted, exchanged or received by or on behalf of any User or other person on or\n through the Website;\n
    • \n
    • \n any unauthorized access to or alteration of your transmissions or data; or\n
    • \n
    • any other matter relating to the Website or the Service.
    • \n
    \n

    \n In no event shall the total aggregate liability of the Protected Entities to a User for all damages, losses,\n and causes of action (whether in contract or tort, including, but not limited to, negligence or otherwise)\n arising from this Agreement or a User’s use of the Website or the Services exceed, in the aggregate Rs. 1000/-\n (Rupees One Thousand Only).\n

    \n
  • \n
  • \n
    8.RETENTION AND REMOVAL
    \n

    \n Nushift may retain such information collected from Users from its Website or Services for as long as\n necessary, depending on the type of information; purpose, means and modes of usage of such information; and\n according to the SPI Rules. Computer web server logs may be preserved as long as administratively necessary.\n

    \n
  • \n
  • \n
    9.APPLICABLE LAW AND DISPUTE SETTLEMENT
    \n
      \n
    • \n 9.1You agree that this Agreement and any contractual obligation between Nushift\n and User will be governed by the laws of India.\n
    • \n
    • \n 9.2Any dispute, claim or controversy arising out of or relating to this\n Agreement, including the determination of the scope or applicability of this Agreement to arbitrate, or your\n use of the Website or the Services or information to which it gives access, shall be determined by\n arbitration in India, before a sole arbitrator appointed by Nushift. Arbitration shall be conducted in\n accordance with the Arbitration and Conciliation Act, 1996. The seat of such arbitration shall be Bangalore.\n All proceedings of such arbitration, including, without limitation, any awards, shall be in the English\n language. The award shall be final and binding on the parties to the dispute.\n
    • \n
    • \n 9.3Subject to the above Clause 9.2, the courts at Bengaluru shall have\n exclusive jurisdiction over any disputes arising out of or in relation to this Agreement, your use of the\n Website or the Services or the information to which it gives access.\n
    • \n
    \n
  • \n
  • \n
    10.CONTACT INFORMATION GRIEVANCE OFFICER
    \n
      \n
    • \n 10.1If a User has any questions concerning Nushift, the Website, this\n Agreement, the Services, or anything related to any of the foregoing, Nushift customer support can be\n reached at the following email address: support@Nushift.com or via the contact information available from\n the following hyperlink: www.Nushift.com/contact.\n
    • \n
    • \n 10.2In accordance with the Information Technology Act, 2000, and the rules made\n there under, if you have any grievance with respect to the Website or the service, including any\n discrepancies and grievances with respect to processing of information, you can contact our Grievance\n Officer at:\n

      \n Name: Surabhi Patodia
      \n Nushift Technologies Pvt Ltd
      \n WeWork Salarpuria Symbiosis,
      \n Arekere Village, Begur Hobli,
      \n Bannerghatta Road,
      \n Bangalore - 560076.
      \n Phone: 8880588999
      \n Email: privacy@Nushift.com
      \n

      \n

      In the event you suffer as a result of access or usage of our Website by any person in violation of Rule\n 3 of the IG Rules, please address your grievance to the above person.

      \n
    • \n
    \n
  • \n
  • \n
    11.SEVERABILITY
    \n

    \n If any provision of the Agreement is held by a court of competent jurisdiction or arbitral tribunal to be\n unenforceable under applicable law, then such provision shall be excluded from this Agreement and the\n remainder of the Agreement shall be interpreted as if such provision were so excluded and shall be enforceable\n in accordance with its terms; provided however that, in such event, the Agreement shall be interpreted so as\n to give effect, to the greatest extent consistent with and permitted by applicable law, to the meaning and\n intention of the excluded provision as determined by such court of competent jurisdiction or arbitral\n tribunal.\n

    \n
  • \n
  • \n
    12.WAIVER
    \n

    \n No provision of this Agreement shall be deemed to be waived and no breach excused, unless such waiver or\n consent shall be in writing and signed by Nushift. Any consent by Nushift to, or a waiver by Nushift of any\n breach by you, whether expressed or implied, shall not constitute consent to, waiver of, or excuse for any\n other different or subsequent breach.\n

    \n
  • \n
  • \n
    13.BRITANNIA NUTRICHOICE OFFER TERMS AND CONDITIONS
    \n

    \n These terms and conditions (“Terms”) are set out in addition to the terms set out above this section on\n this web page (“General Terms”) and apply to grant of benefit in the form of credits in the Nushift\n accounts of the Users (“Nushift HealthCash”) in the form and under such circumstances as set out in\n these Terms by usage of the coupon codes available along with the Britannia Products (defined below)\n (“HealthCash Activation Codes”). The offer of Nushift HealthCash is available for the users of the\n Website (“Users”) during the period October 1, 2018 till September 30, 2019 (both days included)\n (“Offer Period”) only. Details of the Terms are set out below:\n

    \n
      \n
    • \n 13.1The offer of Nushift HealthCash can be availed by User(s) by purchase of\n Britannia Nutri Choice Essentials 150 g Oat Cookies and Britannia Nutri Choice Essentials 150 g Ragi Cookies\n (“Britannia Products”), during the Offer Period in accordance with the Terms herein. The offer on\n Britannia Products specified in these Terms are hereinafter referred to as “Nutrichoice Offer”.\n
    • \n
    • \n 13.2The HealthCash Activation Codes are valid for activation up to September\n 30, 2019 (“Activation Last Date”), post which the HealthCash Activation Codes cannot be used for\n activating the Nushift HealthCash.\n
    • \n
    • \n 13.3In order to activate the Nushift HealthCash through the HealthCash\n Activation Code, the User will need to send the following text message to the short-code number 87223\n 87223: [Nushift <HealthCash Activation Code>] (“Activation Request”).\n
    • \n\n
    • \n 13.4By sending the Activation Request, the User agrees to the Terms as well as\n the General Terms, and in case the User is not already a registered user on Nushift’s platform, i.e.\n www.Nushift.com and/or Nushift’s mobile application (“Website”), he/she agrees to create a Nushift\n account on the Website linked to the mobile number from which the User sends the Activation Request. The\n complete terms and conditions pertaining to this offer are provided here. Please go through the entire terms\n on this web page in order to view the complete terms for this Nutrichoice Offer.\n
    • \n
    • \n 13.5Each HealthCash Activation Code can only be used once by the Users.\n
    • \n
    • \n 13.6Each HealthCash Activation Code will allow the User to activate Nushift\n HealthCash equivalent to INR 50 (Indian Rupees Fifty Only).\n
    • \n
    • \n 13.7A User will be able to activate Nushift HealthCash through the Nutrichoice\n Offer only for a maximum of 3 (three) times in his/her Nushift account by using the HealthCash Activation\n Codes. Once a User uses his/her first HealthCash Activation Code to activate Nushift HealthCash, such User\n cannot use the second HealthCash Activation Code without redeeming the existing Nushift HealthCash in the\n User’s account with Nushift. The same logic applies when the User is activating Nushift HealthCash by using\n the third HealthCash Activation Code.\n
    • \n
    • \n 13.8Nushift HealthCash activated through the NutriChoice Offer can be redeemed\n by the User only to pay online for the following services on the Website:\n
        \n
      • ordering medicines online;
      • \n
      • consulting a doctor online;
      • \n
      • booking diagnostic tests and health check-ups;
      • \n
      • pre-paying for doctor appointment bookings.
      • \n
      \n (The above services on the Website are collectively referred to as “Permitted Services”.)\n
    • \n
    • \n 13.9Nushift HealthCash activated through one HealthCash Activation Code will be\n available for the User for a period of 14 (fourteen) days from the date of activation of the Nushift\n HealthCash by the User. After this period, these allotted Nushift HealthCash will expire, if the User does\n not redeem such Nushift HealthCash in any of the Permitted Services.\n
    • \n
    • \n 13.10Nushift is not liable to accept activation of Nushift HealthCash through\n any HealthCash Activation Code which a User has received out of an unsealed pack of a Britannia Product.\n
    • \n
    • \n 13.11Nushift is not liable to accept activation of Nushift HealthCash through\n any HealthCash Activation Code in case such HealthCash Activation Code has already been used as per\n Nushift’s systems, even in case such HealthCash Activation Code has been taken out from a sealed pack of a\n Britannia Product. Nushift shall have the sole discretion in this matter.\n
    • \n
    • \n 13.12The User acknowledges that Nushift has agreed to offer Nushift HealthCash\n in its sole discretion. Nothing in these Terms or the General Terms shall be interpreted to obligate Nushift\n to offer Nushift HealthCash beyond the Offer Period or to restrict its right to withdraw the NutriChoice\n Offer during the Offer Period. Nushift reserves its discretion to deny Nushift HealthCash to any User in its\n sole discretion, notwithstanding compliance by such User of the requirements set out in these Terms, the\n General Terms, applicable law or otherwise.\n
    • \n
    • \n 13.13The User should raise all concerns pertaining to the Britannia Products\n with Britannia Industries Limited (“Britannia”) as per the contact details specified on Britannia\n products packaging. Nushift shall not be liable in any manner in this regard.\n
    • \n
    • \n 13.14The User should raise all concerns pertaining to the Permitted Services\n with Nushift Technologies Private Limited (“Nushift”) at support@Nushift.com. Britannia shall not be liable in any manner in\n this regard.\n
    • \n
    • \n 13.15All capitalized terms used but not defined herein will have the same\n meaning as ascribed to them under the General Terms. To the extent of any inconsistency between these Terms\n and the General Terms, the General Terms shall prevail.\n
    • \n
    • \n 13.16The User agrees that these Terms shall be governed in accordance with the\n laws of India.\n
    • \n
    • \n 13.17Any dispute arising out of these Terms shall be determined by arbitration\n in India, before a sole arbitrator appointed by Nushift. Arbitration shall be conducted in accordance with\n the Arbitration and Conciliation Act, 1996. The seat of such arbitration shall be Bangalore. All proceedings\n of such arbitration, including, without limitation, any awards, shall be in the English language. The\n arbitration award shall be final and binding on the parties to the dispute.\n
    • \n
    • \n 13.18Subject to the terms of Clause 17 above, the courts of Bangalore shall\n have exclusive jurisdiction to try all disputes arising pursuant to or under these Terms.\n
    • \n
    \n
    14. Nushift HEALTH PLAN – USER TERMS AND CONDITIONS
    \n

    \n For the purposes of the following terms and conditions (“Nushift Health Plan Terms”), the service\n provided to You (as defined below) is facilitation of consultation and other benefits, as detailed\n hereinafter, with the Practitioners (healthcare providers including all its doctors, agents, employees)\n registered pharmacies which facilitate the medicine orders (“Registered Pharmacies”) and diagnostic\n centres which conduct diagnostic tests (“Diagnostic Centres”), and other benefits the Nushift may offer\n in future, as a part of the subscription to the Nushift Health Plan (“Health Plan Service” /\n “Plan”). Nushift operates and facilitates the Health Plan Service provided through the Website.\n

    \n
      \n
    • \n 14.1 NATURE AND APPLICABILITY OF TERMS\n

      \n Please go through these Nushift Health Plan Terms carefully before you decide to avail the Health Plan\n Service facilitated by Nushift on its Website. The Nushift Health Plan Terms set out herein are in\n addition to the Nushift Terms and Conditions (available at https://www.Nushift.com/company/terms) read with the\n Privacy Policy (available at https://www.Nushift.com/company/privacy), (the Terms\n and Conditions and Privacy Policy are together referred as “Standard Policies”) and together they\n constitute a legal agreement between You and Nushift. The Standard Policies and the Nushift Health Plan\n Terms are to be read in connection with Your visit to the Website and Your use of the Health Plan Service\n respectively. To the extent of any inconsistency between the Standard Policies and the Nushift Health Plan\n Terms herein, the Nushift Health Plan Terms herein shall prevail over the Standard Policies to the extent\n of the inconsistency.\n

      \n

      \n These Nushift Health Plan Terms apply to any person who subscribes to the Health Plan Service on behalf or\n for the benefit of a patient, either individually or inclusive of his/her family members / relatives. The\n primary user is required to be registered on the Website and should have subscribed to the Health Plan\n Service. For the purposes of these Nushift Health Plan Terms, the primary subscriber to the Health Plan\n Service is an individual designed as primary user (“Primary User”) in the Plan Page (as defined\n hereafter), who subscribes to the Health Plan Service either individually and/or for benefit of other\n members, which could include any other individual nominated by the Primary Member (hereinafter\n collectively known as the “Covered Members”). The Covered Members and a Primary User are\n collectively and individually hereinafter referred to as the “You” / “Your” / “User”\n / “Users”. As a part of availing the Health Plan Service, You may choose different packages\n available pursuant to the Health Plan Service / Plan which best suits Your needs as per the plan details\n set out in your Nushift application (“Plan Details”). The User specific details will be visible to\n You on Your purchased plan page (“Plan Page”) hosted on Your Nushift application.\n

      \n

      \n If you have any questions about any part of these Nushift Health Plan Terms, feel free to contact us at support@Nushift.com.\n

      \n

      \n By availing the Health Plan Service, you signify your acceptance of the terms of the Standard Policies and\n these Nushift Health Plan Terms.\n

      \n

      \n We reserve the right to modify or terminate any portion of these Nushift Health Plan Terms and the\n Standard Policies for any reason and at any time, and such modifications shall be informed to You by\n appropriate notifications on the Website. You should read these Nushift Health Plan Terms and the Standard\n Policies at regular intervals. Your continued availing of Health Plan Service following any such\n modification constitutes your agreement to follow and be bound by these Terms and the Standard Policies so\n modified.\n

      \n

      \n You acknowledge that you will be bound by these Nushift Health Plan Terms specifically for availing any of\n the Health Plan Service. If you do not agree with any part of these Nushift Health Plan Terms and/or the\n Standard Policies, please do not use the Website or avail the Health Plan Service.\n

      \n

      \n Your access and use of the Health Plan Service will be solely at the discretion of Nushift.\n

      \n
    • \n
    • \n 14.2 CONDITIONS OF USE\n

      \n You must be eighteen (18) years of age or older to register on the Website for availing the Health Plan\n Service as a Primary User. As a Primary User, You can add minors as Covered Member(s) under the Health\n Plan Service availed and subscribed to with the express understanding that the Primary Member shall be\n entirely responsible and liable on all counts for compliance with these Nushift Health Plan Terms for and\n on behalf of such Covered Member who is below the age of majority. By registering, visiting and using the\n Website for availing the Health Plan Service or accepting these Terms and the Standard Policies, You\n represent and warrant to Nushift that You are eighteen (18) years of age or older and have the appropriate\n authorization to contract on behalf of a Covered Member who is below the age of majority, and that You\n have the right, authority and capacity to use the Website for availing the Health Plan Service and agree\n to and abide by these Terms.\n

      \n
    • \n
    • \n 14.3 TERMS OF THE HEALTH PLAN SERVICE

      \n
        \n
      • \n 14.3.1 Term: The Health Plan Service subscribed by You will be valid for\n the period as per the Plan Details commencing from the date of the subscription of the Health Plan\n Service (“Term”). After the expiry of the Term, You may choose a different Plan as per the Plan\n Details and subscribe thereto or renew Your existing subscription, on such terms that are valid and\n subsisting as on date of subscription or renewal. The benefits under the Health Plan Service cannot be\n carried forward after the expiry of the Term.\n
      • \n
      • \n 14.3.2 Registration: The Primary User is a registered user on the Website\n and has subscribed to the Health Plan Service on the Website by paying the applicable fees as per the\n Plan Details. You could avail the Plan solely for You or for Yourself and any Covered Member(s). Each\n Covered Member, who is covered by the Health Plan Service subscribed by You will have to follow an\n authentication mechanism to utilize the Health Plan Service. The maximum number of permissible Covered\n Members per each Primary User will be set out in the Plan Details. Covered Members, once added by the\n Primary User cannot be removed, modified or edited.\n
      • \n
      • \n 14.3.3 Information: As a part of the registration process for Health Plan\n Service, You will fill in certain personal information and details in order to create a medical history\n and profile which will be accessible to the Practitioners. The information shared by You will be dealt\n with in accordance with the Standard Policies.\n
      • \n
      • \n 14.3.4 Health Plan Service details: As a part of Health Plan Service, You\n are entitled to benefits (which may include such number of consultations, offers on medicines which are\n ordered through the Website, discounted health check-ups, discounts / offers on diagnostics tests and\n Family Doctor benefit, or any other benefit that Nushift may offer in the future) that are set out in\n the Plan Details.\n
      • \n
      • \n 14.3.5 Health Plan Service process: After subscribing to Health Plan\n Service, You will be eligible to avail the benefits covered under the Health Plan Service as under:\n
          \n
        • \n Consultations: Covered Consultations and their Utilization: As part of the Health Plan\n Service, You are entitled to certain number of consultations with Covered Practitioners at a\n discounted rate (“Covered Consultations”). For the purposes of these Terms, “Covered\n Practitioners” are those Practitioners who have been onboarded by Nushift to provide You the Covered\n Consultation as part of Health Plan Service. The number of Covered Consultations that You are\n eligible for shall be displayed under Your Plan Page. The Covered Consultations can be availed by\n You either by booking through the Website by using the Book facility (as published on the Website)\n or by way of a walk-in. It is clarified that the benefits under the Covered Consultations will be\n calculated cumulatively and not per member. Illustratively, 1 Primary User has subscribed to the\n Health Plan Service with 4 Covered Members who are cumulatively entitled to 10 Covered\n Consultations. This means that as a group (Primary User and the Covered Members) the number of\n Covered Consultations is 10. These 10 Covered Consultations can be utilized by 1 individual User or\n more than 1 individual user in such combination and proportion that they choose as a group. Further,\n if You have exhausted the Covered Consultations under the Health Plan Service, You will still be\n able to avail other benefits which are a part of the Health Plan Service, however, if You seek a\n consultation with the Covered Practitioners after exhausting the Covered Consultation, You will have\n to pay to the Covered Practitioner their standard rate at their establishment. If before the expiry\n of the Term, You have exhausted the Covered Consultations that You were eligible for, You may have\n an option to renew Health Plan Service solely for the purpose of subscribing to additional number of\n Covered Consultation during the Term.
          \n Authentication: If You are booking a Covered Consultation through Nushift’s Book\n facility, then the Plan Details, shall indicate such Covered Consultation to have been consumed at\n the time of booking such Covered Consultation, unless you have cancelled it as per permissible\n timelines set out in the Standard Policies. However, if You are availing the Covered Consultation by\n way of a walk-in appointment, then the Plan Details shall indicate such Covered Consultation to have\n been consumed once You authenticate Your booking at such Covered Practitioner’s establishment.\n Covered consultations do not include consultations with Physiotherapist, Psychiatrist, Ayurveda, and\n Homeopathy.\n
        • \n
        • \n Medicine: As part of the Health Plan Service, You are eligible to receive offers on order of\n medicines (as offered for sale by Registered Pharmacies which are the sellers of such medicines)\n through the Website during the Term as per the Plan Details. The type of offers will be set out\n under your Plan Details. The other terms and conditions governing the order of medicines which are\n available at https://www.Nushift.com/order/terms\n (“Order Terms”) will applicable to You in conjunction with the Standard Policies. The offers\n on purchase of medicines is available only on purchase of medicines through the Website and not via\n any other mode. For the purposes of these Nushift Health Plan Terms, “Registered Pharmacies” are\n those pharmacies who have been on-boarded by Nushift to offer You sale of medicine as part of the\n Health Plan Service through the Website. Additionally, the Order Terms applicable to Nushift and\n User on medicine order will apply ‘as is’ under these Nushift Health Plan Terms. It is to be noted\n that Nushift is not the seller of the medicines but only a facilitator which facilitates procurement\n of medicine between You and a Registered Pharmacist. Nushift is in no manner liable for or\n responsible towards the underlying medicine sale between the User and the registered pharmacist.\n Nushift hereby disclaims and excludes all warranties with respect to all services, information\n and/or products contained on a medicine order, express, implied or statutory.\n
        • \n
        • \n Diagnostics: As part of Health Plan Service, You will be eligible to receive discounts / offers on\n the diagnostic tests availed by You (undertaken by Diagnostic Centres) through the Website for the\n Term as per the Plan Details. The quantum of the discount or type of offers will be set out under\n your Plan Details. The other terms and conditions governing the lab/diagnostic tests which are\n available at https://www.Nushift.com/company/terms/diagnostic\n will applicable to You in conjunction with the Standard Policies. For the purposes of these Terms,\n “Diagnostic Centres” are those diagnostic centres who have been onboarded by Nushift to offer You\n diagnostic tests under the Health Plan Service. It is to be noted that the terms applicable to\n Nushift and User on diagnostic tests will apply ‘as is’ under these Terms. The lab that You choose\n for the diagnostic test will offer at-home diagnostic service, and may offer walk-in tests at its\n discretion. It is clarified that all diagnostic tests may not be covered under Health Plan Service\n which is at the discretion of such Diagnostic Centres. It is further clarified that Nushift does not\n conduct any diagnostic tests but is only a facilitator between the User and the Diagnostic Centres.\n Nushift is in no manner liable for or responsible towards the actual test and analysis undertaken by\n the Diagnostic Centre. Nushift disclaims and excludes all warranties in relation to any diagnostic\n service availed by the User as part of the Health Plan Service.\n
        • \n
        • \n Health Check-ups: As a benefit extended to You as a subscriber to Health Plan Service, You will get\n health check-ups at discounted fees during the Term. The details (including the number) of health\n check-ups will be visible to You under your Plan Page. As with Covered Consultations, the Primary\n User and the Covered Members may, as a group, choose to avail the health check-ups in such\n proportion amongst themselves as they deem fit. Health check-up would be provided by the Covered\n Practitioners and the Diagnostic Centres.\n
        • \n
        • \n Family Doctor: As a part of the Health Plan Service, You will also be eligible to avail the benefit\n of online tele-consultation with a team of Practitioners (“Family Doctor”). The Family Doctor\n will be available to You for consult and You are not required to pay any additional sum to consult\n with such Family Doctor. The Family Doctor benefit may be availed either through a phone call or\n chat or a video call. The Standard Policies applicable to You with regard to the online consultation\n (Nushift Consult / Consult) will apply “as is”. Please note that the benefit of Family Doctor\n Consult is merely a consulting model and any interactions and associated issues with the\n Practitioner acting as Family Doctor, including but not limited to the Your health issues and/or\n Your experiences is strictly between You and such Practitioner. You shall not hold Nushift\n responsible for any such interactions and associated issues. Any conversations that You have had\n with Family Doctor will be retained in Nushift database as per the applicable laws and subject to\n confidentiality as laid out in the Standard Policies. Additionally, Nushift in no manner endorses\n any Practitioner who is acting in the capacity of Family Doctor, that You consult and is not in any\n manner responsible for any drug/medicines prescribed or the therapy prescribed by such Family Doctor\n on the basis of the consultation. Further, Nushift shall not be responsible for any breach of\n service or service deficiency by such Practitioner. It is further clarified that Nushift is not a\n medical service provider, nor is it involved in providing any healthcare or medical advice or\n diagnosis, it shall hence not be responsible and owns no liability to either You or any Practitioner\n for any outcome from the consultation between You and such Practitioner. The Family Doctor benefit\n is made available to You to obtain consultation from a Practitioner as a part of the Health Plan\n Service and is in no way intending to replace physical consultations with the Practitioner.\n
        • \n
        \n
      • \n
      • \n 14.3.6 Payment for the Health Plan Service: You will pay to Nushift at the\n time of subscribing to the Health Plan Service, at the rates set out in the Plan Details. At the time of\n visiting the establishment of the Practitioner for Covered Consultation, You are not required to pay any\n amount as long as your eligibility for Covered Consultations are valid and has been set out in the Plan\n Page. After availing the Covered Consultation service, You are required to let the billing department of\n such Practitioner’s establishment know, that You have availed it by way of a Covered Consultation as\n part of Health Plan Service which will then be authenticated by the Practitioner’s establishment.\n
      • \n
      • \n 14.3.7\n Health Plan Service Cancellation and Refund Policy:\n
        You may have an option to cancel Your subscription to the Health Plan Services. You will contact\n Nushift on the customer support chat channel regarding cancelling Your subscription to the Health Plan\n Service. Further, Nushift may refund the amount paid by You towards your subscription of the Health\n Plan Services (“Health Plan Subscription amount”), subject to the following conditions:
        \n
          \n
        • \n 1. In the event the Health Plan Subscription amount is Rs. 3,999\n (Rupees Three Thousand Nine Hundred and Ninety Nine) or Rs. 5,999 (Rupees Five Thousand Nine Hundred\n and Ninety Nine) the refund scheme is as follows:\n
            \n
          • \n If the user has not availed any of the Health Plan Services which are mentioned in the User’s\n Plan Details within a period of 15 (Fifteen) days from the date of subscribing to the Health\n Plan Services (“Free Look Period”) and if the user requests for a cancellation of his/her Health\n Plan Services during the Free Look Period, Nushift will refund the entire Health Plan\n Subscription amount which was paid by the user.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services during\n the Free Look Period and if the user has already availed certain Health Plan Services which are\n mentioned in the user’s Plan Details during the Free Look Period, Nushift will deduct maximum of\n Rs. 1,000 (Rupees One Thousand) or the actual value of the Health Plan Services availed by the\n user, whichever is higher.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services after\n expiry of the Free Look Period, Nushift will refund the Health Plan Subscription amount in the\n following manner:\n
              \n
            • \n If the cancellation request by the user is within 16 (Sixteen) days to 89 (Eighty Nine) days\n from the date of user’s subscription to the Health Plan Services, Nushift will refund 75%\n (Seventy Five percent) of the Health Plan Subscription amount or the actual cost of Health\n Plan Services availed by the user, whichever is higher;\n
            • \n
            • \n If the cancellation request by the user is within 90 (Ninety) days to 179 (One hundred and\n Seventy Nine) days from the date of user’s subscription to the Health Plan Services, Nushift\n will refund 50% (Fifty percent) of the Health Plan Subscription amount or the actual cost of\n Health Plan Services availed by the user, whichever is higher;\n
            • \n
            • \n If the cancellation request by the user is within 180 (One Hundred and Eighty) days to 269\n (Two hundred and Sixty Nine) from the date of user’s subscription to the Health Plan\n Services, Nushift will refund 25% (Twenty Five percent) of the Health Plan Subscription\n amount or the actual cost of Health Plan Services availed by the user, whichever is higher;\n and\n
            • \n
            • \n The user will not be entitled to any refund of the Health Plan Subscription amount if the\n cancellation request by the user is after 269 (Two Hundred and Sixty Nine) from the date of\n user’s subscription to the Health Plan Services.\n
            • \n
            \n
          • \n
          \n
        • \n
        • \n 2. In the event the Health Plan Subscription amount paid by the user is\n Rs. 1,999 (Rupees One Thousand Nine Hundred and Ninety Nine) or Rs.2,999 (Rupees Two Thousand Nine\n Hundred and Ninety Nine) the refund scheme is as follows:\n
            \n
          • \n If the user has not availed any of the Health Plan Services which are mentioned in the user’s\n Plan Details within the Free Look Period and if the user requests for a cancellation of his/her\n Health Plan Services during the Free Look Period, Nushift will refund the entire Health Plan\n Subscription amount which was paid by the user.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services during\n the Free Look Period and if the user has already availed certain Health Plan Services which are\n mentioned in the user’s Plan Details during the Free Look Period, Nushift will refund the Health\n Plan Subscription amount after deducting the consultation fees (as mentioned by the respective\n doctor on the Website) for the consultation(s) availed by the user as part of the Health Plan\n Services.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services after\n expiry of the Free Look Period, Nushift will refund the Health Plan Subscription amount in the\n following manner:\n
              \n
            • \n If the cancellation request by the user is within 16 (Sixteen) days to 89 (Eighty Nine) days\n from the date of user’s subscription to the Health Plan Services, Nushift will refund 75%\n (Seventy Five percent) of the Health Plan Subscription amount or the actual cost of Health\n Plan Services availed by the user, whichever is higher;\n
            • \n
            • \n If the cancellation request by the user is within 90 (Ninety) days to 179 (One hundred and\n Seventy Nine) days from the date of user’s subscription to the Health Plan Services, Nushift\n will refund 50% (Fifty percent) of the Health Plan Subscription amount or the actual cost of\n Health Plan Services availed by the user, whichever is higher;\n
            • \n
            • \n If the cancellation request by the user is within 180 (One Hundred and Eighty) days to 269\n (Two hundred and Sixty Nine) days from the date of user’s subscription to the Health Plan\n Services, Nushift will refund 25% (Twenty Five percent) of the Health Plan Subscription\n amount or the actual cost of Health Plan Services availed by the user, whichever is higher;\n and\n
            • \n
            • \n The user will not be entitled to any refund of the Health Plan Subscription amount if the\n cancellation request by the user is after 269 (Two Hundred and Sixty Nine) days from the\n date of user’s subscription to the Health Plan Services.\n
            • \n
            \n
          • \n
          \n
        • \n
        • \n 3. In the event the Health Plan Subscription amount paid by the user is\n Rs.399 (Rupees Three Hundred and Ninety Nine) or Rs.499 (Rupees Four Hundred and Ninety Nine) or\n Rs.799 (Rupees Seven Hundred and Ninety Nine)the refund scheme is as follows:\n
            \n
          • \n If the user has not availed any of the Health Plan Services which are mentioned in the user’s\n Plan Details within a period of 7 (Seven) days from the date of subscribing to the Health Plan\n Services (“Free Look Period”) and if the user requests for a cancellation of his/her Health Plan\n Services during the Free Look Period, Nushift will refund the entire Health Plan Subscription\n amount which was paid by the user.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services during\n the Free Look Period and if the user has already availed certain Health Plan Services which are\n mentioned in the user’s Plan Details during the Free Look Period, Nushift will refund the Health\n Plan Subscription amount after deducting the consultation fees (as mentioned by the respective\n doctor on the Website) for the consultation(s) availed by the user as part of the Health Plan\n Services.\n
          • \n
          • \n The user will not be entitled to any refund of the Health Plan Subscription amount if the\n cancellation request by the user is after 7 (Seven) days from the date of user’s subscription to\n the Health Plan Services.\n
          • \n
          \n
        • \n
        • \n 4. In the event the Health Plan Subscription amount paid by the user is\n Rs.1499 (Rupees One Thousand Four Hundred and Ninety Nine) the refund scheme is as follows:\n
            \n
          • \n If the user has not availed any of the Health Plan Services which are mentioned in the user's\n Plan Details within a period of 15 (Fifteen) days from the date of subscribing to the Health\n Plan Services (\"Free Look Period\") and if the user requests for a cancellation of his/her Health\n Plan Services during the Free Look Period, Nushift will refund the entire Health Plan\n Subscription amount which was paid by the user.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services during\n the Free Look Period and if the user has already availed certain Health Plan Services which are\n mentioned in the user's Plan Details during the Free Look Period, Nushift will refund the Health\n Plan Subscription amount after deducting the consultation fees (as mentioned by the respective\n doctor on the Website) for the consultation(s) availed by the user as part of the Health Plan\n Services.\n
          • \n
          • \n The user will not be entitled to any refund of the Health Plan Subscription amount if the\n cancellation request by the user is after 15 (Fifteen) days from the date of user's subscription\n to the Health Plan Services.\n
          • \n
          \n
        • \n
        • \n 5. All refunds of the Health Plan Subscription amount to the user are\n subject to Nushift’s internal verification process.\n
        • \n
        • \n 6. Subject to Clause 3.4.7 (3) above, the refund of the Health Plan\n Subscription amount will made to the user within fifteen (15) business days of such cancellation\n request.\n
        • \n
        \n
      • \n
      • \n 14.3.8 As a part of Health Plan Service, You are entitled to certain\n discounts, offers and benefits. It is clarified that none of these benefits under Health Plan Service\n can be redeemed for cash.\n
      • \n
      • \n 14.3.9 Fair Usage Policy for Nushift Health Plan.\n
        The following fair usage policy shall be applicable to every Plan:
        \n
          \n
        • \n Users are allowed to utilise a maximum of 5 (Five) free online consultations per day (i.e. 5 (Five)\n online consultations per day collectively for all users, including covered members). Upon completion\n of the 5 (Five) free consultations per day, users may choose to avail additional consultations by\n paying the prescribed consultation fee to the doctor.\n
        • \n
        • \n Users are allowed to utilize a maximum of 15 (Fifteen) free online consultations per month (i.e. 15\n (Fifteen) free online consultations per month collectively for all users, including covered\n members). Upon completion of the 15 (Fifteen) free consultations per month, users may choose to\n avail additional consultations by paying the prescribed consultation fee to the doctor.\n
        • \n
        • \n Each user of a Plan can have 1 (one) active doctor consultation at any given time. An online\n consultation is considered to be active for 60 (Sixty) minutes from the actual time of commencement\n of the said consultation and upon completion of 60 (Sixty) minutes, users may commence a new online\n consultation.\n
        • \n
        • \n The aforementioned fair usage policy is subject to change by Nushift at its sole discretion based on\n future analysis and actual usage.\n
        • \n
        \n
      • \n
      \n
    • \n

      \n
    • \n 14.4 APPLICABILITY OF THE STANDARD POLICIES\n

      \n The Nushift Health Plan Terms herein are required to be read in conjunction and addition with the\n applicable user terms under the Standard Policies. In case of any inconsistency between the Nushift Health\n Plan Terms and the Standard Policies, the Terms will prevail to the extent of the inconsistency.\n

      \n
    • \n
    • \n 14.5 REIMBURSEMENT UNDER Nushift PLUS PLAN – TERMS & CONDITIONS\n

      \n Users who have subscribed to the Nushift Plus Plan which is available on the\n Website are entitled to receive reimbursements, on the consultation fee mentioned by\n the doctor on the Website with respect to each consultation (“Consultation\n Fee”) subject to the following terms and conditions:\n

      \n
        \n
      • \n 1 Only those Users who have subscribed to a Nushift Plus Plan through the\n Website are entitled to receive reimbursement on the Consultation Fee.\n
      • \n
      • \n 2The maximum reimbursement which can be availed by a User per consultation\n is Rs. 500/- (Rupees Five Hundred only).\n
      • \n
      • \n 3Reimbursement is available only on the Consultation Fees, and not on the\n fees paid by the User for each Consultation. For example, if the doctor has raised an invoice for Rs.\n 500/- and the Consultation Fee as mentioned under the profile of the doctor on the Website is Rs. 400/-,\n the User who has consulted the said doctor will be entitled to a cash back of only Rs. 400/- and not Rs.\n 500/-.\n
      • \n
      • \n 4For the purpose of availing the reimbursement, Users shall send a legible\n picture/photo of the invoice/bill raised by the respective clinic/hospital at which the said User has\n booked an appointment to pluscashback@Nushift.com.\n
      • \n
      • \n 5The E-mail to be sent by the User (as per Clause 5 above) shall also\n include the following details:\n
          \n
        • Picture/photo of the invoice/bill
        • \n
        • Bank details of the User
        • \n
        \n
      • \n
      • \n 6 The picture/photo mentioned under Clause 5 shall contain the following\n details for the Users to avail the reimbursement:\n
          \n
        • Name of the User (name should be as mentioned in the Nushift Plus membership before the booking\n the appointment)
        • \n
        • Name of clinic/hospital
        • \n
        • Name of doctor
        • \n
        • Consultation Fee/ fees paid.
        • \n
        \n
      • \n
      • \n 7 Nushift team will verify the amount mentioned in the invoice with the\n Consultation Fee mentioned by the doctor on the Website\n
      • \n
      • \n 8 Any reimbursement claim made by a User after the expiry of his/her\n subscription to the Nushift Plus Plan is not valid.\n
      • \n
      • \n 9 A User cannot carry forward his/her entitlement to receive reimbursement\n while renewing his/her Nushift Plus Plan subscription.\n
      • \n
      • \n 10 Plus is not an insurance product.\n
      • \n
      • \n 11Any reimbursement claim made by a User 30 days after the date of\n appointment is not valid.\n
      • \n
      \n
    • \n\n
    \n
  • \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { NavbarService } from 'src/app/services/navbar.service';\n\n@Component({\n selector: 'app-terms',\n templateUrl: './terms.component.html',\n styleUrls: ['./terms.component.scss']\n})\nexport class TermsComponent implements OnInit {\n\n constructor(public nav: NavbarService,\n private _snackBar: MatSnackBar,\n private spinner: NgxSpinnerService,\n public dialog: MatDialog) { }\n\n ngOnInit(): void {\n this.nav.navbarHide();\n this.nav.footerShow();\n this.nav.setfooterNotFixed();\n }\n\n}","
\n

Nushift Terms and Conditions

\n
\n
\n

\n Nushift Technologies Private Limited, on behalf of itself and its affiliates/group companies under the brand\n \"Nushift\" (“Nushift”), is the author and publisher of the internet resource www.Nushift.com and the mobile\n application ‘Nushift’ (together, “Website”). Nushift owns and operates the services provided through the Website.\n

\n
    \n
  • \n
    1.NATURE AND APPLICABILITY OF TERMS
    \n

    \n Please carefully go through these terms and conditions (“Terms”) and the privacy policy available at\n https://www.Nushift.com/company/privacy (“Privacy Policy”) before you decide to access the Website or\n avail the services made available on the Website by Nushift. These Terms and the Privacy Policy together\n constitute a legal agreement (“Agreement”) between you and Nushift in connection with your visit to the\n Website and your use of the Services (as defined below).\n

    \n

    The Agreement applies to you whether you are -

    \n
      \n
    • \n A medical practitioner or health care provider (whether an individual professional or an organization) or\n similar institution wishing to be listed, or already listed, on the Website, including designated,\n authorized associates of such practitioners or institutions (“Practitioner(s)”, “you” or “User”); or\n
    • \n
    • \n A patient, his/her representatives or affiliates, searching for Practitioners through the Website\n (“End-User”, “you” or “User”); or\n
    • \n
    • \n Otherwise a user of the Website (“you” or “User”).\n
    • \n
    \n

    \n This Agreement applies to those services made available by Nushift on the Website, which are offered free of\n charge to the Users (“Services”), including the following:\n

    \n
      \n
    • \n For Practitioners: Listing of Practitioners and their profiles and contact details, to be made available to\n the other Users and visitors to the Website;\n
    • \n
    • \n For other Users: Facility to (i) create and maintain ‘Health Accounts’, (ii) search for Practitioners by\n name, specialty, and geographical area, or any other criteria that may be developed and made available by\n Nushift, and (iii) to make appointments with Practitioners.\n
    • \n
    \n

    \n The Services may change from time to time, at the sole discretion of Nushift, and the Agreement will apply to\n your visit to and your use of the Website to avail the Service, as well as to all information provided by you\n on the Website at any given point in time.\n

    \n

    \n This Agreement defines the terms and conditions under which you are allowed to use the Website and describes\n the manner in which we shall treat your account while you are registered as a member with us. If you have any\n questions about any part of the Agreement, feel free to contact us at support@Nushift.com.\n

    \n

    \n By downloading or accessing the Website to use the Services, you irrevocably accept all the conditions\n stipulated in this Agreement, the Subscription Terms of Service and Privacy Policy, as available on the Website, and agree to abide by them. This Agreement\n supersedes all previous oral and written terms and conditions (if any) communicated to you relating to your\n use of the Website to avail the Services. By availing any Service, you signify your acceptance of the terms of\n this Agreement.\n

    \n

    \n We reserve the right to modify or terminate any portion of the Agreement for any reason and at any time, and\n such modifications shall be informed to you in writing You should read the Agreement at regular intervals.\n Your use of the Website following any such modification constitutes your agreement to follow and be bound by\n the Agreement so modified.\n

    \n

    \n You acknowledge that you will be bound by this Agreement for availing any of the Services offered by us. If\n you do not agree with any part of the Agreement, please do not use the Website or avail any Services.\n

    \n

    \n Your access to use of the Website and the Services will be solely at the discretion of Nushift.\n

    \n

    \n The Agreement is published in compliance of, and is governed by the provisions of Indian law, including but\n not limited to:\n

    \n
      \n
    • \n the Indian Contract Act, 1872,\n
    • \n
    • \n the (Indian) Information Technology Act, 2000, and\n
    • \n
    • \n the rules, regulations, guidelines and clarifications framed there under, including the (Indian) Information\n Technology (Reasonable Security Practices and Procedures and Sensitive Personal Information) Rules, 2011\n (the “SPI Rules”), and the (Indian) Information Technology (Intermediaries Guidelines) Rules, 2011\n (the “IG Rules”).\n
    • \n
    \n
  • \n
  • \n
    2.CONDITIONS OF USE
    \n

    \n You must be 18 years of age or older to register, use the Services, or visit or use the Website in any manner.\n By registering, visiting and using the Website or accepting this Agreement, you represent and warrant to\n Nushift that you are 18 years of age or older, and that you have the right, authority and capacity to use the\n Website and the Services available through the Website, and agree to and abide by this Agreement.\n

    \n
  • \n
  • \n
    3.TERMS OF USE APPLICABLE TO ALL USERS OTHER THAN PRACTITIONERS
    \n

    The terms in this Clause 3 are applicable only to Users other than Practitioners.

    \n
      \n
    • \n 3.1END-USER ACCOUNT AND DATA PRIVACY\n
        \n
      • 3.1.1 The terms “personal information” and “sensitive personal data or\n information” are defined under the SPI Rules, and are reproduced in the Privacy Policy.\n
      • \n
      • 3.1.2 Nushift may by its Services, collect information relating to the\n devices through which you access the Website, and anonymous data of your usage. The collected\n information will be used only for improving the quality of Nushift’s services and to build new services.\n
      • \n
      • 3.1.3 The Website allows Nushift to have access to registered Users’\n personal email or phone number, for communication purpose so as to provide you a better way of booking\n appointments and for obtaining feedback in relation to the Practitioners and their practice.\n
      • \n
      • \n 3.1.4 The Privacy Policy sets out, inter-alia:\n
          \n
        • \n The type of information collected from Users, including sensitive personal data or information;\n
        • \n
        • The purpose, means and modes of usage of such information;
        • \n
        • How and to whom Nushift will disclose such information; and,
        • \n
        • Other information mandated by the SPI Rules.
        • \n
        \n
      • \n
      • \n 3.1.5 The User is expected to read and understand the Privacy Policy, so as\n to ensure that he or she has the knowledge of, inter-alia:\n
          \n
        • the fact that certain information is being collected;
        • \n
        • the purpose for which the information is being collected;
        • \n
        • the intended recipients of the information;
        • \n
        • the nature of collection and retention of the information; and
        • \n
        • the name and address of the agency that is collecting the information and the agency that will\n retain the information; and
        • \n
        • the various rights available to such Users in respect of such information.
        • \n
        \n
      • \n
      • 3.1.6 Nushift shall not be responsible in any manner for the authenticity\n of the personal information or sensitive personal data or information supplied by the User to Nushift or\n to any other person acting on behalf of Nushift.\n
      • \n
      • 3.1.7 The User is responsible for maintaining the confidentiality of the\n User’s account access information and password, if the User is registered on the Website. The User shall\n be responsible for all usage of the User’s account and password, whether or not authorized by the User.\n The User shall immediately notify Nushift of any actual or suspected unauthorized use of the User’s\n account or password. Although Nushift will not be liable for your losses caused by any unauthorized use\n of your account, you may be liable for the losses of Nushift or such other parties as the case may be,\n due to any unauthorized use of your account.\n
      • \n
      • \n 3.1.8If a User provides any information that is untrue, inaccurate, not\n current or incomplete (or becomes untrue, inaccurate, not current or incomplete), or Nushift has\n reasonable grounds to suspect that such information is untrue, inaccurate, not current or incomplete,\n Nushift has the right to discontinue the Services to the User at its sole discretion.\n
      • \n
      • \n 3.1.9Nushift may use such information collected from the Users from time to\n time for the purposes of debugging customer support related issues.\n
      • \n
      • \n 3.1.10Against every Practitioner listed in Nushift.com, you may see a ‘show\n number’ option. When you choose this option, you choose to call the number through a free telephony\n service provided by Nushift, and the records of such calls are recorded and stored in Nushift’s servers.\n Such call will have an IVR message stating the purpose of recording your calls and your consent to such\n recordings which are dealt with as per the Privacy Policy. Such records may be accessed by Nushift for\n quality control and support related purposes and are dealt with only in accordance with the terms of the\n Privacy Policy. Such call facility provided to you by Nushift should be used only for appointment and\n booking purposes, and not for consultation on health-related issues. Nushift accepts no liability if the\n call facility is not used in accordance with the foregoing. Nushift may also choose to not use this\n facility and show the practitioner's direct number. In case you choose to not provide your consent to\n recording your calls that may have personal information required for appointment and booking purposes,\n Nushift reserves the right to not provide the Services for which such personal information is sought.\n
      • \n
      \n
    • \n
    • \n 3.2RELEVANCE ALGORITHM\n

      \n Nushift’s relevance algorithm for the Practitioners is a fully automated system that lists the\n Practitioners, their profile and information regarding their Practice on its Website. These listings of\n Practitioners do not represent any fixed objective ranking or endorsement by Nushift. Nushift will not be\n liable for any change in the relevance of the Practitioners on search results, which may take place from\n time to time. The listing of Practitioners will be based on automated computation of the various factors\n including inputs made by the Users including their comments and feedback. Such factors may change from\n time to time, in order to improve the listing algorithm. Nushift in no event will be held responsible for\n the accuracy and the relevancy of the listing order of the Practitioners on the Website.\n

      \n
    • \n
    • \n 3.3LISTING CONTENT AND DISSEMINATING INFORMATION\n
        \n
      • \n 3.3.1Nushift collects, directly or indirectly, and displays on the Website,\n relevant information regarding the profile and practice of the Practitioners listed on the Website, such\n as their specialization, qualification, fees, location, visiting hours, and similar details. Nushift\n takes reasonable efforts to ensure that such information is updated at frequent intervals. Although\n Nushift screens and vets the information and photos submitted by the Practitioners, it cannot be held\n liable for any inaccuracies or incompleteness represented from it, despite such reasonable efforts.\n
      • \n
      • \n 3.3.2The Services provided by Nushift or any of its licensors or service\n providers are provided on an \"as is\" and “as available’ basis, and without any warranties or conditions\n (express or implied, including the implied warranties of merchantability, accuracy, fitness for a\n particular purpose, title and non-infringement, arising by statute or otherwise in law or from a course\n of dealing or usage or trade). Nushift does not provide or make any representation, warranty or\n guarantee, express or implied about the Website or the Services. Nushift does not guarantee the accuracy\n or completeness of any content or information provided by Users on the Website. To the fullest extent\n permitted by law, Nushift disclaims all liability arising out of the User’s use or reliance upon the\n Website, the Services, representations and warranties made by other Users, the content or information\n provided by the Users on the Website, or any opinion or suggestion given or expressed by Nushift or any\n User in relation to any User or services provided by such User.\n
      • \n
      • \n 3.3.3The Website may be linked to the website of third parties, affiliates\n and business partners. Nushift has no control over, and not liable or responsible for content, accuracy,\n validity, reliability, quality of such websites or made available by/through our Website. Inclusion of\n any link on the Website does not imply that Nushift endorses the linked site. User may use the links and\n these services at User’s own risk.\n
      • \n
      • \n 3.3.4Nushift assumes no responsibility, and shall not be liable for, any\n damages to, or viruses that may infect User’s equipment on account of User’s access to, use of, or\n browsing the Website or the downloading of any material, data, text, images, video content, or audio\n content from the Website. If a User is dissatisfied with the Website, User’s sole remedy is to\n discontinue using the Website.\n
      • \n
      • \n 3.3.5If Nushift determines that you have provided fraudulent, inaccurate,\n or incomplete information, including through feedback, Nushift reserves the right to immediately suspend\n your access to the Website or any of your accounts with Nushift and makes such declaration on the\n website alongside your name/your clinic’s name as determined by Nushift for the protection of its\n business and in the interests of Users. You shall be liable to indemnify Nushift for any losses incurred\n as a result of your misrepresentations or fraudulent feedback that has adversely affected Nushift or its\n Users.\n
      • \n
      • \n 3.3.6The information published under the head of \"Industry wide city-wise\n Pricing Graph\" is derived from a benchmarking group that is determined to be relevant by Nushift in the\n relevant city. Nushift has published this information for guidance purpose and does not have the ability\n to ascertain accuracy of the data based on which the information has been published and nor does it have\n any duty to disclose to anyone the source of the underlying data sets based on which this information\n has been published. Nushift is not liable in any manner for any consequence whatsoever arising out of\n any use of the information published here.\n
      • \n
      \n
    • \n
    • \n 3.4BOOK APPOINTMENT AND CALL FACILITY\n

      Nushift enables Users to connect with Practitioners through two methods: a) Book facility that allows\n Users book an appointment through the Website; b) Value added telephonic services which connect Users\n directly to the Practitioner’s number provided on the Website.

      \n
        \n
      • \n 3.4.1Nushift will ensure Users are provided confirmed appointment on the\n Book facility. However, Nushift has no liability if such an appointment is later cancelled by the\n Practitioner, or the same Practitioner is not available for appointment. Provided, it does not fall\n under the heads listed under the Nushift\n Guarantee Program, in which case the terms of this program shall apply.\n
      • \n
      • \n 3.4.2If a User has utilized the telephonic services, Nushift reserves the\n right to share the information provided by the User with the Practitioner and store such information\n and/or conversation of the User with the Practitioner, in accordance with our Privacy Policy.\n
      • \n
      • \n 3.4.3The results of any search Users perform on the Website for\n Practitioners should not be construed as an endorsement by Nushift of any such particular Practitioner.\n If the User decides to engage with a Practitioner to seek medical services, the User shall be doing so\n at his/her own risk.\n
      • \n
      • \n 3.4.4\n Without prejudice to the generality of the above, Nushift is not involved in providing any healthcare or\n medical advice or diagnosis and hence is not responsible for any interactions between User and the\n Practitioner. User understands and agrees that Nushift will not be liable for:\n
          \n
        • \n User interactions and associated issues User has with the Practitioner;\n
        • \n
        • \n the ability or intent of the Practitioner(s) or the lack of it, in fulfilling their obligations\n towards Users;\n
        • \n
        • \n any wrong medication or quality of treatment being given by the Practitioner(s), or any medical\n negligence on part of the Practitioner(s);\n
        • \n
        • \n inappropriate treatment, or similar difficulties or any type of inconvenience suffered by the User\n due to a failure on the part of the Practitioner to provide agreed Services;\n
        • \n
        • \n any misconduct or inappropriate behaviour by the Practitioner or the Practitioner’s staff;\n
        • \n
        • \n cancellation or no show by the Practitioner or rescheduling of booked appointment or any variation\n in the fees charged, provided these have been addressed to under, Nushift Guarantee Program.\n
        • \n
        \n
      • \n
      • \n 3.4.5Users are allowed to provide feedback about their experiences with the\n Practitioner, however, the User shall ensure that, the same is provided in accordance with applicable\n law. User however understands that, Nushift shall not be obliged to act in such manner as may be\n required to give effect to the content of Users feedback, such as suggestions for delisting of a\n particular Practitioner from the Website.\n
      • \n
      • \n 3.4.6In case of a ‘Patient-No-Show (P.N.S)’ (defined below), where the User\n does not show-up at the concerned Practitioner’s clinic:\n
          \n
        • \n User’s account will be temporarily disabled from booking further online appointments on Nushift.com\n for next four (4) months, in case of, three(3) Valid PNS, as per the Patient-No-Show Policy. However, the User\n can continue to call the clinic via Nushift.com to get an appointment.\n
        • \n
        • \n Patient- No-Show (P.N.S) for the purposes of these Terms and Conditions, is defined as, any instance\n where a User, who booked an appointment on the Website using the Book Appointment facility , has not\n turned up for the appointment without cancelling, rescheduling, or informing the Practitioner in\n advance about the same. When Practitioner informs Nushift of the incident or marks a particular\n appointment as P.N.S. using the Nushift Ray software or Nushift Pro App within five (5) days of the\n scheduled appointment, an email and SMS (“PNS Communication”) will be sent to the User to confirm on\n the incident with reasons. Where the User is not able to establish that the User had a legitimate\n reason as per Clause 3.4.6(c), for not showing up, Nushift shall be entitled to take actions as\n under Clause 3.4.6 (a). However Users understand that, actions such as ones mentioned under Clause\n 3.4.6(a) are included as a deterrent to stop Users from misusing the Website, and the loss of\n business hours incurred by the Practitioner.\n
        • \n
        • \n Following instances, solely at the discretion of Nushift, would be construed as valid cases of PNS\n (“Valid PNS”), in which case the User shall be penalized as per Clause 3.4.6 (a):\n
            \n
          • User does not reply within seven (7) days, with reasons to PNS Communication, from the date of\n receipt of such PNS Communication;
          • \n
          • In case User responds to the PNS Communication with below reasons:\n
              \n
            • Forgot the appointment
            • \n
            • Chose to visit another Practitioner/consulted online;
            • \n
            • Busy with other work; or such other reasons (which Nushift at its discretion decides to be\n a valid reason to not show up).
            • \n
            \n
          • \n
          • Where the User has booked a paid appointment and is unable to visit the Practitioner, due to\n such genuine reasons of sickness etc. at the sole discretion of Nushift, pursuant to conducting\n of investigation, the User shall be provided with a refund of such payment made by User, at the\n time of booking. However, where cancellation charges have been levied, you would not be entitled\n to complete refund.
          • \n
          \n
        • \n
        • \n Nushift reserves the right to make the final decision in case of a conflict. The total aggregate\n liability of Nushift with respect to any claims made herein shall be INR 200.\n
        • \n
        \n
      • \n
      • \n 3.4.7Cancellation and Refund Policy\n
          \n
        • \n In the event that, the Practitioner with whom User has booked a paid appointment via the Website,\n has not been able to meet the User, User will need to write to us at support@Nushift.com within five\n (5) days from the occurrence of such event; in which case, the entire consultation amount as\n mentioned on the Website will be refunded to the User within the next five (5) to six (6) business\n days in the original mode of payment done by the User while booking. In case where the User, does\n not show up for the appointment booked with a Practitioner, without cancelling the appointment\n beforehand, the amount will not be refunded, and treated as under Clause 3.4.6. However, where\n cancellation charges have been levied (as charged by the Practitioner/Practice), you would not be\n entitled to complete refund even if you have cancelled beforehand.\n
        • \n
        • \n Users will not be entitled for any refunds in cases where, the Practitioner is unable to meet the\n User at the exact time of the scheduled appointment time and the User is required to wait,\n irrespective of the fact whether the User is required to wait or choose to not obtain the medical\n services from the said Practitioner.\n
        • \n
        \n
      • \n
      \n
    • \n
    • \n 3.5NO DOCTOR-PATIENT RELATIONSHIP; NOT FOR EMERGENCY USE\n
        \n
      • \n 3.5.1Please note that some of the content, text, data, graphics, images,\n information, suggestions, guidance, and other material (collectively, “Information”) that may be\n available on the Website (including information provided in direct response to your questions or\n postings) may be provided by individuals in the medical profession. The provision of such Information\n does not create a licensed medical professional/patient relationship, between Nushift and you and does\n not constitute an opinion, medical advice, or diagnosis or treatment of any particular condition, but is\n only provided to assist you with locating appropriate medical care from a qualified practitioner.\n
      • \n
      • \n 3.5.2It is hereby expressly clarified that, the Information that you obtain\n or receive from Nushift, and its employees, contractors, partners, sponsors, advertisers, licensors or\n otherwise on the Website is for informational purposes only. We make no guarantees, representations or\n warranties, whether expressed or implied, with respect to professional qualifications, quality of work,\n expertise or other information provided on the Website. In no event shall we be liable to you or anyone\n else for any decision made or action taken by you in reliance on such information.\n
      • \n
      • \n 3.5.3The Services are not intended to be a substitute for getting in touch\n with emergency healthcare. If you are an End-User facing a medical emergency (either on your or a\n another person’s behalf), please contact an ambulance service or hospital directly.\n
      • \n
      \n
    • \n
    • \n 3.6CONSULT\n \n
    • \n
    • \n 3.7Nushift HEALTH FEED\n

      These terms & conditions governing Nushift Health feed are applicable to Users (being both end-users/\n Practitioner). However, it is clarified that the terms and conditions herein applicable only to\n Practitioners and applicable to Users are called out separately, as the context warrants.

      \n
        \n
      • \n 3.7.1Nushift Health feed is an online content platform available on the\n Website, wherein Practitioners who have created a Nushift profile can login and post health and wellness\n related content.\n
      • \n
      • \n 3.7.2Practitioners can use Nushift Health feed by logging in from their\n health account, creating original content comprising text, audio, video, images, data or any combination\n of the same (“Content”), and uploading said Content to Nushift’s servers. Nushift will make\n available to the User a gallery of images licensed by Nushift from a third party stock image provider\n (“Nushift Gallery”). The User can upload their own images or choose an image from the Nushift\n Gallery. Nushift does not provide any warranty as to the ownership of the intellectual property in the\n Nushift Gallery and the User acknowledges that the User will use the images from the Nushift Gallery at\n their own risk. Nushift shall post such Content to Nushift Health feed at its own option and subject to\n these Terms and Conditions. The Content uploaded via Nushift Health feed does not constitute medical\n advice and may not be construed as such by any person.\n
      • \n
      • \n 3.7.3Practitioners acknowledges that they are the original authors and\n creators of any Content uploaded by them via Nushift Health feed and that no Content uploaded by them\n would constitute infringement of the intellectual property rights of any other person. Nushift reserves\n the right to remove any Content which it may determine at its own discretion as violating the\n intellectual property rights of any other person, including but not limited to patent, trademark,\n copyright or other proprietary rights. Practitioner agrees to absolve Nushift from and indemnify Nushift\n against all claims that may arise as a result of any third party intellectual property right claim that\n may arise from the Practitioner’s uploading of any Content on the Nushift Health feed. The Practitioner\n may not use the images in the Nushift Gallery for any purpose other than those directly related to the\n creation and uploading of Content to Nushift Health feed. The Practitioner also agrees to absolve\n Nushift from and indemnify Nushift against all claims that may arise as a result of any third party\n intellectual property claim if the Practitioner downloads, copies or otherwise utilizes an image from\n the Nushift Gallery for his/her personal or commercial gain.\n
      • \n
      • \n 3.7.4Practitioner hereby assigns to Nushift, in perpetuity and worldwide,\n all intellectual property rights in any Content created by the User and uploaded by the User via Nushift\n Health feed.\n
      • \n
      • \n 3.7.5Nushift shall have the right to edit or remove the Content and any\n comments in such manner as it may deem Nushift Health feed at any time.\n
      • \n
      • \n 3.7.6Practitioner shall ensure that the Content or any further responses to\n the Content (including responses to Users) is not harmful, harassing, blasphemous, defamatory, obscene,\n pornographic, paedophilic or libelous in any manner. Further, Practitioner should ensure that the\n Content is not invasive of any other person’s privacy, or otherwise contains any elements that is\n hateful, racially or ethnically objectionable, disparaging, or otherwise unlawful in any manner\n whatever. Nushift reserves the right to remove any Content which it may determine at its own discretion\n is violative of these Terms and Conditions or any law or statute in force at the time. Also, the\n Practitioner agrees to absolve Nushift from and indemnify Nushift against all claims that may arise as a\n result of any legal claim arising from the nature of the Content posted by the Practitioner on Nushift\n Health Feed.\n
      • \n
      • \n 3.7.7Practitioner shall ensure that no portion of the Content is violative\n of any law for the time being in force.\n
      • \n
      • \n 3.7.8Practitioner shall ensure that the Content is not threatening the\n unity, integrity, defence, security or sovereignty of India, friendly relations with foreign states, or\n public order. Further the Practitioner shall ensure that the Content will not cause incitement to the\n commission of any cognisable offence or prevent investigation of any offence or is insulting to any\n other nation.\n
      • \n
      • \n 3.7.9User may also use Nushift Health feed in order to view original\n content created by Practitioners and to create and upload comments on such Content, where allowed\n (“User Comment”).\n
      • \n
      • \n 3.7.10User acknowledges that the User Comment reflects the views and\n opinions of the authors of such Content and do not necessarily reflect the views of Nushift.\n
      • \n
      • \n 3.7.11User agrees that the Content they access on Nushift Health feed does\n not in any way constitute medical advice and that the responsibility for any act or omission by the User\n arising from the User’s interpretation of the Content, is solely attributable to the User. The User\n agrees to absolve Nushift from and indemnify Nushift against all claims that may arise as a result of\n the User’s actions resulting from the User’s viewing of Content on Nushift Health feed.\n
      • \n
      • \n 3.7.12User acknowledges that all intellectual property rights in the User\n Comment on Nushift Health feed vests with Nushift. The User agrees not to infringe upon Nushift’s\n intellectual property by copying or plagiarizing content on Nushift Health feed. Nushift reserves its\n right to initiate all necessary legal remedies available to them in case of such an infringement by the\n User. Also, User Comment will be the sole intellectual property of Nushift. The User agrees not to post\n User Comment that would violate the intellectual property of any third party, including but not limited\n to patent, trademark, copyright or other proprietary rights. Nushift reserves the right to remove any\n User Comment which it may determine at its own discretion as violating the intellectual property rights\n of any third party. The User agrees to absolve Nushift from and indemnify Nushift against all claims\n that may arise as a result of any third party intellectual property right claim that may arise from the\n User Comment.\n
      • \n
      • \n 3.7.13User shall ensure that the User Comment is not harmful, harassing,\n blasphemous, defamatory, obscene, pornographic, paedophilic or libelous in any manner. Further, User\n should ensure that the User Comment is not invasive of any other person’s privacy, or otherwise contains\n any elements that is hateful, racially or ethnically objectionable, disparaging, or otherwise unlawful\n in any manner whatever. Nushift reserves the right to remove any Content which it may determine at its\n own discretion is violative of these Terms and Conditions or any law or statute in force at the time\n Also, the User agrees to absolve Nushift from and indemnify Nushift against all claims that may arise as\n a result of any legal claim arising from the nature of the User Comment.\n
      • \n
      • \n 3.7.14User shall ensure that the User Comment is not threatening the unity,\n integrity, defence, security or sovereignty of India, friendly relations with foreign states, or public\n order. Further the Practitioner shall ensure that the User Comment will not cause incitement to the\n commission of any cognisable offence or prevent investigation of any offence or is insulting to any\n other nation.\n
      • \n
      \n
    • \n
    • \n 3.8CONTENT OWNERSHIP AND COPYRIGHT CONDITIONS OF ACCESS\n
        \n
      • \n 3.8.1The contents listed on the Website are (i) User generated content, or\n (ii) belong to Nushift. The information that is collected by Nushift directly or indirectly from the\n End- Users and the Practitioners shall belong to Nushift. Copying of the copyrighted content published\n by Nushift on the Website for any commercial purpose or for the purpose of earning profit will be a\n violation of copyright and Nushift reserves its rights under applicable law accordingly.\n
      • \n
      • \n 3.8.2Nushift authorizes the User to view and access the content available\n on or from the Website solely for ordering, receiving, delivering and communicating only as per this\n Agreement. The contents of the Website, information, text, graphics, images, logos, button icons,\n software code, design, and the collection, arrangement and assembly of content on the Website\n (collectively, \"Nushift Content\"), are the property of Nushift and are protected under copyright,\n trademark and other laws. User shall not modify the Nushift Content or reproduce, display, publicly\n perform, distribute, or otherwise use the Nushift Content in any way for any public or commercial\n purpose or for personal gain.\n
      • \n
      • \n 3.8.3User shall not access the Services for purposes of monitoring their\n availability, performance or functionality, or for any other benchmarking or competitive purposes.\n
      • \n
      \n
    • \n
    \n
  • \n
  • \n 3.9REVIEWS AND FEEDBACK\n

    \n By using this Website, you agree that any information shared by you with Nushift or with any Practitioner will\n be subject to our Privacy Policy.\n

    \n

    \n You are solely responsible for the content that you choose to submit for publication on the Website, including\n any feedback, ratings, or reviews (“Critical Content”) relating to Practitioners or other healthcare\n professionals. The role of Nushift in publishing Critical Content is restricted to that of an ‘intermediary’\n under the Information Technology Act, 2000. Nushift disclaims all responsibility with respect to the content\n of Critical Content, and its role with respect to such content is restricted to its obligations as an\n ‘intermediary’ under the said Act. Nushift shall not be liable to pay any consideration to any User for\n re-publishing any content across any of its platforms.\n

    \n

    \n Your publication of reviews and feedback on the Website is governed by Clause 5 of these Terms. Without\n prejudice to the detailed terms stated in Clause 5, you hereby agree not to post or publish any content on the\n Website that (a) infringes any third-party intellectual property or publicity or privacy rights, or (b)\n violates any applicable law or regulation, including but not limited to the IG Rules and SPI Rules. Nushift,\n at its sole discretion, may choose not to publish your reviews and feedback, if so required by applicable law,\n and in accordance with Clause 5 of these Terms. You agree that Nushift may contact you through telephone,\n email, SMS, or any other electronic means of communication for the purpose of:\n

    \n
      \n
    • Obtaining feedback in relation to Website or Nushift’s services; and/or
    • \n
    • Obtaining feedback in relation to any Practitioners listed on the Website; and/or
    • \n
    • Resolving any complaints, information, or queries by Practitioners regarding your Critical Content;
    • \n
    \n

    \n and you agree to provide your fullest co-operation further to such communication by Nushift. Nushift’s\n Feedback Collection and Fraud Detection Policy, is annexed as the Schedule hereto, and remains subject always\n to these Terms.\n

    \n
  • \n
  • \n 3.10RECORDS\n

    \n Nushift may provide End-Users with a free facility known as ‘Records’ on its mobile application ‘Nushift’.\n Information available in your Records is of two types:\n

    \n
      \n
    • User-created: Information uploaded by you or information generated during your interaction with Nushift\n ecosystem, eg: appointment, medicine order placed by you.
    • \n
    • Practice-created: Health Records generated by your interaction with a Practitioner who uses ‘Nushift Ray’\n or other Services of Nushift software.
    • \n
    \n

    \n

    \n The specific terms relating to such Health Account are as below, without prejudice to the rest of these Terms\n and the Privacy Policy:\n

    \n
      \n
    • \n 3.10.1Your Records is only created after you have signed up and explicitly\n accepted these Terms.\n
    • \n
    • \n 3.10.2Any Practice created Health Record is provided on an as-is basis at the\n sole intent, risk and responsibility of the Practitioner and Nushift does not validate the said information\n and makes no representation in connection therewith. You should contact the relevant Practitioner in case\n you wish to point out any discrepancies or add, delete, or modify the Health Record in any manner.\n
    • \n
    • \n 3.10.3The Health Records are provided on an as-is basis. While we strive to\n maintain the highest levels of service availability, Nushift is not liable for any interruption that may be\n caused to your access of the Services.\n
    • \n
    • \n 3.10.4The reminder provided by the Records is only a supplementary way of\n reminding you to perform your activities as prescribed by your Practitioner. In the event of any medicine\n reminders provided by Nushift, you should refer to your prescription before taking any medicines. Nushift is\n not liable if for any reason reminders are not delivered to you or are delivered late or delivered\n incorrectly, despite its best efforts. In case you do not wish to receive the reminders, you can switch it\n off through the Nushift app.\n
    • \n
    • \n 3.10.5It is your responsibility to keep your correct mobile number and email ID\n updated in the Records. The Health Records will be sent to the Records associated with this mobile number\n and/or email ID. Every time you change any contact information (mobile or email), we will send a\n confirmation. Nushift is not responsible for any loss or inconvenience caused due to your failure in\n updating the contact details with Nushift.\n
    • \n
    • \n 3.10.6Nushift uses industry–level security and encryption to your Health\n Records. However, Nushift does not guarantee to prevent unauthorized access if you lose your login\n credentials or they are otherwise compromised. In the event you are aware of any unauthorized use or access,\n you shall immediately inform Nushift of such unauthorized use or access. Please safeguard your login\n credentials and report any actual suspected breach of account to support@Nushift.com.\n
    • \n
    • \n 3.10.7If you access your dependents’ Health Records by registering your\n dependents with your own Records, you are deemed to be responsible for the Health Records of your dependents\n and all obligations that your dependents would have had, had they maintained their own separate individual\n Records. You agree that it shall be your sole responsibility to obtain prior consent of your dependent and\n shall have right to share, upload and publish any sensitive personal information of your dependent. Nushift\n assumes no responsibility for any claim, dispute or liability arising in this regard, and you shall\n indemnify Nushift and its officers against any such claim or liability arising out of unauthorized use of\n such information.\n
    • \n
    • \n 3.10.8In case you want to delete your Records, you can do so by contacting our\n service support team. However only your account and any associated Health Records will be deleted, and your\n Health Records stored by your Practitioners will continue to be stored in their respective accounts.\n
    • \n
    • \n 3.10.9You may lose your “User created” record, if the data is not synced with\n the server.\n
    • \n
    • \n 3.10.10If the Health Record is unassessed for a stipulated time, you may not be\n able to access your Health Records due to security reasons.\n
    • \n
    • \n 3.10.11Nushift is not liable if for any reason, Health Records are not\n delivered to you or are delivered late despite its best efforts.\n
    • \n
    • \n 3.10.12The Health Records are shared with the phone numbers that are provided\n by your Practitioner. Nushift is not responsible for adding the Heath Records with incorrect numbers if\n those incorrect numbers are provided by the Practitioner.\n
    • \n
    • \n 3.10.13Nushift is not responsible or liable for any content, fact, Health\n Records, medical deduction or the language used in your Health Records whatsoever. Your Practitioner is\n solely responsible and liable for your Health Records and any information provided to us including but not\n limited to the content in them.\n
    • \n
    • \n 3.10.14Nushift has the ability in its sole discretion to retract Health Records\n without any prior notice if they are found to be shared incorrectly or inadvertently.\n
    • \n
    • \n 3.10.15Nushift will follow the law of land in case of any constitutional court\n or jurisdiction mandates to share the Health Records for any reason.\n
    • \n
    • \n 3.10.16You agree and acknowledge that Nushift may need to access the Health\n Record for cases such as any technical or operational issue of the End User in access or ownership of the\n Records.\n
    • \n
    • \n 3.10.17You acknowledge that the Practitioners you are visiting may engage\n Nushift's software or third party software for the purposes of the functioning of the Practitioner’s\n business and Nushift's services including but not limited to the usage and for storage of Records (as\n defined in Section 3.10) in India and outside India, in accordance with the applicable laws.\n
    • \n
    • \n 3.10.18To the extent that your Records have been shared with Nushift or stored\n on any of the Nushift products used by Practitioner’s you are visiting, and may in the past have visited,\n You hereby agree to the storage of your Records by Nushift pertaining to such previously visited clinics and\n hospitals who have tie ups with Nushift for the purposes of their business and for Nushift's services\n including but not limited to the usage and for storage of Records (as defined in Section 3.10) in India and\n outside India, in accordance with the applicable laws and further agree, upon creation of your account with\n Nushift, to the mapping of such Records as may be available in Nushift’s database to your User account.\n
    • \n
    \n
  • \n
  • \n 3.11Nushift MEDICINE INFORMATION\n

    \n For detailed terms and conditions regarding medicine information click here.\n

    \n
  • \n
  • \n
    3.12Nushift Q&A
    \n
      \n
    • \n 3.12.1Terms for Practitioners:\n
        \n
          \n
        • Every Practitioner on the Q&A Platform must be qualified in the area of expertise that he\n represents as being his qualification.
        • \n
        • The Q&A Platform is a platform for exchange of information which is of general nature in a\n question and answer format. The Q&A Platform is not for emergency situations.
        • \n
        • Any Q&A interaction cannot be construed as a medical consultation with the Practitioner, in any\n manner whatsoever.
        • \n
        • Nushift Users may post questions on medical issues (“Querist”), and these queries can be\n answered by multiple Practitioners on the Q&A Platform. It is expressly clarified that no\n doctor-patient relationship is established between the Querist and Practitioner, in any manner\n whatsoever, by indulging in this Q&A.
        • \n
        • The Practitioner may provide probable views, recommendations, suggestions and solutions to\n the question posted by a Querist. However, it is expressly clarified that any such view,\n recommendation, suggestion and solution shall not be construed as medical advice. The person in\n question (being Querist or not) is advised to consult with a doctor in this regard.
        • \n
        • Practitioner shall not share their personal, religious and/or moral views with the Querist while\n issuing their response.
        • \n
        • The Practitioner cannot issue and/or prescribe any medicines on the Q&A platform. It is a\n platform for only exchange of information and not a consultation/ medical advice.
        • \n
        • The Practitioner is absolutely and expressly prohibited to:\n
            \n
          • Provide a medical diagnosis;
          • \n
          • Issue a prescription;
          • \n
          • Post any response which comprises of any derogatory language, objectionable, pornographic and\n /or offensive content;
          • \n
          • Advertise any brand of drugs, supplements, vaccines and medications, in any manner of\n whatsoever;
          • \n
          • Advertise to/solicit patients in any manner including without limitation by way of using social\n media handles, including without limitation, facebook, twitter etc., telephone/ mobile numbers,\n youtube, and address;
          • \n
          • Promote content and activities which are illegal in nature;
          • \n
          \n
        • \n
        • In the event of any breach of these QA T&C, Nushift will take appropriate action inter\n alia ranging from issuing warnings to removal of Practitioner from the Q&A Platform, in its\n sole and absolute discretion, on a case to case basis.
        • \n
        • Any liability arising out of the response issued by a Practitioner will be borne solely by the\n Practitioner. Q&A Platform is only a platform interface provided by Nushift for sharing and\n exchanging information purposes.
        • \n
        • The Q&A Platform shall be audited on a regular basis by Nushift for ascertaining compliance by\n the Practitioner to Paragraph 6, and the Practitioners consent to the same. It is clarified that the\n said audit is not conducted for the purpose of quality check or validation of responses issued by\n Practitioner.
        • \n
        • All general Nushift Terms and Conditions shall govern the QA T&C to the extent applicable.\n Decision of Nushift is final and binding on the issues arising under the QA T&C and Nushift Terms\n and Conditions.
        • \n
        \n
      \n
    • \n
    • \n 3.12.2Terms for User/Querist:\n
        \n
          \n
        • The personally identifiable information of the querist shall be anonymized by Nushift prior to\n posting the question on the Q&A Platform;
        • \n
        • Q&A Platform is a public forum for exchange of information, hence, any question posted by a\n querist is visible publicly. It is advisable for a User to ensure that no confidential information is\n published by them on the Q&A Platform.
        • \n
        • User shall not use the Q&A Platform for emergency situations.
        • \n
        • The User is prohibited to post any query/issue on the Q&A Platform, which comprises of any\n derogatory language, objectionable, pornographic and /or offensive content;
        • \n
        • Any response provided by the Practitioner shall not be construed as medical advice on the Q&A\n Platform. Q&A Platform is a platform for exchange of information which is of general nature in a\n question and answer format. This cannot be construed as a medical consultation with the Practitioner,\n in any manner whatsoever.
        • \n
        • It is expressly clarified that no doctor-patient relationship is established between the user and\n Practitioner, in any manner whatsoever, by indulging in this Q&A. The Practitioner may provide\n probable views, recommendations, suggestions and solutions to the question posted. However, it\n is expressly clarified that any such view, recommendation, suggestion and solution shall not be\n construed as medical advice. The person in question (being Querist or not) is advised to\n consult with a doctor in this regard.
        • \n
        • All general Nushift Terms and Conditions shall govern the QA T&C to the extent applicable.\n Decision of Nushift is final and binding on the issues arising under the QA T&C and Nushift Terms\n and Conditions.
        • \n
        \n
      \n
    • \n
    \n
  • \n
  • \n 3.13Nushift DIAGNOSTICS\n

    \n For detailed terms and conditions regarding diagnostics click here.\n

    \n
  • \n
  • \n 3.14 Nushift HEALTHCASH\n
      \n
    • \n 3.14.1 Nushift HealthCash is a grant of benefit in the form of credits in the\n Nushift accounts of the Users (“Nushift HealthCash”) in the form and under such circumstances decided\n by Nushift from time to time.\n
    • \n
    • \n 3.14.2 Nushift HealthCash can be redeemed by the User only to pay online for\n the following services on the Website:\n
        \n
      • Ordering medicines online;
      • \n
      • Consulting a doctor online;
      • \n
      • Booking diagnostic tests and health check-ups;
      • \n
      • Pre-paying for doctor appointment bookings; and
      • \n
      • Subscribing to Healthcare plans.
      • \n
      \n (The above services on the Website are collectively referred to as “Permitted Services”.)\n
    • \n
    • \n 3.14.3 Every time a User using (i) Android version 4.31 or above; or (ii) iOS\n version 4.24 or above of the Nushift mobile application; or (iii) the Nushift website (www.Nushift.com),\n uses HealthCash to pay online for any of the Permitted Services availed by him/her, only such percentage of\n the total amount to be paid for the availed Permitted Services, as may be prescribed by Nushift from time to\n time on the respective Nushift mobile application or website ( www.Nushift.com ), can be redeemed by such\n User using the Nushift HealthCash per transaction.\n
    • \n
    • \n 3.14.4 Nushift HealthCash neither can be converted to actual money nor can be\n transferred to any bank accounts.\n
    • \n
    • \n 3.14.5 The Nushift HealthCash received by each User may or may not have an\n expiry date associated with it and the said expiry date is subject to the following:\n
        \n
      • The expiry date associated with Nushift HealthCash may vary from time to time. However, the same\n cannot exceed beyond 2 (Two) years
      • \n
      • The expiry date of Nushift HealthCash may be intimated to each User by way of SMS or e-mail or in-App\n notification on the Website.
      • \n
      • The expiry date of Nushift HealthCash can be viewed by each User in the designated page for HealthCash\n in the Website.
      • \n
      • The User acknowledges that Nushift has agreed to offer Nushift HealthCash in its sole discretion.\n Nothing in these Terms shall be interpreted to restrict Nushift’s right to withdraw the Nushift\n HealthCash before the expiry date.
      • \n
      \n
    • \n
    • \n 3.14.6 Nushift reserves its discretion to deny Nushift HealthCash to any User\n in its sole discretion, notwithstanding compliance by such User of the requirements set out in the Terms,\n applicable law or otherwise.\n
    • \n
    • \n 3.14.7 Other than the conditions set out in these Terms, accrual, utilization,\n expiry or any other treatment of Nushift HealthCash may be further restricted by the terms governing the\n specific service or facility offered by Nushift or its business associates, the procurement of which\n entitles Nushift HealthCash to a User (“HealthCash Terms”). In the event of any inconsistency between\n these Terms and the HealthCash Terms in relation to accrual, utilization, expiry or any other treatment of\n Nushift HealthCash by a User, the HealthCash Terms shall override these Terms to the extent of such\n inconsistency.\n
    • \n
    \n
  • \n
  • \n
    4. TERMS OF USE PRACTITIONERS
    \n

    The terms in this Clause 4 are applicable only to Practitioners.

    \n
      \n
    • \n 4.1 LISTING POLICY\n
        \n
      • \n 4.1.1Nushift, directly and indirectly, collects information regarding the\n Practitioners’ profiles, contact details, and practice. Nushift reserves the right to take down any\n Practitioner’s profile as well as the right to display the profile of the Practitioners, with or without\n notice to the concerned Practitioner. This information is collected for the purpose of facilitating\n interaction with the End-Users and other Users. If any information displayed on the Website in\n connection with you and your profile is found to be incorrect, you are required to inform Nushift\n immediately to enable Nushift to make the necessary amendments.\n
      • \n
      • \n 4.1.2Nushift shall not be liable and responsible for the ranking of the\n Practitioners on external websites and search engines\n
      • \n
      • \n 4.1.3Nushift shall not be responsible or liable in any manner to the Users\n for any losses, damage, injuries or expenses incurred by the Users as a result of any disclosures or\n publications made by Nushift, where the User has expressly or implicitly consented to the making of\n disclosures or publications by Nushift. If the User had revoked such consent under the terms of the\n Privacy Policy, then Nushift shall not be responsible or liable in any manner to the User for any\n losses, damage, injuries or expenses incurred by the User as a result of any disclosures made by Nushift\n prior to its actual receipt of such revocation.\n
      • \n
      • \n 4.1.4Nushift reserves the right to moderate the suggestions made by the\n Practitioners through feedback and the right to remove any abusive or inappropriate or promotional\n content added on the Website. However, Nushift shall not be liable if any inactive, inaccurate,\n fraudulent, or non- existent profiles of Practitioners are added to the Website.\n
      • \n
      • \n 4.1.5Practitioners explicitly agree that Nushift reserves the right to\n publish the Content provided by Practitioners to a third party including content platforms.\n
      • \n
      • \n 4.1.6When you are listed on Nushift.com, End-Users may see a ‘show number’\n option. When End-Users choose this option, they choose to call your number through a free telephony\n service provided by Nushift, and the records of such calls are recorded and stored in Nushift’s servers.\n Such call will have an IVR message stating the purpose of recording your calls and your consent to such\n recordings which are dealt with as per the Privacy Policy. Such records may be accessed by Nushift for\n quality control and support related purposes and are dealt with only in accordance with the terms of the\n Privacy Policy. Such call facility provided to End-Users and to you by Nushift should be used only for\n appointment and booking purposes, and not for consultation on health-related issues. Nushift accepts no\n liability if the call facility is not used in accordance with the foregoing. In case you choose to not\n provide your consent to recording your calls that may have personal information required for appointment\n and booking purposes, Nushift reserves the right to not provide the Services for which such personal\n information is sought.\n
      • \n
      • \n 4.1.7You as a Practitioner hereby represent and warrant that you will use\n the Services in accordance with applicable law. Any contravention of applicable law as a result of your\n use of these Services is your sole responsibility, and Nushift accepts no liability for the same.\n
      • \n
      \n
    • \n
    • \n 4.2PROFILE OWNERSHIP AND EDITING RIGHTS\n

      \n Nushift ensures easy access to the Practitioners by providing a tool to update your profile information.\n Nushift reserves the right of ownership of all the Practitioner’s profile and photographs and to moderate\n the changes or updates requested by Practitioners. However, Nushift takes the independent decision whether\n to publish or reject the requests submitted for the respective changes or updates. You hereby represent\n and warrant that you are fully entitled under law to upload all content uploaded by you as part of your\n profile or otherwise while using Nushift’s services, and that no such content breaches any third party\n rights, including intellectual property rights. Upon becoming aware of a breach of the foregoing\n representation, Nushift may modify or delete parts of your profile information at its sole discretion with\n or without notice to you.\n

      \n
    • \n
    • \n 4.3REVIEWS AND FEEDBACK DISPLAY RIGHTS OF Nushift\n
        \n
      • \n 4.3.1All Critical Content is content created by the Users of\n www.Nushift.com (“Website”) and the clients of Nushift customers and Practitioners, including the\n End-Users. As a platform, Nushift does not take responsibility for Critical Content and its role with\n respect to Critical Content is restricted to that of an ‘intermediary’ under the Information Technology\n Act, 2000. The role of Nushift and other legal rights and obligations relating to the Critical Content\n are further detailed in Clauses 3.9 and 5 of these Terms. Nushift’s Feedback Collection and Fraud\n Detection Policy, is annexed as the Schedule hereto, and remains subject always to these Terms.\n
      • \n
      • \n 4.3.2Nushift reserves the right to collect feedback and Critical Content\n for all the Practitioners, Clinics and Healthcare Providers listed on the Website.\n
      • \n
      • \n 4.3.3Nushift shall have no obligation to pre-screen, review, flag, filter,\n modify, refuse or remove any or all Critical Content from any Service, except as required by applicable\n law.\n
      • \n
      • \n 4.3.4You understand that by using the Services you may be exposed to\n Critical Content or other content that you may find offensive or objectionable. Nushift shall not be\n liable for any effect on Practitioner’s business due to Critical Content of a negative nature. In these\n respects, you may use the Service at your own risk. Nushift however, as an ‘intermediary, takes steps as\n required to comply with applicable law as regards the publication of Critical Content. The legal rights\n and obligations with respect to Critical Content and any other information sought to be published by\n Users are further detailed in Clauses 3.9 and 5 of these Terms.\n
      • \n
      • \n 4.3.5Nushift will take down information under standards consistent with\n applicable law, and shall in no circumstances be liable or responsible for Critical Content, which has\n been created by the Users. The principles set out in relation to third party content in the terms of\n Service for the Website shall be applicable mutatis mutandis in relation to Critical Content posted on\n the Website.\n
      • \n
      • \n 4.3.6If Nushift determines that you have provided inaccurate information or\n enabled fraudulent feedback, Nushift reserves the right to immediately suspend any of your accounts with\n Nushift and makes such declaration on the website alongside your name/your clinics name as determined by\n Nushift for the protection of its business and in the interests of Users.\n
      • \n
      \n
    • \n
    • \n 4.4RELEVANCE ALGORITHM\n

      \n Nushift has designed the relevance algorithm in the best interest of the End-User and may adjust the\n relevance algorithm from time to time to improve the quality of the results given to the patients. It is a\n pure merit driven, proprietary algorithm which cannot be altered for specific Practitioners. Nushift shall\n not be liable for any effect on the Practitioner’s business interests due to the change in the Relevance\n Algorithm.\n

      \n
    • \n
    • \n 4.5INDEPENDENT SERVICES\n

      \n Your use of each Service confers upon you only the rights and obligations relating to such Service, and\n not to any other service that may be provided by Nushift.\n

      \n
    • \n
    • \n 4.6Nushift REACH RIGHTS\n

      \n Nushift reserves the rights to display sponsored ads on the Website. These ads would be marked as\n “Sponsored ads”. Without prejudice to the status of other content, Nushift will not be liable for the\n accuracy of information or the claims made in the Sponsored ads. Nushift does not encourage the Users to\n visit the Sponsored ads page or to avail any services from them. Nushift will not be liable for the\n services of the providers of the Sponsored ads.\n

      \n

      \n You represent and warrant that you will use these Services in accordance with applicable law. Any\n contravention of applicable law as a result of your use of these Services is your sole responsibility, and\n Nushift accepts no liability for the same.\n

      \n
    • \n
    • \n 4.7Nushift MEDICINE INFORMATION\n

      \n For detailed terms and conditions regarding medicine information click here.\n

      \n
    • \n
    • \n 4.8 BOOK APPOINTMENT AND CALL FACILITY\n
        \n
      • \n 4.8.1As a valuable partner on our platform we want to ensure that the\n Practitioners experience on the Nushift booking platform is beneficial to both, Practitioners and their\n Users.
        \n For all terms and conditions of Book facility on Nushift profile check Book Standards .\n
      • \n
      • \n 4.8.2Practitioner understands that, Nushift shall not be liable, under any\n event, for any comments or feedback given by any of the Users in relation to the Services provided by\n Practitioner. The option of publishing or modifying or moderating or masking (where required by law or\n norm etc.) the feedback provided by Users shall be solely at the discretion of Nushift.\n
      • \n
      \n
    • \n
    • \n 4.9 PRACTITIONER UNDERTAKING\n

      \n The Practitioner is and shall be duly registered, licensed and qualified to practice medicine/ provide\n health care, wellness services, as per applicable laws/regulations/guidelines set out by competent\n authorities and the Practitioner shall not be part of any arrangement which will prohibit him/her from\n practicing medicine within the territory of India. The Practitioner shall at all times ensure that all the\n applicable laws that govern the Practitioner shall be followed and utmost care shall be taken in terms of\n the consultation/ services being rendered.\n

      \n
    • \n
    • \n 4.10 USAGE IN PROMOTIONAL & MARKETING MATERIALS\n

      \n In recognition of the various offerings and services provided by Nushift to Practitioner, Practitioner\n shall (subject to its reasonable right to review and approve): (a) allow Nushift to include a brief\n description of the services provided to Practitioner in Nushift’s marketing, promotional and advertising\n materials; (b) allow Nushift to make reference to Practitioner in case studies, and related marketing\n materials; (c) serve as a reference to Nushift’s existing and potential clients; (d) provide video logs,\n testimonials, e-mailers, banners, interviews to the news media and provide quotes for press releases; (e)\n make presentations at conferences; and/or (f) use the Practitioner’s name and/or logo, brand images, tag\n lines etc., within product literature, e-mailers, press releases, social media and other advertising,\n marketing and promotional materials.\n

      \n
    • \n
    \n
  • \n
  • \n
    5.RIGHTS AND OBLIGATIONS RELATING TO CONTENT
    \n
      \n
    • \n 5.1As mandated by Regulation 3(2) of the IG Rules, Nushift hereby informs Users\n that they are not permitted to host, display, upload, modify, publish, transmit, update or share any\n information that:\n
        \n
      • \n belongs to another person and to which the User does not have any right to;\n
      • \n
      • \n is grossly harmful, harassing, blasphemous, defamatory, obscene, pornographic, pedophilic, libelous,\n invasive of another's privacy, hateful, or racially, ethnically objectionable, disparaging, relating or\n encouraging money laundering or gambling, or otherwise unlawful in any manner whatever;\n
      • \n
      • harm minors in any way;
      • \n
      • infringes any patent, trademark, copyright or other proprietary rights;
      • \n
      • violates any law for the time being in force;
      • \n
      • \n deceives or misleads the addressee about the origin of such messages or communicates any information\n which is grossly offensive or menacing in nature;\n
      • \n
      • impersonate another person;
      • \n
      • \n contains software viruses or any other computer code, files or programs designed to interrupt, destroy\n or limit the functionality of any computer resource;\n
      • \n
      • \n threatens the unity, integrity, defence, security or sovereignty of India, friendly relations with\n foreign states, or public order or causes incitement to the commission of any cognizable offence or\n prevents investigation of any offence or is insulting any other nation.\n
      • \n
      \n
    • \n
    • \n 5.2Users are also prohibited from:\n
        \n
      • \n violating or attempting to violate the integrity or security of the Website or any Nushift Content;\n
      • \n
      • \n transmitting any information (including job posts, messages and hyperlinks) on or through the Website\n that is disruptive or competitive to the provision of Services by Nushift;\n
      • \n
      • \n intentionally submitting on the Website any incomplete, false or inaccurate information;\n
      • \n
      • making any unsolicited communications to other Users;
      • \n
      • \n using any engine, software, tool, agent or other device or mechanism (such as spiders, robots, avatars\n or intelligent agents) to navigate or search the Website;\n
      • \n
      • \n attempting to decipher, decompile, disassemble or reverse engineer any part of the Website;\n
      • \n
      • \n copying or duplicating in any manner any of the Nushift Content or other information available from the\n Website;\n
      • \n
      • framing or hot linking or deep linking any Nushift Content.
      • \n
      • \n circumventing or disabling any digital rights management, usage rules, or other security features of the\n Software.\n
      • \n
      \n
    • \n
    • \n 5.3Nushift, upon obtaining knowledge by itself or been brought to actual\n knowledge by an affected person in writing or through email signed with electronic signature about any such\n information as mentioned above, shall be entitled to disable such information that is in contravention of\n Clauses 5.1 and 5.2. Nushift shall also be entitled to preserve such information and associated records for\n at least 90 (ninety) days for production to governmental authorities for investigation purposes.\n
    • \n
    • \n 5.4In case of non-compliance with any applicable laws, rules or regulations, or\n the Agreement (including the Privacy Policy) by a User, Nushift has the right to immediately terminate the\n access or usage rights of the User to the Website and Services and to remove non-compliant information from\n the Website.\n
    • \n
    • \n 5.5Nushift may disclose or transfer User-generated information to its\n affiliates or governmental authorities in such manner as permitted or required by applicable law, and you\n hereby consent to such transfer. The SPI Rules only permit Nushift to transfer sensitive personal data or\n information including any information, to any other body corporate or a person in India, or located in any\n other country, that ensures the same level of data protection that is adhered to by Nushift as provided for\n under the SPI Rules, only if such transfer is necessary for the performance of the lawful contract between\n Nushift or any person on its behalf and the User or where the User has consented to data transfer.\n
    • \n
    • \n Nushift respects the intellectual property rights of others and we do not hold any responsibility for any\n violations of any intellectual property rights\n
    • \n
    \n
  • \n
  • \n
    6.TERMINATION
    \n
      \n
    • \n 6.1Nushift reserves the right to suspend or terminate a User’s access to the\n Website and the Services with or without notice and to exercise any other remedy available under law, in\n cases where,\n
        \n
      • Such User breaches any terms and conditions of the Agreement;
      • \n
      • A third party reports violation of any of its right as a result of your use of the Services;
      • \n
      • Nushift is unable to verify or authenticate any information provide to Nushift by a User;
      • \n
      • \n Nushift has reasonable grounds for suspecting any illegal, fraudulent or abusive activity on part of\n such User; or\n
      • \n
      • \n Nushift believes in its sole discretion that User’s actions may cause legal liability for such User,\n other Users or for Nushift or are contrary to the interests of the Website.\n
      • \n
      \n
    • \n
    • \n 6.2Once temporarily suspended, indefinitely suspended or terminated, the User\n may not continue to use the Website under the same account, a different account or re-register under a new\n account. On termination of an account due to the reasons mentioned herein, such User shall no longer have\n access to data, messages, files and other material kept on the Website by such User. The User shall ensure\n that he/she/it has continuous backup of any medical services the User has rendered in order to comply with\n the User’s record keeping process and practices.\n
    • \n
    \n
  • \n
  • \n
    7.LIMITATION OF LIABILITY
    In no event, including but not limited to\n negligence, shall Nushift, or any of its directors, officers, employees, agents or content or service providers\n (collectively, the “Protected Entities”) be liable for any direct, indirect, special, incidental, consequential,\n exemplary or punitive damages arising from, or directly or indirectly related to, the use of, or the inability\n to use, the Website or the content, materials and functions related thereto, the Services, User’s provision of\n information via the Website, lost business or lost End-Users, even if such Protected Entity has been advised of\n the possibility of such damages. In no event shall the Protected Entities be liable for:\n
      \n
    • \n provision of or failure to provide all or any service by Practitioners to End- Users contacted or managed\n through the Website;\n
    • \n
    • \n any content posted, transmitted, exchanged or received by or on behalf of any User or other person on or\n through the Website;\n
    • \n
    • \n any unauthorized access to or alteration of your transmissions or data; or\n
    • \n
    • any other matter relating to the Website or the Service.
    • \n
    \n

    \n In no event shall the total aggregate liability of the Protected Entities to a User for all damages, losses,\n and causes of action (whether in contract or tort, including, but not limited to, negligence or otherwise)\n arising from this Agreement or a User’s use of the Website or the Services exceed, in the aggregate Rs. 1000/-\n (Rupees One Thousand Only).\n

    \n
  • \n
  • \n
    8.RETENTION AND REMOVAL
    \n

    \n Nushift may retain such information collected from Users from its Website or Services for as long as\n necessary, depending on the type of information; purpose, means and modes of usage of such information; and\n according to the SPI Rules. Computer web server logs may be preserved as long as administratively necessary.\n

    \n
  • \n
  • \n
    9.APPLICABLE LAW AND DISPUTE SETTLEMENT
    \n
      \n
    • \n 9.1You agree that this Agreement and any contractual obligation between Nushift\n and User will be governed by the laws of India.\n
    • \n
    • \n 9.2Any dispute, claim or controversy arising out of or relating to this\n Agreement, including the determination of the scope or applicability of this Agreement to arbitrate, or your\n use of the Website or the Services or information to which it gives access, shall be determined by\n arbitration in India, before a sole arbitrator appointed by Nushift. Arbitration shall be conducted in\n accordance with the Arbitration and Conciliation Act, 1996. The seat of such arbitration shall be Bangalore.\n All proceedings of such arbitration, including, without limitation, any awards, shall be in the English\n language. The award shall be final and binding on the parties to the dispute.\n
    • \n
    • \n 9.3Subject to the above Clause 9.2, the courts at Bengaluru shall have\n exclusive jurisdiction over any disputes arising out of or in relation to this Agreement, your use of the\n Website or the Services or the information to which it gives access.\n
    • \n
    \n
  • \n
  • \n
    10.CONTACT INFORMATION GRIEVANCE OFFICER
    \n
      \n
    • \n 10.1If a User has any questions concerning Nushift, the Website, this\n Agreement, the Services, or anything related to any of the foregoing, Nushift customer support can be\n reached at the following email address: support@Nushift.com or via the contact information available from\n the following hyperlink: www.Nushift.com/contact.\n
    • \n
    • \n 10.2In accordance with the Information Technology Act, 2000, and the rules made\n there under, if you have any grievance with respect to the Website or the service, including any\n discrepancies and grievances with respect to processing of information, you can contact our Grievance\n Officer at:\n

      \n Name: Surabhi Patodia
      \n Nushift Technologies Pvt Ltd
      \n WeWork Salarpuria Symbiosis,
      \n Arekere Village, Begur Hobli,
      \n Bannerghatta Road,
      \n Bangalore - 560076.
      \n Phone: 8880588999
      \n Email: privacy@Nushift.com
      \n

      \n

      In the event you suffer as a result of access or usage of our Website by any person in violation of Rule\n 3 of the IG Rules, please address your grievance to the above person.

      \n
    • \n
    \n
  • \n
  • \n
    11.SEVERABILITY
    \n

    \n If any provision of the Agreement is held by a court of competent jurisdiction or arbitral tribunal to be\n unenforceable under applicable law, then such provision shall be excluded from this Agreement and the\n remainder of the Agreement shall be interpreted as if such provision were so excluded and shall be enforceable\n in accordance with its terms; provided however that, in such event, the Agreement shall be interpreted so as\n to give effect, to the greatest extent consistent with and permitted by applicable law, to the meaning and\n intention of the excluded provision as determined by such court of competent jurisdiction or arbitral\n tribunal.\n

    \n
  • \n
  • \n
    12.WAIVER
    \n

    \n No provision of this Agreement shall be deemed to be waived and no breach excused, unless such waiver or\n consent shall be in writing and signed by Nushift. Any consent by Nushift to, or a waiver by Nushift of any\n breach by you, whether expressed or implied, shall not constitute consent to, waiver of, or excuse for any\n other different or subsequent breach.\n

    \n
  • \n
  • \n
    13.BRITANNIA NUTRICHOICE OFFER TERMS AND CONDITIONS
    \n

    \n These terms and conditions (“Terms”) are set out in addition to the terms set out above this section on\n this web page (“General Terms”) and apply to grant of benefit in the form of credits in the Nushift\n accounts of the Users (“Nushift HealthCash”) in the form and under such circumstances as set out in\n these Terms by usage of the coupon codes available along with the Britannia Products (defined below)\n (“HealthCash Activation Codes”). The offer of Nushift HealthCash is available for the users of the\n Website (“Users”) during the period October 1, 2018 till September 30, 2019 (both days included)\n (“Offer Period”) only. Details of the Terms are set out below:\n

    \n
      \n
    • \n 13.1The offer of Nushift HealthCash can be availed by User(s) by purchase of\n Britannia Nutri Choice Essentials 150 g Oat Cookies and Britannia Nutri Choice Essentials 150 g Ragi Cookies\n (“Britannia Products”), during the Offer Period in accordance with the Terms herein. The offer on\n Britannia Products specified in these Terms are hereinafter referred to as “Nutrichoice Offer”.\n
    • \n
    • \n 13.2The HealthCash Activation Codes are valid for activation up to September\n 30, 2019 (“Activation Last Date”), post which the HealthCash Activation Codes cannot be used for\n activating the Nushift HealthCash.\n
    • \n
    • \n 13.3In order to activate the Nushift HealthCash through the HealthCash\n Activation Code, the User will need to send the following text message to the short-code number 87223\n 87223: [Nushift <HealthCash Activation Code>] (“Activation Request”).\n
    • \n \n
    • \n 13.4By sending the Activation Request, the User agrees to the Terms as well as\n the General Terms, and in case the User is not already a registered user on Nushift’s platform, i.e.\n www.Nushift.com and/or Nushift’s mobile application (“Website”), he/she agrees to create a Nushift\n account on the Website linked to the mobile number from which the User sends the Activation Request. The\n complete terms and conditions pertaining to this offer are provided here. Please go through the entire terms\n on this web page in order to view the complete terms for this Nutrichoice Offer.\n
    • \n
    • \n 13.5Each HealthCash Activation Code can only be used once by the Users.\n
    • \n
    • \n 13.6Each HealthCash Activation Code will allow the User to activate Nushift\n HealthCash equivalent to INR 50 (Indian Rupees Fifty Only).\n
    • \n
    • \n 13.7A User will be able to activate Nushift HealthCash through the Nutrichoice\n Offer only for a maximum of 3 (three) times in his/her Nushift account by using the HealthCash Activation\n Codes. Once a User uses his/her first HealthCash Activation Code to activate Nushift HealthCash, such User\n cannot use the second HealthCash Activation Code without redeeming the existing Nushift HealthCash in the\n User’s account with Nushift. The same logic applies when the User is activating Nushift HealthCash by using\n the third HealthCash Activation Code.\n
    • \n
    • \n 13.8Nushift HealthCash activated through the NutriChoice Offer can be redeemed\n by the User only to pay online for the following services on the Website:\n
        \n
      • ordering medicines online;
      • \n
      • consulting a doctor online;
      • \n
      • booking diagnostic tests and health check-ups;
      • \n
      • pre-paying for doctor appointment bookings.
      • \n
      \n (The above services on the Website are collectively referred to as “Permitted Services”.)\n
    • \n
    • \n 13.9Nushift HealthCash activated through one HealthCash Activation Code will be\n available for the User for a period of 14 (fourteen) days from the date of activation of the Nushift\n HealthCash by the User. After this period, these allotted Nushift HealthCash will expire, if the User does\n not redeem such Nushift HealthCash in any of the Permitted Services.\n
    • \n
    • \n 13.10Nushift is not liable to accept activation of Nushift HealthCash through\n any HealthCash Activation Code which a User has received out of an unsealed pack of a Britannia Product.\n
    • \n
    • \n 13.11Nushift is not liable to accept activation of Nushift HealthCash through\n any HealthCash Activation Code in case such HealthCash Activation Code has already been used as per\n Nushift’s systems, even in case such HealthCash Activation Code has been taken out from a sealed pack of a\n Britannia Product. Nushift shall have the sole discretion in this matter.\n
    • \n
    • \n 13.12The User acknowledges that Nushift has agreed to offer Nushift HealthCash\n in its sole discretion. Nothing in these Terms or the General Terms shall be interpreted to obligate Nushift\n to offer Nushift HealthCash beyond the Offer Period or to restrict its right to withdraw the NutriChoice\n Offer during the Offer Period. Nushift reserves its discretion to deny Nushift HealthCash to any User in its\n sole discretion, notwithstanding compliance by such User of the requirements set out in these Terms, the\n General Terms, applicable law or otherwise.\n
    • \n
    • \n 13.13The User should raise all concerns pertaining to the Britannia Products\n with Britannia Industries Limited (“Britannia”) as per the contact details specified on Britannia\n products packaging. Nushift shall not be liable in any manner in this regard.\n
    • \n
    • \n 13.14The User should raise all concerns pertaining to the Permitted Services\n with Nushift Technologies Private Limited (“Nushift”) at support@Nushift.com. Britannia shall not be liable in any manner in\n this regard.\n
    • \n
    • \n 13.15All capitalized terms used but not defined herein will have the same\n meaning as ascribed to them under the General Terms. To the extent of any inconsistency between these Terms\n and the General Terms, the General Terms shall prevail.\n
    • \n
    • \n 13.16The User agrees that these Terms shall be governed in accordance with the\n laws of India.\n
    • \n
    • \n 13.17Any dispute arising out of these Terms shall be determined by arbitration\n in India, before a sole arbitrator appointed by Nushift. Arbitration shall be conducted in accordance with\n the Arbitration and Conciliation Act, 1996. The seat of such arbitration shall be Bangalore. All proceedings\n of such arbitration, including, without limitation, any awards, shall be in the English language. The\n arbitration award shall be final and binding on the parties to the dispute.\n
    • \n
    • \n 13.18Subject to the terms of Clause 17 above, the courts of Bangalore shall\n have exclusive jurisdiction to try all disputes arising pursuant to or under these Terms.\n
    • \n
    \n
    14. Nushift HEALTH PLAN – USER TERMS AND CONDITIONS
    \n

    \n For the purposes of the following terms and conditions (“Nushift Health Plan Terms”), the service\n provided to You (as defined below) is facilitation of consultation and other benefits, as detailed\n hereinafter, with the Practitioners (healthcare providers including all its doctors, agents, employees)\n registered pharmacies which facilitate the medicine orders (“Registered Pharmacies”) and diagnostic\n centres which conduct diagnostic tests (“Diagnostic Centres”), and other benefits the Nushift may offer\n in future, as a part of the subscription to the Nushift Health Plan (“Health Plan Service” /\n “Plan”). Nushift operates and facilitates the Health Plan Service provided through the Website.\n

    \n
      \n
    • \n 14.1 NATURE AND APPLICABILITY OF TERMS\n

      \n Please go through these Nushift Health Plan Terms carefully before you decide to avail the Health Plan\n Service facilitated by Nushift on its Website. The Nushift Health Plan Terms set out herein are in\n addition to the Nushift Terms and Conditions (available at https://www.Nushift.com/company/terms) read with the\n Privacy Policy (available at https://www.Nushift.com/company/privacy), (the Terms\n and Conditions and Privacy Policy are together referred as “Standard Policies”) and together they\n constitute a legal agreement between You and Nushift. The Standard Policies and the Nushift Health Plan\n Terms are to be read in connection with Your visit to the Website and Your use of the Health Plan Service\n respectively. To the extent of any inconsistency between the Standard Policies and the Nushift Health Plan\n Terms herein, the Nushift Health Plan Terms herein shall prevail over the Standard Policies to the extent\n of the inconsistency.\n

      \n

      \n These Nushift Health Plan Terms apply to any person who subscribes to the Health Plan Service on behalf or\n for the benefit of a patient, either individually or inclusive of his/her family members / relatives. The\n primary user is required to be registered on the Website and should have subscribed to the Health Plan\n Service. For the purposes of these Nushift Health Plan Terms, the primary subscriber to the Health Plan\n Service is an individual designed as primary user (“Primary User”) in the Plan Page (as defined\n hereafter), who subscribes to the Health Plan Service either individually and/or for benefit of other\n members, which could include any other individual nominated by the Primary Member (hereinafter\n collectively known as the “Covered Members”). The Covered Members and a Primary User are\n collectively and individually hereinafter referred to as the “You” / “Your” / “User”\n / “Users”. As a part of availing the Health Plan Service, You may choose different packages\n available pursuant to the Health Plan Service / Plan which best suits Your needs as per the plan details\n set out in your Nushift application (“Plan Details”). The User specific details will be visible to\n You on Your purchased plan page (“Plan Page”) hosted on Your Nushift application.\n

      \n

      \n If you have any questions about any part of these Nushift Health Plan Terms, feel free to contact us at support@Nushift.com.\n

      \n

      \n By availing the Health Plan Service, you signify your acceptance of the terms of the Standard Policies and\n these Nushift Health Plan Terms.\n

      \n

      \n We reserve the right to modify or terminate any portion of these Nushift Health Plan Terms and the\n Standard Policies for any reason and at any time, and such modifications shall be informed to You by\n appropriate notifications on the Website. You should read these Nushift Health Plan Terms and the Standard\n Policies at regular intervals. Your continued availing of Health Plan Service following any such\n modification constitutes your agreement to follow and be bound by these Terms and the Standard Policies so\n modified.\n

      \n

      \n You acknowledge that you will be bound by these Nushift Health Plan Terms specifically for availing any of\n the Health Plan Service. If you do not agree with any part of these Nushift Health Plan Terms and/or the\n Standard Policies, please do not use the Website or avail the Health Plan Service.\n

      \n

      \n Your access and use of the Health Plan Service will be solely at the discretion of Nushift.\n

      \n
    • \n
    • \n 14.2 CONDITIONS OF USE\n

      \n You must be eighteen (18) years of age or older to register on the Website for availing the Health Plan\n Service as a Primary User. As a Primary User, You can add minors as Covered Member(s) under the Health\n Plan Service availed and subscribed to with the express understanding that the Primary Member shall be\n entirely responsible and liable on all counts for compliance with these Nushift Health Plan Terms for and\n on behalf of such Covered Member who is below the age of majority. By registering, visiting and using the\n Website for availing the Health Plan Service or accepting these Terms and the Standard Policies, You\n represent and warrant to Nushift that You are eighteen (18) years of age or older and have the appropriate\n authorization to contract on behalf of a Covered Member who is below the age of majority, and that You\n have the right, authority and capacity to use the Website for availing the Health Plan Service and agree\n to and abide by these Terms.\n

      \n
    • \n
    • \n 14.3 TERMS OF THE HEALTH PLAN SERVICE

      \n
        \n
      • \n 14.3.1 Term: The Health Plan Service subscribed by You will be valid for\n the period as per the Plan Details commencing from the date of the subscription of the Health Plan\n Service (“Term”). After the expiry of the Term, You may choose a different Plan as per the Plan\n Details and subscribe thereto or renew Your existing subscription, on such terms that are valid and\n subsisting as on date of subscription or renewal. The benefits under the Health Plan Service cannot be\n carried forward after the expiry of the Term.\n
      • \n
      • \n 14.3.2 Registration: The Primary User is a registered user on the Website\n and has subscribed to the Health Plan Service on the Website by paying the applicable fees as per the\n Plan Details. You could avail the Plan solely for You or for Yourself and any Covered Member(s). Each\n Covered Member, who is covered by the Health Plan Service subscribed by You will have to follow an\n authentication mechanism to utilize the Health Plan Service. The maximum number of permissible Covered\n Members per each Primary User will be set out in the Plan Details. Covered Members, once added by the\n Primary User cannot be removed, modified or edited.\n
      • \n
      • \n 14.3.3 Information: As a part of the registration process for Health Plan\n Service, You will fill in certain personal information and details in order to create a medical history\n and profile which will be accessible to the Practitioners. The information shared by You will be dealt\n with in accordance with the Standard Policies.\n
      • \n
      • \n 14.3.4 Health Plan Service details: As a part of Health Plan Service, You\n are entitled to benefits (which may include such number of consultations, offers on medicines which are\n ordered through the Website, discounted health check-ups, discounts / offers on diagnostics tests and\n Family Doctor benefit, or any other benefit that Nushift may offer in the future) that are set out in\n the Plan Details.\n
      • \n
      • \n 14.3.5 Health Plan Service process: After subscribing to Health Plan\n Service, You will be eligible to avail the benefits covered under the Health Plan Service as under:\n
          \n
        • \n Consultations: Covered Consultations and their Utilization: As part of the Health Plan\n Service, You are entitled to certain number of consultations with Covered Practitioners at a\n discounted rate (“Covered Consultations”). For the purposes of these Terms, “Covered\n Practitioners” are those Practitioners who have been onboarded by Nushift to provide You the Covered\n Consultation as part of Health Plan Service. The number of Covered Consultations that You are\n eligible for shall be displayed under Your Plan Page. The Covered Consultations can be availed by\n You either by booking through the Website by using the Book facility (as published on the Website)\n or by way of a walk-in. It is clarified that the benefits under the Covered Consultations will be\n calculated cumulatively and not per member. Illustratively, 1 Primary User has subscribed to the\n Health Plan Service with 4 Covered Members who are cumulatively entitled to 10 Covered\n Consultations. This means that as a group (Primary User and the Covered Members) the number of\n Covered Consultations is 10. These 10 Covered Consultations can be utilized by 1 individual User or\n more than 1 individual user in such combination and proportion that they choose as a group. Further,\n if You have exhausted the Covered Consultations under the Health Plan Service, You will still be\n able to avail other benefits which are a part of the Health Plan Service, however, if You seek a\n consultation with the Covered Practitioners after exhausting the Covered Consultation, You will have\n to pay to the Covered Practitioner their standard rate at their establishment. If before the expiry\n of the Term, You have exhausted the Covered Consultations that You were eligible for, You may have\n an option to renew Health Plan Service solely for the purpose of subscribing to additional number of\n Covered Consultation during the Term.
          \n Authentication: If You are booking a Covered Consultation through Nushift’s Book\n facility, then the Plan Details, shall indicate such Covered Consultation to have been consumed at\n the time of booking such Covered Consultation, unless you have cancelled it as per permissible\n timelines set out in the Standard Policies. However, if You are availing the Covered Consultation by\n way of a walk-in appointment, then the Plan Details shall indicate such Covered Consultation to have\n been consumed once You authenticate Your booking at such Covered Practitioner’s establishment.\n Covered consultations do not include consultations with Physiotherapist, Psychiatrist, Ayurveda, and\n Homeopathy.\n
        • \n
        • \n Medicine: As part of the Health Plan Service, You are eligible to receive offers on order of\n medicines (as offered for sale by Registered Pharmacies which are the sellers of such medicines)\n through the Website during the Term as per the Plan Details. The type of offers will be set out\n under your Plan Details. The other terms and conditions governing the order of medicines which are\n available at https://www.Nushift.com/order/terms\n (“Order Terms”) will applicable to You in conjunction with the Standard Policies. The offers\n on purchase of medicines is available only on purchase of medicines through the Website and not via\n any other mode. For the purposes of these Nushift Health Plan Terms, “Registered Pharmacies” are\n those pharmacies who have been on-boarded by Nushift to offer You sale of medicine as part of the\n Health Plan Service through the Website. Additionally, the Order Terms applicable to Nushift and\n User on medicine order will apply ‘as is’ under these Nushift Health Plan Terms. It is to be noted\n that Nushift is not the seller of the medicines but only a facilitator which facilitates procurement\n of medicine between You and a Registered Pharmacist. Nushift is in no manner liable for or\n responsible towards the underlying medicine sale between the User and the registered pharmacist.\n Nushift hereby disclaims and excludes all warranties with respect to all services, information\n and/or products contained on a medicine order, express, implied or statutory.\n
        • \n
        • \n Diagnostics: As part of Health Plan Service, You will be eligible to receive discounts / offers on\n the diagnostic tests availed by You (undertaken by Diagnostic Centres) through the Website for the\n Term as per the Plan Details. The quantum of the discount or type of offers will be set out under\n your Plan Details. The other terms and conditions governing the lab/diagnostic tests which are\n available at https://www.Nushift.com/company/terms/diagnostic\n will applicable to You in conjunction with the Standard Policies. For the purposes of these Terms,\n “Diagnostic Centres” are those diagnostic centres who have been onboarded by Nushift to offer You\n diagnostic tests under the Health Plan Service. It is to be noted that the terms applicable to\n Nushift and User on diagnostic tests will apply ‘as is’ under these Terms. The lab that You choose\n for the diagnostic test will offer at-home diagnostic service, and may offer walk-in tests at its\n discretion. It is clarified that all diagnostic tests may not be covered under Health Plan Service\n which is at the discretion of such Diagnostic Centres. It is further clarified that Nushift does not\n conduct any diagnostic tests but is only a facilitator between the User and the Diagnostic Centres.\n Nushift is in no manner liable for or responsible towards the actual test and analysis undertaken by\n the Diagnostic Centre. Nushift disclaims and excludes all warranties in relation to any diagnostic\n service availed by the User as part of the Health Plan Service.\n
        • \n
        • \n Health Check-ups: As a benefit extended to You as a subscriber to Health Plan Service, You will get\n health check-ups at discounted fees during the Term. The details (including the number) of health\n check-ups will be visible to You under your Plan Page. As with Covered Consultations, the Primary\n User and the Covered Members may, as a group, choose to avail the health check-ups in such\n proportion amongst themselves as they deem fit. Health check-up would be provided by the Covered\n Practitioners and the Diagnostic Centres.\n
        • \n
        • \n Family Doctor: As a part of the Health Plan Service, You will also be eligible to avail the benefit\n of online tele-consultation with a team of Practitioners (“Family Doctor”). The Family Doctor\n will be available to You for consult and You are not required to pay any additional sum to consult\n with such Family Doctor. The Family Doctor benefit may be availed either through a phone call or\n chat or a video call. The Standard Policies applicable to You with regard to the online consultation\n (Nushift Consult / Consult) will apply “as is”. Please note that the benefit of Family Doctor\n Consult is merely a consulting model and any interactions and associated issues with the\n Practitioner acting as Family Doctor, including but not limited to the Your health issues and/or\n Your experiences is strictly between You and such Practitioner. You shall not hold Nushift\n responsible for any such interactions and associated issues. Any conversations that You have had\n with Family Doctor will be retained in Nushift database as per the applicable laws and subject to\n confidentiality as laid out in the Standard Policies. Additionally, Nushift in no manner endorses\n any Practitioner who is acting in the capacity of Family Doctor, that You consult and is not in any\n manner responsible for any drug/medicines prescribed or the therapy prescribed by such Family Doctor\n on the basis of the consultation. Further, Nushift shall not be responsible for any breach of\n service or service deficiency by such Practitioner. It is further clarified that Nushift is not a\n medical service provider, nor is it involved in providing any healthcare or medical advice or\n diagnosis, it shall hence not be responsible and owns no liability to either You or any Practitioner\n for any outcome from the consultation between You and such Practitioner. The Family Doctor benefit\n is made available to You to obtain consultation from a Practitioner as a part of the Health Plan\n Service and is in no way intending to replace physical consultations with the Practitioner.\n
        • \n
        \n
      • \n
      • \n 14.3.6 Payment for the Health Plan Service: You will pay to Nushift at the\n time of subscribing to the Health Plan Service, at the rates set out in the Plan Details. At the time of\n visiting the establishment of the Practitioner for Covered Consultation, You are not required to pay any\n amount as long as your eligibility for Covered Consultations are valid and has been set out in the Plan\n Page. After availing the Covered Consultation service, You are required to let the billing department of\n such Practitioner’s establishment know, that You have availed it by way of a Covered Consultation as\n part of Health Plan Service which will then be authenticated by the Practitioner’s establishment.\n
      • \n
      • \n 14.3.7\n Health Plan Service Cancellation and Refund Policy:\n
        You may have an option to cancel Your subscription to the Health Plan Services. You will contact\n Nushift on the customer support chat channel regarding cancelling Your subscription to the Health Plan\n Service. Further, Nushift may refund the amount paid by You towards your subscription of the Health\n Plan Services (“Health Plan Subscription amount”), subject to the following conditions:
        \n
          \n
        • \n 1. In the event the Health Plan Subscription amount is Rs. 3,999\n (Rupees Three Thousand Nine Hundred and Ninety Nine) or Rs. 5,999 (Rupees Five Thousand Nine Hundred\n and Ninety Nine) the refund scheme is as follows:\n
            \n
          • \n If the user has not availed any of the Health Plan Services which are mentioned in the User’s\n Plan Details within a period of 15 (Fifteen) days from the date of subscribing to the Health\n Plan Services (“Free Look Period”) and if the user requests for a cancellation of his/her Health\n Plan Services during the Free Look Period, Nushift will refund the entire Health Plan\n Subscription amount which was paid by the user.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services during\n the Free Look Period and if the user has already availed certain Health Plan Services which are\n mentioned in the user’s Plan Details during the Free Look Period, Nushift will deduct maximum of\n Rs. 1,000 (Rupees One Thousand) or the actual value of the Health Plan Services availed by the\n user, whichever is higher.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services after\n expiry of the Free Look Period, Nushift will refund the Health Plan Subscription amount in the\n following manner:\n
              \n
            • \n If the cancellation request by the user is within 16 (Sixteen) days to 89 (Eighty Nine) days\n from the date of user’s subscription to the Health Plan Services, Nushift will refund 75%\n (Seventy Five percent) of the Health Plan Subscription amount or the actual cost of Health\n Plan Services availed by the user, whichever is higher;\n
            • \n
            • \n If the cancellation request by the user is within 90 (Ninety) days to 179 (One hundred and\n Seventy Nine) days from the date of user’s subscription to the Health Plan Services, Nushift\n will refund 50% (Fifty percent) of the Health Plan Subscription amount or the actual cost of\n Health Plan Services availed by the user, whichever is higher;\n
            • \n
            • \n If the cancellation request by the user is within 180 (One Hundred and Eighty) days to 269\n (Two hundred and Sixty Nine) from the date of user’s subscription to the Health Plan\n Services, Nushift will refund 25% (Twenty Five percent) of the Health Plan Subscription\n amount or the actual cost of Health Plan Services availed by the user, whichever is higher;\n and\n
            • \n
            • \n The user will not be entitled to any refund of the Health Plan Subscription amount if the\n cancellation request by the user is after 269 (Two Hundred and Sixty Nine) from the date of\n user’s subscription to the Health Plan Services.\n
            • \n
            \n
          • \n
          \n
        • \n
        • \n 2. In the event the Health Plan Subscription amount paid by the user is\n Rs. 1,999 (Rupees One Thousand Nine Hundred and Ninety Nine) or Rs.2,999 (Rupees Two Thousand Nine\n Hundred and Ninety Nine) the refund scheme is as follows:\n
            \n
          • \n If the user has not availed any of the Health Plan Services which are mentioned in the user’s\n Plan Details within the Free Look Period and if the user requests for a cancellation of his/her\n Health Plan Services during the Free Look Period, Nushift will refund the entire Health Plan\n Subscription amount which was paid by the user.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services during\n the Free Look Period and if the user has already availed certain Health Plan Services which are\n mentioned in the user’s Plan Details during the Free Look Period, Nushift will refund the Health\n Plan Subscription amount after deducting the consultation fees (as mentioned by the respective\n doctor on the Website) for the consultation(s) availed by the user as part of the Health Plan\n Services.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services after\n expiry of the Free Look Period, Nushift will refund the Health Plan Subscription amount in the\n following manner:\n
              \n
            • \n If the cancellation request by the user is within 16 (Sixteen) days to 89 (Eighty Nine) days\n from the date of user’s subscription to the Health Plan Services, Nushift will refund 75%\n (Seventy Five percent) of the Health Plan Subscription amount or the actual cost of Health\n Plan Services availed by the user, whichever is higher;\n
            • \n
            • \n If the cancellation request by the user is within 90 (Ninety) days to 179 (One hundred and\n Seventy Nine) days from the date of user’s subscription to the Health Plan Services, Nushift\n will refund 50% (Fifty percent) of the Health Plan Subscription amount or the actual cost of\n Health Plan Services availed by the user, whichever is higher;\n
            • \n
            • \n If the cancellation request by the user is within 180 (One Hundred and Eighty) days to 269\n (Two hundred and Sixty Nine) days from the date of user’s subscription to the Health Plan\n Services, Nushift will refund 25% (Twenty Five percent) of the Health Plan Subscription\n amount or the actual cost of Health Plan Services availed by the user, whichever is higher;\n and\n
            • \n
            • \n The user will not be entitled to any refund of the Health Plan Subscription amount if the\n cancellation request by the user is after 269 (Two Hundred and Sixty Nine) days from the\n date of user’s subscription to the Health Plan Services.\n
            • \n
            \n
          • \n
          \n
        • \n
        • \n 3. In the event the Health Plan Subscription amount paid by the user is\n Rs.399 (Rupees Three Hundred and Ninety Nine) or Rs.499 (Rupees Four Hundred and Ninety Nine) or\n Rs.799 (Rupees Seven Hundred and Ninety Nine)the refund scheme is as follows:\n
            \n
          • \n If the user has not availed any of the Health Plan Services which are mentioned in the user’s\n Plan Details within a period of 7 (Seven) days from the date of subscribing to the Health Plan\n Services (“Free Look Period”) and if the user requests for a cancellation of his/her Health Plan\n Services during the Free Look Period, Nushift will refund the entire Health Plan Subscription\n amount which was paid by the user.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services during\n the Free Look Period and if the user has already availed certain Health Plan Services which are\n mentioned in the user’s Plan Details during the Free Look Period, Nushift will refund the Health\n Plan Subscription amount after deducting the consultation fees (as mentioned by the respective\n doctor on the Website) for the consultation(s) availed by the user as part of the Health Plan\n Services.\n
          • \n
          • \n The user will not be entitled to any refund of the Health Plan Subscription amount if the\n cancellation request by the user is after 7 (Seven) days from the date of user’s subscription to\n the Health Plan Services.\n
          • \n
          \n
        • \n
        • \n 4. In the event the Health Plan Subscription amount paid by the user is\n Rs.1499 (Rupees One Thousand Four Hundred and Ninety Nine) the refund scheme is as follows:\n
            \n
          • \n If the user has not availed any of the Health Plan Services which are mentioned in the user's\n Plan Details within a period of 15 (Fifteen) days from the date of subscribing to the Health\n Plan Services (\"Free Look Period\") and if the user requests for a cancellation of his/her Health\n Plan Services during the Free Look Period, Nushift will refund the entire Health Plan\n Subscription amount which was paid by the user.\n
          • \n
          • \n If the user requests for cancellation of his/her subscription to the Health Plan Services during\n the Free Look Period and if the user has already availed certain Health Plan Services which are\n mentioned in the user's Plan Details during the Free Look Period, Nushift will refund the Health\n Plan Subscription amount after deducting the consultation fees (as mentioned by the respective\n doctor on the Website) for the consultation(s) availed by the user as part of the Health Plan\n Services.\n
          • \n
          • \n The user will not be entitled to any refund of the Health Plan Subscription amount if the\n cancellation request by the user is after 15 (Fifteen) days from the date of user's subscription\n to the Health Plan Services.\n
          • \n
          \n
        • \n
        • \n 5. All refunds of the Health Plan Subscription amount to the user are\n subject to Nushift’s internal verification process.\n
        • \n
        • \n 6. Subject to Clause 3.4.7 (3) above, the refund of the Health Plan\n Subscription amount will made to the user within fifteen (15) business days of such cancellation\n request.\n
        • \n
        \n
      • \n
      • \n 14.3.8 As a part of Health Plan Service, You are entitled to certain\n discounts, offers and benefits. It is clarified that none of these benefits under Health Plan Service\n can be redeemed for cash.\n
      • \n
      • \n 14.3.9 Fair Usage Policy for Nushift Health Plan.\n
        The following fair usage policy shall be applicable to every Plan:
        \n
          \n
        • \n Users are allowed to utilise a maximum of 5 (Five) free online consultations per day (i.e. 5 (Five)\n online consultations per day collectively for all users, including covered members). Upon completion\n of the 5 (Five) free consultations per day, users may choose to avail additional consultations by\n paying the prescribed consultation fee to the doctor.\n
        • \n
        • \n Users are allowed to utilize a maximum of 15 (Fifteen) free online consultations per month (i.e. 15\n (Fifteen) free online consultations per month collectively for all users, including covered\n members). Upon completion of the 15 (Fifteen) free consultations per month, users may choose to\n avail additional consultations by paying the prescribed consultation fee to the doctor.\n
        • \n
        • \n Each user of a Plan can have 1 (one) active doctor consultation at any given time. An online\n consultation is considered to be active for 60 (Sixty) minutes from the actual time of commencement\n of the said consultation and upon completion of 60 (Sixty) minutes, users may commence a new online\n consultation.\n
        • \n
        • \n The aforementioned fair usage policy is subject to change by Nushift at its sole discretion based on\n future analysis and actual usage.\n
        • \n
        \n
      • \n
      \n
    • \n

      \n
    • \n 14.4 APPLICABILITY OF THE STANDARD POLICIES\n

      \n The Nushift Health Plan Terms herein are required to be read in conjunction and addition with the\n applicable user terms under the Standard Policies. In case of any inconsistency between the Nushift Health\n Plan Terms and the Standard Policies, the Terms will prevail to the extent of the inconsistency.\n

      \n
    • \n
    • \n 14.5 REIMBURSEMENT UNDER Nushift PLUS PLAN – TERMS & CONDITIONS\n

      \n Users who have subscribed to the Nushift Plus Plan which is available on the\n Website are entitled to receive reimbursements, on the consultation fee mentioned by\n the doctor on the Website with respect to each consultation (“Consultation\n Fee”) subject to the following terms and conditions:\n

      \n
        \n
      • \n 1 Only those Users who have subscribed to a Nushift Plus Plan through the\n Website are entitled to receive reimbursement on the Consultation Fee.\n
      • \n
      • \n 2The maximum reimbursement which can be availed by a User per consultation\n is Rs. 500/- (Rupees Five Hundred only).\n
      • \n
      • \n 3Reimbursement is available only on the Consultation Fees, and not on the\n fees paid by the User for each Consultation. For example, if the doctor has raised an invoice for Rs.\n 500/- and the Consultation Fee as mentioned under the profile of the doctor on the Website is Rs. 400/-,\n the User who has consulted the said doctor will be entitled to a cash back of only Rs. 400/- and not Rs.\n 500/-.\n
      • \n
      • \n 4For the purpose of availing the reimbursement, Users shall send a legible\n picture/photo of the invoice/bill raised by the respective clinic/hospital at which the said User has\n booked an appointment to pluscashback@Nushift.com.\n
      • \n
      • \n 5The E-mail to be sent by the User (as per Clause 5 above) shall also\n include the following details:\n
          \n
        • Picture/photo of the invoice/bill
        • \n
        • Bank details of the User
        • \n
        \n
      • \n
      • \n 6 The picture/photo mentioned under Clause 5 shall contain the following\n details for the Users to avail the reimbursement:\n
          \n
        • Name of the User (name should be as mentioned in the Nushift Plus membership before the booking\n the appointment)
        • \n
        • Name of clinic/hospital
        • \n
        • Name of doctor
        • \n
        • Consultation Fee/ fees paid.
        • \n
        \n
      • \n
      • \n 7 Nushift team will verify the amount mentioned in the invoice with the\n Consultation Fee mentioned by the doctor on the Website\n
      • \n
      • \n 8 Any reimbursement claim made by a User after the expiry of his/her\n subscription to the Nushift Plus Plan is not valid.\n
      • \n
      • \n 9 A User cannot carry forward his/her entitlement to receive reimbursement\n while renewing his/her Nushift Plus Plan subscription.\n
      • \n
      • \n 10 Plus is not an insurance product.\n
      • \n
      • \n 11Any reimbursement claim made by a User 30 days after the date of\n appointment is not valid.\n
      • \n
      \n
    • \n \n
    \n
  • \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\";"],"sourceRoot":"webpack:///"}