{"version":3,"file":"register-DEyWOwWq.js","sources":["../../../app/frontend/entrypoints/apps/register.js"],"sourcesContent":["import axios from \"axios\";\nimport { useToast } from 'vue-toast-notification';\nimport 'vue-toast-notification/dist/theme-bootstrap.css';\n\nconst $toast = useToast();\n\nexport const registration_app = {\n data() { \n return {\n user: {\n first_name: '',\n last_name: '',\n email: '',\n phone: '',\n password: '',\n password_confirmation: '',\n role: 'user'\n },\n errors: {},\n validate: false\n };\n },\n mounted() {\n this.get_user();\n },\n methods: {\n get_user() {\n let params = window.location.search\n axios.get(\"/users/sign_up.json\"+params)\n .then(res => {\n this.user = res.data\n console.log('traje esto ', res.data);\n })\n },\n validateForm() {\n this.errors = {};\n let valid = true;\n\n if (!this.user.first_name) {\n this.errors.first_name = 'Nombres es obligatorio.';\n valid = false;\n }\n\n if (this.user.first_name.length < 3){\n this.errors.first_name = 'el nombre debe tener mínimo 3 caracteres.';\n valid = false;\n }\n\n if (!this.user.last_name) {\n this.errors.last_name = 'Apellidos es obligatorio.';\n valid = false;\n }\n\n if (this.user.last_name.length < 3){\n this.errors.last_name = 'El apellido debe tener mínimo 3 caracteres.';\n valid = false;\n }\n\n const emailPattern = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!this.user.email) {\n this.errors.email = 'Correo Electrónico es obligatorio.';\n valid = false;\n } else if (!emailPattern.test(this.user.email)) {\n this.errors.email = 'Formato de correo electrónico inválido.';\n valid = false;\n }\n\n const phonePattern = /^([0-9]{10}$)/\n\n if (!this.user.phone) {\n this.errors.phone = 'El número de celular es obligatorio.';\n valid = false;\n } else if (!phonePattern.test(this.user.phone)) {\n this.errors.phone = 'Número de celular inválido.';\n valid = false;\n }\n\n const passwordPattern = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/;\n if (!this.user.password) {\n this.errors.password = 'Contraseña es obligatorio.';\n valid = false;\n } else if (!passwordPattern.test(this.user.password)) {\n this.errors.password = 'La contraseña debe tener una longitud mínima de 8 caracteres, debe contener al menos una letra mayúscula, una letra minúscula, un dígito, y un carácter especial de los siguientes (@$!%*?&)';\n valid = false;\n }\n\n if (this.user.password !== this.user.password_confirmation) {\n this.errors.password_confirmation = 'Las contraseñas no coinciden.';\n valid = false;\n }\n\n if (valid) {\n this.enviar();\n } else {\n this.validate = false;\n }\n },\n enviar() {\n axios.post(\"/users.json\", { user: this.user, authenticity_token: window.authenticity_token })\n .then(res => {\n window.location.replace(\"/users/sign_in?status=successplease_confirm\");\n })\n .catch(errors => {\n for (let error in errors.response.data) {\n for (let e of errors.response.data[error]) {\n $toast.error(error + \": \" + e, { position: \"top-right\", duration: 5000 });\n }\n }\n });\n }\n }\n};\n"],"names":["$toast","useToast","registration_app","params","axios","res","valid","emailPattern","phonePattern","passwordPattern","errors","error","e"],"mappings":"+CAIA,MAAMA,EAASC,EAAQ,SAAA,EAEVC,EAAmB,CAC5B,MAAO,CACH,MAAO,CACH,KAAM,CACF,WAAY,GACZ,UAAW,GACX,MAAO,GACP,MAAO,GACP,SAAU,GACV,sBAAuB,GACvB,KAAM,MACT,EACD,OAAQ,CAAE,EACV,SAAU,EACtB,CACK,EACD,SAAU,CACN,KAAK,SAAQ,CAChB,EACD,QAAS,CACL,UAAW,CACP,IAAIC,EAAS,OAAO,SAAS,OAC7BC,EAAM,IAAI,sBAAsBD,CAAM,EACjC,KAAKE,GAAO,CACT,KAAK,KAAOA,EAAI,KAChB,QAAQ,IAAI,cAAeA,EAAI,IAAI,CACvD,CAAiB,CACR,EACD,cAAe,CACX,KAAK,OAAS,GACd,IAAIC,EAAQ,GAEP,KAAK,KAAK,aACX,KAAK,OAAO,WAAa,0BACzBA,EAAQ,IAGR,KAAK,KAAK,WAAW,OAAS,IAC9B,KAAK,OAAO,WAAa,4CACzBA,EAAQ,IAGP,KAAK,KAAK,YACX,KAAK,OAAO,UAAY,4BACxBA,EAAQ,IAGR,KAAK,KAAK,UAAU,OAAS,IAC7B,KAAK,OAAO,UAAY,8CACxBA,EAAQ,IAGZ,MAAMC,EAAe,6BAChB,KAAK,KAAK,MAGHA,EAAa,KAAK,KAAK,KAAK,KAAK,IACzC,KAAK,OAAO,MAAQ,0CACpBD,EAAQ,KAJR,KAAK,OAAO,MAAQ,qCACpBA,EAAQ,IAMZ,MAAME,EAAe,gBAEhB,KAAK,KAAK,MAGHA,EAAa,KAAK,KAAK,KAAK,KAAK,IACzC,KAAK,OAAO,MAAQ,8BACpBF,EAAQ,KAJR,KAAK,OAAO,MAAQ,uCACpBA,EAAQ,IAMZ,MAAMG,EAAkB,uEACnB,KAAK,KAAK,SAGHA,EAAgB,KAAK,KAAK,KAAK,QAAQ,IAC/C,KAAK,OAAO,SAAW,+LACvBH,EAAQ,KAJR,KAAK,OAAO,SAAW,6BACvBA,EAAQ,IAMR,KAAK,KAAK,WAAa,KAAK,KAAK,wBACjC,KAAK,OAAO,sBAAwB,gCACpCA,EAAQ,IAGRA,EACA,KAAK,OAAM,EAEX,KAAK,SAAW,EAEvB,EACD,QAAS,CACLF,EAAM,KAAK,cAAe,CAAE,KAAM,KAAK,KAAM,mBAAoB,OAAO,mBAAoB,EACvF,KAAKC,GAAO,CACT,OAAO,SAAS,QAAQ,6CAA6C,CACzF,CAAiB,EACA,MAAMK,GAAU,CACb,QAASC,KAASD,EAAO,SAAS,KAC9B,QAASE,KAAKF,EAAO,SAAS,KAAKC,CAAK,EACpCX,EAAO,MAAMW,EAAQ,KAAOC,EAAG,CAAE,SAAU,YAAa,SAAU,GAAI,CAAE,CAGpG,CAAiB,CACR,CACJ,CACL"}