"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