{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?4a62","webpack:///./src/components/BaseComponents/BaseDashboardInfoCard.vue?ca05","webpack:///./node_modules/@aws-amplify/ui-components/dist/esm-es5 lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack:///./src/App.vue?a875","webpack:///src/App.vue","webpack:///./src/App.vue?60d0","webpack:///./src/App.vue?5a89","webpack:///./src/router.js","webpack:///./src/store/modules/DashboardCards.js","webpack:///./src/store/modules/Landlords/LandlordsCount.js","webpack:///./src/store/modules/Landlords/LandlordsRecords.js","webpack:///./src/store/modules/Tenants/TenantsCount.js","webpack:///./src/store/modules/Tenants/TenantsRecords.js","webpack:///./src/store/modules/Properties/PropertiesCount.js","webpack:///./src/store/modules/Properties/PropertiesRecords.js","webpack:///./src/store/modules/Contractors/ContractorsCount.js","webpack:///./src/store/modules/Contractors/ContractorsRecords.js","webpack:///./src/store/modules/OutgoingPayments.js","webpack:///./src/store/modules/UnreconciledPayments.js","webpack:///./src/store/modules/Reports/PaidInvoices.js","webpack:///./src/store/modules/Reports/UnpaidInvoices.js","webpack:///./src/store/modules/Reports/DepositsHeld.js","webpack:///./src/store/modules/OpenBanking/OpenBankingRequests.js","webpack:///./src/store/modules/Invoices/InvoiceRecords.js","webpack:///./src/store/modules/PaymentRequests.js","webpack:///./src/store/modules/Reports/RStB.js","webpack:///./src/store/modules/Currency/CurrencyData.js","webpack:///./src/store/modules/Forecast/ManagementFeeForecast.js","webpack:///./src/store/agentosAuth.js","webpack:///./src/store/index.js","webpack:///./src/plugins/vuetify.js","webpack:///./src/components/BaseComponents/BaseDashboardInfoCard.vue?cfe4","webpack:///src/components/BaseComponents/BaseDashboardInfoCard.vue","webpack:///./src/components/BaseComponents/BaseDashboardInfoCard.vue?e90f","webpack:///./src/components/BaseComponents/BaseDashboardInfoCard.vue?94f2","webpack:///./src/components/CircularOverlay.vue?f313","webpack:///src/components/CircularOverlay.vue","webpack:///./src/components/CircularOverlay.vue?f522","webpack:///./src/components/CircularOverlay.vue","webpack:///./src/registerServiceWorker.js","webpack:///./src/aws-exports.js","webpack:///./src/main.js"],"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","map","webpackAsyncContext","req","ids","id","keys","_vm","this","_h","$createElement","_c","_self","attrs","staticRenderFns","webWidget","color","theme","launcher","launcherText","button","resultLists","header","articleLinks","onLine","showBackOnline","mounted","$zopim","localStorage","alternativeDashboard","$store","commit","agentPayLightTheme","$vuetify","light","dark","methods","updateOnlineStatus","watch","v","alert","beforeDestroy","component","VApp","Vue","use","Router","routes","path","alias","redirect","meta","requiresAuth","children","props","router","base","process","scrollBehavior","to","from","savedPosition","y","beforeEach","next","loggedIn","getItem","matched","some","record","namespaced","state","unreconciledPayments","outGoingPayments","insights","income","portfolioGrowth","mutations","SET_UNRECONCILED_PAYMENTS","SET_OUTGOING_PAYMENTS","SET_INSIGHTS","SET_INCOME","SET_PORTFOLIO_GROWTH","actions","getUnreconciledPayments","rootState","axios","method","url","baseURL","user","ClientName","headers","token","LoginToken","api_key","apiKey","params","branchID","catch","root","getOutGoingPayments","getInsights","getIncome","getPortfolioGrowth","Nodes","landlords","SET_LANDLORDS","getLandlordsCount","dispatch","spread","bankless","emailless","owing","tenPercentDiff","getLandlordsBankless","getLandlordsEmailless","getLandlordsOwing","getLandlordsTenPercentBalance","landlordsBanklessRecords","landlordsEmaillessRecords","landlordsOwingRecords","landlordsTenPercentBalanceDifference","allLandlordRecords","SET_LANDLORDS_BANKLESS_RECORDS","SET_LANDLORDS_EMAILLESS_RECORDS","SET_LANDLORDS_OWING_RECORDS","SET_LANDLORDS_TEN_PERCENT_DIFFERENCE_RECORDS","SET_ALL_LANDLORDS_RECORDS","getAllLandlordsRecords","getLandlordsBanklessRecords","getLandlordsEmaillessRecords","getLandlordsOwingRecords","getLandlordsTenPercentDifferenceRecords","tenants","SET_TENANTS","getTenantsCount","active","arrears","notChased","historic","inArrears","getTenantsActive","getTenantsHistoric","getTenantsArrears","getTenantsNotChased","tenantsActiveRecords","tenantsArrearsRecords","tenantsArrearsLessThan61Days","tenantsArrearsOver61Days","tenantsNotChasedRecords","tenantsHistoricRecords","SET_TENANTS_ACTIVE_RECORDS","SET_TENANTS_ARREARS_RECORDS","Data","filter","tenant","TenantInDebtDuration","SET_TENANTS_NOT_CHASED_RECORDS","SET_TENANTS_HISTORIC_RECORDS","downloadStoGuide","payload","responseType","response","fileURL","URL","createObjectURL","Blob","fileLink","body","click","getTenantsActiveRecords","getTenantsArrearsRecords","getTenantsNotChasedRecords","getTenantsHistoricRecords","properties","SET_PROPERTIES","getPropertiesCount","managed","ownerless","collected","tenantless","unmanaged","newTenancies","historicTenancies","log","getPropertiesManaged","getPropertiesOwnerless","getPropertiesRentcollected","getPropertiesTenantless","getPropertiesUnmanaged","getPropertiesNewTenancies","getPropertiesHistoricTenancies","propertiesManagedRecords","propertiesWithoutOwnerRecords","propertiesRentCollectedRecords","propertiesWithoutTenantsRecords","propertiesNotManagedRecords","propertiesNewTenanciesRecords","propertiesHistoricRecords","SET_PROPERTIES_MANAGED","SET_PROPERTIES_OWNERLESS","SET_PROPERTIES_RENT_COLLECTED","SET_PROPERTIES_WITHOUT_TENANTS","SET_PROPERTIES_NOT_MANAGED","SET_PROPERTIES_NEW_TENANCIES","SET_PROPERTIES_HISTORIC_TENANCIES","getPropertiesManagedRecords","getPropertiesOwnerlessRecords","getPropertiesRentCollectedRecords","getPropertiesWithoutTenantsRecords","getPropertiesNotManagedRecords","getPropertiesNewTenanciesRecords","getPropertiesHistoricTenanciesRecords","contractors","SET_CONTRACTORS","getContractorsCount","onHold","getContractorsBankless","getContractorsEmailless","getContractorsOnHold","contractorsAll","SET_CONTRACTORS_ALL","SET_CONTRACTORS_BANKLESS_RECORDS","SET_CONTRACTORS_EMAILLESS_RECORDS","SET_CONTRACTORS_ON_HOLD","getAllContractorsRecords","getContractorsBanklessRecords","getContractorsEmaillessRecords","landlordsToPay","contractorsToPay","tenantsToPay","zeroBalance","SET_LANDLORDS_PAYMENTS","SET_TENANTS_PAYMENTS","SET_CONTRACTORS_PAYMENTS","SET_ZERO_BALANCE_PAYMENTS","getters","getAllOutgoingPayments","concatenated","set","Set","unionArray","flat","item","has","PayeeID","add","filtered","el","pausePayment","downloadInvoice","getLandlordsPayments","ToPay","getTenantsPayments","getContractorsPayments","getZeroBalancePayments","unreconciledPaymentsRecords","reconciledPaymentsRecords","SET_UNRECONCILED_PAYMENTS_RECORDS","SET_RECONCILED_PAYMENTS_RECORDS","getUnreconciledPaymentsRecords","getReconciledPaymentsRecords","paidInvoices","SET_PAID_INVOICES","getPaidInvoices","monthToSearch","exportPaidInvoices","unpaidInvoices","SET_UNPAID_INVOICES","getUnpaidInvoices","exportUnpaidInvoices","accounts","records","SET_ACCOUNTS","SET_RECORDS","CLEAR_RECORDS","getAccounts","searchDate","getRecords","scheme","exportRecords","bankAccounts","SET_BANK_ACCOUNTS","getBankAccounts","authorizeAccount","bankID","linkableAccount","linkAccount","credentials","systemBancAccountID","openBankingAccountID","unlinkAccount","accountID","submittedDeductionRecords","SET_SUBMITTED_DEDUCTIONS","downloadDocument","getSubmittedDeductionRecords","authoriseContractorInvoice","deductionID","rejectContractorInvoice","archiveContractorInvoice","getPaymentRequests","showOneOffPayments","showStoPayments","dateTo","personID","createOneOffPayment","submissionModel","Description","description","Amount","amount","EntryType","entryType","createStoPayment","FirstPayment","firstPayment","LastPayment","lastPayment","Frequency","frequency","cancelPaymentRequest","paymentReference","RStBReport","SET_RSTB","getRStB","Results","exportRStB","currencyFilterData","SET_CURRENCY_DATA","setItem","JSON","stringify","getCurrencyData","currencyInfo","parse","forecastReports","SET_MANAGEMENT_FEE_FORECASTS","getManagementFeeForecasts","reports","authAgentOSSignIn","username","userDisplayName","userPassword","Auth","signIn","String","signUp","password","currentUserInfo","authAgentOSSignOut","signOut","Vuex","Store","DashboardCards","LandlordsCount","LandlordsRecords","TenantsCount","TenantsRecords","PropertiesCount","PropertiesRecords","OutgoingPayments","UnreconciledPayments","PaidInvoices","DepositsHeld","ContractorsCount","ContractorsRecords","OpenBankingRequests","InvoiceRecords","PaymentRequests","UnpaidInvoices","RStB","CurrencyData","ManagementFeeForecast","userSpecific","activeUser","branchName","multiBranchAccess","allBranches","errorMessages","lightTheme","salesChargeTypes","nominalCodes","SET_ERROR","SET_USER_DATA","userData","Date","now","UserOID","UserDisplayName","UserToken","EXPIRE_LOGIN","loginTime","msBetweenDates","Math","abs","getTime","hoursBetweenDates","CLEAR_USER_DATA","removeItem","defaults","common","SET_SINGLE_BRANCH_USER","ActiveUser","ManagingBranchOID","SET_MULTI_BRANCH_USER","MultiBranchAccess","SET_SELECTED_BRANCH","OID","Name","SET_ALL_BRANCHES","SET_ALTERNATIVE_DASHBOARD","SET_LIGHT_THEME","SET_SALES_CHARGE_TYPES","SET_NOMINAL_CODES","fetchDashboardData","fetchOutgoingPaymentsData","fetchUnreconciledsPaymentsData","fetchTenantsRecords","fetchPropertyRecords","fetchLandlordRecords","fetchContractorRecords","fetchOpenBankingData","login","Username","Password","loginAgentOSSessionID","ShortName","shortName","SessionID","sessionID","sessionStatus","getAllBranches","alphabeticallySorted","sort","a","b","nameA","toLowerCase","nameB","unshift","setSelectedBranch","branchObj","logout","sendMessage","attachments","recordID","source","comment","commentRecipient","getSpecificPersonById","getSalesChargeTypes","getNominalCodes","axiosGet","options","returnUserFirstName","firstName","replace","landlordsOnHold","OnHold","tenantsOnHold","contractorsOnHold","contractor","getPropertyCountAverage","array","PropertyCountPerformance","reduce","acc","val","getRentRollPerformanceAverage","RentRollPerformance","inArrearsUnder14","under14","inArrears14To31","inArrears32To62","inArrearsOver62","Vuetify","opts","icons","iconfont","themes","primary","secondary","tertiary","dialogColor","accent","tabColor","tableColor","staticClass","linkTo","_t","on","setColor","myColor","VCard","VCardTitle","VIcon","VSimpleTable","overlay","VOverlay","VProgressCircular","register","ready","registered","cached","updatefound","updated","location","reload","offline","awsmobile","Amplify","API","Storage","configure","aws_exports","BaseDashboardInfoCard","CircularOverlay","config","productionTip","moment","format","Intl","NumberFormat","style","currency","VueFriendlyIframe","DatetimePicker","store","vuetify","created","userString","interceptors","status","render","h","App","$mount"],"mappings":"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","file":"js/app.b3544c24.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/\" + ({\"polyfills-core-js\":\"polyfills-core-js\",\"polyfills-css-shim\":\"polyfills-css-shim\",\"polyfills-dom\":\"polyfills-dom\"}[chunkId]||chunkId) + \".\" + {\"chunk-019a99fc\":\"15793264\",\"chunk-527306eb\":\"cbc3139f\",\"chunk-f1732502\":\"b690310b\",\"chunk-3277911e\":\"fe3a5072\",\"chunk-592912c6\":\"b0a61885\",\"chunk-0ae6b3de\":\"006f1209\",\"chunk-2023f33e\":\"561d58ad\",\"chunk-1352bbcd\":\"1b6db5de\",\"chunk-2d8f26fd\":\"0135763e\",\"chunk-3dfc316c\":\"ce573564\",\"chunk-6c304de2\":\"8047dbf3\",\"chunk-6e065aa9\":\"80efffe1\",\"chunk-768b4f4e\":\"1827e7c9\",\"chunk-ecf8338a\":\"263e3dc1\",\"chunk-230dc874\":\"cb90da1c\",\"chunk-3933a65a\":\"da101c0f\",\"chunk-556ad1bf\":\"d72c77da\",\"chunk-6a6fcca0\":\"2c3280ba\",\"chunk-9c07e750\":\"7ad411a2\",\"chunk-079bae66\":\"dab5b2a0\",\"chunk-1c1f32f8\":\"d97151d5\",\"chunk-2d0a4629\":\"9ad29b78\",\"chunk-2d0abfcf\":\"b1948847\",\"chunk-2d0b722b\":\"13cf7afc\",\"chunk-2d0dd0bc\":\"b5c4bb06\",\"chunk-2d208de0\":\"10d1f0f6\",\"chunk-2d228cf2\":\"4f17031f\",\"chunk-2d22c8fe\":\"61fc0767\",\"chunk-2d22dbc9\":\"e5f47d9a\",\"chunk-35d5ca8f\":\"1bade4f2\",\"chunk-37038b9e\":\"b0c74a4d\",\"chunk-38eef0fd\":\"f4dbeaa3\",\"chunk-418d76ba\":\"57262ffd\",\"chunk-2d0d7838\":\"a40bbdf2\",\"chunk-62175330\":\"26dc2e87\",\"chunk-621a6c74\":\"2832181b\",\"chunk-62421cd4\":\"7f7b6d62\",\"chunk-6242f2c2\":\"c6919b47\",\"chunk-5a8fa643\":\"028ce982\",\"chunk-5eb09c95\":\"dfa6979e\",\"chunk-6218ddf4\":\"490d0b7f\",\"chunk-62199c8c\":\"7966d96a\",\"chunk-6c0e9397\":\"bfa65a75\",\"chunk-6ed2ef0c\":\"1f4771ca\",\"chunk-73798ed0\":\"6d8fcf5b\",\"chunk-8f5ce514\":\"615464b8\",\"chunk-c4d414ba\":\"1796c94a\",\"chunk-ccf5388e\":\"dd0be199\",\"chunk-d45e23a8\":\"b6a0bcf4\",\"chunk-2d208840\":\"8d6701ad\",\"chunk-2d2105ef\":\"edf62b2f\",\"chunk-2d226365\":\"9625ca8d\",\"chunk-e5bb031e\":\"5624eab1\",\"chunk-f8101af4\":\"a79f87d9\",\"chunk-f969a952\":\"9bc39492\",\"polyfills-core-js\":\"c802f76e\",\"polyfills-css-shim\":\"ac087954\",\"polyfills-dom\":\"e01853a0\"}[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-019a99fc\":1,\"chunk-527306eb\":1,\"chunk-f1732502\":1,\"chunk-3277911e\":1,\"chunk-592912c6\":1,\"chunk-0ae6b3de\":1,\"chunk-2023f33e\":1,\"chunk-1352bbcd\":1,\"chunk-2d8f26fd\":1,\"chunk-6c304de2\":1,\"chunk-6e065aa9\":1,\"chunk-768b4f4e\":1,\"chunk-ecf8338a\":1,\"chunk-230dc874\":1,\"chunk-3933a65a\":1,\"chunk-556ad1bf\":1,\"chunk-6a6fcca0\":1,\"chunk-079bae66\":1,\"chunk-38eef0fd\":1,\"chunk-5a8fa643\":1,\"chunk-8f5ce514\":1,\"chunk-f8101af4\":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/\" + ({\"polyfills-core-js\":\"polyfills-core-js\",\"polyfills-css-shim\":\"polyfills-css-shim\",\"polyfills-dom\":\"polyfills-dom\"}[chunkId]||chunkId) + \".\" + {\"chunk-019a99fc\":\"f7b0a847\",\"chunk-527306eb\":\"40439fea\",\"chunk-f1732502\":\"10d9c775\",\"chunk-3277911e\":\"c4ea6f89\",\"chunk-592912c6\":\"3855e452\",\"chunk-0ae6b3de\":\"efc458c9\",\"chunk-2023f33e\":\"f29be4d0\",\"chunk-1352bbcd\":\"8de3599e\",\"chunk-2d8f26fd\":\"fa684813\",\"chunk-3dfc316c\":\"31d6cfe0\",\"chunk-6c304de2\":\"1cbfa72c\",\"chunk-6e065aa9\":\"d3de4bc2\",\"chunk-768b4f4e\":\"bb4c5ab0\",\"chunk-ecf8338a\":\"46029562\",\"chunk-230dc874\":\"4832eb3c\",\"chunk-3933a65a\":\"546173c9\",\"chunk-556ad1bf\":\"7c28f65c\",\"chunk-6a6fcca0\":\"11802d4b\",\"chunk-9c07e750\":\"31d6cfe0\",\"chunk-079bae66\":\"fe677701\",\"chunk-1c1f32f8\":\"31d6cfe0\",\"chunk-2d0a4629\":\"31d6cfe0\",\"chunk-2d0abfcf\":\"31d6cfe0\",\"chunk-2d0b722b\":\"31d6cfe0\",\"chunk-2d0dd0bc\":\"31d6cfe0\",\"chunk-2d208de0\":\"31d6cfe0\",\"chunk-2d228cf2\":\"31d6cfe0\",\"chunk-2d22c8fe\":\"31d6cfe0\",\"chunk-2d22dbc9\":\"31d6cfe0\",\"chunk-35d5ca8f\":\"31d6cfe0\",\"chunk-37038b9e\":\"31d6cfe0\",\"chunk-38eef0fd\":\"f9d6fdfa\",\"chunk-418d76ba\":\"31d6cfe0\",\"chunk-2d0d7838\":\"31d6cfe0\",\"chunk-62175330\":\"31d6cfe0\",\"chunk-621a6c74\":\"31d6cfe0\",\"chunk-62421cd4\":\"31d6cfe0\",\"chunk-6242f2c2\":\"31d6cfe0\",\"chunk-5a8fa643\":\"36c758d3\",\"chunk-5eb09c95\":\"31d6cfe0\",\"chunk-6218ddf4\":\"31d6cfe0\",\"chunk-62199c8c\":\"31d6cfe0\",\"chunk-6c0e9397\":\"31d6cfe0\",\"chunk-6ed2ef0c\":\"31d6cfe0\",\"chunk-73798ed0\":\"31d6cfe0\",\"chunk-8f5ce514\":\"fba80995\",\"chunk-c4d414ba\":\"31d6cfe0\",\"chunk-ccf5388e\":\"31d6cfe0\",\"chunk-d45e23a8\":\"31d6cfe0\",\"chunk-2d208840\":\"31d6cfe0\",\"chunk-2d2105ef\":\"31d6cfe0\",\"chunk-2d226365\":\"31d6cfe0\",\"chunk-e5bb031e\":\"31d6cfe0\",\"chunk-f8101af4\":\"7214b622\",\"chunk-f969a952\":\"31d6cfe0\",\"polyfills-core-js\":\"31d6cfe0\",\"polyfills-css-shim\":\"31d6cfe0\",\"polyfills-dom\":\"31d6cfe0\"}[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","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseDashboardInfoCard.vue?vue&type=style&index=0&id=e1992764&scoped=true&lang=css&\"","var map = {\n\t\"./amplify-amazon-button_5.entry.js\": [\n\t\t\"77e1\",\n\t\t\"chunk-ccf5388e\"\n\t],\n\t\"./amplify-auth-fields_9.entry.js\": [\n\t\t\"2689\",\n\t\t\"chunk-6c0e9397\"\n\t],\n\t\"./amplify-authenticator.entry.js\": [\n\t\t\"b836\",\n\t\t\"chunk-d45e23a8\",\n\t\t\"chunk-2d2105ef\"\n\t],\n\t\"./amplify-button_3.entry.js\": [\n\t\t\"efa9\",\n\t\t\"chunk-6ed2ef0c\"\n\t],\n\t\"./amplify-chatbot.entry.js\": [\n\t\t\"9b2c\",\n\t\t\"chunk-37038b9e\"\n\t],\n\t\"./amplify-checkbox.entry.js\": [\n\t\t\"db86\",\n\t\t\"chunk-2d228cf2\"\n\t],\n\t\"./amplify-confirm-sign-in_7.entry.js\": [\n\t\t\"e862\",\n\t\t\"chunk-d45e23a8\",\n\t\t\"chunk-2d226365\"\n\t],\n\t\"./amplify-container.entry.js\": [\n\t\t\"a72f\",\n\t\t\"chunk-2d208de0\"\n\t],\n\t\"./amplify-federated-buttons_2.entry.js\": [\n\t\t\"644c\",\n\t\t\"chunk-1c1f32f8\"\n\t],\n\t\"./amplify-federated-sign-in.entry.js\": [\n\t\t\"a81f\",\n\t\t\"chunk-35d5ca8f\"\n\t],\n\t\"./amplify-form-field_4.entry.js\": [\n\t\t\"f988\",\n\t\t\"chunk-2d22dbc9\"\n\t],\n\t\"./amplify-greetings.entry.js\": [\n\t\t\"57dd\",\n\t\t\"chunk-c4d414ba\"\n\t],\n\t\"./amplify-icon-button.entry.js\": [\n\t\t\"182d\",\n\t\t\"chunk-2d0abfcf\"\n\t],\n\t\"./amplify-icon.entry.js\": [\n\t\t\"b8f5\",\n\t\t\"chunk-e5bb031e\"\n\t],\n\t\"./amplify-link.entry.js\": [\n\t\t\"f482\",\n\t\t\"chunk-2d22c8fe\"\n\t],\n\t\"./amplify-nav_2.entry.js\": [\n\t\t\"23a0\",\n\t\t\"chunk-5eb09c95\"\n\t],\n\t\"./amplify-photo-picker.entry.js\": [\n\t\t\"c4f1\",\n\t\t\"chunk-62199c8c\"\n\t],\n\t\"./amplify-picker.entry.js\": [\n\t\t\"d040\",\n\t\t\"chunk-6218ddf4\"\n\t],\n\t\"./amplify-radio-button_2.entry.js\": [\n\t\t\"a4b9\",\n\t\t\"chunk-d45e23a8\",\n\t\t\"chunk-2d208840\"\n\t],\n\t\"./amplify-s3-album.entry.js\": [\n\t\t\"4e6f\",\n\t\t\"chunk-418d76ba\",\n\t\t\"chunk-6242f2c2\"\n\t],\n\t\"./amplify-s3-image-picker.entry.js\": [\n\t\t\"b90a\",\n\t\t\"chunk-418d76ba\",\n\t\t\"chunk-621a6c74\"\n\t],\n\t\"./amplify-s3-image.entry.js\": [\n\t\t\"76ad\",\n\t\t\"chunk-418d76ba\",\n\t\t\"chunk-2d0d7838\"\n\t],\n\t\"./amplify-s3-text-picker.entry.js\": [\n\t\t\"5af2\",\n\t\t\"chunk-418d76ba\",\n\t\t\"chunk-62421cd4\"\n\t],\n\t\"./amplify-s3-text.entry.js\": [\n\t\t\"dce0\",\n\t\t\"chunk-418d76ba\",\n\t\t\"chunk-62175330\"\n\t],\n\t\"./amplify-select-mfa-type.entry.js\": [\n\t\t\"fef4\",\n\t\t\"chunk-73798ed0\"\n\t],\n\t\"./amplify-sign-in-button.entry.js\": [\n\t\t\"7358\",\n\t\t\"chunk-f969a952\"\n\t],\n\t\"./amplify-toast.entry.js\": [\n\t\t\"05e3\",\n\t\t\"chunk-2d0a4629\"\n\t],\n\t\"./amplify-tooltip.entry.js\": [\n\t\t\"1faa\",\n\t\t\"chunk-2d0b722b\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"521b\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-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--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-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=5891ebca&\"\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=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\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\ninstallComponents(component, {VApp})\n","import Vue from 'vue'\nimport Router from 'vue-router'\n\n// Lazy loading routes\n// const AgentPay = () => import('./views/AgentPay.vue')\n// const Home = () => import('./views/Home.vue')\n// const Dashboard = () => import('./views/Dashboard.vue')\n// const UnreconciledPayments = () => import('./views/UnreconciledPayments.vue')\n// const OutgoingPayments = () => import('./views/OutgoingPayments.vue')\n// const Tenants = () => import('./views/Tenants.vue')\n// const Properties = () => import('./views/Properties.vue')\n// const Landlords = () => import('./views/Landlords.vue')\n// const Edits = () => import('./views/Edits.vue')\n// const FAQ = () => import('./views/FAQ.vue')\n// const Reports = () => import('./views/Reports.vue')\n// const AddTenancy = () => import('./views/AddTenancy.vue')\n// const AddContractor = () => import('./views/AddContractor.vue')\n// const NotFound = () => import('./views/NotFound.vue')\n// const Contractors = () => import('./views/Contractors.vue')\n// const OpenBanking = () => import('./views/OpenBanking.vue')\n\nVue.use(Router)\n\nconst routes = [\n {\n path: '/',\n name: 'home',\n component: () => import('./views/Home.vue')\n },\n {\n path: '/index.html',\n component: () => import('./views/Home.vue'),\n alias: '/'\n },\n {\n path: '/agentpay',\n redirect: '/agentpay/dashboard',\n name: 'agentpay',\n component: () => import('./views/AgentPay.vue'),\n meta: { requiresAuth: true},\n children: [\n {\n path: 'dashboard',\n name: 'dashboard',\n component: () => import('./views/Dashboard.vue')\n },\n {\n path: 'outgoing',\n name: 'outgoing',\n component: () => import('./views/OutgoingPayments.vue')\n },\n {\n path: 'invoices',\n name: 'Invoices',\n component: () => import('./views/Invoices.vue')\n },\n {\n path: 'unreconciled',\n name: 'unreconciled',\n component: () => import('./views/ClientAccounts.vue')\n },\n {\n path: 'tenants',\n name: 'tenants',\n component: () => import('./views/Tenants.vue')\n },\n {\n path: 'properties',\n name: 'properties',\n component: () => import('./views/Properties.vue')\n },\n {\n path: 'landlords',\n name: 'landlords',\n component: () => import('./views/Landlords.vue')\n },\n {\n path: 'edits',\n name: 'edits',\n component: () => import('./views/Edits.vue')\n },\n {\n path: 'faq',\n name: 'faq',\n component: () => import('./views/FAQ.vue')\n },\n {\n path: 'reports',\n name: 'reports',\n component: () => import('./views/Reports.vue')\n },\n {\n path: 'addTenancy',\n name: 'addTenancy',\n component: () => import('./views/AddTenancy.vue')\n },\n {\n path: 'addContractor',\n name: 'addContractor',\n component: () => import('./views/AddContractor.vue')\n },\n {\n path: 'contractors',\n name: 'contractors',\n component: () => import('./views/Contractors.vue')\n },\n {\n path: 'open-banking',\n name: 'openBanking',\n component: () => import('./views/OpenBanking.vue')\n },\n {\n path: 'payments/:id',\n name: 'Payments',\n props: true,\n component: () => import('./views/IndividualPayments.vue')\n },\n {\n path: 'payments',\n name: 'Payments',\n props: true,\n component: () => import('./views/AllPayments.vue')\n },\n {\n path: 'forecasts',\n name: 'Forecasts',\n props: true,\n component: () => import('./views/Forecasts.vue')\n },\n ]\n \n },\n {\n path: '/404',\n name: '404',\n component: () => import('./views/NotFound.vue')\n },\n {\n path: '*',\n redirect: { name: '404' }\n }\n]\n\nconst router = new Router({\n mode: 'history',\n base: process.env.BASE_URL,\n routes,\n scrollBehavior (to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition\n } else {\n return { y: 0 }\n }\n }\n})\n\n//checks routes for Authorization and if logged route\n// re-routes to homepage\n// -------------------------------------------------------\n\nrouter.beforeEach((to, from, next) => {\n const loggedIn = localStorage.getItem('user')\n\n if (to.matched.some(record => record.meta.requiresAuth) && !loggedIn) {\n next('/')\n }\n next()\n})\n\nexport default router\n","// Unreconciled Payments\n// Outgoing Payments\n// Insights\n// Income\n// Portfolio Growth\n\nimport axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n unreconciledPayments: '',\n outGoingPayments: '',\n insights: '',\n income: '',\n portfolioGrowth: '',\n },\n mutations: {\n SET_UNRECONCILED_PAYMENTS(state, data) {\n state.unreconciledPayments = data\n },\n SET_OUTGOING_PAYMENTS(state, data) {\n state.outGoingPayments = data\n },\n SET_INSIGHTS(state, data) {\n state.insights = data\n },\n SET_INCOME(state, data) {\n state.income = data\n },\n SET_PORTFOLIO_GROWTH(state, data) {\n state.portfolioGrowth = data\n },\n },\n actions: {\n getUnreconciledPayments({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/payments/unreconciled/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_UNRECONCILED_PAYMENTS', data)\n })\n .catch( err => {\n commit('SET_ERROR', err, { root: true })\n })\n },\n getOutGoingPayments({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/outgoingPayments/summary`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_OUTGOING_PAYMENTS', data)\n })\n },\n getInsights({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/dashboard/insights`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_INSIGHTS', data)\n })\n },\n getIncome({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/dashboard/income`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_INCOME', data)\n })\n },\n getPortfolioGrowth({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/dashboard/portfoliogrowth`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_PORTFOLIO_GROWTH', data.Nodes)\n })\n },\n }\n}\n\n// LandlordsCount.js\n// PropertiesCount.js\n// TenantsCount.sj \n// for more dashboard cards","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n landlords: '',\n },\n mutations: {\n SET_LANDLORDS(state, data) {\n state.landlords = data\n },\n },\n\tactions : {\n\t\t// Multiple Axios request -----------------------\n\t\tgetLandlordsCount({commit, dispatch}) {\n\t\t\treturn axios.all([\n\t\t\tdispatch('getLandlordsBankless'),\n\t\t\tdispatch('getLandlordsEmailless'),\n\t\t\tdispatch('getLandlordsOwing'),\n\t\t\tdispatch('getLandlordsTenPercentBalance'),\n\t\t\t])\n\t\t\t.then(axios.spread( (bankless, emailless, owing, tenPercentDiff) => {\n\t\t\t\t\tcommit('SET_LANDLORDS', {\n bankless: bankless.data,\n emailless: emailless.data,\n owing: owing.data,\n tenPercentDiff: tenPercentDiff.data,\n\t\t\t\t\t})\n\n\t\t\t}))\n },\n // Following APIs called simultaneaously\n\t\tgetLandlordsBankless({rootState}) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/landlords/bankless/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n\t\t\t})\n\t\t},\n\t\tgetLandlordsEmailless({rootState}) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/landlords/emailless/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n\t\t\t})\n\t\t},\n\t\tgetLandlordsOwing({rootState}) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/landlords/owing/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n\t\t\t})\n\t\t},\n\t\tgetLandlordsTenPercentBalance({rootState}) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/landlords/tenPercentBalanceDifference/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n\t\t\t})\n\t\t},\n\t}\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n landlordsBanklessRecords: '',\n landlordsEmaillessRecords: '',\n landlordsOwingRecords: '',\n landlordsTenPercentBalanceDifference: '',\n allLandlordRecords: ''\n },\n mutations: {\n SET_LANDLORDS_BANKLESS_RECORDS(state, data) {\n state.landlordsBanklessRecords = data\n },\n SET_LANDLORDS_EMAILLESS_RECORDS(state, data) {\n state.landlordsEmaillessRecords = data\n },\n SET_LANDLORDS_OWING_RECORDS(state, data) {\n state.landlordsOwingRecords = data\n },\n SET_LANDLORDS_TEN_PERCENT_DIFFERENCE_RECORDS(state, data) {\n state.landlordsTenPercentBalanceDifference = data\n },\n SET_ALL_LANDLORDS_RECORDS(state, data) {\n state.allLandlordRecords = data\n }\n },\n actions: {\n getAllLandlordsRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/landlords/all/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_ALL_LANDLORDS_RECORDS', data)\n })\n },\n getLandlordsBanklessRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/landlords/bankless/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_LANDLORDS_BANKLESS_RECORDS', data)\n })\n },\n getLandlordsEmaillessRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/landlords/emailless/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_LANDLORDS_EMAILLESS_RECORDS', data)\n })\n },\n getLandlordsOwingRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/landlords/owing/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_LANDLORDS_OWING_RECORDS', data)\n })\n },\n getLandlordsTenPercentDifferenceRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/landlords/tenPercentBalanceDifference/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_LANDLORDS_TEN_PERCENT_DIFFERENCE_RECORDS', data)\n })\n }\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n tenants: '',\n },\n mutations: {\n SET_TENANTS(state, data) {\n state.tenants = data\n },\n },\n actions : {\n // Multiple Axios request -----------------------\n getTenantsCount({commit, dispatch}) {\n return axios.all([\n dispatch('getTenantsActive'),\n dispatch('getTenantsArrears'),\n dispatch('getTenantsNotChased'),\n dispatch('getTenantsHistoric')\n ])\n .then(axios.spread( (active, arrears, notChased, historic) => {\n commit('SET_TENANTS', {\n active: active.data,\n inArrears: arrears.data,\n notChased: notChased.data,\n historic: historic.data\n })\n }))\n },\n // Requesting following 3 API calls\n getTenantsActive({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/tenants/active/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n getTenantsHistoric({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/tenants/historic/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n getTenantsArrears({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/tenants/arrears/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n getTenantsNotChased({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/tenants/notChased/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n tenantsActiveRecords: '',\n tenantsArrearsRecords: '',\n tenantsArrearsLessThan61Days: '',\n tenantsArrearsOver61Days: '',\n tenantsNotChasedRecords: '',\n tenantsHistoricRecords: ''\n },\n mutations: {\n SET_TENANTS_ACTIVE_RECORDS(state, data) {\n state.tenantsActiveRecords = data\n },\n SET_TENANTS_ARREARS_RECORDS(state, data) {\n state.tenantsArrearsRecords = data\n state.tenantsArrearsLessThan61Days = data.Data.filter(tenant => tenant.TenantInDebtDuration <= 61)\n state.tenantsArrearsOver61Days = data.Data.filter(tenant => tenant.TenantInDebtDuration > 61)\n },\n SET_TENANTS_NOT_CHASED_RECORDS(state, data) {\n state.tenantsNotChasedRecords = data\n },\n SET_TENANTS_HISTORIC_RECORDS(state, data) {\n state.tenantsHistoricRecords = data\n },\n },\n actions: {\n downloadStoGuide({rootState}, payload) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/tenants/${payload}/sto`,\n responseType: 'blob',\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n })\n .then((response) => {\n var fileURL = window.URL.createObjectURL(new Blob([response.data]));\n var fileLink = document.createElement('a');\n fileLink.href = fileURL\n fileLink.setAttribute('download', 'file.pdf');\n document.body.appendChild(fileLink);\n fileLink.click();\n })\n },\n getTenantsActiveRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/tenants/active/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_TENANTS_ACTIVE_RECORDS', data)\n })\n },\n getTenantsArrearsRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/tenants/arrears/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_TENANTS_ARREARS_RECORDS', data)\n })\n },\n getTenantsNotChasedRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/tenants/notChased/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_TENANTS_NOT_CHASED_RECORDS', data)\n })\n },\n getTenantsHistoricRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/tenants/historic/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_TENANTS_HISTORIC_RECORDS', data)\n })\n },\n }\n} ","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n properties: '',\n },\n mutations: {\n SET_PROPERTIES(state, data) {\n state.properties = data\n },\n },\n actions: {\n // Multiple Axios request -----------------------\n getPropertiesCount({commit, dispatch}) {\n return axios.all([\n dispatch('getPropertiesManaged'),\n dispatch('getPropertiesOwnerless'),\n dispatch('getPropertiesRentcollected'),\n dispatch('getPropertiesTenantless'),\n dispatch('getPropertiesUnmanaged'),\n dispatch('getPropertiesNewTenancies'),\n dispatch('getPropertiesHistoricTenancies')\n ])\n .then(axios.spread( (managed, ownerless, collected, tenantless, unmanaged, newTenancies, historicTenancies) => {\n console.log(historicTenancies);\n commit('SET_PROPERTIES', {\n managed: managed.data,\n ownerless: ownerless.data,\n collected: collected.data,\n tenantless: tenantless.data,\n unmanaged: unmanaged.data,\n newTenancies: newTenancies.data,\n historicTenancies: historicTenancies.data\n })\n }))\n },\n //Calling following 5 requests\n getPropertiesManaged({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/managed/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n getPropertiesOwnerless({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/ownerless/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n getPropertiesRentcollected({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/rentcollect/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n getPropertiesTenantless({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/tenantless/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n getPropertiesUnmanaged({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/unmanaged/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n getPropertiesNewTenancies({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/newtenancies/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n getPropertiesHistoricTenancies({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/historictenancies/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n }\n}\n\n\n\n","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n propertiesManagedRecords: '',\n propertiesWithoutOwnerRecords: '',\n propertiesRentCollectedRecords: '',\n propertiesWithoutTenantsRecords: '',\n propertiesNotManagedRecords: '',\n propertiesNewTenanciesRecords: '',\n propertiesHistoricRecords: ''\n },\n mutations: {\n SET_PROPERTIES_MANAGED(state, data) {\n state.propertiesManagedRecords = data\n },\n SET_PROPERTIES_OWNERLESS(state, data) {\n state.propertiesWithoutOwnerRecords = data\n },\n SET_PROPERTIES_RENT_COLLECTED(state, data) {\n state.propertiesRentCollectedRecords = data\n },\n SET_PROPERTIES_WITHOUT_TENANTS(state, data) {\n state.propertiesWithoutTenantsRecords = data\n },\n SET_PROPERTIES_NOT_MANAGED(state, data) {\n state.propertiesNotManagedRecords = data\n },\n SET_PROPERTIES_NEW_TENANCIES(state, data) {\n state.propertiesNewTenanciesRecords = data\n },\n SET_PROPERTIES_HISTORIC_TENANCIES(state, data){\n state.propertiesHistoricRecords = data;\n }\n },\n actions: {\n getPropertiesManagedRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/managed/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_PROPERTIES_MANAGED', data.Data)\n })\n },\n getPropertiesOwnerlessRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/ownerless/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_PROPERTIES_OWNERLESS', data.Data)\n })\n },\n getPropertiesRentCollectedRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/rentCollect/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_PROPERTIES_RENT_COLLECTED', data.Data)\n })\n },\n getPropertiesWithoutTenantsRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/tenantless/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_PROPERTIES_WITHOUT_TENANTS', data.Data)\n })\n },\n getPropertiesNotManagedRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/unmanaged/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_PROPERTIES_NOT_MANAGED', data.Data)\n })\n },\n getPropertiesNewTenanciesRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/newtenancies/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_PROPERTIES_NEW_TENANCIES', data.Data)\n })\n },\n getPropertiesHistoricTenanciesRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/properties/historictenancies/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_PROPERTIES_HISTORIC_TENANCIES', data.Data)\n })\n },\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n contractors: '',\n },\n mutations: {\n SET_CONTRACTORS(state, data) {\n state.contractors = data\n },\n },\n\tactions : {\n\t\t// Multiple Axios request -----------------------\n\t\tgetContractorsCount({commit, dispatch}) {\n\t\t\treturn axios.all([\n\t\t\tdispatch('getContractorsBankless'),\n\t\t\tdispatch('getContractorsEmailless'),\n\t\t\tdispatch('getContractorsOnHold'),\n\t\t\t])\n\t\t\t.then(axios.spread( (bankless, emailless, onHold) => {\n\t\t\t\t\tcommit('SET_CONTRACTORS', {\n bankless: bankless.data,\n emailless: emailless.data,\n onHold: onHold.data,\n\t\t\t\t\t})\n\n\t\t\t}))\n },\n // Following APIs called simultaneaously\n\t\tgetContractorsBankless({rootState}) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/bankless/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n\t\t\t})\n\t\t},\n\t\tgetContractorsEmailless({rootState}) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/emailess/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n\t\t\t})\n\t\t},\n\t\tgetContractorsOnHold({rootState}) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/onHold/count`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n\t\t\t})\n\t\t},\n\t}\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n contractorsAll: '',\n bankless: '',\n emailless: '',\n onHold: '',\n },\n mutations: {\n SET_CONTRACTORS_ALL(state, data) {\n state.contractorsAll = data\n },\n SET_CONTRACTORS_BANKLESS_RECORDS(state, data) {\n state.bankless = data\n },\n SET_CONTRACTORS_EMAILLESS_RECORDS(state, data) {\n state.emailless = data\n },\n SET_CONTRACTORS_ON_HOLD(state, data) {\n state.onHold = data\n }\n },\n actions: {\n getAllContractorsRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/all/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_CONTRACTORS_ALL', data)\n })\n },\n getContractorsBanklessRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/bankless/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_CONTRACTORS_BANKLESS_RECORDS', data)\n })\n },\n getContractorsEmaillessRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/emailess/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_CONTRACTORS_EMAILLESS_RECORDS', data)\n })\n },\n getContractorsOnHold({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/onHold/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_CONTRACTORS_ON_HOLD', data)\n })\n }\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n landlordsToPay: '',\n contractorsToPay: '',\n tenantsToPay: '',\n zeroBalance: ''\n },\n mutations: {\n SET_LANDLORDS_PAYMENTS(state, data) {\n state.landlordsToPay = data\n },\n SET_TENANTS_PAYMENTS(state, data) {\n state.tenantsToPay = data\n },\n SET_CONTRACTORS_PAYMENTS(state, data) {\n state.contractorsToPay = data\n },\n SET_ZERO_BALANCE_PAYMENTS(state, data) {\n state.zeroBalance = data\n },\n },\n getters:{\n getAllOutgoingPayments(state) {\n if(state.zeroBalance === ''){\n return null;\n }\n else{\n let concatenated = [];\n concatenated = [state.landlordsToPay, state.contractorsToPay, state.tenantsToPay, state.zeroBalance]; \n\n let set = new Set();\n let unionArray = concatenated.flat().filter(item => {\n if (!set.has(item.PayeeID) && set !== \"\") {\n set.add(item.PayeeID);\n return true;\n }\n return false;\n }, set);\n\n var filtered = unionArray.filter(function (el) {\n return el != \"\";\n });\n console.log(filtered);\n\n return filtered;\n }\n },\n },\n actions: {\n pausePayment({rootState}, payload) {\n return axios({\n method: 'POST',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/outgoingPayments/togglePause?personID=${payload}`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n })\n },\n downloadInvoice({rootState}, payload) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/download/invoice?invoiceID=${payload}`,\n responseType: 'blob',\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n }\n })\n },\n getLandlordsPayments({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/outgoingPayments/landlords/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_LANDLORDS_PAYMENTS', data.ToPay)\n })\n },\n getTenantsPayments({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/outgoingpayments/tenants/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_TENANTS_PAYMENTS', data.ToPay)\n })\n },\n getContractorsPayments({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/outgoingpayments/contractors/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_CONTRACTORS_PAYMENTS', data.ToPay)\n })\n },\n getZeroBalancePayments({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/outgoingpayments/all/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_ZERO_BALANCE_PAYMENTS', data.ToPay)\n })\n },\n }\n}","// import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n unreconciledPaymentsRecords: '',\n reconciledPaymentsRecords: '',\n\n },\n mutations: {\n SET_UNRECONCILED_PAYMENTS_RECORDS(state, data) {\n state.unreconciledPaymentsRecords = data\n },\n SET_RECONCILED_PAYMENTS_RECORDS(state, data) {\n state.reconciledPaymentsRecords = data\n },\n },\n actions: {\n // Testing calling a single axiosGet action in store/index.js\n getUnreconciledPaymentsRecords({commit, dispatch, rootState}) {\n dispatch('axiosGet', {\n url: 'payments/unreconciled/records',\n params: {\n branchID: rootState.branchID\n }\n }, { root: true })\n .then(({data}) => {\n commit('SET_UNRECONCILED_PAYMENTS_RECORDS', data)\n })\n },\n // getUnreconciledPaymentsRecords({commit, rootState}) {\n // return axios({\n // method: 'GET',\n // url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/payments/unreconciled/records`,\n // headers: {\n // token: rootState.user.LoginToken,\n // api_key: rootState.apiKey,\n // },\n // params: {\n // branchID: rootState.branchID\n // }\n // })\n // .then(({data}) => {\n // commit('SET_UNRECONCILED_PAYMENTS_RECORDS', data)\n // })\n // },\n getReconciledPaymentsRecords({commit, dispatch, rootState}) {\n dispatch('axiosGet', {\n url: 'paymentgroups/records',\n params: {\n branchID: rootState.branchID\n }\n }, { root: true })\n .then(({data}) => {\n commit('SET_RECONCILED_PAYMENTS_RECORDS', data)\n })\n },\n // getReconciledPaymentsRecords({commit, rootState}) {\n // return axios({\n // method: 'GET',\n // url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/paymentgroups/records`,\n // headers: {\n // token: rootState.user.LoginToken,\n // api_key: rootState.apiKey,\n // },\n // params: {\n // branchID: rootState.branchID\n // }\n // })\n // .then(({data}) => {\n // commit('SET_RECONCILED_PAYMENTS_RECORDS', data)\n // })\n // },\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n paidInvoices: ''\n },\n mutations: {\n SET_PAID_INVOICES(state, data) {\n state.paidInvoices = data\n }\n },\n actions: {\n getPaidInvoices({commit, rootState}, payload) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/reporting/invoicespaid`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID,\n monthToSearch: payload\n }\n })\n .then(({data}) => {\n commit('SET_PAID_INVOICES', data.Data)\n })\n .catch( err => console.log(err))\n },\n exportPaidInvoices({rootState}, payload) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/reporting/invoicespaid/export`,\n responseType: 'blob',\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID,\n monthToSearch: payload\n }\n })\n .then((response) => {\n var fileURL = window.URL.createObjectURL(new Blob([response.data]));\n var fileLink = document.createElement('a');\n fileLink.href = fileURL\n fileLink.setAttribute('download', 'paidInvoiceExport.CSV');\n document.body.appendChild(fileLink);\n fileLink.click();\n })\n .catch( err => console.log(err))\n },\n\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n unpaidInvoices: ''\n },\n mutations: {\n SET_UNPAID_INVOICES(state, data) {\n state.unpaidInvoices = data\n }\n },\n actions: {\n getUnpaidInvoices({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/reporting/invoices/unpaid`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID,\n }\n })\n .then(({data}) => {\n commit('SET_UNPAID_INVOICES', data.Data)\n })\n .catch( err => console.log(err))\n },\n exportUnpaidInvoices({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/reporting/invoices/unpaid/export`,\n responseType: 'blob',\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID,\n monthToSearch: payload\n }\n })\n .then((response) => {\n var fileURL = window.URL.createObjectURL(new Blob([response.data]));\n var fileLink = document.createElement('a');\n fileLink.href = fileURL\n fileLink.setAttribute('download', 'unpaidInvoiceExport.CSV');\n document.body.appendChild(fileLink);\n fileLink.click();\n })\n .catch( err => console.log(err))\n },\n\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n accounts: '',\n records: ''\n },\n mutations: {\n SET_ACCOUNTS(state, data) {\n state.accounts = data\n },\n SET_RECORDS(state, data) {\n state.records = data\n },\n CLEAR_RECORDS(state) {\n state.records = ''\n },\n },\n actions: {\n getAccounts({commit, rootState}, payload) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/reporting/depositsheld/accounts`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID,\n searchDate: payload\n }\n })\n .then(({data}) => {\n commit('SET_ACCOUNTS', data)\n })\n .catch( err => console.log(err))\n },\n getRecords({commit, rootState}, payload) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/reporting/depositsheld/${payload.scheme}/records`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID,\n searchDate: payload.searchDate\n }\n })\n .then(({data}) => {\n commit('SET_RECORDS', data)\n })\n .catch( err => console.log(err))\n },\n exportRecords({rootState}, payload) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/reporting/depositsheld/${payload.scheme}/records/export`,\n responseType: 'blob',\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID,\n searchDate: payload.searchDate\n }\n })\n .then((response) => {\n var fileURL = window.URL.createObjectURL(new Blob([response.data]));\n var fileLink = document.createElement('a');\n fileLink.href = fileURL\n fileLink.setAttribute('download', 'depositsHeldExport.CSV');\n document.body.appendChild(fileLink);\n fileLink.click();\n })\n .catch( err => console.log(err))\n },\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n bankAccounts: ''\n },\n mutations: {\n SET_BANK_ACCOUNTS(state, data) {\n state.bankAccounts = data\n }\n },\n actions: {\n\t\tgetBankAccounts({rootState, commit} ) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/openbanking/accounts/system`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n }\n })\n .then( ({data}) => {\n commit('SET_BANK_ACCOUNTS', data)\n })\n .catch( err => console.log(err))\n },\n authorizeAccount({rootState}, bankID) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/openbanking/authorize/${bankID}`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n }\n })\n },\n linkableAccount({rootState}, bankID) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'GET',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/openbanking/accounts/system/${bankID}/linkableAccounts`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n }\n })\n },\n linkAccount({rootState}, credentials) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/openbanking/accounts/system/${credentials.systemBancAccountID}/link/${credentials.openBankingAccountID}`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n }\n })\n },\n unlinkAccount({rootState}, accountID) {\n\t\t\treturn axios({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/openbanking/accounts/system/${accountID}/unlink`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n }\n })\n },\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n submittedDeductionRecords: ''\n },\n mutations: {\n SET_SUBMITTED_DEDUCTIONS(state, data) {\n state.submittedDeductionRecords = data\n }\n },\n actions: {\n downloadDocument({rootState}, payload) { // for downloading any kind of document through OS\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/download/document?documentID=${payload}`,\n responseType: 'blob',\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n }\n })\n },\n getSubmittedDeductionRecords({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/deductions`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n .then(({data}) => {\n commit('SET_SUBMITTED_DEDUCTIONS', data.Data)\n })\n },\n authoriseContractorInvoice({rootState}, deductionID) {\n return axios({\n method: 'POST',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/deductions/${deductionID}/authorise`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n rejectContractorInvoice({rootState}, deductionID) {\n return axios({\n method: 'POST',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/deductions/${deductionID}/reject`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n archiveContractorInvoice({rootState}, deductionID) {\n return axios({\n method: 'POST',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/contractors/deductions/${deductionID}/archive`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n }\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {},\n mutations: {},\n actions: {\n getBankAccounts({rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/company/bankaccounts`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID\n }\n })\n },\n getPaymentRequests({ rootState }, payload) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/payments`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n showOneOffPayments: true,\n showStoPayments: true,\n from: '2000-09-21T08:35:00.000Z',\n to: payload.dateTo,\n personID: payload.personID,\n branchID: rootState.branchID\n }\n })\n },\n createOneOffPayment({ rootState }, payload) {\n const submissionModel = {\n Description: payload.description,\n Amount: payload.amount,\n EntryType: payload.entryType\n }\n \n return axios({\n method: 'POST',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/payments/oneoff/${payload.personID}`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n accountID: payload.accountID\n },\n data: submissionModel\n })\n },\n createStoPayment({ rootState }, payload) {\n const submissionModel = {\n FirstPayment: payload.firstPayment,\n LastPayment: payload.lastPayment,\n Frequency: payload.frequency,\n Description: payload.description,\n Amount: payload.amount,\n EntryType: payload.entryType\n }\n \n return axios({\n method: 'POST',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/payments/sto/${payload.personID}`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n accountID: payload.accountID\n },\n data: submissionModel\n })\n },\n cancelPaymentRequest({ rootState }, paymentReference) {\n return axios({\n method: 'DELETE',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/payments/cancel/${paymentReference}`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n }\n })\n },\n\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n RStBReport: ''\n },\n mutations: {\n SET_RSTB(state, data) {\n state.RStBReport = data\n console.log(state.RStBReport);\n }\n },\n actions: {\n getRStB({commit, rootState}, payload) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/reporting/RStB`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n monthToSearch: payload\n }\n })\n .then(({data}) => {\n \n commit('SET_RSTB', data.Results)\n })\n .catch( err => console.log(err))\n },\n exportRStB({rootState}, payload) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/reporting/RStB/export`,\n responseType: 'blob',\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID,\n monthToSearch: payload\n }\n })\n .then((response) => {\n var fileURL = window.URL.createObjectURL(new Blob([response.data]));\n var fileLink = document.createElement('a');\n fileLink.href = fileURL\n fileLink.setAttribute('download', 'RStBexport.CSV');\n document.body.appendChild(fileLink);\n fileLink.click();\n })\n .catch( err => console.log(err))\n },\n\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n currencyFilterData: ''\n },\n mutations: {\n SET_CURRENCY_DATA(state, data) {\n localStorage.setItem('currency', JSON.stringify(data))\n state.currencyFilterData = data\n }\n },\n actions: {\n getCurrencyData({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/company/currency`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n })\n .then(({data}) => {\n console.log(data);\n commit('SET_CURRENCY_DATA', data)\n })\n }\n },\n getters: {\n currencyInfo(state){\n if(state.currencyFilterData === null || state.currencyFilterData === undefined || state.currencyFilterData === ''){\n state.currencyFilterData = JSON.parse(localStorage.getItem('currency'))\n }\n console.log(state.currencyFilterData);\n return state.currencyFilterData;\n }\n }\n}","import axios from 'axios'\n\nexport default {\n namespaced: true,\n state: {\n forecastReports: ''\n },\n mutations: {\n SET_MANAGEMENT_FEE_FORECASTS(state, data) {\n state.forecastReports = data\n }\n },\n actions: {\n getManagementFeeForecasts({commit, rootState}) {\n return axios({\n method: 'GET',\n url: `${rootState.baseURL}/corporate/agentpay/letmcletting/${rootState.user.ClientName}/reporting/fees/forecast`,\n headers: {\n token: rootState.user.LoginToken,\n api_key: rootState.apiKey,\n },\n params: {\n branchID: rootState.branchID,\n }\n })\n .then(({data}) => {\n commit('SET_MANAGEMENT_FEE_FORECASTS', data.Data)\n })\n .catch( err => console.log(err))\n },\n },\n getters: {\n reports(state){\n return state.forecastReports;\n }\n }\n}","import { Auth } from 'aws-amplify';\n\n/*\n Sign into Amplify Auth. If it's a new user, create it & then login\n*/\nexport async function authAgentOSSignIn( username, userDisplayName, userPassword ) {\n var user = null;\n try {\n // Attecmpt Sign-in:-\n user = await Auth.signIn(\"OID:\" + String(username), String(userPassword));\n } \n catch (error) {\n try {\n // Try creating the user first:-\n await Auth.signUp({\n username: \"OID:\" + String(username),\n password: String(userPassword),\n }); \n\n // Try Sign-in again:-\n user = await Auth.signIn(\"OID:\" + String(username), userPassword);\n } \n catch(createError) {\n //alert( 'Failed to create user, please log in again.');\n }\n }\n\n // If we have a user update their user details in Dynamo DB to match AgentOS:-\n if (user != null)\n console.log('Succesfully logged into cognito with user: ' + JSON.stringify((await Auth.currentUserInfo()).username));\n}\n\n/*\n Sign out of Auth\n*/\nexport async function authAgentOSSignOut() {\n try {\n await Auth.signOut();\n } catch (error) {\n console.log('error signing out: ', error);\n }\n}","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport axios from 'axios'\n// modules\nimport DashboardCards from './modules/DashboardCards'\nimport LandlordsCount from './modules/Landlords/LandlordsCount'\nimport LandlordsRecords from './modules/Landlords/LandlordsRecords'\nimport TenantsCount from './modules/Tenants/TenantsCount'\nimport TenantsRecords from './modules/Tenants/TenantsRecords'\nimport PropertiesCount from './modules/Properties/PropertiesCount'\nimport PropertiesRecords from './modules/Properties/PropertiesRecords'\nimport ContractorsCount from './modules/Contractors/ContractorsCount'\nimport ContractorsRecords from './modules/Contractors/ContractorsRecords'\nimport OutgoingPayments from './modules/OutgoingPayments'\nimport UnreconciledPayments from './modules/UnreconciledPayments'\nimport PaidInvoices from './modules/Reports/PaidInvoices'\nimport UnpaidInvoices from './modules/Reports/UnpaidInvoices'\nimport DepositsHeld from './modules/Reports/DepositsHeld'\nimport OpenBankingRequests from './modules/OpenBanking/OpenBankingRequests'\nimport InvoiceRecords from './modules/Invoices/InvoiceRecords'\nimport PaymentRequests from './modules/PaymentRequests'\nimport RStB from './modules/Reports/RStB'\nimport CurrencyData from './modules/Currency/CurrencyData'\nimport ManagementFeeForecast from './modules/Forecast/ManagementFeeForecast'\nimport {authAgentOSSignIn, authAgentOSSignOut} from './agentosAuth'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n modules: {\n DashboardCards,\n LandlordsCount,\n LandlordsRecords,\n TenantsCount,\n TenantsRecords,\n PropertiesCount,\n PropertiesRecords,\n OutgoingPayments,\n UnreconciledPayments,\n PaidInvoices,\n DepositsHeld,\n ContractorsCount,\n ContractorsRecords,\n OpenBankingRequests,\n InvoiceRecords,\n PaymentRequests,\n UnpaidInvoices,\n RStB,\n CurrencyData,\n ManagementFeeForecast\n },\n state: {\n // test line\n //Dev API\n // ------------------------------------------\n //baseURL: 'https://test2-api.letmc.com/v1',\n //apiKey: 'yrR5n2TUHYH44ybHgYhGdre5k-ze6fUwLI7UTNzKjuI1',\n \n //Live API\n // ------------------------------------------\n baseURL: 'https://live-api.letmc.com/v1',\n apiKey: 'PNxlzLihySfbSATZwUb_VEfgfaCEkn7RoCahHcmXwvE1',\n\n userSpecific: 0,\n user: null,\n activeUser: '',\n branchID: null,\n branchName: 'Company Wide',\n multiBranchAccess: false,\n allBranches: [],\n errorMessages: [],\n alternativeDashboard: false,\n lightTheme: true,\n salesChargeTypes: '',\n nominalCodes: ''\n },\n mutations: {\n SET_ERROR(state, data) {\n state.errorMessages.push(data)\n },\n SET_USER_DATA(state, userData) {\n state.user = userData\n state.user[\"loginTime\"] = Date.now();\n localStorage.setItem('user', JSON.stringify(userData))\n authAgentOSSignIn(userData.UserOID, userData.UserDisplayName, userData.UserToken);\n },\n EXPIRE_LOGIN(state){\n const then = new Date(state.user.loginTime)\n const now = new Date();\n\n const msBetweenDates = Math.abs(then.getTime() - now.getTime());\n\n // 👇️ convert ms to hours min sec ms\n const hoursBetweenDates = msBetweenDates / (60 * 60 * 1000);\n console.log(hoursBetweenDates);\n if (hoursBetweenDates > 23) {\n state.user = null;\n localStorage.setItem('user', null);\n }\n },\n CLEAR_USER_DATA(state) {\n state.userSpecific = '',\n state.user = null,\n state.activeUser = '',\n state.branchID = null,\n state.branchName = 'Company Wide',\n state.multiBranchAccess = false,\n state.allBranches = [],\n state.errorMessages = [],\n\n //Dashboard\n state.DashboardCards.outGoingPayments = '',\n state.DashboardCards.unreconciledPayments = '',\n state.DashboardCards.insights = '',\n state.DashboardCards.income = '',\n state.DashboardCards.portfolioGrowth = '',\n state.LandlordsCount.landlords = '',\n state.TenantsCount.tenants = '',\n state.PropertiesCount.properties = '',\n state.ContractorsCount.contractors = '',\n\n //Unreconciled & reconciled records\n state.UnreconciledPayments.unreconciledPaymentsRecords = '',\n state.UnreconciledPayments.reconciledPaymentsRecords = '',\n \n // Outgoing payments\n state.OutgoingPayments.landlordsToPay = '',\n state.OutgoingPayments.contractorsToPay = '',\n state.OutgoingPayments.tenantsToPay = '',\n \n //Property records\n state.PropertiesRecords.propertiesManagedRecords = '',\n state.PropertiesRecords.propertiesWithoutOwnerRecords = '',\n state.PropertiesRecords.propertiesRentCollectedRecords = '',\n state.PropertiesRecords.propertiesWithoutTenantsRecords = '',\n state.PropertiesRecords.propertiesNotManagedRecords = '',\n state.PropertiesRecords.propertiesNewTenanciesRecords = '',\n \n //Tenants records\n state.TenantsRecords.tenantsActiveRecords = '',\n state.TenantsRecords.tenantsArrearsRecords = '',\n state.TenantsRecords.tenantsNotChasedRecords = '',\n\n //Landlord records\n state.LandlordsRecords.landlordsEmaillessRecords = '',\n state.LandlordsRecords.landlordsOwingRecords = '',\n state.LandlordsRecords.landlordsTenPercentBalanceDifference = '',\n state.LandlordsRecords.landlordsBanklessRecords = '',\n state.LandlordsRecords.allLandlordRecords = '',\n\n //Contractor records\n state.ContractorsRecords.contractorsAll = '',\n state.ContractorsRecords.bankless = '',\n state.ContractorsRecords.emailless = '',\n state.ContractorsRecords.onHold = '',\n\n // Reports\n state.PaidInvoices.paidInvoices = ''\n state.DepositsHeld.accounts = ''\n state.DepositsHeld.records = ''\n\n //Open banking\n state.OpenBankingRequests.bankAccounts = ''\n\n state.salesChargeTypes = ''\n state.nominalCodes = ''\n\n localStorage.removeItem('user')\n localStorage.removeItem('currency')\n axios.defaults.headers.common['Authorization'] = null\n\n authAgentOSSignOut();\n },\n SET_SINGLE_BRANCH_USER(state, data) {\n state.activeUser = data.ActiveUser\n state.branchID = data.ManagingBranchOID\n },\n SET_MULTI_BRANCH_USER(state, data) {\n state.activeUser = data.ActiveUser\n state.multiBranchAccess = data.MultiBranchAccess\n },\n SET_SELECTED_BRANCH(state, data) {\n state.branchID = data.OID\n state.branchName = data.Name\n },\n SET_ALL_BRANCHES(state, data) {\n state.allBranches = data\n },\n SET_ALTERNATIVE_DASHBOARD(state, data) {\n state.alternativeDashboard = data\n },\n SET_LIGHT_THEME(state, data) {\n state.lightTheme = data\n },\n SET_SALES_CHARGE_TYPES(state, data) {\n state.salesChargeTypes = data\n },\n SET_NOMINAL_CODES(state, data) {\n state.nominalCodes = data\n }\n },\n actions: {\n fetchDashboardData({ dispatch }) {\n //Dashboard cards\n dispatch('DashboardCards/getUnreconciledPayments')\n dispatch('DashboardCards/getOutGoingPayments')\n dispatch('DashboardCards/getInsights')\n dispatch('DashboardCards/getIncome')\n dispatch('DashboardCards/getPortfolioGrowth')\n // Dashboard count figures\n dispatch('PropertiesCount/getPropertiesCount')\n dispatch('LandlordsCount/getLandlordsCount')\n dispatch('TenantsCount/getTenantsCount')\n dispatch('ContractorsCount/getContractorsCount')\n },\n fetchOutgoingPaymentsData({ dispatch }) {\n dispatch('OutgoingPayments/getLandlordsPayments')\n dispatch('OutgoingPayments/getTenantsPayments')\n dispatch('OutgoingPayments/getContractorsPayments')\n dispatch('OutgoingPayments/getZeroBalancePayments')\n },\n fetchUnreconciledsPaymentsData({ dispatch }) {\n dispatch('UnreconciledPayments/getUnreconciledPaymentsRecords')\n dispatch('UnreconciledPayments/getReconciledPaymentsRecords')\n },\n fetchTenantsRecords({ dispatch }) {\n dispatch('TenantsRecords/getTenantsActiveRecords')\n dispatch('TenantsRecords/getTenantsArrearsRecords')\n dispatch('TenantsRecords/getTenantsNotChasedRecords')\n dispatch('TenantsRecords/getTenantsHistoricRecords')\n },\n fetchPropertyRecords({ dispatch }) {\n dispatch('PropertiesRecords/getPropertiesManagedRecords')\n dispatch('PropertiesRecords/getPropertiesOwnerlessRecords')\n dispatch('PropertiesRecords/getPropertiesRentCollectedRecords')\n dispatch('PropertiesRecords/getPropertiesWithoutTenantsRecords')\n dispatch('PropertiesRecords/getPropertiesNotManagedRecords')\n dispatch('PropertiesRecords/getPropertiesNewTenanciesRecords')\n dispatch('PropertiesRecords/getPropertiesHistoricTenanciesRecords')\n },\n fetchLandlordRecords({ dispatch }) {\n dispatch('LandlordsRecords/getAllLandlordsRecords')\n dispatch('LandlordsRecords/getLandlordsBanklessRecords')\n dispatch('LandlordsRecords/getLandlordsEmaillessRecords')\n dispatch('LandlordsRecords/getLandlordsOwingRecords')\n dispatch('LandlordsRecords/getLandlordsTenPercentDifferenceRecords')\n },\n fetchContractorRecords({ dispatch }) {\n dispatch('ContractorsRecords/getAllContractorsRecords')\n dispatch('ContractorsRecords/getContractorsBanklessRecords')\n dispatch('ContractorsRecords/getContractorsEmaillessRecords')\n dispatch('ContractorsRecords/getContractorsOnHold')\n },\n fetchOpenBankingData({ dispatch }) {\n dispatch('OpenBankingRequests/getBankAccounts')\n },\n\n // LOGIN / AUTHENTICATION + SESSION-STATUS & BRANCH SELECTOR\n // ------------------------------------------------------------------------\n // ------------------------------------------------------------------------\n \n login({commit, dispatch, state}, credentials) {\n return axios({\n method: 'POST',\n url: `${state.baseURL}/corporate/agentpay/letmcletting/session/login`,\n data: {\n Username: credentials.username,\n Password: credentials.password,\n },\n headers: {\n api_key: state.apiKey\n },\n })\n .then(({data}) => {\n commit('SET_USER_DATA', data)\n dispatch('sessionStatus')\n dispatch('CurrencyData/getCurrencyData')\n })\n \n },\n loginAgentOSSessionID({commit, dispatch, state}, credentials) {\n return axios({\n method: 'POST',\n url: `${state.baseURL}/corporate/agentpay/letmcletting/session/loginsessionid`,\n data: {\n ShortName: credentials.shortName,\n SessionID: credentials.sessionID,\n },\n headers: {\n api_key: state.apiKey\n },\n })\n .then(({data}) => {\n commit('SET_USER_DATA', data)\n dispatch('sessionStatus')\n dispatch('CurrencyData/getCurrencyData')\n })\n },\n sessionStatus({state, commit, dispatch}) {\n return axios({\n method: 'GET',\n url: `${state.baseURL}/corporate/agentpay/letmcletting/${state.user.ClientName}/session/status`,\n headers: {\n token: state.user.LoginToken,\n api_key: state.apiKey\n }\n })\n .then( ({data}) => {\n if(data.MultiBranchAccess == true) {\n commit('SET_MULTI_BRANCH_USER', data)\n dispatch('getAllBranches')\n } else {\n commit('SET_SINGLE_BRANCH_USER', data)\n }\n })\n .catch( () => {\n dispatch('logout')\n })\n },\n getAllBranches({commit, state}) {\n return axios({\n method: 'GET',\n url: `${state.baseURL}/corporate/agentpay/letmcletting/${state.user.ClientName}/company/branches/0/1000`,\n headers: {\n token: state.user.LoginToken,\n api_key: state.apiKey,\n }\n })\n .then(({data}) => {\n const allBranches = data.Data\n const alphabeticallySorted = allBranches.sort( function(a,b) {\n let nameA = a.Name.toLowerCase();\n let nameB = b.Name.toLowerCase();\n if(nameA < nameB) return -1\n if(nameA > nameB) return 1\n return 0\n })\n alphabeticallySorted.unshift({\n Name: '*** Company Wide',\n OID: null\n }),\n commit('SET_ALL_BRANCHES', alphabeticallySorted)\n })\n },\n setSelectedBranch({commit}, branchObj) {\n commit('SET_SELECTED_BRANCH', branchObj)\n },\n logout({commit, state}) {\n return axios({\n method: 'DELETE',\n url: `${state.baseURL}/corporate/agentpay/letmcletting/${state.user.ClientName}/session/logout`,\n headers: {\n token: state.user.LoginToken,\n api_key: state.apiKey\n }\n })\n .then( () => {\n commit('CLEAR_USER_DATA')\n })\n },\n // MESSAGE CONTROLLER in MessageDialog component\n // Used on various records tables \n // ------------------------------------------------------------------------\n sendMessage({state}, payload) {\n // console.log('Message payload ', payload );\n console.log('state', state)\n console.log('attachemnts', payload.attachments)\n return axios({\n method: 'POST',\n url: `${state.baseURL}/corporate/agentpay/letmcletting/${state.user.ClientName}/messaging/comment/submit`,\n headers: {\n token: state.user.LoginToken,\n api_key: state.apiKey,\n },\n params: {\n recordID: payload.recordID,\n source: payload.source,\n comment: payload.comment,\n commentRecipient: 'AgentPay' // HARD-CODED - distinguishes it from support\n },\n // data: {\n // attachments: payload.attachments\n // }\n data: payload.attachments\n })\n },\n getSpecificPersonById({state}, personID) {\n return axios({\n method: 'GET',\n url: `${state.baseURL}/corporate/agentpay/letmcletting/${state.user.ClientName}/company/person/${personID}`,\n headers: {\n token: state.user.LoginToken,\n api_key: state.apiKey,\n }\n })\n },\n getSalesChargeTypes({state, commit}) {\n return axios({\n method: 'GET',\n url: `${state.baseURL}/corporate/agentpay/letmcletting/${state.user.ClientName}/company/salestypes`,\n headers: {\n token: state.user.LoginToken,\n api_key: state.apiKey,\n }\n })\n .then( ({data}) => {\n commit('SET_SALES_CHARGE_TYPES', data.Data)\n })\n },\n getNominalCodes({state, commit}) {\n return axios({\n method: 'GET',\n url: `${state.baseURL}/corporate/agentpay/letmcletting/${state.user.ClientName}/company/nominalcodes`,\n headers: {\n token: state.user.LoginToken,\n api_key: state.apiKey,\n }\n })\n .then( ({data}) => {\n commit('SET_NOMINAL_CODES', data.Data)\n })\n },\n // Test apis ---------------------------------------------------------------------------------\n // Currently testing with unreconciledPayments module\n axiosGet({state}, options) {\n // console.log('Calling axiosGet');\n return axios({\n method: 'GET',\n url: `${state.baseURL}/corporate/agentpay/letmcletting/${state.user.ClientName}/${options.url}`,\n headers: {\n token: state.user.LoginToken,\n api_key: state.apiKey,\n },\n params: options.params\n // How to set branchID as detaulf params whilst allowing for additional params\n // params: {\n // branchID: rootState.branchID, \n // ...options.params\n // }\n\n })\n }\n },\n getters: {\n loggedIn(state) {\n return !!state.user\n },\n returnUserFirstName(state) {\n let activeUser = state.activeUser\n var firstName = activeUser.replace(/ .*/,'')\n return firstName\n },\n landlordsOnHold(state) {\n const landlordsToPay = state.OutgoingPayments.landlordsToPay\n let onHold = landlordsToPay.filter(landlords => landlords.OnHold == true)\n return onHold.length\n },\n tenantsOnHold(state) {\n const tenantsToPay = state.OutgoingPayments.tenantsToPay\n let onHold = tenantsToPay.filter(tenant => tenant.OnHold == true)\n return onHold.length\n },\n contractorsOnHold(state) {\n const contractorsToPay = state.OutgoingPayments.contractorsToPay\n let onHold = contractorsToPay.filter(contractor => contractor.OnHold == true)\n return onHold.length\n },\n getPropertyCountAverage(state) {\n const array = state.DashboardCards.portfolioGrowth\n return array.map(el => el.PropertyCountPerformance).reduce((acc, val) => acc + val) / array.length\n },\n getRentRollPerformanceAverage(state) {\n const array = state.DashboardCards.portfolioGrowth\n return array.map(el => el.RentRollPerformance).reduce((acc, val) => acc + val) / array.length\n },\n inArrearsUnder14(state) {\n const under14 = state.TenantsRecords.tenantsArrearsRecords.Data\n return under14.filter(tenant => tenant.TenantInDebtDuration < 14 )\n },\n inArrears14To31(state) {\n const array = state.TenantsRecords.tenantsArrearsRecords.Data\n return array.filter(tenant => tenant.TenantInDebtDuration > 14 && tenant.TenantInDebtDuration <= 31)\n },\n inArrears32To62(state) {\n const array = state.TenantsRecords.tenantsArrearsRecords.Data\n return array.filter(tenant => tenant.TenantInDebtDuration > 31 && tenant.TenantInDebtDuration <= 62)\n },\n inArrearsOver62(state) {\n const array = state.TenantsRecords.tenantsArrearsRecords.Data\n return array.filter(tenant => tenant.TenantInDebtDuration > 62)\n },\n }\n})\n\n\n\n","// src/plugins/vuetify.js\n\nimport Vue from 'vue'\nimport Vuetify from 'vuetify/lib'\n\nVue.use(Vuetify);\n\nconst opts = {\n icons: {\n iconfont: 'mdi'\n },\n theme: {\n themes: {\n light: {\n primary: '#eb5c37',\n secondary: '#40424c',\n // tertiary: '#F5F5F5',\n tertiary: '#f0f0f0',\n dialogColor: '#eb5c37',\n accent: '#fc2b03',\n error: '#b71c1c',\n tabColor: '#eb5c37',\n tableColor: ''\n },\n dark: {\n // dark theme inspiration\n // https://colorhunt.co/palette/0820322c394b334756ff4c29\n primary: '#082032',\n secondary: '#FF4C29', // vibrant orange\n // secondary: '#eb5c37', // light primary color\n tertiary: '#334756',\n dialogColor: '#fc2b03',\n accent: '#fc2b03',\n error: '#b71c1c',\n tabColor: '#ffffff',\n tableColor: '#082032'\n },\n },\n },\n}\n\nexport default new Vuetify(opts)\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"rounded-md\"},[_c('v-card-title',{staticClass:\"secondary white--text pa-3\",attrs:{\"id\":\"card-title\"}},[_c('router-link',{staticClass:\"decoration\",attrs:{\"to\":_vm.linkTo}},[_c('div',{staticClass:\"d-flex \"},[_c('v-icon',{staticClass:\"mr-3\",attrs:{\"color\":\"white\"}},[_vm._t(\"icon\")],2),_c('span',{staticClass:\"subtitle-1 white--text font-weight-light\"},[_vm._t(\"title\")],2)],1)])],1),_c('v-simple-table',[_c('tbody',{on:{\"setColor\":_vm.setColor}},[_vm._t(\"table\")],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseDashboardInfoCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseDashboardInfoCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaseDashboardInfoCard.vue?vue&type=template&id=e1992764&scoped=true&\"\nimport script from \"./BaseDashboardInfoCard.vue?vue&type=script&lang=js&\"\nexport * from \"./BaseDashboardInfoCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaseDashboardInfoCard.vue?vue&type=style&index=0&id=e1992764&scoped=true&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 \"e1992764\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCard,VCardTitle,VIcon,VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-overlay',{attrs:{\"value\":_vm.overlay}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CircularOverlay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CircularOverlay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CircularOverlay.vue?vue&type=template&id=a96434ee&scoped=true&lang=html&\"\nimport script from \"./CircularOverlay.vue?vue&type=script&lang=js&\"\nexport * from \"./CircularOverlay.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 \"a96434ee\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VOverlay,VProgressCircular})\n","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\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()\n },\n offline () {\n console.log('No internet connection found. App is running in offline mode.')\n },\n error (error) {\n console.error('Error during service worker registration:', error)\n }\n })\n}\n","/* eslint-disable */\n// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.\n\nconst awsmobile = {\n \"aws_project_region\": \"eu-west-2\",\n \"aws_cognito_identity_pool_id\": \"eu-west-2:d6ace437-74ec-48f3-acba-edb1872ef7bf\",\n \"aws_cognito_region\": \"eu-west-2\",\n \"aws_user_pools_id\": \"eu-west-2_DSdNv6Qes\",\n \"aws_user_pools_web_client_id\": \"3os1eujl298qlnbiks615p0o0c\",\n \"oauth\": {},\n \"aws_cognito_username_attributes\": [],\n \"aws_cognito_social_providers\": [],\n \"aws_cognito_signup_attributes\": [\n \"EMAIL\"\n ],\n \"aws_cognito_mfa_configuration\": \"OFF\",\n \"aws_cognito_mfa_types\": [\n \"SMS\"\n ],\n \"aws_cognito_password_protection_settings\": {\n \"passwordPolicyMinLength\": 8,\n \"passwordPolicyCharacters\": []\n },\n \"aws_cognito_verification_mechanisms\": [\n \"EMAIL\"\n ]\n};\n\n\nexport default awsmobile;\n","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport store from './store/index.js'\nimport vuetify from './plugins/vuetify'\nimport axios from 'axios'\nimport BaseDashboardInfoCard from '@/components/BaseComponents/BaseDashboardInfoCard.vue'\nimport CircularOverlay from './components/CircularOverlay.vue'\nimport './registerServiceWorker'\nimport moment from 'moment/src/moment'\nimport VueFriendlyIframe from 'vue-friendly-iframe'\nimport DatetimePicker from 'vuetify-datetime-picker'\n\nimport '@aws-amplify/ui-vue';\nimport aws_exports from './aws-exports';\nimport { Amplify, API, Auth, Storage } from 'aws-amplify';\nAmplify.register(API)\nAmplify.register(Storage)\nAmplify.register(Auth)\n/* Register the services before configure */\n\nAmplify.configure(aws_exports);\n\n//global registration\nVue.component('BaseDashboardInfoCard', BaseDashboardInfoCard)\nVue.component('CircularOverlay', CircularOverlay)\n\nVue.config.productionTip = false\n\nVue.filter('formatDate', function(value) {\n if (value) {\n return moment(value).format('DD/MM/YYYY')\n }\n})\n\nVue.filter('formatDateTime', function(value) {\n if (value) {\n return moment(value).format('DD/MM/YYYY, hh:mm')\n }\n})\n\nVue.filter('formatAmount', function(value) {\n if (value) {\n return new Intl.NumberFormat(\"en-GB\", {\n style: \"currency\",\n currency: \"GBP\",\n }).format(value)\n }\n})\n\nVue.use(VueFriendlyIframe)\nVue.use(DatetimePicker)\n\nnew Vue({\n router,\n store,\n vuetify,\n //sets user state to current localstorage in case of refresh\n created() {\n const userString = localStorage.getItem('user')\n if(userString) {\n const userData = JSON.parse(userString)\n this.$store.commit('SET_USER_DATA', userData)\n }\n\n // *** saftey measure to avoid use of fake tolkens\n axios.interceptors.response.use(\n response => response,\n error => {\n if (error.response.status === 401) {\n this.$store.dispatch('logout')\n }\n return Promise.reject(error)\n }\n )\n },\n render: h => h(App)\n}).$mount('#app')\n"],"sourceRoot":""}