aboutsummaryrefslogblamecommitdiffhomepage
path: root/server/lib/files-cache/video-miniature-permanent-file-cache.ts
blob: 35d9466f70eb9093499fb1229ca044b97827fa7e (plain) (tree)



























                                                                                              
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
  }
}