57 lines
1.9 KiB
TypeScript
57 lines
1.9 KiB
TypeScript
import { Repository, DataSource } from 'typeorm';
|
|
import { TelemetryLog } from './telemetry.entity';
|
|
import { RoadSegmentStat } from '../maps/road-stat.entity';
|
|
import { CandidateRoad } from '../maps/candidate-road.entity';
|
|
import { RedisService } from '../common/redis.service';
|
|
import { ExternalTelemetryService } from './external-telemetry.service';
|
|
export declare class TelemetryAnalyzerService {
|
|
private telemetryRepo;
|
|
private roadStatRepo;
|
|
private candidateRoadRepo;
|
|
private dataSource;
|
|
private redisService;
|
|
private externalTelemetry;
|
|
private readonly logger;
|
|
private readonly TRAFFIC_CACHE_KEY;
|
|
constructor(telemetryRepo: Repository<TelemetryLog>, roadStatRepo: Repository<RoadSegmentStat>, candidateRoadRepo: Repository<CandidateRoad>, dataSource: DataSource, redisService: RedisService, externalTelemetry: ExternalTelemetryService);
|
|
handleNightlyIntelligence(): Promise<void>;
|
|
syncExternalData(days?: number): Promise<{
|
|
imported: number;
|
|
}>;
|
|
refreshTrafficCache(): Promise<{
|
|
cachedCount: number;
|
|
}>;
|
|
analyzeRoadSpeeds(sinceHours?: number): Promise<{
|
|
segmentsUpdated: number;
|
|
totalPointsProcessed: number;
|
|
topAdjustments: any[];
|
|
}>;
|
|
discoverNewRoads(sinceHours?: number): Promise<{
|
|
candidatesFound: number;
|
|
candidates: any[];
|
|
}>;
|
|
getCongestionData(bounds: {
|
|
north: number;
|
|
south: number;
|
|
east: number;
|
|
west: number;
|
|
}): Promise<any[]>;
|
|
getAnalysisSummary(): Promise<{
|
|
telemetry: {
|
|
totalPoints: number;
|
|
last24h: number;
|
|
activeDrivers24h: number;
|
|
};
|
|
roadSegments: {
|
|
analyzed: number;
|
|
};
|
|
candidateRoads: {
|
|
total: number;
|
|
pending: number;
|
|
approved: number;
|
|
rejected: number;
|
|
};
|
|
}>;
|
|
private calculateConfidence;
|
|
}
|