Moved DB config to ENV (#4)

Co-authored-by: Joe Arndt <jmarndt@users.noreply.github.com>
Reviewed-on: #4
This commit is contained in:
Joe 2026-02-09 22:31:15 +00:00
parent 6600745072
commit 164e51bf03
10 changed files with 431 additions and 80 deletions

View file

@ -1,29 +1,29 @@
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm';
import { TypeOrmModule } from '@nestjs/typeorm';
import { MerchantsModule } from './merchants/merchants.module';
import { Merchant } from './merchants/entities/merchant.entity';
import { TagsModule } from './tags/tags.module';
import { Tag } from './tags/entities/tag.entity';
import { CategoriesModule } from './categories/categories.module';
import { Category } from './categories/entities/category.entity';
import { SubCategoriesModule } from './sub-categories/sub-categories.module';
import { SubCategory } from './sub-categories/entities/sub-category.entity';
import { ExpensesModule } from './expenses/expenses.module';
import { Expense } from './expenses/entities/expense.entity';
const entities = [Merchant, Tag, Category, SubCategory, Expense];
const sqliteConfig: TypeOrmModuleOptions = {
synchronize: true,
type: 'sqlite',
database: 'common-cents.db',
entities
}
import { ConfigModule, ConfigService } from '@nestjs/config';
@Module({
imports: [
TypeOrmModule.forRoot(sqliteConfig),
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: (configService: ConfigService) => ({
synchronize: configService.get<boolean>('DB_SYNC') ?? true,
type: 'postgres',
host: configService.get<string>('DB_HOST') ?? 'localhost',
port: configService.get<number>('DB_PORT') ?? 5432,
username: configService.get<string>('DB_USER') ?? 'common-cents',
password: configService.get<string>('DB_PASS') ?? 'CommonCents_123!',
database: configService.get<string>('DB_NAME') ?? 'common-cents',
autoLoadEntities: true
})
}),
MerchantsModule,
TagsModule,
CategoriesModule,