2025-11-01 15:49:29 +01:00
|
|
|
import { env } from '@api/config/env';
|
2025-06-09 01:38:57 +01:00
|
|
|
|
2025-09-21 19:35:41 +01:00
|
|
|
export * from './rate-limiter';
|
|
|
|
|
|
2025-06-09 01:38:57 +01:00
|
|
|
const {
|
|
|
|
|
CLOUDFLARE_BUCKET_DOMAIN,
|
|
|
|
|
CLOUDFLARE_ACCESS_KEY,
|
|
|
|
|
CLOUDFLARE_SECRET_ACCESS_KEY,
|
2025-09-21 19:35:41 +01:00
|
|
|
CLOUDFLARE_ACCOUNT_ID,
|
|
|
|
|
CLOUDFLARE_RENDERING_API_KEY
|
2025-06-09 01:38:57 +01:00
|
|
|
} = env;
|
|
|
|
|
|
|
|
|
|
export const CLOUDFLARE = {
|
|
|
|
|
CONFIGS: {
|
|
|
|
|
BUCKET_DOMAIN: CLOUDFLARE_BUCKET_DOMAIN!,
|
|
|
|
|
ACCESS_KEY: CLOUDFLARE_ACCESS_KEY!,
|
2025-09-21 19:35:41 +01:00
|
|
|
RENDERING_API_KEY: CLOUDFLARE_RENDERING_API_KEY!,
|
2025-06-09 01:38:57 +01:00
|
|
|
SECRET_ACCESS_KEY: CLOUDFLARE_SECRET_ACCESS_KEY!,
|
|
|
|
|
ACCOUNT_ID: CLOUDFLARE_ACCOUNT_ID!
|
|
|
|
|
},
|
|
|
|
|
R2: {
|
|
|
|
|
BUCKET: 'videos',
|
|
|
|
|
BUCKET_DOMAIN: CLOUDFLARE_ACCOUNT_ID
|
|
|
|
|
? `https://${CLOUDFLARE_ACCOUNT_ID}.r2.cloudflarestorage.com`
|
|
|
|
|
: CLOUDFLARE_BUCKET_DOMAIN!,
|
|
|
|
|
PRESIGN_EXPIRATION_TIME: 60 * 60, // 1 hour
|
2025-09-21 19:35:41 +01:00
|
|
|
DOWNLOAD_EXPIRATION_TIME: 60 * 60 // 1 hour
|
2025-06-09 01:38:57 +01:00
|
|
|
}
|
|
|
|
|
} as const;
|