fiscalia_bo-nest-helpers 0.2.23 → 0.2.25
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.
- package/dist/dto/response.dto.js +10 -1
- package/dist/dto/response.dto.js.map +1 -1
- package/dist/ms-geojson/dto/ms-geojson.dto.js +1 -0
- package/dist/ms-geojson/dto/ms-geojson.dto.js.map +1 -1
- package/dist/ms-geojson/ms-geojson.service.d.ts +2 -0
- package/dist/ms-geojson/ms-geojson.service.js +62 -33
- package/dist/ms-geojson/ms-geojson.service.js.map +1 -1
- package/package.json +1 -1
package/dist/dto/response.dto.js
CHANGED
@@ -15,6 +15,7 @@ const dataResponseError = (message = 'ocurrio un error', { error = true, status
|
|
15
15
|
};
|
16
16
|
exports.dataResponseError = dataResponseError;
|
17
17
|
const MsMysqlResponseFormat = (response = null, { message: successMessage = 'Operación Exitosa', status: successStatus = 200, } = {}, { error: errorError = true, message: errorMessage = 'Error desconocido', status: errorStatus = 500, } = {}) => {
|
18
|
+
var _a;
|
18
19
|
if (!(response === null || response === void 0 ? void 0 : response.errorMessage)) {
|
19
20
|
if ((response === null || response === void 0 ? void 0 : response.data) !== undefined && (response === null || response === void 0 ? void 0 : response.data) !== null) {
|
20
21
|
return {
|
@@ -40,7 +41,7 @@ const MsMysqlResponseFormat = (response = null, { message: successMessage = 'Ope
|
|
40
41
|
}
|
41
42
|
}
|
42
43
|
else {
|
43
|
-
|
44
|
+
const errorFormat = {
|
44
45
|
error: errorError,
|
45
46
|
message: (response === null || response === void 0 ? void 0 : response.errorMessage) ? response === null || response === void 0 ? void 0 : response.errorMessage : errorMessage,
|
46
47
|
response: {
|
@@ -50,6 +51,14 @@ const MsMysqlResponseFormat = (response = null, { message: successMessage = 'Ope
|
|
50
51
|
},
|
51
52
|
status: errorStatus,
|
52
53
|
};
|
54
|
+
if (process.env.DEBUG_SERVER === 'true') {
|
55
|
+
errorFormat.response = {
|
56
|
+
validationErrors: (_a = ((response === null || response === void 0 ? void 0 : response.validationErrors)
|
57
|
+
? JSON.parse(response === null || response === void 0 ? void 0 : response.validationErrors)
|
58
|
+
: response === null || response === void 0 ? void 0 : response.errorMessage)) !== null && _a !== void 0 ? _a : response === null || response === void 0 ? void 0 : response.errorMessage,
|
59
|
+
};
|
60
|
+
}
|
61
|
+
return errorFormat;
|
53
62
|
}
|
54
63
|
};
|
55
64
|
exports.MsMysqlResponseFormat = MsMysqlResponseFormat;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"response.dto.js","sourceRoot":"","sources":["../../src/dto/response.dto.ts"],"names":[],"mappings":";;;AAAA,qDAA2C;AAuCpC,MAAM,mBAAmB,GAAG,CACjC,QASC,EACD,EAAE,KAAK,GAAG,KAAK,EAAE,OAAO,GAAG,mBAAmB,EAAE,MAAM,GAAG,GAAG,KAA8B,EAAE,EAC5E,EAAE;IAClB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9C,CAAC,CAAC;AAdW,QAAA,mBAAmB,uBAc9B;AAOK,MAAM,kBAAkB,GAAG,CAChC,QAAQ,EACR,EAAE,KAAK,GAAG,KAAK,EAAE,OAAO,GAAG,mBAAmB,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,EACxD,EAAE;IACb,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9C,CAAC,CAAC;AALW,QAAA,kBAAkB,sBAK7B;AAOK,MAAM,iBAAiB,GAAG,CAC/B,OAAO,GAAG,kBAAkB,EAC5B,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,EAAE,EACpC,EAAE;IAClB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9C,CAAC,CAAC;AALW,QAAA,iBAAiB,qBAK5B;AAOK,MAAM,qBAAqB,GAAG,CACnC,QAAQ,GAAG,IAAI,EACf,EACE,OAAO,EAAE,cAAc,GAAG,mBAAmB,EAC7C,MAAM,EAAE,aAAa,GAAG,GAAG,MACA,EAAE,EAC/B,EACE,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,OAAO,EAAE,YAAY,GAAG,mBAAmB,EAC3C,MAAM,EAAE,WAAW,GAAG,GAAG,MACE,EAAE,EACf,EAAE
|
1
|
+
{"version":3,"file":"response.dto.js","sourceRoot":"","sources":["../../src/dto/response.dto.ts"],"names":[],"mappings":"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"}
|
@@ -53,6 +53,7 @@ __decorate([
|
|
53
53
|
], FeatureDto.prototype, "geometry", void 0);
|
54
54
|
__decorate([
|
55
55
|
(0, class_validator_1.IsString)(),
|
56
|
+
(0, class_validator_1.IsOptional)(),
|
56
57
|
(0, class_validator_1.IsNotEmpty)(),
|
57
58
|
__metadata("design:type", String)
|
58
59
|
], FeatureDto.prototype, "id", void 0);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-geojson.dto.js","sourceRoot":"","sources":["../../../src/ms-geojson/dto/ms-geojson.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,
|
1
|
+
{"version":3,"file":"ms-geojson.dto.js","sourceRoot":"","sources":["../../../src/ms-geojson/dto/ms-geojson.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAyC;AACzC,qDAQyB;AAEzB,MAAa,WAAW;CAIvB;AAHC;IAAC,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;gDACC;AAHhC,kCAIC;AAED,MAAM,WAAW;CAQhB;AAPC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yCACA;AAEb;IAAC,IAAA,yBAAO,GAAE;IACT,IAAA,8BAAY,EAAC,CAAC,CAAC;8BACH,MAAM;gDAAC;AAGtB,MAAM,UAAU;CAIf;AAHC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wCACA;AAGf,MAAa,UAAU;CAiBtB;AAhBC;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wCACA;AAEb;IAAC,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,WAAW,CAAC;8BACd,WAAW;4CAAC;AAEtB;IAAC,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,4BAAU,GAAE;;sCACF;AAEX;IAAC,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC;IACtB,IAAA,4BAAU,GAAE;;8CACoB;AAhBnC,gCAiBC"}
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import { Coordinates } from './dto/ms-geojson.dto';
|
2
2
|
export declare class MsGeoJsonService {
|
3
|
+
isJsonString(str: string): boolean;
|
4
|
+
isObject(value: any): boolean;
|
3
5
|
validateJson(dataGEOJSON: any): Promise<void>;
|
4
6
|
validateArrayCoordinatesGeoJson(coordinatesPolygon: any, { coordinates }: Coordinates, reverseCoordinates: boolean): Promise<any>;
|
5
7
|
}
|
@@ -13,8 +13,22 @@ const class_validator_1 = require("class-validator");
|
|
13
13
|
const turf = require("@turf/turf");
|
14
14
|
const class_transformer_1 = require("class-transformer");
|
15
15
|
let MsGeoJsonService = class MsGeoJsonService {
|
16
|
+
isJsonString(str) {
|
17
|
+
try {
|
18
|
+
JSON.parse(str);
|
19
|
+
}
|
20
|
+
catch (e) {
|
21
|
+
return false;
|
22
|
+
}
|
23
|
+
return true;
|
24
|
+
}
|
25
|
+
isObject(value) {
|
26
|
+
return value !== null && typeof value === 'object';
|
27
|
+
}
|
16
28
|
async validateJson(dataGEOJSON) {
|
17
29
|
var _a;
|
30
|
+
if (!Array.isArray(dataGEOJSON))
|
31
|
+
throw new Error('La entrada de datos es inválida.');
|
18
32
|
for (const item of dataGEOJSON) {
|
19
33
|
if (((_a = item.geometry) === null || _a === void 0 ? void 0 : _a.coordinates) && Array.isArray(item.geometry.coordinates[0])) {
|
20
34
|
const setCoordinatesValidate = [];
|
@@ -34,43 +48,58 @@ let MsGeoJsonService = class MsGeoJsonService {
|
|
34
48
|
}
|
35
49
|
}
|
36
50
|
async validateArrayCoordinatesGeoJson(coordinatesPolygon, { coordinates }, reverseCoordinates) {
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
};
|
57
|
-
break;
|
58
|
-
}
|
51
|
+
try {
|
52
|
+
const coordinatesReal = this.isObject(coordinatesPolygon)
|
53
|
+
? JSON.parse(JSON.stringify(coordinatesPolygon))
|
54
|
+
: this.isJsonString(coordinatesPolygon)
|
55
|
+
? JSON.parse(coordinatesPolygon)
|
56
|
+
: {};
|
57
|
+
const coordinatesClone = this.isObject(coordinatesPolygon)
|
58
|
+
? JSON.parse(JSON.stringify(coordinatesPolygon))
|
59
|
+
: this.isJsonString(coordinatesPolygon)
|
60
|
+
? JSON.parse(coordinatesPolygon)
|
61
|
+
: {};
|
62
|
+
let response = {
|
63
|
+
index: null,
|
64
|
+
isPointInside: false,
|
65
|
+
};
|
66
|
+
await this.validateJson(coordinatesClone);
|
67
|
+
let setCoordinates = coordinates;
|
68
|
+
if (reverseCoordinates) {
|
69
|
+
setCoordinates = [coordinates[1], coordinates[0]];
|
59
70
|
}
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
71
|
+
for (const [i, cood] of coordinatesReal.entries()) {
|
72
|
+
if (cood.geometry.type === 'MultiPolygon') {
|
73
|
+
const polygonGeoJSON = turf.multiPolygon(cood.geometry.coordinates);
|
74
|
+
const pointGeoJSON = turf.point(setCoordinates);
|
75
|
+
const isPointInside = turf.booleanPointInPolygon(pointGeoJSON, polygonGeoJSON);
|
76
|
+
if (isPointInside) {
|
77
|
+
response = {
|
78
|
+
index: i,
|
79
|
+
isPointInside,
|
80
|
+
};
|
81
|
+
break;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
else if (cood.geometry.type === 'Polygon') {
|
85
|
+
const polygonGeoJSON = turf.polygon(cood.geometry.coordinates);
|
86
|
+
const pointGeoJSON = turf.point(setCoordinates);
|
87
|
+
const isPointInside = turf.booleanPointInPolygon(pointGeoJSON, polygonGeoJSON);
|
88
|
+
if (isPointInside) {
|
89
|
+
response = {
|
90
|
+
index: i,
|
91
|
+
isPointInside,
|
92
|
+
};
|
93
|
+
break;
|
94
|
+
}
|
70
95
|
}
|
71
96
|
}
|
97
|
+
return response;
|
98
|
+
}
|
99
|
+
catch (error) {
|
100
|
+
console.error(`geoJson: ${error.message}`);
|
101
|
+
throw `geoJson: ${error.message}`;
|
72
102
|
}
|
73
|
-
return response;
|
74
103
|
}
|
75
104
|
};
|
76
105
|
MsGeoJsonService = __decorate([
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ms-geojson.service.js","sourceRoot":"","sources":["../../src/ms-geojson/ms-geojson.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,yDAA+D;AAC/D,qDAA2C;AAC3C,mCAAmC;AACnC,yDAAiD;AAG1C,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAO3B,KAAK,CAAC,YAAY,CAAC,WAAgB;;QACjC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;YAC9B,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,WAAW,KAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7E,MAAM,sBAAsB,GAAG,EAAE,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC7B,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtC,CAAC,CAAC,CAAC;oBACH,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACtC;gBACD,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,sBAAsB,CAAC;aACpD;YACD,MAAM,GAAG,GAAG,IAAA,gCAAY,EAAC,2BAAU,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,GAAG,CAAC,CAAC;YACnC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACrD;SACF;IACH,CAAC;IAUD,KAAK,CAAC,+BAA+B,CACnC,kBAAuB,EACvB,EAAE,WAAW,EAAe,EAC5B,kBAA2B;QAE3B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"ms-geojson.service.js","sourceRoot":"","sources":["../../src/ms-geojson/ms-geojson.service.ts"],"names":[],"mappings":"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"}
|