From 697aee31adb160045ba52a12cb542aa938651a93 Mon Sep 17 00:00:00 2001
From: Hugo SUBTIL <ext.sopra.husubtil@grandlyon.com>
Date: Thu, 13 Jan 2022 15:52:14 +0100
Subject: [PATCH] feat(core)! add rec confguration

---
 src/configuration/config.dev.ts            |  2 +-
 src/configuration/config.rec.ts            | 10 ++++++++
 src/configuration/config.ts                |  2 +-
 src/configuration/configuration.service.ts | 29 ++++++++++++++--------
 4 files changed, 31 insertions(+), 12 deletions(-)
 create mode 100644 src/configuration/config.rec.ts

diff --git a/src/configuration/config.dev.ts b/src/configuration/config.dev.ts
index 90917c690..f766d86b7 100644
--- a/src/configuration/config.dev.ts
+++ b/src/configuration/config.dev.ts
@@ -5,6 +5,6 @@ export const configDev = {
   protocol: 'https',
   port: '443',
   from: 'inclusionnumerique@grandlyon.com',
-  from_name: 'Réseau des acteurs de la médiation numérique',
+  from_name: '[DEV] Réseau des acteurs de la médiation numérique',
   replyTo: 'inclusionnumerique@grandlyon.com',
 };
diff --git a/src/configuration/config.rec.ts b/src/configuration/config.rec.ts
new file mode 100644
index 000000000..46c779728
--- /dev/null
+++ b/src/configuration/config.rec.ts
@@ -0,0 +1,10 @@
+export const configRec = {
+  url: process.env.MAIL_URL,
+  token: process.env.MAIL_TOKEN,
+  host: 'resin-rec.grandlyon.com',
+  protocol: 'https',
+  port: '443',
+  from: 'inclusionnumerique@grandlyon.com',
+  from_name: '[REC] Réseau des acteurs de la médiation numérique',
+  replyTo: 'inclusionnumerique@grandlyon.com',
+};
diff --git a/src/configuration/config.ts b/src/configuration/config.ts
index de4534cc6..ba92a750b 100644
--- a/src/configuration/config.ts
+++ b/src/configuration/config.ts
@@ -5,7 +5,7 @@ export const config = {
   protocol: 'http',
   port: '4200',
   from: 'noreplyinclusionnumerique@grandlyon.com',
-  from_name: 'Réseau des acteurs de la médiation numérique',
+  from_name: '[LOCAL] Réseau des acteurs de la médiation numérique',
   replyTo: 'noreplyinclusionnumerique@grandlyon.com',
   templates: {
     directory: './src/mailer/mail-templates',
diff --git a/src/configuration/configuration.service.ts b/src/configuration/configuration.service.ts
index e7a723f37..910da8b5a 100644
--- a/src/configuration/configuration.service.ts
+++ b/src/configuration/configuration.service.ts
@@ -3,22 +3,31 @@ import * as dotenv from 'dotenv';
 import { config } from './config';
 import { configProd } from './config.prod';
 import { configDev } from './config.dev';
+import { configRec } from './config.rec';
 export class ConfigurationService {
   private readonly _config;
 
   constructor() {
     // Initializing conf with values from var env
-    if (process.env.NODE_ENV && process.env.NODE_ENV === 'production') {
-      this._config = configProd;
-      this._config.templates = config.templates; // Add mail templates
-      Logger.log('App started with production conf', 'ConfigurationService');
-    } else if (process.env.NODE_ENV && process.env.NODE_ENV === 'dev') {
-      this._config = configDev;
-      this._config.templates = config.templates; // Add mail templates
-      Logger.log('App started with dev conf', 'ConfigurationService');
-    } else {
-      this._config = config;
+    switch (process.env.NODE_ENV) {
+      case 'production':
+        this._config = configProd;
+        Logger.log('App started with production conf', 'ConfigurationService');
+        break;
+      case 'dev':
+        this._config = configDev;
+        Logger.log('App started with dev conf', 'ConfigurationService');
+        break;
+      case 'rec':
+        this._config = configRec;
+        Logger.log('App started with rec conf', 'ConfigurationService');
+        break;
+      default:
+        this._config = config;
+        Logger.warn('App started with default conf', 'ConfigurationService');
+        break;
     }
+    this._config.templates = config.templates; // Add mail templates
     dotenv.config();
   }
 
-- 
GitLab