1
0
mirror of https://github.com/immich-app/immich.git synced 2024-12-25 10:43:13 +02:00
immich/server
Skyler Mäntysaari dff10e89fe
feat(server): Fix exif data parsing (#1326)
* Trying to get exifdata working with different lib.

* Got the new library working.

* Addressing PR comments.

* Removed not used vars and proper place for the eslint disable.

* Fix time-utils to use the exiftool-vendored lib.

Fixed also one test, as that would be valid.

* Using filename for timestamp as well if possible.

* Add new tests for time-utils.

* Remember to gracefully terminate the exiftool instance when not needed.

* eslint ignore...

* Apperantly Dockerfile changes were not pushed.

* feat(dockerfile): Tweak the Server Dockerfile

* feat(server): getTimestampFromFilename should return string or undefined.

* feat(server): If we don't have exifData or timestamp from filename, raise an error.

* Apparently test was already right, but my local system disagrees.

* More utilities for parsing and fix the timestampFromFilename.

It was returning an incorrect date as the regex doesn't seem to be the best for this as files named `IMG_0115.HEIC` will want to get parsed incorrectly due to it.

* feat(server/docker): Install perl as it seems to be required.

* feat(server): remember to include exposureTime and focalLength in new exif data.

* feat(server): Remove the parsing from filename as requested.

* feat(server): Import exiftool differently in time-utils.

* feat(server): Error handling when there is no exifData.

* feat(server): Fixes for the error handling when there is no exifData.

* feat(server): Remember to include modifyDate despite no exif.

* feat(server): Remember to include model of Camera.

* feat(server): Fixing up Exiftool usage.

Including proper logging for it, which had to be done in wrapped fashion due to it expecting all the logging levels which NextJS logger doesn't implement.

* feat(server): Do not use a wrapper for ExifTool logging.

* fix merge conflicts in metadata-extractor
2023-01-17 09:29:49 -06:00
..
apps feat(server): Fix exif data parsing (#1326) 2023-01-17 09:29:49 -06:00
bin fix(mobile): omit null values from json requests (#1212) 2023-01-09 22:08:45 -06:00
libs feat(server): Fix exif data parsing (#1326) 2023-01-17 09:29:49 -06:00
openapi-generator/templates/serialization/native fix(mobile): omit null values from json requests (#1212) 2023-01-09 22:08:45 -06:00
.dockerignore feat(immich-server) use ubuntu base-image (#851) 2022-10-24 14:59:07 -05:00
.eslintrc.js chore(docs): contributing (#1311) 2023-01-12 08:44:11 -06:00
.gitignore Added generated geocoding files to gitignore 2022-09-28 15:44:43 -05:00
.prettierignore chore(docs): contributing (#1311) 2023-01-12 08:44:11 -06:00
.prettierrc Add web interface with admin functionality (#167) 2022-05-21 02:23:55 -05:00
Dockerfile feat(server): Fix exif data parsing (#1326) 2023-01-17 09:29:49 -06:00
immich-openapi-specs.json fix(web) Disable draggable on common usage element to avoid trigger drag-n-drop layer (#1330) 2023-01-15 14:01:10 -06:00
LICENSE feat(docker) revert ubuntu base image (#863) 2022-10-25 14:18:37 -05:00
nest-cli.json refactor(server): domain/infra (#1298) 2023-01-11 21:34:36 -05:00
openapitools.json Add OpenAPI Specs and Response DTOs (#320) 2022-07-08 21:26:50 -05:00
package-lock.json feat(server): Fix exif data parsing (#1326) 2023-01-17 09:29:49 -06:00
package.json feat(server): Fix exif data parsing (#1326) 2023-01-17 09:29:49 -06:00
README.md feat(server,web): system config for admin (#959) 2022-11-14 22:39:32 -06:00
start-microservices.sh fix(docker-build): start main process with exec (#1210) 2022-12-29 14:49:02 -06:00
start-server.sh fix(docker-build): start main process with exec (#1210) 2022-12-29 14:49:02 -06:00
tsconfig.build.json Transfer repository from Gitlab 2022-02-03 10:06:44 -06:00
tsconfig.json Fix e2e tests (#1321) 2023-01-15 13:08:24 -06:00

How to run migration

  1. Attached to the container shell
  2. Run npm run typeorm -- migration:generate ./libs/database/src/<migration-name> -d libs/database/src/config/database.config.ts
  3. Check if the migration file makes sense
  4. Move the migration file to folder server/libs/database/src/migrations in your code editor.