From 1726a81b320e92ce412c0fa2b2b05f73798cc4ee Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 29 Jun 2017 03:09:00 +0200 Subject: folder browser --- lib/db/index.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'lib/db') 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() -- cgit v1.2.3-70-g09d2