1 import express from 'express'
2 import { buildLogger } from '@server/helpers/logger'
3 import { getResumableUploadPath } from '@server/helpers/upload'
4 import { CONFIG } from '@server/initializers/config'
5 import { LogLevel, Uploadx } from '@uploadx/core'
7 const logger = buildLogger('uploadx')
9 const uploadx = new Uploadx({
10 directory: getResumableUploadPath(),
12 expiration: { maxAge: undefined, rolling: true },
14 // Could be big with thumbnails/previews
15 maxMetadataSize: '10MB',
18 logLevel: CONFIG.LOG.LEVEL as LogLevel,
19 debug: logger.debug.bind(logger),
20 info: logger.info.bind(logger),
21 warn: logger.warn.bind(logger),
22 error: logger.error.bind(logger)
25 userIdentifier: (_, res: express.Response) => {
26 if (!res.locals.oauth) return undefined
28 return res.locals.oauth.token.user.id + ''