mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			29 lines
		
	
	
		
			860 B
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			860 B
		
	
	
	
		
			TypeScript
		
	
	
import { CONFIG } from '@server/initializers/config'
 | 
						|
import { THUMBNAILS_SIZE } from '@server/initializers/constants'
 | 
						|
import { ThumbnailModel } from '@server/models/video/thumbnail'
 | 
						|
import { MThumbnail } from '@server/types/models'
 | 
						|
import { ThumbnailType } from '@shared/models'
 | 
						|
import { AbstractPermanentFileCache } from './shared'
 | 
						|
 | 
						|
export class VideoMiniaturePermanentFileCache extends AbstractPermanentFileCache<MThumbnail> {
 | 
						|
 | 
						|
  constructor () {
 | 
						|
    super(CONFIG.STORAGE.THUMBNAILS_DIR)
 | 
						|
  }
 | 
						|
 | 
						|
  protected loadModel (filename: string) {
 | 
						|
    return ThumbnailModel.loadByFilename(filename, ThumbnailType.MINIATURE)
 | 
						|
  }
 | 
						|
 | 
						|
  protected getImageSize (image: MThumbnail): { width: number, height: number } {
 | 
						|
    if (image.width && image.height) {
 | 
						|
      return {
 | 
						|
        height: image.height,
 | 
						|
        width: image.width
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    return THUMBNAILS_SIZE
 | 
						|
  }
 | 
						|
}
 |