diff --git a/configs/client-default.js b/configs/client-default.js index 746f4a6b..943872fc 100644 --- a/configs/client-default.js +++ b/configs/client-default.js @@ -748,7 +748,10 @@ module.exports = function(options) { }); } if (!hosted) { - plugins.push("plugins/c9.ide.analytics/mock_analytics"); + plugins.push( + "plugins/c9.ide.analytics/mock_analytics", + "plugins/c9.ide.services/linked-services-mock" + ); } // Collab diff --git a/plugins/c9.ide.services/linked-services-mock.js b/plugins/c9.ide.services/linked-services-mock.js new file mode 100644 index 00000000..8d9f8082 --- /dev/null +++ b/plugins/c9.ide.services/linked-services-mock.js @@ -0,0 +1,59 @@ +define(function(require, exports, module) { + "use strict"; + + main.consumes = ["Plugin"]; + main.provides = ["linked-services"]; + return main; + + function main(options, imports, register) { + var Plugin = imports.Plugin; + var plugin = new Plugin("Ajax.org", main.consumes); + + function getServices(callback) { + setTimeout(function() { + callback(null, options.services || { + "github": { + "visible": true, + "hasRepositories": true, + "service": "github", + "title": "GitHub", + "accounts": [], + "maxAccounts": 1, + "maxProjects": 100 + }, + "mbed": { + "visible": false, + "hasRepositories": false, + "service": "mbed", + "title": "Mbed", + "accounts": [{ + "id": "mbed:154229", + "login": "fjakobs", + "metadata": {}, + "projects": [] + }], + "maxAccounts": 1, + "maxProjects": 100 + } + }); + }, 0); + } + + function getAccessToken(serviceId, callback) { + callback(new Error("Not Implemented")); + } + + /** + * Provides client-side Salesforce API access + * @singleton + **/ + plugin.freezePublicAPI({ + getServices: getServices, + getAccessToken: getAccessToken + }); + + register(null, { + "linked-services": plugin + }); + } +});