{"version":3,"sources":["webpack:///./src/views/Auth/Login.vue?0668","webpack:///./src/views/Auth/Login.vue","webpack:///./src/views/Auth/Login.vue?35b1","webpack:///./src/views/Auth/Login.vue?ebd8","webpack:///./src/mixins/LoadingMixin.ts"],"names":["class","for","fullscreen","isIpLocked","src","autocomplete","placeholder","required","loginValues","username","type","id","name","login","password","setOpen","is-open","passwordResetStartOpen","backdropDismiss","mode","css-class","passwordResetInfo","displayConfirmation","components","IonIcon","IonModal","IonContent","IonPage","setup","store","router","state","value","showLockedMessage","cssClass","header","message","setDefaults","data","userId","user","dispatch","appInstancePreference","token","push","usernameOrEmail","buttons","render","__scopeId","language","getters","execute","run","defaultMessage","create","spinner","present","error","ok","toUpperCase","dismiss","executeWithoutSpinner","saveProgress","savingProgress","loading"],"mappings":"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","file":"js/chunk-7416f11e.b0ada881.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Login.vue?vue&type=style&index=0&id=5739af0a&scoped=true&lang=css\"","\n\n\n\n","\nimport { IonIcon, IonModal, IonContent, IonPage } from '@ionic/vue';\nimport { onBeforeMount, ref} from 'vue';\nimport { POST, PUT, GET } from '@/services/HTTP';\nimport { execute } from '@/mixins/LoadingMixin';\nimport { useRouter } from \"vue-router\";\nimport {presentNativeAlert, presentValidationAlert} from \"@/services/Notify\";\nimport {useStore} from \"vuex\";\n\nexport default ({\n name: 'Login',\n components: {\n IonIcon,\n IonModal,\n IonContent,\n IonPage\n },\n setup() {\n const store = useStore();\n const passwordResetStartOpen = ref(false); \n const router = useRouter();\n const setOpen = (state: boolean) => passwordResetStartOpen.value = state;\n const loginValues: any = ref({\n username: '',\n password: ''\n } as any);\n const passwordResetInfo = ref(\"\");\n const isIpLocked = ref(true);\n\n const showLockedMessage = ref(async () => {\n isIpLocked.value = await GET('/login');\n if (isIpLocked.value) {\n await presentNativeAlert({\n backdropDismiss: false,\n cssClass: 'custom-alert',\n header: 'Too Many Attempts',\n message: '

Your account is temporarily locked due to failed login attempts.

Please try again later.

'\n });\n }\n });\n \n onBeforeMount(async () => {\n showLockedMessage.value();\n });\n \n const setDefaults = async (data: any) => {\n const user = await GET('/user/' + data.userId);\n await store.dispatch('auth/setLoggedInUser', user);\n await store.dispatch('app/setSelectedAppInstanceId', user.appInstancePreference);\n }\n \n const login = async () => {\n if (!loginValues.value.username) {\n presentValidationAlert('Please enter your username or email.');\n return;\n } else if (!loginValues.value.password) {\n presentValidationAlert('Please enter your password.');\n return;\n }\n await execute( async () => {\n const data = await POST('/login', loginValues.value);\n if (data) {\n await store.dispatch('auth/setToken', data.token);\n await setDefaults(data);\n loginValues.value.username = '';\n loginValues.value.password = '';\n await router.push({ name: 'home' });\n } else {\n showLockedMessage.value();\n }\n }, 'Error while logging in.');\n }\n \n const displayConfirmation = async () => {\n await execute(async () => {\n await PUT('/reset-password', { usernameOrEmail: passwordResetInfo.value });\n await presentNativeAlert({\n cssClass: 'custom-alert',\n header: 'Check Your Email',\n message: 'If you have an account with us, an email has been sent with a link to reset your password.',\n buttons: ['OK'],\n });\n setOpen(false);\n }, 'Error resetting password.');\n }\n\n return {\n passwordResetStartOpen,\n setOpen,\n displayConfirmation,\n loginValues,\n passwordResetInfo,\n login,\n isIpLocked,\n showLockedMessage\n }\n }\n});\n","import { render } from \"./Login.vue?vue&type=template&id=5739af0a&scoped=true\"\nimport script from \"./Login.vue?vue&type=script&lang=ts\"\nexport * from \"./Login.vue?vue&type=script&lang=ts\"\n\nimport \"./Login.vue?vue&type=style&index=0&id=5739af0a&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-5739af0a\"\n\nexport default script","import { presentNativeAlert } from '@/services/Notify';\nimport { loadingController } from \"@ionic/vue\";\nimport {store} from \"@/store/Store\";\n\nconst language = store.getters['app/language'];\n\nexport async function execute(run: () => Promise, defaultMessage = '') {\n const spinner = await loadingController.create({});\n try {\n await spinner.present();\n await run();\n } catch (e) {\n if (e && defaultMessage) {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: language.error,\n message: defaultMessage,\n buttons: [language.ok.toUpperCase()],\n });\n }\n } finally {\n await spinner.dismiss();\n }\n}\n\nexport async function executeWithoutSpinner(run: () => Promise, defaultMessage = '') {\n try {\n await run();\n } catch (e) {\n if (e && defaultMessage) {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: language.error,\n message: defaultMessage,\n buttons: [language.ok.toUpperCase()],\n });\n }\n }\n}\n\nexport async function saveProgress(run: Function) {\n const loading = await loadingController.create({\n message: language.savingProgress,\n });\n \n try {\n await loading.present();\n await run();\n }\n finally {\n await loading.dismiss();\n }\n}"],"sourceRoot":""}