grm-shared-library 1.1.127 → 1.1.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/cjs/modules/gis/dtos/batch-route-incidents.dto.js +22 -0
  2. package/dist/cjs/modules/gis/dtos/batch-route-incidents.dto.js.map +1 -1
  3. package/dist/cjs/modules/gis/dtos/batch-route-point.dto.js +5 -0
  4. package/dist/cjs/modules/gis/dtos/batch-route-point.dto.js.map +1 -1
  5. package/dist/cjs/modules/gis/dtos/batch-routing-result.dto.js +26 -0
  6. package/dist/cjs/modules/gis/dtos/batch-routing-result.dto.js.map +1 -1
  7. package/dist/cjs/modules/gis/dtos/bounding-box.dto.js +46 -0
  8. package/dist/cjs/modules/gis/dtos/bounding-box.dto.js.map +1 -1
  9. package/dist/cjs/modules/gis/dtos/bulk-point-query-result.dto.js +27 -0
  10. package/dist/cjs/modules/gis/dtos/bulk-point-query-result.dto.js.map +1 -1
  11. package/dist/cjs/modules/gis/dtos/bulk-point-query.dto.js +18 -0
  12. package/dist/cjs/modules/gis/dtos/bulk-point-query.dto.js.map +1 -1
  13. package/dist/cjs/modules/gis/dtos/control-centre-routing-result.dto.js +53 -0
  14. package/dist/cjs/modules/gis/dtos/control-centre-routing-result.dto.js.map +1 -1
  15. package/dist/cjs/modules/gis/dtos/coordinate.dto.js +13 -0
  16. package/dist/cjs/modules/gis/dtos/coordinate.dto.js.map +1 -1
  17. package/dist/cjs/modules/gis/dtos/create-buffer.dto.js +14 -0
  18. package/dist/cjs/modules/gis/dtos/create-buffer.dto.js.map +1 -1
  19. package/dist/cjs/modules/gis/dtos/create-zone.dto.js +56 -0
  20. package/dist/cjs/modules/gis/dtos/create-zone.dto.js.map +1 -1
  21. package/dist/cjs/modules/gis/dtos/find-zone-for-point.dto.js +15 -0
  22. package/dist/cjs/modules/gis/dtos/find-zone-for-point.dto.js.map +1 -1
  23. package/dist/cjs/modules/gis/dtos/find-zones-near-point.dto.js +7 -0
  24. package/dist/cjs/modules/gis/dtos/find-zones-near-point.dto.js.map +1 -1
  25. package/dist/cjs/modules/gis/dtos/geo-json-polygon.dto.js +11 -0
  26. package/dist/cjs/modules/gis/dtos/geo-json-polygon.dto.js.map +1 -1
  27. package/dist/cjs/modules/gis/dtos/incident-routing-result.dto.js +68 -0
  28. package/dist/cjs/modules/gis/dtos/incident-routing-result.dto.js.map +1 -1
  29. package/dist/cjs/modules/gis/dtos/point-containment-result.dto.js +17 -0
  30. package/dist/cjs/modules/gis/dtos/point-containment-result.dto.js.map +1 -1
  31. package/dist/cjs/modules/gis/dtos/point-location.dto.js +13 -0
  32. package/dist/cjs/modules/gis/dtos/point-location.dto.js.map +1 -1
  33. package/dist/cjs/modules/gis/dtos/post-gis-geometry.dto.js +14 -0
  34. package/dist/cjs/modules/gis/dtos/post-gis-geometry.dto.js.map +1 -1
  35. package/dist/cjs/modules/gis/dtos/route-incident.dto.js +17 -0
  36. package/dist/cjs/modules/gis/dtos/route-incident.dto.js.map +1 -1
  37. package/dist/cjs/modules/gis/dtos/routing-coverage-result.dto.js +31 -0
  38. package/dist/cjs/modules/gis/dtos/routing-coverage-result.dto.js.map +1 -1
  39. package/dist/cjs/modules/gis/dtos/simplify-polygon.dto.js +20 -0
  40. package/dist/cjs/modules/gis/dtos/simplify-polygon.dto.js.map +1 -1
  41. package/dist/cjs/modules/gis/dtos/zone-list-response.dto.js +52 -0
  42. package/dist/cjs/modules/gis/dtos/zone-list-response.dto.js.map +1 -1
  43. package/dist/cjs/modules/gis/dtos/zone-match-result.dto.js +59 -0
  44. package/dist/cjs/modules/gis/dtos/zone-match-result.dto.js.map +1 -1
  45. package/dist/cjs/modules/gis/dtos/zone-response.dto.js +146 -0
  46. package/dist/cjs/modules/gis/dtos/zone-response.dto.js.map +1 -1
  47. package/dist/cjs/modules/gis/dtos/zone-statistics-result.dto.js +38 -0
  48. package/dist/cjs/modules/gis/dtos/zone-statistics-result.dto.js.map +1 -1
  49. package/dist/cjs/modules/gis/dtos/zone-with-distance-result.dto.js +59 -0
  50. package/dist/cjs/modules/gis/dtos/zone-with-distance-result.dto.js.map +1 -1
  51. package/dist/esm/modules/gis/dtos/batch-route-incidents.dto.js +22 -0
  52. package/dist/esm/modules/gis/dtos/batch-route-incidents.dto.js.map +1 -1
  53. package/dist/esm/modules/gis/dtos/batch-route-point.dto.js +5 -0
  54. package/dist/esm/modules/gis/dtos/batch-route-point.dto.js.map +1 -1
  55. package/dist/esm/modules/gis/dtos/batch-routing-result.dto.js +26 -0
  56. package/dist/esm/modules/gis/dtos/batch-routing-result.dto.js.map +1 -1
  57. package/dist/esm/modules/gis/dtos/bounding-box.dto.js +46 -0
  58. package/dist/esm/modules/gis/dtos/bounding-box.dto.js.map +1 -1
  59. package/dist/esm/modules/gis/dtos/bulk-point-query-result.dto.js +27 -0
  60. package/dist/esm/modules/gis/dtos/bulk-point-query-result.dto.js.map +1 -1
  61. package/dist/esm/modules/gis/dtos/bulk-point-query.dto.js +18 -0
  62. package/dist/esm/modules/gis/dtos/bulk-point-query.dto.js.map +1 -1
  63. package/dist/esm/modules/gis/dtos/control-centre-routing-result.dto.js +53 -0
  64. package/dist/esm/modules/gis/dtos/control-centre-routing-result.dto.js.map +1 -1
  65. package/dist/esm/modules/gis/dtos/coordinate.dto.js +13 -0
  66. package/dist/esm/modules/gis/dtos/coordinate.dto.js.map +1 -1
  67. package/dist/esm/modules/gis/dtos/create-buffer.dto.js +14 -0
  68. package/dist/esm/modules/gis/dtos/create-buffer.dto.js.map +1 -1
  69. package/dist/esm/modules/gis/dtos/create-zone.dto.js +56 -0
  70. package/dist/esm/modules/gis/dtos/create-zone.dto.js.map +1 -1
  71. package/dist/esm/modules/gis/dtos/find-zone-for-point.dto.js +15 -0
  72. package/dist/esm/modules/gis/dtos/find-zone-for-point.dto.js.map +1 -1
  73. package/dist/esm/modules/gis/dtos/find-zones-near-point.dto.js +7 -0
  74. package/dist/esm/modules/gis/dtos/find-zones-near-point.dto.js.map +1 -1
  75. package/dist/esm/modules/gis/dtos/geo-json-polygon.dto.js +11 -0
  76. package/dist/esm/modules/gis/dtos/geo-json-polygon.dto.js.map +1 -1
  77. package/dist/esm/modules/gis/dtos/incident-routing-result.dto.js +68 -0
  78. package/dist/esm/modules/gis/dtos/incident-routing-result.dto.js.map +1 -1
  79. package/dist/esm/modules/gis/dtos/point-containment-result.dto.js +17 -0
  80. package/dist/esm/modules/gis/dtos/point-containment-result.dto.js.map +1 -1
  81. package/dist/esm/modules/gis/dtos/point-location.dto.js +13 -0
  82. package/dist/esm/modules/gis/dtos/point-location.dto.js.map +1 -1
  83. package/dist/esm/modules/gis/dtos/post-gis-geometry.dto.js +14 -0
  84. package/dist/esm/modules/gis/dtos/post-gis-geometry.dto.js.map +1 -1
  85. package/dist/esm/modules/gis/dtos/route-incident.dto.js +17 -0
  86. package/dist/esm/modules/gis/dtos/route-incident.dto.js.map +1 -1
  87. package/dist/esm/modules/gis/dtos/routing-coverage-result.dto.js +31 -0
  88. package/dist/esm/modules/gis/dtos/routing-coverage-result.dto.js.map +1 -1
  89. package/dist/esm/modules/gis/dtos/simplify-polygon.dto.js +20 -0
  90. package/dist/esm/modules/gis/dtos/simplify-polygon.dto.js.map +1 -1
  91. package/dist/esm/modules/gis/dtos/zone-list-response.dto.js +52 -0
  92. package/dist/esm/modules/gis/dtos/zone-list-response.dto.js.map +1 -1
  93. package/dist/esm/modules/gis/dtos/zone-match-result.dto.js +59 -0
  94. package/dist/esm/modules/gis/dtos/zone-match-result.dto.js.map +1 -1
  95. package/dist/esm/modules/gis/dtos/zone-response.dto.js +146 -0
  96. package/dist/esm/modules/gis/dtos/zone-response.dto.js.map +1 -1
  97. package/dist/esm/modules/gis/dtos/zone-statistics-result.dto.js +38 -0
  98. package/dist/esm/modules/gis/dtos/zone-statistics-result.dto.js.map +1 -1
  99. package/dist/esm/modules/gis/dtos/zone-with-distance-result.dto.js +59 -0
  100. package/dist/esm/modules/gis/dtos/zone-with-distance-result.dto.js.map +1 -1
  101. package/package.json +1 -1
