admin-fe/src/store/modules/moderationLog.js
2019-09-27 12:41:54 +00:00

51 lines
1.4 KiB
JavaScript

import { fetchLog, fetchAdmins, fetchModerators } from '@/api/moderationLog'
const moderationLog = {
state: {
fetchedLog: [],
logItemsCount: 0,
admins: [],
moderators: [],
logLoading: true,
adminsLoading: true
},
mutations: {
SET_LOG_LOADING: (state, status) => {
state.logLoading = status
},
SET_ADMINS_LOADING: (state, status) => {
state.adminsLoading = status
},
SET_MODERATION_LOG: (state, log) => {
state.fetchedLog = log
},
SET_MODERATION_LOG_COUNT: (state, count) => {
state.logItemsCount = count
},
SET_ADMINS: (state, admins) => {
state.admins = admins
},
SET_MODERATORS: (state, moderators) => {
state.moderators = moderators
}
},
actions: {
async FetchModerationLog({ commit, getters }, opts = {}) {
const response = await fetchLog(getters.authHost, getters.token, opts)
commit('SET_MODERATION_LOG', response.data.items)
commit('SET_MODERATION_LOG_COUNT', response.data.total)
commit('SET_LOG_LOADING', false)
},
async FetchAdmins({ commit, getters }) {
const adminsResponse = await fetchAdmins(getters.authHost, getters.token)
const moderatorsResponse = await fetchModerators(getters.authHost, getters.token)
commit('SET_ADMINS', adminsResponse.data)
commit('SET_MODERATORS', moderatorsResponse.data)
commit('SET_ADMINS_LOADING', false)
}
}
}
export default moderationLog