Skip to content

Commit 6f866e8

Browse files
committed
Workaround circular dependency and fix invalid json response.
The share module has a circular dependency with maps, and those should be separated. Workaround for now will do. POST response must return a valid json, as we currently handle errors in a map update (and redirect to login page).
1 parent 9c56d83 commit 6f866e8

2 files changed

Lines changed: 11 additions & 11 deletions

File tree

server/maps.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,8 @@ var mapmodule = function(db, share) {
182182
res.statusCode = 500;
183183
res.send(JSON.stringify(err));
184184
} else {
185-
res.writeHead(200, {
186-
'content-type' : 'text/html'
187-
});
185+
res.setHeader('Content-Type', 'application/json');
186+
res.send(JSON.stringify({}));
188187
res.end();
189188
}
190189
});
@@ -237,9 +236,8 @@ var mapmodule = function(db, share) {
237236
res.statusCode = 500;
238237
res.send(JSON.stringify(err));
239238
} else {
240-
res.writeHead(200, {
241-
'content-type' : 'text/html'
242-
});
239+
res.setHeader('Content-Type', 'application/json');
240+
res.send(JSON.stringify({}));
243241
res.end();
244242
}
245243
});
@@ -278,7 +276,7 @@ var mapmodule = function(db, share) {
278276
if (!maps[0].anonymousShare) {
279277
maps[0].anonymousShare = false;
280278
} else {
281-
maps[0].anonymousShareLink = share.constructSharingURL(req, mapId);
279+
maps[0].anonymousShareLink = share[0].constructSharingURL(req, mapId);
282280
}
283281
if(!maps[0].preciseShare){
284282
maps[0].preciseShare = [];

server/server.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,15 @@ var WardleyMapsApp = function(configOptions) {
8989

9090
var userProvider = require('./user-provider')(app);
9191

92-
self.db = require('./db')(configOptions.databaseConnectionString);
92+
var share = [null];
93+
94+
self.db = require('./db')(configOptions.databaseConnectionString);
9395
self.exportmap = new require('./export')(self.db);
94-
self.maps = new require('./maps')(self.db, self.share);
96+
self.maps = new require('./maps')(self.db, share);
9597

96-
var share = require('./router/share.js')('/share', self.db, userProvider.loginRequired, self.maps, self.exportmap);
98+
share[0] = require('./router/share.js')('/share', self.db, userProvider.loginRequired, self.maps, self.exportmap);
9799

98-
app.use('/share', share.router);
100+
app.use('/share', share[0].router);
99101
app.use('/profile', userProvider.loginRequired, require('./router/profilerouter.js')().router);
100102
app.use('/api', userProvider.authenticationRequired, require('./router/apirouter.js')(self.maps, self.exportmap).router);
101103
app.use('/', userProvider.loginRequired, require('./router/mainrouter.js')(self.maps).router);

0 commit comments

Comments
 (0)