feat(quality): add resolution UI for all five rule types and manual scan
DataQualityIssueDetail showed raw JSON as the primary interface for four of five rule types, with no resolution surface beyond generic defer/reject. Add a bounded panel per rule type (provide missing fields, retain/correct an odometer reading, block one of two overlapping bookings, apply the recommended vehicle status) wired to the new backend endpoints, and move raw evidence behind a <details> disclosure. Add a "Run quality scan" action to the workbench (confirmation, progress, per-rule result counts, auto refresh) -- the endpoint already existed but had no UI trigger.
This commit is contained in:
@@ -160,6 +160,7 @@ export interface ReturnPreviewResult {
|
||||
}
|
||||
|
||||
export interface EntitySnapshot {
|
||||
entity_type: "customer" | "vehicle" | "booking" | "inspection";
|
||||
public_ref: string;
|
||||
[key: string]: unknown;
|
||||
}
|
||||
@@ -169,6 +170,16 @@ export interface DataQualityIssueDetail extends DataQualityIssue {
|
||||
related_snapshots: EntitySnapshot[];
|
||||
}
|
||||
|
||||
export interface ApplyRecommendedStatusResult {
|
||||
issue: DataQualityIssue;
|
||||
applied_status: string;
|
||||
reason: string;
|
||||
}
|
||||
|
||||
export interface ScanResult {
|
||||
created: Record<string, number>;
|
||||
}
|
||||
|
||||
export interface MergeCustomersRequest {
|
||||
survivor_ref: string;
|
||||
field_overrides?: Record<string, string>;
|
||||
|
||||
Reference in New Issue
Block a user