66 lines
1.7 KiB
JavaScript
66 lines
1.7 KiB
JavaScript
|
import Api from '~/api';
|
||
|
import * as types from './mutation_types';
|
||
|
|
||
|
export const setProjectId = ({ commit }, projectId) => commit(types.SET_PROJECT_ID, projectId);
|
||
|
|
||
|
export const setSelectedRef = ({ commit }, selectedRef) =>
|
||
|
commit(types.SET_SELECTED_REF, selectedRef);
|
||
|
|
||
|
export const search = ({ dispatch, commit }, query) => {
|
||
|
commit(types.SET_QUERY, query);
|
||
|
|
||
|
dispatch('searchBranches');
|
||
|
dispatch('searchTags');
|
||
|
dispatch('searchCommits');
|
||
|
};
|
||
|
|
||
|
export const searchBranches = ({ commit, state }) => {
|
||
|
commit(types.REQUEST_START);
|
||
|
|
||
|
Api.branches(state.projectId, state.query)
|
||
|
.then(response => {
|
||
|
commit(types.RECEIVE_BRANCHES_SUCCESS, response);
|
||
|
})
|
||
|
.catch(error => {
|
||
|
commit(types.RECEIVE_BRANCHES_ERROR, error);
|
||
|
})
|
||
|
.finally(() => {
|
||
|
commit(types.REQUEST_FINISH);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
export const searchTags = ({ commit, state }) => {
|
||
|
commit(types.REQUEST_START);
|
||
|
|
||
|
Api.tags(state.projectId, state.query)
|
||
|
.then(response => {
|
||
|
commit(types.RECEIVE_TAGS_SUCCESS, response);
|
||
|
})
|
||
|
.catch(error => {
|
||
|
commit(types.RECEIVE_TAGS_ERROR, error);
|
||
|
})
|
||
|
.finally(() => {
|
||
|
commit(types.REQUEST_FINISH);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
export const searchCommits = ({ commit, state, getters }) => {
|
||
|
// Only query the Commit API if the search query looks like a commit SHA
|
||
|
if (getters.isQueryPossiblyASha) {
|
||
|
commit(types.REQUEST_START);
|
||
|
|
||
|
Api.commit(state.projectId, state.query)
|
||
|
.then(response => {
|
||
|
commit(types.RECEIVE_COMMITS_SUCCESS, response);
|
||
|
})
|
||
|
.catch(error => {
|
||
|
commit(types.RECEIVE_COMMITS_ERROR, error);
|
||
|
})
|
||
|
.finally(() => {
|
||
|
commit(types.REQUEST_FINISH);
|
||
|
});
|
||
|
} else {
|
||
|
commit(types.RESET_COMMIT_MATCHES);
|
||
|
}
|
||
|
};
|