@reservation-studio/electron-types
Version:
TypeScript типове за ReservationStudioElectron
48 lines (47 loc) • 1.89 kB
TypeScript
import { DeviceId, OperatorInfo } from './shared.types';
import { FiscalVATGroup } from './receipts.types';
import { DeviceInfo, FiscalDeviceStatus, FiscalMemoryRecord, FiscalResponse } from './device.types';
export type FiscalDeviceDiagnosticStepName = 'deviceInfo' | 'status' | 'lastFiscalRecord' | 'cashAmount' | 'nonFiscalReceipt';
export interface FiscalDeviceDiagnosticStepBase {
name: FiscalDeviceDiagnosticStepName;
ok: boolean;
startedAt: string;
finishedAt: string;
skipped?: boolean;
skipReason?: string;
error?: string;
}
export interface FiscalDeviceDiagnosticStepDeviceInfo extends FiscalDeviceDiagnosticStepBase {
name: 'deviceInfo';
data?: DeviceInfo;
}
export interface FiscalDeviceDiagnosticStepStatus extends FiscalDeviceDiagnosticStepBase {
name: 'status';
data?: FiscalDeviceStatus;
}
export interface FiscalDeviceDiagnosticStepLastFiscalRecord extends FiscalDeviceDiagnosticStepBase {
name: 'lastFiscalRecord';
data?: FiscalMemoryRecord;
}
export interface FiscalDeviceDiagnosticStepCashAmount extends FiscalDeviceDiagnosticStepBase {
name: 'cashAmount';
data?: number;
}
export interface FiscalDeviceDiagnosticStepNonFiscalReceipt extends FiscalDeviceDiagnosticStepBase {
name: 'nonFiscalReceipt';
data?: FiscalResponse;
}
export type FiscalDeviceDiagnosticStep = FiscalDeviceDiagnosticStepDeviceInfo | FiscalDeviceDiagnosticStepStatus | FiscalDeviceDiagnosticStepLastFiscalRecord | FiscalDeviceDiagnosticStepCashAmount | FiscalDeviceDiagnosticStepNonFiscalReceipt;
export interface FiscalDeviceDiagnosticsOptions {
operator: OperatorInfo;
amount?: number;
vatGroup?: FiscalVATGroup;
itemName?: string;
}
export interface FiscalDeviceDiagnosticsResult {
deviceId: DeviceId;
ok: boolean;
startedAt: string;
finishedAt: string;
steps: FiscalDeviceDiagnosticStep[];
}