{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/RegistrationForm.vue?e095","webpack:///./src/components/LoginForm.vue?567e","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?763a","webpack:///./src/assets/canopy_logo_only.svg","webpack:///./src/components/admin/MinerAdminView.vue?67eb","webpack:///./src/App.vue?487c","webpack:///./src/components/NavigationBar.vue?ae7b","webpack:///./src/components/NavigationBar.vue?1927","webpack:///./src/components/NavigationBar.vue?1fe4","webpack:///./src/components/NavigationBar.vue","webpack:///./src/App.vue?ec60","webpack:///./src/App.vue?640d","webpack:///./src/App.vue","webpack:///./src/store.ts","webpack:///./src/components/LoginForm.vue?4520","webpack:///./src/components/LoginForm.vue?e35f","webpack:///./src/components/LoginForm.vue?4b06","webpack:///./src/components/LoginForm.vue","webpack:///./src/components/RegistrationForm.vue?b51a","webpack:///./src/components/registration/VerificationForm.vue?5502","webpack:///./src/components/registration/VerificationForm.vue?7653","webpack:///./src/components/registration/VerificationForm.vue?832f","webpack:///./src/components/registration/VerificationForm.vue","webpack:///./src/components/registration/DetailsForm.vue?b78e","webpack:///./src/components/registration/DetailsForm.vue?89f5","webpack:///./src/components/registration/DetailsForm.vue?c380","webpack:///./src/components/registration/DetailsForm.vue","webpack:///./src/components/RegistrationForm.vue?96d3","webpack:///./src/components/RegistrationForm.vue?2820","webpack:///./src/components/RegistrationForm.vue","webpack:///./src/components/IndexView.vue?65eb","webpack:///./src/components/WordCloud.vue?ba93","webpack:///./src/components/WordCloud.vue?de21","webpack:///./src/components/WordCloud.vue?f135","webpack:///./src/components/WordCloud.vue","webpack:///./src/components/AccessControl.vue?7ee3","webpack:///./src/components/AccessControl.vue?0f84","webpack:///./src/components/AccessControl.vue?3249","webpack:///./src/components/AccessControl.vue","webpack:///./src/components/Passwords.vue?c266","webpack:///./src/components/Passwords.vue?dd00","webpack:///./src/components/Passwords.vue?1e41","webpack:///./src/components/Passwords.vue","webpack:///./src/components/IndexView.vue?9fc5","webpack:///./src/components/IndexView.vue?9f13","webpack:///./src/components/IndexView.vue","webpack:///./src/components/admin/VaultAdminView.vue?6849","webpack:///./src/components/admin/VaultAdminView.vue?bb25","webpack:///./src/components/admin/VaultAdminView.vue?be5d","webpack:///./src/components/admin/VaultAdminView.vue","webpack:///./src/components/admin/MinerAdminView.vue?78a4","webpack:///./src/components/admin/MinerAdminView.vue?2821","webpack:///./src/components/admin/MinerAdminView.vue?3c7c","webpack:///./src/components/admin/MinerAdminView.vue","webpack:///./src/components/NotFound.vue?8831","webpack:///./src/components/NotFound.vue?d83c","webpack:///./src/router.ts","webpack:///./src/components/NotFound.vue?8ea5","webpack:///./src/components/NotFound.vue","webpack:///./src/main.ts","webpack:///./src/components/WordCloud.vue?54df","webpack:///./src/components/Passwords.vue?988f"],"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","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","code","keys","_vm","this","_h","$createElement","_c","_self","attrs","authenticatedUser","_e","staticClass","class","token","staticRenderFns","_m","_v","email","on","$event","preventDefault","logout","a","delete","$store","dispatch","$notify","clean","$router","state","session","component","components","NavigationBar","use","Store","isAdmin","mutations","setSession","actions","loginUser","commit","logoutUser","onSubmit","directives","rawName","expression","modifiers","domProps","composing","trim","$forceUpdate","password","isLoading","post","otp","response","headers","Authorization","title","text","status","isSecondStep","onDetailsSubmit","url","secret","onVerificationSubmit","qr","_s","staticStyle","onComplete","q","set","padding","size","toDataURL","String","Function","Boolean","username","passwordErrorMessage","passwordConfirm","model","callback","$$v","twoFactor","zxcvbn","validation","default","score","feedback","warning","payload","userInformationPayload","DetailsForm","VerificationForm","loading","addWord","slot","replacement","isSaving","words","_l","word","index","deleteWord","wordCloudContains","save","concat","filter","it","selectableRoles","allowAll","denyAll","roles","selectedRoles","existingRoles","apps","policy","replace","expanded","role","filtered","includes","addPassword","newPassword","passwords","showPassword","hidePassword","visiblePasswordIndex","deletePassword","Passwords","AccessControl","WordCloud","isConfirmModalOpen","nativeOn","dismissConfirmation","doConfirmation","results","attached","lookupUser","lookupEmail","lookupUsername","isNotFound","emailFound","positive","usernameFound","link","color","resetPassword","resetEmail","renameUsername","renameCurrentUsername","renameNewUsername","deleteUserData","deleteEmail","deleteUsername","confirm","usernames","getCombinations","emails","resultRow","linked","newUsername","toUpperCase","toLowerCase","isEmailInfoModelOpen","selectedEmail","_id","from_email","to_email","_f","received_at","responded","attachments","attachment","file_name","uuid","hash","is_encrypted","content_type","backend_session_id","steps","anonymization","status_messages","msg","error_messages","raw_error_messages","upload","perPageDropdown","loadData","perPage","withHealthcheck","indexOf","_k","keyCode","query","subject","incoming_email_metadata","viewEmailInfo","reprocessEmail","is_processing","pages","page","toString","currentPage","gotoPage","emailsMetadata","maxPagesLimit","catch","refresher","setInterval","clearInterval","params","per_page","with_healthcheck","items","can_reprocess","receipt","Action","reprocess","mail","timestamp","isAfter","utc","subtract","meta","current","val","pagesMax","totalPages","range","router","to","from","next","store","routes","path","beforeEnter","NotFound","config","productionTip","VUE_APP_BASE_URL","defaults","baseURL","location","protocol","host","interceptors","render","h","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASY,EAAe5B,GACvB,OAAOyB,EAAoBI,EAAI,OAAS,GAAG7B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,YAAYA,GAAW,MAIhH,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU+B,QAGnC,IAAIC,EAASJ,EAAiB5B,GAAY,CACzCK,EAAGL,EACHiC,GAAG,EACHF,QAAS,IAUV,OANAjB,EAAQd,GAAUW,KAAKqB,EAAOD,QAASC,EAAQA,EAAOD,QAASL,GAG/DM,EAAOC,GAAI,EAGJD,EAAOD,QAKfL,EAAoBQ,EAAI,SAAuBjC,GAC9C,IAAIkC,EAAW,GAKXC,EAAqBxB,EAAgBX,GACzC,GAA0B,IAAvBmC,EAGF,GAAGA,EACFD,EAAStB,KAAKuB,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAIC,SAAQ,SAASC,EAASC,GAC3CJ,EAAqBxB,EAAgBX,GAAW,CAACsC,EAASC,MAE3DL,EAAStB,KAAKuB,EAAmB,GAAKC,GAGtC,IACII,EADAC,EAASC,SAASC,cAAc,UAGpCF,EAAOG,QAAU,QACjBH,EAAOI,QAAU,IACbpB,EAAoBqB,IACvBL,EAAOM,aAAa,QAAStB,EAAoBqB,IAElDL,EAAOO,IAAMpB,EAAe5B,GAG5B,IAAIiD,EAAQ,IAAIC,MAChBV,EAAmB,SAAUW,GAE5BV,EAAOW,QAAUX,EAAOY,OAAS,KACjCC,aAAaT,GACb,IAAIU,EAAQ5C,EAAgBX,GAC5B,GAAa,IAAVuD,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYL,IAAyB,SAAfA,EAAMM,KAAkB,UAAYN,EAAMM,MAChEC,EAAUP,GAASA,EAAMQ,QAAUR,EAAMQ,OAAOX,IACpDC,EAAMW,QAAU,iBAAmB5D,EAAU,cAAgBwD,EAAY,KAAOE,EAAU,IAC1FT,EAAMY,KAAO,iBACbZ,EAAMQ,KAAOD,EACbP,EAAMa,QAAUJ,EAChBH,EAAM,GAAGN,GAEVtC,EAAgBX,QAAW+D,IAG7B,IAAIlB,EAAUmB,YAAW,WACxBxB,EAAiB,CAAEiB,KAAM,UAAWE,OAAQlB,MAC1C,MACHA,EAAOW,QAAUX,EAAOY,OAASb,EACjCE,SAASuB,KAAKC,YAAYzB,GAG5B,OAAOJ,QAAQ8B,IAAIjC,IAIpBT,EAAoB2C,EAAIvD,EAGxBY,EAAoB4C,EAAI1C,EAGxBF,EAAoB6C,EAAI,SAASxC,EAAS+B,EAAMU,GAC3C9C,EAAoB+C,EAAE1C,EAAS+B,IAClCtD,OAAOkE,eAAe3C,EAAS+B,EAAM,CAAEa,YAAY,EAAMC,IAAKJ,KAKhE9C,EAAoBmD,EAAI,SAAS9C,GACX,qBAAX+C,QAA0BA,OAAOC,aAC1CvE,OAAOkE,eAAe3C,EAAS+C,OAAOC,YAAa,CAAEC,MAAO,WAE7DxE,OAAOkE,eAAe3C,EAAS,aAAc,CAAEiD,OAAO,KAQvDtD,EAAoBuD,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQtD,EAAoBsD,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK5E,OAAO6E,OAAO,MAGvB,GAFA3D,EAAoBmD,EAAEO,GACtB5E,OAAOkE,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOtD,EAAoB6C,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR1D,EAAoB8D,EAAI,SAASxD,GAChC,IAAIwC,EAASxC,GAAUA,EAAOmD,WAC7B,WAAwB,OAAOnD,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAN,EAAoB6C,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR9C,EAAoB+C,EAAI,SAASgB,EAAQC,GAAY,OAAOlF,OAAOC,UAAUC,eAAeC,KAAK8E,EAAQC,IAGzGhE,EAAoBI,EAAI,IAGxBJ,EAAoBiE,GAAK,SAASC,GAA2B,MAApBC,QAAQ3C,MAAM0C,GAAYA,GAEnE,IAAIE,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjF,KAAK0E,KAAKO,GAC5CA,EAAWjF,KAAOf,EAClBgG,EAAaA,EAAWG,QACxB,IAAI,IAAI5F,EAAI,EAAGA,EAAIyF,EAAWvF,OAAQF,IAAKP,EAAqBgG,EAAWzF,IAC3E,IAAIU,EAAsBiF,EAI1B/E,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,6EC5NT,W,2DCAA,W,qBCAA,IAAI+E,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,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","file":"js/app.450898d1.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 and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0d2b4bd9\":\"d74da2eb\"}[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// 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--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegistrationForm.vue?vue&type=style&index=0&id=3c5fe922&scoped=true&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.vue?vue&type=style&index=1&id=4d830e9d&scoped=true&lang=scss&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-SG\": \"cdab\",\n\t\"./en-SG.js\": \"cdab\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/canopy_logo_only.a228df95.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MinerAdminView.vue?vue&type=style&index=0&id=2aaa97d8&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[(_vm.authenticatedUser.token)?_c('NavigationBar'):_vm._e(),_c('br'),_c('div',{staticClass:\"ui container\"},[_c('router-view')],1),_c('notifications',{class:_vm.authenticatedUser.token ? 'authenticated' : '',attrs:{\"position\":\"top right\",\"duration\":5000}}),_c('portal-target',{attrs:{\"name\":\"semantic-ui-vue\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ui top fixed inverted menu\"},[_vm._m(0),_c('router-link',{staticClass:\"header item\",attrs:{\"to\":\"/\",\"active-class\":\"\"}},[_vm._v(\"Canopy Identity Vault\")]),_c('div',{staticClass:\"right menu\"},[(_vm.authenticatedUser.isAdmin)?_c('sui-dropdown',{attrs:{\"item\":true,\"active-class\":\"\",\"text\":\"Admin\"}},[_c('sui-dropdown-menu',[_c('router-link',{staticClass:\"item\",attrs:{\"to\":\"/admin/vault\",\"active-class\":\"active\"}},[_vm._v(\"Vault\")]),_c('router-link',{staticClass:\"item\",attrs:{\"to\":\"/admin/miner\",\"active-class\":\"active\"}},[_vm._v(\"Miner\")])],1)],1):_vm._e(),_c('sui-dropdown',{attrs:{\"item\":true,\"text\":_vm.authenticatedUser.email}},[_c('sui-dropdown-menu',[_c('sui-dropdown-item',{on:{\"click\":function($event){$event.preventDefault();return _vm.logout($event)}}},[_vm._v(\"Logout\")])],1)],1)],1)],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"item\"},[_c('img',{attrs:{\"src\":require(\"../assets/canopy_logo_only.svg\")}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport axios from 'axios';\n\n@Component({})\nexport default class NavigationBar extends Vue {\n get authenticatedUser() {\n return this.$store.state.session;\n }\n\n public async logout() {\n await axios.delete('auth/session');\n await this.$store.dispatch('logoutUser');\n this.$notify({ clean: true });\n this.$router.push('/login');\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationBar.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NavigationBar.vue?vue&type=template&id=2ccf5438&scoped=true&\"\nimport script from \"./NavigationBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./NavigationBar.vue?vue&type=script&lang=ts&\"\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 \"2ccf5438\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport NavigationBar from './components/NavigationBar.vue';\n\n@Component({\n components: {\n NavigationBar\n }\n})\nexport default class App extends Vue {\n get authenticatedUser() {\n return this.$store.state.session;\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/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=fb2c5542&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport Vuex from 'vuex';\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n state: {\n session: {\n email: null,\n token: null,\n isAdmin: false\n }\n },\n mutations: {\n setSession(state, session) {\n state.session = session;\n }\n },\n actions: {\n loginUser({ commit }, { email, token, isAdmin }) {\n commit('setSession', { email, token, isAdmin });\n },\n logoutUser({ commit }) {\n commit('setSession', { email: null, token: null, isAdmin: false });\n }\n },\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ui middle aligned center aligned grid\"},[_c('div',{staticClass:\"six wide column\"},[_vm._m(0),_c('form',{staticClass:\"ui large form\",attrs:{\"id\":\"login-form\",\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('div',{staticClass:\"ui segments\"},[_vm._m(1),_c('div',{staticClass:\"ui segment\"},[_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"ui left icon input\"},[_c('i',{staticClass:\"envelope icon\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.email),expression:\"email\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"email\",\"name\":\"email\",\"placeholder\":\"E-mail address\",\"autocomplete\":\"off\",\"required\":\"\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})])]),_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"ui left icon input\"},[_c('i',{staticClass:\"lock icon\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.password),expression:\"password\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"password\",\"name\":\"password\",\"placeholder\":\"Password\",\"autocomplete\":\"off\",\"required\":\"\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})])]),_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"ui left icon input\"},[_c('i',{staticClass:\"clock icon\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.code),expression:\"code\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"password\",\"name\":\"code\",\"placeholder\":\"2FA Code\",\"maxlength\":\"6\",\"minlength\":\"6\",\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.code)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.code=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})])]),_c('sui-button',{attrs:{\"type\":\"submit\",\"loading\":_vm.isLoading,\"fluid\":true,\"size\":\"large\",\"disabled\":_vm.isLoading,\"color\":\"black\"}},[_vm._v(\"\\n Login\\n \")])],1),_c('div',{staticClass:\"ui link secondary segment\"},[_c('router-link',{staticClass:\"item\",attrs:{\"to\":\"/register\",\"active-class\":\"active\",\"data-test\":\"register-button\"}},[_vm._v(\"Register\")])],1)]),_c('div',{staticClass:\"ui error message\"})])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h3',{staticClass:\"ui image header\"},[_c('img',{staticClass:\"ui image\",attrs:{\"src\":require(\"../assets/canopy_logo_only.svg\"),\"alt\":\"Canopy\"}}),_c('div',{staticClass:\"content\"},[_vm._v(\"\\n Canopy Identity Vault\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"top ui secondary segment\"},[_c('strong',[_vm._v(\"Login\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport axios from 'axios';\n\n@Component({\n components: {}\n})\nexport default class LoginForm extends Vue {\n\n private email: string = '';\n private password: string = '';\n private code: string = '';\n\n private isLoading: boolean = false;\n\n protected async onSubmit() {\n if (this.isLoading) {\n return;\n }\n this.isLoading = true;\n try {\n const response = await axios.post('auth/session', {\n email: this.email,\n password: this.password,\n otp: this.code\n });\n\n let isAdmin = false;\n\n try {\n await axios.get('admin/check', {\n headers: {\n Authorization: 'Bearer ' + response.data.token\n }\n });\n isAdmin = true;\n } catch (e) {\n isAdmin = false;\n }\n\n await this.$store.dispatch('loginUser', {\n email: this.email,\n token: response.data.token,\n isAdmin\n });\n\n this.$notify({\n title: 'You have been logged in.',\n type: 'success',\n text: 'As a security precaution, this session will not be stored by your browser and ' +\n 'you will need to re-authenticate after the window is closed or refreshed.'\n });\n\n this.$router.push('/');\n\n } catch (e) {\n if (e.response.status === 401) {\n this.$notify({ type: 'error', text: 'The credentials entered are incorrect.' });\n } else if (e.response.status === 409) {\n this.$notify({ type: 'error', text: 'This 2FA code has already been used. Please wait for the next code.' });\n } else {\n this.$notify({ type: 'error', text: e.message });\n }\n }\n\n this.password = '';\n this.code = '';\n\n this.isLoading = false;\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoginForm.vue?vue&type=template&id=4d830e9d&scoped=true&\"\nimport script from \"./LoginForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoginForm.vue?vue&type=script&lang=ts&\"\nimport style1 from \"./LoginForm.vue?vue&type=style&index=1&id=4d830e9d&scoped=true&lang=scss&\"\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 \"4d830e9d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ui middle aligned center aligned grid\"},[_c('div',{staticClass:\"six wide column\"},[_vm._m(0),_c('div',{staticClass:\"ui segments\"},[_vm._m(1),(!_vm.isSecondStep)?_c('div',{staticClass:\"ui segment\"},[_c('details-form',{attrs:{\"on-complete\":_vm.onDetailsSubmit}})],1):_vm._e(),(_vm.isSecondStep)?_c('div',{staticClass:\"ui segment\"},[_c('verification-form',{attrs:{\"url\":_vm.url,\"secret\":_vm.secret,\"on-complete\":_vm.onVerificationSubmit}})],1):_vm._e(),_c('div',{staticClass:\"ui link secondary segment\"},[_c('router-link',{staticClass:\"item\",attrs:{\"to\":\"/login\",\"active-class\":\"active\"}},[_vm._v(\"Login\")])],1)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h3',{staticClass:\"ui image header\"},[_c('img',{staticClass:\"ui image\",attrs:{\"src\":require(\"../assets/canopy_logo_only.svg\"),\"alt\":\"Canopy\"}}),_c('div',{staticClass:\"content\"},[_vm._v(\"\\n Canopy Identity Vault\\n \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"top ui secondary segment\"},[_c('strong',[_vm._v(\"Register\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"ui form\",attrs:{\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('h5',[_vm._v(\"Set up Authenticator for 2FA\")]),_vm._m(0),_c('img',{attrs:{\"src\":_vm.qr}}),_c('div',[_c('code',[_vm._v(_vm._s(_vm.secret))])]),_c('br'),_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"ui left icon input\"},[_c('i',{staticClass:\"clock icon\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.code),expression:\"code\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"password\",\"name\":\"code\",\"placeholder\":\"Verification Code\",\"maxlength\":\"6\",\"minlength\":\"6\",\"autocomplete\":\"off\",\"required\":\"\"},domProps:{\"value\":(_vm.code)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.code=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})])]),_c('sui-button',{attrs:{\"type\":\"submit\",\"loading\":_vm.isLoading,\"fluid\":true,\"size\":\"large\",\"disabled\":_vm.isLoading,\"color\":\"black\"}},[_vm._v(\"\\n Complete Registration\\n \")])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"text-align\":\"left\"}},[_c('ol',{staticClass:\"mini\"},[_c('li',[_vm._v(\"\\n Add the following code to\\n \"),_c('a',{attrs:{\"href\":\"https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en\"}},[_vm._v(\"Google\\n Authenticator (Android)\")]),_vm._v(\" or \"),_c('a',{attrs:{\"href\":\"https://itunes.apple.com/in/app/google-authenticator/id388497605?mt=8\"}},[_vm._v(\"Google Authenticator (iPhone)\")]),_vm._v(\"\\n or \"),_c('a',{attrs:{\"href\":\"https://www.microsoft.com/en-in/store/p/authenticator/9nblggh08h54\"}},[_vm._v(\"Authenticator (Windows\\n Phone).\")])]),_c('li',[_vm._v(\"\\n In the app select \"),_c('b',[_vm._v(\"Set up account\")]),_vm._v(\".\\n \")]),_c('li',[_vm._v(\"\\n Choose \"),_c('b',[_vm._v(\"Scan a barcode\")]),_vm._v(\" or enter code manually.\\n \")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\nimport QrCode from 'qrious';\n\n@Component({})\nexport default class RegistrationForm extends Vue {\n\n @Prop(String) private url!: string;\n @Prop(String) private secret!: string;\n @Prop(Function) private onComplete!: (Object) => void;\n @Prop(Boolean) private isLoading!: boolean;\n\n private code: string = '';\n\n protected get qr() {\n const q = new QrCode();\n q.set({\n padding: 15,\n size: 250,\n value: this.url\n });\n return q.toDataURL();\n }\n\n protected onSubmit(e) {\n e.preventDefault();\n this.onComplete(this.code);\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerificationForm.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerificationForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VerificationForm.vue?vue&type=template&id=326f8066&scoped=true&\"\nimport script from \"./VerificationForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./VerificationForm.vue?vue&type=script&lang=ts&\"\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 \"326f8066\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"ui form\",attrs:{\"id\":\"registration-details-form\",\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"ui left icon input\"},[_c('i',{staticClass:\"envelope icon\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.email),expression:\"email\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"email\",\"name\":\"email\",\"placeholder\":\"E-mail address\",\"autocomplete\":\"off\",\"required\":\"\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})])]),_c('div',{staticClass:\"field\"},[_c('div',{staticClass:\"ui left icon input\"},[_c('i',{staticClass:\"user icon\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.username),expression:\"username\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"text\",\"name\":\"username\",\"placeholder\":\"Canopy Username\",\"autocomplete\":\"off\",\"required\":\"\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_vm._m(0)]),_c('div',{staticClass:\"ui divider\"}),_c('div',{staticClass:\"field\",class:{ error: _vm.passwordErrorMessage }},[_c('div',{staticClass:\"ui left icon input\"},[_c('i',{staticClass:\"lock icon\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.password),expression:\"password\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"password\",\"name\":\"password\",\"placeholder\":\"Password\",\"minlength\":\"8\",\"autocomplete\":\"new-password\",\"required\":\"\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.password=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})])]),_c('div',{staticClass:\"field\",class:{ error: _vm.passwordErrorMessage }},[_c('div',{staticClass:\"ui left icon input\"},[_c('i',{staticClass:\"lock icon\"}),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.passwordConfirm),expression:\"passwordConfirm\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"password\",\"name\":\"passwordConfirm\",\"placeholder\":\"Confirm password\",\"minlength\":\"8\",\"autocomplete\":\"off\",\"required\":\"\"},domProps:{\"value\":(_vm.passwordConfirm)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.passwordConfirm=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"text muted\",staticStyle:{\"margin-top\":\"8px\",\"text-align\":\"left\"}},[_vm._v(\"\\n Please use a strong password and enable 2FA for your security\\n \")])]),(_vm.passwordErrorMessage)?_c('div',{staticStyle:{\"color\":\"#9f3a38\",\"text-align\":\"left\",\"margin-bottom\":\"12px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.passwordErrorMessage)+\"\\n \")]):_vm._e(),_c('div',{staticClass:\"field \"},[_c('sui-checkbox',{staticClass:\"slider\",attrs:{\"label\":\"Enable 2FA (Recommended)\"},model:{value:(_vm.twoFactor),callback:function ($$v) {_vm.twoFactor=$$v},expression:\"twoFactor\"}})],1),_c('sui-button',{attrs:{\"type\":\"submit\",\"loading\":_vm.isLoading,\"fluid\":true,\"size\":\"large\",\"disabled\":_vm.isLoading,\"color\":\"black\"}},[_vm._v(\"\\n Register\\n \")])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text muted\",staticStyle:{\"margin-top\":\"8px\",\"text-align\":\"left\"}},[_vm._v(\"\\n Please ensure you use same username as your Canopy login username. You may check it in Canopy:\"),_c('br'),_vm._v(\"\\n More > Settings > Profile tab\\n \")])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\nconst passwordRegex = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{8,}$/;\n\n@Component({})\nexport default class DetailsForm extends Vue {\n\n @Prop(Function) private onComplete!: (Object) => void;\n @Prop(Boolean) private isLoading!: boolean;\n\n\n private zxcvbn;\n private email: string = '';\n private username: string = '';\n private password: string = '';\n private passwordConfirm: string = '';\n private twoFactor: boolean = true;\n\n\n get passwordErrorMessage() {\n if (this.password === '') {\n return false;\n }\n if (this.password.length < 8) {\n return 'Password should be at-least 8 characters long';\n }\n const validation = this.zxcvbn.default(this.password, [this.email, this.username]);\n if (validation.score < 3) {\n return `Password should be a mix of letter, numbers & special characters. ${validation.feedback.warning}`;\n }\n if (this.password !== this.passwordConfirm) {\n return 'Password and its confirm do not match.';\n }\n return false;\n }\n\n protected async created() {\n this.zxcvbn = await import('zxcvbn');\n }\n\n protected onSubmit(e) {\n e.preventDefault();\n if (this.passwordErrorMessage !== false) {\n return;\n }\n this.onComplete({\n email: this.email,\n username: this.username,\n password: this.password,\n twoFactor: this.twoFactor\n });\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsForm.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DetailsForm.vue?vue&type=template&id=243a8755&scoped=true&\"\nimport script from \"./DetailsForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./DetailsForm.vue?vue&type=script&lang=ts&\"\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 \"243a8755\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport axios, { AxiosResponse } from 'axios';\nimport VerificationForm from './registration/VerificationForm.vue';\nimport DetailsForm from './registration/DetailsForm.vue';\n\n@Component({\n components: {DetailsForm, VerificationForm}\n})\nexport default class RegistrationForm extends Vue {\n\n private isSecondStep: boolean = false;\n private url: string = '';\n private secret: string = '';\n\n private userInformationPayload: any;\n\n protected async onDetailsSubmit(payload) {\n try {\n const response: AxiosResponse = await axios.post('auth/register', {\n email: payload.email,\n username: payload.username,\n password: payload.password,\n twoFactor: payload.twoFactor\n });\n\n switch (response.status) {\n case 200: {\n this.url = response.data.url;\n this.secret = response.data.secret;\n this.userInformationPayload = payload;\n this.isSecondStep = true;\n break;\n }\n case 201: {\n this.$notify({ type: 'success', text: 'Registration successful. Please login' });\n this.$router.push('/login');\n break;\n }\n default: {\n this.$notify({ type: 'error', text: 'Unrecognized response from server.' });\n }\n }\n } catch (e) {\n switch (e.response.status) {\n case 409: {\n this.$notify({ type: 'warning', text: 'The email/username already exists.' });\n break;\n }\n default: {\n this.$notify({ type: 'error', text: e.message });\n }\n }\n }\n }\n\n protected async onVerificationSubmit(code) {\n try {\n const response: AxiosResponse = await axios.post('auth/register', {\n email: this.userInformationPayload.email,\n username: this.userInformationPayload.username,\n password: this.userInformationPayload.password,\n twoFactor: this.userInformationPayload.twoFactor,\n otp: code\n });\n switch (response.status) {\n case 201: {\n this.userInformationPayload = null;\n this.$notify({ type: 'success', text: 'Registration successful. Please login' });\n this.$router.push('/login');\n break;\n }\n default: {\n this.$notify({ type: 'error', text: 'Unrecognized response from server.' });\n }\n }\n } catch (e) {\n switch (e.response.status) {\n case 422: {\n this.$notify({ type: 'error', text: 'Invalid OTP entered. Please try again' });\n break;\n }\n case 409: {\n this.$notify({ type: 'error', text: 'The email/username already exists.' });\n break;\n }\n default: {\n this.$notify({ type: 'error', text: e.message });\n }\n }\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegistrationForm.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegistrationForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RegistrationForm.vue?vue&type=template&id=3c5fe922&scoped=true&\"\nimport script from \"./RegistrationForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./RegistrationForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RegistrationForm.vue?vue&type=style&index=0&id=3c5fe922&scoped=true&lang=scss&\"\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 \"3c5fe922\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ui stackable grid\"},[_c('div',{staticClass:\"sixteen wide column\"},[_c('WordCloud')],1),(false)?_c('div',{staticClass:\"six wide column\"},[_c('Passwords')],1):_vm._e(),(false)?_c('div',{staticClass:\"six wide column\"},[_c('AccessControl')],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h4',{staticClass:\"ui top attached header\"},[_vm._v(\"\\n Word Cloud\\n \")]),_c('div',{staticClass:\"ui attached segment\",class:{ loading: _vm.isLoading }},[_c('form',{staticClass:\"ui small form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.addWord($event)}}},[_c('div',{staticClass:\"fields\"},[_c('div',{staticClass:\"seven wide required field\"},[_c('label',[_vm._v(\"\\n Text to replace\\n \"),_c('sui-popup',{attrs:{\"flowing\":\"\",\"hoverable\":\"\"}},[_c('div',{staticClass:\"text-info\"},[_vm._v(\"\\n You may enter multiple words for each entry. Please use below guide to break down your address and phone numbers:\\n \"),_c('ul',[_c('li',[_c('code',[_vm._v(\"#4, Privet Drive, Surrey\")]),_vm._v(\" split to \"),_c('code',[_vm._v(\"#4\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Privet Drive\")]),_vm._v(\", \"),_c('code',[_vm._v(\"Surrey\")])]),_c('li',{staticStyle:{\"margin-top\":\"3px\"}},[_c('code',[_vm._v(\"(+1) 555 2368\")]),_vm._v(\" split to \"),_c('code',[_vm._v(\"(+1)\")]),_vm._v(\" and \"),_c('code',[_vm._v(\"555 2368\")])])])]),_c('sui-icon',{attrs:{\"slot\":\"trigger\",\"name\":\"info\"},slot:\"trigger\"})],1)],1),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.target),expression:\"target\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"text\",\"placeholder\":\"\",\"required\":\"\"},domProps:{\"value\":(_vm.target)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.target=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"seven wide field\"},[_vm._m(0),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.replacement),expression:\"replacement\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"text\",\"placeholder\":\"\"},domProps:{\"value\":(_vm.replacement)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.replacement=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"two wide field\"},[_c('label',[_vm._v(\" \")]),_c('button',{staticClass:\"ui fluid button\",attrs:{\"type\":\"submit\",\"disabled\":_vm.isSaving}},[_vm._v(\"Add\")])])]),_c('div',{staticClass:\"muted\"},[_vm._v(\"\\n Please do NOT add the account number and bank name/branch\\n \")])])]),(_vm.words.length > 0)?_c('div',{staticClass:\"ui bottom attached segment\"},[_c('table',{staticClass:\"ui very compact very basic small table\"},[_vm._m(1),_c('tbody',_vm._l((_vm.words),function(word,index){return _c('tr',[_c('td',[_vm._v(_vm._s(index + 1))]),_c('td',[_vm._v(_vm._s(word.target))]),(!word.replacement || word.replacement.trim() === '')?_c('td',[_c('em',{staticClass:\"muted\"},[_vm._v(\"Will be removed\")])]):_c('td',[_vm._v(_vm._s(word.replacement))]),_c('td',[_c('button',{staticClass:\"ui mini red icon button\",attrs:{\"disabled\":_vm.isSaving,\"data-tooltip\":\"Delete\",\"data-position\":\"right center\",\"data-inverted\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.deleteWord(word)}}},[_c('i',{staticClass:\"trash icon\"})])])])}),0)])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',[_vm._v(\"Replacement\\n \"),_c('small',{staticClass:\"muted\"},[_vm._v(\"(optional)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',{staticClass:\"one wide\"},[_vm._v(\"#\")]),_c('th',{staticClass:\"six wide\"},[_vm._v(\"Text to replace\")]),_c('th',{staticClass:\"six wide\"},[_vm._v(\"Text to replace with\")]),_c('th',{staticClass:\"one wide\"})])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport axios from 'axios';\n\n@Component({})\nexport default class WordCloud extends Vue {\n\n private target: string = '';\n private replacement: string = '';\n\n private isSaving: boolean = false;\n private isLoading: boolean = true;\n\n private words: any[] = [];\n\n protected async created() {\n this.isLoading = true;\n try {\n const response = await axios.get('words');\n this.words = response.data;\n } catch (e) {\n this.words = [];\n this.$notify({type: 'error', text: e.message});\n }\n this.isLoading = false;\n }\n\n protected async addWord() {\n if (this.wordCloudContains(this.target)) {\n this.$notify({type: 'warning', text: `'${this.target}' already exists in the word cloud.`});\n this.target = this.replacement = '';\n return;\n }\n await this.save(\n this.words.concat([{target: this.target, replacement: this.replacement}])\n );\n this.target = this.replacement = '';\n this.$notify({type: 'success', text: 'The word has been added.'});\n }\n\n protected async deleteWord(word) {\n await this.save(\n this.words.filter((it) => it !== word)\n );\n this.$notify({type: 'success', text: 'The word has been deleted.'});\n }\n\n private wordCloudContains(target) {\n for (const word of this.words) {\n if (target === word.target) {\n return true;\n }\n }\n return false;\n }\n\n private async save(words) {\n this.isSaving = true;\n try {\n await axios.post('words', words);\n this.words = words;\n } catch (e) {\n this.$notify({type: 'error', text: e.message});\n }\n this.isSaving = false;\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WordCloud.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WordCloud.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./WordCloud.vue?vue&type=template&id=c04f97f8&scoped=true&\"\nimport script from \"./WordCloud.vue?vue&type=script&lang=ts&\"\nexport * from \"./WordCloud.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./WordCloud.vue?vue&type=style&index=0&id=c04f97f8&scoped=true&lang=scss&\"\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 \"c04f97f8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h4',{staticClass:\"ui top attached header\"},[_vm._v(\"\\n Access Control\\n \")]),_c('div',{staticClass:\"ui attached segment\"},[(_vm.selectableRoles.length > 0)?_c('sui-button',{attrs:{\"negative\":\"\",\"fluid\":\"\",\"content\":\"Allow canopy access to my Word Cloud\",\"icon\":\"unlock\",\"label-position\":\"left\"},on:{\"click\":function($event){$event.preventDefault();return _vm.allowAll($event)}}}):_vm._e(),(_vm.selectableRoles.length === 0)?_c('sui-button',{attrs:{\"positive\":\"\",\"fluid\":\"\",\"content\":\"Deny canopy access to my Word Cloud\",\"icon\":\"lock\",\"label-position\":\"left\"},on:{\"click\":function($event){$event.preventDefault();return _vm.denyAll($event)}}}):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport axios from 'axios';\n\n@Component({})\nexport default class AccessControl extends Vue {\n private roles: string[] = [];\n\n private isSaving: boolean = false;\n\n private selectedRoles: string[] = [];\n\n private existingRoles: any[] = [];\n\n get selectableRoles() {\n return this.existingRoles.filter((role) => !this.roles.includes(role.value));\n }\n\n protected async created() {\n const apps = await axios.get('acl/apps');\n this.existingRoles = [];\n if (apps.data) {\n this.existingRoles = (apps.data as string[]).map((policy) => ({\n key: policy,\n text: policy.replace('app-', ''),\n value: policy\n }));\n }\n const roles = await axios.get('acl');\n this.roles = roles.data || [];\n }\n\n protected async addRole() {\n const expanded = this.roles.concat(this.selectedRoles);\n await this.save(expanded);\n }\n\n protected async deleteRole(role) {\n const filtered = this.roles.filter((r) => r !== role);\n await this.save(filtered);\n }\n\n protected allowAll() {\n return this.save(this.existingRoles.map((it) => it.value));\n }\n\n protected denyAll() {\n return this.save([]);\n }\n\n private async save(roles) {\n this.isSaving = true;\n try {\n await axios.post('acl', roles);\n this.roles = roles;\n this.selectedRoles = [];\n } catch (e) {\n this.$notify({ type: 'error', text: e.message });\n }\n this.isSaving = false;\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccessControl.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccessControl.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccessControl.vue?vue&type=template&id=5bbcc5d8&scoped=true&\"\nimport script from \"./AccessControl.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccessControl.vue?vue&type=script&lang=ts&\"\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 \"5bbcc5d8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h4',{staticClass:\"ui top attached header\"},[_vm._v(\"\\n Passwords\\n \")]),_c('div',{staticClass:\"ui attached segment\",class:{ loading: _vm.isLoading }},[_c('form',{staticClass:\"ui small form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.addPassword($event)}}},[_c('div',{staticClass:\"fields\"},[_c('div',{staticClass:\"ten wide required field\"},[_c('label',[_vm._v(\"\\n Password\\n \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.newPassword),expression:\"newPassword\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"password\",\"placeholder\":\"\",\"required\":\"\"},domProps:{\"value\":(_vm.newPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newPassword=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"six wide field\"},[_c('label',[_vm._v(\" \")]),_c('button',{staticClass:\"ui fluid button\",attrs:{\"type\":\"submit\",\"disabled\":_vm.isSaving}},[_vm._v(\"Add\")])])]),_c('div',{staticClass:\"muted\"},[_vm._v(\"\\n The passwords will be used to access any password-protected PDFs sent via email\\n \")])])]),(_vm.passwords.length > 0)?_c('div',{staticClass:\"ui bottom attached segment\"},[_c('table',{staticClass:\"ui very compact very basic small table\"},[_vm._m(0),_c('tbody',_vm._l((_vm.passwords),function(password,index){return _c('tr',[_c('td',[_vm._v(_vm._s(index + 1))]),_c('td',[_c('i',{staticClass:\"eye icon muted link\",on:{\"mousedown\":function($event){$event.preventDefault();return _vm.showPassword(index)},\"mouseup\":function($event){$event.preventDefault();return _vm.hidePassword()},\"mouseleave\":function($event){$event.preventDefault();return _vm.hidePassword()}}}),_vm._v(\"\\n    \\n \"+_vm._s(_vm.visiblePasswordIndex === index ? password : '***********')+\"\\n \")]),_c('td',[_c('button',{staticClass:\"ui mini red icon button\",attrs:{\"disabled\":_vm.isSaving,\"data-tooltip\":\"Delete\",\"data-position\":\"right center\",\"data-inverted\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.deletePassword(password)}}},[_c('i',{staticClass:\"trash icon\"})])])])}),0)])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',{staticClass:\"one wide\"},[_vm._v(\"#\")]),_c('th',{staticClass:\"six wide\"},[_vm._v(\"Password\")]),_c('th',{staticClass:\"one wide\"})])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport axios from 'axios';\n\n@Component({})\nexport default class Passwords extends Vue {\n\n private newPassword: string = '';\n\n private isSaving: boolean = false;\n private isLoading: boolean = true;\n\n private passwords: any[] = [];\n private visiblePasswordIndex = -1;\n\n protected async created() {\n this.isLoading = true;\n try {\n const response = await axios.get('passwords');\n this.passwords = response.data;\n } catch (e) {\n this.passwords = [];\n this.$notify({type: 'error', text: e.message});\n }\n this.isLoading = false;\n }\n\n protected async addPassword() {\n if (this.passwords.includes(this.newPassword)) {\n this.$notify({type: 'warning', text: `Password already exists.`});\n this.newPassword = '';\n return;\n }\n await this.save(\n this.passwords.concat([this.newPassword])\n );\n this.newPassword = '';\n this.$notify({type: 'success', text: 'The password has been added.'});\n }\n\n protected async deletePassword(password) {\n await this.save(\n this.passwords.filter((it) => it !== password)\n );\n this.$notify({type: 'success', text: 'The password has been deleted.'});\n }\n\n protected showPassword(index) {\n this.visiblePasswordIndex = index;\n }\n\n protected hidePassword() {\n this.visiblePasswordIndex = -1;\n }\n\n private async save(passwords) {\n this.isSaving = true;\n try {\n await axios.post('passwords', passwords);\n this.passwords = passwords;\n } catch (e) {\n this.$notify({type: 'error', text: e.message});\n }\n this.isSaving = false;\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Passwords.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Passwords.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Passwords.vue?vue&type=template&id=43a9073e&scoped=true&\"\nimport script from \"./Passwords.vue?vue&type=script&lang=ts&\"\nexport * from \"./Passwords.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Passwords.vue?vue&type=style&index=0&id=43a9073e&scoped=true&lang=scss&\"\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 \"43a9073e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport WordCloud from './WordCloud.vue';\nimport AccessControl from './AccessControl.vue';\nimport Passwords from './Passwords.vue';\n\n@Component({\n components: {Passwords, AccessControl, WordCloud}\n})\nexport default class IndexView extends Vue {\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndexView.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndexView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IndexView.vue?vue&type=template&id=4dbc10e0&scoped=true&\"\nimport script from \"./IndexView.vue?vue&type=script&lang=ts&\"\nexport * from \"./IndexView.vue?vue&type=script&lang=ts&\"\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 \"4dbc10e0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('sui-modal',{attrs:{\"size\":\"tiny\",\"basic\":\"\",\"closable\":false},model:{value:(_vm.isConfirmModalOpen),callback:function ($$v) {_vm.isConfirmModalOpen=$$v},expression:\"isConfirmModalOpen\"}},[_c('sui-modal-header',[_vm._v(\"Confirm operation\")]),_c('sui-modal-content',[_c('sui-modal-description',[_c('p',[_vm._v(\"This is a potentially destructive operation and cannot be reverted once done.\")]),_c('p',[_vm._v(\"Are you sure you want to proceed ?\")])])],1),_c('sui-modal-actions',[_c('sui-button',{nativeOn:{\"click\":function($event){return _vm.dismissConfirmation($event)}}},[_vm._v(\"\\n Cancel\\n \")]),_c('sui-button',{attrs:{\"negative\":\"\"},nativeOn:{\"click\":function($event){return _vm.doConfirmation($event)}}},[_vm._v(\"\\n Proceed\\n \")])],1)],1),_c('div',{staticClass:\"ui stackable grid\"},[_c('div',{staticClass:\"ten wide column\"},[_c('h4',{staticClass:\"ui top attached header\"},[_vm._v(\"\\n Lookup User\\n \")]),_c('div',{staticClass:\"ui segment\",class:{ 'bottom attached': !(_vm.results.length > 0), attached: _vm.results.length > 0 }},[_c('form',{staticClass:\"ui small form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.lookupUser($event)}}},[_c('div',{staticClass:\"two fields\"},[_c('div',{staticClass:\"field\"},[_c('label',[_vm._v(\"Email\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.lookupEmail),expression:\"lookupEmail\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"email\",\"placeholder\":\"Email\"},domProps:{\"value\":(_vm.lookupEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.lookupEmail=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"field\"},[_c('label',[_vm._v(\"Canopy Username\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.lookupUsername),expression:\"lookupUsername\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"text\",\"placeholder\":\"Canopy Username\"},domProps:{\"value\":(_vm.lookupUsername)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.lookupUsername=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})])]),_c('sui-button',{attrs:{\"type\":\"submit\",\"loading\":_vm.isLoading,\"fluid\":true,\"disabled\":_vm.isLoading,\"color\":\"black\"}},[_vm._v(\"\\n Lookup\\n \")])],1)]),(_vm.results.length > 0)?_c('div',{staticClass:\"ui bottom attached segment\"},[_c('table',{staticClass:\"ui very compact very basic small table\"},[_vm._m(0),_c('tbody',_vm._l((_vm.results),function(result){return _c('tr',{class:{ error: result.isNotFound }},[(result.email)?_c('td',{class:{ error: !result.emailFound, positive: result.emailFound }},[_vm._v(\"\\n \"+_vm._s(result.email)+\"\\n \")]):_c('td',[_c('code',[_vm._v(\"-\")])]),_c('td',{class:{ error: !result.usernameFound, positive: result.usernameFound }},[_c('code',[_vm._v(_vm._s(result.username ?\n result.username : '-'))])]),_c('td',[_c('sui-popup',{attrs:{\"hoverable\":\"\"}},[_vm._v(\"\\n \"+_vm._s(result.link.message)+\"\\n \"),_c('sui-label',{attrs:{\"slot\":\"trigger\",\"circular\":\"\",\"empty\":\"\",\"color\":result.link.color},slot:\"trigger\"})],1)],1)])}),0)])]):_vm._e()]),_c('div',{staticClass:\"six wide column\"},[_c('h4',{staticClass:\"ui top attached header\"},[_vm._v(\"\\n Reset user password\\n \")]),_c('div',{staticClass:\"ui bottom attached segment\"},[_c('form',{staticClass:\"ui small form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.resetPassword($event)}}},[_c('div',{staticClass:\"field\"},[_c('label',[_vm._v(\"Email\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.resetEmail),expression:\"resetEmail\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"email\",\"placeholder\":\"Email\",\"required\":\"\"},domProps:{\"value\":(_vm.resetEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.resetEmail=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('sui-button',{attrs:{\"type\":\"submit\",\"loading\":_vm.isLoading,\"fluid\":true,\"disabled\":_vm.isLoading,\"color\":\"black\"}},[_vm._v(\"\\n Reset password\\n \")])],1)]),_c('h4',{staticClass:\"ui top attached header\"},[_vm._v(\"\\n Rename username\\n \")]),_c('div',{staticClass:\"ui bottom attached segment\"},[_c('form',{staticClass:\"ui small form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.renameUsername($event)}}},[_c('div',{staticClass:\"field\"},[_c('label',[_vm._v(\"Current username\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.renameCurrentUsername),expression:\"renameCurrentUsername\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"text\",\"placeholder\":\"Current username\",\"required\":\"\"},domProps:{\"value\":(_vm.renameCurrentUsername)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.renameCurrentUsername=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"field\"},[_c('label',[_vm._v(\"New username\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.renameNewUsername),expression:\"renameNewUsername\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"text\",\"placeholder\":\"New username\",\"required\":\"\"},domProps:{\"value\":(_vm.renameNewUsername)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.renameNewUsername=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('sui-button',{attrs:{\"type\":\"submit\",\"loading\":_vm.isLoading,\"fluid\":true,\"disabled\":_vm.isLoading,\"color\":\"black\"}},[_vm._v(\"\\n Rename\\n \")])],1)]),_c('h4',{staticClass:\"ui top attached header\"},[_vm._v(\"\\n Delete user data\\n \")]),_c('div',{staticClass:\"ui bottom attached segment\"},[_c('form',{staticClass:\"ui small form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.deleteUserData($event)}}},[_c('div',{staticClass:\"field\"},[_c('label',[_vm._v(\"Email\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.deleteEmail),expression:\"deleteEmail\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"email\",\"placeholder\":\"Email\",\"required\":\"\"},domProps:{\"value\":(_vm.deleteEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.deleteEmail=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('div',{staticClass:\"field\"},[_c('label',[_vm._v(\"Username\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.deleteUsername),expression:\"deleteUsername\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"text\",\"placeholder\":\"Username\",\"required\":\"\"},domProps:{\"value\":(_vm.deleteUsername)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.deleteUsername=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('sui-button',{attrs:{\"type\":\"submit\",\"loading\":_vm.isLoading,\"fluid\":true,\"disabled\":_vm.isLoading,\"color\":\"red\"}},[_vm._v(\"\\n Delete data\\n \")])],1)])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Email\")]),_c('th',[_vm._v(\"Username\")]),_c('th',[_vm._v(\"Status\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport axios from 'axios';\n\ninterface IConfirm {\n resolve?: (() => void) | null;\n reject?: (() => void) | null;\n}\n\n\n@Component({\n components: {}\n})\nexport default class VaultAdminView extends Vue {\n\n private static getCombinations(value: string): string[] {\n if (value !== '') {\n return [value.toUpperCase(), value.toLowerCase()];\n }\n return [''];\n }\n\n private lookupUsername: string = '';\n private lookupEmail: string = '';\n\n private resetEmail: string = '';\n\n private deleteUsername: string = '';\n private deleteEmail: string = '';\n\n private renameCurrentUsername: string = '';\n private renameNewUsername: string = '';\n\n private isConfirmModalOpen: boolean = false;\n private isLoading: boolean = false;\n private results: object[] = [];\n private confirm: IConfirm = {\n resolve: null,\n reject: null\n };\n\n /**\n * Lookup a username/email combination on the server.\n * Try out all uppercase/lowercase combinations.\n */\n protected async lookupUser() {\n if (this.lookupUsername === '' && this.lookupEmail === '') {\n return this.$notify({type: 'warning', text: 'Either username or email is required to lookup.'});\n }\n this.results = [];\n this.isLoading = true;\n const usernames = VaultAdminView.getCombinations(this.lookupUsername);\n const emails = VaultAdminView.getCombinations(this.lookupEmail);\n for (const username of usernames) {\n for (const email of emails) {\n const response = await axios.post('admin/vault/lookup', {username, email});\n const result = response.data;\n if (result.username || result.email) {\n const resultRow: any = {};\n resultRow.username = username;\n resultRow.email = email;\n resultRow.emailFound = result.email;\n resultRow.usernameFound = result.username;\n\n if (resultRow.emailFound && resultRow.usernameFound) {\n resultRow.link = {\n color: result.linked ? 'green' : 'red',\n message: result.linked ? 'Username and Email are linked' : 'Username and Email are not linked'\n };\n } else {\n resultRow.link = {\n color: 'yellow',\n message: 'Link status is unknown.'\n };\n }\n this.results.push(resultRow);\n }\n }\n }\n if (this.results.length === 0) {\n this.results.push({\n username: this.lookupUsername,\n email: this.lookupEmail,\n isNotFound: true,\n link: {\n color: null,\n message: 'Could not find record'\n }\n });\n }\n this.isLoading = false;\n }\n\n /**\n * Reset the password of a user.\n */\n protected async resetPassword() {\n if (this.resetEmail === '') {\n return this.$notify({type: 'warning', text: 'Email address is required to reset password.'});\n }\n this.isLoading = true;\n try {\n await new Promise((resolve, reject) => {\n this.confirm = { resolve, reject };\n this.isConfirmModalOpen = true;\n });\n\n try {\n await axios.post('admin/vault/reset-password', { email: this.resetEmail });\n this.$notify({\n type: 'success',\n text: `The user's password has been reset and the new password has been sent to ${this.resetEmail}.`\n });\n } catch (e) {\n console.error(e);\n this.$notify({type: 'error', text: e.message});\n }\n } catch (e) {\n // ignored\n }\n this.resetEmail = '';\n this.isLoading = false;\n }\n\n /**\n * Purge all records of a user from Vault.\n */\n protected async deleteUserData() {\n if (this.deleteEmail === '' || this.deleteUsername === '') {\n return this.$notify({\n type: 'warning',\n text: 'Email address and username is required to delete user.'\n });\n }\n this.isLoading = true;\n this.isLoading = true;\n try {\n await new Promise((resolve, reject) => {\n this.confirm = { resolve, reject };\n this.isConfirmModalOpen = true;\n });\n try {\n await axios.post('admin/vault/delete', { email: this.deleteEmail, username: this.deleteUsername });\n this.$notify({\n type: 'success',\n text: `The user's data has been purged from Vault.`\n });\n } catch (e) {\n if (e.response.status === 404) {\n this.$notify({\n type: 'error',\n text: 'The username or email could not be found.'\n });\n } else if (e.response.status === 409) {\n this.$notify({\n type: 'error',\n text: 'The username and email are not linked to each other and hence cannot be deleted.'\n });\n } else {\n console.error(e);\n this.$notify({ type: 'error', text: e.message });\n }\n }\n } catch (e) {\n // ignored\n }\n this.deleteEmail = this.deleteUsername = '';\n this.isLoading = false;\n }\n\n protected async renameUsername() {\n if (this.renameCurrentUsername === '' || this.renameNewUsername === '') {\n return this.$notify({\n type: 'warning',\n text: 'Current username and new username is required.'\n });\n }\n\n this.isLoading = true;\n this.isLoading = true;\n try {\n await new Promise((resolve, reject) => {\n this.confirm = { resolve, reject };\n this.isConfirmModalOpen = true;\n });\n try {\n await axios.post('admin/vault/rename-username', {\n username: this.renameCurrentUsername,\n newUsername: this.renameNewUsername\n });\n this.$notify({\n type: 'success',\n text: `The username has been changed.`\n });\n } catch (e) {\n if (e.response.status === 404) {\n this.$notify({\n type: 'error',\n text: 'The username could not be found.'\n });\n } else if (e.response.status === 409) {\n this.$notify({\n type: 'error',\n text: 'The new username already exists.'\n });\n } else {\n console.error(e);\n this.$notify({ type: 'error', text: e.message });\n }\n }\n } catch (e) {\n // ignored\n }\n this.renameNewUsername = this.renameCurrentUsername = '';\n this.isLoading = false;\n\n }\n\n protected doConfirmation() {\n this.isConfirmModalOpen = false;\n if (this.confirm.resolve) {\n this.confirm.resolve();\n this.confirm.resolve = this.confirm.reject = null;\n }\n }\n\n protected dismissConfirmation() {\n this.isConfirmModalOpen = false;\n if (this.confirm.reject) {\n this.confirm.reject();\n this.confirm.resolve = this.confirm.reject = null;\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VaultAdminView.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VaultAdminView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VaultAdminView.vue?vue&type=template&id=2310c7f8&scoped=true&\"\nimport script from \"./VaultAdminView.vue?vue&type=script&lang=ts&\"\nexport * from \"./VaultAdminView.vue?vue&type=script&lang=ts&\"\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 \"2310c7f8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('sui-modal',{attrs:{\"closable\":true},model:{value:(_vm.isEmailInfoModelOpen),callback:function ($$v) {_vm.isEmailInfoModelOpen=$$v},expression:\"isEmailInfoModelOpen\"}},[_c('sui-modal-header',[_vm._v(\"Email Info\")]),_c('sui-modal-content',{attrs:{\"scrolling\":\"\"}},[(_vm.selectedEmail != null)?_c('sui-modal-description',[_c('table',{staticClass:\"ui small celled table vertical\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"UUID\")]),_c('td',[_c('code',[_vm._v(_vm._s(_vm.selectedEmail._id))])])]),_c('tr',[_c('td',[_vm._v(\"From\")]),_c('td',[_vm._v(_vm._s(_vm.selectedEmail.from_email))])]),_c('tr',[_c('td',[_vm._v(\"To\")]),_c('td',[_vm._v(_vm._s(_vm.selectedEmail.to_email))])]),_c('tr',[_c('td',[_vm._v(\"Username\")]),_c('td',[_vm._v(_vm._s(_vm.selectedEmail.username))])]),_c('tr',[_c('td',[_vm._v(\"Received at\")]),_c('td',[_vm._v(_vm._s(_vm._f(\"moment\")(_vm.selectedEmail.received_at,\"lll\")))])]),_c('tr',[_c('td',[_vm._v(\"Responded\")]),_c('td',[_vm._v(_vm._s(_vm.selectedEmail.responded))])]),_c('tr',[_c('td',[_vm._v(\"Status\")]),_c('td',[_vm._v(_vm._s(_vm.selectedEmail.status))])])])]),(_vm.selectedEmail.attachments.length > 0)?_c('div',[_c('h5',[_vm._v(\"Attachments\")]),_c('sui-accordion',{attrs:{\"exclusive\":\"\"}},[_vm._l((_vm.selectedEmail.attachments),function(attachment){return [_c('sui-accordion-title',[_c('sui-icon',{attrs:{\"name\":\"dropdown\"}}),_vm._v(\"\\n \"+_vm._s(attachment.file_name)+\"\\n \")],1),_c('sui-accordion-content',[_c('table',{staticClass:\"ui small celled structured table vertical\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"UUID\")]),_c('td',{attrs:{\"colspan\":\"2\"}},[_c('code',[_vm._v(_vm._s(attachment.uuid))])])]),_c('tr',[_c('td',[_vm._v(\"Hash\")]),_c('td',{staticStyle:{\"word-break\":\"break-all\"},attrs:{\"colspan\":\"2\"}},[_c('code',[_vm._v(_vm._s(attachment.hash))])])]),_c('tr',[_c('td',[_vm._v(\"Is Encrypted\")]),_c('td',{attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(attachment.is_encrypted))])]),_c('tr',[_c('td',[_vm._v(\"ContentType\")]),_c('td',{attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(attachment.content_type))])]),_c('tr',[_c('td',[_vm._v(\"BackendSessionID\")]),_c('td',{attrs:{\"colspan\":\"2\"}},[_c('code',[_vm._v(_vm._s(attachment.backend_session_id))])])]),_c('tr',[_c('td',{attrs:{\"rowspan\":\"2\"}},[_vm._v(\"Steps\")]),_c('td',[_c('strong',[_vm._v(\"Anonymization\")])]),_c('td',[_c('strong',[_vm._v(\"Upload\")])])]),_c('tr',[_c('td',{staticStyle:{\"font-weight\":\"normal\"}},[_c('strong',[_vm._v(\"Status:\")]),_vm._v(\" \"+_vm._s(attachment.steps.anonymization.status)),_c('br'),_c('br'),(attachment.steps.anonymization.status_messages.length > 0)?[_c('strong',[_vm._v(\"Status:\")]),_c('ul',_vm._l((attachment.steps.anonymization.status_messages),function(msg){return _c('li',[_vm._v(_vm._s(msg))])}),0)]:_vm._e(),(attachment.steps.anonymization.error_messages.length > 0)?[_c('strong',[_vm._v(\"Errors:\")]),_c('ul',_vm._l((attachment.steps.anonymization.error_messages),function(msg){return _c('li',[_vm._v(_vm._s(msg))])}),0)]:_vm._e(),(attachment.steps.anonymization.raw_error_messages.length > 0)?[_c('strong',[_vm._v(\"Raw Errors:\")]),_c('ul',_vm._l((attachment.steps.anonymization.raw_error_messages),function(msg){return _c('li',[_vm._v(_vm._s(msg))])}),0)]:_vm._e()],2),_c('td',[_c('strong',[_vm._v(\"Status:\")]),_vm._v(\" \"+_vm._s(attachment.steps.upload.status)),_c('br'),_c('br'),_c('br'),(attachment.steps.upload.status_messages.length > 0)?[_c('strong',[_vm._v(\"Status:\")]),_c('ul',_vm._l((attachment.steps.upload.status_messages),function(msg){return _c('li',[_vm._v(_vm._s(msg))])}),0)]:_vm._e(),(attachment.steps.upload.error_messages.length > 0)?[_c('strong',[_vm._v(\"Errors:\")]),_c('ul',_vm._l((attachment.steps.upload.error_messages),function(msg){return _c('li',[_vm._v(_vm._s(msg))])}),0)]:_vm._e(),(attachment.steps.upload.raw_error_messages.length > 0)?[_c('strong',[_vm._v(\"Raw Errors:\")]),_c('ul',_vm._l((attachment.steps.upload.raw_error_messages),function(msg){return _c('li',[_vm._v(_vm._s(msg))])}),0)]:_vm._e()],2)])])])])]})],2)],1):_vm._e()]):_vm._e()],1)],1),_c('div',{staticClass:\"ui stackable grid\"},[_c('div',{staticClass:\"sixteen wide column\"},[_c('h4',{staticClass:\"ui top attached header\"},[_vm._v(\"\\n Incoming emails\\n \")]),_c('div',{staticClass:\"ui segment attached\"},[_c('div',{staticClass:\"ui tiny form\",staticStyle:{\"float\":\"left\"}},[_c('div',{staticClass:\"inline fields\"},[_c('div',{staticClass:\"field\"},[_c('sui-dropdown',{staticClass:\"compact\",attrs:{\"placeholder\":\"Per page\",\"selection\":\"\",\"options\":_vm.perPageDropdown},on:{\"change\":_vm.loadData},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1),_c('div',{staticClass:\"field\"},[_c('sui-checkbox',{attrs:{\"label\":\"Show healthcheck emails\",\"toggle\":\"\"},model:{value:(_vm.withHealthcheck),callback:function ($$v) {_vm.withHealthcheck=$$v},expression:\"withHealthcheck\"}})],1)])]),_c('div',{staticClass:\"ui mini icon input\",staticStyle:{\"float\":\"right\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.query),expression:\"query\",modifiers:{\"trim\":true}}],attrs:{\"type\":\"text\",\"placeholder\":\"Search...\"},domProps:{\"value\":(_vm.query)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();return _vm.loadData()},\"input\":function($event){if($event.target.composing){ return; }_vm.query=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('i',{staticClass:\"circular search link icon\",on:{\"click\":function($event){$event.preventDefault();return _vm.loadData()}}})]),_c('div',{staticStyle:{\"clear\":\"both\"}})]),_c('div',{staticClass:\"ui bottom attached segment\"},[_c('table',{staticClass:\"ui very compact very basic small table\"},[_vm._m(0),_c('tbody',[_vm._l((_vm.emails),function(email,index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(index + 1))]),_c('td',[_vm._v(_vm._s(email.from_email))]),_c('td',[_vm._v(_vm._s(email.username))]),_c('td',[_vm._v(\"\\n \"+_vm._s(email.subject)+\"\\n \"),(email.incoming_email_metadata.reprocess)?_c('span',{staticClass:\"text muted\"},[_vm._v(\"\\n [R]\\n \")]):_vm._e()]),_c('td',[_vm._v(_vm._s(_vm._f(\"moment\")(email.received_at,\"lll\")))]),_c('td',[_vm._v(_vm._s(email.responded))]),_c('td',[_vm._v(_vm._s(email.status))]),_c('td',[_c('button',{staticClass:\"ui mini icon button\",attrs:{\"data-tooltip\":\"View\",\"data-position\":\"top center\",\"data-inverted\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.viewEmailInfo(email)}}},[_c('i',{staticClass:\"eye icon\"})]),(email.can_reprocess)?_c('button',{staticClass:\"ui mini icon button\",attrs:{\"data-tooltip\":\"Re-process\",\"data-position\":\"right center\",\"data-inverted\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.reprocessEmail(email)}}},[_c('i',{staticClass:\"refresh icon\",class:{ loading: email.is_processing },staticStyle:{\"line-height\":\"0.95em\"}})]):_vm._e()])])}),(_vm.emails && _vm.emails.length === 0)?_c('tr',[_c('td',{staticClass:\"center aligned\",attrs:{\"colspan\":\"8\"}},[_vm._v(\"No entries found\")])]):_vm._e()],2)]),(_vm.pages.length > 1)?_c('sui-button-group',{attrs:{\"basic\":\"\",\"size\":\"mini\"}},_vm._l((_vm.pages),function(page,index){return _c('sui-button',{key:index,attrs:{\"compact\":\"\",\"content\":page.toString(),\"active\":page === _vm.currentPage},on:{\"click\":function($event){$event.preventDefault();return _vm.gotoPage(page)}}})}),1):_vm._e()],1)])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"#\")]),_c('th',[_vm._v(\"From\")]),_c('th',[_vm._v(\"Username\")]),_c('th',[_vm._v(\"Subject\")]),_c('th',[_vm._v(\"Received at\")]),_c('th',[_vm._v(\"Responded\")]),_c('th',[_vm._v(\"Status\")]),_c('th')])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport axios from 'axios';\nimport range from 'lodash-es/range';\nimport moment from 'moment';\n\n@Component({\n components: {}\n})\nexport default class MinerAdminView extends Vue {\n private emails = [];\n private emailsMetadata: any = {};\n private isLoading = false;\n private isEmailInfoModelOpen = false;\n private selectedEmail = null;\n private query = '';\n private currentPage = 1;\n private perPage = 20;\n private refresher?: number;\n private withHealthcheck: boolean = false;\n private maxPagesLimit: number = 15;\n\n @Watch('perPage')\n protected onChildChanged() {\n this.currentPage = 1;\n this.loadData().catch(console.error);\n }\n\n @Watch('withHealthcheck')\n protected onWithHealthcheckChanged() {\n this.loadData().catch(console.error);\n }\n\n get perPageDropdown() {\n return [20, 40, 60, 80, 100].map((val) => ({ value: val, text: val.toString() }));\n }\n\n get pages() {\n const pagesMax = this.emailsMetadata.totalPages + 1;\n return range(1, pagesMax > (this.maxPagesLimit + 1) ? (this.maxPagesLimit + 1) : pagesMax);\n }\n\n protected async created() {\n await this.loadData();\n this.refresher = setInterval(() => {\n this.loadData().catch(console.error);\n }, 1000);\n }\n\n protected beforeDestroy() {\n if (this.refresher) {\n clearInterval(this.refresher);\n }\n }\n\n protected viewEmailInfo(email) {\n this.selectedEmail = email;\n this.isEmailInfoModelOpen = true;\n }\n\n protected async reprocessEmail(email) {\n email.is_processing = true;\n try {\n await axios.post(`admin/miner/emails/${email._id}/reprocess`);\n this.$notify({ type: 'success', text: 'The email will be re-processed shortly.' });\n await this.loadData();\n } catch (e) {\n switch (e.response.status) {\n case 410: {\n this.$notify({ type: 'warning', text: 'This email is no longer available for re-processing.' });\n break;\n }\n case 409: {\n this.$notify({ type: 'warning', text: 'Cannot re-process emails that are waiting for password.' });\n break;\n }\n default: {\n this.$notify({ type: 'error', text: e.message });\n }\n }\n }\n email.is_processing = false;\n }\n\n protected gotoPage(page) {\n this.currentPage = page;\n return this.loadData();\n }\n\n private async loadData() {\n this.isLoading = true;\n try {\n const response = await axios.get('admin/miner/emails', {\n params: {\n query: this.query,\n per_page: this.perPage,\n page: this.currentPage,\n with_healthcheck: this.withHealthcheck,\n }\n });\n this.emails = response.data.items.map((email) => {\n email.is_processing = false;\n email.can_reprocess = false;\n if (email.incoming_email_metadata.receipt.Action.type === 'S3' && !email.incoming_email_metadata.reprocess) {\n email.can_reprocess = moment(email.incoming_email_metadata.mail.timestamp)\n .isAfter(moment.utc().subtract(1, 'day'));\n }\n return email;\n });\n this.emailsMetadata = response.data.meta;\n this.currentPage = this.emailsMetadata.current;\n } catch (e) {\n this.$notify({type: 'error', text: e.message});\n }\n this.isLoading = false;\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MinerAdminView.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MinerAdminView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MinerAdminView.vue?vue&type=template&id=2aaa97d8&scoped=true&\"\nimport script from \"./MinerAdminView.vue?vue&type=script&lang=ts&\"\nexport * from \"./MinerAdminView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MinerAdminView.vue?vue&type=style&index=0&id=2aaa97d8&lang=scss&scoped=true&\"\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 \"2aaa97d8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ui middle aligned center aligned grid\"},[_c('div',{staticClass:\"six wide column\"},[_c('div',{staticClass:\"ui segment\"},[_c('h2',[_vm._v(\"Not found\")]),_c('p',[_vm._v(\"\\n The page your looking for does not exist.\\n \")])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({})\nexport default class IndexView extends Vue {\n}\n","import VueRouter from 'vue-router';\nimport LoginForm from './components/LoginForm.vue';\nimport RegistrationForm from './components/RegistrationForm.vue';\nimport IndexView from './components/IndexView.vue';\nimport VaultAdminView from './components/admin/VaultAdminView.vue';\nimport MinerAdminView from './components/admin/MinerAdminView.vue';\nimport NotFound from './components/NotFound.vue';\nimport store from './store';\n\nlet router;\n\nconst authGuard = (to, from, next) => {\n if (store.state.session.token) {\n next();\n } else {\n next('/login');\n }\n};\n\nconst adminAuthGuard = (to, from, next) => {\n if (store.state.session.token && store.state.session.isAdmin) {\n next();\n } else {\n next('/login');\n }\n\n};\n\nconst routes = [\n { path: '/', component: IndexView, beforeEnter: authGuard },\n { path: '/login', component: LoginForm },\n { path: '/register', component: RegistrationForm },\n { path: '/admin/vault', component: VaultAdminView, beforeEnter: adminAuthGuard },\n { path: '/admin/miner', component: MinerAdminView, beforeEnter: adminAuthGuard },\n { path: '*', component: NotFound, beforeEnter: authGuard }\n];\n\nrouter = new VueRouter({\n routes,\n});\n\nexport { router };\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=0d1abd90&scoped=true&\"\nimport script from \"./NotFound.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotFound.vue?vue&type=script&lang=ts&\"\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 \"0d1abd90\",\n null\n \n)\n\nexport default component.exports","import 'es6-promise/auto';\nimport Vue from 'vue';\nimport SuiVue from 'semantic-ui-vue';\nimport VueRouter from 'vue-router';\nimport PortalVue from 'portal-vue';\nimport Notifications from 'vue-notification';\nimport VueMoment from 'vue-moment';\nimport axios from 'axios';\n\nimport 'semantic-ui-css/semantic.min.css';\n\nimport App from './App.vue';\nimport store from './store';\nimport { router } from './router';\n\nVue.config.productionTip = false;\n\nVue.use(SuiVue);\nVue.use(VueMoment);\nVue.use(VueRouter);\nVue.use(Notifications);\nVue.use(PortalVue);\n\nif (process.env.VUE_APP_BASE_URL && process.env.VUE_APP_BASE_URL !== '') {\n axios.defaults.baseURL = process.env.VUE_APP_BASE_URL;\n} else {\n const l = document.location as Location;\n axios.defaults.baseURL = `${l.protocol}//${l.host}/api/v1`;\n}\n\naxios.interceptors.request.use((config) => {\n if (store.state.session && store.state.session.token) {\n config.headers = config.headers || {};\n config.headers.Authorization = 'Bearer ' + store.state.session.token;\n }\n return config;\n});\n\n// noinspection JSUnusedGlobalSymbols\nnew Vue({\n store,\n router,\n render: (h) => h(App),\n}).$mount('#app');\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WordCloud.vue?vue&type=style&index=0&id=c04f97f8&scoped=true&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Passwords.vue?vue&type=style&index=0&id=43a9073e&scoped=true&lang=scss&\""],"sourceRoot":""}