{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/core/services/jwt.service.js","webpack:///./src/LoadingComponent.vue?0b82","webpack:///src/LoadingComponent.vue","webpack:///./src/LoadingComponent.vue?a1df","webpack:///./src/LoadingComponent.vue","webpack:///./src/ErrorComponent.vue?a211","webpack:///src/ErrorComponent.vue","webpack:///./src/ErrorComponent.vue?5b11","webpack:///./src/ErrorComponent.vue","webpack:///./src/router.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?94e4","webpack:///src/App.vue","webpack:///./src/App.vue?3359","webpack:///./src/App.vue?2667","webpack:///./src/core/services/store/htmlclass.module.js","webpack:///./src/core/services/store/config.module.js","webpack:///./src/core/services/store/breadcrumbs.module.js","webpack:///./src/core/services/store/modules/mdfile.module.js","webpack:///./src/core/services/store/modules/questions.module.js","webpack:///./src/core/services/store/index.js","webpack:///./src/core/services/notification.service.js","webpack:///./src/core/services/localstorage.service.js","webpack:///./src/core/services/utility.service.js","webpack:///./src/core/services/mf/history.service.js","webpack:///./src/core/services/mf/vital.service.js","webpack:///./src/core/services/payment.service.js","webpack:///./src/core/services/doctor.service.js","webpack:///./src/core/services/db.service.js","webpack:///./src/core/services/department.service.js","webpack:///./src/core/services/user.service.js","webpack:///./src/core/services/mf/file.service.js","webpack:///./src/core/services/mf/prescription.service.js","webpack:///./src/core/services/appointment.servic.js","webpack:///./src/core/services/chat.service.js","webpack:///./src/core/services/feed.service.js","webpack:///./src/core/services/qustion.service.js","webpack:///./src/core/services/stats.service.js","webpack:///./src/core/services/firebase.service.js","webpack:///./src/core/services/feedback.service.js","webpack:///./src/core/plugins/vue-i18n.js","webpack:///./src/core/plugins/vuetify.js","webpack:///./src/core/plugins/portal-vue.js","webpack:///./src/core/plugins/bootstrap-vue.js","webpack:///./src/core/plugins/inline-svg.js","webpack:///./src/core/plugins/apexcharts.js","webpack:///./src/main.js","webpack:///./src/App.vue?30f2","webpack:///./src/App.vue?4b49","webpack:///./src/App.vue?9b58","webpack:///./src/core/services/api.service.js","webpack:///./src/core/services/store/auth.module.js","webpack:///./src/registerServiceWorker.js","webpack:///./node_modules/gun sync"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","ID_TOKEN_KEY","getToken","localStorage","getItem","saveToken","token","setItem","parseJwt","base64Url","split","base64","replace","jsonPayload","decodeURIComponent","atob","map","charCodeAt","toString","join","JSON","parse","destroyToken","removeItem","render","_vm","this","_h","$createElement","_c","_self","_v","staticRenderFns","component","lazyLoadView","loading","AsyncHandler","functional","h","children","MF","LoadingComponent","ErrorComponent","Vue","use","Router","routes","path","redirect","webpackContext","req","id","webpackContextResolve","keys","staticClass","attrs","directives","rawName","$root","expression","staticStyle","style","mobile","progress","class","pointto","_e","connectionstatus","components","LottieAnimation","watch","update","methods","finishSetup","SETTINGS","$util","getSettings","getLanguages","$department","getPouch","$doctor","init","$vitalTypes","$historyTypes","$payments","setGeoData","geoData","timezone","stringify","couchready","computed","created","beforeMount","Network","getStatus","addListener","mounted","didload","setup","EventBus","$on","$nextTick","screen","width","language","lang","$vuetify","rtl","ADD_BODY_CLASSNAME","REMOVE_BODY_CLASSNAME","ADD_CLASSNAME","SET_CLASSNAME_BY_POSITION","state","classes","getters","getClasses","position","actions","context","className","body","classList","add","remove","payload","commit","mutations","SET_LAYOUT_CONFIG","RESET_LAYOUT_CONFIG","OVERRIDE_LAYOUT_CONFIG","OVERRIDE_PAGE_LAYOUT_CONFIG","config","initial","layoutConfig","defaultValue","objectPath","assign","merge","APPEND_BREADCRUM","SET_BREADCRUMB","ADD_BREADCRUMB","breadcrumbs","pageTitle","last","title","forEach","item","questions","answeredQuestions","answeredQuestionsByMe","loadingStatus","isQuestionAnswered","getQuestions","getAnsweredQuestions","getAnsweredQuestionsByMe","getLoadingStatus","getIsQuestionAnswered","fetchQuestions","ApiService","fetchAnsweredQuestions","fetchAnsweredQuestionsByMe","updateIsQuestionAnswered","SET_QUESTIONS","SET_ANSWERED_QUESTIONS","SET_ANSWERED_QUESTIONS_BY_ME","SET_IS_QUESTION_ANSWERED","Vuex","Store","auth","htmlClass","mdfile","NotificationService","getDevicesByUser","getDevicebyUUID","uuid","syncToken","deviceInfo","currentuser","res","owner","sendSub","device_info","subscribetoAll","platform","status","post","topic","broadcastNotify","feedNotify","notifyByWebPush","incomingtitle","msg","recipient","messege","notifyByMail","email","to","subject","use_default_email","postWithToken","sendOTP","from","template_id","variables","substitutions","var","notifyBySMS","LocalStorageService","write","expiry","encrypt","read","decrypt","salt","text","textToChars","byteHex","Number","substr","applySaltToChar","reduce","a","b","encoded","match","hex","parseInt","charCode","String","fromCharCode","UtilityService","ds","us","user","VueCryptojs","utc","require","duration","advancedFormat","localeData","dayjs","day","asseturl","process","gun","langs","settings","deviceinfo","emitter","fx","setGun","g","newDS","DeepstreamClient","getDS","truncate","str","getUniq","array","field","toreturn","obj","findIndex","startUpDS","login","username","external_id","openUserSocket","presence","subscribe","$emit","closeDS","close","decoded","addChatRoom","tempid","getCurrentUser","doctor","doctor_id","getEmitter","CryptoJS","AES","enc","Utf8","generateUID","ShortUniqueId","stamp","setDeviceInfo","info","getDeviceInfo","force","DbService","getlocaldb","getTranslation","translation","getExchangeRate","convertCurrency","currencyCode","rate","parseFloat","rates","toFixed","getLocalRate","getLocalCurrency","currencySymbolNative","isPaymentEnabled","payment","getLanguageByID","find","setLanguages","icon","flag","private_hash","put","_id","_rev","rev","getTimezone","langFilter","queryText","toLowerCase","includes","zoneFilter","z","zone","departmentFilter","department","doctorFilter","first_name","last_name","processTime","date","array1","array2","log","ids","Set","merged","filter","has","HistoryService","historyTypes","updatePouch","setPouch","Base64","encode","deleteItem","delete","deleteTranslation","index","isInUse","getlocalItems","decode","fetchfromserver","VitalService","vitalTypes","once","updategun","PaymentService","paymentMethods","createItemType","updateItemType","deleteItemType","deleteTypeTranslation","isTypeInUse","getPaymentType","getPateintPayments","confirmPayment","getAll","DoctorService","currentDoctor","allDoctors","errnings","updatedPouchwithArray","items","clearData","updateLocalPrice","docs","local_video","video","local_clinic","clinic","isFree","getLocalDocs","getAllDoctors","getAllDoctorsBackend","doc","getDoctorsByDepartment","getItemByID","updateCurrentDoctor","getCurrentDoctor","getProfileInfo","rating","answers","appointments","posts","apps","getErrningsByID","getDoctorCallDuration","tocheck","call_duration","updateDoctorCache","stat","rpc","make","createDoctor","updateDoctor","addScheduleShift","deleteScheduleShift","addDayOff","deleteDayOff","updateSpokenLanguages","languages_id","url","opts","live","retry","local","PouchDB","replicate","on","sync","change","depart","DepartmentService","vitals","history","remote","getremotedb","departments","getDepartments","doctors","UserService","current_user","users","page","roles","setCurrentUser","fetchCurrentUser","setHeader","catch","response","onLogout","logAccess","device","getLastAccess","getRoles","getUsersByRole","role","getElegiableChatUsers","concat","sort","updateUserInfo","resource","updateUser","createUser","checkEmail","createUser2","forgotPasswordSendOTP","verifyOTP","resetpass","FileService","currentFile","getCurrentFile","createPatient","updatePatient","createItem","full_name","PrescriptionService","createMedicine","getUserPrescriptions","medication","time","prescription_intake_time_id","AppointmentService","total","limit","fields","options","meta","getOptions","setOptions","resetOptions","getPage","setPage","getLimit","getTotal","getItems","filters","processOptions","total_count","getItemByPaymentID","getDoctorsAppointmentByDate","getDoctorAvailability","dayofweek","format","availObj","availability","days","starttime","endtime","subtract","isAfter","times","isBefore","isSame","date_time","groupTimes","toReturn","hour","group","tz","getlog","record","getRecord","deletelog","whenReady","logApp","action","isEmpty","Date","now","set","getAllAppointments","getSummery","idres","ChatService","AddRemoteRoom","rooms","room","getActiveRoom","setActiveRoom","getUserChats","conv_id","u","user_id","created_on","filteredrooms","chat","ro","timestamp","generateRoomObj","found","saveRoom","userstosend","encryptMsg","FeedService","likeAction","list","getList","like","removeEntry","operatingSystem","addEntry","likes","getEntries","getFeedItems","postItem","updateItem","postTranslation","updateTranslationItem","deleteTranslations","QuestionService","postAnswer","postQuestion","StatsService","inprogress","pending","canceled","completed","answered","unanswred","consultations","getAllAppointmentsStats","getAllUsersStats","FirebaseService","app","initializeApp","messaging","getMessaging","onMessage","notification","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","getWebToken","vapidKey","currentToken","FeedbackService","editItem","postIssue","VueI18n","messages","en","ar","tr","fr","i18n","locale","Vuetify","theme","customProperties","themes","light","primary","secondary","accent","success","warning","PortalVue","BootstrapVue","IconsPlugin","InlineSvgPlugin","VueApexCharts","App","Plugins","Device","getLanguageCode","LogRocket","release","version","baseHref","$rocket","productionTip","directive","VueMaskDirective","Unicon","uniEstate","uniHeartbeat","uniCalender","uniCommentAltQuestion","uniQuestionCircle","uniListUl","uniTrashAlt","uniEditAlt","uniCloudDownload","uniVideo","uniFileMedicalAlt","uniFileCheckAlt","uniDollarAlt","uniUserArrows","uniHospital","uniUsersAlt","uniCommentRedo","uniClock","uniArrowGrowth","uniSetting","uniUserMd","uniUser","uniKeySkeleton","uniSelfie","uniBag","uniUserPlus","uniHeartRate","uniTransaction","uniBandAid","uniUploadAlt","uniHistory","uniCapsule","uniFileCopyAlt","uniApple","uniAndroid","uniLaptopCloud","uniPoundCircle","uniCheckCircle","uniExclamationCircle","uniLaptop","uniMobileAndroid","uniCreditCard","uniUserCircle","uniBell","uniSignAlt","uniPauseCircle","uniSignOutAlt","uniCommentsAlt","uniDatabase","uniSave","uniEnglishToChinese","uniWifi","uniSpinnerAlt","uniExclamationTriangle","uniStethoscope","uniFavorite","uniDocumentLayoutLeft","ClipboardJS","PerfectScrollbar2","location","hostname","gunInstance","Gun","$gun","$deepstream","$db","$api","$notify","$ls","$user","$file","$prescription","$app","$cap","$chat","$feed","$question","$stats","$firebase","$feedback","router","beforeEach","next","store","dispatch","VERIFY_AUTH","isAuthenticated","scrollTo","VueMoment","moment","Textra","vuetify","loader","ssdkurl_prod","ssdkurl_test","stoken_prod","stoken_test","sloc_prod","sloc_test","mf","doctormf","viaid","docID","exchangerate","disablehome","chatOpen","showBar","apiURL","assetsBaseURL","sysbarheight","tabspadding","currentpage","patient","selectedDepartment","admin","extramargin","selectedRole","openside","selectedSetting","selectedManageData","dApp","$mount","VueAxios","axios","defaults","baseURL","interceptors","headers","common","JwtService","removeHeader","filterkey","operator","query","params","slug","Authorization","registerUser","postMdFile","postFile","uploadProgressCallBack","onUploadProgress","progressEvent","Math","round","loaded","simplePostFile","patch","getICD","icd","diagnosticsname","getLocationDetails","apikey","amount","LOGIN","LOGOUT","REGISTER","UPDATE_USER","PURGE_AUTH","SET_AUTH","SET_ERROR","errors","currentUser","credentials","exp","floor","password","image","bio","userInfo","register","ready","registered","cached","updatefound","updated","reload","offline","webpackEmptyContext"],"mappings":"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","file":"js/app.b4ecaf00.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-02cb6c96\":\"a1348a7a\",\"chunk-0e495ac4\":\"550795ec\",\"chunk-622b12b0\":\"4b2234cc\",\"chunk-325d0b51\":\"75128d0c\",\"chunk-759b538b\":\"55fac966\",\"chunk-2d0c0c06\":\"87339380\",\"chunk-2d0e1b9e\":\"ae2b6d0b\",\"chunk-2d216256\":\"5011ba56\",\"chunk-2d216f4c\":\"7ebd868e\",\"chunk-558578a4\":\"bc788c0b\",\"chunk-77d5e372\":\"ec208bd4\",\"chunk-90300f4e\":\"a6223d32\",\"chunk-46567935\":\"b6c0febd\",\"chunk-38a6443d\":\"7b52eb18\",\"chunk-509201cc\":\"e4cb35b8\",\"chunk-1275875a\":\"15104dce\",\"chunk-7184935e\":\"5848be47\",\"chunk-be98565e\":\"a8df3131\",\"chunk-ec2a30da\":\"c0c492f0\",\"chunk-1c108256\":\"f98a6199\",\"chunk-07c4e66c\":\"34d665a9\",\"chunk-2980b5c5\":\"b16ef209\",\"chunk-35f3aecc\":\"ab815a5c\",\"chunk-37e5d086\":\"38c963c3\",\"chunk-3bb78bff\":\"1fdf0d8a\",\"chunk-4114923b\":\"fe8a761e\",\"chunk-559ff4ee\":\"fc4cd2f1\",\"chunk-7eb6b0da\":\"4568debc\",\"chunk-b5669eb8\":\"373d3a4c\",\"chunk-220c6c08\":\"41177311\",\"chunk-6d90ffa6\":\"d95e76f3\",\"chunk-12990ec4\":\"a2bbf27a\",\"chunk-30156b0e\":\"486a9753\",\"chunk-2b9a1062\":\"20a64558\",\"chunk-612fd592\":\"6153891f\",\"chunk-0d77f1dd\":\"8c7d88e4\",\"chunk-dc61a09a\":\"a166685c\",\"chunk-f03baa88\":\"4912e704\",\"chunk-f4b02d80\":\"c57b64b4\",\"chunk-4d0721c6\":\"c9d926b4\",\"chunk-ce8b53ea\":\"65ca6da6\",\"chunk-3188b830\":\"2e05dffb\",\"chunk-d6eecbcc\":\"819d639e\",\"chunk-7a37d822\":\"3e41596f\",\"chunk-2d216214\":\"49bf1fba\",\"chunk-2d216257\":\"256ee085\",\"chunk-3cdadb50\":\"22019d1a\",\"chunk-6352bb3d\":\"0b1425d3\",\"chunk-aa56e76e\":\"129fff5c\",\"chunk-06c002b4\":\"e6fb2c5b\",\"chunk-2bceee27\":\"62f7feaf\",\"chunk-4d4f8760\":\"fad77258\",\"chunk-4a3812ba\":\"35953f5e\",\"chunk-79b67e0a\":\"22ad2342\",\"chunk-dd1401d2\":\"d6d94987\",\"chunk-17d4e207\":\"dd4c9195\",\"chunk-1dd6dcec\":\"17d9ad76\",\"chunk-4908cefa\":\"dbb2d8dd\",\"chunk-3f7379ba\":\"9a015f9c\",\"chunk-0612cbf7\":\"1fd08cee\",\"chunk-4a7cda7b\":\"2c3e8db8\",\"chunk-745eb503\":\"7e7df22e\",\"chunk-1e8d6822\":\"0fcf582a\",\"chunk-64ac4bea\":\"a5208478\",\"chunk-69971808\":\"6622d96a\",\"chunk-101e708a\":\"124c1a00\",\"chunk-24afe2c4\":\"ee8481ed\",\"chunk-2d0b8a92\":\"be26f822\",\"chunk-2d0e1f85\":\"e15ca3ec\",\"chunk-3a5ea961\":\"de2be9c3\",\"chunk-53105538\":\"8e702517\",\"chunk-1c7bbc08\":\"ed329d44\",\"chunk-266b7fca\":\"e97e6839\",\"chunk-26d62699\":\"d2f41ff8\",\"chunk-29824e2e\":\"2e678134\",\"chunk-7f4f3284\":\"8f4964dc\",\"chunk-0a03d3c6\":\"1fafce5f\",\"chunk-271837e7\":\"34e89f67\",\"chunk-271844d4\":\"218f7018\",\"chunk-271c2b10\":\"4b871b99\",\"chunk-272ff599\":\"ac3e1e28\",\"chunk-2d0d6b03\":\"e01fdebb\",\"chunk-fbb5153a\":\"41c8e689\",\"chunk-1e673970\":\"edbed445\",\"chunk-55fb9071\":\"d79edba1\",\"chunk-6075770c\":\"c150c58c\",\"chunk-4c4b8157\":\"c5bc8f56\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-02cb6c96\":1,\"chunk-0e495ac4\":1,\"chunk-622b12b0\":1,\"chunk-325d0b51\":1,\"chunk-759b538b\":1,\"chunk-558578a4\":1,\"chunk-77d5e372\":1,\"chunk-90300f4e\":1,\"chunk-46567935\":1,\"chunk-38a6443d\":1,\"chunk-509201cc\":1,\"chunk-1275875a\":1,\"chunk-7184935e\":1,\"chunk-be98565e\":1,\"chunk-ec2a30da\":1,\"chunk-1c108256\":1,\"chunk-07c4e66c\":1,\"chunk-2980b5c5\":1,\"chunk-35f3aecc\":1,\"chunk-37e5d086\":1,\"chunk-3bb78bff\":1,\"chunk-4114923b\":1,\"chunk-559ff4ee\":1,\"chunk-7eb6b0da\":1,\"chunk-b5669eb8\":1,\"chunk-220c6c08\":1,\"chunk-6d90ffa6\":1,\"chunk-12990ec4\":1,\"chunk-30156b0e\":1,\"chunk-2b9a1062\":1,\"chunk-612fd592\":1,\"chunk-0d77f1dd\":1,\"chunk-dc61a09a\":1,\"chunk-f03baa88\":1,\"chunk-f4b02d80\":1,\"chunk-4d0721c6\":1,\"chunk-ce8b53ea\":1,\"chunk-3188b830\":1,\"chunk-d6eecbcc\":1,\"chunk-7a37d822\":1,\"chunk-3cdadb50\":1,\"chunk-6352bb3d\":1,\"chunk-06c002b4\":1,\"chunk-2bceee27\":1,\"chunk-4d4f8760\":1,\"chunk-4a3812ba\":1,\"chunk-79b67e0a\":1,\"chunk-dd1401d2\":1,\"chunk-17d4e207\":1,\"chunk-1dd6dcec\":1,\"chunk-4908cefa\":1,\"chunk-3f7379ba\":1,\"chunk-0612cbf7\":1,\"chunk-4a7cda7b\":1,\"chunk-745eb503\":1,\"chunk-1e8d6822\":1,\"chunk-64ac4bea\":1,\"chunk-69971808\":1,\"chunk-101e708a\":1,\"chunk-24afe2c4\":1,\"chunk-3a5ea961\":1,\"chunk-53105538\":1,\"chunk-1c7bbc08\":1,\"chunk-266b7fca\":1,\"chunk-26d62699\":1,\"chunk-29824e2e\":1,\"chunk-7f4f3284\":1,\"chunk-0a03d3c6\":1,\"chunk-fbb5153a\":1,\"chunk-1e673970\":1,\"chunk-55fb9071\":1,\"chunk-6075770c\":1,\"chunk-4c4b8157\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-02cb6c96\":\"19a658d4\",\"chunk-0e495ac4\":\"40ac5016\",\"chunk-622b12b0\":\"fb666d25\",\"chunk-325d0b51\":\"e6ae1b16\",\"chunk-759b538b\":\"f96d1b52\",\"chunk-2d0c0c06\":\"31d6cfe0\",\"chunk-2d0e1b9e\":\"31d6cfe0\",\"chunk-2d216256\":\"31d6cfe0\",\"chunk-2d216f4c\":\"31d6cfe0\",\"chunk-558578a4\":\"5093f554\",\"chunk-77d5e372\":\"0e443c0e\",\"chunk-90300f4e\":\"b5fb4e43\",\"chunk-46567935\":\"df3d4cc7\",\"chunk-38a6443d\":\"d51b2926\",\"chunk-509201cc\":\"0e928a6e\",\"chunk-1275875a\":\"095d4fd5\",\"chunk-7184935e\":\"8ee10342\",\"chunk-be98565e\":\"cf9f273e\",\"chunk-ec2a30da\":\"7f5fbf66\",\"chunk-1c108256\":\"e7ee133f\",\"chunk-07c4e66c\":\"f71b2d78\",\"chunk-2980b5c5\":\"3ae3f5fa\",\"chunk-35f3aecc\":\"9b595029\",\"chunk-37e5d086\":\"149ae916\",\"chunk-3bb78bff\":\"adc18291\",\"chunk-4114923b\":\"2e111602\",\"chunk-559ff4ee\":\"fe858913\",\"chunk-7eb6b0da\":\"16fbc91a\",\"chunk-b5669eb8\":\"b705daf0\",\"chunk-220c6c08\":\"7d0de75b\",\"chunk-6d90ffa6\":\"cd844934\",\"chunk-12990ec4\":\"a12b96d3\",\"chunk-30156b0e\":\"9b6886ab\",\"chunk-2b9a1062\":\"08808916\",\"chunk-612fd592\":\"13654861\",\"chunk-0d77f1dd\":\"67a5471a\",\"chunk-dc61a09a\":\"1e6d9e7e\",\"chunk-f03baa88\":\"ff063547\",\"chunk-f4b02d80\":\"b5f32203\",\"chunk-4d0721c6\":\"3684adfc\",\"chunk-ce8b53ea\":\"1a4fcea2\",\"chunk-3188b830\":\"d93f99b7\",\"chunk-d6eecbcc\":\"598ef891\",\"chunk-7a37d822\":\"d6e0b817\",\"chunk-2d216214\":\"31d6cfe0\",\"chunk-2d216257\":\"31d6cfe0\",\"chunk-3cdadb50\":\"f4cb5c85\",\"chunk-6352bb3d\":\"9ea038d0\",\"chunk-aa56e76e\":\"31d6cfe0\",\"chunk-06c002b4\":\"102cd919\",\"chunk-2bceee27\":\"19dc9d6f\",\"chunk-4d4f8760\":\"528fe107\",\"chunk-4a3812ba\":\"80579986\",\"chunk-79b67e0a\":\"a0766a72\",\"chunk-dd1401d2\":\"1bb1c2d6\",\"chunk-17d4e207\":\"b59c2d12\",\"chunk-1dd6dcec\":\"c2565430\",\"chunk-4908cefa\":\"c2565430\",\"chunk-3f7379ba\":\"80579986\",\"chunk-0612cbf7\":\"151d60d8\",\"chunk-4a7cda7b\":\"c2565430\",\"chunk-745eb503\":\"affd661f\",\"chunk-1e8d6822\":\"b511208f\",\"chunk-64ac4bea\":\"897b8eb6\",\"chunk-69971808\":\"8e5e4447\",\"chunk-101e708a\":\"45afd022\",\"chunk-24afe2c4\":\"18d9f22a\",\"chunk-2d0b8a92\":\"31d6cfe0\",\"chunk-2d0e1f85\":\"31d6cfe0\",\"chunk-3a5ea961\":\"18d9f22a\",\"chunk-53105538\":\"142021d4\",\"chunk-1c7bbc08\":\"86b6c963\",\"chunk-266b7fca\":\"10d78480\",\"chunk-26d62699\":\"8563b29d\",\"chunk-29824e2e\":\"8563b29d\",\"chunk-7f4f3284\":\"0ce44cea\",\"chunk-0a03d3c6\":\"ca6df252\",\"chunk-271837e7\":\"31d6cfe0\",\"chunk-271844d4\":\"31d6cfe0\",\"chunk-271c2b10\":\"31d6cfe0\",\"chunk-272ff599\":\"31d6cfe0\",\"chunk-2d0d6b03\":\"31d6cfe0\",\"chunk-fbb5153a\":\"21ef3931\",\"chunk-1e673970\":\"747dabfb\",\"chunk-55fb9071\":\"21f9d6b0\",\"chunk-6075770c\":\"785939d4\",\"chunk-4c4b8157\":\"c7315fda\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","const ID_TOKEN_KEY = \"id_token\";\n\nexport const getToken = () => {\n return window.localStorage.getItem(ID_TOKEN_KEY);\n};\n\nexport const saveToken = token => {\n //console.log(\"token to be stored\", token);\n window.localStorage.setItem(ID_TOKEN_KEY, token);\n};\n\nexport const parseJwt = token => {\n var base64Url = token.split(\".\")[1];\n var base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n var jsonPayload = decodeURIComponent(\n window\n .atob(base64)\n .split(\"\")\n .map(function(c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(\"\")\n );\n\n return JSON.parse(jsonPayload);\n};\n\nexport const destroyToken = () => {\n window.localStorage.removeItem(ID_TOKEN_KEY);\n window.localStorage.removeItem(\"userInfo\");\n window.localStorage.removeItem(\"mfdetails\");\n window.localStorage.removeItem(\"DEPARTMENT\");\n //localStorage.clear();\n};\n\nexport default { getToken, saveToken, destroyToken, parseJwt };\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"loading\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n loading\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingComponent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingComponent.vue?vue&type=template&id=78faaba2&\"\nimport script from \"./LoadingComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingComponent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"error\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n error\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorComponent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ErrorComponent.vue?vue&type=template&id=2f31517b&\"\nimport script from \"./ErrorComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./ErrorComponent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport Router from \"vue-router\";\n\nimport LoadingComponent from \"./LoadingComponent.vue\";\nimport ErrorComponent from \"./ErrorComponent.vue\";\n\nconst lazyLoadView = ({ component, loading, error }) => {\n const AsyncHandler = () => ({\n component,\n loading,\n error\n });\n\n return () =>\n Promise.resolve({\n functional: true,\n render(h, { data, children }) {\n return h(AsyncHandler, data, children);\n }\n });\n};\n\nconst MF = lazyLoadView({\n component: import(\"./view/pages/medical_file/file.vue\"),\n loading: LoadingComponent,\n error: ErrorComponent\n});\n\nVue.use(Router);\n\nexport default new Router({\n routes: [\n {\n path: \"/\",\n component: () => import(\"@/view/layout/Layout\"),\n redirect: \"/dashboard\",\n children: [\n {\n path: \"/dashboard\",\n name: \"dashboard\",\n component: () => import(\"@/view/pages/Dashboard.vue\")\n },\n {\n path: \"/admin/users\",\n name: \"users\",\n component: () => import(\"@/view/pages/admin/users/ManageUsers.vue\")\n },\n {\n path: \"/admin/payments\",\n name: \"payments\",\n component: () => import(\"@/view/pages/admin/payments/AllPayments.vue\")\n },\n {\n path: \"/admin/manage\",\n name: \"actions\",\n component: () => import(\"@/view/pages/admin/manage/ManageHome.vue\")\n },\n {\n path: \"/admin/notify\",\n name: \"notify\",\n component: () => import(\"@/view/pages/admin/notify/NotifyHome.vue\")\n },\n {\n path: \"/admin/app-settings\",\n name: \"AppSettings\",\n component: () => import(\"@/view/pages/admin/settings/Settings.vue\")\n },\n {\n path: \"/doctor/referral\",\n name: \"second_opinion\",\n component: () => import(\"@/view/pages/doctor/referral.vue\")\n },\n {\n path: \"/doctor/schedule\",\n name: \"schedule\",\n component: () => import(\"@/view/pages/doctor/schedule.vue\")\n },\n {\n path: \"/doctor/posts\",\n name: \"posts\",\n component: () => import(\"@/view/pages/admin/manage/comp/feed.vue\")\n },\n {\n path: \"/medical_file/:id\",\n name: \"medical_file\",\n component: MF\n },\n {\n path: \"/appointments\",\n name: \"appointments\",\n component: () => import(\"@/view/pages/appointment/appointment.vue\")\n },\n {\n path: \"/advice\",\n name: \"advice\",\n component: () => import(\"@/view/pages/advice/advice.vue\")\n },\n {\n path: \"/profile\",\n name: \"profile\",\n component: () => import(\"@/view/pages/Profile.vue\")\n },\n {\n path: \"/chat\",\n name: \"chat\",\n component: () => import(\"@/view/Chat/Room.vue\")\n }\n ]\n },\n {\n path: \"/error\",\n name: \"error\",\n component: () => import(\"@/view/pages/error/Error.vue\"),\n children: [\n {\n path: \"error-1\",\n name: \"error-1\",\n component: () => import(\"@/view/pages/error/Error-1.vue\")\n },\n {\n path: \"error-2\",\n name: \"error-2\",\n component: () => import(\"@/view/pages/error/Error-2.vue\")\n },\n {\n path: \"error-3\",\n name: \"error-3\",\n component: () => import(\"@/view/pages/error/Error-3.vue\")\n },\n {\n path: \"error-4\",\n name: \"error-4\",\n component: () => import(\"@/view/pages/error/Error-4.vue\")\n },\n {\n path: \"error-5\",\n name: \"error-5\",\n component: () => import(\"@/view/pages/error/Error-5.vue\")\n },\n {\n path: \"error-6\",\n name: \"error-6\",\n component: () => import(\"@/view/pages/error/Error-6.vue\")\n }\n ]\n },\n {\n path: \"/appointment/:id\",\n name: \"appointment\",\n component: () => import(\"@/view/pages/app/appointement.vue\")\n },\n {\n path: \"/d/:id\",\n name: \"DoctorProfile\",\n component: () => import(\"@/view/pages/doctor/Profile.vue\")\n },\n {\n path: \"/privacypolicy\",\n name: \"privacy_policy\",\n component: () => import(\"@/view/pages/policy.vue\")\n },\n {\n path: \"/\",\n component: () => import(\"@/view/pages/auth/Auth\"),\n children: [\n {\n name: \"login\",\n path: \"/login\",\n component: () => import(\"@/view/pages/auth/Login\")\n },\n {\n name: \"register\",\n path: \"/register\",\n component: () => import(\"@/view/pages/auth/Register\")\n },\n {\n name: \"reset_password\",\n path: \"/reset_password\",\n component: () => import(\"@/view/pages/auth/ForgotPassword\")\n },\n {\n name: \"registerdoc\",\n path: \"/doctor_register\",\n component: () => import(\"@/view/pages/auth/Registerdoc\")\n }\n // {\n // name: 'confirmemail',\n // path: '/confirmemail',\n // component: () => import('@/view/pages/auth/ConfirmEmail'),\n // },\n ]\n },\n {\n path: \"*\",\n redirect: \"/404\"\n },\n {\n // the 404 route, when none of the above matches\n path: \"/404\",\n name: \"404\",\n component: () => import(\"@/view/pages/error/Error-1.vue\")\n }\n ],\n mode: \"history\"\n});\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\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 = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"hidescroll\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$root.loader),expression:\"$root.loader\"}],staticStyle:{\"position\":\"absolute\",\"background-color\":\"white\",\"width\":\"100vw\",\"height\":\"100vh\",\"z-index\":\"10000000\",\"display\":\"flex\",\"justify-content\":\"center\",\"align-items\":\"center\",\"flex-direction\":\"column\"}},[_c('lottie-animation',{staticStyle:{\"height\":\"100px !important\"},attrs:{\"animationData\":require('@/assets/animation/lf30_editor_jzc8pwn6.json'),\"loop\":true,\"autoPlay\":true}}),_c('b-progress',{style:(_vm.$root.mobile ? 'width:50vw' : 'width:15vw'),attrs:{\"value\":_vm.progress,\"height\":\"7px\"}})],1)]),(_vm.isReady)?_c('div',{},[_c('router-view',{class:_vm.pointto == 'rtl' ? 'rtl' : '',attrs:{\"dir\":_vm.pointto,\"direction\":_vm.pointto}})],1):_vm._e(),(!_vm.$root.connectionstatus)?_c('div',{staticClass:\"customfullview\",staticStyle:{\"background-color\":\"rgba(255, 255, 255, 0.9)\",\"display\":\"flex\",\"justify-content\":\"center\",\"align-items\":\"center\",\"flex-direction\":\"column\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"align-items\":\"center\",\"flex-direction\":\"column\"}},[_c('lottie-animation',{staticStyle:{\"height\":\"150px\"},attrs:{\"animationData\":require('@/assets/animation/signal.json'),\"autoPlay\":true,\"loop\":true}}),_c('div',{staticStyle:{\"margin-top\":\"-30px\",\"font-size\":\"1.2rem\"}},[_vm._v(\" Couldn't Connect to the Internet \")])],1)]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n Couldn't Connect to the Internet\n \n \n \n \n\n\n\n\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=3575043e&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&lang=scss&\"\nimport style2 from \"./App.vue?vue&type=style&index=2&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// action types\nexport const ADD_BODY_CLASSNAME = \"addBodyClassName\";\nexport const REMOVE_BODY_CLASSNAME = \"removeBodyClassName\";\nexport const ADD_CLASSNAME = \"addClassName\";\n// mutation types\nexport const SET_CLASSNAME_BY_POSITION = \"setClassNameByPosition\";\n\nexport default {\n state: {\n classes: {}\n },\n getters: {\n getClasses: state => position => {\n if (typeof position !== \"undefined\") {\n return state.classes[position];\n }\n return state.classes;\n }\n },\n actions: {\n [ADD_BODY_CLASSNAME](context, className) {\n document.body.classList.add(className);\n },\n [REMOVE_BODY_CLASSNAME](context, className) {\n document.body.classList.remove(className);\n },\n [ADD_CLASSNAME](context, payload) {\n context.commit(SET_CLASSNAME_BY_POSITION, payload);\n }\n },\n mutations: {\n [SET_CLASSNAME_BY_POSITION](state, payload) {\n const { position, className } = payload;\n if (!state.classes[position]) {\n state.classes[position] = [];\n }\n state.classes[position].push(className);\n }\n }\n};\n","import objectPath from \"object-path\";\nimport merge from \"deepmerge\";\nimport config from \"@/core/config/layout.config.json\";\n\n// action types\nexport const SET_LAYOUT_CONFIG = \"setLayoutConfig\";\nexport const RESET_LAYOUT_CONFIG = \"resetLayoutConfig\";\nexport const OVERRIDE_LAYOUT_CONFIG = \"overrideLayoutConfig\";\nexport const OVERRIDE_PAGE_LAYOUT_CONFIG = \"overridePageLayoutConfig\";\n\n// mutation types\n\nexport default {\n state: {\n config: config,\n initial: config\n },\n getters: {\n /**\n * Get config from layout config\n * @param state\n * @returns {function(path, defaultValue): *}\n */\n layoutConfig: state => (path, defaultValue) => {\n return objectPath.get(state.config, path, defaultValue);\n }\n },\n actions: {\n /**\n * Set and replace the whole config\n * @param state\n * @param payload\n */\n [SET_LAYOUT_CONFIG](state, payload) {\n state.commit(SET_LAYOUT_CONFIG, payload);\n },\n\n /**\n * Reset the config at the initial state\n * @param state\n */\n [RESET_LAYOUT_CONFIG](state) {\n state.commit(RESET_LAYOUT_CONFIG);\n },\n\n /**\n * Reset the config using saved config in the cache by the layout builder\n * @param state\n */\n [OVERRIDE_LAYOUT_CONFIG](state) {\n state.commit(OVERRIDE_LAYOUT_CONFIG);\n },\n\n /**\n * Override config by page level\n * @param state\n * @param payload\n */\n [OVERRIDE_PAGE_LAYOUT_CONFIG](state, payload) {\n state.commit(OVERRIDE_PAGE_LAYOUT_CONFIG, payload);\n }\n },\n mutations: {\n [SET_LAYOUT_CONFIG](state, payload) {\n state.config = payload;\n },\n [RESET_LAYOUT_CONFIG](state) {\n state.config = Object.assign({}, state.initial);\n },\n [OVERRIDE_LAYOUT_CONFIG](state) {\n state.config = state.initial = Object.assign(\n {},\n state.initial,\n JSON.parse(localStorage.getItem(\"config\"))\n );\n },\n [OVERRIDE_PAGE_LAYOUT_CONFIG](state, payload) {\n state.config = merge(state.config, payload);\n }\n }\n};\n","// action types\nexport const APPEND_BREADCRUM = \"appendBreadcrumb\";\n\n// mutation types\nexport const SET_BREADCRUMB = \"setBreadcrumb\";\nexport const ADD_BREADCRUMB = \"addBreadcrumb\";\n\nexport default {\n state: {\n breadcrumbs: []\n },\n getters: {\n /**\n * Get list of breadcrumbs for current page\n * @param state\n * @returns {*}\n */\n breadcrumbs(state) {\n return state.breadcrumbs;\n },\n\n /**\n * Get the page title\n * @param state\n * @returns {*}\n */\n pageTitle(state) {\n let last = state.breadcrumbs[state.breadcrumbs.length - 1];\n if (last && last.title) {\n return last.title;\n }\n }\n },\n actions: {\n /**\n * Set the breadcrumbs list\n * @param state\n * @param payload\n */\n [SET_BREADCRUMB](state, payload) {\n state.commit(SET_BREADCRUMB, payload);\n },\n\n /**\n * Add breadcrumb\n * @param state\n * @param payload\n */\n [ADD_BREADCRUMB](state, payload) {\n if (typeof payload === \"object\") {\n payload.forEach(item => state.commit(APPEND_BREADCRUM, item));\n } else {\n state.commit(APPEND_BREADCRUM, payload);\n }\n }\n },\n mutations: {\n [APPEND_BREADCRUM](state, payload) {\n state.breadcrumbs = [...state.breadcrumbs, payload];\n },\n [SET_BREADCRUMB](state, payload) {\n state.breadcrumbs = payload;\n }\n }\n};\n","// import ApiService from \"@/core/services/api.service\";\n// import JwtService from \"@/core/services/jwt.service\";\n\nconst state = {};\n\nconst getters = {\n // MD HISTORY\n};\n\nconst actions = {\n // MD HISTORY\n};\nconst mutations = {\n // MD HISTORY\n};\n\nexport default {\n state,\n actions,\n mutations,\n getters\n};\n","import ApiService from \"@/core/services/api.service\";\n// import JwtService from \"@/core/services/jwt.service\";\n\nconst state = {\n questions: [],\n answeredQuestions: [],\n answeredQuestionsByMe: [],\n loadingStatus: true,\n isQuestionAnswered: false\n};\n\nconst getters = {\n getQuestions: state => state.questions,\n getAnsweredQuestions: state => state.answeredQuestions,\n getAnsweredQuestionsByMe: state => state.answeredQuestionsByMe,\n getLoadingStatus: state => state.loadingStatus,\n getIsQuestionAnswered: state => state.isQuestionAnswered\n};\n\nconst actions = {\n async fetchQuestions({ commit }, payload) {\n try {\n const { data } = await ApiService.get(\n \"items\",\n \"question?fields=id,status,created_on,title,question,owner.id,owner.first_name,owner.last_name,owner.avatar.data&filter[department]=\" +\n payload +\n \"&filter[status]=notanswered\"\n );\n commit(\"SET_QUESTIONS\", data.data);\n // this.questions = data.data;\n // this.loadingStatus = false;\n } catch (error) {\n // this.error = error;\n // console.log(error);\n }\n },\n async fetchAnsweredQuestions({ commit }, payload) {\n try {\n const { data } = await ApiService.get(\n \"items\",\n \"question?fields=id,created_on,status,title,question,owner.id,owner.first_name,owner.last_name,owner.avatar.data,answer,rating,doctor.doctor_id.first_name,doctor.doctor_id.last_name,doctor.doctor_id.avatar.data&filter[department]=\" +\n payload +\n \"&filter[status]=answered\"\n );\n commit(\"SET_ANSWERED_QUESTIONS\", data.data);\n } catch (error) {\n // console.log(error);\n }\n },\n async fetchAnsweredQuestionsByMe({ commit }, payload) {\n try {\n const { data } = await ApiService.get(\n \"items\",\n \"question?fields=id,created_on,status,title,question,owner.id,owner.first_name,owner.last_name,owner.avatar.data,answer,rating,doctor.doctor_id.first_name,doctor.doctor_id.last_name,doctor.doctor_id.avatar.data&filter[doctor]=\" +\n payload +\n \"&filter[status]=answered\"\n );\n commit(\"SET_ANSWERED_QUESTIONS_BY_ME\", data.data);\n } catch (error) {\n // console.log(error);\n }\n },\n updateIsQuestionAnswered({ commit }, payload) {\n commit(\"SET_IS_QUESTION_ANSWERED\", payload);\n }\n};\nconst mutations = {\n SET_QUESTIONS: (state, payload) => {\n state.questions = payload;\n state.loadingStatus = false;\n },\n SET_ANSWERED_QUESTIONS: (state, payload) => {\n state.answeredQuestions = payload;\n state.loadingStatus = false;\n },\n SET_ANSWERED_QUESTIONS_BY_ME: (state, payload) => {\n state.answeredQuestionsByMe = payload;\n state.loadingStatus = false;\n },\n SET_IS_QUESTION_ANSWERED: (state, payload) =>\n (state.isQuestionAnswered = payload)\n};\n\nexport default {\n state,\n actions,\n mutations,\n getters\n};\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\nimport auth from \"./auth.module\";\nimport htmlClass from \"./htmlclass.module\";\nimport config from \"./config.module\";\nimport breadcrumbs from \"./breadcrumbs.module\";\nimport mdfile from \"./modules/mdfile.module\";\nimport questions from \"./modules/questions.module\";\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n modules: {\n auth,\n htmlClass,\n config,\n breadcrumbs,\n mdfile,\n questions\n }\n});\n","import ApiService from \"@/core/services/api.service\";\n//import axios from \"axios\";\n\n/**\n * Service to call HTTP request via Axios\n */\nconst NotificationService = {\n init() {},\n async getDevicesByUser(id) {\n return ApiService.get(\n \"items\",\n `notification_center?fields=*,owner.*,owner.avatar.*&filter[owner]=${id}`\n );\n },\n async getDevicebyUUID(uuid, key) {\n return ApiService.get(\n \"items\",\n `notification_center?fields=id,owner,key&filter[status][neq]=deleted&filter[device_info][contains]=${uuid}&filter[key][logical]=or&filter[key][eq]=${key}`\n );\n },\n\n async syncToken(token, deviceInfo, currentuser) {\n this.getDevicebyUUID(deviceInfo.uuid, token).then(res => {\n // console.log(\"res from token search\", res)\n if (res.data.data.length != 0) {\n // console.log(\"found token\")\n if (\n res.data.data[0].owner !== currentuser.id ||\n token !== res.data.data[0].key\n ) {\n // console.log(\"updating token\")\n let sendSub = {\n key: token,\n device_info: deviceInfo,\n owner: currentuser.id\n };\n ApiService.update(\n \"items/notification_center\",\n res.data.data[0].id,\n sendSub\n );\n this.subscribetoAll(token);\n }\n } else {\n // console.log(\"inserting token\")\n let sendSub = {\n platform: deviceInfo.platform,\n key: token,\n device_info: deviceInfo,\n status: \"published\"\n };\n ApiService.post(\"items/notification_center\", sendSub);\n this.subscribetoAll(token);\n }\n });\n },\n async subscribetoAll(token) {\n ApiService.post(\"custom/notification/subscribe\", {\n token: token,\n topic: \"broadcast\"\n });\n ApiService.post(\"custom/notification/subscribe\", {\n token: token,\n topic: \"feed\"\n });\n },\n async broadcastNotify(payload) {\n return ApiService.post(\"custom/notification/broadcast2\", payload);\n },\n async feedNotify(payload) {\n return ApiService.post(\"custom/notification/feedupdate\", payload);\n },\n async notifyByWebPush(incomingtitle, msg, recipient) {\n var payload = { messege: { title: incomingtitle, body: msg } };\n return ApiService.post(\n \"custom/notification/notify2/\" + recipient.id,\n payload\n );\n },\n async notifyByMail(incomingtitle, msg, recipient) {\n if (recipient.email != \"\") {\n var payload = {\n to: recipient.email,\n subject: incomingtitle,\n body: msg,\n type: \"html\",\n use_default_email: \"true\"\n };\n\n return ApiService.postWithToken(\"mail\", payload);\n }\n },\n async sendOTP(incomingtitle, msg, recipient) {\n if (recipient.email != \"\") {\n var payload = {\n from: {\n email: \"noreply@doctory.care\",\n name: \"Doctory Care Team\"\n },\n to: [\n {\n email: recipient.email,\n name: msg.name\n }\n ],\n subject: incomingtitle,\n template_id: \"jpzkmgqq3mg059v7\",\n variables: [\n {\n email: recipient.email,\n substitutions: [\n {\n var: \"company\",\n value: \"Doctory Care\"\n },\n {\n var: \"account.name\",\n value: \"Doctory Care\"\n },\n {\n var: \"support_email\",\n value: \"support@doctorycare.com\"\n },\n {\n var: \"variable\",\n value: msg.code + \"\"\n }\n ]\n }\n ]\n };\n\n return ApiService.post(\"custom/notification/mail\", payload);\n }\n },\n async notifyBySMS(incomingtitle, msg, recipient) {\n var payload = { messege: incomingtitle + \"\" + msg };\n return ApiService.post(\"custom/notification/sms/\" + recipient.id, payload);\n }\n};\nexport default NotificationService;\n","/**\n * LocalStorage Services\n */\nconst LocalStorageService = {\n init() {},\n\n write(key, value, expiry = null) {\n window.localStorage.setItem(key, this.encrypt(key, value));\n if (expiry) {\n window.localStorage.setItem(key + \"_expiry\", expiry);\n }\n },\n read(key) {\n if (window.localStorage[key]) {\n if (window.localStorage[key + \"_expiry\"]) {\n // console.log(\"expired, removing from localstorage\")\n } else {\n return this.decrypt(key, window.localStorage[key]);\n }\n } else return null;\n },\n encrypt(salt, text) {\n const textToChars = text => text.split(\"\").map(c => c.charCodeAt(0));\n const byteHex = n => (\"0\" + Number(n).toString(16)).substr(-2);\n const applySaltToChar = code =>\n textToChars(salt).reduce((a, b) => a ^ b, code);\n\n return text\n .split(\"\")\n .map(textToChars)\n .map(applySaltToChar)\n .map(byteHex)\n .join(\"\");\n },\n\n decrypt(salt, encoded) {\n const textToChars = text => text.split(\"\").map(c => c.charCodeAt(0));\n const applySaltToChar = code =>\n textToChars(salt).reduce((a, b) => a ^ b, code);\n return encoded\n .match(/.{1,2}/g)\n .map(hex => parseInt(hex, 16))\n .map(applySaltToChar)\n .map(charCode => String.fromCharCode(charCode))\n .join(\"\");\n }\n};\n\nexport default LocalStorageService;\n","import ApiService from \"@/core/services/api.service\";\nimport ShortUniqueId from \"short-unique-id\";\nimport Vue from \"vue\";\nimport VueCryptojs from \"vue-cryptojs\";\nimport { DeepstreamClient } from \"@deepstream/client\";\nimport * as dayjs from \"dayjs\";\nimport DbService from \"./db.service\";\n\n/**\n * User Management Service\n * - get users\n * - add users\n * - edit users\n * - delete users\n * - store current user\n */\nconst UtilityService = {\n init(ds, us) {\n this.getSettings();\n this.data.ds = ds;\n this.data.user = us;\n Vue.use(VueCryptojs);\n\n var utc = require(\"dayjs/plugin/utc\");\n var timezone = require(\"dayjs/plugin/timezone\");\n var duration = require(\"dayjs/plugin/duration\");\n var advancedFormat = require(\"dayjs/plugin/advancedFormat\");\n var localeData = require(\"dayjs/plugin/localeData\");\n\n dayjs.extend(localeData);\n dayjs.extend(advancedFormat);\n dayjs.extend(duration);\n dayjs.extend(utc);\n dayjs.extend(timezone);\n },\n EventBus: new Vue(),\n day: dayjs,\n asseturl: process.env.VUE_APP_api_url + \"assets/\",\n data: {\n gun: null,\n langs: null,\n settings: null,\n deviceinfo: null,\n ds: null,\n emitter: null,\n user: null,\n fx: 1\n },\n setGun(g) {\n this.data.gun = g;\n },\n newDS() {\n this.data.ds = new DeepstreamClient(process.env.VUE_APP_ds);\n },\n getDS() {\n return this.data.ds;\n },\n truncate(str, n) {\n return str.length > n ? str.substr(0, n - 1) + \"...\" : str;\n },\n getUniq(array, field) {\n let toreturn = [];\n array.forEach(obj => {\n if (\n toreturn.findIndex(i => {\n return i[field] === obj[field];\n }) === -1\n )\n toreturn.push(obj);\n });\n return toreturn;\n },\n startUpDS(user) {\n // // console.log(\"starting up ds with user\",user)\n this.data.ds.login({ username: user.external_id }, async () => {\n // // console.log(\"logged into ds\")\n this.openUserSocket(user.external_id);\n });\n this.data.ds.presence.subscribe((user, login) => {\n this.EventBus.$emit(\"onlineStatusUpdate\", {\n external_id: user,\n status: login\n });\n });\n\n this.data.emitter = this.data.ds.event;\n },\n closeDS() {\n this.data.ds.close();\n },\n openUserSocket(name) {\n this.data.emitter.subscribe(name, value => {\n // console.log(`got ${value} from channel ${name}`)\n const decoded = JSON.parse(value);\n if (decoded.addChatRoom) {\n this.EventBus.$emit(\"addNewRemoteChat\", decoded.addChatRoom);\n }\n });\n\n this.data.emitter.subscribe(\"doctory_updates\", value => {\n if (!process.env.NODE_ENV === \"production\") {\n console.log(\"got updates from server and they are\", value);\n }\n if (value.type === \"appointment_update\") {\n let tempid = this.data.user.getCurrentUser().id;\n if (\n tempid === value.data.data.owner.id ||\n tempid === value.data.data.doctor.doctor_id.id\n ) {\n this.EventBus.$emit(\"updateAppointmentstatus\", value.data);\n this.EventBus.$emit(\"showalert\", {\n msg: \"You have an appointment in 5 mintues\"\n });\n }\n }\n });\n },\n getEmitter() {\n return this.data.emitter;\n },\n encrypt(payload, key) {\n return this.EventBus.CryptoJS.AES.encrypt(\n JSON.stringify(payload),\n key\n ).toString();\n },\n decrypt(payload, key) {\n /*// console.log(\"dycrpeted\", this.EventBus.CryptoJS.AES.decrypt(payload,key).toString(\n this.EventBus.CryptoJS.enc.Utf8\n ))*/\n return JSON.parse(\n this.EventBus.CryptoJS.AES.decrypt(payload, key).toString(\n this.EventBus.CryptoJS.enc.Utf8\n )\n );\n },\n generateUID() {\n return new ShortUniqueId().stamp(32);\n },\n setDeviceInfo(info) {\n this.data.deviceinfo = info;\n },\n getDeviceInfo() {\n return this.data.deviceinfo;\n },\n getSettings(force = false) {\n if (this.data.settings != null && !force) return this.data.settings;\n DbService.getlocaldb()\n .get(\"settings\")\n .then(data => {\n window.localStorage.setItem(\"SETTINGS\", JSON.stringify(data));\n this.data.settings = data;\n return this.data.settings;\n });\n },\n getTranslation(d, lang = localStorage.language) {\n if (d.translation && d.translation.length > 0) {\n for (var i = 0; i < d.translation.length; i++) {\n if (d.translation[i].lang == lang) {\n return d.translation[i];\n }\n }\n } else {\n return d;\n }\n },\n async getExchangeRate() {\n const res = await ApiService.convertCurrency(\n \"GBP\",\n JSON.parse(localStorage.geoData).currencyCode\n );\n\n const rate = parseFloat(\n res.data.rates[JSON.parse(localStorage.geoData).currencyCode].rate\n ).toFixed(2);\n this.data.fx = rate;\n return this.data.fx;\n },\n getLocalRate() {\n return this.data.fx;\n },\n getLocalCurrency() {\n return JSON.parse(localStorage.geoData).currencySymbolNative;\n },\n isPaymentEnabled() {\n return this.data.settings.payment;\n },\n getLanguages(force = false) {\n if (this.data.langs == null || force) {\n this.data.langs = [];\n DbService.getlocaldb()\n .get(\"languages\")\n .then(data => {\n this.data.langs = data;\n // console.log(\"langs pouch\",this.data.langs)\n return this.data.langs.data;\n });\n } else {\n // console.log(\"langs local\",this.data.langs)\n return this.data.langs.data;\n }\n },\n getLanguageByID(id) {\n return this.data.langs.data.find(l => {\n return l.id === id;\n });\n },\n setLanguages() {\n ApiService.get(\n \"items/languages?fields=id,name,code,flag.private_hash\"\n ).then(data => {\n let lang = {};\n lang = data.data.data.map(lang => {\n return {\n id: lang.id,\n name: lang.name,\n code: lang.code,\n icon: lang.flag.private_hash\n };\n });\n // console.log(\"flat langs\", lang);\n DbService.getlocaldb()\n .put({ _id: \"languages\", _rev: this.data.langs[\"_rev\"], data: lang })\n .then(data => {\n // console.log(\"did put languages in pouch\",data)\n this.data.langs[\"_rev\"] = data.rev;\n });\n });\n },\n getTimezone() {\n return JSON.parse(localStorage.geoData).timezone;\n },\n langFilter(lang, queryText) {\n return lang.name.toLowerCase().includes(queryText.toLowerCase());\n },\n zoneFilter(z, queryText) {\n return z.zone.toLowerCase().includes(queryText.toLowerCase());\n },\n departmentFilter(department, queryText) {\n return department.name.toLowerCase().includes(queryText.toLowerCase());\n },\n doctorFilter(doctor, queryText) {\n return `${doctor.doctor_id.first_name} ${doctor.doctor_id.last_name}`\n .toLowerCase()\n .includes(queryText.toLowerCase());\n },\n processTime(date) {\n return date.includes(\"T\") ? date : date + \"Z\";\n },\n\n merge(array1, array2) {\n console.log(\"array 1 (new data)\", array1.length, \"array2\", array2.length);\n if (array1 === undefined || array1.length == 0) {\n console.log(\"******merge to return 1\");\n return array2;\n } else if (array2 === undefined || array2.length == 0) {\n console.log(\"******merge to return 2\");\n return array1;\n }\n let ids = new Set(array2.map(d => d.id));\n console.log(\"ids\", ids);\n let merged = [...array2, ...array1.filter(d => !ids.has(d.id))];\n\n console.log(\"-------- \", merged);\n\n return merged;\n }\n};\nexport default UtilityService;\n","import ApiService from \"@/core/services/api.service\";\nimport { Base64 } from \"js-base64\";\nimport DbService from \"../db.service\";\n\n/**\n * Service to call HTTP request via Axios\n */\nconst HistoryService = {\n data: {\n historyTypes: null\n },\n init() {\n this.getPouch();\n },\n async getPouch() {\n let res = await DbService.getlocaldb().get(\"history_type\");\n this.data.historyTypes = res;\n },\n updatePouch() {\n DbService.getlocaldb()\n .put(this.data.historyTypes)\n .then(data => {\n this.data.historyTypes[\"_rev\"] = data.rev;\n });\n },\n setPouch() {\n // console.log(\"setting history pouch\")\n DbService.getlocaldb().put({\n _id: \"history_type\",\n data: Base64.encode(JSON.stringify(this.data.historyTypes))\n });\n },\n\n async create(payload) {\n let res = ApiService.post(\"items/history_type\", payload);\n return res;\n },\n async update(id, payload) {\n let res = ApiService.update(\"items/history_type\", id, payload);\n return res;\n },\n async deleteItem(id) {\n let res = ApiService.delete(`items/history_type/${id}`);\n return res;\n },\n async deleteTranslation(payload) {\n let ids = \"\";\n payload.forEach((item, index) => {\n ids += item.id;\n if (index != payload.length - 1) ids += \",\";\n });\n if (ids != \"\") {\n let res = ApiService.delete(`items/history_type_translation/${ids}`);\n // console.log(res);\n return res;\n }\n return false;\n },\n /**\n * Check if the history type is being used\n * @param id id of history type\n * @returns {boolean}\n */\n async isInUse(id) {\n let res = await ApiService.get(\n `items/md_history?fields=id&filter[history_type]=${id}&limit=1`\n );\n if (res.data.data.length == 0) return false;\n else return true;\n },\n /**\n * GET All history Types\n * @param force if true, force loading from server, if false, return local items if available, if not, load from server\n * @returns {historyTypes}\n */\n getlocalItems() {\n return JSON.parse(Base64.decode(this.data.historyTypes.data));\n },\n async getItem(force = false) {\n let fetchfromserver = this.data.historyTypes == null || force;\n // console.log(\"data\",this.data, \"is data null\", this.data.historyTypes == null, \"fetch from server\",fetchfromserver);\n if (fetchfromserver) {\n // console.log(\"loading from remote\")\n let result = await ApiService.get(\n \"items\",\n \"history_type?fields=*,translation.*,icon.*\"\n );\n this.data.historyTypes.data = Base64.encode(\n JSON.stringify(result.data.data)\n );\n this.updatePouch();\n return result.data.data;\n } else {\n // console.log(\"returning from local\", this.data.historyTypes)\n return JSON.parse(Base64.decode(this.data.historyTypes.data));\n }\n }\n};\nexport default HistoryService;\n","import ApiService from \"@/core/services/api.service\";\nimport { Base64 } from \"js-base64\";\nimport DbService from \"../db.service\";\n/**\n * Service to call HTTP request via Axios\n */\nconst VitalService = {\n data: {\n vitalTypes: null,\n gun: null\n },\n init() {\n this.getPouch();\n },\n async getPouch() {\n let res = await DbService.getlocaldb().get(\"vital_types\");\n this.data.vitalTypes = res;\n },\n updatePouch() {\n DbService.getlocaldb()\n .put(this.data.vitalTypes)\n .then(data => {\n this.data.vitalTypes[\"_rev\"] = data.rev;\n });\n },\n setPouch() {\n // console.log(\"setting vitals pouch\")\n DbService.getlocaldb().put({\n _id: \"vital_types\",\n data: Base64.encode(JSON.stringify(this.data.vitalTypes))\n });\n },\n setGun(g) {\n this.data.gun = g;\n this.data.gun.get(\"mf_defaults/vital_types\").once(e => {\n if (e) this.data.vitalTypes = JSON.parse(Base64.decode(e.data));\n });\n },\n updategun() {\n this.data.gun.get(\"mf_defaults/vital_types\").once(e => {\n let d = Base64.encode(JSON.stringify(this.data.vitalTypes));\n if (!e || d != e.data) {\n this.data.gun.get(\"mf_defaults/vital_types\").put({ data: d });\n }\n });\n },\n\n async create(payload) {\n let res = ApiService.post(\"items/vital_types\", payload);\n return res;\n },\n async update(id, payload) {\n let res = ApiService.update(\"items/vital_types\", id, payload);\n return res;\n },\n async deleteItem(id) {\n let res = ApiService.delete(`items/vital_types/${id}`);\n return res;\n },\n async deleteTranslation(payload) {\n let ids = \"\";\n payload.forEach((item, index) => {\n ids += item.id;\n if (index != payload.length - 1) ids += \",\";\n });\n if (ids != \"\") {\n let res = ApiService.delete(`items/vital_type_translation/${ids}`);\n // console.log(res);\n return res;\n }\n return false;\n },\n /**\n * Check if the vital type is being used\n * @param id id of vital type\n * @returns {boolean}\n */\n async isInUse(id) {\n let res = await ApiService.get(\n `items/md_vitals?fields=id&filter[vital_type]=${id}&limit=1`\n );\n if (res.data.data.length == 0) return false;\n else return true;\n },\n /**\n * GET All Vital Types\n * @param force if true, force loading from server, if false, return local items if available, if not, load from server\n * @returns {vitalTypes}\n */\n async getItem(force = false) {\n let fetchfromserver = this.data.vitalTypes == null || force;\n // console.log(\"data\",this.data, \"is data null\", this.data.vitalTypes == null, \"fetch from server\",fetchfromserver);\n if (fetchfromserver) {\n // console.log(\"loading from remote\")\n let result = await ApiService.get(\n \"items\",\n \"vital_types?fields=*,translation.*,icon.*\"\n );\n this.data.vitalTypes.data = Base64.encode(\n JSON.stringify(result.data.data)\n );\n this.updatePouch();\n return result.data.data;\n } else {\n // console.log(\"returning from local\", this.data.vitalTypes)\n return JSON.parse(Base64.decode(this.data.vitalTypes.data));\n }\n }\n};\nexport default VitalService;\n","import ApiService from \"@/core/services/api.service\";\nimport { Base64 } from \"js-base64\";\nimport DbService from \"./db.service\";\n//import ls from \"@/core/services/localstorage.service\";\n/**\n * Service to call HTTP request via Axios\n */\nconst PaymentService = {\n data: {\n paymentMethods: null\n },\n init() {\n this.getPouch();\n },\n async getPouch() {\n let res = await DbService.getlocaldb().get(\"payment_methods\");\n this.data.paymentMethods = res;\n },\n updatePouch() {\n DbService.getlocaldb()\n .put(this.data.paymentMethods)\n .then(data => {\n this.data.paymentMethods[\"_rev\"] = data.rev;\n });\n },\n setPouch() {\n // console.log(\"setting payment methods pouch\")\n DbService.getlocaldb().put({\n _id: \"payment_methods\",\n data: Base64.encode(JSON.stringify(this.data.paymentMethods))\n });\n },\n\n async createItemType(payload) {\n let res = ApiService.post(\"items/payment_methods\", payload);\n return res;\n },\n async updateItemType(id, payload) {\n let res = ApiService.update(\"items/payment_methods\", id, payload);\n return res;\n },\n async deleteItemType(id) {\n let res = ApiService.delete(`items/payment_methods/${id}`);\n return res;\n },\n async deleteTypeTranslation(payload) {\n let ids = \"\";\n payload.forEach((item, index) => {\n ids += item.id;\n if (index != payload.length - 1) ids += \",\";\n });\n if (ids != \"\") {\n let res = ApiService.delete(`items/payment_method_translation/${ids}`);\n // console.log(res);\n return res;\n }\n return false;\n },\n /**\n * Check if the payment type is being used\n * @param id id of payment type\n * @returns {boolean}\n */\n async isTypeInUse(id) {\n let res = await ApiService.get(\n `items/payment?fields=id&filter[method]=${id}&limit=1`\n );\n if (res.data.data.length == 0) return false;\n else return true;\n },\n /**\n * GET All payment Types\n * @param force if true, force loading from server, if false, return local items if available, if not, load from server\n * @returns {paymentTypes}\n */\n async getPaymentType(force = false) {\n let fetchfromserver = this.data.paymentMethods == null || force;\n // console.log(\"data\", this.data, \"is data null\", this.data.paymentMethods == null, \"fetch from server\", fetchfromserver);\n if (fetchfromserver) {\n // console.log(\"loading from remote\")\n let result = await ApiService.get(\n \"items\",\n \"payment_methods?fields=*,translation.*\"\n );\n this.data.paymentMethods.data = Base64.encode(\n JSON.stringify(result.data.data)\n );\n this.updatePouch();\n return result.data.data;\n } else {\n // console.log(\"returning from local\", this.data.paymentMethods)\n return JSON.parse(Base64.decode(this.data.paymentMethods.data));\n }\n },\n async getPateintPayments(id) {\n return ApiService.get(`custom/payment/getPatientPayment/${id}`);\n },\n async confirmPayment(id) {\n const payload = { status: \"confirmed\" };\n return ApiService.update(\"items/payment\", id, payload);\n },\n async getAll() {\n return ApiService.get(\n \"items\",\n \"payment?fields=*,owner.id,owner.first_name,owner.last_name,owner.avatar.private_hash,method.id&sort=-created_on\"\n );\n }\n};\nexport default PaymentService;\n","import ApiService from \"@/core/services/api.service\";\nimport UtilityService from \"@/core/services/utility.service\";\nimport { Base64 } from \"js-base64\";\nimport DbService from \"./db.service\";\n\n/**\n * Service to call HTTP request via Axios\n */\nconst DoctorService = {\n init() {\n this.getPouch();\n },\n data: {\n currentDoctor: null,\n allDoctors: null,\n errnings: null\n },\n async getPouch() {\n let res = await DbService.getlocaldb().get(\"doctors\");\n this.data.allDoctors = res;\n },\n updatePouch() {\n DbService.getlocaldb()\n .put(this.data.allDoctors)\n .then(data => {\n this.data.allDoctors[\"_rev\"] = data.rev;\n });\n },\n updatedPouchwithArray(items) {\n this.data.allDoctors.data = Base64.encode(JSON.stringify(items));\n this.updatePouch();\n },\n setPouch() {\n // console.log(\"setting history pouch\")\n DbService.getlocaldb().put({\n _id: \"doctors\",\n data: Base64.encode(JSON.stringify(this.data.allDoctors))\n });\n },\n clearData() {\n this.data.currentDoctor = null;\n this.data.errnings = null;\n },\n async updateLocalPrice(docs, force = false) {\n if (force) await UtilityService.getExchangeRate();\n docs.forEach(doctor => {\n doctor.local_video = (\n doctor.video * UtilityService.getLocalRate()\n ).toFixed(2);\n doctor.local_clinic = (\n doctor.clinic * UtilityService.getLocalRate()\n ).toFixed(2);\n parseInt(doctor.video) === 0 && parseInt(doctor.clinic) === 0\n ? (doctor.isFree = true)\n : (doctor.isFree = false);\n });\n },\n getLocalDocs() {\n return JSON.parse(Base64.decode(this.data.allDoctors.data));\n },\n async getAllDoctors(force = false) {\n if (force) {\n let docs = JSON.parse(Base64.decode(this.data.allDoctors.data));\n console.log(\"new get all docs\", docs);\n await this.updateLocalPrice(docs, true);\n return docs;\n } else return JSON.parse(Base64.decode(this.data.allDoctors.data));\n },\n async getAllDoctorsBackend(force = false) {\n let fetchfromserver = this.data.allDoctors == null || force;\n //// console.log(\"data\",this.data, \"is data null\", this.data.departments == null, \"fetch from server\",fetchfromserver);\n if (fetchfromserver) {\n let result = await ApiService.get(\n \"items\",\n \"doctor?fields=*,doctor_id.id,doctor_id.external_id,doctor_id.first_name,doctor_id.last_name,\" +\n \"doctor_id.status,doctor_id.avatar.private_hash,languages_spoken.languages_id.*.*,availability.*,days_off.*\"\n );\n console.log(\"results\", result);\n let res = [];\n if (result.data) {\n res = result.data.data.filter(doc => {\n return doc.doctor_id != null && doc.doctor_id.status !== \"suspended\";\n });\n }\n this.data.allDoctors.data = Base64.encode(JSON.stringify(res));\n this.updatePouch();\n this.updateLocalPrice(res);\n console.log(\"doctors list after filtering\", res);\n return res;\n } else {\n return this.data.allDoctors;\n }\n },\n getDoctorsByDepartment(id) {\n return this.data.allDoctors.filter(doc => {\n return doc.department.id == id;\n });\n },\n /**\n * GET Doctory By ID\n * @param force if true, force loading from server, if false, return local items if available, if not, load from server\n * @returns {doctor}\n */\n async getItemByID(id, force = false) {\n let fetchfromserver = this.data.currentDoctor == null || force;\n if (fetchfromserver) {\n let result = await ApiService.get(\n \"items\",\n `doctor?fields=*,doctor_id.id,doctor_id.external_id,doctor_id.first_name,doctor_id.last_name,doctor_id.status,doctor_id.avatar.private_hash,languages_spoken.languages_id.*.*,availability.*,days_off.*&filter[doctor_id]=${id}`\n );\n this.data.currentDoctor = result.data.data[0];\n return this.data.currentDoctor;\n } else {\n return this.data.currentDoctor;\n }\n },\n updateCurrentDoctor(d) {\n this.data.currentDoctor = d;\n },\n getCurrentDoctor() {\n return this.data.currentDoctor;\n },\n async getProfileInfo(doc) {\n let rating = await ApiService.get(\n \"items\",\n `feedback?fields=rating,comment,id&filter[doctor]=${doc.id}&filter[status]=published`\n );\n let answers = await ApiService.get(\n \"items\",\n `question?fields=id&filter[doctor]=${doc.id}`\n );\n let appointments = await ApiService.get(\n \"items\",\n `appointments?fields=id&filter[doctor]=${doc.id}`\n );\n let posts = await ApiService.get(\n \"items\",\n `feed?fields=id&filter[owner]=${doc.doctor_id.id}`\n );\n return {\n rating: rating.data.data,\n answers: answers.data.data,\n apps: appointments.data.data,\n posts: posts.data.data\n };\n },\n async getErrningsByID(id, force = false) {\n let fetchfromserver = this.data.errnings == null || force;\n if (fetchfromserver) {\n let result = await ApiService.get(\n \"items\",\n `appointments?fields=*.id,owner.first_name,owner.last_name,owner.avatar.*,payment.*,payment.method.*&filter[doctor]=${id}&filter[status][neq]=deleted&sort=-created_on`\n );\n this.data.errnings = result.data.data;\n return this.data.errnings;\n } else {\n return this.data.errnings;\n }\n },\n getDoctorCallDuration(doctor = null) {\n let tocheck = doctor == null ? this.data.currentDoctor : doctor;\n if (tocheck.call_duration) return tocheck.call_duration;\n else return UtilityService.getSettings().call_duration;\n },\n updateDoctorCache(id, stat = \"active\") {\n UtilityService.getDS().rpc.make(\"updateDoctorsList\", {\n id: id,\n status: stat\n });\n },\n async createDoctor(payload) {\n return ApiService.post(\"custom/register/register_doctor\", payload);\n },\n async updateDoctor(id, payload) {\n return ApiService.update(\"items/doctor\", id, payload);\n },\n async addScheduleShift(payload) {\n return ApiService.post(\"items/doctor_availability\", payload);\n },\n async deleteScheduleShift(id) {\n return ApiService.delete(`items/doctor_availability/${id}`);\n },\n async addDayOff(payload) {\n return ApiService.post(\"items/doctor_exception\", payload);\n },\n async deleteDayOff(id) {\n return ApiService.delete(`items/doctor_exception/${id}`);\n },\n async updateSpokenLanguages(id, langs) {\n let result = await ApiService.get(\n \"items\",\n `doctor_languages?fields=*&filter[doctor_id]=${id}`\n );\n let ids = result.data.data.map(i => {\n return i.id;\n });\n if (ids.length > 0)\n await ApiService.delete(`items/doctor_languages/${ids.join()}`);\n\n const payload = langs.map(i => {\n return { doctor_id: id, languages_id: i };\n });\n\n return ApiService.post(\"items/doctor_languages\", payload);\n }\n};\nexport default DoctorService;\n","import PouchDB from \"pouchdb\";\nimport UtilityService from \"./utility.service\";\nimport DepartmentService from \"./department.service\";\nimport HistoryService from \"./mf/history.service\";\nimport VitalService from \"./mf/vital.service\";\nimport PaymentService from \"./payment.service\";\nimport DoctorService from \"./doctor.service\";\n\n/**\n * User Management Service\n * - get users\n * - add users\n * - edit users\n * - delete users\n * - store current user\n */\nconst DbService = {\n init() {\n let url = `https://${process.env.VUE_APP_COUCH_CRD}@couch.s2.rocksoft.io/doctory`;\n let opts = { live: true, retry: true };\n this.data.local = new PouchDB(\"doctory\");\n // do one way, one-off sync from the server until completion\n this.data.local.replicate.from(url).on(\"complete\", () => {\n UtilityService.EventBus.$emit(\"couchready\");\n // console.log(\"replicated remote and now starting to sync\")\n this.data.local.sync(url, opts).on(\"change\", data => {\n // console.log(\"sync change event\", data)\n\n let settings = data.change.docs.find(doc => {\n return doc[\"_id\"] === \"settings\";\n });\n\n if (settings) {\n UtilityService.getSettings(true);\n }\n let depart = data.change.docs.find(doc => {\n return doc[\"_id\"] === \"departments\";\n });\n if (depart) {\n DepartmentService.getPouch();\n }\n let docs = data.change.docs.find(doc => {\n return doc[\"_id\"] === \"doctors\";\n });\n if (docs) {\n DoctorService.getPouch();\n }\n let vitals = data.change.docs.find(doc => {\n return doc[\"_id\"] === \"vital_types\";\n });\n if (vitals) {\n VitalService.getPouch();\n }\n let history = data.change.docs.find(doc => {\n return doc[\"_id\"] === \"history_type\";\n });\n if (history) {\n HistoryService.getPouch();\n }\n let payment = data.change.docs.find(doc => {\n return doc[\"_id\"] === \"payment_methods\";\n });\n if (payment) {\n PaymentService.getPouch();\n }\n let langs = data.change.docs.find(doc => {\n return doc[\"_id\"] === \"languages\";\n });\n if (langs) {\n UtilityService.getLanguages(true);\n }\n });\n });\n\n /*this.data.local.info().then((info) => {\n // console.log(\"local db info\", info);\n })*/\n },\n\n data: {\n local: null,\n remote: null\n },\n\n getlocaldb() {\n return this.data.local;\n },\n getremotedb() {\n return this.data.remote;\n }\n};\nexport default DbService;\n","import ApiService from \"@/core/services/api.service\";\nimport DbService from \"@/core/services/db.service\";\n/**\n * Service to call HTTP request via Axios\n */\nconst DepartmentService = {\n data: {\n departments: null,\n gun: null\n },\n init() {\n this.getDepartments();\n },\n getPouch() {\n DbService.getlocaldb()\n .get(\"departments\")\n .then(data => {\n this.data.departments = data;\n return data.data;\n });\n },\n updatePouch(d) {\n let payload = {};\n payload[\"_id\"] = \"departments\";\n payload[\"_rev\"] = this.data.departments[\"_rev\"];\n payload[\"data\"] = d;\n // console.log(\"adding this to pouch\",payload)\n DbService.getlocaldb()\n .put(payload)\n .then(data => {\n // console.log(\"added departmetns to pouch\",data)\n this.data.departments[\"_rev\"] = data.rev;\n });\n },\n\n async create(payload) {\n let res = ApiService.post(\"items/department\", payload);\n return res;\n },\n async update(id, payload) {\n let res = ApiService.update(\"items/department\", id, payload);\n return res;\n },\n async deleteItem(id) {\n let res = ApiService.delete(`items/department/${id}`);\n return res;\n },\n async deleteTranslation(payload) {\n let ids = \"\";\n payload.forEach((item, index) => {\n ids += item.id;\n if (index != payload.length - 1) ids += \",\";\n });\n if (ids != \"\") {\n let res = ApiService.delete(`items/department_details/${ids}`);\n // console.log(res);\n return res;\n }\n return false;\n },\n /**\n * GET All departments\n * @param force if true, force loading from server, if false, return local departments if available, if not, load from server\n * @returns {departments}\n */\n async getDepartments(force = false) {\n let fetchfromserver = this.data.departments == null || force;\n //// console.log(\"data\",this.data, \"is data null\", this.data.departments == null, \"fetch from server\",fetchfromserver);\n if (fetchfromserver) {\n // console.log(\"loading from remote\")\n let result = await ApiService.get(\n \"items\",\n \"department?fields=id,name,avatar.filename_download,avatar.private_hash,avatar.data,translation.*,doctors.doctor_id.status,doctors.doctor_id.external_id\"\n );\n if (result.data) {\n result.data.data.forEach(depart => {\n depart.doctors = depart.doctors.filter(doc => {\n return doc.doctor_id.status !== \"suspended\";\n });\n });\n }\n this.data.departments.data = result.data.data;\n\n this.updatePouch(result.data.data);\n return this.data.departments.data;\n } else {\n // console.log(\"returning from local\", this.data.departments)\n return this.data.departments.data;\n }\n }\n};\nexport default DepartmentService;\n","import ApiService from \"@/core/services/api.service\";\n\n/**\n * User Management Service\n * - get users\n * - add users\n * - edit users\n * - delete users\n * - store current user\n */\nconst UserService = {\n init() {},\n data: {\n current_user: null,\n users: null,\n page: 0,\n roles: null,\n gun: null\n },\n\n setCurrentUser(user) {\n this.data.current_user = user;\n },\n async fetchCurrentUser() {\n // // console.log(\"getting current user\");\n ApiService.setHeader();\n return await ApiService.get(\"users/me?fields=*,avatar.private_hash\")\n .then(data => {\n // // console.log(\"get remote current user\", data);\n this.setCurrentUser(data.data.data);\n })\n .catch(error => {\n if (error.response.status == 401) {\n // console.log(\"auth error\", error.response);\n this.onLogout();\n throw new Error(\"logging out error\");\n }\n });\n },\n getCurrentUser() {\n return this.data.current_user;\n },\n clearData() {\n this.data.current_user = null;\n this.data.users = null;\n this.data.page = 0;\n this.data.roles = null;\n },\n\n onLogout() {\n // console.log(\"logging out\");\n\n this.clearData();\n },\n\n async logAccess(device) {\n // console.log(\"device to log is\",device)\n const payload = {\n device_info: device\n };\n return ApiService.post(\"items/accesslogger\", payload);\n },\n\n async getLastAccess(id) {\n let result = await ApiService.get(\n `/items/accesslogger?fields=*.*&filter[owner]=${id}&sort=-created_on&limit=1`\n );\n if (result.data.data) {\n // // console.log(\"last accessed on,\", result.data.data[0])\n return result.data.data[0];\n } else return null;\n },\n\n /**\n * GET All Roles\n * @param force if true, force loading from server, if false, return local departments if available, if not, load from server\n * @returns {roles}\n */\n async getRoles(force = false) {\n let fetchfromserver = this.data.roles == null || force;\n if (fetchfromserver) {\n // console.log(\"loading from remote\");\n let result = await ApiService.get(\"/roles?fields=*.*&filter[id][neq]=2\");\n this.data.roles = result.data.data;\n return this.data.roles;\n } else {\n // console.log(\"returning from local\", this.data.roles);\n return this.data.roles;\n }\n },\n\n async getUsersByRole(role, force = false) {\n let fetchfromserver = this.data.users == null || force;\n if (fetchfromserver) {\n // console.log(\"loading from remote\");\n const { data } = await ApiService.get(\n \"/roles/\" +\n role +\n \"?fields=*.*,users.*,users.avatar.*,users.external_id\"\n );\n this.data.users = data.data;\n return this.data.users;\n } else {\n // console.log(\"returning from local\", this.data.users);\n return this.data.users;\n }\n },\n\n async getElegiableChatUsers() {\n let doctors = await ApiService.get(\n \"/items/doctor?fields=department.*.*,doctor_id.*,doctor_id.avatar.private_hash\"\n );\n let users = doctors.data.data.map(d => {\n d.doctor_id.department = d.department;\n return d.doctor_id;\n });\n const { data } = await ApiService.get(\n \"/users?fields=*,role.*,avatar.id,avatar.private_hash&filter[role][in]=1,5,6\"\n );\n\n return users.concat(data.data).sort((a, b) => {\n if (a.first_name > b.first_name) return 1;\n else if (a.first_name < b.first_name) return -1;\n else return 0;\n });\n },\n\n /**\n *\n * @param {*} id\n * @param {*} key\n * @param {*} value\n * @param {*} resource\n * @returns\n */\n async updateUserInfo(id, key, value, resource) {\n var payload = {};\n payload[key] = value;\n return ApiService.update(resource, id, payload);\n },\n async updateUser(id, payload) {\n return ApiService.update(\"users\", id, payload);\n },\n async createUser(payload) {\n return ApiService.post(\"custom/register/register_user\", payload);\n },\n async checkEmail(email) {\n return ApiService.get(\"users?fields=id&filter[email]=\" + email, \"\", true);\n },\n async createUser2(payload) {\n return ApiService.post(\"users\", payload);\n },\n async forgotPasswordSendOTP(payload) {\n return ApiService.post(\"custom/notification/mailOTP\", payload);\n },\n async verifyOTP(payload) {\n return ApiService.post(\"custom/notification/verifyOTP\", payload);\n },\n async resetpass(payload) {\n return ApiService.post(\"custom/register/resetpass\", payload);\n }\n};\nexport default UserService;\n","import ApiService from \"@/core/services/api.service\";\n/**\n * Service to call HTTP request via Axios\n */\nconst FileService = {\n data: {\n currentFile: null,\n gun: null\n },\n init() {},\n setGun(g) {\n this.data.gun = g;\n },\n\n async update(id, payload) {\n let res = ApiService.update(\"items/history_type\", id, payload);\n return res;\n },\n /**\n * GET Medical File\n * @param force if true, force loading from server, if false, return local items if available, if not, load from server\n * @returns {medical_file}\n */\n async getItemByID(id, force = false) {\n let fetchfromserver = this.data.currentFile == null || force;\n if (fetchfromserver) {\n let result = await ApiService.get(\n \"items\",\n `medical_file?fields=*.id&filter[owner]=${id}`\n );\n this.data.currentFile = result.data.data[0];\n return this.data.currentFile;\n } else {\n return this.data.currentFile;\n }\n },\n getCurrentFile() {\n return this.data.currentFile;\n },\n async createPatient(payload) {\n return ApiService.post(\"custom/register/register_patient\", payload);\n },\n async updatePatient(id, payload) {\n return ApiService.update(\"items/medical_file\", id, payload);\n },\n async createItem(user) {\n return ApiService.post(\"items/medical_file\", {\n full_name: `${user.first_name} ${user.last_name}`\n });\n }\n};\nexport default FileService;\n","import ApiService from \"@/core/services/api.service\";\n/**\n * Service to call HTTP request via Axios\n */\nconst PrescriptionService = {\n data: {\n gun: null\n },\n\n setGun(g) {\n this.data.gun = g;\n },\n\n async createMedicine(payload) {\n return ApiService.post(\"items/medicine\", payload);\n },\n\n async getUserPrescriptions(id) {\n let res = await ApiService.get(\n `items/md_prescription?fields=owner.*,owner.avatar.*,*,medication.*,medication.medicine.*,medication.time.prescription_intake_time_id.*&filter[medical_file]=${id}&sort=-created_on`\n );\n let toreturn = res.data.data.map(p => {\n if (p.owner == null) {\n p.owner = { first_name: \"Doctory\", last_name: \"Doctor\" };\n }\n p.medication = p.medication.map(m => {\n m.time = m.time.map(t => {\n return t.prescription_intake_time_id.time;\n });\n return m;\n });\n\n return p;\n });\n return toreturn;\n }\n};\nexport default PrescriptionService;\n","import ApiService from \"@/core/services/api.service\";\nimport UtilityService from \"@/core/services/utility.service\";\n\n/**\n * User Management Service\n * - get users\n * - add users\n * - edit users\n * - delete users\n * - store current user\n */\nconst AppointmentService = {\n init() {},\n data: {\n page: 1,\n total: 0,\n limit: 50,\n fields: [\n \"id\",\n \"status\",\n \"doctor.department.id\",\n \"doctor.department.name\",\n \"doctor.department.avatar.private_hash\",\n \"created_on\",\n \"modified_on\",\n \"doctor.id\",\n \"doctor.doctor_id.first_name\",\n \"doctor.doctor_id.last_name\",\n \"doctor.doctor_id.avatar.private_hash\",\n \"doctor.doctor_id.id\",\n \"video_room_id\",\n \"rating\",\n \"type\",\n \"date_time\",\n \"medical_file\",\n \"rating\",\n \"medical_file.owner.id\",\n \"medical_file.owner.first_name\",\n \"medical_file.owner.last_name\",\n \"medical_file.owner.avatar.private_hash\",\n \"medical_file.id\",\n \"medical_file.birthday\",\n \"medical_file.gender\"\n ],\n options: {\n limit: 50,\n meta: true,\n page: 1,\n sort: \"-created_on\",\n filter: {}\n }\n },\n\n getOptions() {\n return this.data.options;\n },\n setOptions(o) {\n this.data.options = o;\n },\n resetOptions() {\n this.data.options = {\n limit: 50,\n meta: true,\n page: 1,\n sort: \"-created_on\",\n filter: {}\n };\n return this.data.options;\n },\n getPage() {\n return this.data.page;\n },\n setPage(p) {\n this.data.page = p;\n },\n getLimit() {\n return this.data.limit;\n },\n getTotal() {\n return this.data.total;\n },\n\n async createItem(payload) {\n return ApiService.post(\"items/appointments\", payload);\n },\n\n async getItems(options = []) {\n let filters = ApiService.processOptions(options);\n // console.log(\"query sent to server is\", `question?fields=${this.data.fields.join()}` + filters)\n let result = await ApiService.get(\n \"items\",\n `appointments?fields=${this.data.fields.join()}` + filters\n );\n this.data.total = result.data.meta.total_count;\n return result;\n },\n /**\n *\n * @param {*} id\n * @param {*} key\n * @param {*} value\n * @param {*} resource\n * @returns\n */\n async getItemByPaymentID(id) {\n return ApiService.get(\n \"items\",\n `appointments?fields=*,doctor.doctor_id.first_name,doctor.doctor_id.last_name,doctor.doctor_id.avatar.private_hash&filter[payment]=${id}`\n );\n },\n\n async getDoctorsAppointmentByDate(id, date) {\n return ApiService.get(\n \"items\",\n `appointments?fields=id,date_time&filter[doctor]=${id}&filter[date_time][contains]=${date}`\n );\n },\n\n async getDoctorAvailability(doctor, date) {\n // console.log(\"doctor\", doctor, \"date\", date)\n let duration = 0;\n doctor.call_duration\n ? (duration = doctor.call_duration)\n : (duration = UtilityService.getSettings().call_duration);\n\n let dayofweek = UtilityService.day(`${date}`).format(\"ddd\");\n let availObj = doctor.availability.find(a => {\n return a.days.includes(dayofweek.toLowerCase());\n });\n // console.log(\"availablity\",doctor.availability);\n // console.log(\"availObj\", availObj)\n if (availObj === undefined) return [];\n\n let starttime = UtilityService.day(`${date}T${availObj.from}Z`);\n let endtime = UtilityService.day(`${date}T${availObj.to}Z`).subtract(\n duration,\n \"m\"\n );\n\n if (UtilityService.day().isAfter(endtime)) return [];\n let res = await this.getDoctorsAppointmentByDate(doctor.id, date);\n let times = [];\n\n while (starttime.isBefore(endtime) || starttime.isSame(endtime)) {\n if (\n starttime.isAfter(UtilityService.day()) &&\n res.data.data.find(a => {\n return UtilityService.day.utc(a.date_time).isSame(starttime);\n }) == undefined\n )\n times.push(starttime);\n starttime = UtilityService.day.utc(starttime).add(duration, \"m\");\n }\n\n return times;\n },\n groupTimes(times) {\n // console.log(\"times to group\",times)\n\n let toReturn = [];\n if (times.length > 0) {\n let hour = times[0];\n let group = [];\n times.forEach(t => {\n // console.log(\"time\", t, t.tz(UtilityService.getTimezone()).format('hh A').toString(), hour.tz(UtilityService.getTimezone()).format('hh A').toString())\n if (\n hour\n .tz(UtilityService.getTimezone())\n .format(\"hh A\")\n .toString() ==\n t\n .tz(UtilityService.getTimezone())\n .format(\"hh A\")\n .toString()\n ) {\n group.push(t.tz(UtilityService.getTimezone()));\n } else {\n toReturn.push({\n hour: hour\n .tz(UtilityService.getTimezone())\n .format(\"hh A\")\n .toString(),\n times: group\n });\n group = [];\n hour = t;\n group.push(t.tz(UtilityService.getTimezone()));\n }\n });\n toReturn.push({\n hour: hour\n .tz(UtilityService.getTimezone())\n .format(\"hh A\")\n .toString(),\n times: group\n });\n // console.log(\"grouped times\", toReturn)\n }\n return toReturn;\n },\n getlog(id) {\n return UtilityService.getDS().record.getRecord(`appointment_log/${id}`);\n },\n async deletelog(id) {\n await UtilityService.getDS()\n .record.getRecord(`appointment_log/${id}`)\n .whenReady(record => {\n record.delete();\n });\n },\n async logApp(id, action, user) {\n let record = UtilityService.getDS()\n .record.getRecord(`appointment_log/${id}`)\n .get();\n console.log(id, record, action, user);\n\n let isEmpty = true;\n for (let keys in record) {\n console.log(\"keys\", keys);\n isEmpty = false;\n break; // exiting since we found that the object is not empty\n }\n if (isEmpty) {\n console.log(\"record is empty\", record);\n record = [\n {\n time: Date.now(),\n log: `${user.role.id === 4 ? \"patient\" : \"doctor\"} ${\n user.first_name\n } ${user.last_name} - ${action}`\n }\n ];\n } else {\n console.log(\"record is not empty empty\", record);\n record.push({\n time: Date.now(),\n log: `${user.role.id === 4 ? \"patient\" : \"doctor\"} ${user.first_name} ${\n user.last_name\n } - ${action}`\n });\n }\n\n console.log(record);\n UtilityService.getDS()\n .record.getRecord(`appointment_log/${id}`)\n .set(record);\n },\n\n async getAllAppointments(page = this.data.page) {\n let result = await ApiService.get(\n \"items\",\n \"appointments?fields=id,created_on,status,video_room_id,rating,type,date,time,date_time,medical_file,\" +\n \"doctor.doctor_id.first_name,doctor.doctor_id.last_name,doctor.doctor_id.avatar.data,doctor.doctor_id.id,\" +\n \"rating,medical_file.owner.id,medical_file.owner.first_name,medical_file.owner.last_name,medical_file.owner.avatar.data,medical_file.id,medical_file.birthday,medical_file.gender\" +\n `&limit=${this.data.limit}&page=${page}&sort=-date_time&meta=*&filter[medical_file][neq]=null`\n );\n this.data.total = result.data.meta.total_count;\n return result;\n },\n async deleteItem(id) {\n return ApiService.delete(`items/appointments/${id}`);\n },\n async getSummery(id) {\n let idres = await ApiService.get(\n \"items\",\n \"md_doctor_actions?fields=id&filter[appointment]=\" + id\n );\n console.log(\"idres\", idres);\n if (idres.data.data.length > 0) {\n return ApiService.get(\n \"custom\",\n \"mf/getActionSummery/\" + idres.data.data[0].id\n );\n } else return null;\n }\n};\nexport default AppointmentService;\n","import ApiService from \"@/core/services/api.service\";\nimport UtilityService from \"@/core/services/utility.service\";\nimport UserService from \"./user.service\";\n/**\n * User Management Service\n * - get users\n * - add users\n * - edit users\n * - delete users\n * - store current user\n */\nconst ChatService = {\n init(g) {\n UtilityService.EventBus.$on(\"addNewRemoteChat\", data => {\n // console.log(\"recived update\",data, \"rooms are\", this.data.rooms)\n this.AddRemoteRoom(data);\n });\n this.data.gun = g;\n },\n data: {\n gun: null,\n rooms: [],\n room: null\n },\n setGun(g) {\n this.data.gun = g;\n },\n\n getActiveRoom() {\n return this.data.room;\n },\n setActiveRoom(r) {\n this.data.room = r;\n UtilityService.EventBus.$emit(\"chatRoomChange\");\n },\n clearData() {\n this.data.room = null;\n this.rooms = [];\n },\n async getUserChats(id, force = false) {\n if (this.data.rooms.length == 0 || force) {\n let rooms = null;\n const data = await ApiService.get(\n `items/user_chat?fields=*,conv_id.*,conv_id.users.user_id.*,conv_id.users.user_id.avatar.private_hash&filter[user_id]=${id}`\n );\n\n rooms = data.data.data.map(r => {\n // console.log(\"getting room\")\n const users = r.conv_id.users.map(u => {\n return u.user_id;\n });\n let remote = null;\n if (users.length == 2) {\n remote = users.find(u => {\n return u.id !== id;\n });\n }\n return {\n created_on: r.conv_id.created_on,\n id: r.conv_id.id,\n key: r.conv_id.key,\n title: r.conv_id.title,\n users: users,\n remote: remote\n };\n });\n if (this.data.rooms.length > 0) {\n const filteredrooms = rooms.filter(r => {\n return (\n this.data.rooms.find(d => {\n return d.key == r.key;\n }) === undefined\n );\n });\n this.data.rooms = filteredrooms;\n } else {\n this.data.rooms = rooms;\n }\n\n this.data.rooms.forEach((r, index) => {\n this.data.gun.get(`chat/${r.key}`).once(data => {\n if (data) {\n let chat = [];\n Object.keys(data).forEach(ro => {\n if (ro != \"_\") chat.push(UtilityService.decrypt(data[ro], r.key));\n });\n r.chat = chat.sort((a, b) => {\n if (a.timestamp > b.timestamp) return 1;\n else if (a.timestamp < b.timestamp) return -1;\n else return 0;\n });\n UtilityService.EventBus.$emit(\"setChatHistoryToRoom\", {\n index: index,\n chat: chat\n });\n }\n });\n });\n\n return this.data.rooms;\n } else return this.data.rooms;\n },\n generateRoomObj(id, users, key = \"\", title = \"\") {\n let remote = null;\n if (users.length == 2) {\n remote = users.find(u => {\n return u.id !== id;\n });\n }\n return {\n key: key,\n title: title,\n users: users,\n remote: remote,\n chat: []\n };\n },\n AddRemoteRoom(e) {\n const found =\n this.data.rooms.length > 0\n ? this.data.rooms.find(r => {\n return r.key == e.key;\n })\n : undefined;\n if (found == undefined) {\n if (e.remote) {\n e.remote = e.users.find(u => {\n return u.id !== UserService.getCurrentUser().id;\n });\n }\n this.data.rooms.push(e);\n }\n },\n async saveRoom(users, key = \"\", title = \"\") {\n const userstosend = users.map(user => {\n return { user_id: { id: user.id } };\n });\n const payload = {\n key: key,\n title: title,\n users: userstosend\n };\n // console.log(\"users to send\",payload);\n return ApiService.post(\"items/conversations\", payload);\n },\n\n encryptMsg(msg) {\n return UtilityService.encrypt(msg, this.data.room.key);\n }\n};\nexport default ChatService;\n","import ApiService from \"@/core/services/api.service\";\nimport UserService from \"./user.service\";\nimport UtilityService from \"@/core/services/utility.service\";\n\n/**\n * User Management Service\n * - get users\n * - add users\n * - edit users\n * - delete users\n * - store current user\n */\nconst FeedService = {\n init() {},\n data: {\n page: 1,\n total: 0,\n limit: 50,\n fields: [\n \"id\",\n \"status\",\n \"cover.private_hash\",\n \"created_on\",\n \"owner.id\",\n \"owner.first_name\",\n \"owner.last_name\",\n \"owner.avatar.private_hash\",\n \"type\",\n \"translation.*\",\n \"title\"\n ],\n options: {\n limit: 50,\n meta: true,\n page: 1,\n sort: \"-created_on\",\n filter: {}\n },\n gun: null\n },\n getOptions() {\n return this.data.options;\n },\n setOptions(o) {\n this.data.options = o;\n },\n resetOptions() {\n this.data.options = {\n limit: 50,\n meta: true,\n page: 1,\n sort: \"-created_on\",\n filter: {}\n };\n return this.data.options;\n },\n setGun(g) {\n this.data.gun = g;\n },\n getPage() {\n return this.data.page;\n },\n setPage(p) {\n this.data.page = p;\n },\n getLimit() {\n return this.data.limit;\n },\n getTotal() {\n return this.data.total;\n },\n\n likeAction(item) {\n // console.log(\"item to handle\", item)\n let list = UtilityService.getDS().record.getList(\n `social/feed/${item.id}/likes`\n );\n\n // console.log(\"ds feed data\", list)\n\n if (item.like) {\n list.removeEntry(`/like/${UserService.getCurrentUser().external_id}`);\n list.whenReady(() => {\n UtilityService.getDS()\n .record.getRecord(`/like/${UserService.getCurrentUser().external_id}`)\n .delete();\n });\n } else {\n UtilityService.getDS()\n .record.getRecord(`like/${UserService.getCurrentUser().external_id}`)\n .set({\n date: Date.now(),\n device: UtilityService.getDeviceInfo().operatingSystem\n });\n list.addEntry(`/like/${UserService.getCurrentUser().external_id}`);\n }\n },\n async getItems(options = []) {\n let filters = ApiService.processOptions(options);\n // console.log(\"query sent to server is\", `question?fields=${this.data.fields.join()}` + filters)\n let result = await ApiService.get(\n \"items\",\n `feed?fields=${this.data.fields.join()}` + filters\n );\n this.data.total = result.data.meta.total_count;\n if (result.status === 200) {\n result.data.data.forEach(item => {\n let list = UtilityService.getDS().record.getList(\n `social/feed/${item.id}/likes`\n );\n list.whenReady(list => {\n item.likes = list.getEntries().length;\n item.like = list\n .getEntries()\n .includes(\"/like/\" + UserService.getCurrentUser().external_id);\n UtilityService.EventBus.$emit(\"updatefeedpage\", item.id);\n });\n });\n }\n return result;\n },\n async getFeedItems(owner = null, page = this.data.page) {\n // console.log(\"page\",page, \"owner\",owner)\n let result = await ApiService.get(\n \"items\",\n `feed?fields=*,owner.first_name,owner.last_name,owner.avatar.*,owner.external_id,translation.*,cover.private_hash&sort=-created_on&limit=${this.data.limit}&page=${page}&meta=*` +\n (owner !== null ? `&filter[owner]=${owner}` : ``)\n );\n this.data.total = result.data.meta.total_count;\n // console.log(\"feed data\", result.data.data)\n if (result.status === 200) {\n result.data.data.forEach(item => {\n let list = UtilityService.getDS().record.getList(\n `social/feed/${item.id}/likes`\n );\n list.whenReady(list => {\n item.likes = list.getEntries().length;\n item.like = list\n .getEntries()\n .includes(\"/like/\" + UserService.getCurrentUser().external_id);\n UtilityService.EventBus.$emit(\"updatefeedpage\");\n });\n });\n }\n return result.status == 200 ? result.data.data : [];\n },\n async postItem(payload) {\n return ApiService.post(\"items/feed\", payload);\n },\n async updateItem(id, payload) {\n return ApiService.update(\"items/feed\", id, payload);\n },\n async postTranslation(payload) {\n return ApiService.post(\"items/feed_translation\", payload);\n },\n async updateTranslationItem(id, payload) {\n return ApiService.update(\"items/feed_translation\", id, payload);\n },\n async deleteTranslations(payload) {\n let ids = \"\";\n payload.forEach((item, index) => {\n ids += item.id;\n if (index != payload.length - 1) ids += \",\";\n });\n if (ids != \"\") {\n let res = ApiService.delete(`items/feed_translation/${ids}`);\n return res;\n }\n return false;\n },\n async deleteItem(item) {\n await this.deleteTranslations(item.translation);\n try {\n let list = UtilityService.getDS().record.getList(\n `social/feed/${item.id}/likes`\n );\n list.whenReady(list => {\n list.getEntries().forEach(l => {\n list.removeEntry(l);\n UtilityService.getDS()\n .record.getRecord(l)\n .delete();\n });\n });\n list.delete();\n } catch (error) {\n return;\n }\n\n return ApiService.delete(`items/feed/${item.id}`);\n }\n};\nexport default FeedService;\n","import ApiService from \"@/core/services/api.service\";\n\n/**\n * User Management Service\n * - get users\n * - add users\n * - edit users\n * - delete users\n * - store current user\n */\nconst QuestionService = {\n init() {},\n data: {\n page: 1,\n total: 0,\n limit: 50,\n fields: [\n \"id\",\n \"status\",\n \"department.id\",\n \"department.name\",\n \"department.avatar.private_hash\",\n \"created_on\",\n \"modified_on\",\n \"doctor.doctor_id.first_name\",\n \"doctor.doctor_id.last_name\",\n \"doctor.doctor_id.avatar.private_hash\",\n \"doctor.doctor_id.id\",\n \"doctor.doctor_id.external_id\",\n \"owner.id\",\n \"owner.first_name\",\n \"owner.last_name\",\n \"owner.avatar.private_hash\",\n \"owner.id,rating\",\n \"question\",\n \"answer\",\n \"title\"\n ],\n options: {\n limit: 50,\n meta: true,\n page: 1,\n sort: \"-created_on\",\n filter: {}\n }\n },\n\n getOptions() {\n return this.data.options;\n },\n setOptions(o) {\n this.data.options = o;\n },\n resetOptions() {\n this.data.options = {\n limit: 50,\n meta: true,\n page: 1,\n sort: \"-created_on\",\n filter: {}\n };\n return this.data.options;\n },\n getPage() {\n return this.data.page;\n },\n setPage(p) {\n this.data.page = p;\n },\n getLimit() {\n return this.data.limit;\n },\n getTotal() {\n return this.data.total;\n },\n async deleteItem(id) {\n return ApiService.delete(`items/question/${id}`);\n },\n async postAnswer(id, payload) {\n return ApiService.update(\"items/question\", id, payload);\n },\n async postQuestion(payload) {\n return ApiService.post(\"items/question\", payload);\n },\n\n async getItems(options = []) {\n let filters = ApiService.processOptions(options);\n // console.log(\"query sent to server is\", `question?fields=${this.data.fields.join()}` + filters)\n let result = await ApiService.get(\n \"items\",\n `question?fields=${this.data.fields.join()}` + filters\n );\n this.data.total = result.data.meta.total_count;\n return result;\n }\n};\nexport default QuestionService;\n","import ApiService from \"@/core/services/api.service\";\n// import UtiliityService from \"./utility.service\";\n//import ls from \"@/core/services/localstorage.service\";\n/**\n * Service to call HTTP request via Axios\n */\nconst StatsService = {\n data: {\n appointments: {\n total: 0,\n inprogress: 0,\n pending: 0,\n canceled: 0,\n completed: 0\n },\n questions: { total: 0, answered: 0, unanswred: 0, depart: [] },\n consultations: { total: 0 },\n gun: null\n },\n init() {},\n\n async getAllAppointmentsStats() {\n let result = await ApiService.get(\n \"items\",\n \"appointments?fields=id,status,type,date_time,created_on,doctor.department.name,doctor.department.id,doctor.department.avatar.private_hash\" +\n `&limit=-1&sort=-date_time&meta=*`\n );\n if (result.status === 200) {\n return result.data;\n } else return null;\n },\n async getAllUsersStats() {\n const result = await ApiService.get(\n \"/users\" + \"?fields=id,role.name,role.id,status,timezone&limit=-1\"\n );\n\n if (result.status === 200) {\n return result.data;\n } else return null;\n }\n};\nexport default StatsService;\n","// Import the functions you need from the SDKs you need\nimport { initializeApp } from \"firebase/app\";\nimport { getMessaging, getToken, onMessage } from \"firebase/messaging\";\nimport UtilityService from \"@/core/services/utility.service\";\nimport NotificationService from \"./notification.service\";\nimport UserService from \"./user.service\";\n// TODO: Add SDKs for Firebase products that you want to use\n// https://firebase.google.com/docs/web/setup#available-libraries\n\n// Your web app's Firebase configuration\n\n// Initialize Firebase\n\n/**\n * User Management Service\n * - get users\n * - add users\n * - edit users\n * - delete users\n * - store current user\n */\nconst FirebaseService = {\n init() {\n this.data.app = initializeApp(this.data.config);\n try {\n this.data.messaging = getMessaging();\n onMessage(this.data.messaging, payload => {\n // console.log('Message received. ', payload);\n // ...\n UtilityService.EventBus.$emit(\"showalert\", {\n msg: payload.notification.body\n });\n });\n } catch (error) {\n // console.log(\"error setting up firebase messeging\",error)\n }\n },\n\n data: {\n config: {\n apiKey: process.env.VUE_APP_firebase_API_KEY,\n authDomain: \"doctorycare.firebaseapp.com\",\n databaseURL: \"https://doctorycare.firebaseio.com\",\n projectId: \"doctorycare\",\n storageBucket: \"doctorycare.appspot.com\",\n messagingSenderId: process.env.VUE_APP_firebase_MSG_SENDER_ID,\n appId: process.env.VUE_APP_firebase_APP_ID\n },\n app: null,\n messaging: null\n },\n async getWebToken() {\n try {\n getToken(this.data.messaging, { vapidKey: process.env.VUE_APP_VIPD_KEY })\n .then(currentToken => {\n if (currentToken) {\n // // console.log(\"current token is\", currentToken)\n NotificationService.syncToken(\n currentToken,\n UtilityService.getDeviceInfo(),\n UserService.getCurrentUser()\n );\n } else {\n // Show permission request UI\n // console.log('No registration token available. Request permission to generate one.');\n // ...\n }\n })\n .catch(err => {\n console.log(\"An error occurred while retrieving token. \", err);\n // ...\n });\n } catch (error) {\n // console.log(\"error setting up firebase notifications\",error)\n }\n\n //return this.data.messaging.getToken({ vapidKey: process.env.VUE_APP_VIPD_KEY })\n }\n};\nexport default FirebaseService;\n","import ApiService from \"@/core/services/api.service\";\n\n/**\n * User Management Service\n * - get users\n * - add users\n * - edit users\n * - delete users\n * - store current user\n */\nconst FeedbackService = {\n init() {},\n data: {\n page: 1,\n total: 0,\n limit: 50,\n fields: [\n \"id\",\n \"status\",\n \"created_on\",\n \"doctor.doctor_id.first_name\",\n \"doctor.doctor_id.last_name\",\n \"doctor.doctor_id.avatar.private_hash\",\n \"doctor.doctor_id.id\",\n \"owner.id\",\n \"owner.first_name\",\n \"owner.last_name\",\n \"owner.avatar.private_hash\",\n \"comment\",\n \"rating\",\n \"appointment.id\",\n \"appointment.date_time\",\n \"appointment.type\",\n \"question.id\",\n \"question.title\"\n ],\n options: {\n limit: 50,\n meta: true,\n page: 1,\n sort: \"-created_on\",\n filter: {}\n }\n },\n\n getOptions() {\n return this.data.options;\n },\n setOptions(o) {\n this.data.options = o;\n },\n resetOptions() {\n this.data.options = {\n limit: 50,\n meta: true,\n page: 1,\n sort: \"-created_on\",\n filter: {}\n };\n return this.data.options;\n },\n getPage() {\n return this.data.page;\n },\n setPage(p) {\n this.data.page = p;\n },\n getLimit() {\n return this.data.limit;\n },\n getTotal() {\n return this.data.total;\n },\n async deleteItem(id) {\n return ApiService.delete(`items/feedback/${id}`);\n },\n async editItem(id, payload) {\n return ApiService.update(\"items/feedback\", id, payload);\n },\n async postItem(payload) {\n return ApiService.post(\"items/feedback\", payload);\n },\n\n async getItems(options = []) {\n let filters = ApiService.processOptions(options);\n // console.log(\"query sent to server is\", `question?fields=${this.data.fields.join()}` + filters)\n let result = await ApiService.get(\n \"items\",\n `feedback?fields=${this.data.fields.join()}` + filters\n );\n this.data.total = result.data.meta.total_count;\n return result;\n },\n async postIssue(payload) {\n return ApiService.post(\"items/issues\", payload);\n },\n async getItem(type, id) {\n let filter = \"\";\n if (type === \"app\") {\n filter = `&filter[appointment]=${id}`;\n } else if (type === \"question\") {\n filter = `&filter[question]=${id}`;\n }\n let result = await ApiService.get(\n \"items\",\n `feedback?fields=${this.data.fields.join()}` + filter\n );\n return result;\n }\n};\nexport default FeedbackService;\n","import Vue from \"vue\";\nimport VueI18n from \"vue-i18n\";\n\n// Localisation language list\nimport en from \"@/core/config/i18n/en\";\nimport ar from \"@/core/config/i18n/ar\";\nimport tr from \"@/core/config/i18n/tr\";\nimport fr from \"@/core/config/i18n/fr\";\n\nVue.use(VueI18n);\n\nlet messages = {};\nmessages = { ...messages, en, ar, tr, fr };\n\n// get current selected language\nconst lang = localStorage.getItem(\"language\") || \"en\";\n\n// Create VueI18n instance with options\nconst i18n = new VueI18n({\n locale: lang, // set locale\n messages // set locale messages\n});\n\nexport default i18n;\n","import Vue from \"vue\";\nimport Vuetify from \"vuetify/lib/framework\";\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n theme: {\n options: {\n customProperties: true\n },\n themes: {\n light: {\n primary: \"#0971CE\",\n secondary: \"#e8ecfa\",\n accent: \"#5d78ff\",\n error: \"#fd397a\",\n info: \"#5578eb\",\n success: \"#0abb87\",\n warning: \"#ffb822\"\n }\n }\n }\n});\n","import Vue from \"vue\";\nimport PortalVue from \"portal-vue\";\n\nVue.use(PortalVue);\n\nexport default PortalVue;\n","import Vue from \"vue\";\nimport { BootstrapVue, IconsPlugin } from \"bootstrap-vue\";\n\n// Install BootstrapVue\nVue.use(BootstrapVue);\n// Optionally install the BootstrapVue icon components plugin\nVue.use(IconsPlugin);\n","import Vue from \"vue\";\nimport { InlineSvgPlugin } from \"vue-inline-svg\";\n\nVue.use(InlineSvgPlugin);\n","import Vue from \"vue\";\nimport VueApexCharts from \"vue-apexcharts\";\n\nVue.use(VueApexCharts);\n\nVue.component(\"apexchart\", VueApexCharts);\n","import Vue from \"vue\";\nimport dApp from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"@/core/services/store\";\nimport ApiService from \"@/core/services/api.service\";\nimport NotificationService from \"@/core/services/notification.service\";\nimport LocalStorageService from \"@/core/services/localstorage.service\";\nimport DepartmentService from \"@/core/services/department.service\";\nimport VitalService from \"@/core/services/mf/vital.service\";\nimport HistoryService from \"@/core/services/mf/history.service\";\nimport PaymentService from \"@/core/services/payment.service\";\nimport UserService from \"@/core/services/user.service\";\nimport FileService from \"@/core/services/mf/file.service\";\nimport DoctorService from \"@/core/services/doctor.service\";\nimport PrescriptionService from \"@/core/services/mf/prescription.service\";\nimport AppointmentService from \"@/core/services/appointment.servic\";\nimport ChatService from \"@/core/services/chat.service\";\nimport FeedService from \"./core/services/feed.service\";\nimport QuestionService from \"./core/services/qustion.service\";\nimport DbService from \"./core/services/db.service\";\nimport StatsService from \"./core/services/stats.service\";\nimport FirebaseService from \"./core/services/firebase.service\";\nimport FeedbackService from \"./core/services/feedback.service\";\nimport i18n from \"@/core/plugins/vue-i18n\";\n\nimport UtilityService from \"@/core/services/utility.service\";\n\nimport { VERIFY_AUTH } from \"@/core/services/store/auth.module\";\nimport { DeepstreamClient } from \"@deepstream/client\";\n\nimport Textra from \"vue-textra\";\n\nimport { Plugins } from \"@capacitor/core\";\nconst { App } = Plugins;\nconst { Device } = Plugins;\nlet lang = \"en\";\nDevice.getLanguageCode().then(data => {\n // console.log(\"lang\",data)\n lang = data.value.split(\"-\")[0];\n // console.log(\"lang\",lang)\n if (!window.localStorage[\"language\"]) {\n // console.log(\"did set language\")\n window.localStorage.setItem(\"language\", lang);\n i18n.locale = lang;\n //window.location.reload(true);\n }\n});\n\nimport LogRocket from \"logrocket\";\n\nif (process.env.NODE_ENV === \"production\") {\n LogRocket.init(\"zkwadp/doctorycare\", {\n release: process.env.version,\n baseHref: \"https://doctory.care/\"\n });\n Vue.prototype.$rocket = LogRocket;\n}\n\nVue.config.productionTip = false;\n\nimport VueMoment from \"vue-moment\";\nimport moment from \"moment-timezone\";\nimport \"boxicons\";\nimport \"boxicons/css/boxicons.min.css\";\n\nimport { VueMaskDirective } from \"v-mask\";\nVue.directive(\"mask\", VueMaskDirective);\n\nimport Unicon from \"vue-unicons/dist/vue-unicons-vue2.umd\";\nimport {\n uniEstate,\n uniHeartbeat,\n uniCalender,\n uniCommentAltQuestion,\n uniQuestionCircle,\n uniListUl,\n uniTrashAlt,\n uniEditAlt,\n uniCloudDownload,\n uniVideo,\n uniFileMedicalAlt,\n uniFileCheckAlt,\n uniDollarAlt,\n uniUserArrows,\n uniHospital,\n uniUsersAlt,\n uniCommentRedo,\n uniClock,\n uniArrowGrowth,\n uniSetting,\n uniUserMd,\n uniUser,\n uniKeySkeleton,\n uniSelfie,\n uniBag,\n uniUserPlus,\n uniHeartRate,\n uniTransaction,\n uniBandAid,\n uniUploadAlt,\n uniHistory,\n uniCapsule,\n uniFileCopyAlt,\n uniApple,\n uniAndroid,\n uniLaptopCloud,\n uniPoundCircle,\n uniCheckCircle,\n uniExclamationCircle,\n uniLaptop,\n uniMobileAndroid,\n uniCreditCard,\n uniUserCircle,\n uniBell,\n uniSignAlt,\n uniPauseCircle,\n uniSignOutAlt,\n uniCommentsAlt,\n uniDatabase,\n uniSave,\n uniEnglishToChinese,\n uniWifi,\n uniSpinnerAlt,\n uniExclamationTriangle,\n uniStethoscope,\n uniFavorite,\n uniDocumentLayoutLeft\n} from \"vue-unicons/dist/icons\";\n\nUnicon.add([\n uniEstate,\n uniHeartbeat,\n uniCalender,\n uniCommentAltQuestion,\n uniQuestionCircle,\n uniListUl,\n uniTrashAlt,\n uniEditAlt,\n uniCloudDownload,\n uniVideo,\n uniFileMedicalAlt,\n uniFileCheckAlt,\n uniDollarAlt,\n uniUserArrows,\n uniHospital,\n uniUsersAlt,\n uniCommentRedo,\n uniClock,\n uniArrowGrowth,\n uniSetting,\n uniUserMd,\n uniUser,\n uniKeySkeleton,\n uniSelfie,\n uniBag,\n uniUserPlus,\n uniHeartRate,\n uniTransaction,\n uniBandAid,\n uniUploadAlt,\n uniHistory,\n uniCapsule,\n uniFileCopyAlt,\n uniApple,\n uniAndroid,\n uniLaptopCloud,\n uniPoundCircle,\n uniCheckCircle,\n uniExclamationCircle,\n uniLaptop,\n uniMobileAndroid,\n uniCreditCard,\n uniUserCircle,\n uniBell,\n uniSignAlt,\n uniPauseCircle,\n uniSignOutAlt,\n uniCommentsAlt,\n uniDatabase,\n uniSave,\n uniEnglishToChinese,\n uniWifi,\n uniSpinnerAlt,\n uniExclamationTriangle,\n uniStethoscope,\n uniFavorite,\n uniDocumentLayoutLeft\n]);\nVue.use(Unicon);\n\n// Global 3rd party plugins\nimport \"popper.js\";\nimport \"tooltip.js\";\n//import PerfectScrollbar from 'perfect-scrollbar';\n//window.PerfectScrollbar = PerfectScrollbar;\nimport ClipboardJS from \"clipboard\";\nwindow.ClipboardJS = ClipboardJS;\n\nimport PerfectScrollbar2 from \"vue2-perfect-scrollbar\";\nimport \"vue2-perfect-scrollbar/dist/vue2-perfect-scrollbar.css\";\n\nVue.use(PerfectScrollbar2);\n\n// Vue 3rd party plugins\n\nimport vuetify from \"@/core/plugins/vuetify\";\nimport \"@/core/plugins/portal-vue\";\nimport \"@/core/plugins/bootstrap-vue\";\nimport \"@/core/plugins/inline-svg\";\nimport \"@/core/plugins/apexcharts\";\nimport \"@mdi/font/css/materialdesignicons.css\";\nif (!window.location.hostname.includes(\"localhost\"))\n require(\"./registerServiceWorker\");\n//import VueGlobalVar from \"vue-global-var\";\n\n//GUN\nimport Gun from \"gun/gun\";\nimport \"gun/lib/unset.js\";\n\nlet gunInstance = Gun([process.env.VUE_APP_gun_base], {\n localStorage: false\n});\nVue.prototype.$gun = gunInstance;\nconst ds = new DeepstreamClient(process.env.VUE_APP_ds);\nVue.prototype.$deepstream = ds;\n\nDbService.init();\nVue.prototype.$db = DbService;\n\n// API service init\nApiService.init();\nFirebaseService.init();\nUtilityService.setGun(gunInstance);\nFeedService.setGun(gunInstance);\nUtilityService.init(ds, UserService);\nChatService.init(gunInstance);\n\nVue.prototype.$api = ApiService;\nVue.prototype.$notify = NotificationService;\nVue.prototype.$ls = LocalStorageService;\nVue.prototype.$department = DepartmentService;\nVue.prototype.$vitalTypes = VitalService;\nVue.prototype.$historyTypes = HistoryService;\nVue.prototype.$payments = PaymentService;\nVue.prototype.$user = UserService;\nVue.prototype.$file = FileService;\nVue.prototype.$doctor = DoctorService;\nVue.prototype.$util = UtilityService;\nVue.prototype.$prescription = PrescriptionService;\nVue.prototype.$app = AppointmentService;\nVue.prototype.$cap = App;\nVue.prototype.$chat = ChatService;\nVue.prototype.$feed = FeedService;\nVue.prototype.$question = QuestionService;\nVue.prototype.$stats = StatsService;\nVue.prototype.$firebase = FirebaseService;\nVue.prototype.$feedback = FeedbackService;\n\nimport VueCryptojs from \"vue-cryptojs\";\n\nVue.use(VueCryptojs);\n\n//console.log(\"api url is\",process.env.VUE_APP_api_url)\n\nrouter.beforeEach((to, from, next) => {\n // Ensure we checked auth before each page load.\n\n Promise.all([store.dispatch(VERIFY_AUTH)]).then(() => {\n //console.log(\"isauth\", !store.getters.isAuthenticated, \"to name\",to.name , \"condition is,\",to.name !== 'login');\n if (to.name === \"register\" && !store.getters.isAuthenticated) next();\n else if (to.name === \"reset_password\" && !store.getters.isAuthenticated)\n next();\n else if (to.name !== \"login\" && !store.getters.isAuthenticated)\n next({ name: \"login\" });\n else next();\n });\n\n // reset config to initial state\n\n // Scroll page to top on every route change\n setTimeout(() => {\n window.scrollTo(0, 0);\n }, 100);\n});\n//Vue.use(require('vue-moment'));\nVue.use(VueMoment, {\n moment\n});\n\nVue.use(Textra);\n\nnew Vue({\n router,\n store,\n i18n,\n vuetify,\n data: {\n //only place where data is not a function\n title: \"Doctory\",\n loader: true,\n ssdkurl_prod: \"https://web.squarecdn.com/v1/square.js\",\n ssdkurl_test: \"https://sandbox.web.squarecdn.com/v1/square.js\",\n stoken_prod: \"sq0idp-T2T1TyoCyGmcGoT-SNKrFQ\",\n stoken_test: \"sandbox-sq0idb-NbciSFMGENFLLObmp88nvA\",\n sloc_prod: \"LG9CCNP10EJP9\",\n sloc_test: \"L21P4F2PM39CQ\",\n lang: !window.localStorage[\"language\"]\n ? lang\n : window.localStorage[\"language\"],\n mobile: false,\n mf: 0,\n doctormf: 0,\n viaid: 0,\n docID: 0,\n exchangerate: 1,\n connectionstatus: true,\n disablehome: true,\n chatOpen: false,\n showBar: false,\n apiURL: process.env.VUE_APP_api_url,\n assetsBaseURL: process.env.VUE_APP_assets_url,\n asseturl: process.env.VUE_APP_api_url + \"assets/\",\n sysbarheight: 0,\n tabspadding: 0,\n currentpage: \"dashboard\",\n didload: false,\n patient: {\n selectedDepartment: null\n },\n admin: {\n extramargin: \"56px\",\n selectedRole: 1,\n openside: false,\n currentuser: null,\n selectedSetting: \"system\",\n selectedManageData: \"apps\"\n }\n },\n render: h => h(dApp)\n}).$mount(\"#app\");\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&lang=scss&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=2&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=2&lang=css&\"","import Vue from \"vue\";\nimport axios from \"axios\";\nimport VueAxios from \"vue-axios\";\nimport JwtService from \"@/core/services/jwt.service\";\nimport router from \"@/router\";\n\n/**\n * Service to call HTTP request via Axios\n */\nconst ApiService = {\n init() {\n Vue.use(VueAxios, axios);\n Vue.axios.defaults.baseURL = process.env.VUE_APP_api_url;\n Vue.axios.interceptors.response.use(\n response => response,\n error => {\n // console.log(\"getting error from catch all\",error)\n if (error.response) {\n // The request was made and the server responded with a status code\n // that falls out of the range of 2xx\n if (error.response.status == 401) {\n router.push({ name: \"login\" });\n }\n } else if (error.request) {\n // The request was made but no response was received\n // `error.request` is an instance of XMLHttpRequest in the browser and an instance of\n // http.ClientRequest in node.js\n // console.log(error.request);\n } else {\n // Something happened in setting up the request that triggered an Error\n // console.log('Error', error.message);\n }\n throw error;\n }\n );\n },\n\n /**\n * Set the default HTTP request headers\n * 'Content-Type': 'multipart/form-data'\n * contentType=\"multipart/form-data\"\n */\n setHeader() {\n Vue.axios.defaults.headers.common[\n \"Authorization\"\n ] = `Bearer ${JwtService.getToken()}`;\n },\n removeHeader() {\n delete Vue.axios.defaults.headers.common[\"Authorization\"];\n },\n\n // change\n processOptions(options) {\n let toreturn = \"\";\n if (options.length === 0) return toreturn;\n else {\n Object.keys(options).forEach(key => {\n switch (key) {\n case \"limit\":\n toreturn += `&limit=${options[key]}`;\n break;\n case \"page\":\n toreturn += `&page=${options[key]}`;\n break;\n case \"sort\":\n toreturn += `&sort=${options[key]}`;\n break;\n case \"meta\":\n toreturn += `&meta=*`;\n break;\n case \"filter\":\n Object.keys(options[key]).forEach(filterkey => {\n toreturn += `&filter[${filterkey}]${\n options[key][filterkey].operator !== \"eq\"\n ? \"[\" + options[key][filterkey].operator + \"]\"\n : \"\"\n }=${options[key][filterkey].value}`;\n });\n break;\n }\n });\n // console.log(\"returning this after processing options\", toreturn);\n return toreturn;\n }\n },\n\n query(resource, params) {\n return Vue.axios.get(resource, params).catch(error => {\n // ////// console.log(error);\n throw new Error(`[KT] ApiService ${error}`);\n });\n },\n\n /**\n * Send the GET HTTP request\n * @param resource\n * @param slug\n * @returns {*}\n */\n get(resource, slug = \"\", token = false) {\n if (slug == \"\") {\n if (token) {\n return Vue.axios\n .get(`${resource}`, {\n headers: {\n Authorization: `Bearer MvWsGYxB6uqj5k5xZMndwhJJaGyGRUaV`\n }\n })\n .catch(error => {\n throw new Error(`[KT] ApiService ${error}`);\n });\n } else {\n return Vue.axios.get(`${resource}`);\n }\n } else {\n if (token) {\n return Vue.axios\n .get(`${resource}/${slug}`, {\n headers: {\n Authorization: `Bearer MvWsGYxB6uqj5k5xZMndwhJJaGyGRUaV`\n }\n })\n .catch(error => {\n throw new Error(`[KT] ApiService ${error}`);\n });\n } else {\n return Vue.axios.get(`${resource}/${slug}`).catch(error => {\n throw new Error(`[KT] ApiService ${error}`);\n });\n }\n }\n },\n\n /**\n * Set the POST HTTP request\n * @param resource\n * @param params\n * @returns {*}\n */\n post(resource, params) {\n return Vue.axios.post(`${resource}`, params);\n },\n\n registerUser(resource, params) {\n try {\n return Vue.axios.post(`${resource}`, params, {\n headers: {\n Authorization: `Bearer MvWsGYxB6uqj5k5xZMndwhJJaGyGRUaV`\n }\n });\n } catch (error) {\n return error;\n }\n },\n\n postWithToken(resource, payload) {\n try {\n // console.log(\"req start\");\n return Vue.axios.post(`${resource}`, payload, {\n headers: {\n Authorization: `Bearer iJMeaShkskxr5POwYZI6erlk`\n }\n });\n } catch (error) {\n return error;\n }\n },\n\n // createDoctorAvails(resource, params) {\n // try {\n // return Vue.axios.post(`${resource}`, params, {\n // headers: {\n // Authorization: `Bearer MvWsGYxB6uqj5k5xZMndwhJJaGyGRUaV`,\n // },\n // });\n // } catch (error) {\n // return error;\n // }\n // },\n\n // createPatient(resource, params) {\n // try {\n // return Vue.axios.post(`${resource}`, params, {\n // headers: {\n // Authorization: `Bearer MvWsGYxB6uqj5k5xZMndwhJJaGyGRUaV`,\n // },\n // });\n // } catch (error) {\n // return error;\n // }\n // },\n\n // ///////////////////////////////\n\n getDepartments(resource, slug) {\n try {\n return Vue.axios.get(`${resource}/${slug}`, {\n headers: {\n Authorization: `Bearer MvWsGYxB6uqj5k5xZMndwhJJaGyGRUaV`\n }\n });\n } catch (error) {\n return error;\n }\n },\n\n postMdFile(resource, params, headers) {\n return Vue.axios.post(`${resource}`, params, { headers: headers });\n },\n\n /**\n * Set the POST HTTP request\n * @param resource\n * @param params\n * @returns {*}\n */\n postFile(resource, params, index, uploadProgressCallBack) {\n return Vue.axios.post(`${resource}`, params, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n },\n onUploadProgress: function(progressEvent) {\n var p = parseInt(\n Math.round((progressEvent.loaded / progressEvent.total) * 100)\n );\n if (uploadProgressCallBack) uploadProgressCallBack(index, p);\n return p;\n }\n });\n },\n simplePostFile(resource, params) {\n return Vue.axios.post(`${resource}`, params, {\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n }\n });\n },\n /**\n * Send the UPDATE HTTP request\n * @param resource\n * @param slug\n * @param params\n * @returns {IDBRequest | Promise}\n */\n update(resource, slug, params) {\n return Vue.axios.patch(`${resource}/${slug}`, params);\n },\n\n /**\n * Send the PUT HTTP request\n * @param resource\n * @param params\n * @returns {IDBRequest | Promise}\n */\n put(resource, params) {\n return Vue.axios.put(`${resource}`, params);\n },\n\n /**\n * Send the DELETE HTTP request\n * @param resource\n * @returns {*}\n */\n delete(resource) {\n return Vue.axios.delete(resource).catch(error => {\n throw new Error(`[RWV] ApiService ${error}`);\n });\n },\n /**\n * GET ICD code and descriptions\n * @param resource\n * @returns {*}\n */\n getICD(icd, diagnosticsname) {\n try {\n return Vue.axios.get(icd + \"/\" + diagnosticsname + \"/\", {\n headers: {\n \"x-rapidapi-key\":\n \"3fd8f5ec84msh0224d43397266dep19f940jsn0faf3e5c89ee\",\n \"x-rapidapi-host\": \"diagnostics-code-list.p.rapidapi.com\"\n },\n baseURL: \"https://diagnostics-code-list.p.rapidapi.com/\"\n });\n } catch (error) {\n return error;\n }\n },\n /**\n * GET user location currency\n * @param resource\n * @returns {*}\n */\n getLocationDetails() {\n try {\n return Vue.axios.get(\"\", {\n params: { apikey: \"873dbe322aea47f89dcf729dcc8f60e8\" },\n headers: {\n \"x-rapidapi-key\":\n \"3fd8f5ec84msh0224d43397266dep19f940jsn0faf3e5c89ee\",\n \"x-rapidapi-host\":\n \"find-any-ip-address-or-domain-location-world-wide.p.rapidapi.com\"\n },\n baseURL:\n \"https://find-any-ip-address-or-domain-location-world-wide.p.rapidapi.com/iplocation\"\n });\n } catch (error) {\n return error;\n }\n },\n /**\n * GET convert currency from to\n * @param resource\n * @returns {*}\n */\n convertCurrency(from, to) {\n try {\n return Vue.axios.get(\"\", {\n params: { format: \"json\", from: from, to: to, amount: \"1\" },\n headers: {\n \"x-rapidapi-key\":\n \"3fd8f5ec84msh0224d43397266dep19f940jsn0faf3e5c89ee\",\n \"x-rapidapi-host\": \"currency-converter5.p.rapidapi.com\"\n },\n baseURL: \"https://currency-converter5.p.rapidapi.com/currency/convert\"\n });\n } catch (error) {\n return error;\n }\n }\n};\n\nexport default ApiService;\n","import ApiService from \"@/core/services/api.service\";\nimport JwtService from \"@/core/services/jwt.service\";\n//import UserService from \"../user.service\";\n\n// action types\nexport const VERIFY_AUTH = \"verifyAuth\";\nexport const LOGIN = \"login\";\nexport const LOGOUT = \"logout\";\nexport const REGISTER = \"register\";\nexport const UPDATE_USER = \"updateUser\";\n\n// mutation types\nexport const PURGE_AUTH = \"logOut\";\nexport const SET_AUTH = \"setUser\";\nexport const SET_ERROR = \"setError\";\n\nconst state = {\n errors: null,\n user: {},\n isAuthenticated: !!JwtService.getToken()\n};\n\nconst getters = {\n currentUser(state) {\n return state.user;\n },\n isAuthenticated(state) {\n return state.isAuthenticated;\n }\n};\n\nconst actions = {\n // async login({ commit }, credentials) {\n // try {\n // const { data } = await ApiService.post('auth/authenticate', credentials);\n // return commit(SET_AUTH, data.data);\n // } catch (error) {\n // // console.log('error', error);\n // return;\n // }\n // },\n\n [LOGIN](context, credentials) {\n return new Promise(resolve => {\n ApiService.post(\"auth/authenticate\", credentials)\n .then(({ data }) => {\n //// console.log(\"userdata: \", data.data.user);\n context.commit(SET_AUTH, data.data);\n resolve(data);\n })\n .catch(({ response }) => {\n context.commit(SET_ERROR, response.data.error.message);\n });\n });\n },\n signout({ commit }) {\n commit(PURGE_AUTH);\n },\n [LOGOUT](context) {\n context.commit(PURGE_AUTH);\n },\n\n async createUser({ commit }, credentials) {\n try {\n // register user\n await ApiService.registerUser(\"users\", credentials);\n } catch (error) {\n // console.log(error);\n return commit(SET_ERROR, error);\n }\n },\n\n async signup({ commit }, credentials) {\n try {\n //// console.log(\"regestering user\", credentials);\n // register user\n if (credentials.role == \"patient\") {\n const { data } = await ApiService.registerUser(\n \"custom/register/register_patient\",\n credentials\n );\n //// console.log(\"res\", data.data);\n return data.data;\n }\n\n // // console.log('reg data after recaptch', JSON.parse(user.config.data));\n\n // login user\n // const { data } = await ApiService.post('auth/authenticate', {\n // email: credentials.email,\n // password: credentials.password,\n // });\n\n // commit(SET_AUTH, data.data);\n } catch (error) {\n //// console.log(error);\n return commit(SET_ERROR, error);\n }\n },\n [REGISTER](context, credentials) {\n return new Promise((resolve, reject) => {\n ApiService.post(\"users\", { user: credentials })\n .then(({ data }) => {\n context.commit(SET_AUTH, data);\n resolve(data);\n })\n .catch(({ response }) => {\n context.commit(SET_ERROR, response.data.error.message);\n reject(response);\n });\n });\n },\n [VERIFY_AUTH](context) {\n if (\n JwtService.getToken() &&\n JwtService.parseJwt(JwtService.getToken()).exp >\n Math.floor(Date.now() / 1000)\n ) {\n /*ApiService.setHeader();\n ApiService.get(\"users/me?fields=id\")\n .catch(( error ) => {\n if(error.response.status == 401)\n {\n // console.log(\"auth error\",error.response);\n context.commit(PURGE_AUTH);\n window.location.reload();\n }\n \n });*/\n } else {\n context.commit(PURGE_AUTH);\n }\n },\n [UPDATE_USER](context, payload) {\n const { email, username, password, image, bio } = payload;\n const user = { email, username, bio, image };\n if (password) {\n user.password = password;\n }\n\n return ApiService.put(\"user\", user).then(({ data }) => {\n context.commit(SET_AUTH, data);\n return data;\n });\n }\n};\n\nconst mutations = {\n [SET_ERROR](state, error) {\n return (state.errors = error);\n },\n [SET_AUTH](state, user) {\n // // console.log(\"setting user in set auth\", user)\n state.isAuthenticated = true;\n state.user = user;\n state.errors = {};\n JwtService.saveToken(user.token);\n localStorage.userInfo = JSON.stringify(user.user);\n },\n [PURGE_AUTH](state) {\n //// console.log(\"i was called\");\n state.isAuthenticated = false;\n state.user = {};\n state.errors = {};\n ApiService.removeHeader();\n JwtService.destroyToken();\n }\n};\n\nexport default {\n state,\n actions,\n mutations,\n getters\n};\n","/* eslint-disable no-console */\n\nimport { register } from \"register-service-worker\";\ntry {\n if (\n process.env.NODE_ENV === \"production\" &&\n !window.location.hostname.includes(\"localhost\")\n ) {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n \"App is being served from cache by a service worker.\\n\" +\n \"For more details, visit https://goo.gl/AFskqB\"\n );\n },\n registered() {\n console.log(\"Service worker has been registered.\");\n },\n cached() {\n console.log(\"Content has been cached for offline use.\");\n },\n updatefound() {\n console.log(\"New content is downloading.\");\n },\n updated() {\n console.log(\"New content is available; please refresh.\");\n window.location.reload(true);\n },\n offline() {\n console.log(\n \"No internet connection found. App is running in offline mode.\"\n );\n },\n error(error) {\n console.error(\"Error during service worker registration:\", error);\n }\n });\n } else {\n console.log(\"did not register workers\");\n }\n} catch (error) {\n console.log(\"didn't register service worker,\", error);\n}\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = \"ec91\";"],"sourceRoot":""}