summaryrefslogtreecommitdiff
path: root/lib/db/index.js
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2017-06-29 00:14:07 +0200
committerJules Laplace <julescarbon@gmail.com>2017-06-29 00:14:07 +0200
commita190d638c608f4352e3f01d72ed419a5ab5129ed (patch)
treedd6e7ea24c2ae4b6251f1ae2b609d9017acfd199 /lib/db/index.js
db stuff and initial app scaffold
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