1
0
Fork 0

Fixed merge conflict. Still waiting for a fix from Frank for falsly matching of %2F as / in routes

This commit is contained in:
Michael Hackstein 2014-11-05 09:41:26 +00:00
parent 465ceefa16
commit 3fe3e6dbd6
7 changed files with 54 additions and 58 deletions

View File

@ -40,6 +40,9 @@ var FoxxController = require("org/arangodb/foxx").Controller,
foxxInstallKey = joi.string().required().description( foxxInstallKey = joi.string().required().description(
"The _key attribute, where the information of this Foxx-Install is stored." "The _key attribute, where the information of this Foxx-Install is stored."
), ),
foxxMountPoint = joi.string().required().description(
"The mount point, where this Foxx is installed."
),
appname = joi.string().required(); appname = joi.string().required();
var foxxes = new (require("lib/foxxes").Foxxes)(); var foxxes = new (require("lib/foxxes").Foxxes)();
@ -286,13 +289,17 @@ controller.get('/docus', function (req, res) {
* *
*/ */
controller.get("/docu/:key",function (req, res) { controller.get("/docu/:mount", function (req, res) {
require("console").log("Paul");
var subPath = req.path.substr(0, req.path.lastIndexOf("[") - 1), var subPath = req.path.substr(0, req.path.lastIndexOf("[") - 1),
key = req.params("key"), mount = req.params("mount"),
path = req.protocol + "://" + req.headers.host + path = req.protocol + "://" + req.headers.host + "/_db/" + encodeURIComponent(req.database) + subPath + "/" + encodeURIComponent(mount) + "/";
"/_db/" + encodeURIComponent(req.database) + subPath + "/" + encodeURIComponent(key) + "/"; require("console").log(docus.listOne(path, mount));
res.json(docus.listOne(path, key)); res.json(docus.listOne(path, mount));
}).summary("List documentation of one foxxes.") }).pathParam("mount", {
type: foxxMountPoint,
allowMultiple: false
}).summary("List documentation of all foxxes.")
.notes("This function simply returns one specific" .notes("This function simply returns one specific"
+ " foxx and supplies the paths for the swagger documentation"); + " foxx and supplies the paths for the swagger documentation");
@ -301,12 +308,18 @@ controller.get("/docu/:key",function (req, res) {
* Get the Elements of the API Documentation subroutes * Get the Elements of the API Documentation subroutes
* *
*/ */
controller.get('/docu/:key/*', function(req, res) { controller.get('/docu/:mount/:mountPoint', function(req, res) {
var mountPoint = ""; require("console").log("Blub");
underscore.each(req.suffix, function(part) { require("console").log(req.params("mount"));
mountPoint += "/" + part; var mountPoint = decodeURIComponent(req.params("mountPoint"));
}); require("console").log(mountPoint);
res.json(docus.show(mountPoint)); res.json(docus.show(mountPoint));
}).pathParam("mount", {
type: foxxMountPoint,
allowMultiple: false
}).pathParam("mountPoint", {
type: foxxMountPoint,
allowMultiple: false
}).summary("List the API for one foxx") }).summary("List the API for one foxx")
.notes("This function lists the API of the foxx" .notes("This function lists the API of the foxx"
+ " running under the given mount point"); + " running under the given mount point");

View File

@ -19,7 +19,7 @@
"api": "api", "api": "api",
"databases": "databases", "databases": "databases",
"applications": "applications", "applications": "applications",
"application/documentation/:key": "appDocumentation", "application/documentation/:mount": "appDocumentation",
"graph": "graphManagement", "graph": "graphManagement",
"userManagement": "userManagement", "userManagement": "userManagement",
"userProfile": "userProfile", "userProfile": "userProfile",
@ -242,8 +242,8 @@
this.naviView.selectMenuItem('applications-menu'); this.naviView.selectMenuItem('applications-menu');
}, },
appDocumentation: function (key) { appDocumentation: function (mount) {
var docuView = new window.AppDocumentationView({key: key}); var docuView = new window.AppDocumentationView({mount: mount});
docuView.render(); docuView.render();
this.naviView.selectMenuItem('applications-menu'); this.naviView.selectMenuItem('applications-menu');
}, },

View File

@ -13,7 +13,7 @@
initialize: function() { initialize: function() {
var internal = require("internal"); var internal = require("internal");
var url = internal.arango.databasePrefix("/_admin/aardvark/docu/" + this.options.key); var url = internal.arango.databasePrefix("/_admin/aardvark/docu/" + encodeURIComponent(this.options.mount));
this.swaggerUi = new SwaggerUi({ this.swaggerUi = new SwaggerUi({
discoveryUrl: url, discoveryUrl: url,
apiKey: false, apiKey: false,

View File

@ -208,7 +208,7 @@
showDocu: function(event) { showDocu: function(event) {
event.stopPropagation(); event.stopPropagation();
window.App.navigate( window.App.navigate(
"application/documentation/" + encodeURIComponent(this.model.get("_key")), "application/documentation/" + encodeURIComponent(this.model.get("mount").substr(1)),
{ {
trigger: true trigger: true
} }

View File

@ -47,42 +47,35 @@ exports.Swagger = function () {
result.swaggerVersion = "1.1"; result.swaggerVersion = "1.1";
result.basePath = basePath; result.basePath = basePath;
result.apis = apis; result.apis = apis;
var m;
while (res.hasNext()) { while (res.hasNext()) {
var m = res.next().mount; m = res.next().mount;
if (m === "/aardvark") { if (m !== "/aardvark") {
} else {
apis.push({ apis.push({
path: m path: m
}); });
} }
} }
return result; return result;
}, };
this.listOne = function(basePath, key) { this.listOne = function(basePath, mount) {
var result = {}, var result = {};
res;
if (key.substr(0, 4) === "dev:") {
res = "/dev/" + key.split(":")[2];
}
else {
res = _aal.document(key).mount;
}
result.swaggerVersion = "1.1"; result.swaggerVersion = "1.1";
result.basePath = basePath; result.basePath = basePath;
result.apis = [ result.apis = [
{path: res} {path: decodeURIComponent(mount)}
]; ];
require("console").log(result);
return result; return result;
}, };
// Get details of one specific installed foxx. // Get details of one specific installed foxx.
this.show = function(mount) { this.show = function(mount) {
require("console").log(mount);
var result = {}, var result = {},
apis = [], apis = [],
pathes, pathes,
@ -109,18 +102,20 @@ exports.Swagger = function () {
pathes = app.routes; pathes = app.routes;
for (i in pathes) { for (i in pathes) {
if (pathes[i].url.methods !== undefined) { if(pathes.hasOwnProperty(i)){
url = pathes[i].url.match; if (pathes[i].url.methods !== undefined) {
api = {}; url = pathes[i].url.match;
ops = []; api = {};
url = url.replace(regex, "{$2}"); ops = [];
api.path = url; url = url.replace(regex, "{$2}");
ops.push(pathes[i].docs); api.path = url;
api.operations = ops; ops.push(pathes[i].docs);
apis.push(api); api.operations = ops;
apis.push(api);
}
} }
} }
return result; return result;
} };
}; };

View File

@ -32,6 +32,7 @@
"frontend/js/lib/swagger-ui.js", "frontend/js/lib/swagger-ui.js",
"frontend/js/lib/highlight.7.3.pack.js", "frontend/js/lib/highlight.7.3.pack.js",
"frontend/js/lib/joi.browser.js", "frontend/js/lib/joi.browser.js",
"frontend/js/lib/md5.js",
"test/mocks/disableEJS.js", "test/mocks/disableEJS.js",
"frontend/js/arango/arango.js", "frontend/js/arango/arango.js",
"frontend/js/shell/browser.js", "frontend/js/shell/browser.js",
@ -193,19 +194,6 @@
"test/specs/views/statisticBarViewSpec.js", "test/specs/views/statisticBarViewSpec.js",
"test/specs/views/shellViewSpec.js", "test/specs/views/shellViewSpec.js",
"test/specs/views/queryViewSpec.js", "test/specs/views/queryViewSpec.js",
"test/specs/views/userManagementViewSpec.js",
"test/clusterSpecs/views/clusterDownViewSpec.js",
"test/clusterSpecs/views/dbServerDashboardViewSpec.js",
"test/clusterSpecs/views/loginModalViewSpec.js",
"test/clusterSpecs/views/planScenarioSelectorViewSpec.js",
"test/clusterSpecs/views/planSymmetricViewSpec.js",
"test/clusterSpecs/views/planTestViewSpec.js",
"test/clusterSpecs/views/showClusterViewSpec.js",
"test/clusterSpecs/views/shutdownButtonViewSpec.js",
"test/specs/router/routerSpec.js",
"test/specs/router/clusterRouterSpec.js",
"test/specs/router/versionCheckSpec.js" "test/specs/router/versionCheckSpec.js"
] ]

View File

@ -45,7 +45,7 @@ module.exports = function(karma) {
// enable / disable watching file and executing tests whenever any file changes // enable / disable watching file and executing tests whenever any file changes
autoWatch: false, autoWatch: true,
// Start these browsers, currently available: // Start these browsers, currently available:
@ -64,6 +64,6 @@ module.exports = function(karma) {
// Continuous Integration mode // Continuous Integration mode
// if true, it capture browsers, run tests and exit // if true, it capture browsers, run tests and exit
singleRun: true singleRun: false
}); });
}; };