mirror of
https://github.com/immich-app/immich.git
synced 2025-01-19 18:26:46 +01:00
Fix typing
This commit is contained in:
parent
38767cad0f
commit
4f7e764fa0
1 changed files with 24 additions and 12 deletions
|
@ -20,7 +20,7 @@ import ffmpeg from 'fluent-ffmpeg';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import sharp from 'sharp';
|
import sharp from 'sharp';
|
||||||
import { Repository } from 'typeorm/repository/Repository';
|
import { Repository } from 'typeorm/repository/Repository';
|
||||||
import geocoder, { InitOptions } from 'local-reverse-geocoder';
|
import geocoder, { AddressObject, InitOptions } from 'local-reverse-geocoder';
|
||||||
import { getName } from 'i18n-iso-countries';
|
import { getName } from 'i18n-iso-countries';
|
||||||
import { find } from 'geo-tz';
|
import { find } from 'geo-tz';
|
||||||
import * as luxon from 'luxon';
|
import * as luxon from 'luxon';
|
||||||
|
@ -39,20 +39,20 @@ function geocoderLookup(points: { latitude: number; longitude: number }[]) {
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
geocoder.lookUp(points, 1, (err, addresses) => {
|
geocoder.lookUp(points, 1, (err, addresses) => {
|
||||||
resolve(addresses[0][0]);
|
resolve(addresses[0][0] as GeoData);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const geocodingPrecisionLevels = ['cities15000', 'cities5000', 'cities1000', 'cities500'];
|
const geocodingPrecisionLevels = ['cities15000', 'cities5000', 'cities1000', 'cities500'];
|
||||||
|
|
||||||
export interface AdminCode {
|
export type AdminCode = {
|
||||||
name: string;
|
name: string;
|
||||||
asciiName: string;
|
asciiName: string;
|
||||||
geoNameId: string;
|
geoNameId: string;
|
||||||
}
|
};
|
||||||
|
|
||||||
export interface GeoData {
|
export type GeoData = {
|
||||||
geoNameId: string;
|
geoNameId: string;
|
||||||
name: string;
|
name: string;
|
||||||
asciiName: string;
|
asciiName: string;
|
||||||
|
@ -63,8 +63,8 @@ export interface GeoData {
|
||||||
featureCode: string;
|
featureCode: string;
|
||||||
countryCode: string;
|
countryCode: string;
|
||||||
cc2?: any;
|
cc2?: any;
|
||||||
admin1Code?: AdminCode;
|
admin1Code?: AdminCode | string;
|
||||||
admin2Code?: AdminCode;
|
admin2Code?: AdminCode | string;
|
||||||
admin3Code?: any;
|
admin3Code?: any;
|
||||||
admin4Code?: any;
|
admin4Code?: any;
|
||||||
population: string;
|
population: string;
|
||||||
|
@ -73,7 +73,7 @@ export interface GeoData {
|
||||||
timezone: string;
|
timezone: string;
|
||||||
modificationDate: string;
|
modificationDate: string;
|
||||||
distance: number;
|
distance: number;
|
||||||
}
|
};
|
||||||
|
|
||||||
@Processor(QueueNameEnum.METADATA_EXTRACTION)
|
@Processor(QueueNameEnum.METADATA_EXTRACTION)
|
||||||
export class MetadataExtractionProcessor {
|
export class MetadataExtractionProcessor {
|
||||||
|
@ -123,10 +123,22 @@ export class MetadataExtractionProcessor {
|
||||||
const city = geoCodeInfo.name;
|
const city = geoCodeInfo.name;
|
||||||
|
|
||||||
let state = '';
|
let state = '';
|
||||||
if (geoCodeInfo.admin2Code?.name) state += geoCodeInfo.admin2Code.name;
|
|
||||||
if (geoCodeInfo.admin1Code?.name) {
|
if (geoCodeInfo.admin2Code) {
|
||||||
if (geoCodeInfo.admin2Code?.name) state += ', ';
|
const adminCode2 = geoCodeInfo.admin2Code as AdminCode;
|
||||||
state += geoCodeInfo.admin1Code.name;
|
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 };
|
return { country, state, city };
|
||||||
|
|
Loading…
Reference in a new issue