1
1
/* Copyright (c) 2012-2013 Richard Rodger, MIT License */
2
- " use strict" ;
2
+ ' use strict'
3
3
4
4
5
- var http = require ( 'http' )
5
+ var Http = require ( 'http' )
6
6
7
- var express = require ( 'express' )
8
- var argv = require ( 'optimist' ) . argv
7
+ var Express = require ( 'express' )
8
+ var argv = require ( 'optimist' ) . argv
9
9
10
10
11
11
// create a seneca instance
12
- var seneca = require ( 'seneca' ) ( )
12
+ var seneca = require ( 'seneca' ) ( )
13
13
14
14
// use the user and auth plugins
15
15
// the user plugin gives you user account business logic
16
16
seneca . use ( 'user' )
17
17
18
18
// the auth plugin handles HTTP authentication
19
- seneca . use ( 'auth' , {
19
+ seneca . use ( 'auth' , {
20
20
// redirects after login are needed for traditional multi-page web apps
21
- redirect :{
22
- login :{ win :'/account' , fail :'/login#failed' } ,
23
- register :{ win :'/account' , fail :'/#failed' } ,
21
+ redirect : {
22
+ login : { win : '/account' , fail : '/login#failed' } ,
23
+ register : { win : '/account' , fail : '/#failed' }
24
24
}
25
25
} )
26
26
27
27
// load configuration for plugins
28
28
// top level properties match plugin names
29
29
// copy template config.template.js to config.mine.js and customize
30
- seneca . use ( 'options' , 'config.mine.js' )
30
+ seneca . use ( 'options' , 'config.mine.js' )
31
31
32
- //seneca.use('../google-auth.js')
32
+ // seneca.use('../google-auth.js')
33
33
34
34
var conf = {
35
35
port : argv . p || 3000
@@ -39,57 +39,56 @@ seneca.use('github-auth')
39
39
40
40
41
41
// use the express module in the normal way
42
- var app = express ( )
42
+ var app = Express ( )
43
43
app . enable ( 'trust proxy' )
44
44
45
- app . use ( express . cookieParser ( ) )
46
- app . use ( express . query ( ) )
47
- app . use ( express . bodyParser ( ) )
48
- app . use ( express . methodOverride ( ) )
49
- app . use ( express . json ( ) )
45
+ app . use ( Express . cookieParser ( ) )
46
+ app . use ( Express . query ( ) )
47
+ app . use ( Express . bodyParser ( ) )
48
+ app . use ( Express . methodOverride ( ) )
49
+ app . use ( Express . json ( ) )
50
50
51
- app . use ( express . session ( { secret :'seneca' } ) )
51
+ app . use ( Express . session ( { secret : 'seneca' } ) )
52
52
53
- app . use ( express . static ( __dirname + '/public' ) )
53
+ app . use ( Express . static ( __dirname + '/public' ) )
54
54
55
55
56
56
// add any middleware provided by seneca plugins
57
57
58
58
59
- app . use ( seneca . export ( 'web' ) )
59
+ app . use ( seneca . export ( 'web' ) )
60
60
61
61
62
62
// some express views
63
- app . engine ( 'ejs' , require ( 'ejs-locals' ) )
63
+ app . engine ( 'ejs' , require ( 'ejs-locals' ) )
64
64
app . set ( 'views' , __dirname + '/views' )
65
- app . set ( 'view engine' , 'ejs' )
65
+ app . set ( 'view engine' , 'ejs' )
66
66
67
- app . get ( '/login' , function ( req , res ) {
68
- res . render ( 'login.ejs' , { } )
67
+ app . get ( '/login' , function ( req , res ) {
68
+ res . render ( 'login.ejs' , { } )
69
69
} )
70
70
71
71
72
72
// when rendering the account page, use the req.seneca.user object
73
73
// to get user details. This is automatically set up by the auth plugin
74
- app . get ( '/account' , function ( req , res ) {
75
- res . render ( 'account.ejs' , { locals :{ user :req . seneca . user } } )
74
+ app . get ( '/account' , function ( req , res ) {
75
+ res . render ( 'account.ejs' , { locals : { user : req . seneca . user } } )
76
76
} )
77
77
78
78
// create some test accounts
79
79
// the "pin" creates a more convenient api, avoiding the need for
80
80
// a full action specification: seneca.act( {role:'user', cmd:'register', ... } )
81
- var u = seneca . pin ( { role :'user' , cmd :'*' } )
82
- u . register ( { nick :'u1' , name :'nu1' , email :'u1@example.com' , password :'u1' , active :true } )
83
- u . register ( { nick :'u2' , name :'nu2' , email :'u2@example.com' , password :'u2' , active :true } )
84
- u . register ( { nick :'a1' , name :'na1' , email :'a1@example.com' , password :'a1' , active :true , admin :true } )
81
+ var u = seneca . pin ( { role : 'user' , cmd : '*' } )
82
+ u . register ( { nick : 'u1' , name : 'nu1' , email : 'u1@example.com' , password : 'u1' , active : true } )
83
+ u . register ( { nick : 'u2' , name : 'nu2' , email : 'u2@example.com' , password : 'u2' , active : true } )
84
+ u . register ( { nick : 'a1' , name : 'na1' , email : 'a1@example.com' , password : 'a1' , active : true , admin : true } )
85
85
86
86
87
87
// create a HTTP server using the core Node API
88
88
// this lets the admin plugin use web sockets
89
- var server = http . createServer ( app )
89
+ var server = Http . createServer ( app )
90
90
server . listen ( conf . port )
91
91
92
92
// visit http://localhost[:port]/admin to see the admin page
93
93
// you'll need to logged in as an admin - user 'a1' above
94
- seneca . use ( 'admin' , { server :server } )
95
-
94
+ seneca . use ( 'admin' , { server : server } )
0 commit comments