1
Fork 0
Commit Graph

352 Commits

Author SHA1 Message Date
viktorstrate 4bc50583d2
Add db max open connections again 2021-01-19 16:59:10 +01:00
viktorstrate de35a06014
Add db resolver for media.exif 2021-01-19 16:46:15 +01:00
viktorstrate 46ae5115bb
Refactor EXIF parsing 2021-01-19 16:39:57 +01:00
viktorstrate 9691572154
Fix bug causing video routes to not be found 2021-01-19 16:04:33 +01:00
viktorstrate dcca5becb5
Rewrite db retry to reconfigure database on error 2021-01-19 15:49:03 +01:00
viktorstrate 52e8013026
Fix sql compatibility problem when running in Docker 2021-01-17 18:12:32 +01:00
viktorstrate 107da91700
Refactor handling of environment variables 2021-01-17 16:50:48 +01:00
viktorstrate 621ad00fff
Update example.env with sqlite comments 2021-01-17 13:15:41 +01:00
viktorstrate 50d0aa0efb
Disable multithreaded scanners for sqlite
as it's not reliable
2021-01-17 13:08:44 +01:00
viktorstrate fcdb5b4e7b
Work on sqlite support 2021-01-17 12:45:23 +01:00
viktorstrate f711da4d9c
Merge branch 'v2.0.0' into v2/multi-database-support 2021-01-17 12:21:32 +01:00
stz184 26f2b753b7 Prefixed the env variables to avoid naming collisions 2021-01-16 23:27:23 +02:00
Vladimir Ivanov 85ce3a1018
Update api/database/database.go
Co-authored-by: Viktor Strate Kløvedal <viktorstrate@gmail.com>
2021-01-16 19:35:02 +02:00
stz184 5b7637cb3c Added db connection retry logic 2021-01-12 20:14:28 +02:00
viktorstrate 41b122c461
Start on sqlite support
- TODO: Sqlite doesn't support MD5, all calls to this function should be done
  beforehand.
