summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2017-06-29 03:09:00 +0200
committerJules Laplace <julescarbon@gmail.com>2017-06-29 03:09:00 +0200
commit1726a81b320e92ce412c0fa2b2b05f73798cc4ee (patch)
treeeb3314621f652098ca8d046ad081b78aa89ba78d /lib
parent50904f4b010c417d558174005a7b4c5868e7d8d9 (diff)
folder browser
Diffstat (limited to 'lib')
-rw-r--r--lib/db/index.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/db/index.js b/lib/db/index.js
index bb62169..468d9be 100644
--- a/lib/db/index.js
+++ b/lib/db/index.js
@@ -21,6 +21,39 @@ var Task = db.Task = bookshelf.Model.extend({
hasTimestamps: true,
})
+db.crud = function(type, model) {
+ return {
+ index: (q) => {
+ return model.query( (qb) => {
+ const limit = q.limit || 100
+ const offset = q.offset || 0
+ if (limit) {
+ delete q.limit
+ }
+ if (q.offset) {
+ delete q.offset
+ }
+ if (Object.keys(q).length > 0) qb.where(q)
+ qb.orderBy("id", "desc")
+ if (limit) qb.limit( limit )
+ if (offset) qb.offset( offset )
+ return qb
+ }).fetchAll()
+ },
+ show: (id) => {
+ return new model({'id': id}).fetch()
+ },
+ create: (data) => {
+ return new model(data).save()
+ },
+ update: (id, data) => {
+ return new model({'id': id}).save(data)
+ },
+ destroy: (id) => {
+ return new model({'id': id}).destroy(data)
+ },
+ }
+}
db.getFolders = function(id) {
var model = new Folder({'id': id})
return model.fetch()