finish database implementation

This commit is contained in:
garrettmills
2020-02-08 23:09:18 -06:00
parent 2349955249
commit 0757cefac1
7 changed files with 298 additions and 5 deletions

View File

@@ -0,0 +1,24 @@
const Model = require('flitter-orm/src/model/Model')
const uuid = require('uuid/v4')
/*
* ColumnDef Model
* -------------------------------------------------------------
* Put some description here!
*/
class ColumnDef extends Model {
static get schema() {
// Return a flitter-orm schema here.
return {
headerName: String,
field: String,
DatabaseId: String,
UUID: { type: String, default: () => uuid() },
Type: { type: String, default: 'text' }, // text, number for now
}
}
// Static and instance methods can go here
}
module.exports = exports = ColumnDef

View File

@@ -0,0 +1,22 @@
const Model = require('flitter-orm/src/model/Model')
const uuid = require('uuid/v4')
/*
* DBEntry Model
* -------------------------------------------------------------
* Put some description here!
*/
class DBEntry extends Model {
static get schema() {
// Return a flitter-orm schema here.
return {
DatabaseId: String,
RowData: Object,
UUID: { type: String, default: () => uuid() },
}
}
// Static and instance methods can go here
}
module.exports = exports = DBEntry

View File

@@ -0,0 +1,28 @@
const Model = require('flitter-orm/src/model/Model')
const uuid = require('uuid/v4')
/*
* Database Model
* -------------------------------------------------------------
* Put some description here!
*/
class Database extends Model {
static get schema() {
// Return a flitter-orm schema here.
return {
Name: String,
NodeId: String,
PageId: String,
ColumnIds: [String],
UUID: { type: String, default: () => uuid() },
}
}
accessible_by(user, mode = 'view') {
return user.can(`database:${this.UUID}:${mode}`)
}
// Static and instance methods can go here
}
module.exports = exports = Database