Add sales item labor/product route updates and permission docs
This commit is contained in:
@@ -381,4 +381,45 @@ export const opportunityCw = {
|
||||
|
||||
return created;
|
||||
},
|
||||
|
||||
/**
|
||||
* Fetch Procurement Product by Forecast Detail
|
||||
*
|
||||
* Finds the procurement product linked to a given forecast item ID
|
||||
* on an opportunity.
|
||||
*/
|
||||
fetchProcurementProductByForecastDetail: async (
|
||||
opportunityId: number,
|
||||
forecastDetailId: number,
|
||||
): Promise<CWProcurementProduct | null> => {
|
||||
const conditions = `opportunity/id=${opportunityId} and forecastDetailId=${forecastDetailId}`;
|
||||
const response = await connectWiseApi.get(
|
||||
`/procurement/products?conditions=${encodeURIComponent(conditions)}&fields=id,forecastDetailId,description,customerDescription,quantity,price,cost,taxableFlag,specialOrderFlag,customFields`,
|
||||
);
|
||||
|
||||
const items = (response.data ?? []) as CWProcurementProduct[];
|
||||
return items[0] ?? null;
|
||||
},
|
||||
|
||||
/**
|
||||
* Update Procurement Product
|
||||
*
|
||||
* Applies a JSON Patch update to a procurement product record.
|
||||
*/
|
||||
updateProcurementProduct: async (
|
||||
procurementProductId: number,
|
||||
data: Record<string, unknown>,
|
||||
): Promise<CWProcurementProduct> => {
|
||||
const operations = Object.entries(data).map(([key, value]) => ({
|
||||
op: "replace" as const,
|
||||
path: key,
|
||||
value,
|
||||
}));
|
||||
|
||||
const response = await connectWiseApi.patch(
|
||||
`/procurement/products/${procurementProductId}`,
|
||||
operations,
|
||||
);
|
||||
return response.data as CWProcurementProduct;
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user