2
2
process . setMaxListeners ( 0 ) ;
3
3
require ( 'events' ) . EventEmitter . prototype . _maxListeners = 100 ;
4
4
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 } ) ;
8
13
var seneca = require ( 'seneca' ) ( config ) ;
9
14
var _ = require ( 'lodash' ) ;
10
15
var store = require ( 'seneca-postgresql-store' ) ;
11
16
var 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 ;
15
17
var util = require ( 'util' ) ;
16
18
var dgram = require ( 'dgram' ) ;
17
19
18
- if ( process . env . NODE_ENV !== 'production' ) {
19
- seneca . log . info ( 'using config' , JSON . stringify ( config , null , 4 ) ) ;
20
- }
20
+ logger . info ( config , 'config' ) ;
21
21
22
22
seneca . options ( config ) ;
23
23
seneca . decorate ( 'customValidatorLogFormatter' , require ( './lib/custom-validator-log-formatter' ) ) ;
@@ -29,60 +29,55 @@ if (process.env.MAILDEV_ENABLED === 'true') {
29
29
seneca . use ( 'mail' , config . email ) ;
30
30
}
31
31
32
- function shutdown ( err ) {
32
+ function shutdown ( err ) {
33
33
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
37
37
? 'FATAL: UncaughtException, please report: ' + util . inspect ( err . stack )
38
38
: 'FATAL: UncaughtException, no stack trace' ,
39
- err : util . inspect ( err )
40
- } ;
41
- console . error ( JSON . stringify ( error ) ) ;
39
+ ) ;
42
40
process . exit ( 1 ) ;
43
41
}
44
42
process . exit ( 0 ) ;
45
43
}
46
44
47
45
require ( './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' ) ;
53
48
54
49
seneca . use ( require ( './email-notifications.js' ) ) ;
55
50
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 } ) ;
61
56
seneca . use ( 'user' ) ;
62
57
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
+ } ) ;
73
68
seneca . use ( require ( './nodebb-api.js' ) , config . nodebb ) ;
74
69
seneca . use ( require ( 'cp-permissions-plugin' ) , {
75
- config : __dirname + '/config/permissions'
70
+ config : __dirname + '/config/permissions' ,
76
71
} ) ;
77
72
if ( ! _ . isUndefined ( newrelic ) ) {
78
73
seneca . use ( senecaNR , {
79
74
newrelic,
80
75
roles : [ 'cd-users' , 'cd-profiles' , 'cd-oauth2' , 'cd-user-profile' ] ,
81
- filter ( p ) {
76
+ filter ( p ) {
82
77
p . user = p . user ? p . user . id : undefined ;
83
78
p . login = p . login ? p . login . id : undefined ;
84
79
return p ;
85
- }
80
+ } ,
86
81
} ) ;
87
82
}
88
83
process . on ( 'SIGINT' , shutdown ) ;
@@ -103,10 +98,14 @@ require('./migrate-psql-db.js')(function (err) {
103
98
104
99
var escape = require ( 'seneca-standard-query/lib/relational-util' ) . escapeStr ;
105
100
[ '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 ) {
107
102
try {
108
103
[ '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
+ ) {
110
109
throw new Error ( 'Expect limit$, skip$ to be a number' ) ;
111
110
}
112
111
} ) ;
@@ -124,7 +123,7 @@ require('./migrate-psql-db.js')(function (err) {
124
123
}
125
124
if ( args . q . fields$ ) {
126
125
args . q . fields$ . forEach ( function ( field , index ) {
127
- args . q . fields$ [ index ] = '\ "' + escape ( field ) + '\ "' ;
126
+ args . q . fields$ [ index ] = '"' + escape ( field ) + '"' ;
128
127
} ) ;
129
128
}
130
129
// Loop over each props
0 commit comments