diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2017-06-29 00:14:07 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2017-06-29 00:14:07 +0200 |
| commit | a190d638c608f4352e3f01d72ed419a5ab5129ed (patch) | |
| tree | dd6e7ea24c2ae4b6251f1ae2b609d9017acfd199 /lib/db/index.js | |
db stuff and initial app scaffold
Diffstat (limited to 'lib/db/index.js')
| -rw-r--r-- | lib/db/index.js | 46 |
1 files changed, 46 insertions, 0 deletions
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 |
