{"version":3,"sources":["webpack:///./node_modules/@glittr/frontend-core/src/plugins/validation/queryBuilder.ts","webpack:///./node_modules/@glittr/frontend-core/src/views/pages/_exterior/confirm-new-password.vue?a8bc","webpack:///./node_modules/@glittr/frontend-core/src/services/generated/types/model/resource/UserChangePasswordRequestModel.ts","webpack:///./node_modules/@glittr/frontend-core/src/services/viewModel/resource/UserChangePasswordRequestViewModel.ts","webpack:///./node_modules/@glittr/frontend-core/src/views/pages/_exterior/confirm-new-password.vue?98f8","webpack:///./node_modules/@glittr/frontend-core/src/views/pages/_exterior/confirm-new-password.vue?d961","webpack:///./node_modules/@glittr/frontend-core/src/views/pages/_exterior/confirm-new-password.vue"],"names":["queryBuilder","deepSetProperty","schema","property","value","setRequired","propertyPath","split","currentNode","nodes","forEach","prop","i","properties","type","push","lastNode","length","lastProp","required","constValues","propValues","propsRequired","Object","keys","key","const","if","this","ifNot","not","thenRequired","propNames","then","thenValue","elseRequired","else","elseValue","computedRequired","computedProps","filteredValue","sameAs","isObject","pattern","$validation","REF_PREFIX","nestedProps","render","_vm","_h","$createElement","_c","_self","attrs","_v","_s","$t","staticClass","resetPassword","model","callback","$$v","$set","expression","on","$event","indexOf","_k","keyCode","resetForgottenPassword","isLoading","requestError","staticRenderFns","dto","token","newPassword","transformFromQuery","queries","minLength","extend","auth","layout","data","resetPasswordValidationMessage","undefined","computed","$route","query","mounted","methods","validate","email","$router","currentRoute","params","$service","api","core","users","changePassword","$auth","login","username","password","isInRole","replace","component"],"mappings":"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","file":"js/chunk-70ff9dde.a0831cb6.js","sourcesContent":["import Vue from 'vue';\r\nimport _ from '../../utils';\r\nimport { IJSONSchema } from './IJSONSchema';\r\n\r\ntype PropertiesOptions = Omit & {\r\n required?: boolean,\r\n sameAs?: string\r\n properties?: Record,\r\n};\r\n\r\nconst queryBuilder = {\r\n deepSetProperty(schema: IJSONSchema, property: string, value: Record, setRequired: boolean = false) {\r\n const propertyPath = property.split('.');\r\n let currentNode = schema ?? {};\r\n const nodes = [] as IJSONSchema[];\r\n propertyPath.forEach((prop, i) => {\r\n currentNode.properties = currentNode.properties ?? {};\r\n currentNode.type = currentNode.type ?? 'object';\r\n currentNode.properties[prop] = currentNode.properties[prop] ?? {};\r\n nodes.push(currentNode);\r\n currentNode = currentNode.properties[prop] as IJSONSchema;\r\n });\r\n const lastNode = nodes[nodes.length - 1];\r\n const lastProp = propertyPath[propertyPath.length - 1];\r\n if (setRequired) {\r\n lastNode.required = [...(lastNode.required ?? []), lastProp];\r\n }\r\n if (value) {\r\n lastNode.properties![lastProp] = { ...lastNode.properties![lastProp] as {}, ...value };\r\n }\r\n },\r\n constValues(propValues: Record, propsRequired: boolean = false) {\r\n const schema: IJSONSchema = {};\r\n Object.keys(propValues).forEach((key) => {\r\n this.deepSetProperty(schema, key, { const: propValues[key] }, propsRequired);\r\n });\r\n return schema;\r\n },\r\n if(propValues: Record, propsRequired: boolean = true) {\r\n const properties = this.constValues(propValues, propsRequired);\r\n return { if: properties };\r\n },\r\n ifNot(propValues: Record, propsRequired: boolean = true) {\r\n const properties = this.constValues(propValues, propsRequired);\r\n return { if: { not: properties } };\r\n },\r\n thenRequired(propNames: string[]) {\r\n return { then: { required: propNames } };\r\n },\r\n thenValue(propValues: Record, propsRequired: boolean = false) {\r\n const properties = this.constValues(propValues, propsRequired);\r\n return { then: properties };\r\n },\r\n elseRequired(propNames: string[]) {\r\n return { else: { required: propNames } };\r\n },\r\n elseValue(propValues: Record, propsRequired: boolean = false) {\r\n const properties = this.constValues(propValues, propsRequired);\r\n return { else: properties };\r\n },\r\n\r\n properties(properties: Record) {\r\n const computedRequired = [] as string[];\r\n Object.keys(properties).forEach((key) => {\r\n if (properties[key].required) {\r\n computedRequired.push(key);\r\n }\r\n });\r\n const computedProps = {} as NonNullable;\r\n Object.keys(properties).forEach((key) => {\r\n if (properties[key].type === 'object') {\r\n const nestedProps = properties[key].properties;\r\n computedProps[key] = this.properties(nestedProps as Record);\r\n return;\r\n }\r\n const { required, ...filteredValue } = properties[key];\r\n // In nested cases this has already been converted above, so casting to any here\r\n computedProps[key] = filteredValue as any;\r\n if (filteredValue.sameAs && _.isObject(computedProps[key])) {\r\n (computedProps[key] as IJSONSchema).pattern = `${Vue.$validation.REF_PREFIX}${filteredValue.sameAs}`;\r\n }\r\n });\r\n return {\r\n type: 'object' as IJSONSchema['type'],\r\n required: computedRequired as IJSONSchema['required'],\r\n properties: computedProps as IJSONSchema['properties'],\r\n };\r\n },\r\n};\r\n\r\nexport default queryBuilder;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p-container',[_c('p-row',[_c('p-col',{attrs:{\"xs12\":\"\"}},[_c('p-row',{attrs:{\"column\":\"\",\"dense\":\"\"}},[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t(\"core.page.confirmNewPassword.title.setNewPassword\"))+\" \")]),_c('p',{staticClass:\"caption-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"core.page.confirmNewPassword.text.description\"))+\" \")])])],1),_c('p-col',[_c('p-form',{attrs:{\"model\":_vm.resetPassword,\"no-summary\":\"\"}},[_c('p-text-field',{attrs:{\"type\":\"text\",\"label\":_vm.$t('core.page.confirmNewPassword.label.token')},model:{value:(_vm.resetPassword.token),callback:function ($$v) {_vm.$set(_vm.resetPassword, \"token\", $$v)},expression:\"resetPassword.token\"}}),_c('p-text-field',{attrs:{\"type\":\"password\",\"label\":_vm.$t('core.page.confirmNewPassword.label.newPassword')},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.resetForgottenPassword()}},model:{value:(_vm.resetPassword.newPassword),callback:function ($$v) {_vm.$set(_vm.resetPassword, \"newPassword\", $$v)},expression:\"resetPassword.newPassword\"}})],1)],1),_c('p-col',{attrs:{\"xs12\":\"\"}},[_c('p-row',[_c('p-button',{attrs:{\"loading\":_vm.isLoading,\"disabled\":_vm.isLoading},on:{\"click\":function($event){return _vm.resetForgottenPassword()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"core.page.confirmNewPassword.button.resetPassword\"))+\" \")])],1)],1),_c('p-col',{attrs:{\"xs12\":\"\"}},[_c('p-request-alert',{model:{value:(_vm.requestError),callback:function ($$v) {_vm.requestError=$$v},expression:\"requestError\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// ╭────────────────────────────────────────────────────────────────────────────────────╮\r\n// ┊ This file was automatically generated\r\n// ┊ Please do not modify manually\r\n// ┊ ©gl it 2022 - http://www.gl-it.ch\r\n// ╰────────────────────────────────────────────────────────────────────────────────────╯\r\n\r\nimport BaseModel from '../../../../../plugins/servicelayer/serviceTypes/baseModel';\r\nimport UserChangePasswordRequestDTO from '../../dto/resource/UserChangePasswordRequestDTO';\r\n\r\nexport default abstract class UserChangePasswordRequestModel extends BaseModel {\r\n /**\r\n */\r\n get token() { return this.dto.token; }\r\n set token(value) { this.dto.token = value; }\r\n /**\r\n */\r\n get newPassword() { return this.dto.newPassword; }\r\n set newPassword(value) { this.dto.newPassword = value; }\r\n\r\n protected transformFromQuery(queries: Record): void {\r\n let value: any;\r\n this.dto.token = queries.token;\r\n this.dto.newPassword = queries.newPassword;\r\n }\r\n}\r\n","import UserChangePasswordRequestModel from '../../generated/types/model/resource/UserChangePasswordRequestModel';\r\nimport { IJSONSchema } from '../../../plugins/validation/IJSONSchema';\r\nimport queryBuilder from '../../../plugins/validation/queryBuilder';\r\nimport validationPatterns from '../../../plugins/validation/validationPatterns';\r\n\r\nexport default class UserChangePasswordRequestViewModel extends UserChangePasswordRequestModel {\r\n schema = {\r\n ...queryBuilder.properties({\r\n token: { required: true },\r\n newPassword: { required: true, minLength: 6 },\r\n }),\r\n } as IJSONSchema;\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 Vue from 'vue';\nimport UserChangePasswordRequestViewModel from '../../../services/viewModel/resource/UserChangePasswordRequestViewModel';\n\nexport default Vue.extend({\n auth: false,\n layout: ['layout-exterior', '_exterior'],\n data: () => ({\n resetPasswordValidationMessage: (undefined as unknown as string),\n isLoading: false,\n requestError: undefined,\n resetPassword: new UserChangePasswordRequestViewModel(),\n }),\n computed: {\n token() {\n return this.$route?.query?.token;\n },\n },\n mounted() {\n this.$set(this.resetPassword, 'token', this.token);\n },\n methods: {\n async resetForgottenPassword() {\n if (!this.resetPassword.validate()) {\n return;\n }\n this.isLoading = true;\n try {\n const { email } = Vue.$router.currentRoute.params;\n await this.$service.api.core.users.changePassword(this.resetPassword);\n await this.$auth.login({ username: email, password: this.resetPassword.newPassword });\n\n if (this.$auth.isInRole('hostadmin', 'admin')) {\n Vue.$router.replace('/_admin/');\n } else {\n Vue.$router.replace('/');\n }\n } catch (error: any) {\n this.requestError = error;\n }\n this.isLoading = false;\n },\n },\n});\n\n","import mod from \"-!../../../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./confirm-new-password.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../cache-loader/dist/cjs.js??ref--14-0!../../../../../../thread-loader/dist/cjs.js!../../../../../../babel-loader/lib/index.js!../../../../../../@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../../../../../cache-loader/dist/cjs.js??ref--1-0!../../../../../../vue-loader/lib/index.js??vue-loader-options!./confirm-new-password.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./confirm-new-password.vue?vue&type=template&id=010cd26f&\"\nimport script from \"./confirm-new-password.vue?vue&type=script&lang=ts&\"\nexport * from \"./confirm-new-password.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../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"],"sourceRoot":""}