aboutsummaryrefslogtreecommitdiffstats
path: root/src/app/api/s3-upload/route.ts
blob: ee3fb7293150c2c2c9879bffaeea0cbf2e61e15c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import { randomId } from '@/lib/api'
import { env } from '@/lib/env'
import { POST as route } from 'next-s3-upload/route'

export const POST = route.configure({
  key(req, filename) {
    const [, extension] = filename.match(/(\.[^\.]*)$/) ?? [null, '']
    const timestamp = new Date().toISOString()
    const random = randomId()
    return `document-${timestamp}-${random}${extension.toLowerCase()}`
  },
  endpoint: env.S3_UPLOAD_ENDPOINT,
  // forcing path style is only necessary for providers other than AWS
  forcePathStyle: !!env.S3_UPLOAD_ENDPOINT,
})