diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/db/bookshelf.js | 24 | ||||
| -rw-r--r-- | lib/db/index.js | 46 |
2 files changed, 70 insertions, 0 deletions
diff --git a/lib/db/bookshelf.js b/lib/db/bookshelf.js new file mode 100644 index 0000000..69157cc --- /dev/null +++ b/lib/db/bookshelf.js @@ -0,0 +1,24 @@ +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', + typecast : function (field, next) { + console.log(field.type) + if (field.type == 'BLOB') { + return field.string() + } + return next() + } + } +}) + +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..bb62169 --- /dev/null +++ b/lib/db/index.js @@ -0,0 +1,46 @@ +var db = module.exports + +var connection = require("./bookshelf") +var bookshelf = connection.bookshelf +var knex = connection.knex + +var Folder = db.Folder = bookshelf.Model.extend({ + tableName: 'folders', + hasTimestamps: true, +}) +var File = db.File = bookshelf.Model.extend({ + tableName: 'files', + hasTimestamps: true, +}) +var Job = db.Job = bookshelf.Model.extend({ + tableName: 'job', + hasTimestamps: true, +}) +var Task = db.Task = bookshelf.Model.extend({ + tableName: 'tasks', + hasTimestamps: true, +}) + +db.getFolders = function(id) { + var model = new Folder({'id': id}) + return model.fetch() +} +db.getFolderFiles = function(id) { + return File.query(function(qb){ + qb.where('folder_id', '=', id).orderBy("id", "desc") + }).fetch() +} +db.getLatest = function () { + return Image.query(function(qb){ + qb.orderBy("id", "desc").limit(1) + }).fetch() +} +db.getRandom = function () { + return Image.query(function(qb){ + qb.orderBy(knex.raw('RAND()')).limit(1) + }).fetch() +} + +db.createImage = function(url){ + return new Image({ url: url, shorturl: "" }).save() +}
\ No newline at end of file |
