{"version":3,"sources":["webpack:///./node_modules/eslint-loader/index.js"],"names":["actions","staffs_store","state","StaffsInviteFunctionsMixin","invite_dialog","success_dialog","invited_email","send_again","debounce","staff","resend_invite","payload","new_staff_invite","send_invite","data","is_error","fail_responses","some","el","code","this","invite_error_code_checker","handle_success_response","email","ResponseStatuses","Success","CREATED","open_success_dialog","get_staffs","text","Fail","UNAUTHORIZED","NOT_FOUND","BAD_REQUEST","UNPROCESSABLE","$dialog","open","title","center_title","bts_align","BtnsPosition","CENTER","error","console","log","status","FORBIDDEN","message","error_code_checker","cb","center_text","is_html","on_close","id","resending_invite","UPDATED","Vue","Component"],"mappings":"iRASQA,EAAmBC,OAAnBD,QAASE,EAAUD,OAAVC,MAGIC,EAA0B,wDAA/C,iD,0BACE,EAAAC,eAAgB,EAChB,EAAAC,gBAAiB,EACjB,EAAAC,cAAgB,GA2GhB,EAAAC,WAAaC,gBAAS,SAACC,GACrB,EAAKC,cAAcD,KAClB,KAhHL,EAA+C,2GAI7C,+GACQE,EAAUT,EAAMU,iBADxB,SAEsBZ,EAAQa,YAAYF,GAF1C,OAEQG,EAFR,OAGQC,EAAWC,QAAeC,MAAK,SAACC,GAAD,aAAQA,KAAO,OAAAJ,QAAA,IAAAA,GAAL,UAAKA,EAAMA,YAAX,aAAK,EAAYK,SAE5DJ,EACFK,KAAKC,0BAA0BP,GAE/BM,KAAKE,wBAAwBR,EAAgCH,EAAQY,OARzE,gDAJ6C,8FAgB7C,SAAwBT,EAA8BS,IAC5C,OAAJT,QAAI,IAAJA,OAAA,EAAAA,EAAMK,QAASK,QAAiBC,QAAQC,UAC1CN,KAAKd,cAAgBiB,EACrBH,KAAKhB,eAAgB,EACrBgB,KAAKO,oBAAoB3B,EAAQ4B,eApBQ,gCAwB7C,SAAmBT,GACjB,IAAIU,EAAO,GAEX,OAAQV,GACN,KAAKK,QAAiBM,KAAKC,aACzBF,EAAO,mCACP,MAMF,KAAKL,QAAiBM,KAAKE,UACzBH,EAAO,sBACP,MAEF,KAAKL,QAAiBM,KAAKG,YACzBJ,EAAO,6EACP,MAEF,KAAKL,QAAiBM,KAAKI,cACzBL,EAAO,0FACP,MAEF,QACEA,EAAO,oBACP,MAGJT,KAAKe,QAAQC,KAAK,CAChBC,MAAO,SACPR,OACAS,cAAc,EACdC,UAAWC,OAAaC,WAzDiB,uCA6D7C,SAA0BC,GAAoB,MAG5CC,QAAQC,IAAI,6BAERF,EAAMG,SAAWrB,QAAiBM,KAAKgB,WAAvC,OAAoDJ,QAApD,IAAoDA,GAApD,UAAoDA,EAAO5B,YAA3D,OAAoD,EAAaiC,QACnE3B,KAAKe,QAAQC,KAAK,CAChBC,MAAO,SACPR,KAAMa,EAAM5B,KAAKiC,QACjBT,cAAc,EACdC,UAAWC,OAAaC,SAG1BrB,KAAK4B,mBAAmBN,EAAMG,UA1EW,iCA8E7C,SAAoBI,GAAe,WACjC7B,KAAKe,QACFC,KAAK,CACJC,MAAO,yBACPR,KAAM,mEAAF,OAAqET,KAAKd,cAA1E,SACJgC,cAAc,EACdY,aAAa,EACbX,UAAWC,OAAaC,OACxBU,SAAS,IAEVC,SATH,wCASY,kGACJH,EADI,gCAEAA,IAFA,OAIR,EAAK3C,cAAgB,GAJb,8CAxF+B,oFAgG7C,WAAoBG,GAApB,0FACEW,KAAKd,cAAgBG,EAAMc,MAEH,qBAAbd,EAAM4C,GAHnB,gCAIuBrD,EAAQsD,iBAAiB7C,EAAM4C,IAJtD,OAIUlC,EAJV,OAMQA,IAASK,QAAiBC,QAAQ8B,QACpCnC,KAAKO,sBAELP,KAAK4B,mBAAmB7B,GAT9B,gDAhG6C,+DAASqC,QAAnCrD,EAA0B,gBAD9CsD,eAAU,KACUtD","file":"js/home1538.c644dcdc.js","sourcesContent":["import { Vue, Component } from 'vue-property-decorator';\nimport { AxiosResponse } from 'axios';\nimport { staffs_store } from '@/store';\nimport { Response } from '@/types';\nimport { ResponseStatuses, fail_responses } from '@/enums';\nimport { BtnsPosition } from '@/components/dialogs/simple/types';\nimport { Staffs } from '@/modules/staffs/types/';\nimport { debounce } from '@/utils';\n\nconst { actions, state } = staffs_store;\n\n@Component({})\nexport default class StaffsInviteFunctionsMixin extends Vue {\n invite_dialog = false;\n success_dialog = false;\n invited_email = '';\n async send_invite() {\n const payload = state.new_staff_invite;\n const data = (await actions.send_invite(payload)) as AxiosResponse | Response;\n const is_error = fail_responses.some((el) => el === data?.data?.code);\n\n if (is_error) {\n this.invite_error_code_checker(data as AxiosResponse);\n } else {\n this.handle_success_response(data as Response, payload.email);\n }\n }\n\n handle_success_response(data: Response, email: string) {\n if (data?.code === ResponseStatuses.Success.CREATED) {\n this.invited_email = email;\n this.invite_dialog = false;\n this.open_success_dialog(actions.get_staffs);\n }\n }\n\n error_code_checker(code: ResponseStatuses.Fail) {\n let text = '';\n\n switch (code) {\n case ResponseStatuses.Fail.UNAUTHORIZED:\n text = 'Нет доступа к данному сотруднику';\n break;\n\n // case ResponseStatuses.Fail.FORBIDDEN:\n // text = 'Сотрудник уже зарегистрирован, отправка письма невозможна';\n // break;\n\n case ResponseStatuses.Fail.NOT_FOUND:\n text = 'Сотрудник не найден';\n break;\n\n case ResponseStatuses.Fail.BAD_REQUEST:\n text = 'Вы недавно отправляли приглашение на этот e-mail. Повторите попытку позже.';\n break;\n\n case ResponseStatuses.Fail.UNPROCESSABLE:\n text = 'Ошибка валидации. Введенный email уже используется или название города менее 2 символов';\n break;\n\n default:\n text = 'Внутренняя ошибка';\n break;\n }\n\n this.$dialog.open({\n title: 'Ошибка',\n text,\n center_title: true,\n bts_align: BtnsPosition.CENTER,\n });\n }\n\n invite_error_code_checker(error: AxiosResponse) {\n const text = '';\n\n console.log('invite error code checker');\n\n if (error.status === ResponseStatuses.Fail.FORBIDDEN && error?.data?.message) {\n this.$dialog.open({\n title: 'Ошибка',\n text: error.data.message,\n center_title: true,\n bts_align: BtnsPosition.CENTER,\n });\n } else {\n this.error_code_checker(error.status);\n }\n }\n\n open_success_dialog(cb?: () => void) {\n this.$dialog\n .open({\n title: 'Приглашение отправлено',\n text: `Приглашение для заведения нового пользователя отправлено на ${this.invited_email}.`,\n center_title: true,\n center_text: true,\n bts_align: BtnsPosition.CENTER,\n is_html: true,\n })\n .on_close(async () => {\n if (cb) {\n await cb();\n }\n this.invited_email = '';\n });\n }\n\n async resend_invite(staff: Staffs.Staff) {\n this.invited_email = staff.email;\n\n if (typeof staff.id !== 'undefined') {\n const code = await actions.resending_invite(staff.id);\n\n if (code === ResponseStatuses.Success.UPDATED) {\n this.open_success_dialog();\n } else {\n this.error_code_checker(code as ResponseStatuses.Fail);\n }\n }\n }\n\n send_again = debounce((staff: Staffs.Staff) => {\n this.resend_invite(staff);\n }, 200);\n}\n"],"sourceRoot":""}