summaryrefslogtreecommitdiff
path: root/lib/db/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/db/index.js')
-rw-r--r--lib/db/index.js46
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