UNPKG

@reservation-studio/electron-types

Version:

TypeScript типове за ReservationStudioElectron

48 lines (47 loc) 1.89 kB
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[]; }