2021-01-10 18:59:01 +01:00
viktorstrate 820ae78563
Delete old migrations 2021-01-10 18:29:33 +01:00
viktorstrate a1a14286d6
Properly clean up when a user <-> album relation is deleted 2021-01-06 17:28:06 +01:00
viktorstrate 59048c8416
Fix various small errors regarding database change
- Fix media sidebar
- Fix Albums page
- Fix media and album shares
2021-01-02 23:07:44 +01:00
viktorstrate d78cef300a
Finish add/remove root paths 2020-12-31 00:37:11 +01:00
viktorstrate c198e68daf
Hook up UI to add and remove multiple root paths for each user 2020-12-30 18:36:26 +01:00
viktorstrate 96546f6556
Add resolvers for user albums and root_albums 2020-12-27 20:07:54 +01:00
viktorstrate aeb05bca49
get initial scanner up and running 2020-12-22 01:14:43 +01:00
viktorstrate 732ccd05ab
restructure user <-> albums relations in database 2020-12-20 17:10:00 +01:00
viktorstrate d815472458
Simplify search query a little 2020-12-19 09:45:43 +01:00
stz184 e5cb91532a implicitly join on the Album table 2020-12-19 01:07:43 +02:00
stz184 3ce4ab02cc Migrated the search to gorm 2020-12-19 00:50:29 +02:00
viktorstrate b38d7ab29a
Fix periodic scanner
and small bug related to user resolver
2020-12-17 23:21:51 +01:00
viktorstrate 907894dda3
Merge branch 'master' into v2.0.0 2020-12-17 23:18:00 +01:00
viktorstrate 4cd822f068
Update gomod to reflect repo transfer 2020-12-17 22:51:43 +01:00
viktorstrate 2903670255
Migrate album and media sharing 2020-12-17 22:29:24 +01:00
viktorstrate 092cbdb872
Migrate FormatSQL 2020-12-17 21:32:13 +01:00
stz184 7546987f85 Fixed issue that caused runtime error: invalid memory address or nil pointer dereference
because the sidecar file was trying to process before the highResMediaURL and thumbURL are actually created
2020-12-15 02:25:30 +02:00
viktorstrate 48c3ed93f2
Fix api tests 2020-12-14 10:41:00 +01:00
viktorstrate 4f370deab9
Merge remote-tracking branch 'origin/master' into v2.0.0 2020-12-10 12:30:10 +01:00
viktorstrate 4980a77efb
Properly merge SiteInfo in Apollo cache
This solves #146
2020-12-09 16:58:40 +01:00
Vladimir Ivanov 6adc79001c
Photo duplication detection (#148)
* Fixes viktorstrate/photoview#8
- Added new property CounterpartPath to Media struct to hold the path to the counterpart JPEG file (if any)
- Added new MediaType method isBasicSupportedisBasicTypeSupported()
- Added new function isFileExists() to minimize the code duplication

* Fixes viktorstrate/photoview#8
- Chaned CounterpartPath definition from string to *string
- Added new helper method FileExtensions()
- Simplified the logic inside scanForRawCounterpartFile() and scanForCompressedCounterpartFile() functions, reducing the code duplication

* Fixes viktorstrate/photoview#8
- Added debug to fileExists() function

* Cleanup fileExists logging

Co-authored-by: viktorstrate <viktorstrate@gmail.com>
2020-12-09 11:40:37 +01:00
viktorstrate 1fbdaf101f
Update dependencies 2020-12-08 16:35:39 +01:00
viktorstrate f0d580116b
Improve album and media resolvers 2020-12-08 16:24:08 +01:00
viktorstrate b13873f48d
Fix error that caused infinite CPU loop 2020-12-06 16:54:19 +01:00
viktorstrate 4b778fbdde
Fix tests, fix photo route 2020-12-06 15:24:15 +01:00
viktorstrate 98f13d76e6
Replace database, work on scanning 2020-11-30 21:29:49 +01:00
viktorstrate 364521958b
Fix site_info, replace ID type in graphql queries 2020-11-30 16:42:13 +01:00
viktorstrate 31da5e1c07
Replace database, initial setup now works 2020-11-28 21:49:33 +01:00
viktorstrate e42ac2436b
Replace database, resolve all build-time errors 2020-11-28 21:29:31 +01:00
viktorstrate d3ebecc3b5
Replace database, mostly user related 2020-11-28 17:31:19 +01:00
viktorstrate 22e328b94b
Replace database, mostly share token 2020-11-27 16:02:10 +01:00
viktorstrate 2b966aa672
Replace database, mostly media and video 2020-11-26 20:48:04 +01:00
viktorstrate 177ae91500 Replace database, mostly video 2020-11-25 23:06:47 +01:00
viktorstrate cc5d323b2a Replace database, mostly process photo 2020-11-24 11:46:49 +01:00
viktorstrate 2e9aa29258 Replace database, mostly media related 2020-11-23 20:43:00 +01:00
viktorstrate 3c23f82330 Replace database, mostly album related 2020-11-23 19:59:01 +01:00
viktorstrate 27b2f95a7b Start on migrating database integration to gorm 2020-11-23 19:39:44 +01:00
viktorstrate 9787fd570f Cleanup and bugfixes
- Fix bug where unsupported media would be wrongly classified
- Fix bug where sidecar hash wouldn't be updated
- Replace error reporting hash with path,
to avoid potential null pointer exceptions
2020-11-22 23:42:42 +01:00
sean borg 8d2932dc4d Typo fix 2020-11-22 09:22:01 +00:00
sean borg 43e759339e Update generated images on sidecar file change 2020-11-21 12:19:00 +00:00
sean borg 11d67c9ae9 Add sidecar path & hash to DB 2020-11-21 11:54:01 +00:00
viktorstrate c7ee506189 Improve media download
Allow downloading of media when no content-length is provided because of compression.
2020-11-16 12:40:06 +01:00
viktorstrate 897706b54a Update dependencies 2020-11-13 09:19:49 +01:00
viktorstrate 74581ee090 Cleanup media routes and media_name generation 2020-10-30 17:14:09 +01:00
stz184 53b323640f Fixes viktorstrate/photoview#71
In order to prevent SQL injections and , reveal information about the database tables avoid passing MySQL functions as GQL sorting parameters, I refactored the FormatSQL() function.
Additionally, the old approach with using regex to filter the orderBy parameter was not effective and prevented using column.table annotations.
2020-10-13 18:27:28 +03:00
stz184 f14bdd6b3f Fixes viktorstrate/photoview#71
Regex changed in order to actually allow ordering by columns annotated as table.column
2020-10-11 18:17:49 +03:00
viktorstrate 940e48fee3 Enable http compression for API 2020-10-04 16:34:47 +02:00
viktorstrate 4fe0608194 Setup cache headers for photo routes 2020-09-30 14:08:30 +02:00
viktorstrate b5e640c1bd Add graphql query for getting media from an array of ids
- Add keyboard navigation when presenting images in map view
2020-09-27 20:52:09 +02:00
viktorstrate db64d3eb1b Merge branch 'master' into geographic-map-page 2020-09-27 20:08:43 +02:00
Viktor Strate Kløvedal a0ee666616
Merge pull request #76 from stz184/favorites-checkobox-on-photos-and-album-page-viktorstrate/photoview#6
Fixes viktorstrate/photoview#6
2020-09-27 18:34:46 +02:00
viktorstrate 0a314b8e1d Add geojson graphql endpoint, work on mapbox 2020-09-27 00:46:01 +02:00
viktorstrate 534b95edcb Set defaults for new migrations,
to ensure updating photoview is seemless
2020-09-25 19:31:35 +02:00
viktorstrate b133a1846c Fix bug with max worker jobs
Fix bug where it was possible to set max scanner worker jobs to 0,
resulting in the scanner not processing any jobs.
2020-09-25 19:21:03 +02:00
viktorstrate bbff25973e Fix bug where max_concurrent_tasks for...
scanner queue would be initialized to 0.
2020-09-24 17:52:53 +02:00
viktorstrate 44a00c7415 Move setup of executable workers to function
- Fix startup crash if no site_info row was found
2020-09-23 14:34:26 +02:00
viktorstrate d09bb3b99e Fix database compatibility issues with arm (#88)
- Change max key-length of username to 128
- Fix minor syntax error
2020-09-23 13:18:46 +02:00
viktorstrate 9861788ce7 Update gqlgen to v0.13.0 and regenerate 2020-09-22 09:46:35 +02:00
dependabot[bot] 0a50e6ed79
api (gomod): bump github.com/vektah/gqlparser/v2 in /api
Bumps [github.com/vektah/gqlparser/v2](https://github.com/vektah/gqlparser) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/vektah/gqlparser/releases)
- [Commits](https://github.com/vektah/gqlparser/compare/v2.0.1...v2.1.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-21 19:50:21 +00:00
viktorstrate 9c9807ecc9 Add admin setting to change max concurrent workers 2020-09-21 21:32:30 +02:00
viktorstrate 05380354e3 Setup periodic scan background runner 2020-09-21 12:34:56 +02:00
viktorstrate 167ff4b8c4 Update periodic scanner value from UI 2020-09-21 11:50:39 +02:00
viktorstrate 679dc70340 Prepare for periodic scan intervals
Add setting to database, and to graphql api
2020-09-20 22:19:25 +02:00
stz184 23d9d27764 Merge branch 'master' of github.com:viktorstrate/photoview into favorites-checkobox-on-photos-and-album-page-viktorstrate/photoview#6 2020-09-11 22:00:27 +03:00
viktorstrate 66beadee0c Update api dependencies 2020-09-07 17:04:15 +02:00
stz184 75e43aae80 Merge branch 'master' of github.com:viktorstrate/photoview into favorites-checkobox-on-photos-and-album-page-viktorstrate/photoview#6 2020-09-07 13:08:25 +03:00
stz184 d7e6ab9cf3 Fixes viktorstrate/photoview#6
- Added favorites toggle on both Album and Photos page
- When the favorites are viewed, the URL changes
- Removed unused variable activeImage
- Added match.params propTypes to AlbumPage component
2020-09-07 13:04:14 +03:00
viktorstrate f2493c80a5 Fix small bug where CleanupMedia...
would not remove old media if the album
did not contain any media at all but only sub-albums
2020-08-15 13:58:03 +02:00
viktorstrate 8e7c43798a Rotate images properly
This fixes #64 where some thumbnail images
would not have the correct orientation.
2020-08-15 12:24:54 +02:00
viktorstrate e59ff9cbde Fix NewMediaFromRows 2020-08-15 11:59:44 +02:00
viktorstrate e0ab77b158 Use file modTime instead of changeTime...
to determine the date_shot value of pictures.
This value is cross-platform,and probably a
better representation for the date_shot
2020-08-14 12:20:14 +02:00
viktorstrate 78b415871d Add date information to media
This closes #61
2020-08-12 13:04:41 +02:00
viktorstrate cdb4089f19 Ignore hidden media files
This closes #57
2020-08-12 12:31:13 +02:00
viktorstrate 020321959d Show file size for media downloads
This closes #63
2020-08-11 22:34:42 +02:00
viktorstrate 849f2f25bf Add fileSize to media_url database entries 2020-08-11 22:18:15 +02:00
viktorstrate b52595fe46 Save gps coordinates from exif
This closes #62
2020-08-11 14:46:23 +02:00
viktorstrate 91a6b4de08 Merge database migrations...
...in preparation of v1.0.0. This fixes #60
2020-08-11 14:31:04 +02:00
viktorstrate 01bec379c7 Move `deleteOldUserAlbums` function to `cleanup_media.go` 2020-08-03 19:39:39 +02:00
stz184 e89c84f45f When a photo is deleted or moved on the file system, the coresponding cache folder and database record are deleted.
fixes #56
2020-07-24 20:50:17 +03:00
viktorstrate 3e4b232b1e Update migration to support mariadb 10.5.2 and newer
To support the database configuration used in docker-compose.example.yml
2020-07-15 10:45:33 +02:00
viktorstrate 07477ea789 Remove debug log 2020-07-13 18:15:23 +02:00
viktorstrate 82b18f0e9b Cleanup + add video format 2020-07-13 18:01:31 +02:00
viktorstrate 21f66b9e62 Use cookie based auth for shares with password 2020-07-13 17:51:53 +02:00
viktorstrate f669812efb Use cookies for authentication instead of header
This replaces the current implementation
where a bearer header holds the auth-token.
Now the same token is being sent using a cookie instead.
This greatly simplifies fetching resources (images and video),
since the header is sent along implicitly with each request.
2020-07-12 18:52:48 +02:00
viktorstrate d681d1538c Cleanup regarding video support 2020-07-12 14:31:50 +02:00