diff --git a/src/auth/auth.ts b/src/auth/auth.ts index 09a5dc0..27beadd 100644 --- a/src/auth/auth.ts +++ b/src/auth/auth.ts @@ -4,6 +4,7 @@ import { PrismaClient } from '@prisma/client'; import { admin } from 'better-auth/plugins'; import { applyFileCleanup } from '../prisma/file-cleanup.helper'; +import { config } from '../shared/config/config'; const prisma = new PrismaClient(); applyFileCleanup(prisma); @@ -27,12 +28,12 @@ export const auth = betterAuth({ sendOnSignIn: true, autoSignInAfterVerification: true, }, - trustedOrigins: ['http://localhost:5173', 'http://localhost:5174'], + trustedOrigins: config.trustedOrigins, socialProviders: { google: { prompt: 'select_account', - clientId: process.env.GOOGLE_CLIENT_ID!, - clientSecret: process.env.GOOGLE_CLIENT_SECRET!, + clientId: config.googleClientId, + clientSecret: config.googleClientSecret, }, }, }); diff --git a/src/file/file.module.ts b/src/file/file.module.ts index 2ee616b..67165c2 100644 --- a/src/file/file.module.ts +++ b/src/file/file.module.ts @@ -5,6 +5,7 @@ import { FileController } from './file.controller'; import { PrismaService } from 'src/prisma/prisma.service'; import { LocalStorageProvider } from './storage-providers/local-storage.provider'; import { CloudinaryStorageProvider } from './storage-providers/cloudinary-storage.provider'; +import { config } from '../shared/config/config'; @Module({ controllers: [FileController], @@ -14,7 +15,7 @@ import { CloudinaryStorageProvider } from './storage-providers/cloudinary-storag { provide: 'StorageProvider', useFactory: () => { - switch (process.env.FILE_DRIVER) { + switch (config.fileDriver) { case 'cloudinary': return new CloudinaryStorageProvider(); default: diff --git a/src/file/storage-providers/cloudinary-storage.provider.ts b/src/file/storage-providers/cloudinary-storage.provider.ts index 311df6e..63ba48f 100644 --- a/src/file/storage-providers/cloudinary-storage.provider.ts +++ b/src/file/storage-providers/cloudinary-storage.provider.ts @@ -1,11 +1,12 @@ // src/file/storage-providers/cloudinary-storage.provider.ts import { IStorageProvider } from './storage-provider.interface'; import { v2 as cloudinary } from 'cloudinary'; +import { config } from '../../shared/config/config'; cloudinary.config({ - cloud_name: process.env.CLOUDINARY_CLOUD_NAME, - api_key: process.env.CLOUDINARY_API_KEY, - api_secret: process.env.CLOUDINARY_API_SECRET, + cloud_name: config.cloudinary.cloudName, + api_key: config.cloudinary.apiKey, + api_secret: config.cloudinary.apiSecret, }); export class CloudinaryStorageProvider implements IStorageProvider { diff --git a/src/prisma/file-cleanup.helper.ts b/src/prisma/file-cleanup.helper.ts index e2284ec..bac23fb 100644 --- a/src/prisma/file-cleanup.helper.ts +++ b/src/prisma/file-cleanup.helper.ts @@ -1,9 +1,10 @@ import { PrismaClient } from '@prisma/client'; import { LocalStorageProvider } from '../file/storage-providers/local-storage.provider'; import { CloudinaryStorageProvider } from '../file/storage-providers/cloudinary-storage.provider'; +import { config } from '../shared/config/config'; const getStorageProvider = () => { - if (process.env.FILE_DRIVER === 'cloudinary') { + if (config.fileDriver === 'cloudinary') { return new CloudinaryStorageProvider(); } return new LocalStorageProvider(); diff --git a/src/shared/config/config.ts b/src/shared/config/config.ts index fa1f609..6cf76b5 100644 --- a/src/shared/config/config.ts +++ b/src/shared/config/config.ts @@ -25,7 +25,7 @@ for (const varName of requiredEnv) { export const config = { betterAuthSecret: process.env.BETTER_AUTH_SECRET!, betterAuthUrl: process.env.BETTER_AUTH_URL!, - trustedOrigins: process.env.TRUSTED_ORIGINS!.split(','), + trustedOrigins: process.env.TRUSTED_ORIGINS!.split(',').map(origin => origin.trim()).filter(origin => origin.length > 0), googleClientId: process.env.GOOGLE_CLIENT_ID!, googleClientSecret: process.env.GOOGLE_CLIENT_SECRET!, fileDriver: process.env.FILE_DRIVER,