You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
944 B

const Model = require("flitter-orm/src/model/Model");
const uuid = require('uuid/v4');
/*
* Node Model
* -------------------------------------------------------------
* Put some description here!
*/
class Node extends Model {
static get schema() {
// Return a flitter-orm schema here.
return {
UUID: { type: String, default: () => uuid() },
Type: String,
Value: {
Mode: {type: String, default: 'norm'},
Value: String,
},
PageId: String,
CreatedAt: { type: Date, default: () => new Date },
UpdatedAt: { type: Date, default: () => new Date },
CreatedUserId: String,
UpdateUserId: String
};
}
// Static and instance methods can go here
get page() {
const Page = this.model.get("api:Page")
return this.belongs_to_one(Page, "PageId", "_id")
}
update_from_raw(data) {
if ( data.Type ) this.Type = data.Type
if ( data.Value ) this.Value = data.Value
}
}
module.exports = exports = Node;