mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-18 13:50:31 +00:00
Fix: specific item api & customer api
This commit is contained in:
@@ -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) => {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -55,8 +55,12 @@ export const fetchItem = ({ id }) => {
|
||||
.then((response) => {
|
||||
dispatch({
|
||||
type: t.ITEM_SET,
|
||||
item: response.data.item,
|
||||
payload: {
|
||||
id,
|
||||
item: response.data.item,
|
||||
},
|
||||
});
|
||||
resolve(response);
|
||||
})
|
||||
.catch((error) => {
|
||||
reject(error);
|
||||
|
||||
@@ -27,6 +27,11 @@ const itemsReducer = createReducer(initialState, {
|
||||
};
|
||||
},
|
||||
|
||||
[t.ITEM_SET]: (state, action) => {
|
||||
const { id, item } = action.payload;
|
||||
state.items[id] = { ...item };
|
||||
},
|
||||
|
||||
[t.ITEMS_PAGE_SET]: (state, action) => {
|
||||
const { items, customViewId, paginationMeta } = action;
|
||||
|
||||
@@ -42,10 +47,10 @@ const itemsReducer = createReducer(initialState, {
|
||||
state.itemsRelation[item.id] = [];
|
||||
}
|
||||
const filteredRelation = state.itemsRelation[item.id].filter(
|
||||
(relation) => (
|
||||
(relation) =>
|
||||
relation.viewId === viewId &&
|
||||
relation.pageNumber === paginationMeta.page
|
||||
));
|
||||
relation.pageNumber === paginationMeta.page,
|
||||
);
|
||||
|
||||
filteredRelation.push({
|
||||
viewId,
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
|
||||
export default {
|
||||
ITEMS_SET: 'ITEMS_SET',
|
||||
ITEM_SET: 'ITEM_SET',
|
||||
ITEMS_PAGE_SET: 'ITEMS_PAGE_SET',
|
||||
ITEM_DELETE: 'ITEM_DELETE',
|
||||
ITEM_BULK_ACTION_ADD: 'ITEM_BULK_ACTION_ADD',
|
||||
@@ -12,6 +11,5 @@ export default {
|
||||
|
||||
ITEMS_TABLE_LOADING: 'ITEMS_TABLE_LOADING',
|
||||
ITEMS_SET_CURRENT_VIEW: 'ITEMS_SET_CURRENT_VIEW',
|
||||
ITEMS_BULK_DELETE:'ITEMS_BULK_DELETE'
|
||||
|
||||
ITEMS_BULK_DELETE: 'ITEMS_BULK_DELETE',
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user