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/discounts.js
import Vuex from "vuex";
import Vue from "vue";
import {DiscountService} from "../../services/discountService";
import {requestThrottleState, requestThrottleGetters, requestThrottleMutations} from '../composables/requestThrottle'
import ErrorHandler from "../../errorHandler";

Vue.use(Vuex);

let discountService = new DiscountService();

const discountState = {
    ...requestThrottleState,
}

const discountMutations = {
    ...requestThrottleMutations,
    storeDiscountableProperties(state, properties) {
        Vue.set(state, 'discountableProperties', properties);
    },
}

const discountActions = {
    loadDiscountablePropsFor({commit, state}, forCartOrItem) {
        commit('requesting', 'loadDiscountablePropsForShoppingCart')
        let promise = discountService.discountablePropertiesFor(forCartOrItem).then(function (response) {
            commit('storeDiscountableProperties', response.data)
            return response.data;
        });

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

        return promise;
    },
}

const discountGetters = {
    ...requestThrottleGetters,
}

export default {
    namespaced: true,
    state: discountState,
    actions: discountActions,
    getters: discountGetters,
    mutations: discountMutations
}