Skip to content

Instantly share code, notes, and snippets.

@fdonzello
Last active December 4, 2018 15:17
Show Gist options
  • Save fdonzello/b8f54f9f147afb66740cb4afc943c7cf to your computer and use it in GitHub Desktop.
Save fdonzello/b8f54f9f147afb66740cb4afc943c7cf to your computer and use it in GitHub Desktop.
demo ng6
var sqlite3 = require("sqlite3").verbose();
var db = new sqlite3.Database("db");
db.serialize(function () {
db.run(
"CREATE TABLE IF NOT EXISTS users (name TEXT, password TEXT, role TEXT)"
);
db.run(
"INSERT INTO users (name, password, role) VALUES (?, ?, ?)",
"admin",
"admin",
"ADMIN"
);
db.run(
"INSERT INTO users (name, password, role) VALUES (?, ?, ?)",
"user",
"user",
"USER"
);
for (let i = 0; i < 500; i++) {
db.run(
"INSERT INTO users (name, password, role) VALUES (?, ?, ?)",
"user" + i,
"user" + i,
i % 2 == 0 ? "USER" : "ADMIN"
);
}
});
var express = require("express");
var app = express();
const bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept, Authorization"
);
next();
});
app.get("/", function (req, res) {
res.send("Hello World!");
});
app.get("/users", function (req, res) {
db.all("SELECT * FROM users", function (err, row) {
res.json(row);
});
});
app.get("/users/:name", function (req, res) {
res.json({
name: req.url,
role: "ADMIN"
});
});
app.post("/users", function (req, res) { });
app.post("/login", function (req, res) {
db.all("SELECT * FROM users", function (err, users) {
for (key in users) {
const user = users[key];
if (user.password == req.header('X-username')) {
res.status(200).json(user);
return;
}
}
res.status(401).json(null);
});
});
app.listen(3000, function () {
console.log("Now listening on port: 3000");
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment