diff --git a/src/services/ffmpegService.ts b/src/services/ffmpegService.ts index a863e887f..30e1e5fcd 100644 --- a/src/services/ffmpegService.ts +++ b/src/services/ffmpegService.ts @@ -2,11 +2,10 @@ import { createFFmpeg, FFmpeg } from '@ffmpeg/ffmpeg'; import { CustomError } from 'utils/error'; import { logError } from 'utils/sentry'; import QueueProcessor from './queueProcessor'; -import { - ParsedExtractedMetadata, - parseFFmpegExtractedMetadata, -} from './upload/metadataService'; +import { ParsedExtractedMetadata } from 'types/upload'; + import { getUint8ArrayView } from './upload/readFileService'; +import { parseFFmpegExtractedMetadata } from './upload/videoMetadataService'; class FFmpegService { private ffmpeg: FFmpeg = null; diff --git a/src/services/updateCreationTimeWithExif.ts b/src/services/updateCreationTimeWithExif.ts index e34f889c0..4d4b6bc27 100644 --- a/src/services/updateCreationTimeWithExif.ts +++ b/src/services/updateCreationTimeWithExif.ts @@ -10,9 +10,10 @@ import downloadManager from './downloadManager'; import { updatePublicMagicMetadata } from './fileService'; import { EnteFile } from 'types/file'; -import { getRawExif, getUNIXTime } from './upload/exifService'; +import { getRawExif } from './upload/exifService'; import { getFileType } from './upload/readFileService'; import { FILE_TYPE } from 'constants/file'; +import { getUNIXTime } from 'utils/time'; export async function updateCreationTimeWithExif( filesToBeUpdated: EnteFile[], diff --git a/src/services/upload/exifService.ts b/src/services/upload/exifService.ts index 343736854..c8ba7b8d0 100644 --- a/src/services/upload/exifService.ts +++ b/src/services/upload/exifService.ts @@ -4,8 +4,8 @@ import exifr from 'exifr'; import piexif from 'piexifjs'; import { FileTypeInfo } from 'types/upload'; import { logError } from 'utils/sentry'; -import { ParsedExtractedMetadata } from './metadataService'; -import { getUNIXTime } from 'utils/upload'; +import { ParsedExtractedMetadata } from 'types/upload'; +import { getUNIXTime } from 'utils/time'; const EXIF_TAGS_NEEDED = [ 'DateTimeOriginal', diff --git a/src/services/upload/metadataService.ts b/src/services/upload/metadataService.ts index 1777e8f6f..2b55a441a 100644 --- a/src/services/upload/metadataService.ts +++ b/src/services/upload/metadataService.ts @@ -6,6 +6,7 @@ import { ParsedMetadataJSON, Location, FileTypeInfo, + ParsedExtractedMetadata, } from 'types/upload'; import { NULL_LOCATION } from 'constants/upload'; import { splitFilenameAndExtension } from 'utils/file'; @@ -22,11 +23,6 @@ const NULL_PARSED_METADATA_JSON: ParsedMetadataJSON = { ...NULL_LOCATION, }; -export interface ParsedExtractedMetadata { - location: Location; - creationTime: number; -} - export async function extractMetadata( receivedFile: File, fileTypeInfo: FileTypeInfo diff --git a/src/services/upload/videoMetadataService.ts b/src/services/upload/videoMetadataService.ts index 617819765..b7fa0d85e 100644 --- a/src/services/upload/videoMetadataService.ts +++ b/src/services/upload/videoMetadataService.ts @@ -1,7 +1,7 @@ import { NULL_LOCATION } from 'constants/upload'; import ffmpegService from 'services/ffmpegService'; -import { getUNIXTime } from 'utils/upload'; -import { ParsedExtractedMetadata } from './metadataService'; +import { getUNIXTime } from 'utils/time'; +import { ParsedExtractedMetadata } from 'types/upload'; enum VideoMetadata { CREATION_TIME = 'creation_time', diff --git a/src/types/upload/index.ts b/src/types/upload/index.ts index a49facddf..35a4692a6 100644 --- a/src/types/upload/index.ts +++ b/src/types/upload/index.ts @@ -130,3 +130,8 @@ export interface UploadFile extends BackupedFile { encryptedKey: string; keyDecryptionNonce: string; } + +export interface ParsedExtractedMetadata { + location: Location; + creationTime: number; +} diff --git a/src/utils/time/index.ts b/src/utils/time/index.ts new file mode 100644 index 000000000..cb04e5b65 --- /dev/null +++ b/src/utils/time/index.ts @@ -0,0 +1,11 @@ +export function getUNIXTime(dateTime: Date) { + if (!dateTime || isNaN(dateTime.getTime())) { + return null; + } + const unixTime = dateTime.getTime() * 1000; + if (unixTime <= 0) { + return null; + } else { + return unixTime; + } +} diff --git a/src/utils/upload/index.ts b/src/utils/upload/index.ts index f0ea3474b..29ed9ecf2 100644 --- a/src/utils/upload/index.ts +++ b/src/utils/upload/index.ts @@ -49,15 +49,3 @@ export function segregateMetadataAndMediaFiles( }); return { mediaFiles, metadataJSONFiles }; } - -export function getUNIXTime(dateTime: Date) { - if (!dateTime || isNaN(dateTime.getTime())) { - return null; - } - const unixTime = dateTime.getTime() * 1000; - if (unixTime <= 0) { - return null; - } else { - return unixTime; - } -}