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.
+