sbt-idp/cope2n-fe/src/models/report.ts
2024-02-05 18:20:10 +07:00

142 lines
2.9 KiB
TypeScript

import { UseMutationOptions } from '@tanstack/react-query';
export interface ReportDetailList {
report_detail: ReportItemDetail[];
page: Page;
metadata: Metadata;
}
export interface ReportItemDetail {
'Request ID': string;
'Redemption Number': string;
'Image type': string;
'IMEI_user submitted': string;
'IMEI_OCR retrieved'?: string;
'IMEI1 Accuracy': number;
'Invoice_Purchase Date_Consumer': any;
'Invoice_Purchase Date_OCR': any[];
'Invoice_Purchase Date Accuracy': any;
Invoice_Retailer_Consumer: any;
Invoice_Retailer_OCR: any;
'Invoice_Retailer Accuracy': any;
'OCR Image Accuracy': number;
'OCR Image Speed (seconds)': number;
'Reviewed?': string;
'Bad Image Reasons': string;
Countermeasures: string;
'IMEI_Revised Accuracy': any;
'Purchase Date_Revised Accuracy': any;
'Retailer_Revised Accuracy': any;
}
export interface Metadata {
subsidiary: string;
start_at: string;
end_at: string;
}
export interface Page {
number: number;
total_pages: number;
count: number;
}
export type ReportDetailListParams = {
report_id: string;
page?: number;
};
export type ReportListParams = {
page?: number;
page_size?: number;
start_date?: string;
end_date?: string;
subsidiary?: string;
};
export type DashboardOverviewParams = {
duration?: string;
subsidiary?: string;
};
export interface MakeReportResponse {
report_id: string;
}
export interface MakeReportParams {
start_date: string;
end_date: string;
subsidiary: string;
}
export type CustomUseMutationOptions<
TData = any,
TError = unknown,
TVariables = any,
TContext = unknown,
> = Omit<UseMutationOptions<TData, TError, TVariables, TContext>, 'mutationFn'>;
export interface ReportListType {
report_detail: ReportDetail[];
page: Page;
}
export interface ReportDetail {
ID: number;
'Created Date': string;
'No. Requests': number;
Status: string;
'Purchase Date Acc': any;
'Retailer Acc': any;
'IMEI Acc': any;
'Avg Accuracy': any;
'Avg. Client Request Time': number;
'Avg. OCR Processing Time': number;
report_id: string;
}
export interface Page {
number: number;
total_pages: number;
count: number;
}
// Overview report type
export interface OverViewDataResponse {
overview_data: OverviewData[];
page: Page;
}
export interface OverviewData {
subs: string;
extraction_date: string;
total_images: number;
images_quality: ImagesQuality;
average_accuracy_rate: AverageAccuracyRate;
average_processing_time: AverageProcessingTime;
usage: Usage;
num_imei?: number;
num_invoice?: number;
}
export interface ImagesQuality {
successful: number;
successful_percent: number;
bad: number;
bad_percent: number;
}
export interface AverageAccuracyRate {
imei: number;
purchase_date: number;
retailer_name: number;
}
export interface AverageProcessingTime {
imei: number;
invoice: number;
}
export interface Usage {
imei: number;
invoice: number;
}