1 | var express = require('express'),
|
2 | mongoose = require('mongoose'),
|
3 | MongoStore = require('connect-mongo');
|
4 |
|
5 |
|
6 | mongoose.connect("mongodb://localhost/admin_test");
|
7 | var app = module.exports = express.createServer();
|
8 |
|
9 | function 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 |
|
34 | var confdb = {
|
35 | db: split_db_url("mongodb://localhost/admin_test"),
|
36 | secret: '076ed6sda3ea10a12rea879l1ve433s9'
|
37 | };
|
38 |
|
39 | var session = {
|
40 | save:function(cbk)
|
41 | {
|
42 | cbk();
|
43 | }
|
44 | };
|
45 |
|
46 | app.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 |
|
58 |
|
59 |
|
60 | app.use(express.methodOverride());
|
61 | app.use(app.router);
|
62 | app.use(express.static(__dirname + '/public'));
|
63 | });
|
64 |
|
65 | var mongoose_admin = require('../mongoose-admin.js');
|
66 |
|
67 | var admin = mongoose_admin.createAdmin(app,{root:'admin'});
|
68 |
|
69 | var Book = mongoose.model('Book',new mongoose.Schema({
|
70 | name:{type:String,required:true},
|
71 | published:Date,
|
72 | price:Number,
|
73 | likes:[String]
|
74 | }));
|
75 |
|
76 | admin.registerMongooseModel('Book',Book,null,{list:['name','price'],sort:['name','price']});
|
77 |
|
78 | admin.ensureUserExists('admin','admin');
|
79 |
|
80 | app.listen(80);
|
81 |
|
82 | console.log('I have created admin'); |
\ | No newline at end of file |