Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Added new provider for album authorisation * Re-used logic for smart album access from album itself * Removed reverse relation from base class to child class. * Migration renames `viewable` to `requires_link` * Corrected type of attribute `public` of class `Photo` * Complete overhaul of migration due to anoying bugs * Created class FakeModel to work around certain PHP restrictions related to inheritence and using traits. * Repaired upload check * Corrected documentation of method signature * Clean up of tests (missing/mismatching documentation, unused parameters, ...) * Fixed ForwardToParentImplementation for newly created models. * Fixed a bug. * Updated base and child classes such that attributes goes into the correct model. * Fixed bug in albums. * Corrected HTTP return codes * Fixed ownership update during move * Added support to eagerly load photos and sub-albums (if applicable) of an album. * Fixed authorization if no user is logged in. * Fixed eager loading for single models * Fixed returned JSON array. * Added missing method description * Fixed validation in album controller * Fixing more tests and silly bugs * Fixed password for unlock, return results of album controller and tests * Fixed deletion of album * Corrected filter queries for albums (queried properties are actually defined on base class) * Removed handler for model not found * Fixed return results. * Fixed referenced table in diagnostics * Clean up of tests * Beautification of Photo controller * Fixed caching bug * Cleanup of test * Fixed return type and comment * Fixed tests * Fixed installation test * Cleaned up notifications. * Added rules for IDs * Fixed a lot of tests. * Fixed name of DB column, fixed missing DB columns, fixed test. * Corrected spelling * Fixed photo test * Fixed test * Fixed user tests * All tests running again. * Converted taken_at_min and taken_at_max into a relation. * Revert "Converted taken_at_min and taken_at_max into a relation." This reverts commit cf75b97. * Added virtual attributes to TagAlbum * Fixed smart albums * Fixed Albums::getTree * Fixed type error for next and previous photo ID. * Fixed sharing * Fixed bug concerning owner_id * Fixed name of parameters for album sorting * Fixed photo sorting. * Fixed boolean for get position data. * Improved performance of AlbumAuthorisationProvider. * Improved performance of SQL queries * Created custom album query. * Fixed test for position data. * Removed unnessary trait after global scope of albums become query builder * Moved max-taken_at and min_taken_at to correct class. * Renaming of album related classes * Created class PhotoAuthorisationProvider and refactored other classes to use it. * Moved edit checks into correct classes. * Moved sorting logic to decorator. * Renamed attributes * Removed conflicting casts and get mutator * Added user agent for downloads initiated by PHP * Use correct rule for album IDs upon import * Updated front-end for correct import * Updated front-end * Fixed password input * Resolved some todos with respect to photo authorisation. * Resolved ToDo for TagAlbum * Performance improvement for Albums::get * Added downgrade migration. * Fixed migration. * Fixed migration anew. * Fixed downgrade migration. * And another fix. Grmpf. * I'm tired of PHP and Laravel which use fragile strings everywhere * Fixed a strange bug in an old migration. * Next try. * Why does an old migration suddenly fail?! * Why do we have NULL values for _lft, _rgt during migration?! * Fixes. * Fixed imgDirection --> img_direction and default value `description`. * Changed default for column `tags` due silly constraints on old MySQL versions. * Remove foreign constraint on downgrade * Removed more foreign constraints on downgrade. * Fixed bugs which do suprisingly not trigger a failed test for SQLite * Created new PhpStorm meta file * Fixed Archive::do * Fixed a strange error on PosgreSQL which resultet into unintended photo duplication. * Fixed migration. * Fixed typos discovered by @kamil4. * Added album query for browseable albums. * Fixed error in search * Fixed search restriction for admin * Modify the original album query, do not create a new one * Tentatively fixed incompatible types in API * Fixed table reference * Fixed search of unsorted albums for admin user. * Added forgotten commit * Reverted visbility filter * Fixed logic for maySeeUnsorted as pointed out by @kamil4. * Aliased inner join table. * Added a JOIN clause to check explicitly if the target album is accessible which is not checked, if the origin is also a target * Fixed browsability filter to check accessibility of origin. * Fixed accidental leakage of thumbnails of password-protected albums. * Fixed bug in migration script * Replaced ->whereHas with more efficient ->join * Turned thumbnails of real albums into a relation (query is wrong though) * Fixed query for HasAlbumThumb * Renamed column and table aliases to prepare merge with authorisation providers. * Removed unecessary boolean flag. * PhotoAuthorisationProvider only joins with necessary tables * Prepared Photo and AlbumAuthorizationProvider for HasAlbumThumb. * HasAlbumThumb uses AlbumAuthorizationProvider * Fixed HasAlbumThumb to only return thumbs of albums which are accessible. * Fixed two bugs which are only triggred by the MySQL tests of our CI. * A lot of fixes due to @kamil4 (mostly typos and spelling errors) * Revised architecture which avoids to re-implement parts of a model for smart albums * Moved identical methods from TagAlbum and Album to BaseAlbum. * Removed unnecessary code for album deletion which would only be required if we had mixed ownerships of albums, sub-albums and photos * Added optimization of autoloader to Github workflows * Fixed ordering of album thumb. * Migrated to our own fork of NestedSet * Fixed thumb relation for albums to honor explicitly set covers. * Fixed version of Spatie which cannot honor semantic versioning. * Synced front-end * Fixes due to comments by @ildyria and @kamil4. * Fixed a bug wrt. sorting Collection::sortBy does not re-sort the items in-place but returns a new sorted instance. * Fixed the previous fix. :-( * Moved migration to to end * Fixed migration. * Fixed bug with multiple appearing albums and photos. * Corrected comment. * Synced front-end * Merged migration script for photos and albums into a single migration script. * Removed unnessary `size_variants_raw` and replaced with customized relation * Workaround for randomly and strangly failing test on Github workflows. * Trivial renaming from `size_variant.size_variant` into `size_variant.type` to avoid confusion. * More consistent return values. * Sync changed front-end * Removed listener from photo and added code diretly to `delete` * Removed observer for photo and integrated logic for delete directly into photo. * Removed observer for SizeVariant and added code diretly to `delete. * Removed strange "Notifiable" trait from symbolic links. * Removed observer for symbolic link and moved to code directly into model. * Removed observer from HasTimeBasedID * Apply fixes from PHP-CS-Fixer (#1159) Co-authored-by: Matthias Nagel <[email protected]> Co-authored-by: github-actions[bot] <[email protected]> * Added some syntactic sugar introduced by PHP 8 * Fixed problem with new version of Spatie * MOved migration to end. * Fixed failing foreign key in migration script. * Fixed an old database migration script. * Fixes timestamps * update codecov.yml (#1158) * update codecov.yml * fix readme * Added random ID as primary key to photos and albums * Added some indices after analyzing @ildyria's sample database. * More fancy indices to speed up Lychee. * Fixed another error caused by this stupid Laravel Collections * Fixed console command to reset admin password. * Sorting according to upload/creation time uses column "created_at" not "id". * Fixed an overlooked test (why didn't it failed in previous runs?!) * Fixed some overlooked integer IDs * Fixed another overlooked, broken test * Bring some API aspects forward to avoid another migration. * Removed setting of SQL mode from migration. * Fixed some left overs which still assumed numeric IDs * Fix the restoring of explicit covers of albums * Added updated front-end. * Fixed bug which denied non-admin users with the upload right to create root albums. * Fixed bug such that admin sees thumbnails of albums of other users * Fixed grouping by owner for shared albums. * Apply suggestions from code review Co-authored-by: Benoît Viguier <[email protected]> * Fixed a bug in the view controller. * Added redirection support for legacy IDs. * Fixed redirection test and cleanup of redirection code. * Added support for translation of legacy IDs by front-end * Synced with @kamil4's recent changes to the front-end * Made search results being sorted * Synced @kamil4's changes of the front-end. * Fixed issue with sorting of public albums wrt. to anonymous users. * Fixed bug which prevented uploading to root/unsorted. * Fixed bug which leaked unsorted photos. * Upgrade to timestamps with microsecond resolution. * Workaround for a silly Laravel bug in the migration. * Added id/time-conversion and made migration fancy * Set creation time of photos after upload not after processing. * Fixed tests due to more accurate timestamps * Allow null albumID for setAlbum and duplicate * fix timestamps for page_content * Fixed copy-to for root album. * Fixed foreign constraint when a cover photo is deleted. * Allow unprivilege users to unset album covers (i.e. use the `null` photo as cover) * Made migration a little bit more robust wrt. to a former Lychee bug * Fixed test case for photo duplication. * Allow uploading to the Recent smart album * Clean up the mess left by the front end * Support null albumID * Fixed missing sorting in case album uses default sorting. * Revert "Clean up the mess left by the front end" This reverts commit 3b5dc1c. * Synced front-end * Support to translate all legacy model IDs in a single request. * Sync with front-end * Only use SORT_NATURAL on string columns * Don't serialize owner_id * Support serializing default sorting and hiding it * Fix findWhereIDsIn for smart albums * Restore checking downloadable flag of parent album * Don't serialize owner_id of photos either * Fix the serialization of sorting info * Turn empty album description into null * Use the same sorting as Top * Fix #1187 * Synced front-end * Removed unnessary Laravel mutators for sortigng We have getEffectiveSorting[Column|Order] instead. * Fixed some type cast warnings * Fixed wrong configuration option in `getEffictiveSorting[Column|Order]` * Fix a crash with skip_duplicates enabled * Made album deletion mor robust. * Fixed album deletion bug. * Fixed a bug wrt. to skip duplicates. * Fix skip_duplicates for import from server * Fix ownership for album moves and merges * Fixed a bug when creating the tree of albums. * Fixed move-to and merge operations. * Save updates after auto-rotation * Reset file permissions on the original file * Added a missing `save` after adding a Google Motion Picture * Fix deleting Unsorted for non-admins * Reverted accidental change of checksum upon rotation + sync of front-end * Migrate ISO values * Fixed visibility of albums in tree. * Improved/extended checksum handling. * Enable redirection by default + sync of front-end. * DB version increased. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <[email protected]> Co-authored-by: Benoît Viguier <[email protected]> Co-authored-by: kamil4 <[email protected]> Co-authored-by: ildyria <[email protected]>
- Loading branch information