paradigm-core
Version:
Paradigm Core Modules
63 lines (57 loc) • 1.35 kB
JavaScript
const RevisionModel = require( './revision')
/**
* DocumentRevisionModel Class
*
* @public
* @class DocumentRevisionModel
*/
class DocumentRevisionModel extends RevisionModel {
/**
* DocumentRevisionModel constructor
*
* @public
* @constructor
* @param {Object} options - Options
*/
constructor(options = {}) {
super(Object.assign({}, {
table: 'document_revisions',
permissions: {
create: ['user'],
delete: ['admin'],
read: ['organization'],
replace: ['admin'],
update: ['user'],
},
relations: {
belongsTo: [
{
node: 'documents',
link: {
foreignKey: 'documentId',
localKey: 'documentRevisionId'
},
joinTable: 'link_documents_revisions'
},
{
node: 'organizations',
link: {
foreignKey: 'organizationId',
localKey: 'documentRevisionId'
},
joinTable: 'link_organizations_document_revisions'
},
{
node: 'users',
link: {
foreignKey: 'userId',
localKey: 'documentRevisionId'
},
joinTable: 'link_users_document_revisions'
}
]
}
}, options))
}
}
module.exports = DocumentRevisionModel