redesign
This commit is contained in:
@@ -29,6 +29,18 @@ export interface OrderQuery extends DateRange {
|
||||
tenantid: number;
|
||||
/** Omit for every branch of the tenant. */
|
||||
locationid?: number;
|
||||
/**
|
||||
* One delivery partner's work, ACROSS every merchant they serve.
|
||||
*
|
||||
* The platform's own view of dispatch: a partner's riders carry for many
|
||||
* shops at once — partner 60 answered with 376 deliveries spanning 12
|
||||
* merchants — and no tenant-scoped read can show that. Verified live on
|
||||
* 2026-09-11.
|
||||
*
|
||||
* Never sent alongside a tenantid. The endpoint treats the two as separate
|
||||
* doors onto the same table, not as filters that combine.
|
||||
*/
|
||||
partnerid?: number;
|
||||
status?: string;
|
||||
keyword?: string;
|
||||
pageno?: number;
|
||||
@@ -51,7 +63,7 @@ export const insightsApi = {
|
||||
*/
|
||||
orders: (query: OrderQuery) =>
|
||||
api.list<OrderRow>(`${WEB}/orders/tenant/getorders`, {
|
||||
tenantid: query.tenantid,
|
||||
...(query.partnerid ? { partnerid: query.partnerid } : { tenantid: query.tenantid }),
|
||||
locationid: query.locationid,
|
||||
status: query.status,
|
||||
keyword: query.keyword,
|
||||
@@ -75,7 +87,7 @@ export const insightsApi = {
|
||||
*/
|
||||
deliveries: (query: OrderQuery) =>
|
||||
api.list<DeliveryRow>(`${WEB}/deliveries/getdeliveries`, {
|
||||
tenantid: query.tenantid,
|
||||
...(query.partnerid ? { partnerid: query.partnerid } : { tenantid: query.tenantid }),
|
||||
locationid: query.locationid,
|
||||
status: query.status,
|
||||
keyword: query.keyword,
|
||||
|
||||
@@ -329,23 +329,53 @@ export interface ProductStockRequest {
|
||||
Orders & deliveries — the summary shapes the console reads
|
||||
──────────────────────────────────────────────────────────────────────────── */
|
||||
|
||||
export interface OrderSummary {
|
||||
totalorders?: number;
|
||||
delivered?: number;
|
||||
/**
|
||||
* What `getordersummary` and `getlocationsummary` actually send.
|
||||
*
|
||||
* ── These two used to declare fields the backend has never sent ─────────────
|
||||
*
|
||||
* Both carried `totalorders?: number` and `revenue?: number`. Neither exists in
|
||||
* either response. Verified live on 2026-09-11 against tenant 1147 — the whole
|
||||
* body is:
|
||||
*
|
||||
* {"total":168,"created":84,"pending":1,"processing":0,
|
||||
* "delivered":1,"cancelled":82,"locationid":1185,"locationname":"R mart "}
|
||||
*
|
||||
* The count is `total`, not `totalorders`, and there is no money on it at all.
|
||||
* Because both were optional AND the interface had an `[key: string]: unknown`
|
||||
* index signature, `summary.revenue ?? 0` type-checked perfectly and evaluated
|
||||
* to 0 forever. Four pages read those two names — Reports, both Consoles and
|
||||
* the platform's store detail — so every "App revenue" and "Online orders"
|
||||
* figure on this console read ₹0 / 0 against a shop with 84 real orders worth
|
||||
* ₹25,728 in the same range.
|
||||
*
|
||||
* The index signature is gone with them. It is what let the names drift from
|
||||
* the wire in the first place: with it, a typo and a renamed column are both
|
||||
* legal, and neither shows up until someone looks at a screen and sees a zero.
|
||||
*
|
||||
* Revenue is not here because it is not available here. It comes from the order
|
||||
* rows — see `branchOrderStats` in `features/store-admin/branchStats.ts`.
|
||||
*/
|
||||
interface OrderCounts {
|
||||
/** Every order in scope, whatever its status. The other counts sum to this. */
|
||||
total?: number;
|
||||
created?: number;
|
||||
pending?: number;
|
||||
processing?: number;
|
||||
delivered?: number;
|
||||
cancelled?: number;
|
||||
revenue?: number;
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
export interface LocationOrderSummary {
|
||||
export interface OrderSummary extends OrderCounts {
|
||||
tenantid?: number;
|
||||
tenantname?: string;
|
||||
locationid?: number;
|
||||
locationname?: string;
|
||||
}
|
||||
|
||||
export interface LocationOrderSummary extends OrderCounts {
|
||||
locationid?: number;
|
||||
locationname?: string;
|
||||
totalorders?: number;
|
||||
delivered?: number;
|
||||
cancelled?: number;
|
||||
revenue?: number;
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
export interface DeliverySummary {
|
||||
|
||||
Reference in New Issue
Block a user