diff --git a/lib/db/migrations/reports.js b/lib/db/migrations/reports.js index 93f1d47..e8a9f27 100644 --- a/lib/db/migrations/reports.js +++ b/lib/db/migrations/reports.js @@ -18,9 +18,9 @@ exports.up = function(knex, Promise) { table.timestamp('added'); table.uuid('appId') .references('id') - .inTable('remotedev_apps'); + .inTable('remotedev_apps') + .defaultTo('78626c31-e16b-4528-b8e5-f81301b627f4'); }), - knex.schema.createTable('remotedev_payloads', function(table){ table.uuid('id').primary(); table.text('state'); @@ -30,13 +30,34 @@ exports.up = function(knex, Promise) { .references('id') .inTable('remotedev_reports'); }), - knex.schema.createTable('remotedev_apps', function(table){ table.uuid('id').primary(); table.string('title'); table.string('description'); table.string('url'); table.timestamps(); + }), + knex.schema.createTable('remotedev_users', function(table){ + table.uuid('id').primary(); + table.string('name'); + table.string('login'); + table.string('email'); + table.string('avatarUrl'); + table.string('profileUrl'); + table.string('oauthId'); + table.string('oauthType'); + table.string('token'); + table.timestamps(); + }), + knex.schema.createTable('remotedev_users_apps', function(table){ + table.boolean('readOnly').defaultTo(false); + table.uuid('userId'); + table.uuid('appId'); + table.foreign('userId') + .references('id').inTable('remotedev_users').onDelete('CASCADE').onUpdate('CASCADE'); + table.foreign('appId') + .references('id').inTable('remotedev_apps').onDelete('CASCADE').onUpdate('CASCADE'); + table.primary(['userId', 'appId']); }) ]) };