12345678910111213141516171819202122232425262728293031323334353637 |
- import express from 'express'
- import { buildLogger } from '@server/helpers/logger.js'
- import { getResumableUploadPath } from '@server/helpers/upload.js'
- import { CONFIG } from '@server/initializers/config.js'
- import { LogLevel, Uploadx } from '@uploadx/core'
- import { extname } from 'path'
- const logger = buildLogger('uploadx')
- const uploadx = new Uploadx({
- directory: getResumableUploadPath(),
- expiration: { maxAge: undefined, rolling: true },
- // Could be big with thumbnails/previews
- maxMetadataSize: '10MB',
- logger: {
- logLevel: CONFIG.LOG.LEVEL as LogLevel,
- debug: logger.debug.bind(logger),
- info: logger.info.bind(logger),
- warn: logger.warn.bind(logger),
- error: logger.error.bind(logger)
- },
- userIdentifier: (_, res: express.Response) => {
- if (!res.locals.oauth) return undefined
- return res.locals.oauth.token.user.id + ''
- },
- filename: file => `${file.userId}-${file.id}${extname(file.metadata.filename)}`
- })
- export {
- uploadx
- }
|