backend/app/models/api/FileGroup.model.js
garrettmills 4686e9d37c
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
Include uploaded files in search results endpoint
2020-10-14 13:59:25 -05:00

32 lines
807 B
JavaScript

const Model = require('flitter-orm/src/model/Model')
const uuid = require('uuid/v4')
/*
* FileGroup Model
* -------------------------------------------------------------
* Put some description here!
*/
class FileGroup extends Model {
static get schema() {
// Return a flitter-orm schema here.
return {
NodeId: String,
PageId: String,
FileIds: [String],
UUID: {type: String, default: () => uuid()}
}
}
accessible_by(user, mode = 'view') {
return user.can(`files:${this.UUID}:${mode}`)
}
// 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 = FileGroup