-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathapp.js
107 lines (66 loc) · 2.58 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
var express = require("express"),
http = require("http"),
path = require("path"),
bodyParser = require("body-parser"),
MongoClient = require("mongodb").MongoClient,
mongoose = require("mongoose");
var getReferences = require("./routes/get_references"),
getArticle = require("./routes/get_article"),
getJournals = require("./routes/get_journals"),
check = require("./routes/check"),
status = require("./routes/status"),
freeRefs = require("./routes/free_refs"),
home = require("./routes/home"),
about = require("./routes/about"),
api = require("./routes/api");
// #2
module.exports = function(config){
mongoose.connect(process.env.MONGOLAB_URI || config.mongoose.host);
var db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error"));
db.once("open", function callback(){
//what? this is from mongoose docs
//I think the app = express code is supposed to be in here
//and I can see it coming back to bite me by leaving it out
//but when I place it in here the main.js can't find the server
});
var app = express()
app.set("views", path.resolve(process.cwd(), "views"));
app.set("view engine", "jade");
app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static(path.resolve(process.cwd(), "public")))
//start of routes for progressive enhancement approach
app.get("/api/v1/articles/status/", function(request, response){
status(request, response, db);
});
app.get("/api/v1/references/free/", function(request, response){
freeRefs(request, response, db);
});
//end of routes for progressive enchancement approach
app.get("/", home);
app.get("/about", about);
app.get("/api", api);
app.get("/api/v1/articles/doi/:doi?", function(request, response){
getArticle(request, response, db)
});
app.get("/api/v1/journals/title/:title?", function(request, response){
getJournals(request, response, db)// - displays articles by journal
})
app.get("/api/v1/article/check/:doi?", function(request, response){
check(request, response, db)
});
// #2
//currently not doing anything?
app.get("/v1/articles/:doi/references/:param?", function(request, response){
console.log(db)
getReferences(request, response, db);
});
//to implement: adding data
//app.post("/v1/article/insert/:doi")
return http.createServer(app);
//why is http.createServer being used?
//migrate to express 4 says use express().
//probably from the testing book I read.
}
//wrap the app in an HTTP server and export it because since everything that loads
//this module will probably want a server, not just the app function.