HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/shop.komma.nl/resources/js/store/modules/user.js
import { requestThrottleGetters, requestThrottleMutations, requestThrottleState } from "../composables/requestThrottle";
import SiteUsersService from "../../services/siteUsersService";
import ErrorHandler from "../../errorHandler";
import Vue from 'vue';

const siteUsersService = new SiteUsersService();

export const siteUserState = {
    ...requestThrottleState,
    me: null,
}

export const siteUserMutations = {
    ...requestThrottleMutations,
    storeMe(state, me) {
        Vue.set(state, 'me', me);
    },
};

export const siteUserGetters = {
    ...requestThrottleGetters
};

export const siteUserActions = {
    loadMe({ commit, getters }) {
        if(getters.isRequesting('loadMe'))
            return Promise.reject('Already loading "me". Try again later.');

        commit('requesting', 'loadMe')
        let promise = siteUsersService.me().then((response) => {
            if( response &&
                response.hasOwnProperty('data') &&
                response.data.hasOwnProperty('data')
            ) {
                commit('storeMe', response.data.data);
                return response.data.data;
            }
            return null
        })

        promise.catch(ErrorHandler.logFor('loadMe')).finally(() => {
            commit('clearRequest', 'loadMe')
        });

        return promise;
    },

    update({ commit, getters }, user) {
        commit('requesting', 'updateUser')
        let promise = siteUsersService.update(user).then((response) => {
            return null
        })

        promise.catch(ErrorHandler.logFor('updateUser')).finally(() => {
            commit('clearRequest', 'updateUser')
        });

        return promise;
    },

    userAsCheckoutUser({commit, dispatch}) {
        commit('requesting', 'userAsCheckoutUser')
        let promise = siteUsersService.userAsCheckoutUser();

        promise.catch(ErrorHandler.logFor('userAsCheckoutUser')).finally(() => {
            commit('clearRequest', 'userAsCheckoutUser')
        })

        return promise;
    }
};