diff --git a/README.md b/README.md
index 180266e..7095d88 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,6 @@
# ProgBlog
A simple node blog with built-in code snippet highlighting
+[![Build Status](https://jenkins.timshomepage.net/buildStatus/icon?job=ProgBlog)](https://jenkins.timshomepage.net/job/ProgBlog/)
+
+## Setup
\ No newline at end of file
diff --git a/app/Container.js b/app/Container.js
index 0f8a70c..513d992 100644
--- a/app/Container.js
+++ b/app/Container.js
@@ -83,7 +83,6 @@ class Container {
return this._require(name);
}
-
/**
* Get a base library instance
*
diff --git a/app/base/DBModel.js b/app/base/DBModel.js
index df7874e..0e7bb73 100644
--- a/app/base/DBModel.js
+++ b/app/base/DBModel.js
@@ -2,9 +2,14 @@
const container = require('../Container');
const Model = container.getBase('Model');
+const Config = container.getBase('Config');
class DBModel extends Model {
+ constructor() {
+ super();
+ this.db = Config.get('database');
+ }
}
module.exports = DBModel;
\ No newline at end of file
diff --git a/app/base/Server.js b/app/base/Server.js
index 83ff440..2caf8d8 100644
--- a/app/base/Server.js
+++ b/app/base/Server.js
@@ -4,7 +4,6 @@
* Base Class for wrapping HTTP/HTTPS servers
*/
class Server {
- constructor() {}
/**
* Event listener for HTTP(s) server "error" event.
*
diff --git a/app/bootstrap.js b/app/bootstrap.js
index 3004e99..1ba2c34 100644
--- a/app/bootstrap.js
+++ b/app/bootstrap.js
@@ -7,7 +7,7 @@ const path = container.get('path');
const Controller = container.get('base/Controller');
const Config = container.get('base/Config');
-module.exports = (function () {
+module.exports = (() => {
const baseRoutePath = path.join(__dirname, 'controllers');
// Set up templating
@@ -28,4 +28,4 @@ module.exports = (function () {
return app;
-}());
\ No newline at end of file
+})();
\ No newline at end of file
diff --git a/app/config/database.js b/app/config/database.js
index 26f1ddf..4d23686 100644
--- a/app/config/database.js
+++ b/app/config/database.js
@@ -6,7 +6,7 @@ const knexConn = knexConfig.connection;
const params = {
driver: knexConfig.client,
- connection: (knexConfig.client == "sqlite3") ? knexConn.filename : knexConn,
+ connection: (knexConfig.client == 'sqlite3') ? knexConn.filename : knexConn,
};
const nodeQuery = require('ci-node-query')(params);
diff --git a/app/controllers/admin.js b/app/controllers/admin.js
index 86929d2..d631a4d 100644
--- a/app/controllers/admin.js
+++ b/app/controllers/admin.js
@@ -25,4 +25,30 @@ module.exports = {
},
},
+
+ '/user/list': {
+ get: (req, res) => {
+
+ },
+ },
+
+ '/user/edit': {
+ get: (req, res) => {
+
+ },
+
+ post: (req, res) => {
+
+ },
+ },
+
+ '/user/add': {
+ get: (req, res) => {
+
+ },
+
+ post: (req, res) => {
+
+ },
+ },
};
\ No newline at end of file
diff --git a/app/models/Blog.js b/app/models/Blog.js
new file mode 100644
index 0000000..f0334f3
--- /dev/null
+++ b/app/models/Blog.js
@@ -0,0 +1,13 @@
+'use strict';
+
+const Container = require('../../Container');
+const Config = container.get('Config');
+const DBModel = container.getBase('DBModel');
+
+class BlogModel extends DBModel {
+ constructor() {
+ super();
+ }
+}
+
+module.exports = new BlogModel();
\ No newline at end of file
diff --git a/app/models/User.js b/app/models/User.js
index 2a28deb..b876b2c 100644
--- a/app/models/User.js
+++ b/app/models/User.js
@@ -1,4 +1,23 @@
'use strict';
const container = require('../Container');
+const Config = container.get('Config');
+const DBModel = container.getBase('DBModel');
+class UserModel extends DBModel {
+ constructor() {
+ super();
+ }
+
+ getAll() {
+ return this.db.get('users');
+ }
+
+ getUserById(userId) {
+ return this.db.from('users')
+ .where('id', userId)
+ .get();
+ }
+}
+
+module.exports = new UserModel();
diff --git a/app/views/admin-edit.stache b/app/views/admin-edit.stache
index 2e4af1b..582c463 100644
--- a/app/views/admin-edit.stache
+++ b/app/views/admin-edit.stache
@@ -65,6 +65,7 @@ Javascript has several ways of making a self-executing function.
+