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
+29
View File
@@ -0,0 +1,29 @@
export declare class PointDto {
lat: number;
lng: number;
height?: number;
}
export declare class LineOfSightQueryDto {
observerLat: number;
observerLng: number;
targetLat: number;
targetLng: number;
observerHeight?: number;
targetHeight?: number;
stepMeters?: number;
samples?: number;
compact?: boolean;
}
export declare class LineOfSightBodyDto {
observer?: PointDto;
target?: PointDto;
observerLat?: number;
observerLng?: number;
targetLat?: number;
targetLng?: number;
observerHeight?: number;
targetHeight?: number;
stepMeters?: number;
samples?: number;
compact?: boolean;
}
+209
View File
@@ -0,0 +1,209 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.LineOfSightBodyDto = exports.LineOfSightQueryDto = exports.PointDto = void 0;
const swagger_1 = require("@nestjs/swagger");
const class_transformer_1 = require("class-transformer");
const class_validator_1 = require("class-validator");
class PointDto {
lat;
lng;
height;
}
exports.PointDto = PointDto;
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Latitude in decimal degrees', example: 32.311852 }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], PointDto.prototype, "lat", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Longitude in decimal degrees', example: 36.839237 }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], PointDto.prototype, "lng", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Height offset above ground in meters (e.g. eye level / mast)', example: 2, default: 2 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], PointDto.prototype, "height", void 0);
class LineOfSightQueryDto {
observerLat;
observerLng;
targetLat;
targetLng;
observerHeight;
targetHeight;
stepMeters;
samples;
compact;
}
exports.LineOfSightQueryDto = LineOfSightQueryDto;
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Observer (Point A) Latitude', example: 32.311852 }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightQueryDto.prototype, "observerLat", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Observer (Point A) Longitude', example: 36.839237 }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightQueryDto.prototype, "observerLng", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Target (Point B) Latitude', example: 33.371104 }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightQueryDto.prototype, "targetLat", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Target (Point B) Longitude', example: 38.793024 }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightQueryDto.prototype, "targetLng", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Observer eye level / sensor height above ground (meters)', default: 2 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_validator_1.Min)(0),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightQueryDto.prototype, "observerHeight", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Target height above ground (meters)', default: 2 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_validator_1.Min)(0),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightQueryDto.prototype, "targetHeight", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Sampling distance step in meters (e.g. 5, 10, 25, 50). If omitted, automatically optimized.' }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_validator_1.Min)(1),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightQueryDto.prototype, "stepMeters", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Explicit number of sample points (5 - 300). If omitted, dynamically calculated.' }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_validator_1.Min)(5),
(0, class_validator_1.Max)(300),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightQueryDto.prototype, "samples", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'If true, returns only executive summary and obstacle info without profile array', default: false }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsBoolean)(),
(0, class_transformer_1.Type)(() => Boolean),
__metadata("design:type", Boolean)
], LineOfSightQueryDto.prototype, "compact", void 0);
class LineOfSightBodyDto {
observer;
target;
observerLat;
observerLng;
targetLat;
targetLng;
observerHeight;
targetHeight;
stepMeters;
samples;
compact;
}
exports.LineOfSightBodyDto = LineOfSightBodyDto;
__decorate([
(0, swagger_1.ApiPropertyOptional)({ type: PointDto }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", PointDto)
], LineOfSightBodyDto.prototype, "observer", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ type: PointDto }),
(0, class_validator_1.IsOptional)(),
__metadata("design:type", PointDto)
], LineOfSightBodyDto.prototype, "target", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Observer Latitude (flat format)', example: 32.311852 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightBodyDto.prototype, "observerLat", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Observer Longitude (flat format)', example: 36.839237 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightBodyDto.prototype, "observerLng", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Target Latitude (flat format)', example: 33.371104 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightBodyDto.prototype, "targetLat", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Target Longitude (flat format)', example: 38.793024 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightBodyDto.prototype, "targetLng", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Observer height offset (meters)', default: 2 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_validator_1.Min)(0),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightBodyDto.prototype, "observerHeight", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Target height offset (meters)', default: 2 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_validator_1.Min)(0),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightBodyDto.prototype, "targetHeight", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Sampling distance step in meters (e.g. 5, 10, 25, 50)' }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_validator_1.Min)(1),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightBodyDto.prototype, "stepMeters", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Number of sample points (5 - 300)' }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_validator_1.Min)(5),
(0, class_validator_1.Max)(300),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], LineOfSightBodyDto.prototype, "samples", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'If true, returns only executive summary and obstacle info without profile array', default: false }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsBoolean)(),
(0, class_transformer_1.Type)(() => Boolean),
__metadata("design:type", Boolean)
], LineOfSightBodyDto.prototype, "compact", void 0);
//# sourceMappingURL=line-of-sight.dto.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"line-of-sight.dto.js","sourceRoot":"","sources":["../../../src/tactical/dto/line-of-sight.dto.ts"],"names":[],"mappings":"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"}
+26
View File
@@ -0,0 +1,26 @@
export declare class ArtilleryMissionRequestDto {
gunLat: number;
gunLng: number;
targetLat: number;
targetLng: number;
gunElevationOffset?: number;
targetElevationOffset?: number;
chargeType?: string;
muzzleVelocity?: number;
caliber?: string;
}
export declare class TacticalSymbolDto {
id: string;
type: string;
name: string;
name_ar: string;
lat: number;
lng: number;
elevation?: number;
notes?: string;
timeAdded: string;
}
export declare class SaveScenarioDto {
name: string;
symbols: TacticalSymbolDto[];
}
+162
View File
@@ -0,0 +1,162 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SaveScenarioDto = exports.TacticalSymbolDto = exports.ArtilleryMissionRequestDto = void 0;
const swagger_1 = require("@nestjs/swagger");
const class_transformer_1 = require("class-transformer");
const class_validator_1 = require("class-validator");
class ArtilleryMissionRequestDto {
gunLat;
gunLng;
targetLat;
targetLng;
gunElevationOffset;
targetElevationOffset;
chargeType;
muzzleVelocity;
caliber;
}
exports.ArtilleryMissionRequestDto = ArtilleryMissionRequestDto;
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Gun / Battery Latitude', example: 31.9539 }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], ArtilleryMissionRequestDto.prototype, "gunLat", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Gun / Battery Longitude', example: 35.9106 }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], ArtilleryMissionRequestDto.prototype, "gunLng", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Target Latitude', example: 32.01 }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], ArtilleryMissionRequestDto.prototype, "targetLat", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Target Longitude', example: 35.87 }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], ArtilleryMissionRequestDto.prototype, "targetLng", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Gun elevation offset above ground in meters', default: 2 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], ArtilleryMissionRequestDto.prototype, "gunElevationOffset", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Target elevation offset above ground in meters', default: 0 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], ArtilleryMissionRequestDto.prototype, "targetElevationOffset", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Powder charge type (Low, Med, High)' }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], ArtilleryMissionRequestDto.prototype, "chargeType", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Muzzle velocity in m/s (default: 827 m/s for 155mm Howitzer)', default: 827 }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], ArtilleryMissionRequestDto.prototype, "muzzleVelocity", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Weapon Caliber description', default: '155mm Howitzer' }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], ArtilleryMissionRequestDto.prototype, "caliber", void 0);
class TacticalSymbolDto {
id;
type;
name;
name_ar;
lat;
lng;
elevation;
notes;
timeAdded;
}
exports.TacticalSymbolDto = TacticalSymbolDto;
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Symbol Unique ID' }),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], TacticalSymbolDto.prototype, "id", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Symbol military type' }),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], TacticalSymbolDto.prototype, "type", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Name in English' }),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], TacticalSymbolDto.prototype, "name", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Name in Arabic' }),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], TacticalSymbolDto.prototype, "name_ar", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Latitude' }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], TacticalSymbolDto.prototype, "lat", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Longitude' }),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], TacticalSymbolDto.prototype, "lng", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Elevation' }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsNumber)(),
(0, class_transformer_1.Type)(() => Number),
__metadata("design:type", Number)
], TacticalSymbolDto.prototype, "elevation", void 0);
__decorate([
(0, swagger_1.ApiPropertyOptional)({ description: 'Operational Notes' }),
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], TacticalSymbolDto.prototype, "notes", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Timestamp added' }),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], TacticalSymbolDto.prototype, "timeAdded", void 0);
class SaveScenarioDto {
name;
symbols;
}
exports.SaveScenarioDto = SaveScenarioDto;
__decorate([
(0, swagger_1.ApiProperty)({ description: 'Scenario Name', example: 'default' }),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], SaveScenarioDto.prototype, "name", void 0);
__decorate([
(0, swagger_1.ApiProperty)({ description: 'List of tactical symbols', type: [TacticalSymbolDto] }),
(0, class_validator_1.IsArray)(),
__metadata("design:type", Array)
], SaveScenarioDto.prototype, "symbols", void 0);
//# sourceMappingURL=tactical.dto.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"tactical.dto.js","sourceRoot":"","sources":["../../../src/tactical/dto/tactical.dto.ts"],"names":[],"mappings":"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"}