Commit graph

216 commits

Author SHA1 Message Date
Theresa Gresch 95ab6dfb94 Backend: Add test fixtures 2020-05-11 17:01:05 +02:00
Theresa Gresch 7cce763864 Backend: Refactor test fixtures 2020-05-11 14:49:53 +02:00
Michael Mayer 3c47a85ea5 Backend: Move UpdatePhotoCounts() to entity package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 11:01:28 +02:00
Michael Mayer 4fbed12e94 Backend: Skip archived photos while indexing #300
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 08:57:58 +02:00
Michael Mayer 923093042a Purge: Improve photo counts and logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-11 07:23:23 +02:00
Michael Mayer 8ccaaff4e5 Backend: Update label photo count and refactor entity fixtures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-10 19:43:49 +02:00
Michael Mayer 4beeebe5cc Backend: Add Hidden column to PhotoAlbum
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 21:00:02 +02:00
Michael Mayer 252e67ce03 Add photo_count column to labels table
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-09 11:00:22 +02:00
Michael Mayer 3aad02501f Run unit tests in separate databases to avoid conflicts
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 19:34:29 +02:00
Michael Mayer 2f28c6840e Backend: Try migrations a second time if they fail
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 18:18:19 +02:00
Michael Mayer 40b7a1285f Backend: Reduce db migration error log level to debug
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 18:02:53 +02:00
Michael Mayer c5dbe1bc14 Backend: Refactor database migration
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 17:45:32 +02:00
Michael Mayer 94dfb3cd19 Add WaitForMigration() function to avoid db test failures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 16:36:09 +02:00
Michael Mayer 05d9187167 Update count in places are restoring photos #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 16:01:34 +02:00
Theresa Gresch aaf1ff64ad Backend: Add tests to internal/entity 2020-05-08 15:46:16 +02:00
Michael Mayer 842da9f09b Backend: Query package refactoring
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 15:41:01 +02:00
Theresa Gresch 0d0ba28331 Backend: Add tests to internal/entity 2020-05-08 14:18:11 +02:00
Michael Mayer 1894b4440f Detect and report photos without primary file, e.g. after purging #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 12:01:28 +02:00
Michael Mayer 3288ede6e6 Simplify Purge() function #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 12:01:28 +02:00
Theresa Gresch dc23632556 Backend: Add tests to internal/entity 2020-05-08 11:46:09 +02:00
Theresa Gresch a136945470 Backend: Add tests to internal/entity 2020-05-08 10:21:03 +02:00
Michael Mayer c0c0c96c30 Remove primary flag for missing files #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-08 09:36:34 +02:00
Michael Mayer 979a5f5c76 Code clean-up and refactoring of purge command #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:55:34 +02:00
Michael Mayer 252672b291 Run purge after indexing files in Web UI #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 21:46:00 +02:00
Michael Mayer f0187df4a1 Purge command to remove missing files from the index #234
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-07 19:42:04 +02:00
Theresa Gresch 5c0d12c4d9 Backend: Add tests to internal/entity 2020-05-07 18:08:12 +02:00
Theresa Gresch 4c6aec9912 Backend: Add tests to internal/entity 2020-05-07 17:29:35 +02:00
Theresa Gresch a0465e0e10 Backend: Add tests to internal/entity 2020-05-07 16:45:33 +02:00
Michael Mayer 1479a3ec5b Refactor indexer so that thumbs and jpegs can be created on demand #258
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-06 10:35:41 +02:00
Theresa Gresch b16216819b Backend: Add test fixtures 2020-05-05 09:28:30 +02:00
Theresa Gresch 5388b785bf Backend: Add tests to internal/api 2020-05-04 17:54:42 +02:00
Theresa Gresch 6e2062ea4b Backend: Add tests to api/labels 2020-05-04 16:02:49 +02:00
Michael Mayer 2032b40f2b Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-03 18:00:50 +02:00
Theresa Gresch d81fe794eb Backend: Add label fixtures 2020-05-03 17:26:26 +02:00
Theresa Gresch 6edb578b34 Backend: Add test fixtures 2020-05-01 14:18:51 +02:00
Theresa Gresch 9e343cef04 Backend: Add fixtures for files 2020-05-01 14:18:51 +02:00
Theresa Gresch 409cea4659 Backend: Add fixtures for photokeywords 2020-05-01 14:18:51 +02:00
Theresa Gresch 5d2c4fa5d6 Backend: Add fixtures for photolabels 2020-05-01 14:18:51 +02:00
Theresa Gresch c0a37ca36a Backend: Add fixtures photoalbum 2020-05-01 14:18:51 +02:00
Theresa Gresch 0008f68b71 Backend: Add fixtures for links 2020-05-01 14:18:51 +02:00
Theresa Gresch 5f33848b14 Backend: Add fixtures for keywords 2020-05-01 14:18:51 +02:00
Theresa Gresch 3127eef80f Backend: Add fixtures for categories 2020-05-01 14:18:51 +02:00
Theresa Gresch 5c86f02106 Backend: Add test fixtures for albums 2020-05-01 14:18:51 +02:00
Theresa Gresch 434948d57a Backend: Add test fixtures for photos 2020-05-01 14:18:51 +02:00
Theresa Gresch 9234c5797a Backend: Add test fixtures for labels 2020-05-01 14:18:50 +02:00
Theresa Gresch 6188c7f736 Backend: Add test fixtures for countries 2020-05-01 14:18:50 +02:00
Theresa Gresch 785d433ba9 Backend: Add test fixtures for cameras 2020-05-01 14:18:50 +02:00
Michael Mayer 59f1c0d786 Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 13:54:47 +02:00
Michael Mayer e3356aa79b Backend: Don't regenerate existing unique IDs
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-05-01 12:57:26 +02:00
Michael Mayer b4a04a478f Backend: Set test database using PHOTOPRISM_TEST_DSN
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 22:39:38 +02:00
Michael Mayer f8de34dac7 Backend: Add account fixtures
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 22:25:53 +02:00
Michael Mayer c30476f120 Backend: Refactor test db initialization
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 21:21:09 +02:00
Michael Mayer 260cca91fe Backend: Refactor entity package
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 20:07:03 +02:00
Michael Mayer eaae910014 Backend: Refactor entity tests
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-30 14:32:48 +02:00
Michael Mayer 3da7719728 Backend: Don't use UTC as unknown time zone
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-29 02:22:59 +02:00
Michael Mayer 428d5f34b5 Backend: Remove event entity until we need it
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 19:44:27 +02:00
Michael Mayer 96098913ff Places: Add support for new keywords field
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-28 19:41:06 +02:00
Michael Mayer 95cc4ec43f Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 17:15:17 +02:00
Michael Mayer 3630a49df0 Backend: Improve metadata indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 16:22:29 +02:00
Michael Mayer 882340a14c Refactor string clipping in frontend & backend
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 14:31:33 +02:00
Michael Mayer 3edf30ab3a Reduce location precision to float32
This is the practical limit of commercial data and should be more than enough for our use case while ideally providing better index performance.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-26 11:41:54 +02:00
Michael Mayer e9948344c0 Backend: Use type varbinary(2) for country
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 16:23:16 +02:00
Michael Mayer e29897715d Change unknown place ID to "zz"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 16:17:59 +02:00
Michael Mayer dab8052b76 make fmt
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 14:55:26 +02:00
Michael Mayer e8e0639d78 Backend: Provide unknown camera & lens as default
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-25 14:22:47 +02:00
Michael Mayer 8609ab805f Automatically set private flag if detect-nsfw is enabled
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 20:28:16 +02:00
Michael Mayer 77cea5d719 Implement score to sort photos by quality #288
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-24 13:21:18 +02:00
Michael Mayer 122e4730a3 Select primary file for grouped photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-21 10:23:27 +02:00
Michael Mayer 360c87c348 Show grouped photos in search results
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 20:07:58 +02:00
Michael Mayer 9f188a7b93 Albums: Set default sort order to "oldest first"
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 12:53:58 +02:00
Michael Mayer f70b506f77 Albums: Save sort order and description
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 10:38:01 +02:00
Michael Mayer 0c3a06d355 Sync: Skip existing files
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-20 07:43:49 +02:00
Michael Mayer b31508e4f3 Refactor & improve editing of photo labels
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-19 01:13:55 +02:00
Michael Mayer d2d3f7eb52 Fix automatic titles for photos without location
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-18 23:48:56 +02:00
Michael Mayer f07064c2c3 Refresh titles, labels and locations
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-18 23:20:54 +02:00
Michael Mayer af3945d2fe Label: Remove log messages
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 23:17:31 +02:00
Michael Mayer 20a5912210 Rename, remove and re-activate labels
Still need to fix label names when re-indexing so that custom names are used, if changed by the user.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 21:20:38 +02:00
Michael Mayer 9a763541ac Keywords: Improve indexing and logging
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-17 14:16:34 +02:00
Theresa Gresch 74e33e1917 Backend: Improve labels 2020-04-16 23:16:55 +02:00
Michael Mayer e3f614bc23 Backend: Update photo title when location or labels change
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 20:57:00 +02:00
Michael Mayer 61ebd1ac90 Locations: Refactor indexing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 18:05:22 +02:00
Michael Mayer 204ae30c90 Keywords: Don't split words with a dash
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-16 15:57:07 +02:00
Michael Mayer 6941028c4f Backend: View and edit archived photos
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-15 14:27:48 +02:00
Michael Mayer 3b27f8d3f4 Skip exact duplicates #283
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-14 15:08:39 +02:00
Michael Mayer a06ac39639 Add "similar" sorting option as proof-of-concept
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-11 12:14:37 +02:00
Michael Mayer a8c48ab40e Initial API and entities for link sharing
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-08 13:24:06 +02:00
Michael Mayer b020b4e415 Sync: Ignore unsupported file types #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-07 10:42:42 +02:00
Michael Mayer 02810ffa94 Sync: Import/index after downloading #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-06 22:09:45 +02:00
Michael Mayer aa220a06fe Backend: Refactor package structure
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-05 22:26:53 +02:00
Michael Mayer c882b56f82 Sync: Download remote files #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-04 17:19:34 +02:00
Michael Mayer 3de78e3124 Sharing: Delete expired files #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-04 13:53:52 +02:00
Michael Mayer 2e5840f3b0 Implement share worker #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-03 18:08:49 +02:00
Michael Mayer 15d32016c6 Sharing: Refactor API and entities #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-02 18:17:07 +02:00
Michael Mayer 1adc144ac2 Backend: Insert shared file into files_share table #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-01 18:17:29 +02:00
Michael Mayer 91b1d7a198 WebDAV sharing proof-of-concept #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-04-01 12:00:45 +02:00
Michael Mayer 5f91d0d17b Add photo share dialog for WebDAV #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-31 17:26:25 +02:00
Michael Mayer 2cd3a3030c Backend: Code clean-up
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-30 13:34:53 +02:00
Michael Mayer 9f400a826c Frontend: Fix account management issues #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-30 09:17:46 +02:00
Michael Mayer b592e67dfa Frontend: Improve account management #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-29 21:24:44 +02:00
Michael Mayer a9ece37feb Backend: Enable service discovery in API #225
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-03-29 12:02:01 +02:00