actions.js
5 days ago
booking.js
5 days ago
cabinet.js
5 days ago
cart.js
5 days ago
catalog.js
5 days ago
coupon.js
5 days ago
customFields.js
5 days ago
events.js
5 days ago
facebookPixel.js
5 days ago
ivy.js
5 days ago
package.js
5 days ago
panel.js
5 days ago
public.js
5 days ago
renderActions.js
5 days ago
restore.js
5 days ago
slots.js
5 days ago
translation.js
5 days ago
user.js
5 days ago
user.js
39 lines
| 1 | import httpClient from '../../../plugins/axios.js' |
| 2 | |
| 3 | function useCurrentUser(store) { |
| 4 | if (!('ameliaUser' in window)) { |
| 5 | httpClient |
| 6 | .get('/users/current') |
| 7 | .then((response) => { |
| 8 | if (response.data.data.user) { |
| 9 | window.ameliaUser = response.data.data.user ? response.data.data.user : null |
| 10 | |
| 11 | setCurrentUser(store, window.ameliaUser) |
| 12 | } |
| 13 | }) |
| 14 | .catch(() => {}) |
| 15 | } else { |
| 16 | let ameliaApiInterval = setInterval(() => { |
| 17 | if ('ameliaUser' in window) { |
| 18 | clearInterval(ameliaApiInterval) |
| 19 | |
| 20 | setCurrentUser(store, window.ameliaUser) |
| 21 | } |
| 22 | }, 1000) |
| 23 | } |
| 24 | } |
| 25 | |
| 26 | function setCurrentUser(store, user) { |
| 27 | store.commit('booking/setCustomerFirstName', user.firstName) |
| 28 | store.commit('booking/setCustomerLastName', user.lastName) |
| 29 | store.commit('booking/setCustomerEmail', user.email) |
| 30 | store.commit('booking/setCustomerPhone', user.phone) |
| 31 | store.commit('booking/setCustomerCountryPhoneIso', user.countryPhoneIso) |
| 32 | store.commit('booking/setCustomerId', user.id) |
| 33 | store.commit('booking/setCustomerExternalId', user.externalid) |
| 34 | store.commit('booking/setCustomerTranslations', user.translations) |
| 35 | store.commit('booking/setCustomerCustomFields', user.customFields) |
| 36 | } |
| 37 | |
| 38 | export { useCurrentUser } |
| 39 |