summaryrefslogtreecommitdiff
path: root/lib/db
diff options
context:
space:
mode:
Diffstat (limited to 'lib/db')
-rw-r--r--lib/db/bookshelf.js17
-rw-r--r--lib/db/index.js47
2 files changed, 64 insertions, 0 deletions
diff --git a/lib/db/bookshelf.js b/lib/db/bookshelf.js
new file mode 100644
index 0000000..5774120
--- /dev/null
+++ b/lib/db/bookshelf.js
@@ -0,0 +1,17 @@
+var knex = require('knex')({
+ client: 'mysql2',
+ connection: {
+ host : process.env.DB_HOST,
+ user : process.env.DB_USER,
+ password : process.env.DB_PASS,
+ database : process.env.DB_NAME,
+ charset : 'utf8'
+ }
+})
+
+var bookshelf = require('bookshelf')(knex)
+
+module.exports = {
+ bookshelf: bookshelf,
+ knex: knex,
+}
diff --git a/lib/db/index.js b/lib/db/index.js
new file mode 100644
index 0000000..e820758
--- /dev/null
+++ b/lib/db/index.js
@@ -0,0 +1,47 @@
+var db = module.exports
+
+var connection = require("./bookshelf")
+var bookshelf = connection.bookshelf
+var knex = connection.knex
+
+/* MODELS */
+
+var User = db.User = bookshelf.Model.extend({
+ tableName: 'users',
+ hasTimestamps: true,
+})
+var Thread = db.Thread = bookshelf.Model.extend({
+ tableName: 'threads',
+ hasTimestamps: true,
+})
+var Comment = db.Comment = bookshelf.Model.extend({
+ tableName: 'comments',
+ hasTimestamps: true,
+})
+var File = db.File = bookshelf.Model.extend({
+ tableName: 'files',
+ hasTimestamps: true,
+})
+var Keyword = db.Keyword = bookshelf.Model.extend({
+ tableName: 'keywords',
+ hasTimestamps: true,
+})
+var Mailbox = db.Mailbox = bookshelf.Model.extend({
+ tableName: 'boxes',
+ hasTimestamps: true,
+})
+var Message = db.Message = bookshelf.Model.extend({
+ tableName: 'messages',
+ hasTimestamps: true,
+})
+
+/* PICTURES */
+
+db.createUser = function(data){
+ return new db.User(data).save()
+}
+db.getUsers = function (callback) {
+ return User.query(function(qb){
+ qb.orderBy("id", "desc")
+ }).fetchAll()
+}