{"version":3,"sources":["webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./src/domain/composables/use-auth.js","webpack:///./src/domain/services/login-service/strategies/auth-auth-strategy.js","webpack:///./src/domain/composables/use-registration.js","webpack:///./src/pages/login/login.vue?637a","webpack:///./src/pages/login/login.vue","webpack:///src/pages/login/login.vue","webpack:///./src/pages/login/login.vue?f349","webpack:///./src/pages/login/login.vue?b127","webpack:///./node_modules/core-js/modules/web.dom-exception.stack.js","webpack:///./src/domain/services/login-service/strategies/familiar-user-login-strategy.js","webpack:///./src/domain/services/login-service/strategies/new-user-login-strategy.js","webpack:///./src/domain/services/login-service/login-service.js","webpack:///./node_modules/core-js/internals/dom-exception-constants.js","webpack:///./src/domain/services/login-service/strategies/user-login-strategy.js"],"names":["isPrototypeOf","$TypeError","TypeError","module","exports","it","Prototype","useAuth","async","authenticate","email","password","authGroupId","api","getExistingApiInstance","LogicError","payload","isError","data","user","e","AuthAuthStrategy","UserLoginStrategy","constructor","event","super","this","gtm","GtmPlugin","gtmOptions","isLoginError","userData","store","getters","Error","translateI18N","trackEvent","authService","AuthService","setAuthData","token","id","useRegistration","getFormData","formId","form","getOne","include","join","isUserHasRegistration","eventId","meta","registration","isExist","isRegistrationExist","exist","getFieldValues","userId","params","filter","sort","fields","getMany","registrationData","getRegistrationCode","registrationCode","getUserTicket","worksheets","ticketNumber","getRegistrationsByUser","eventIds","perPage","quickRegistration","fromEventId","render","_vm","_c","_self","staticClass","class","externalLink","attrs","_v","_s","$tr","_e","ref","emailErrorMessage","formView","emailSuffix","isEmailDisabled","on","backToEmailState","nativeOn","$event","type","indexOf","_k","keyCode","key","preventDefault","execute","apply","arguments","model","value","authForm","callback","$$v","$set","expression","directives","name","rawName","formState","$options","FORM_STATES","ENTER_PASSWORD","passErrorMessage","isPassVisible","localePath","path","query","isSubmitDisabled","submitButtonText","staticRenderFns","ENTER_EMAIL","components","AppEventInfo","AppEventContactInfo","DirectionLeftIcon","AppHeaderActions","isEmailValid","isPassValid","isLoading","showContent","computed","watch","val","immediate","handler","created","mounted","methods","redirectToExternalUrl","window","executeStrategy","loginService","catch","console","isEmailInAuthGroup","finally","component","$","global","getBuiltIn","createPropertyDescriptor","defineProperty","f","hasOwn","anInstance","inheritIfRequired","normalizeStringArgument","DOMExceptionConstants","clearErrorStack","DESCRIPTORS","IS_PURE","DOM_EXCEPTION","NativeDOMException","$DOMException","DOMExceptionPrototype","argumentsLength","length","message","undefined","that","error","stack","prototype","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","descriptor","Object","getOwnPropertyDescriptor","BUGGY_DESCRIPTOR","writable","configurable","FORCED_CONSTRUCTOR","forced","DOMException","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName","s","c","FamiliarUserLoginStrategy","authAndAuth","eventData","isRegistrationCheckError","_registrationUnavailableGuard","_toRegistration","_toStartPage","pages","state","startPagePath","EventService","defineStartPagePath","LangService","toLocalePath","NewUserLoginStrategy","_toCreateUser","LoginService","str","EMAIL_REGEX","test","strategyName","strategy","USER_STRATEGY_NAMES","UNREGISTERED","USER_STRATEGIES","FAMILIAR","IndexSizeError","m","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotFoundError","NotSupportedError","InUseAttributeError","InvalidStateError","SyntaxError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","SecurityError","NetworkError","AbortError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","eventDateServise","EventDateService","AbstractMethod","args","translateFn","registrationTimeStatus","TIME_STATUSES","IN_PROGRESS","_throwUnavailableRegistrationAlert","start","startRegistrationTime","end","endRegistrationTime","ENDED","WILL_START","locale","entity","months","getMessageWithOneDate","divider","status","getAlertMessageWithDivider"],"mappings":"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","file":"js/login.7365e46d.js","sourcesContent":["var isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n  if (isPrototypeOf(Prototype, it)) return it;\n  throw $TypeError('Incorrect invocation');\n};\n","import { getExistingApiInstance } from '@/api'\nimport LogicError from '@/domain/errors/logic-error'\n\nexport default function useAuth() {\n  /**\n   * Аутентификация по логину и паролю\n   * @returns {Promise<{data: {roles: Array, token: string, id: number}, isError: boolean}>}\n   */\n  async function authenticate(email, password, authGroupId) {\n    const api = getExistingApiInstance()\n\n    if (!authGroupId) {\n      throw new LogicError('Не найден id группы авторизации')\n    }\n\n    const payload = {\n      authGroupId,\n      email,\n      password,\n    }\n\n    let isError = false\n    let data = {}\n    try {\n      ({ data } = await api.user.authenticate(payload))\n    } catch (e) {\n      isError = true\n    }\n\n    return {\n      data,\n      isError,\n    }\n  }\n\n  return {\n    authenticate,\n  }\n}\n","import UserLoginStrategy from '@/domain/services/login-service/strategies/user-login-strategy'\nimport useAuth from '@/domain/composables/use-auth'\nimport store from '@/store'\nimport AuthService from '@/domain/services/auth-service'\nimport { GtmPlugin } from '@gtm-support/vue2-gtm'\nimport gtmOptions from '@/plugins/gtm'\n\n/**\n * authenticate then authorize\n */\nexport default class AuthAuthStrategy extends UserLoginStrategy {\n  constructor(event, user) {\n    super(event, user)\n    this.gtm = new GtmPlugin(gtmOptions)\n  }\n\n  async execute() {\n    const { authenticate } = useAuth()\n\n    const { data, isError: isLoginError } = await authenticate(\n      this.userData.email,\n      this.userData.password,\n      store.getters['domain/currentAuthGroupId'],\n    )\n\n    if (isLoginError) {\n      throw new Error(this.translateI18N('auth.authError'))\n    }\n\n    this.gtm.trackEvent({ event: 'event-auth' })\n\n    const authService = new AuthService()\n    await authService.setAuthData(data.token, data.id)\n  }\n}\n","import { getExistingApiInstance } from '@/api'\nimport LogicError from '@/domain/errors/logic-error'\n\n/**\n * Функция используется для работы с анкетой пользователя\n */\nexport default function useRegistration() {\n  async function getFormData(formId) {\n    const api = getExistingApiInstance()\n\n    const { data } = await api.form.getOne(formId, {\n      include: ['fields.values', 'groups'].join(','),\n    })\n    return data\n  }\n\n  async function isUserHasRegistration(email, eventId, authGroupId) {\n    const api = getExistingApiInstance()\n\n    const payload = {\n      eventId,\n      email,\n      authGroupId,\n    }\n    let isError = false\n    let meta\n\n    try {\n      ({ meta } = await api.registration.isExist(payload))\n    } catch {\n      isError = true\n    }\n\n    return { data: { isRegistrationExist: meta?.exist }, isError }\n  }\n\n  async function getFieldValues(userId, eventId) {\n    const params = {\n      include: ['fields.field'].join(','),\n      filter: {\n        userId,\n        eventId,\n      },\n      sort: 'id',\n      'per-page': 1,\n      fields: {\n        registration: ['id'].join(','),\n      },\n    }\n\n    const { data } = await getExistingApiInstance().registration.getMany(params)\n\n    const [registrationData] = data\n\n    return registrationData?.fields\n  }\n\n  async function getRegistrationCode(userId, eventId) {\n    const params = {\n      filter: {\n        userId,\n        eventId,\n      },\n      fields: {\n        registration: ['registrationCode'].join(','),\n      },\n    }\n\n    const { data } = await getExistingApiInstance().registration.getMany(params)\n\n    const [registrationData] = data\n\n    return registrationData?.registrationCode\n  }\n\n  async function getUserTicket(userId, eventId) {\n    const params = {\n      filter: {\n        userId,\n        eventId,\n      },\n      sort: 'id',\n      'per-page': 1,\n      fields: {\n        registration: ['ticketNumber'].join(','),\n      },\n    }\n\n    const { data } = await getExistingApiInstance().registration.getMany(params)\n\n    const [worksheets] = data\n\n    const ticketNumber = worksheets.ticketNumber\n\n    return ticketNumber\n  }\n\n  async function getRegistrationsByUser(eventIds, userId) {\n    const api = getExistingApiInstance()\n    const params = {\n      filter: {\n        userId,\n        eventId: eventIds,\n      },\n      perPage: 0,\n    }\n\n    const { data } = await api.registration.getMany(params)\n\n    return data\n  }\n\n  async function quickRegistration(eventId, fromEventId) {\n    if (fromEventId === eventId) {\n      throw new LogicError('Попытка быстрой регистрации на евент-кабинет')\n    }\n\n    const api = getExistingApiInstance()\n\n    const data = { fromEventId, eventId }\n\n    await api.registration.quickRegistration(data)\n  }\n\n  return {\n    getFormData,\n    getFieldValues,\n    getRegistrationCode,\n    getUserTicket,\n    getRegistrationsByUser,\n    quickRegistration,\n    isUserHasRegistration,\n  }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=035afcc7&prod&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"auth\"},[_c('div',{staticClass:\"auth__header auth-header\"},[_c('div',{staticClass:\"auth-header__actions\",class:_vm.externalLink ? '' : 'auth-header__actions--no-back-button'},[(_vm.externalLink)?_c('div',{staticClass:\"header-back\"},[_c('a',{staticClass:\"header-back__content s-card s-card--no-padding\",attrs:{\"href\":_vm.externalLink}},[_c('span',{staticClass:\"header-back__back-icon\"},[_c('DirectionLeftIcon')],1),_c('span',{staticClass:\"header-back__text s-subtitle-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$tr('auth.backDist'))+\" \")])])]):_vm._e(),_c('AppHeaderActions')],1)]),_c('div',{staticClass:\"s-h2 auth__title\"},[_vm._v(\" \"+_vm._s(_vm.$tr('auth.title'))+\" \")]),_c('div',{staticClass:\"auth__card s-card s-card--no-padding s-card--no-margin row\"},[_c('div',{staticClass:\"col-12 col-md-5 divider\"},[_c('div',{staticClass:\"auth__authform authform\"},[_c('Form',{ref:\"authForm\",staticClass:\"authform__form\",attrs:{\"hide-required-mark\":true}},[_c('FormItem',{staticClass:\"authform__form-item\",attrs:{\"label\":\"Email\",\"prop\":\"email\",\"error\":_vm.emailErrorMessage}},[_c('Input',{ref:\"emailInput\",attrs:{\"type\":\"email\",\"placeholder\":_vm.$tr('auth.email.placeholder'),\"suffix\":_vm.formView.emailSuffix,\"disabled\":_vm.formView.isEmailDisabled},on:{\"suffixClick\":_vm.backToEmailState},nativeOn:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return _vm.execute.apply(null, arguments)}},model:{value:(_vm.authForm.email),callback:function ($$v) {_vm.$set(_vm.authForm, \"email\", $$v)},expression:\"authForm.email\"}})],1),_c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.formState === _vm.$options.FORM_STATES.ENTER_PASSWORD),expression:\"formState === $options.FORM_STATES.ENTER_PASSWORD\"}]},[_c('FormItem',{staticClass:\"authform__form-item\",attrs:{\"label\":_vm.$tr('auth.password.label'),\"prop\":\"password\",\"error\":_vm.passErrorMessage}},[_c('Input',{ref:\"passInput\",attrs:{\"placeholder\":_vm.$tr('auth.password.placeholder'),\"type\":_vm.isPassVisible ? 'text' : 'password',\"suffix\":\"eye\"},on:{\"suffixClick\":function($event){_vm.isPassVisible = !_vm.isPassVisible}},nativeOn:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return _vm.execute.apply(null, arguments)}},model:{value:(_vm.authForm.password),callback:function ($$v) {_vm.$set(_vm.authForm, \"password\", $$v)},expression:\"authForm.password\"}})],1)],1)])],1),(_vm.formState === _vm.$options.FORM_STATES.ENTER_PASSWORD)?_c('div',{staticClass:\"authform__password-recovery s-link\"},[_c('router-link',{attrs:{\"to\":_vm.localePath({\n                  path: '/login/recovery',\n                  query: { email: _vm.authForm.email },\n                })}},[_vm._v(\" \"+_vm._s(_vm.$tr('auth.recoveryPassword'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"authform__submit\"},[_c('Button',{attrs:{\"disabled\":_vm.formView.isSubmitDisabled,\"type\":\"primary\",\"long\":\"\"},on:{\"click\":_vm.execute}},[_vm._v(\" \"+_vm._s(_vm.formView.submitButtonText)+\" \")])],1)],1)]),_c('div',{staticClass:\"col-12 col-md-7\"},[_c('div',{staticClass:\"auth__event-info-main\"},[_c('AppEventInfo',{attrs:{\"event\":_vm.event}})],1),_c('div',{staticClass:\"auth__event-info-contacts\"},[_c('AppEventContactInfo',{attrs:{\"event\":_vm.event}})],1)])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"content\">\n    <div class=\"auth\">\n      <div class=\"auth__header auth-header\">\n        <div\n          class=\"auth-header__actions\"\n          :class=\"externalLink ? '' : 'auth-header__actions--no-back-button'\"\n        >\n          <div v-if=\"externalLink\" class=\"header-back\">\n            <a\n              class=\"header-back__content s-card s-card--no-padding\"\n              :href=\"externalLink\"\n            >\n              <span class=\"header-back__back-icon\">\n                <DirectionLeftIcon />\n              </span>\n              <span class=\"header-back__text s-subtitle-secondary\">\n                {{ $tr('auth.backDist') }}\n              </span>\n            </a>\n          </div>\n          <AppHeaderActions />\n        </div>\n      </div>\n      <div class=\"s-h2 auth__title\">\n        {{ $tr('auth.title') }}\n      </div>\n      <div class=\"auth__card s-card s-card--no-padding s-card--no-margin row\">\n        <div class=\"col-12 col-md-5 divider\">\n          <div class=\"auth__authform authform\">\n            <Form\n              ref=\"authForm\"\n              :hide-required-mark=\"true\"\n              class=\"authform__form\"\n            >\n              <FormItem\n                label=\"Email\"\n                prop=\"email\"\n                class=\"authform__form-item\"\n                :error=\"emailErrorMessage\"\n              >\n                <Input\n                  ref=\"emailInput\"\n                  v-model=\"authForm.email\"\n                  type=\"email\"\n                  :placeholder=\"$tr('auth.email.placeholder')\"\n                  :suffix=\"formView.emailSuffix\"\n                  :disabled=\"formView.isEmailDisabled\"\n                  @suffixClick=\"backToEmailState\"\n                  @keydown.enter.native.prevent=\"execute\"\n                />\n              </FormItem>\n              <transition name=\"fade\">\n                <div v-show=\"formState === $options.FORM_STATES.ENTER_PASSWORD\">\n                  <FormItem\n                    :label=\"$tr('auth.password.label')\"\n                    prop=\"password\"\n                    class=\"authform__form-item\"\n                    :error=\"passErrorMessage\"\n                  >\n                    <Input\n                      ref=\"passInput\"\n                      v-model=\"authForm.password\"\n                      :placeholder=\"$tr('auth.password.placeholder')\"\n                      :type=\"isPassVisible ? 'text' : 'password'\"\n                      suffix=\"eye\"\n                      @suffixClick=\"isPassVisible = !isPassVisible\"\n                      @keydown.enter.native.prevent=\"execute\"\n                    />\n                  </FormItem>\n                </div>\n              </transition>\n            </Form>\n            <div\n              v-if=\"formState === $options.FORM_STATES.ENTER_PASSWORD\"\n              class=\"authform__password-recovery s-link\"\n            >\n              <router-link\n                :to=\"\n                  localePath({\n                    path: '/login/recovery',\n                    query: { email: authForm.email },\n                  })\n                \"\n              >\n                {{ $tr('auth.recoveryPassword') }}\n              </router-link>\n            </div>\n            <div class=\"authform__submit\">\n              <Button\n                :disabled=\"formView.isSubmitDisabled\"\n                type=\"primary\"\n                long\n                @click=\"execute\"\n              >\n                {{ formView.submitButtonText }}\n              </Button>\n            </div>\n          </div>\n        </div>\n        <div class=\"col-12 col-md-7\">\n          <div class=\"auth__event-info-main\">\n            <AppEventInfo :event=\"event\" />\n          </div>\n          <div class=\"auth__event-info-contacts\">\n            <AppEventContactInfo :event=\"event\" />\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapState } from 'vuex'\n\nimport { BASE_URL } from '@/api/api-instance.js'\n\nimport AuthService from '@/domain/services/auth-service'\nimport AppEventInfo from '@/components/base/app-event-info'\nimport AppEventContactInfo from '@/components/common/app-event-contact-info'\nimport AppHeaderActions from '@/components/base/header/app-header-actions'\nimport useUser from '@/domain/composables/use-user'\nimport loginService from '@/domain/services/login-service/login-service'\nimport DirectionLeftIcon from '@/components/themed-icons/direction-left'\n\nconst FORM_STATES = {\n  ENTER_EMAIL: 'email',\n  ENTER_PASSWORD: 'password',\n}\n\nexport default {\n  FORM_STATES,\n  components: {\n    AppEventInfo,\n    AppEventContactInfo,\n    DirectionLeftIcon,\n    AppHeaderActions,\n  },\n  data() {\n    return {\n      formState: FORM_STATES.ENTER_EMAIL,\n      isEmailValid: true,\n      emailErrorMessage: '',\n      isPassValid: true,\n      isPassVisible: false,\n      passErrorMessage: '',\n      authForm: {\n        email: '',\n        password: '',\n      },\n      isLoading: false,\n      showContent: true,\n    }\n  },\n  computed: {\n    ...mapState({\n      event: (state) => state.event.data,\n      authGroupId: (state) => state.domain.data.authGroupId,\n    }),\n\n    formView() {\n      if (this.formState === FORM_STATES.ENTER_EMAIL) {\n        return {\n          emailSuffix: '',\n          isEmailDisabled: false,\n          isSubmitDisabled:\n            !this.isEmailValid || this.authForm.email === '' || this.isLoading,\n          submitButtonText: this.$tr('auth.submit'),\n        }\n      }\n      return {\n        emailSuffix: 'edit-3',\n        isEmailDisabled: true,\n        isSubmitDisabled:\n          !this.isPassValid || this.authForm.password === '' || this.isLoading,\n        submitButtonText: this.$tr('auth.submitEnter'),\n      }\n    },\n\n    externalLink() {\n      return this.event?.formLink?.externalUrl\n    },\n  },\n  watch: {\n    // todo: невозможность пользоваться iview+asyncValidator для данного кейса\n    // написан простенький синхронный вариант, не подразумевающий добавлять разные тексты ошибок\n    'authForm.email': function (val) {\n      const isValid = loginService.validateEmail(val)\n      this.isEmailValid = isValid\n      if (!isValid) {\n        this.emailErrorMessage =\n          val === ''\n            ? this.$tr('auth.email.errorMessageLack')\n            : this.$tr('auth.email.errorMessageFormat')\n      } else {\n        this.emailErrorMessage = ''\n      }\n    },\n    'authForm.password': function (val) {\n      const isValid = loginService.validatePassword(val)\n      this.isPassValid = isValid\n\n      if (!isValid) {\n        this.passErrorMessage =\n          val === ''\n            ? this.$tr('auth.password.errorMessage')\n            : this.$tr('auth.password.errorLength')\n      } else {\n        this.passErrorMessage = ''\n      }\n    },\n    event: {\n      immediate: true,\n      handler: function(event) {\n        if (event.id == 8300 && !this.$route.query.auth) this.redirectToExternalUrl()\n      },\n    },\n  },\n  created() {\n    if (this.$route.query.auth) this.authFromQuery(this.$route.query.auth)\n  },\n  mounted() {\n    this.$refs.emailInput.focus()\n  },\n  methods: {\n    redirectToExternalUrl() {\n      this.$store.commit('SET_APP_IS_LOADING', true)\n      window.location.href =\n        this.event.externalUrl ||\n        `${BASE_URL}/api/v1/auth/client?authclient=jnj&event_id=8300`\n    },\n    async authFromQuery(query) {\n      const authParams = JSON.parse(atob(query))\n      if (authParams.auth_userId && authParams.auth_token) {\n        this.$store.commit('SET_APP_IS_LOADING', true)\n        const auth = new AuthService()\n        await auth.setAuthData(authParams.auth_token, authParams.auth_userId)\n        this.$router.go('/')\n      }\n    },\n    async backToEmailState() {\n      this.authForm.email = ''\n      await this.updateFormState(FORM_STATES.ENTER_EMAIL)\n      this.$refs.emailInput.focus()\n    },\n\n    async execute() {\n      if (this.formView.isSubmitDisabled) {\n        return\n      }\n      this.isLoading = true\n      if (this.formState === FORM_STATES.ENTER_EMAIL) {\n        await this.handleEmailInput()\n      } else if (this.formState === FORM_STATES.ENTER_PASSWORD) {\n        await this.handlePasswordInput()\n      }\n      this.isLoading = false\n    },\n\n    async handleEmailInput() {\n      const isUserExists = await this.isUserExist()\n      if (!isUserExists) {\n        await loginService\n          .executeStrategy(\n            loginService.USER_STRATEGY_NAMES.UNREGISTERED,\n            this.event,\n            this.authForm\n          )\n          .catch((e) => {\n            this.$Message.error(e.message)\n            console.error(e)\n          })\n      } else {\n        await this.updateFormState(FORM_STATES.ENTER_PASSWORD)\n        this.$refs.passInput.focus()\n      }\n    },\n\n    async updateFormState(state) {\n      this.formState = state\n      await this.$nextTick() // там transition\n    },\n\n    async handlePasswordInput() {\n      await loginService\n        .executeStrategy(\n          loginService.USER_STRATEGY_NAMES.FAMILIAR,\n          this.event,\n          this.authForm\n        )\n        .catch((e) => {\n          this.$Message.error(e.message)\n          this.authForm.password = ''\n        })\n    },\n\n    async isUserExist() {\n      this.isLoading = true\n      const isExist = await useUser()\n        .isEmailInAuthGroup(this.authForm.email, this.authGroupId)\n        .catch((e) => {\n          console.error(e)\n        })\n        .finally(() => {\n          this.isLoading = false\n        })\n      return isExist\n    },\n  },\n}\n</script>\n<style lang=\"scss\">\n@import '~@/styles/pages/login.scss';\n@import '~@/styles/blocks/header-back.scss';\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=035afcc7&\"\nimport script from \"./login.vue?vue&type=script&lang=js&\"\nexport * from \"./login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./login.vue?vue&type=style&index=0&id=035afcc7&prod&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","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n  anInstance(this, DOMExceptionPrototype);\n  var argumentsLength = arguments.length;\n  var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n  var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n  var that = new NativeDOMException(message, name);\n  var error = Error(message);\n  error.name = DOM_EXCEPTION;\n  defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n  inheritIfRequired(that, this, $DOMException);\n  return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n  DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n  if (!IS_PURE) {\n    defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n  }\n\n  for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n    var constant = DOMExceptionConstants[key];\n    var constantName = constant.s;\n    if (!hasOwn(PolyfilledDOMException, constantName)) {\n      defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n    }\n  }\n}\n","import UserLoginStrategy from '@/domain/services/login-service/strategies/user-login-strategy'\nimport AuthAuthStrategy from '@/domain/services/login-service/strategies/auth-auth-strategy'\nimport store from '@/store'\nimport useRegistration from '@/domain/composables/use-registration'\nimport EventService from '@/domain/services/event-service'\nimport LangService from '@/domain/services/lang-service'\nexport class FamiliarUserLoginStrategy extends UserLoginStrategy {\n  async execute() {\n    const authAndAuth = new AuthAuthStrategy(this.eventData, this.userData)\n    await authAndAuth.execute()\n\n    const { isUserHasRegistration } = useRegistration()\n    const authGroupId = store.getters['domain/currentAuthGroupId']\n\n    const {\n      data: { isRegistrationExist },\n      isError: isRegistrationCheckError,\n    } = await isUserHasRegistration(\n      this.userData.email,\n      this.eventData.id,\n      authGroupId\n    )\n\n    if (isRegistrationCheckError) {\n      throw new Error('Произошла ошибка при проверке регистрации')\n    }\n\n    if (!isRegistrationExist) {\n      await this._registrationUnavailableGuard()\n      await this._toRegistration()\n      return\n    }\n\n    await this._toStartPage()\n  }\n\n  async _toStartPage() {\n    const pages = store.state.pages.data\n    const startPagePath = EventService.defineStartPagePath(\n      this.eventData,\n      pages\n    )\n    await LangService.toLocalePath({ path: startPagePath })\n  }\n\n  async _toRegistration() {\n    await LangService.toLocalePath({\n      path: '/registration',\n      query: { email: this.userData.email },\n    })\n  }\n}\n","import UserLoginStrategy from '@/domain/services/login-service/strategies/user-login-strategy'\nimport LangService from '@/domain/services/lang-service'\n\nexport class NewUserLoginStrategy extends UserLoginStrategy {\n  async execute() {\n    await this._registrationUnavailableGuard()\n\n    await this._toCreateUser()\n  }\n\n  async _toCreateUser() {\n    await LangService.toLocalePath({\n      path: '/user',\n      query: { email: this.userData.email },\n    })\n  }\n}\n","import { EMAIL_REGEX } from '@/utils/constants'\nimport { FamiliarUserLoginStrategy } from '@/domain/services/login-service/strategies/familiar-user-login-strategy'\nimport { NewUserLoginStrategy } from '@/domain/services/login-service/strategies/new-user-login-strategy'\n\nimport LogicError from '@/domain/errors/logic-error'\n\nexport default class LoginService {\n  static USER_STRATEGY_NAMES = {\n    UNREGISTERED: 'unregistered',\n    FAMILIAR: 'familiar',\n  }\n\n  static USER_STRATEGIES = {\n    UNREGISTERED: NewUserLoginStrategy,\n    FAMILIAR: FamiliarUserLoginStrategy,\n  }\n\n  static validateEmail(str) {\n    return EMAIL_REGEX.test(str)\n  }\n\n  static validatePassword(str) {\n    return str.length >= 6\n  }\n\n  static async executeStrategy(strategyName, event, user) {\n    let strategy = {\n      execute: async () => {\n        throw new LogicError('Неверное имя стратегии')\n      },\n    }\n\n    if (strategyName === this.USER_STRATEGY_NAMES.UNREGISTERED) {\n      strategy = new this.USER_STRATEGIES.UNREGISTERED(event, user)\n    } else if (strategyName === this.USER_STRATEGY_NAMES.FAMILIAR) {\n      strategy = new this.USER_STRATEGIES.FAMILIAR(event, user)\n    }\n\n    await strategy.execute()\n  }\n}\n","module.exports = {\n  IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n  DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n  HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n  WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n  InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n  NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n  NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n  NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n  NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n  InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n  InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n  SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n  InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n  NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n  InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n  ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n  TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n  SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n  NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n  AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n  URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n  QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n  TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n  InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n  DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","import EventDateService from '@/domain/services/event-date-service'\nimport { AbstractMethod } from '@/utils/oop-helpers'\nimport { translateFn } from '@/plugins/i18n'\nimport { TIME_STATUSES } from '@/utils'\n\nexport default class UserLoginStrategy {\n  constructor(event, user) {\n    this.userData = user\n    this.eventDateServise = new EventDateService(event)\n    this.eventData = event\n  }\n  execute() {\n    new AbstractMethod()\n  }\n\n  translateI18N(key, ...args) {\n    return translateFn(key, ...args)\n  }\n\n  async _registrationUnavailableGuard() {\n    if (this.eventData.registrationTimeStatus !== TIME_STATUSES.IN_PROGRESS) {\n      this._throwUnavailableRegistrationAlert()\n    }\n  }\n\n  _throwUnavailableRegistrationAlert() {\n    const start = this.eventDateServise.startRegistrationTime\n    const end = this.eventDateServise.endRegistrationTime\n\n    // регистрация может быть недоступна, если дата начала регистрации не указана,\n    // а дата окончания уже наступила\n    if (this.eventData.registrationTimeStatus === TIME_STATUSES.ENDED) {\n      throw new Error(this.translateI18N('alertTime.error.ended'))\n    }\n    // регистрация может быть недоступна, если дата окончания регистрации не указана,\n    // а дата начала еще не наступила\n    if (this.eventData.registrationTimeStatus === TIME_STATUSES.WILL_START) {\n      const locale = {\n        entity: this.translateI18N('alertTime.error.willStart'),\n        months: this.translateI18N('months'),\n      }\n      const message = EventDateService.getMessageWithOneDate(locale, start)\n      throw new Error(message)\n    }\n\n    const locale = {\n      entity: this.translateI18N('auth.regDateError.text'),\n      months: this.translateI18N('months'),\n      divider: this.translateI18N('auth.regDateError.divider'),\n    }\n\n    const status = EventDateService.getAlertMessageWithDivider(\n      locale,\n      start,\n      end,\n    )\n    throw new Error(status.message)\n  }\n}\n"],"sourceRoot":""}