backend/app/models/api/db/Database.model.js
2020-02-19 01:11:28 -06:00

34 lines
847 B
JavaScript

const Model = require('flitter-orm/src/model/Model')
const uuid = require('uuid/v4')
const ColumnDef = require('./ColumnDef.model')
/*
* 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}`)
}
async get_columns() {
return ColumnDef.find({DatabaseId: this.UUID});
}
// Static and instance methods can go here
}
module.exports = exports = Database