paradigm-core
Version:
Paradigm Core Modules
72 lines (50 loc) • 1.19 kB
JavaScript
const {r} = require('structure-core')
const {TaxonomyModel} = require('../taxonomies')
/**
* CategoryModel Class
*
* @public
* @class CategoryModel
*/
module.exports = class CategoryModel extends TaxonomyModel {
/**
* CategoryModel constructor
*
* @public
* @constructor
* @param {Object} options - Options
*/
constructor(options = {}) {
super(Object.assign({}, {
table: 'categories',
relations: {}
}, options))
}
getAll(ids = [], options = {}) {
const applicationId = this.applicationId
const organizationId = this.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'})
.filter( (doc) => {
return doc('status').eq('active')
})
}
const categories = await query.run()
resolve(categories)
}
catch(e) {
this.logger.error(e)
reject(e)
}
})
}
}