Procházet zdrojové kódy

Merge pull request #793 from immich-app/fix/update-reverse-geocoder

Update local-reverse-geocoder to 0.12.5
Alex před 2 roky
rodič
revize
5fc82dfaa2

+ 23 - 11
server/apps/microservices/src/processors/metadata-extraction.processor.ts

@@ -39,20 +39,20 @@ function geocoderLookup(points: { latitude: number; longitude: number }[]) {
     // eslint-disable-next-line @typescript-eslint/ban-ts-comment
     // @ts-ignore
     geocoder.lookUp(points, 1, (err, addresses) => {
-      resolve(addresses[0][0]);
+      resolve(addresses[0][0] as GeoData);
     });
   });
 }
 
 const geocodingPrecisionLevels = ['cities15000', 'cities5000', 'cities1000', 'cities500'];
 
-export interface AdminCode {
+export type AdminCode = {
   name: string;
   asciiName: string;
   geoNameId: string;
-}
+};
 
-export interface GeoData {
+export type GeoData = {
   geoNameId: string;
   name: string;
   asciiName: string;
@@ -63,8 +63,8 @@ export interface GeoData {
   featureCode: string;
   countryCode: string;
   cc2?: any;
-  admin1Code?: AdminCode;
-  admin2Code?: AdminCode;
+  admin1Code?: AdminCode | string;
+  admin2Code?: AdminCode | string;
   admin3Code?: any;
   admin4Code?: any;
   population: string;
@@ -73,7 +73,7 @@ export interface GeoData {
   timezone: string;
   modificationDate: string;
   distance: number;
-}
+};
 
 @Processor(QueueNameEnum.METADATA_EXTRACTION)
 export class MetadataExtractionProcessor {
@@ -123,10 +123,22 @@ export class MetadataExtractionProcessor {
     const city = geoCodeInfo.name;
 
     let state = '';
-    if (geoCodeInfo.admin2Code?.name) state += geoCodeInfo.admin2Code.name;
-    if (geoCodeInfo.admin1Code?.name) {
-      if (geoCodeInfo.admin2Code?.name) state += ', ';
-      state += geoCodeInfo.admin1Code.name;
+
+    if (geoCodeInfo.admin2Code) {
+      const adminCode2 = geoCodeInfo.admin2Code as AdminCode;
+      state += adminCode2.name;
+    }
+
+    if (geoCodeInfo.admin1Code) {
+      const adminCode1 = geoCodeInfo.admin1Code as AdminCode;
+
+      if (geoCodeInfo.admin2Code) {
+        const adminCode2 = geoCodeInfo.admin2Code as AdminCode;
+        if (adminCode2.name) {
+          state += ', ';
+        }
+      }
+      state += adminCode1.name;
     }
 
     return { country, state, city };

+ 7 - 9
server/package-lock.json

@@ -36,7 +36,7 @@
         "geo-tz": "^7.0.2",
         "i18n-iso-countries": "^7.5.0",
         "joi": "^17.5.0",
-        "local-reverse-geocoder": "^0.12.2",
+        "local-reverse-geocoder": "^0.12.5",
         "lodash": "^4.17.21",
         "luxon": "^3.0.3",
         "passport": "^0.6.0",
@@ -7661,12 +7661,11 @@
       }
     },
     "node_modules/local-reverse-geocoder": {
-      "version": "0.12.2",
-      "resolved": "https://registry.npmjs.org/local-reverse-geocoder/-/local-reverse-geocoder-0.12.2.tgz",
-      "integrity": "sha512-kTSvDxGTuJoqx619jmHFoGCqFpBi0PPwyd7PDOLZCyo8mMEwJSMx713+ksOCihGpzUfO3hcclE7z/T43sY/IaA==",
+      "version": "0.12.5",
+      "resolved": "https://registry.npmjs.org/local-reverse-geocoder/-/local-reverse-geocoder-0.12.5.tgz",
+      "integrity": "sha512-FaH8+T29K9PQRiiqYlt+M9Qvq9GlSnWEnX0FTDXgPrNzQ9SWWYGEvO5uODwAD6sep9z19u/K/+Z3cw4AGVW97Q==",
       "dependencies": {
         "async": "^3.2.4",
-        "cors": "^2.8.5",
         "csv-parse": "^5.3.0",
         "debug": "^4.3.4",
         "kdt": "^0.1.0",
@@ -17109,12 +17108,11 @@
       "dev": true
     },
     "local-reverse-geocoder": {
-      "version": "0.12.2",
-      "resolved": "https://registry.npmjs.org/local-reverse-geocoder/-/local-reverse-geocoder-0.12.2.tgz",
-      "integrity": "sha512-kTSvDxGTuJoqx619jmHFoGCqFpBi0PPwyd7PDOLZCyo8mMEwJSMx713+ksOCihGpzUfO3hcclE7z/T43sY/IaA==",
+      "version": "0.12.5",
+      "resolved": "https://registry.npmjs.org/local-reverse-geocoder/-/local-reverse-geocoder-0.12.5.tgz",
+      "integrity": "sha512-FaH8+T29K9PQRiiqYlt+M9Qvq9GlSnWEnX0FTDXgPrNzQ9SWWYGEvO5uODwAD6sep9z19u/K/+Z3cw4AGVW97Q==",
       "requires": {
         "async": "^3.2.4",
-        "cors": "^2.8.5",
         "csv-parse": "^5.3.0",
         "debug": "^4.3.4",
         "kdt": "^0.1.0",

+ 1 - 1
server/package.json

@@ -55,7 +55,7 @@
     "geo-tz": "^7.0.2",
     "i18n-iso-countries": "^7.5.0",
     "joi": "^17.5.0",
-    "local-reverse-geocoder": "^0.12.2",
+    "local-reverse-geocoder": "^0.12.5",
     "lodash": "^4.17.21",
     "luxon": "^3.0.3",
     "passport": "^0.6.0",