debian-mirror-gitlab/app/assets/javascripts/user_lists/store/show/actions.js
2021-03-08 18:12:59 +05:30

32 lines
1.1 KiB
JavaScript

import Api from '~/api';
import { stringifyUserIds } from '../utils';
import * as types from './mutation_types';
export const fetchUserList = ({ commit, state }) => {
commit(types.REQUEST_USER_LIST);
return Api.fetchFeatureFlagUserList(state.projectId, state.userListIid)
.then((response) => commit(types.RECEIVE_USER_LIST_SUCCESS, response.data))
.catch(() => commit(types.RECEIVE_USER_LIST_ERROR));
};
export const dismissErrorAlert = ({ commit }) => commit(types.DISMISS_ERROR_ALERT);
export const addUserIds = ({ dispatch, commit }, userIds) => {
commit(types.ADD_USER_IDS, userIds);
return dispatch('updateUserList');
};
export const removeUserId = ({ commit, dispatch }, userId) => {
commit(types.REMOVE_USER_ID, userId);
return dispatch('updateUserList');
};
export const updateUserList = ({ commit, state }) => {
commit(types.REQUEST_USER_LIST);
return Api.updateFeatureFlagUserList(state.projectId, {
...state.userList,
user_xids: stringifyUserIds(state.userIds),
})
.then((response) => commit(types.RECEIVE_USER_LIST_SUCCESS, response.data))
.catch(() => commit(types.RECEIVE_USER_LIST_ERROR));
};