import { Model } from 'sequelize-typescript'
-import * as Bluebird from 'bluebird'
import { logger } from '@server/helpers/logger'
type ModelCacheType =
'local-account-name'
| 'local-actor-name'
| 'local-actor-url'
- | 'video-immutable'
+ | 'load-video-immutable-id'
+ | 'load-video-immutable-url'
type DeleteKey =
'video'
'local-account-name': new Map(),
'local-actor-name': new Map(),
'local-actor-url': new Map(),
- 'video-immutable': new Map()
+ 'load-video-immutable-id': new Map(),
+ 'load-video-immutable-url': new Map()
}
private readonly deleteIds: {
doCache<T extends Model> (options: {
cacheType: ModelCacheType
key: string
- fun: () => Bluebird<T>
+ fun: () => Promise<T>
whitelist?: () => boolean
deleteKey?: DeleteKey
}) {
if (cache.has(key)) {
logger.debug('Model cache hit for %s -> %s.', cacheType, key)
- return Bluebird.resolve<T>(cache.get(key))
+ return Promise.resolve<T>(cache.get(key))
}
return fun().then(m => {