Fix: specific item api & customer api

This commit is contained in:
elforjani3
2020-10-22 18:05:24 +02:00
parent 274bd2ea48
commit 099fa63245
7 changed files with 52 additions and 18 deletions

View File

@@ -1,3 +1,4 @@
import { resolve } from 'p-progress';
import ApiService from 'services/ApiService';
import t from 'store/types';
@@ -52,10 +53,9 @@ export const fetchCustomers = ({ query }) => {
ApiService.get(`customers`, { params: { ...pageQuery, ...query } })
.then((response) => {
dispatch({
type: t.CUSTOMER_SET,
type: t.CUSTOMERS_ITEMS_SET,
customers: response.data.customers,
});
dispatch({
type: t.CUSTOMERS_PAGE_SET,
customers: response.data.customers,
@@ -74,6 +74,26 @@ export const fetchCustomers = ({ query }) => {
});
};
export const fetchCustomer = ({ id }) => {
return (dispatch) =>
new Promise((resolve, reject) => {
ApiService.get(`customers/${id}`)
.then((response) => {
dispatch({
type: t.CUSTOMER_SET,
payload: {
id,
customer: response.data.contact,
},
});
resolve(response);
})
.catch((error) => {
reject(error);
});
});
};
export const deleteCustomer = ({ id }) => {
return (dispatch) =>
new Promise((resolve, reject) => {

View File

@@ -11,7 +11,7 @@ const initialState = {
};
const customersReducer = createReducer(initialState, {
[t.CUSTOMER_SET]: (state, action) => {
[t.CUSTOMERS_ITEMS_SET]: (state, action) => {
const _customers = {};
action.customers.forEach((customer) => {
@@ -51,6 +51,10 @@ const customersReducer = createReducer(initialState, {
});
state.items = items;
},
[t.CUSTOMER_SET]: (state, action) => {
const { id, customer } = action.payload;
state.items[id] = { ...customer };
},
});
export default createTableQueryReducers('customers', customersReducer);