diff --git a/lib/db/migrations/reports.js b/lib/db/migrations/reports.js index 76b721d..93f1d47 100644 --- a/lib/db/migrations/reports.js +++ b/lib/db/migrations/reports.js @@ -20,6 +20,16 @@ exports.up = function(knex, Promise) { .references('id') .inTable('remotedev_apps'); }), + + knex.schema.createTable('remotedev_payloads', function(table){ + table.uuid('id').primary(); + table.text('state'); + table.text('action'); + table.timestamp('added'); + table.uuid('reportId') + .references('id') + .inTable('remotedev_reports'); + }), knex.schema.createTable('remotedev_apps', function(table){ table.uuid('id').primary(); diff --git a/lib/store.js b/lib/store.js index e716588..1065e36 100644 --- a/lib/store.js +++ b/lib/store.js @@ -3,6 +3,7 @@ var pick = require('lodash/pick'); var connector = require('./db/connector'); var reports = 'remotedev_reports'; +// var payloads = 'remotedev_payloads'; var knex; var baseFields = ['id', 'title', 'added']; @@ -22,7 +23,7 @@ function list(query, fields) { function get(id) { if (!id) return error('No id specified.'); - return knex(reports).where('id', id); + return knex(reports).where('id', id); } function add(data) { @@ -33,8 +34,10 @@ function add(data) { return error('Type ' + data.type + ' is not supported yet.'); } - var obj = { - id: uuid.v4(), + var added = Date.now(); + var reportId = uuid.v4(); + var report = { + id: reportId, type: data.type, title: data.title || data.exception && data.exception.message || data.action, description: data.description, @@ -48,11 +51,20 @@ function add(data) { user: data.user, userId: typeof data.user === 'object' ? data.user.id : data.user, meta: data.meta, - exception: data.exception + exception: data.exception, + added: added }; + /* + var payload = { + id: uuid.v4(), + reportId: reportId, + state: data.payload, + added: added + }; + */ - return knex.insert(obj).into(reports) - .then(function (){ return byBaseFields(obj); }) + return knex.insert(report).into(reports) + .then(function (){ return byBaseFields(report); }) } function byBaseFields(data) {