Skip to content

Commit

Permalink
Added multi-app support in DatabaseAdapter.js
Browse files Browse the repository at this point in the history
  • Loading branch information
Jamie Chapman committed Feb 1, 2016
1 parent 6051e3a commit 40bfc4a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
12 changes: 10 additions & 2 deletions DatabaseAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ var adapter = ExportAdapter;
var cache = require('./cache');
var dbConnections = {};
var databaseURI = 'mongodb://localhost:27017/parse';
var appDatabaseURIs = {};

function setAdapter(databaseAdapter) {
adapter = databaseAdapter;
Expand All @@ -29,11 +30,17 @@ function setDatabaseURI(uri) {
databaseURI = uri;
}

function setAppDatabaseURI(appId, uri) {
appDatabaseURIs[appId] = uri;
}

function getDatabaseConnection(appId) {
if (dbConnections[appId]) {
return dbConnections[appId];
}
dbConnections[appId] = new adapter(databaseURI, {

var dbURI = (appDatabaseURIs[appId] ? appDatabaseURIs[appId] : databaseURI);
dbConnections[appId] = new adapter(dbURI, {
collectionPrefix: cache.apps[appId]['collectionPrefix']
});
dbConnections[appId].connect();
Expand All @@ -44,5 +51,6 @@ module.exports = {
dbConnections: dbConnections,
getDatabaseConnection: getDatabaseConnection,
setAdapter: setAdapter,
setDatabaseURI: setDatabaseURI
setDatabaseURI: setDatabaseURI,
setAppDatabaseURI: setAppDatabaseURI
};
2 changes: 1 addition & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ function ParseServer(args) {
FilesAdapter.setAdapter(args.filesAdapter);
}
if (args.databaseURI) {
DatabaseAdapter.setDatabaseURI(args.databaseURI);
DatabaseAdapter.setAppDatabaseURI(args.appId, args.databaseURI);
}
if (args.cloud) {
addParseCloud();
Expand Down

0 comments on commit 40bfc4a

Please sign in to comment.