UNPKG

2.21 kBJavaScriptView Raw
1var express = require('express'),
2 mongoose = require('mongoose'),
3 MongoStore = require('connect-mongo');
4
5
6mongoose.connect("mongodb://localhost/admin_test");
7var app = module.exports = express.createServer();
8
9function split_db_url(db_url)
10{
11 var parts = db_url.split('/');
12 var conf = {
13 db:parts[3],
14 collection: 'session',
15 clear_interval: 0
16 };
17
18 if(parts[2] != 'localhost')
19 {
20 var middle_part_parts = parts[2].split(':');
21 conf['username'] = middle_part_parts[0];
22 conf['password'] = middle_part_parts[1].split('@')[0];
23 conf['host'] = middle_part_parts[1].split('@')[1];
24 conf['port'] = Number(middle_part_parts[2]);
25 }
26 else
27 {
28 conf['host'] = 'localhost';
29 conf['port'] = 27017;
30 }
31 return conf;
32}
33// Configuration
34var confdb = {
35 db: split_db_url("mongodb://localhost/admin_test"),
36 secret: '076ed6sda3ea10a12rea879l1ve433s9'
37};
38
39var session = {
40 save:function(cbk)
41 {
42 cbk();
43 }
44};
45
46app.configure(function(){
47 app.set('view engine', 'jade');
48 app.use(express.bodyParser());
49 app.use(express.static(require('path').join(__dirname,'..','node_modules','j-forms','static')));
50 app.use(express.methodOverride());
51 app.use(express.cookieParser());
52 app.use(function(req,res,next)
53 {
54 req.session = session;
55 next();
56 });
57// app.use(express.session({secret: confdb.secret,
58// maxAge: new Date(Date.now() + 3600000),
59// store: new MongoStore(confdb.db) }));
60 app.use(express.methodOverride());
61 app.use(app.router);
62 app.use(express.static(__dirname + '/public'));
63});
64
65var mongoose_admin = require('../mongoose-admin.js');
66
67var admin = mongoose_admin.createAdmin(app,{root:'admin'});
68
69var Book = mongoose.model('Book',new mongoose.Schema({
70 name:{type:String,required:true},
71 published:Date,
72 price:Number,
73 likes:[String]
74}));
75
76admin.registerMongooseModel('Book',Book,null,{list:['name','price'],sort:['name','price']});
77
78admin.ensureUserExists('admin','admin');
79
80app.listen(80);
81
82console.log('I have created admin');
\No newline at end of file