@@ -9,14 +9,28 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { IsDefined, IsNumber, Max, Min } from "class-validator";
11
11
  import { IsPolygon } from "../validators/is-polygon.validator";
12
+ import { ApiProperty } from "@nestjs/swagger";
12
13
  export class CreateBufferDto {
13
14
  }
14
15
  __decorate([
16
+ ApiProperty({
17
+ description: 'GeoJSON polygon to create a buffer around',
18
+ example: {
19
+ type: 'Polygon',
20
+ coordinates: [[[-74.0060, 40.7128], [-74.0050, 40.7128], [-74.0050, 40.7138], [-74.0060, 40.7138], [-74.0060, 40.7128]]]
21
+ }
22
+ }),
15
23
  IsDefined(),
16
24
  IsPolygon(),
17
25
  __metadata("design:type", Object)
18
26
  ], CreateBufferDto.prototype, "polygon", void 0);
19
27
  __decorate([
28
+ ApiProperty({
29
+ description: 'Buffer radius in meters',
30
+ minimum: 0,
31
+ maximum: 100000,
32
+ example: 1000
33
+ }),
20
34
  IsNumber(),
21
35
  Min(0),
22
36
  Max(100000),
@@ -1 +1 @@
1
- {"version":3,"file":"create-buffer.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/create-buffer.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,MAAM,OAAO,eAAe;CAS3B;AANG;IAFC,SAAS,EAAE;IACX,SAAS,EAAE;;gDACM;AAKlB;IAHC,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,MAAM,CAAC;;qDACU"}
1
+ {"version":3,"file":"create-buffer.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/create-buffer.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,eAAe;CAsB3B;AAZG;IATC,WAAW,CAAC;QACT,WAAW,EAAE,2CAA2C;QACxD,OAAO,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;SAC3H;KACJ,CAAC;IACD,SAAS,EAAE;IACX,SAAS,EAAE;;gDACM;AAWlB;IATC,WAAW,CAAC;QACT,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,MAAM,CAAC;;qDACU"}
@@ -11,6 +11,7 @@ import { IsDate, IsDefined, IsEnum, IsNumber, IsObject, IsOptional, IsString, Ma
11
11
  import { Type } from "class-transformer";
12
12
  import { ZoneStatus, ZoneType } from "../enums/zone.enums";
13
13
  import { GeoJsonPolygonDto } from "./geo-json-polygon.dto";
14
+ import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
14
15
  export class CreateZoneDto {
15
16
  constructor() {
16
17
  this.type = ZoneType.PRIMARY;
@@ -19,25 +20,54 @@ export class CreateZoneDto {
19
20
  }
20
21
  }
21
22
  __decorate([
23
+ ApiProperty({
24
+ description: 'Name of the zone',
25
+ maxLength: 100,
26
+ example: 'Downtown District'
27
+ }),
22
28
  IsString(),
23
29
  MaxLength(100),
24
30
  __metadata("design:type", String)
25
31
  ], CreateZoneDto.prototype, "name", void 0);
26
32
  __decorate([
33
+ ApiPropertyOptional({
34
+ description: 'Detailed description of the zone',
35
+ maxLength: 500,
36
+ example: 'Primary response zone for downtown emergency services'
37
+ }),
27
38
  IsOptional(),
28
39
  IsString(),
29
40
  MaxLength(500),
30
41
  __metadata("design:type", String)
31
42
  ], CreateZoneDto.prototype, "description", void 0);
32
43
  __decorate([
44
+ ApiProperty({
45
+ description: 'Type of zone (PRIMARY, SECONDARY, BACKUP)',
46
+ enum: ZoneType,
47
+ default: ZoneType.PRIMARY,
48
+ example: ZoneType.PRIMARY
49
+ }),
33
50
  IsEnum(ZoneType),
34
51
  __metadata("design:type", String)
35
52
  ], CreateZoneDto.prototype, "type", void 0);
36
53
  __decorate([
54
+ ApiProperty({
55
+ description: 'Current status of the zone (ACTIVE, INACTIVE, ARCHIVED)',
56
+ enum: ZoneStatus,
57
+ default: ZoneStatus.ACTIVE,
58
+ example: ZoneStatus.ACTIVE
59
+ }),
37
60
  IsEnum(ZoneStatus),
38
61
  __metadata("design:type", String)
39
62
  ], CreateZoneDto.prototype, "status", void 0);
40
63
  __decorate([
64
+ ApiProperty({
65
+ description: 'Priority level for zone routing (0-999, lower is higher priority)',
66
+ minimum: 0,
67
+ maximum: 999,
68
+ default: 0,
69
+ example: 1
70
+ }),
41
71
  IsOptional(),
42
72
  IsNumber(),
43
73
  Min(0),
@@ -45,31 +75,57 @@ __decorate([
45
75
  __metadata("design:type", Number)
46
76
  ], CreateZoneDto.prototype, "priority", void 0);
47
77
  __decorate([
78
+ ApiProperty({
79
+ description: 'ID of the control centre that owns this zone',
80
+ example: 1
81
+ }),
48
82
  IsNumber(),
49
83
  __metadata("design:type", Number)
50
84
  ], CreateZoneDto.prototype, "controlCentreId", void 0);
51
85
  __decorate([
86
+ ApiProperty({
87
+ description: 'ID of the organization that owns this zone',
88
+ example: 1
89
+ }),
52
90
  IsNumber(),
53
91
  __metadata("design:type", Number)
54
92
  ], CreateZoneDto.prototype, "organizationId", void 0);
55
93
  __decorate([
94
+ ApiProperty({
95
+ description: 'GeoJSON polygon defining the zone boundary',
96
+ type: () => GeoJsonPolygonDto
97
+ }),
56
98
  IsDefined(),
57
99
  ValidateNested(),
58
100
  Type(() => GeoJsonPolygonDto),
59
101
  __metadata("design:type", GeoJsonPolygonDto)
60
102
  ], CreateZoneDto.prototype, "geoJson", void 0);
61
103
  __decorate([
104
+ ApiPropertyOptional({
105
+ description: 'Custom attributes for the zone',
106
+ example: { color: '#FF0000', population: 50000 }
107
+ }),
62
108
  IsOptional(),
63
109
  IsObject(),
64
110
  __metadata("design:type", Object)
65
111
  ], CreateZoneDto.prototype, "attributes", void 0);
66
112
  __decorate([
113
+ ApiPropertyOptional({
114
+ description: 'Date when the zone becomes effective',
115
+ type: Date,
116
+ example: '2026-01-01T00:00:00Z'
117
+ }),
67
118
  IsOptional(),
68
119
  IsDate(),
69
120
  Type(() => Date),
70
121
  __metadata("design:type", Date)
71
122
  ], CreateZoneDto.prototype, "effectiveFrom", void 0);
72
123
  __decorate([
124
+ ApiPropertyOptional({
125
+ description: 'Date when the zone expires',
126
+ type: Date,
127
+ example: '2026-12-31T23:59:59Z'
128
+ }),
73
129
  IsOptional(),
74
130
  IsDate(),
75
131
  Type(() => Date),
@@ -1 +1 @@
1
- {"version":3,"file":"create-zone.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/create-zone.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3I,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,OAAO,aAAa;IAA1B;QAWI,SAAI,GAAa,QAAQ,CAAC,OAAO,CAAC;QAGlC,WAAM,GAAe,UAAU,CAAC,MAAM,CAAC;QAMvC,aAAQ,GAAY,CAAC,CAAC;IA0B1B,CAAC;CAAA;AA3CG;IAFC,QAAQ,EAAE;IACV,SAAS,CAAC,GAAG,CAAC;;2CACD;AAKd;IAHC,UAAU,EAAE;IACZ,QAAQ,EAAE;IACV,SAAS,CAAC,GAAG,CAAC;;kDACM;AAGrB;IADC,MAAM,CAAC,QAAQ,CAAC;;2CACiB;AAGlC;IADC,MAAM,CAAC,UAAU,CAAC;;6CACoB;AAMvC;IAJC,UAAU,EAAE;IACZ,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,GAAG,CAAC;;+CACa;AAGtB;IADC,QAAQ,EAAE;;sDACc;AAGzB;IADC,QAAQ,EAAE;;qDACa;AAKxB;IAHC,SAAS,EAAE;IACX,cAAc,EAAE;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC;8BACpB,iBAAiB;8CAAC;AAI5B;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;iDACsB;AAKjC;IAHC,UAAU,EAAE;IACZ,MAAM,EAAE;IACR,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;8BACD,IAAI;oDAAC;AAKrB;IAHC,UAAU,EAAE;IACZ,MAAM,EAAE;IACR,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;8BACA,IAAI;qDAAC"}
1
+ {"version":3,"file":"create-zone.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/create-zone.dto.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { IsBoolean, IsNumber, IsOptional } from "class-validator";
11
11
  import { PointLocationDto } from "./point-location.dto";
12
+ import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
12
13
  export class FindZoneForPointDto extends PointLocationDto {
13
14
  constructor() {
14
15
  super(...arguments);
@@ -17,15 +18,29 @@ export class FindZoneForPointDto extends PointLocationDto {
17
18
  }
18
19
  }
19
20
  __decorate([
21
+ ApiPropertyOptional({
22
+ description: 'Filter zones by organization ID',
23
+ example: 1
24
+ }),
20
25
  IsOptional(),
21
26
  IsNumber(),
22
27
  __metadata("design:type", Number)
23
28
  ], FindZoneForPointDto.prototype, "organizationId", void 0);
24
29
  __decorate([
30
+ ApiProperty({
31
+ description: 'Only return active zones',
32
+ default: true,
33
+ example: true
34
+ }),
25
35
  IsBoolean(),
26
36
  __metadata("design:type", Boolean)
27
37
  ], FindZoneForPointDto.prototype, "activeOnly", void 0);
28
38
  __decorate([
39
+ ApiProperty({
40
+ description: 'Maximum number of zones to return',
41
+ default: 10,
42
+ example: 10
43
+ }),
29
44
  IsNumber(),
30
45
  __metadata("design:type", Number)
31
46
  ], FindZoneForPointDto.prototype, "limit", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"find-zone-for-point.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/find-zone-for-point.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IAAzD;;QAMI,eAAU,GAAY,IAAI,CAAC;QAG3B,UAAK,GAAW,EAAE,CAAC;IACvB,CAAC;CAAA;AAPG;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;2DACa;AAGxB;IADC,SAAS,EAAE;;uDACe;AAG3B;IADC,QAAQ,EAAE;;kDACQ"}
1
+ {"version":3,"file":"find-zone-for-point.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/find-zone-for-point.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IAAzD;;QAeI,eAAU,GAAY,IAAI,CAAC;QAQ3B,UAAK,GAAW,EAAE,CAAC;IACvB,CAAC;CAAA;AAjBG;IANC,mBAAmB,CAAC;QACjB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,CAAC;KACb,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;;2DACa;AAQxB;IANC,WAAW,CAAC;QACT,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,SAAS,EAAE;;uDACe;AAQ3B;IANC,WAAW,CAAC;QACT,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACd,CAAC;IACD,QAAQ,EAAE;;kDACQ"}
@@ -9,9 +9,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { IsNumber, Max, Min } from "class-validator";
11
11
  import { FindZoneForPointDto } from "./find-zone-for-point.dto";
12
+ import { ApiProperty } from "@nestjs/swagger";
12
13
  export class FindZonesNearPointDto extends FindZoneForPointDto {
13
14
  }
14
15
  __decorate([
16
+ ApiProperty({
17
+ description: 'Search radius in meters from the point',
18
+ minimum: 0,
19
+ maximum: 100000,
20
+ example: 5000
21
+ }),
15
22
  IsNumber(),
16
23
  Min(0),
17
24
  Max(100000),
@@ -1 +1 @@
1
- {"version":3,"file":"find-zones-near-point.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/find-zones-near-point.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,OAAO,qBAAsB,SAAQ,mBAAmB;CAK7D;AADG;IAHC,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,MAAM,CAAC;;2DACU"}
1
+ {"version":3,"file":"find-zones-near-point.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/find-zones-near-point.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,qBAAsB,SAAQ,mBAAmB;CAW7D;AADG;IATC,WAAW,CAAC;QACT,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,MAAM,CAAC;;2DACU"}
@@ -8,6 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import { ArrayMinSize, Equals, IsArray } from "class-validator";
11
+ import { ApiProperty } from "@nestjs/swagger";
11
12
  // Follows GeoJSON specification (RFC 7946)
12
13
  export class GeoJsonPolygonDto {
13
14
  constructor() {
@@ -15,10 +16,20 @@ export class GeoJsonPolygonDto {
15
16
  }
16
17
  }
17
18
  __decorate([
19
+ ApiProperty({
20
+ description: 'GeoJSON geometry type, must be "Polygon"',
21
+ enum: ['Polygon'],
22
+ example: 'Polygon'
23
+ }),
18
24
  Equals('Polygon'),
19
25
  __metadata("design:type", String)
20
26
  ], GeoJsonPolygonDto.prototype, "type", void 0);
21
27
  __decorate([
28
+ ApiProperty({
29
+ description: 'Polygon coordinates in GeoJSON format: [[[lng, lat], [lng, lat], ...]]. First array is exterior ring, subsequent arrays are holes.',
30
+ type: 'array',
31
+ example: [[[-74.0060, 40.7128], [-74.0050, 40.7128], [-74.0050, 40.7138], [-74.0060, 40.7138], [-74.0060, 40.7128]]]
32
+ }),
22
33
  IsArray(),
23
34
  ArrayMinSize(1),
24
35
  __metadata("design:type", Array)
@@ -1 +1 @@
1
- {"version":3,"file":"geo-json-polygon.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/geo-json-polygon.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEhE,2CAA2C;AAC3C,MAAM,OAAO,iBAAiB;IAA9B;QAEI,SAAI,GAAc,SAAS,CAAC;IAYhC,CAAC;CAAA;AAZG;IADC,MAAM,CAAC,SAAS,CAAC;;+CACU;AAW5B;IAFC,OAAO,EAAE;IACT,YAAY,CAAC,CAAC,CAAC;;sDACW"}
1
+ {"version":3,"file":"geo-json-polygon.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/geo-json-polygon.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,2CAA2C;AAC3C,MAAM,OAAO,iBAAiB;IAA9B;QAOI,SAAI,GAAc,SAAS,CAAC;IAiBhC,CAAC;CAAA;AAjBG;IANC,WAAW,CAAC;QACT,WAAW,EAAE,0CAA0C;QACvD,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,OAAO,EAAE,SAAS;KACrB,CAAC;IACD,MAAM,CAAC,SAAS,CAAC;;+CACU;AAgB5B;IAPC,WAAW,CAAC;QACT,WAAW,EAAE,oIAAoI;QACjJ,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;KACvH,CAAC;IACD,OAAO,EAAE;IACT,YAAY,CAAC,CAAC,CAAC;;sDACW"}
@@ -1,3 +1,71 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { IncidentRoutingResultMatchType } from "../enums/incident-routing-result-match-type.enum";
11
+ import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
1
12
  export class IncidentRoutingResultDto {
2
13
  }
14
+ __decorate([
15
+ ApiProperty({
16
+ description: 'Whether the routing was successful',
17
+ example: true
18
+ }),
19
+ __metadata("design:type", Boolean)
20
+ ], IncidentRoutingResultDto.prototype, "success", void 0);
21
+ __decorate([
22
+ ApiPropertyOptional({
23
+ description: 'ID of the matched control centre',
24
+ example: 1
25
+ }),
26
+ __metadata("design:type", Number)
27
+ ], IncidentRoutingResultDto.prototype, "controlCentreId", void 0);
28
+ __decorate([
29
+ ApiPropertyOptional({
30
+ description: 'ID of the organization that owns the control centre',
31
+ example: 1
32
+ }),
33
+ __metadata("design:type", Number)
34
+ ], IncidentRoutingResultDto.prototype, "organizationId", void 0);
35
+ __decorate([
36
+ ApiPropertyOptional({
37
+ description: 'ID of the matched zone',
38
+ example: 42
39
+ }),
40
+ __metadata("design:type", Number)
41
+ ], IncidentRoutingResultDto.prototype, "zoneId", void 0);
42
+ __decorate([
43
+ ApiPropertyOptional({
44
+ description: 'Name of the matched zone',
45
+ example: 'Downtown District'
46
+ }),
47
+ __metadata("design:type", String)
48
+ ], IncidentRoutingResultDto.prototype, "zoneName", void 0);
49
+ __decorate([
50
+ ApiProperty({
51
+ description: 'Type of match (EXACT, FALLBACK, NO_MATCH)',
52
+ enum: IncidentRoutingResultMatchType,
53
+ example: IncidentRoutingResultMatchType.EXACT
54
+ }),
55
+ __metadata("design:type", String)
56
+ ], IncidentRoutingResultDto.prototype, "matchType", void 0);
57
+ __decorate([
58
+ ApiPropertyOptional({
59
+ description: 'Distance in meters from point to zone (for fallback matches)',
60
+ example: 150.5
61
+ }),
62
+ __metadata("design:type", Number)
63
+ ], IncidentRoutingResultDto.prototype, "distance", void 0);
64
+ __decorate([
65
+ ApiPropertyOptional({
66
+ description: 'Additional information about the routing result',
67
+ example: 'Successfully matched to primary zone'
68
+ }),
69
+ __metadata("design:type", String)
70
+ ], IncidentRoutingResultDto.prototype, "message", void 0);
3
71
  //# sourceMappingURL=incident-routing-result.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"incident-routing-result.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/incident-routing-result.dto.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,wBAAwB;CASpC"}
1
+ {"version":3,"file":"incident-routing-result.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/incident-routing-result.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,OAAO,wBAAwB;CAiDpC;AA5CG;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,IAAI;KAChB,CAAC;;yDACgB;AAMlB;IAJC,mBAAmB,CAAC;QACjB,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,CAAC;KACb,CAAC;;iEACuB;AAMzB;IAJC,mBAAmB,CAAC;QACjB,WAAW,EAAE,qDAAqD;QAClE,OAAO,EAAE,CAAC;KACb,CAAC;;gEACsB;AAMxB;IAJC,mBAAmB,CAAC;QACjB,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,EAAE;KACd,CAAC;;wDACc;AAMhB;IAJC,mBAAmB,CAAC;QACjB,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE,mBAAmB;KAC/B,CAAC;;0DACgB;AAOlB;IALC,WAAW,CAAC;QACT,WAAW,EAAE,2CAA2C;QACxD,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,8BAA8B,CAAC,KAAK;KAChD,CAAC;;2DACyC;AAM3C;IAJC,mBAAmB,CAAC;QACjB,WAAW,EAAE,8DAA8D;QAC3E,OAAO,EAAE,KAAK;KACjB,CAAC;;0DACgB;AAMlB;IAJC,mBAAmB,CAAC;QACjB,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,sCAAsC;KAClD,CAAC;;yDACe"}
@@ -1,3 +1,20 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ApiProperty } from "@nestjs/swagger";
1
11
  export class PointContainmentResultDto {
2
12
  }
13
+ __decorate([
14
+ ApiProperty({
15
+ description: 'Whether the point is contained within the polygon',
16
+ example: true
17
+ }),
18
+ __metadata("design:type", Boolean)
19
+ ], PointContainmentResultDto.prototype, "contained", void 0);
3
20
  //# sourceMappingURL=point-containment-result.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"point-containment-result.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/point-containment-result.dto.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,yBAAyB;CAErC"}
1
+ {"version":3,"file":"point-containment-result.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/point-containment-result.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,yBAAyB;CAMrC;AADG;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,IAAI;KAChB,CAAC;;4DACkB"}
@@ -8,15 +8,28 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import { IsNumber, Max, Min } from "class-validator";
11
+ import { ApiProperty } from "@nestjs/swagger";
11
12
  export class PointLocationDto {
12
13
  }
13
14
  __decorate([
15
+ ApiProperty({
16
+ description: 'Latitude coordinate in decimal degrees',
17
+ minimum: -90,
18
+ maximum: 90,
19
+ example: 40.7128
20
+ }),
14
21
  IsNumber(),
15
22
  Min(-90),
16
23
  Max(90),
17
24
  __metadata("design:type", Number)
18
25
  ], PointLocationDto.prototype, "lat", void 0);
19
26
  __decorate([
27
+ ApiProperty({
28
+ description: 'Longitude coordinate in decimal degrees',
29
+ minimum: -180,
30
+ maximum: 180,
31
+ example: -74.0060
32
+ }),
20
33
  IsNumber(),
21
34
  Min(-180),
22
35
  Max(180),
@@ -1 +1 @@
1
- {"version":3,"file":"point-location.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/point-location.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,OAAO,gBAAgB;CAU5B;AANG;IAHC,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,EAAE,CAAC;IACR,GAAG,CAAC,EAAE,CAAC;;6CACK;AAKb;IAHC,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,GAAG,CAAC;IACT,GAAG,CAAC,GAAG,CAAC;;6CACI"}
1
+ {"version":3,"file":"point-location.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/point-location.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,gBAAgB;CAsB5B;AAZG;IATC,WAAW,CAAC;QACT,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,CAAC,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,OAAO;KACnB,CAAC;IACD,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,EAAE,CAAC;IACR,GAAG,CAAC,EAAE,CAAC;;6CACK;AAWb;IATC,WAAW,CAAC;QACT,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,CAAC,GAAG;QACb,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,CAAC,OAAO;KACpB,CAAC;IACD,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,GAAG,CAAC;IACT,GAAG,CAAC,GAAG,CAAC;;6CACI"}
@@ -9,17 +9,31 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { IsDefined, IsNumber, Min } from "class-validator";
11
11
  import { IsPolygon } from "../validators/is-polygon.validator";
12
+ import { ApiProperty } from "@nestjs/swagger";
12
13
  export class PostGisGeometryDto {
13
14
  constructor() {
14
15
  this.srid = 4326;
15
16
  }
16
17
  }
17
18
  __decorate([
19
+ ApiProperty({
20
+ description: 'GeoJSON polygon geometry',
21
+ example: {
22
+ type: 'Polygon',
23
+ coordinates: [[[-74.0060, 40.7128], [-74.0050, 40.7128], [-74.0050, 40.7138], [-74.0060, 40.7138], [-74.0060, 40.7128]]]
24
+ }
25
+ }),
18
26
  IsDefined(),
19
27
  IsPolygon(),
20
28
  __metadata("design:type", Object)
21
29
  ], PostGisGeometryDto.prototype, "polygon", void 0);
22
30
  __decorate([
31
+ ApiProperty({
32
+ description: 'Spatial Reference System Identifier (SRID). Default is 4326 (WGS84)',
33
+ minimum: 0,
34
+ default: 4326,
35
+ example: 4326
36
+ }),
23
37
  IsNumber(),
24
38
  Min(0),
25
39
  __metadata("design:type", Number)
@@ -1 +1 @@
1
- {"version":3,"file":"post-gis-geometry.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/post-gis-geometry.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,MAAM,OAAO,kBAAkB;IAA/B;QAOI,SAAI,GAAW,IAAI,CAAC;IACxB,CAAC;CAAA;AALG;IAFC,SAAS,EAAE;IACX,SAAS,EAAE;;mDACM;AAIlB;IAFC,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;;gDACa"}
1
+ {"version":3,"file":"post-gis-geometry.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/post-gis-geometry.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,kBAAkB;IAA/B;QAoBI,SAAI,GAAW,IAAI,CAAC;IACxB,CAAC;CAAA;AAXG;IATC,WAAW,CAAC;QACT,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;SAC3H;KACJ,CAAC;IACD,SAAS,EAAE;IACX,SAAS,EAAE;;mDACM;AAUlB;IARC,WAAW,CAAC;QACT,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;;gDACa"}
@@ -9,6 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { IsBoolean, IsNumber, IsOptional, Max, Min } from "class-validator";
11
11
  import { PointLocationDto } from "./point-location.dto";
12
+ import { ApiProperty, ApiPropertyOptional } from "@nestjs/swagger";
12
13
  export class RouteIncidentDto extends PointLocationDto {
13
14
  constructor() {
14
15
  super(...arguments);
@@ -17,17 +18,33 @@ export class RouteIncidentDto extends PointLocationDto {
17
18
  }
18
19
  }
19
20
  __decorate([
21
+ ApiPropertyOptional({
22
+ description: 'Filter zones by organization ID',
23
+ example: 1
24
+ }),
20
25
  IsOptional(),
21
26
  IsNumber(),
22
27
  __metadata("design:type", Number)
23
28
  ], RouteIncidentDto.prototype, "organizationId", void 0);
24
29
  __decorate([
30
+ ApiProperty({
31
+ description: 'Radius in meters to search for nearby zones if no exact match is found',
32
+ minimum: 0,
33
+ maximum: 100000,
34
+ default: 5000,
35
+ example: 5000
36
+ }),
25
37
  IsNumber(),
26
38
  Min(0),
27
39
  Max(100000),
28
40
  __metadata("design:type", Number)
29
41
  ], RouteIncidentDto.prototype, "fallbackRadiusMeters", void 0);
30
42
  __decorate([
43
+ ApiProperty({
44
+ description: 'Whether to search for nearby zones if no exact match is found',
45
+ default: true,
46
+ example: true
47
+ }),
31
48
  IsBoolean(),
32
49
  __metadata("design:type", Boolean)
33
50
  ], RouteIncidentDto.prototype, "allowFallback", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"route-incident.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/route-incident.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IAAtD;;QAQI,yBAAoB,GAAW,IAAI,CAAC;QAGpC,kBAAa,GAAY,IAAI,CAAC;IAClC,CAAC;CAAA;AATG;IAFC,UAAU,EAAE;IACZ,QAAQ,EAAE;;wDACa;AAKxB;IAHC,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,MAAM,CAAC;;8DACwB;AAGpC;IADC,SAAS,EAAE;;uDACkB"}
1
+ {"version":3,"file":"route-incident.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/route-incident.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IAAtD;;QAmBI,yBAAoB,GAAW,IAAI,CAAC;QAQpC,kBAAa,GAAY,IAAI,CAAC;IAClC,CAAC;CAAA;AArBG;IANC,mBAAmB,CAAC;QACjB,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,CAAC;KACb,CAAC;IACD,UAAU,EAAE;IACZ,QAAQ,EAAE;;wDACa;AAYxB;IAVC,WAAW,CAAC;QACT,WAAW,EAAE,wEAAwE;QACrF,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,MAAM,CAAC;;8DACwB;AAQpC;IANC,WAAW,CAAC;QACT,WAAW,EAAE,+DAA+D;QAC5E,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,SAAS,EAAE;;uDACkB"}
@@ -1,3 +1,34 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ApiProperty } from "@nestjs/swagger";
1
11
  export class RoutingCoverageResultDto {
2
12
  }
13
+ __decorate([
14
+ ApiProperty({
15
+ description: 'Total number of zones in the system',
16
+ example: 150
17
+ }),
18
+ __metadata("design:type", Number)
19
+ ], RoutingCoverageResultDto.prototype, "totalZones", void 0);
20
+ __decorate([
21
+ ApiProperty({
22
+ description: 'Number of active zones',
23
+ example: 142
24
+ }),
25
+ __metadata("design:type", Number)
26
+ ], RoutingCoverageResultDto.prototype, "activeZones", void 0);
27
+ __decorate([
28
+ ApiProperty({
29
+ description: 'Total number of control centres',
30
+ example: 12
31
+ }),
32
+ __metadata("design:type", Number)
33
+ ], RoutingCoverageResultDto.prototype, "totalControlCentres", void 0);
3
34
  //# sourceMappingURL=routing-coverage-result.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing-coverage-result.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/routing-coverage-result.dto.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,wBAAwB;CAIpC"}
1
+ {"version":3,"file":"routing-coverage-result.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/routing-coverage-result.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,wBAAwB;CAkBpC;AAbG;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,GAAG;KACf,CAAC;;4DACkB;AAMpB;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,GAAG;KACf,CAAC;;6DACmB;AAMrB;IAJC,WAAW,CAAC;QACT,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,EAAE;KACd,CAAC;;qEAC2B"}
@@ -9,6 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { IsDefined, IsBoolean, IsNumber, Max, Min } from "class-validator";
11
11
  import { IsPolygon } from "../validators/is-polygon.validator";
12
+ import { ApiProperty } from "@nestjs/swagger";
12
13
  export class SimplifyPolygonDto {
13
14
  constructor() {
14
15
  this.tolerance = 0.001;
@@ -16,17 +17,36 @@ export class SimplifyPolygonDto {
16
17
  }
17
18
  }
18
19
  __decorate([
20
+ ApiProperty({
21
+ description: 'GeoJSON polygon to simplify',
22
+ example: {
23
+ type: 'Polygon',
24
+ coordinates: [[[-74.0060, 40.7128], [-74.0050, 40.7128], [-74.0050, 40.7138], [-74.0060, 40.7138], [-74.0060, 40.7128]]]
25
+ }
26
+ }),
19
27
  IsDefined(),
20
28
  IsPolygon(),
21
29
  __metadata("design:type", Object)
22
30
  ], SimplifyPolygonDto.prototype, "polygon", void 0);
23
31
  __decorate([
32
+ ApiProperty({
33
+ description: 'Simplification tolerance (0-1). Higher values result in more simplification',
34
+ minimum: 0,
35
+ maximum: 1,
36
+ default: 0.001,
37
+ example: 0.001
38
+ }),
24
39
  IsNumber(),
25
40
  Min(0),
26
41
  Max(1),
27
42
  __metadata("design:type", Number)
28
43
  ], SimplifyPolygonDto.prototype, "tolerance", void 0);
29
44
  __decorate([
45
+ ApiProperty({
46
+ description: 'Whether to use high-quality simplification algorithm',
47
+ default: true,
48
+ example: true
49
+ }),
30
50
  IsBoolean(),
31
51
  __metadata("design:type", Boolean)
32
52
  ], SimplifyPolygonDto.prototype, "highQuality", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"simplify-polygon.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/simplify-polygon.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAc,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE/D,MAAM,OAAO,kBAAkB;IAA/B;QAQI,cAAS,GAAW,KAAK,CAAC;QAG1B,gBAAW,GAAY,IAAI,CAAC;IAChC,CAAC;CAAA;AATG;IAFC,SAAS,EAAE;IACX,SAAS,EAAE;;mDACM;AAKlB;IAHC,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,CAAC,CAAC;;qDACmB;AAG1B;IADC,SAAS,EAAE;;uDACgB"}
1
+ {"version":3,"file":"simplify-polygon.dto.js","sourceRoot":"","sources":["../../../../../src/modules/gis/dtos/simplify-polygon.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAc,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEvF,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,kBAAkB;IAA/B;QAsBI,cAAS,GAAW,KAAK,CAAC;QAQ1B,gBAAW,GAAY,IAAI,CAAC;IAChC,CAAC;CAAA;AArBG;IATC,WAAW,CAAC;QACT,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;SAC3H;KACJ,CAAC;IACD,SAAS,EAAE;IACX,SAAS,EAAE;;mDACM;AAYlB;IAVC,WAAW,CAAC;QACT,WAAW,EAAE,6EAA6E;QAC1F,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;KACjB,CAAC;IACD,QAAQ,EAAE;IACV,GAAG,CAAC,CAAC,CAAC;IACN,GAAG,CAAC,CAAC,CAAC;;qDACmB;AAQ1B;IANC,WAAW,CAAC;QACT,WAAW,EAAE,sDAAsD;QACnE,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,SAAS,EAAE;;uDACgB"}