/**
* Fetch services, vuex action
*
@async *
@function fetchServices
*
@param {string} payload
*
@returns {Promise<void>}
*/
fetchServices: async (
{ commit, dispatch }, { company = '', ...rest }: FetchServicesPayloadInterface,
): Promise<void> => {
try {
if (company) {
const { services, meta } = await ServicesService.list({ company, ...rest });
commit('setServices', services);
commit('setMeta', meta);
} else {
dispatch('resetServicesList');
}
} catch (error) {
dispatch('resetServicesList');
throw error;
}
},
/**
* Reset services list, vuex action
*
@function resetEmployeesList
*
@returns {void}
*/
resetServicesList: ({ commit }): void => {
commit('setServices', []);
commit('setMeta', { currentPage: null, lastPage: null });
},