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