All files / projects-dev/apps/mc-api/src database.config.ts

0% Statements 0/36
0% Branches 0/1
0% Functions 0/1
0% Lines 0/36

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37                                                                         
import * as path from "node:path";
import { TypeOrmModuleOptions } from "@nestjs/typeorm";

import * as dotenv from "dotenv";
import { Deck } from "./modules/decks/deck.entity";
import { Encounter } from "./modules/encounters/encounter.entity";
import { Hero } from "./modules/heroes/hero.entity";
import { ModularSet } from "./modules/modular-sets/modular-set.entity";
import { Pack } from "./modules/packs/pack.entity";
import { Scenario } from "./modules/scenarios/scenario.entity";

const environment = process.env.NODE_ENV || "dev";
const dotenvPath = path.resolve(process.cwd(), `.${environment}.env`);
const result = dotenv.config({ path: dotenvPath });
if (result.error) {
    /* do nothing */
}

export const DatabaseConfig: TypeOrmModuleOptions = {
    // eslint-disable-next-line @typescript-eslint/no-explicit-any
    type: process.env.TYPEORM_CONNECTION || ("mysql" as any),
    driver: process.env.TYPEORM_DRIVER || "mysql",
    database: process.env.TYPEORM_DATABASE || "mc",
    port: Number.parseInt(process.env.TYPEORM_PORT, 10) || 3306,
    username: process.env.TYPEORM_USERNAME,
    password: process.env.TYPEORM_PASSWORD,
    host: process.env.TYPEORM_HOST,
    entities: [Deck, Encounter, Hero, ModularSet, Pack, Scenario],
    migrations: ["src/migrations/.ts"],
    logging: true,
    cli: {
        migrationsDir: "src/migrations",
    },
};

export default DatabaseConfig;