fix(tactical): resolve DTO types and TS1272 build error for isolatedModules

This commit is contained in:
Hamza-Ayed
2026-08-18 09:46:04 +03:00
parent bd287d155b
commit 941420f5c0
86 changed files with 3614 additions and 1556 deletions
+69
View File
@@ -0,0 +1,69 @@
import { RedisService } from '../common/redis.service';
export interface ArtilleryMissionRequest {
gunLat: number;
gunLng: number;
targetLat: number;
targetLng: number;
gunElevationOffset?: number;
targetElevationOffset?: number;
chargeType?: string;
muzzleVelocity?: number;
caliber?: string;
}
export interface TacticalSymbol {
id: string;
type: 'friendly' | 'hostile' | 'neutral' | 'unknown' | 'radar' | 'artillery' | 'minefield' | 'checkpoint' | 'hlz' | 'op';
name: string;
name_ar: string;
lat: number;
lng: number;
elevation?: number;
notes?: string;
timeAdded: string;
}
export declare class TacticalService {
private readonly redisService;
private readonly logger;
constructor(redisService: RedisService);
calculateArtilleryFireMission(dto: ArtilleryMissionRequest): Promise<{
fireMissionId: string;
caliber: string;
muzzleVelocityMs: number;
distanceMeters: number;
distanceKm: number;
azimuthDegrees: number;
azimuthMils: number;
gunElevationMeters: number;
targetElevationMeters: number;
apexAltitudeMeters: number;
timeOfFlightSeconds: number;
lowAngle: {
degrees: number;
mils: number;
};
highAngle: {
degrees: number;
mils: number;
};
hasCrestClearance: boolean;
criticalObstacle: any;
trajectoryPoints: any[];
}>;
assessHelicopterLandingZones(lat: number, lng: number, radiusMeters?: number): Promise<{
centerLat: number;
centerLng: number;
searchRadiusMeters: number;
totalAssessed: number;
suitableCount: number;
zones: any[];
}>;
saveScenario(name: string, symbols: TacticalSymbol[]): Promise<{
success: boolean;
count: number;
name: string;
}>;
getScenario(name: string): Promise<TacticalSymbol[]>;
private haversineDistance;
private calculateBearing;
private estimateElevation;
}