Skip to content

Commit 360e080

Browse files
committed
auth
1 parent caf6095 commit 360e080

File tree

4 files changed

+53
-15
lines changed

4 files changed

+53
-15
lines changed

docker/docker-compose.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ services:
77
- "..:/data"
88
networks:
99
- dev
10-
ports:
11-
- "9229:9229"
1210
networks:
1311
dev:
1412
external: true

src/app.service.ts

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
import { Injectable } from '@nestjs/common';
1+
import { Injectable, Logger } from '@nestjs/common';
22
import { Worker } from 'bullmq';
33
import { fdir } from "fdir";
44
import * as fs from "fs";
55
import * as YAML from 'yaml'
66
import * as process from 'child_process'
7+
import * as mainProcess from 'process'
78
import * as path from 'path'
89
import {BackendConfigDto} from "./dto/Backend-config.dto";
910
import {BackendResultDto} from "./dto/Backend-result.dto";
@@ -12,20 +13,25 @@ import { ConfigService } from '@nestjs/config';
1213

1314
@Injectable()
1415
export class AppService {
16+
private readonly logger = new Logger(AppService.name);
1517
backendsConfig:Array<BackendConfigDto>=[]
18+
1619
constructor(private readonly configService: ConfigService) {}
1720

1821
async runDaemon() {
1922
await this.loadConfig()
2023
const backendResults=[]
24+
2125
const worker = new Worker('backend', async job => {
22-
console.log(job.name)
26+
2327
let results=[]
2428
let gStatus=0;
29+
this.logger.log('start daemon')
2530
for await(const backend of this.backendsConfig) {
2631
if (backend.active === 1){
32+
this.logger.log('Execute backend ' + backend.name)
2733
var task=backend.actions[job.name]
28-
console.log(backend.path +'/bin/'+ task.exec)
34+
this.logger.debug(backend.path +'/bin/'+ task.exec)
2935
const out=process.spawnSync(backend.path +'/bin/'+ task.exec,[],{
3036
input: JSON.stringify(job.data)
3137
})
@@ -41,23 +47,32 @@ export class AppService {
4147
}
4248
}
4349
}
44-
console.log('fini')
45-
console.log(results)
50+
this.logger.debug(results)
4651
return {jobId:job.id,status:gStatus,data:results}
4752
},{connection:this.configService.get('redis')});
4853
}
4954

5055
async loadConfig(){
56+
this.logger.log('load backends config')
5157
const crawler = new fdir()
5258
.withBasePath()
5359
.filter((path, isDirectory) => path.endsWith(".yml"))
5460
const files = crawler.crawl(this.configService.get('backendsPath')).sync();
5561
for await(const element of files) {
5662
const file = fs.readFileSync(element, 'utf8')
5763
const config=YAML.parse(file)
64+
try{
65+
const verif=plainToInstance(BackendConfigDto,config)
66+
}catch(e){
67+
const erreurs=errors.map((e) => e.toString()).join(', ')
68+
this.logger.fatal(`Erreur fichier de configuration : ${element} : ${erreurs}` )
69+
mainProcess.exit(1)
70+
}
5871
config.path=path.dirname(element)
5972
this.backendsConfig.push(config)
73+
this.logger.log('Load ' + config.name)
6074
}
61-
console.log (this.backendsConfig)
75+
this.logger.debug(this.backendsConfig)
76+
6277
}
6378
}

src/config.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@ export default () => ({
33
host : process.env.REDIS_HOST || 'localhost',
44
port : parseInt(process.env.REDIS_PORT) || 6379,
55
user : process.env.REDIS_USER || '',
6-
password: process.env.REDIS_PASSWORD ||'',
7-
application: {
8-
logger: process.env.LOGGER
9-
}
6+
password: process.env.REDIS_PASSWORD ||''
107
},
8+
logLevel: process.env.LOG_LEVEL || 'INFO',
119
backendsPath: process.env.BACKENDS_PATH || __dirname+'/../backends',
12-
nameQueue: process.env.NAME_QUEUE || 'backend'
10+
nameQueue: process.env.NAME_QUEUE || 'backend',
11+
loglevel: process.env.LOG_LEVEL
1312
});

src/main.ts

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,36 @@
11
import { NestFactory } from '@nestjs/core';
22
import { AppModule } from './app.module';
33
import { AppService } from './app.service';
4+
import { LogLevel } from '@nestjs/common'
5+
import ConfigInstance from './config'
6+
7+
48

59
async function bootstrap() {
6-
const app = await NestFactory.createApplicationContext(AppModule);
10+
const app = await NestFactory.createApplicationContext(AppModule,{logger: setLogLevel() as LogLevel[]});
711
const appService = app.get(AppService);
8-
console.log(appService.runDaemon());
12+
appService.runDaemon()
13+
}
14+
function setLogLevel():Array<string>{
15+
let loggerOptions=['error', 'warn','fatal']
16+
let configInstance=ConfigInstance()
17+
switch(configInstance['logLevel']){
18+
case 'fatal' :
19+
loggerOptions=['fatal']
20+
break;
21+
case 'error' :
22+
loggerOptions=['error','fatal']
23+
break;
24+
case 'warn':
25+
loggerOptions=['error', 'warn','fatal']
26+
break;
27+
case 'info' :
28+
loggerOptions=['error', 'warn','fatal','log','verbose']
29+
break;
30+
case 'debug' :
31+
loggerOptions=['error', 'warn','fatal','log','verbose','debug']
32+
break;
33+
}
34+
return loggerOptions
935
}
1036
bootstrap();

0 commit comments

Comments
 (0)