-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
122 lines (98 loc) · 3.3 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
var express = require('express'),
dust = require('dustjs-linkedin'),
helpers = require('dustjs-helpers'),
cons = require('consolidate'),
path = require('path'),
util = require( 'util'),
request = require('request'),
methodOverride = require('method-override'),
session = require('express-session'),
cookieParser = require('cookie-parser'),
bodyParser = require('body-parser'),
errorHandler = require('errorhandler'),
serveStatic = require('serve-static'),
compress = require('compression'),
nconf = require('nconf'),
S = require('string'),
jf = require('jsonfile'),
Promise = require('promise'),
http = require('http'),
fs = require('fs');
//Configuration settings
nconf.file('./config/config.json');
var source_dir = nconf.get('source_dir');
var target_dir = nconf.get('target_dir');
//Fire up express
var app = express();
app.engine('dust', cons.dust);
app.set('views', __dirname + '/views');
app.set('view engine', 'dust');
app.use(serveStatic(path.join(__dirname, 'public')));
app.use(bodyParser());
//Listen on...
var host = (process.env.VCAP_APP_HOST || 'localhost');
var port = (process.env.VCAP_APP_PORT || 3810);
// Start server
http.createServer(app).listen(port, function() {
console.log('Express server listening on port ' + port);
});
/* --------------------- Download APIs --------------------- */
var downloads = require('./modules/Downloads');
//Get list of comics that need to be filed
app.get('/downloads', function(req, res){
var comics = downloads.issues();
res.json(comics);
res.end();
});
//Return the cover for a downloaded issue.
app.get('/downloads/covers/:cover', function(req, res){
downloads.cover(req, res);
});
/* --------------------- ComicVine APIs --------------------- */
var comicVine = require('./modules/ComicVine');
app.get('/comicvine/suggestions/:query', function(req,res){
comicVine.getSuggestions(req,res);
});
//Get information about a given series
app.get('/comicvine/series/:id', function(req,res){
comicVine.series(req,res);
});
/* ------------ Catalog (CouchDB) Infrastructure ------------- */
var index = require('./modules/Index');
app.get('/index/update',function(req,res){
console.log( 'Updating index...');
index.update();
res.send(200);
});
var catalog = require('./modules/Catalog');
//Return information about a given series, if present
app.get('/catalog/series/:id', function(req, res){
catalog.series(req,res);
});
//Insert an archive into the catalog
app.post('/catalog/insert', function(req, res){
catalog.insert(req, res);
});
app.get('/catalog/directory', function(req, res){
catalog.directory_contents(req, res);
});
app.get('/catalog/directory/random', function(req, res){
catalog.random(req, res);
});
app.get('/catalog/directory/search/:query', function(req, res){
catalog.search(req,res);
});
app.get('/catalog/directory/*', function(req, res){
catalog.directory_contents(req, res);
});
app.get('/catalog/cover/*', function(req, res){
catalog.cover(req, res);
});
app.get('/catalog/title', function(req, res){
catalog.folder_location(req, res);
});
/* ------------ Read a comic ------------- */
var pages = require('./modules/pages');
app.get('/cb-ex', function(req,res){
pages.index(req, res);
});