const VersionedModel = require('../VersionedModel')
const uuid = require('uuid/v4')
const ActiveScope = require('../scopes/Active.scope')

/*
 * Codium Model
 * -------------------------------------------------------------
 * Put some description here!
 */
class Codium extends VersionedModel {
    static get schema() {
        // Return a flitter-orm schema here.
        return {
            ...super.schema,
            Language: {type: String, default: 'javascript'},
            NodeId: String,
            PageId: String,
            code: String,
            UUID: { type: String, default: () => uuid() },
            Active: { type: Boolean, default: true },
        }
    }

    static scopes = [new ActiveScope]
    
    // Static and instance methods can go here
    get page() {
        const Page = require('./Page.model')
        return this.belongs_to_one(Page, 'PageId', 'UUID')
    }
}

module.exports = exports = Codium
