From c3793ee66105e16a3d106a80ced7d5bc46be5f65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Geonizeli?= Date: Sun, 10 Jul 2022 15:39:51 -0300 Subject: [PATCH] move database configs to .env --- server/.env.template | 5 ++++- server/.env.test.template | 5 ++++- server/src/env.d.ts | 3 +++ server/src/infra/dataSource.ts | 29 +++++++++++++++-------------- 4 files changed, 26 insertions(+), 16 deletions(-) diff --git a/server/.env.template b/server/.env.template index 7ec0442..056147b 100644 --- a/server/.env.template +++ b/server/.env.template @@ -2,4 +2,7 @@ ENV=development PORT=5000 SECRET=aE8efkEP8+V/ibEQl8IKbw== -DB_NAME=todoListDev \ No newline at end of file +DB_HOST=localhost +DB_USER=postgres +DB_PASSWORD=postgres +DB_NAME=todoListDev diff --git a/server/.env.test.template b/server/.env.test.template index 21f4293..e72f877 100644 --- a/server/.env.test.template +++ b/server/.env.test.template @@ -2,4 +2,7 @@ ENV=test PORT=5000 SECRET=aE8efkEP8+V/ibEQl8IKbw== -DB_NAME=todoListTest \ No newline at end of file +DB_HOST=localhost +DB_USER=postgres +DB_PASSWORD=postgres +DB_NAME=todoListTest diff --git a/server/src/env.d.ts b/server/src/env.d.ts index f190d4e..661c872 100644 --- a/server/src/env.d.ts +++ b/server/src/env.d.ts @@ -1,5 +1,8 @@ declare namespace NodeJS { interface ProcessEnv { + DB_HOST?: string; + DB_USER?: string; + DB_PASSWORD?: string; DB_NAME?: string; NODE_ENV?: 'test' | 'development' | 'production'; } diff --git a/server/src/infra/dataSource.ts b/server/src/infra/dataSource.ts index 5f8a866..3d2d9a7 100644 --- a/server/src/infra/dataSource.ts +++ b/server/src/infra/dataSource.ts @@ -1,21 +1,22 @@ -import * as dotenv from 'dotenv'; +import * as dotenv from "dotenv"; import "reflect-metadata"; import { DataSource } from "typeorm"; import { Project } from "../entity/project.entity"; -import { Task } from '../entity/task.entity'; +import { Task } from "../entity/task.entity"; import { User } from "../entity/user.entity"; -dotenv.config(); +dotenv.config({ + path: process.env.NODE_ENV === "test" ? ".env.test" : ".env", +}); export const AppDataSource = new DataSource({ - type: "postgres", - host: "localhost", - port: 5432, - username: "joao", - database: process.env.DB_NAME, - synchronize: true, - logging: false, - entities: [User, Project, Task], - migrations: [], - subscribers: [], -}) + type: "postgres", + host: process.env.DB_HOST, + port: 5432, + username: process.env.DB_USER, + password: process.env.DB_PASSWORD, + database: process.env.DB_NAME, + synchronize: true, + logging: false, + entities: [User, Project, Task], +});