123456789101112131415161718192021222324252627282930 |
- const _ = require('lodash')
- const Filter = require('scim-query-filter-parser')
- module.exports = {
- generateSuccess (msg) {
- return {
- succeeded: true,
- errorCode: 0,
- slug: 'ok',
- message: _.defaultTo(msg, 'Operation succeeded.')
- }
- },
- generateError (err, complete = true) {
- const error = {
- succeeded: false,
- errorCode: err.code || 1,
- slug: err.name,
- message: err.message || 'An unexpected error occured.'
- }
- return (complete) ? { responseResult: error } : error
- },
- filter (arr, filterString) {
- const prvFilter = new Filter(_.toString(filterString).replace(/'/g, `"`))
- return arr.filter(prvFilter.test)
- },
- orderBy (arr, orderString) {
- let orderParams = _.zip(orderString.split(',').map(ord => _.trim(ord).split(' ').map(_.trim)))
- return _.orderBy(arr, orderParams[0], orderParams[1])
- }
- }
|