fix: handle null response from records API to prevent product list crash
When products have no inventory records, the backend returns {"code":0,"data":null}.
getRecords() resolved with null, causing records.filter() to throw TypeError,
which crashed the entire fetchData() and left the product list empty.
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
29451277d1
commit
b24de9ac11
@ -63,17 +63,17 @@ export function useInventoryData({ companyId, activeType }: UseInventoryDataOpti
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const productsRes = await purchaserApi.listProducts();
|
const productsRes = await purchaserApi.listProducts();
|
||||||
const products: Product[] = productsRes.data;
|
const products: Product[] = productsRes.data || [];
|
||||||
|
|
||||||
const recordResults = await Promise.all(
|
const recordResults = await Promise.all(
|
||||||
products.map(p =>
|
products.map(p =>
|
||||||
purchaserApi.getRecords(p.id).catch(() => [] as ProductInRecord[])
|
purchaserApi.getRecords(p.id).then(r => r || []).catch(() => [] as ProductInRecord[])
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
const allBatches: FabricBatch[] = [];
|
const allBatches: FabricBatch[] = [];
|
||||||
const updatedProducts: ProductWithInventory[] = products.map((p, i) => {
|
const updatedProducts: ProductWithInventory[] = products.map((p, i) => {
|
||||||
const records = recordResults[i];
|
const records = recordResults[i] || [];
|
||||||
const inRecords = records.filter(r => r.record_type !== 'out');
|
const inRecords = records.filter(r => r.record_type !== 'out');
|
||||||
const outRecords = records.filter(r => r.record_type === 'out');
|
const outRecords = records.filter(r => r.record_type === 'out');
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user