Skip to content

Instantly share code, notes, and snippets.

@ovrmrw
Last active August 29, 2015 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ovrmrw/6b5567bc95b113dafaba to your computer and use it in GitHub Desktop.
Save ovrmrw/6b5567bc95b113dafaba to your computer and use it in GitHub Desktop.
sample: ArangoDB's Foxx controller
(function() {
"use strict";
var Foxx = require("org/arangodb/foxx"),
controller = new Foxx.Controller(applicationContext)
controller.get("/hello/:name", function(req, res) {
res.set("Content-Type", "text/plain");
res.body = "Hello " + req.params("name");
});
controller.get("/all", function(req, res) {
var db = require("org/arangodb").db;
res.json({ TOKUISAKI: db.TOKUISAKI.toArray() });
});
controller.get("/tokuisakiAql/:code", function(req, res) {
var db = require("org/arangodb").db,
//stmt = db._createStatement({ "query": "FOR d IN TOKUISAKI filter d.`得意先コード` == '" + req.params("code") + "' RETURN d" }),
//c = stmt.execute();
data = db._query("FOR d IN TOKUISAKI filter d.`得意先コード` == '" + req.params("code") + "' RETURN d").toArray();
res.json({ result: data });
});
controller.get("/tokuisakiAql/:code/:field", function(req, res) {
var db = require("org/arangodb").db,
code = req.params("code") || "1",
field = req.params("field"),
query,
data;
if (field === "all") {
query = "FOR d IN TOKUISAKI FILTER d.`得意先コード` == '" + code + "' RETURN d";
} else {
query = "FOR d IN TOKUISAKI FILTER d.`得意先コード` == '" + code + "' RETURN { '" + field + "': d.`" + field + "` }";
}
require("console").log("--> %s", query);
data = db._query(query).toArray();
res.json({ result: data });
});
controller.get("/tokuisaki/:code", function(req, res) {
var db = require("org/arangodb").db,
data = db.TOKUISAKI.byExample({"得意先コード": req.params("code")}).toArray();
res.json({ result: data });
});
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment