signalk-parquet
Version:
Vessel data Parquet file archive with automated value and geospatial triggers. History API compliant with cloud backups and queries.
43 lines • 1.38 kB
TypeScript
import { ServerAPI } from '@signalk/server-api';
import { DataRecord } from './types';
export interface SchemaDetectionResult {
schema: any;
isExplodedFile: boolean;
fieldCount: number;
}
export interface ValidationResult {
isValid: boolean;
violations: string[];
isExplodedFile: boolean;
hasSchema: boolean;
}
export interface RepairResult {
needsRepair: boolean;
violations: string[];
repairedFilePath?: string;
backupFilePath?: string;
}
/**
* Centralized schema detection, validation, and repair service
* Consolidates logic from parquet-writer.ts and api-routes.ts
*/
export declare class SchemaService {
private app;
constructor(app: ServerAPI);
/**
* CORE SCHEMA DETECTION LOGIC
* Extracted and consolidated from createParquetSchema() in parquet-writer.ts
*/
detectOptimalSchema(records: DataRecord[], currentPath?: string): Promise<SchemaDetectionResult>;
/**
* SCHEMA VALIDATION LOGIC
* Extracted and consolidated from validation logic in api-routes.ts
*/
validateFileSchema(filePath: string): Promise<ValidationResult>;
/**
* SCHEMA REPAIR LOGIC
* Extracted and consolidated from repair logic in api-routes.ts
*/
repairFileSchema(filePath: string, _filenamePrefix?: string): Promise<RepairResult>;
}
//# sourceMappingURL=schema-service.d.ts.map