summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/projects/commits/store/actions.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/projects/commits/store/actions.js')
-rw-r--r--app/assets/javascripts/projects/commits/store/actions.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/app/assets/javascripts/projects/commits/store/actions.js b/app/assets/javascripts/projects/commits/store/actions.js
new file mode 100644
index 00000000000..daeae071d6a
--- /dev/null
+++ b/app/assets/javascripts/projects/commits/store/actions.js
@@ -0,0 +1,31 @@
+import * as types from './mutation_types';
+import axios from '~/lib/utils/axios_utils';
+import createFlash from '~/flash';
+import { __ } from '~/locale';
+
+export default {
+ setInitialData({ commit }, data) {
+ commit(types.SET_INITIAL_DATA, data);
+ },
+ receiveAuthorsSuccess({ commit }, authors) {
+ commit(types.COMMITS_AUTHORS, authors);
+ },
+ receiveAuthorsError() {
+ createFlash(__('An error occurred fetching the project authors.'));
+ },
+ fetchAuthors({ dispatch, state }, author = null) {
+ const { projectId } = state;
+ const path = '/autocomplete/users.json';
+
+ return axios
+ .get(path, {
+ params: {
+ project_id: projectId,
+ active: true,
+ search: author,
+ },
+ })
+ .then(({ data }) => dispatch('receiveAuthorsSuccess', data))
+ .catch(() => dispatch('receiveAuthorsError'));
+ },
+};