import pagination from '../../../store/modules/pagination';
import { fetchList } from '@/api/system/account';
import { GET_ACCOUNT_LIST } from './mutation-types';

const state = {
  list: [],
};
const getters = {
  accountList: state => state.list,
};
const actions = {
  fetchList({ dispatch, state, commit }, entity) {
    return fetchList({
      ...state.pagination,
      ...entity,
    }).then(res => {
      const { list, ...pagination } = res.data;
      dispatch('updatePagination', pagination);
      commit(GET_ACCOUNT_LIST, list);
    });
  },
};
const mutations = {
  [GET_ACCOUNT_LIST](state, list) {
    state.list = list;
  },
};

export default {
  namespaced: true,
  modules: {
    pagination,
  },
  state,
  getters,
  actions,
  mutations,
};
