UNPKG

paradigm-core

Version:
99 lines (66 loc) 1.56 kB
const {r, RootModel} = require('structure-core') /** * PageModel Class * * @public * @class PageModel */ class PageModel extends RootModel { /** * PageModel constructor * * @public * @constructor * @param {Object} options - Options */ constructor(options = {}) { super(Object.assign({}, { table: 'pages', }, options)) } getAll(ids = [], options = {}) { const applicationId = options.applicationId const organizationId = options.organizationId return new Promise( async (resolve, reject) => { try { let query = r .table(this.table) if(ids.length > 0) { query = query .getAll(r.args(ids)) } else { query = query .getAll(applicationId, {index: 'applicationId'}) } const pages = await query.run() resolve(pages) } catch(e) { this.logger.error(e) reject(e) } }) } getBySlug(slug, options = {}) { const applicationId = this.applicationId || options.applicationId return new Promise( async (resolve, reject) => { try { const page = await r .table(this.table) .getAll( [slug, applicationId], {index: 'link_pageSlug_applicationId'} ) if(page.length > 0) { return resolve(page[0]) } resolve(false) } catch(e) { this.logger.error(e) reject(e) } }) } } module.exports = PageModel