From b8885039a6ba87cf329be1daf96c80914ecfef0b Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 30 May 2018 15:14:33 +0200 Subject: json columns work swimmingly :) --- app/client/api/parser.js | 57 +++++++++++++++++++++++----------------------- app/server/db/bookshelf.js | 4 ++++ app/server/db/model.js | 2 +- app/server/db/models.js | 10 ++++++++ 4 files changed, 44 insertions(+), 29 deletions(-) (limited to 'app') diff --git a/app/client/api/parser.js b/app/client/api/parser.js index e116767..d0e6aab 100644 --- a/app/client/api/parser.js +++ b/app/client/api/parser.js @@ -170,35 +170,36 @@ export const integrations = [ // return ''; return '
' } - }, { - type: 'soundcloud', - regex: /soundcloud.com\/[-a-zA-Z0-9]+\/[-a-zA-Z0-9]+\/?$/i, - fetch: function (url, done) { - fetch('https://api.soundcloud.com/resolve.json?url=' - + url - + '&client_id=' - + '0673fbe6fc794a7750f680747e863b10') - .then(result => result.json()) - .then(result => { - console.log(result) - done({ - url: url, - type: "soundcloud", - token: result.id, - thumbnail: result.artwork_url || result.user.avatar_url, - title: result.user.username + " - " + result.title, - duration: result.duration, - width: 166, - height: 166, - }) - }) - }, - tag: function (media) { - return '' - } }, + // { + // type: 'soundcloud', + // regex: /soundcloud.com\/[-a-zA-Z0-9]+\/[-a-zA-Z0-9]+\/?$/i, + // fetch: function (url, done) { + // fetch('https://api.soundcloud.com/resolve.json?url=' + // + url + // + '&client_id=' + // + '0673fbe6fc794a7750f680747e863b10') + // .then(result => result.json()) + // .then(result => { + // console.log(result) + // done({ + // url: url, + // type: "soundcloud", + // token: result.id, + // thumbnail: result.artwork_url || result.user.avatar_url, + // title: result.user.username + " - " + result.title, + // duration: result.duration, + // width: 166, + // height: 166, + // }) + // }) + // }, + // tag: function (media) { + // return '' + // } + // }, { type: 'link', regex: /^http.+/i, diff --git a/app/server/db/bookshelf.js b/app/server/db/bookshelf.js index 545b574..2f90c9a 100644 --- a/app/server/db/bookshelf.js +++ b/app/server/db/bookshelf.js @@ -2,6 +2,7 @@ require('dotenv').config() const knex = require('knex')({ client: 'mysql2', + // debug: true, connection: { host : process.env.DB_HOST, user : process.env.DB_USER, @@ -19,6 +20,9 @@ const knex = require('knex')({ }) const bookshelf = require('bookshelf')(knex) +const jsonColumns = require('bookshelf-json-columns') + +bookshelf.plugin(jsonColumns) module.exports = { bookshelf: bookshelf, diff --git a/app/server/db/model.js b/app/server/db/model.js index d84f138..18ce28c 100644 --- a/app/server/db/model.js +++ b/app/server/db/model.js @@ -147,7 +147,7 @@ module.exports = function modelScope(type, db_model, _props) { valid[key] = data[key] } }) - // console.log(valid) + console.log(valid) return valid }, diff --git a/app/server/db/models.js b/app/server/db/models.js index 5e1cf6e..8ce0de8 100644 --- a/app/server/db/models.js +++ b/app/server/db/models.js @@ -5,22 +5,32 @@ let bookshelf = require("./bookshelf").bookshelf let Folder = bookshelf.Model.extend({ tableName: 'folders', hasTimestamps: true, +}, { + jsonColumns: ['opt'], }) let File = bookshelf.Model.extend({ tableName: 'files', hasTimestamps: true, +}, { + jsonColumns: ['opt'], }) let Task = bookshelf.Model.extend({ tableName: 'tasks', hasTimestamps: true, +}, { + jsonColumns: ['opt'], }) let User = bookshelf.Model.extend({ tableName: 'user', hasTimestamps: true, +}, { + jsonColumns: ['profile'], }) let Dataset = bookshelf.Model.extend({ tableName: 'datasets', hasTimestamps: true, +}, { + jsonColumns: ['opt'], }) module.exports = { -- cgit v1.2.3-70-g09d2