22process . setMaxListeners ( 0 ) ;
33require ( 'events' ) . EventEmitter . prototype . _maxListeners = 100 ;
44
5- const newrelic = process . env . NEW_RELIC_ENABLED === 'true' ? require ( 'newrelic' ) : undefined ;
6- const senecaNR = require ( 'seneca-newrelic' ) ;
7- var config = require ( './config/config.js' ) ( ) ;
5+ if ( process . env . NEW_RELIC_ENABLED === 'true' ) require ( 'newrelic' ) ;
6+
7+ const service = 'cp-users-service' ;
8+ const { logger, log } = require ( 'cp-logs-lib' ) ( {
9+ name : service ,
10+ level : process . env . NODE_ENV === 'production' ? 'warn' : 'info' ,
11+ } ) ;
12+ const config = require ( './config/config.js' ) ( { log } ) ;
813var seneca = require ( 'seneca' ) ( config ) ;
914var _ = require ( 'lodash' ) ;
1015var store = require ( 'seneca-postgresql-store' ) ;
1116var storeQuery = require ( 'seneca-store-query' ) ;
12- var service = 'cp-users-service' ;
13- var log = require ( 'cp-logs-lib' ) ( { name : service , level : 'warn' } ) ;
14- config . log = log . log ;
1517var util = require ( 'util' ) ;
1618var dgram = require ( 'dgram' ) ;
1719
18- if ( process . env . NODE_ENV !== 'production' ) {
19- seneca . log . info ( 'using config' , JSON . stringify ( config , null , 4 ) ) ;
20- }
20+ logger . info ( config , 'config' ) ;
2121
2222seneca . options ( config ) ;
2323seneca . decorate ( 'customValidatorLogFormatter' , require ( './lib/custom-validator-log-formatter' ) ) ;
@@ -29,60 +29,55 @@ if (process.env.MAILDEV_ENABLED === 'true') {
2929 seneca . use ( 'mail' , config . email ) ;
3030}
3131
32- function shutdown ( err ) {
32+ function shutdown ( err ) {
3333 if ( err !== undefined ) {
34- var error = {
35- date : new Date ( ) . toString ( ) ,
36- msg : err . stack !== undefined
34+ logger . error (
35+ err ,
36+ err . stack !== undefined
3737 ? 'FATAL: UncaughtException, please report: ' + util . inspect ( err . stack )
3838 : 'FATAL: UncaughtException, no stack trace' ,
39- err : util . inspect ( err )
40- } ;
41- console . error ( JSON . stringify ( error ) ) ;
39+ ) ;
4240 process . exit ( 1 ) ;
4341 }
4442 process . exit ( 0 ) ;
4543}
4644
4745require ( './migrate-psql-db.js' ) ( function ( err ) {
48- if ( err ) {
49- console . error ( err ) ;
50- process . exit ( - 1 ) ;
51- }
52- console . log ( 'Migrations ok' ) ;
46+ if ( err ) shutdown ( err ) ;
47+ logger . info ( 'Migrations ok' ) ;
5348
5449 seneca . use ( require ( './email-notifications.js' ) ) ;
5550 seneca . use ( require ( './lib/agreements' ) ) ;
56- seneca . use ( require ( './profiles.js' ) ,
57- { postgresql : config [ 'postgresql-store' ] ,
58- logger : log . logger
59- } ) ;
60- seneca . use ( require ( './oauth2.js' ) , { clients : config . oauth2 . clients } ) ;
51+ seneca . use ( require ( './profiles.js' ) , {
52+ postgresql : config [ 'postgresql-store' ] ,
53+ logger,
54+ } ) ;
55+ seneca . use ( require ( './oauth2.js' ) , { clients : config . oauth2 . clients } ) ;
6156 seneca . use ( 'user' ) ;
6257 seneca . use ( 'auth' ) ;
63- seneca . use ( require ( './users.js' ) ,
64- { 'email-notifications' : config [ 'email-notifications' ] ,
65- ' postgresql' : config [ 'postgresql-store' ] ,
66- ' users' : config [ 'users' ] ,
67- ' logger' : log . logger
68- } ) ;
69- seneca . use ( require ( './user-profile.js' ) ,
70- { postgresql : config [ 'postgresql-store' ] ,
71- logger : log . logger
72- } ) ;
58+ seneca . use ( require ( './users.js' ) , {
59+ 'email-notifications' : config [ 'email-notifications' ] ,
60+ postgresql : config [ 'postgresql-store' ] ,
61+ users : config [ 'users' ] ,
62+ logger,
63+ } ) ;
64+ seneca . use ( require ( './user-profile.js' ) , {
65+ postgresql : config [ 'postgresql-store' ] ,
66+ logger,
67+ } ) ;
7368 seneca . use ( require ( './nodebb-api.js' ) , config . nodebb ) ;
7469 seneca . use ( require ( 'cp-permissions-plugin' ) , {
75- config : __dirname + '/config/permissions'
70+ config : __dirname + '/config/permissions' ,
7671 } ) ;
7772 if ( ! _ . isUndefined ( newrelic ) ) {
7873 seneca . use ( senecaNR , {
7974 newrelic,
8075 roles : [ 'cd-users' , 'cd-profiles' , 'cd-oauth2' , 'cd-user-profile' ] ,
81- filter ( p ) {
76+ filter ( p ) {
8277 p . user = p . user ? p . user . id : undefined ;
8378 p . login = p . login ? p . login . id : undefined ;
8479 return p ;
85- }
80+ } ,
8681 } ) ;
8782 }
8883 process . on ( 'SIGINT' , shutdown ) ;
@@ -103,10 +98,14 @@ require('./migrate-psql-db.js')(function (err) {
10398
10499 var escape = require ( 'seneca-standard-query/lib/relational-util' ) . escapeStr ;
105100 [ 'load' , 'list' ] . forEach ( function ( cmd ) {
106- seneca . wrap ( 'role: entity, cmd: ' + cmd , function filterFields ( args , cb ) {
101+ seneca . wrap ( 'role: entity, cmd: ' + cmd , function filterFields ( args , cb ) {
107102 try {
108103 [ 'limit$' , 'skip$' ] . forEach ( function ( field ) {
109- if ( args . q [ field ] && args . q [ field ] !== 'NULL' && ! / ^ [ 0 - 9 ] + $ / g. test ( args . q [ field ] + '' ) ) {
104+ if (
105+ args . q [ field ] &&
106+ args . q [ field ] !== 'NULL' &&
107+ ! / ^ [ 0 - 9 ] + $ / g. test ( args . q [ field ] + '' )
108+ ) {
110109 throw new Error ( 'Expect limit$, skip$ to be a number' ) ;
111110 }
112111 } ) ;
@@ -124,7 +123,7 @@ require('./migrate-psql-db.js')(function (err) {
124123 }
125124 if ( args . q . fields$ ) {
126125 args . q . fields$ . forEach ( function ( field , index ) {
127- args . q . fields$ [ index ] = '\ "' + escape ( field ) + '\ "' ;
126+ args . q . fields$ [ index ] = '"' + escape ( field ) + '"' ;
128127 } ) ;
129128 }
130129 // Loop over each props
0 commit comments