master
Sven Slootweg 5 years ago
commit c38a1a5216

2
.gitignore vendored

@ -0,0 +1,2 @@
node_modules
yarn-error.log

@ -0,0 +1,24 @@
"use strict";
const express = require("express");
const knex = require("knex");
const path = require("path");
const config = require("./config.json");
const indexRouters = require("./routers/index");
let db = knex({ /* ... config options go here ... */});
let dependencies = {
db: db,
config: config
};
let app = express();
app.set("view engine", "pug");
app.set("views", path.join(__dirname, "views"));
app.use(indexRouters(dependencies));
app.listen(3000);

@ -0,0 +1,3 @@
{
"bestNumber": 42
}

@ -0,0 +1,16 @@
{
"name": "parametric-modules-example",
"version": "1.0.0",
"main": "index.js",
"repository": "git@git.cryto.net:joepie91/parametric-modules-example.git",
"author": "Sven Slootweg <admin@cryto.net>",
"license": "MIT",
"dependencies": {
"bluebird": "^3.5.3",
"express": "^4.16.4",
"express-promise-router": "^3.0.3",
"knex": "^0.16.3",
"pug": "^2.0.3",
"sqlite3": "^4.0.6"
}
}

@ -0,0 +1,34 @@
"use strict";
const Promise = require("bluebird");
const expressPromiseRouter = require("express-promise-router");
module.exports = function({db}) {
let router = expressPromiseRouter();
router.get("/", (req, res) => {
return Promise.try(() => {
return db("items").where({
visible: true
});
}).then((result) => {
res.render("index", {
items: result
});
});
});
router.get("/item/:id", (req, res) => {
return Promise.try(() => {
return db("items").where({
id: req.params.id
}).first();
}).then((item) => {
res.render("item", {
item: item
});
});
});
return router;
}

@ -0,0 +1,5 @@
h1 Items
ul
for item in items
li: a(href=`/item/${item.id}`) Item: #{item.name}

@ -0,0 +1,3 @@
h1 Item: #{item.name}
p Details would go here

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save