mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	refactor(server): download assets (#3032)
* refactor: download assets * chore: open api * chore: finish tests, make size configurable * chore: defualt to 4GiB * chore: open api * fix: optional archive size * fix: bugs * chore: cleanup
This commit is contained in:
		@@ -16,6 +16,7 @@ export enum Permission {
 | 
			
		||||
  ALBUM_UPDATE = 'album.update',
 | 
			
		||||
  ALBUM_DELETE = 'album.delete',
 | 
			
		||||
  ALBUM_SHARE = 'album.share',
 | 
			
		||||
  ALBUM_DOWNLOAD = 'album.download',
 | 
			
		||||
 | 
			
		||||
  LIBRARY_READ = 'library.read',
 | 
			
		||||
  LIBRARY_DOWNLOAD = 'library.download',
 | 
			
		||||
@@ -68,6 +69,10 @@ export class AccessCore {
 | 
			
		||||
        // TODO: fix this to not use authUser.id for shared link access control
 | 
			
		||||
        return this.repository.asset.hasOwnerAccess(authUser.id, id);
 | 
			
		||||
 | 
			
		||||
      case Permission.ALBUM_DOWNLOAD: {
 | 
			
		||||
        return !!authUser.isAllowDownload && (await this.repository.album.hasSharedLinkAccess(sharedLinkId, id));
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // case Permission.ALBUM_READ:
 | 
			
		||||
      //   return this.repository.album.hasSharedLinkAccess(sharedLinkId, id);
 | 
			
		||||
 | 
			
		||||
@@ -122,6 +127,12 @@ export class AccessCore {
 | 
			
		||||
      case Permission.ALBUM_SHARE:
 | 
			
		||||
        return this.repository.album.hasOwnerAccess(authUser.id, id);
 | 
			
		||||
 | 
			
		||||
      case Permission.ALBUM_DOWNLOAD:
 | 
			
		||||
        return (
 | 
			
		||||
          (await this.repository.album.hasOwnerAccess(authUser.id, id)) ||
 | 
			
		||||
          (await this.repository.album.hasSharedAlbumAccess(authUser.id, id))
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
      case Permission.LIBRARY_READ:
 | 
			
		||||
        return authUser.id === id || (await this.repository.library.hasPartnerAccess(authUser.id, id));
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user