UNPKG

paradigm-core

Version:
85 lines (78 loc) 1.82 kB
const DocumentModel = require('./document') const RevisionModel = require('./template-revision') /** * TemplateModel Class * * @public * @class TemplateModel */ class TemplateModel extends DocumentModel { /** * TemplateModel constructor * * @public * @constructor * @param {Object} options - Options */ constructor(options = {}) { super(Object.assign({}, { localKey: 'templateId', table: 'templates', permissions: { create: ['admin'], delete: ['admin'], read: ['organization'], replace: ['admin'], update: ['admin'], }, relations: { belongsTo: [ { node: 'organizations', link: { foreignKey: 'organizationId', localKey: 'templateId' }, joinTable: 'link_organizations_templates' }, { node: 'users', link: { foreignKey: 'userId', localKey: 'templateId' }, joinTable: 'link_users_templates' } ], hasMany: [ { node: 'document', link: { foreignKey: 'documentId', localKey: 'templateId' }, joinTable: 'link_templates_documents' }, { node: 'taxonomies', link: { foreignKey: 'taxonomyId', localKey: 'templateId' }, joinTable: 'link_templates_taxonomies' }, { node: 'template_revisions', link: { foreignKey: 'templateRevisionId', localKey: 'templateId' }, joinTable: 'link_templates_revisions' } ] }, RevisionModel }, options)) } } module.exports = TemplateModel