health score toggle
This commit is contained in:
@@ -98,6 +98,23 @@ export const productsApi = {
|
||||
importFromCatalogue: (rows: ImportCatalogueProductRequest[]) =>
|
||||
api.post<unknown>(`${WEB}/products/importcatalogueproduct`, rows),
|
||||
|
||||
/**
|
||||
* Turn one product's health score on or off for this shop.
|
||||
*
|
||||
* The merchant's call, not Nearle's. The score comes from a third party
|
||||
* matching a reference product by name — often under 60% confidence — and a
|
||||
* shopkeeper holding the packet is better placed than that matcher to say
|
||||
* whether the rating describes what they sell.
|
||||
*
|
||||
* Hides the SCORE only. The nutrition table is unaffected.
|
||||
*/
|
||||
setShowHealthScore: (tenantid: number, productid: number, showhealthscore: boolean) =>
|
||||
api.put<unknown>(`${WEB}/products/showhealthscore`, {
|
||||
tenantid,
|
||||
productid,
|
||||
showhealthscore,
|
||||
}),
|
||||
|
||||
/**
|
||||
* Single product only — the backend parses one object, not an array.
|
||||
*
|
||||
|
||||
@@ -297,6 +297,18 @@ export interface Product {
|
||||
/** Capitalised on the wire. */
|
||||
Subcategoryname?: string;
|
||||
catalogueid?: number;
|
||||
/**
|
||||
* Whether this shop shows the product's health score.
|
||||
*
|
||||
* The merchant's decision, made at import and changeable from the product.
|
||||
* Optional because a backend that predates the column sends nothing — and an
|
||||
* absent value means YES, which is what every product showed before this
|
||||
* existed.
|
||||
*
|
||||
* Gates the SCORE only. The nutrition figures are shown either way: they are
|
||||
* what the label states, while the score is a judgement of them.
|
||||
*/
|
||||
showhealthscore?: boolean;
|
||||
productname?: string;
|
||||
productimage?: string;
|
||||
/** A JSON-encoded array of URLs, held as a string. Parse before use. */
|
||||
@@ -405,6 +417,17 @@ export interface ImportCatalogueProductRequest {
|
||||
retailprice: number;
|
||||
productcost: number;
|
||||
taxpercent: number;
|
||||
/**
|
||||
* Whether this shop will show the product's health score.
|
||||
*
|
||||
* Omitted means yes. The backend reads an absent field and an explicit
|
||||
* `false` as different answers on purpose, so a caller that does not know
|
||||
* about this does not have its imports read as a deliberate no.
|
||||
*
|
||||
* Only the score. The nutrition figures are sent either way — they are what
|
||||
* the label states, while the score is a judgement of them.
|
||||
*/
|
||||
showhealthscore?: boolean;
|
||||
}
|
||||
|
||||
/** Body of POST /web/products/createproductlocation — send an ARRAY. Upserts. */
|
||||
|
||||
Reference in New Issue
Block a user