diff --git a/src/configuration/config.prod.ts b/src/configuration/config.prod.ts new file mode 100644 index 0000000000000000000000000000000000000000..ca8ee3cac295af740ee203d0c50eca9907878425 --- /dev/null +++ b/src/configuration/config.prod.ts @@ -0,0 +1,21 @@ +export const configProd = { + url: process.env.MAIL_URL, + token: process.env.MAIL_TOKEN, + host: 'ram.grandlyon.com', + protocol: 'https', + port: '443', + from: 'inclusionnumerique@grandlyon.com', + from_name: 'Réseau des acteurs de la médiation numérique', + replyTo: 'inclusionnumerique@grandlyon.com', + templates: { + directory: './src/mailer/mail-templates', + verify: { + ejs: 'verify.ejs', + json: 'verify.json', + }, + changeEmail: { + ejs: 'changeEmail.ejs', + json: 'changeEmail.json', + }, + }, +}; diff --git a/src/configuration/config.ts b/src/configuration/config.ts index ee0b9db0dbad8115e0bafe32c87cead508ac0490..9cc7f1d62e222b124eebb7f4acfbcbb33275000e 100644 --- a/src/configuration/config.ts +++ b/src/configuration/config.ts @@ -1,9 +1,9 @@ export const config = { url: process.env.MAIL_URL, token: process.env.MAIL_TOKEN, - host: 'ram.grandlyon.com', - protocol: 'https', - port: '443', + host: 'localhost', + protocol: 'http', + port: '4200', from: 'inclusionnumerique@grandlyon.com', from_name: 'Réseau des acteurs de la médiation numérique', replyTo: 'inclusionnumerique@grandlyon.com', diff --git a/src/configuration/configuration.service.ts b/src/configuration/configuration.service.ts index 09d6666ca4b1ea1f417218e794f25db463b21789..e14d7002478a2759464c8d7a221741f57976d71b 100644 --- a/src/configuration/configuration.service.ts +++ b/src/configuration/configuration.service.ts @@ -1,10 +1,19 @@ +import { Logger } from '@nestjs/common'; import * as dotenv from 'dotenv'; import { config } from './config'; +import { configProd } from './config.prod'; export class ConfigurationService { - private _config = config; + private readonly _config; constructor() { // Initializing conf with values from var env + if (process.env.NODE_ENV === 'production') { + this._config = configProd; + Logger.log('App started with production conf', 'ConfigurationService'); + } else { + this._config = config; + Logger.log('App started with dev conf', 'ConfigurationService'); + } dotenv.config(); } diff --git a/src/mailer/mailer.service.ts b/src/mailer/mailer.service.ts index fdebbee315d40fb73dcb0afcc5ae233f8715c932..567520c66790f6be88e4fab8dcc766d9a01f8d84 100644 --- a/src/mailer/mailer.service.ts +++ b/src/mailer/mailer.service.ts @@ -28,7 +28,7 @@ export class MailerService { subject: subject, content: html, }); - Logger.log(`[Mailer] Send mail : ${subject}`); + Logger.log(`Send mail : ${subject}`, 'Mailer'); return new Promise((resolve, reject) => { this.httpService .post(process.env.MAIL_URL, data, { @@ -39,11 +39,11 @@ export class MailerService { }) .subscribe( (body) => { - Logger.log(`[Mailer] Send mail : ${subject} success`); + Logger.log(`Send mail : ${subject} success`, 'Mailer'); return resolve(body); }, (err) => { - Logger.error(err); + Logger.error(err, 'Mailer'); return reject(err); } ); diff --git a/src/structures/structures.service.ts b/src/structures/structures.service.ts index 7c9b021980a81598267c22dd013e60f330b946a4..a7f04958058b9cc34a27c5d83557fe169202de2f 100644 --- a/src/structures/structures.service.ts +++ b/src/structures/structures.service.ts @@ -82,7 +82,8 @@ export class StructuresService { resolve(structure); }, (err) => { - Logger.error(`[getCoord] Request error: ${err.config.url}`, err); + Logger.error(`Request error: ${err.config.url}`, 'StructureService'); + Logger.error(err); } ); }); @@ -112,7 +113,7 @@ export class StructuresService { public getCoord(numero: string, address: string, zipcode: string): Observable<AxiosResponse<any>> { const req = 'https://download.data.grandlyon.com/geocoding/photon/api' + '?q=' + numero + ' ' + address + ' ' + zipcode; - Logger.log(`[StructureService - getCoord] Request : ${req}`); + Logger.log(`Request : ${req}`, 'StructureService - getCoord'); return this.httpService.get(encodeURI(req)); } } diff --git a/template.env b/template.env index 88a2a0339128ba67acdb32bc5af6f271bc5bc60d..79db55d3f9d1da4d79732df43763025891286678 100644 --- a/template.env +++ b/template.env @@ -1,4 +1,5 @@ TAG=<version number> +NODE_ENV=<dev or production> SERVICE_API_BIND_PORT=<service port> JWT_SECRET=<the secret used to sign jwt token> MONGO_ROOT_PASSWORD=<mongo root user password>