backend/app/models/api/FileGroup.model.js
garrettmills 3bef5f3423
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
Track file group versioning & include version num in node versions
2020-11-02 12:51:56 -06:00

33 lines
844 B
JavaScript

const VersionedModel = require('../VersionedModel')
const uuid = require('uuid/v4')
/*
* FileGroup Model
* -------------------------------------------------------------
* Put some description here!
*/
class FileGroup extends VersionedModel {
static get schema() {
// Return a flitter-orm schema here.
return {
...super.schema,
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