@api-platform/client-generator
Version:
Generate apps built with Next, Nuxt, Quasar, React, React Native, Vue or Vuetify for any API documented using Hydra or OpenAPI
37 lines (30 loc) • 899 B
JavaScript
import SubmissionError from '../../../error/SubmissionError';
import fetch from '../../../utils/fetch';
export const createCommon = ({ commit }, { page, ep, values }, { types }) => {
commit(types.SET_ERROR, '');
commit(types.TOGGLE_LOADING);
return fetch(
{ id: page, ep },
{ method: 'POST', body: JSON.stringify(values) }
)
.then(response => {
commit(types.TOGGLE_LOADING);
return response.json();
})
.then(data => {
commit(types.SET_CREATED, data);
})
.catch(e => {
commit(types.TOGGLE_LOADING);
if (e instanceof SubmissionError) {
commit(types.SET_VIOLATIONS, e.errors);
// eslint-disable-next-line
commit(types.SET_ERROR, e.errors._error);
return;
}
commit(types.SET_ERROR, e.message);
});
};
export const resetCommon = ({ commit }, { types }) => {
commit(types.RESET);
};