1
0
mirror of https://gitlab.com/comunic/comunicapiv2 synced 2024-11-22 13:29:22 +00:00

Read configuration

This commit is contained in:
Pierre HUBERT 2019-11-21 16:28:48 +01:00
parent a17ae688e4
commit cc730eca90
5 changed files with 71 additions and 1 deletions

10
config.json Normal file
View File

@ -0,0 +1,10 @@
{
"storageURL": "http://devweb.local/comunic/current/user_data/",
"storagePath": "/home/pierre/Documents/projets_web/comunic/current/user_data/",
"database": {
"host": "localhost",
"dbName": "comunic",
"user": "pierre",
"password": "pierre"
}
}

6
package-lock.json generated
View File

@ -4,6 +4,12 @@
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
"@types/node": {
"version": "12.12.8",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.8.tgz",
"integrity": "sha512-XLla8N+iyfjvsa0KKV+BP/iGSoTmwxsu5Ci5sM33z9TjohF72DEz95iNvD6pPmemvbQgxAv/909G73gUn8QR7w==",
"dev": true
},
"typescript": { "typescript": {
"version": "3.7.2", "version": "3.7.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz",

View File

@ -10,5 +10,8 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"typescript": "^3.7.2" "typescript": "^3.7.2"
},
"devDependencies": {
"@types/node": "^12.12.8"
} }
} }

View File

@ -0,0 +1,47 @@
import { readFileSync } from "fs";
/**
* Configuration helper
*
* @author Pierre HUBERT
*/
export interface DatabaseConfiguration {
host : string,
dbName : string,
user : string,
password : string,
dbPrefix : string
}
export interface Configuration {
storageURL : string,
storagePath : string,
database : DatabaseConfiguration,
}
export class ConfigurationHelper {
private static conf : Configuration;
public static getConf() : Configuration {
return this.conf;
}
/**
* Load configuration from a specified configuration file
*
* @param fileName Configuration file to load
*/
public static loadConf(fileName : string) {
this.conf = JSON.parse(readFileSync(fileName, {encoding: "utf-8"}));
}
}
/**
* Get project configuration
*/
export function conf() : Configuration {
return ConfigurationHelper.getConf();
}

View File

@ -1,8 +1,12 @@
import { ConfigurationHelper, conf } from "./helpers/ConfigHelper";
/** /**
* Main project script * Main project script
* *
* @author Pierre HUBERT * @author Pierre HUBERT
*/ */
console.log("Comunic API v6\t@author Pierre HUBERT\t2019-" + new Date().getFullYear()); console.info("Comunic API v6\t@author Pierre HUBERT\t2019-" + new Date().getFullYear());
console.info("Load configuration...");
ConfigurationHelper.loadConf("config.json");