a312325500035597eebb0192ae4b020632b4de52
[motion2.git] / server / api / intFreshdeskConfiguration / intFreshdeskConfiguration.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xad76=['getSubjects','getDescriptions','findOne','getTags','setTags','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','status','end','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','index','map','FreshdeskConfiguration','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','options','includeAll','include','findAll','rows','catch','keys','find','body','params','getFields','FreshdeskField','pick'];(function(_0x2ffd24,_0x5059b3){var _0x422b88=function(_0x133eea){while(--_0x133eea){_0x2ffd24['push'](_0x2ffd24['shift']());}};_0x422b88(++_0x5059b3);}(_0xad76,0x181));var _0x6ad7=function(_0x5aab67,_0x20765a){_0x5aab67=_0x5aab67-0x0;var _0x1ff535=_0xad76[_0x5aab67];return _0x1ff535;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6ad7('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6ad7('0x1'));var rp=require(_0x6ad7('0x2'));var moment=require(_0x6ad7('0x3'));var BPromise=require(_0x6ad7('0x4'));var Mustache=require(_0x6ad7('0x5'));var util=require(_0x6ad7('0x6'));var path=require('path');var sox=require(_0x6ad7('0x7'));var csv=require(_0x6ad7('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6ad7('0x9'));var _=require(_0x6ad7('0xa'));var squel=require('squel');var crypto=require(_0x6ad7('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x6ad7('0xc'));var toCsv=require(_0x6ad7('0x8'));var querystring=require(_0x6ad7('0xd'));var Papa=require('papaparse');var Redis=require(_0x6ad7('0xe'));var authService=require(_0x6ad7('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x6ad7('0x10'));var hardwareService=require(_0x6ad7('0x11'));var logger=require(_0x6ad7('0x12'))(_0x6ad7('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x6ad7('0x14'))['db'];function respondWithStatusCode(_0x3c98f5,_0x470101){_0x470101=_0x470101||0xcc;return function(_0x548f97){if(_0x548f97){return _0x3c98f5['sendStatus'](_0x470101);}return _0x3c98f5[_0x6ad7('0x15')](_0x470101)[_0x6ad7('0x16')]();};}function respondWithResult(_0x1c62ef,_0x461329){_0x461329=_0x461329||0xc8;return function(_0x5dd684){if(_0x5dd684){return _0x1c62ef[_0x6ad7('0x15')](_0x461329)['json'](_0x5dd684);}};}function respondWithFilteredResult(_0x5ee7c3,_0x3776a5){return function(_0x4b489a){if(_0x4b489a){var _0x49b43e=typeof _0x3776a5[_0x6ad7('0x17')]===_0x6ad7('0x18')&&typeof _0x3776a5[_0x6ad7('0x19')]===_0x6ad7('0x18');var _0x5a13ec=_0x4b489a[_0x6ad7('0x1a')];var _0x1a6c17=_0x49b43e?0x0:_0x3776a5['offset'];var _0x347b92=_0x49b43e?_0x4b489a[_0x6ad7('0x1a')]:_0x3776a5[_0x6ad7('0x17')]+_0x3776a5['limit'];var _0x18a4d1;if(_0x347b92>=_0x5a13ec){_0x347b92=_0x5a13ec;_0x18a4d1=0xc8;}else{_0x18a4d1=0xce;}_0x5ee7c3[_0x6ad7('0x15')](_0x18a4d1);return _0x5ee7c3['set'](_0x6ad7('0x1b'),_0x1a6c17+'-'+_0x347b92+'/'+_0x5a13ec)['json'](_0x4b489a);}return null;};}function patchUpdates(_0xde7d77){return function(_0x4769f1){try{jsonpatch[_0x6ad7('0x1c')](_0x4769f1,_0xde7d77,!![]);}catch(_0x16859c){return BPromise[_0x6ad7('0x1d')](_0x16859c);}return _0x4769f1[_0x6ad7('0x1e')]();};}function saveUpdates(_0x465cb5,_0x4177be){return function(_0x294e36){if(_0x294e36){return _0x294e36[_0x6ad7('0x1f')](_0x465cb5)[_0x6ad7('0x20')](function(_0x5cf13f){return _0x5cf13f;});}return null;};}function removeEntity(_0x17f524,_0x558c97){return function(_0x5d7d52){if(_0x5d7d52){return _0x5d7d52[_0x6ad7('0x21')]()[_0x6ad7('0x20')](function(){_0x17f524['status'](0xcc)[_0x6ad7('0x16')]();});}};}function handleEntityNotFound(_0x56e2d5,_0x4c33d3){return function(_0x3c1870){if(!_0x3c1870){_0x56e2d5[_0x6ad7('0x22')](0x194);}return _0x3c1870;};}function handleError(_0x13fd0d,_0x5cea75){_0x5cea75=_0x5cea75||0x1f4;return function(_0x57265e){logger[_0x6ad7('0x23')](_0x57265e[_0x6ad7('0x24')]);if(_0x57265e[_0x6ad7('0x25')]){delete _0x57265e['name'];}_0x13fd0d[_0x6ad7('0x15')](_0x5cea75)['send'](_0x57265e);};}exports[_0x6ad7('0x26')]=function(_0x107e3c,_0x5eaa97){var _0x42da32={},_0x4beeb3={},_0xafff64={'count':0x0,'rows':[]};var _0x3c2dc1=_[_0x6ad7('0x27')](db[_0x6ad7('0x28')][_0x6ad7('0x29')],function(_0x30b67c){return{'name':_0x30b67c['fieldName'],'type':_0x30b67c[_0x6ad7('0x2a')][_0x6ad7('0x2b')]};});_0x4beeb3[_0x6ad7('0x2c')]=_['map'](_0x3c2dc1,_0x6ad7('0x25'));_0x4beeb3[_0x6ad7('0x2d')]=_['keys'](_0x107e3c['query']);_0x4beeb3[_0x6ad7('0x2e')]=_[_0x6ad7('0x2f')](_0x4beeb3[_0x6ad7('0x2c')],_0x4beeb3[_0x6ad7('0x2d')]);_0x42da32[_0x6ad7('0x30')]=_[_0x6ad7('0x2f')](_0x4beeb3[_0x6ad7('0x2c')],qs[_0x6ad7('0x31')](_0x107e3c[_0x6ad7('0x2d')][_0x6ad7('0x31')]));_0x42da32['attributes']=_0x42da32[_0x6ad7('0x30')][_0x6ad7('0x32')]?_0x42da32['attributes']:_0x4beeb3['model'];if(!_0x107e3c[_0x6ad7('0x2d')][_0x6ad7('0x33')](_0x6ad7('0x34'))){_0x42da32[_0x6ad7('0x19')]=qs[_0x6ad7('0x19')](_0x107e3c[_0x6ad7('0x2d')]['limit']);_0x42da32[_0x6ad7('0x17')]=qs[_0x6ad7('0x17')](_0x107e3c[_0x6ad7('0x2d')][_0x6ad7('0x17')]);}_0x42da32[_0x6ad7('0x35')]=qs['sort'](_0x107e3c[_0x6ad7('0x2d')][_0x6ad7('0x36')]);_0x42da32['where']=qs[_0x6ad7('0x2e')](_['pick'](_0x107e3c['query'],_0x4beeb3['filters']),_0x3c2dc1);if(_0x107e3c[_0x6ad7('0x2d')][_0x6ad7('0x37')]){_0x42da32[_0x6ad7('0x38')]=_[_0x6ad7('0x39')](_0x42da32[_0x6ad7('0x38')],{'$or':_[_0x6ad7('0x27')](_0x3c2dc1,function(_0x236590){if(_0x236590[_0x6ad7('0x2a')]!=='VIRTUAL'){var _0x5de942={};_0x5de942[_0x236590[_0x6ad7('0x25')]]={'$like':'%'+_0x107e3c[_0x6ad7('0x2d')][_0x6ad7('0x37')]+'%'};return _0x5de942;}})});}_0x42da32=_[_0x6ad7('0x39')]({},_0x42da32,_0x107e3c[_0x6ad7('0x3a')]);var _0x58c51c={'where':_0x42da32[_0x6ad7('0x38')]};return db[_0x6ad7('0x28')]['count'](_0x58c51c)[_0x6ad7('0x20')](function(_0x4a7292){_0xafff64['count']=_0x4a7292;if(_0x107e3c['query'][_0x6ad7('0x3b')]){_0x42da32[_0x6ad7('0x3c')]=[{'all':!![]}];}return db['FreshdeskConfiguration'][_0x6ad7('0x3d')](_0x42da32);})[_0x6ad7('0x20')](function(_0x5854cd){_0xafff64[_0x6ad7('0x3e')]=_0x5854cd;return _0xafff64;})[_0x6ad7('0x20')](respondWithFilteredResult(_0x5eaa97,_0x42da32))[_0x6ad7('0x3f')](handleError(_0x5eaa97,null));};exports['show']=function(_0x4e8c14,_0x12068b){var _0x634ef1={'raw':![],'where':{'id':_0x4e8c14['params']['id']}},_0x1c5e0e={};_0x1c5e0e['model']=_[_0x6ad7('0x40')](db['FreshdeskConfiguration'][_0x6ad7('0x29')]);_0x1c5e0e[_0x6ad7('0x2d')]=_['keys'](_0x4e8c14[_0x6ad7('0x2d')]);_0x1c5e0e[_0x6ad7('0x2e')]=_['intersection'](_0x1c5e0e[_0x6ad7('0x2c')],_0x1c5e0e[_0x6ad7('0x2d')]);_0x634ef1[_0x6ad7('0x30')]=_[_0x6ad7('0x2f')](_0x1c5e0e[_0x6ad7('0x2c')],qs['fields'](_0x4e8c14[_0x6ad7('0x2d')][_0x6ad7('0x31')]));_0x634ef1['attributes']=_0x634ef1[_0x6ad7('0x30')][_0x6ad7('0x32')]?_0x634ef1['attributes']:_0x1c5e0e[_0x6ad7('0x2c')];if(_0x4e8c14[_0x6ad7('0x2d')][_0x6ad7('0x3b')]){_0x634ef1['include']=[{'all':!![]}];}_0x634ef1=_[_0x6ad7('0x39')]({},_0x634ef1,_0x4e8c14[_0x6ad7('0x3a')]);return db[_0x6ad7('0x28')][_0x6ad7('0x41')](_0x634ef1)[_0x6ad7('0x20')](handleEntityNotFound(_0x12068b,null))[_0x6ad7('0x20')](respondWithResult(_0x12068b,null))['catch'](handleError(_0x12068b,null));};exports['create']=function(_0x1c1c03,_0x13fdf2){return db[_0x6ad7('0x28')]['create'](_0x1c1c03[_0x6ad7('0x42')],{})['then'](respondWithResult(_0x13fdf2,0xc9))['catch'](handleError(_0x13fdf2,null));};exports[_0x6ad7('0x1f')]=function(_0x5507e2,_0x46da94){if(_0x5507e2[_0x6ad7('0x42')]['id']){delete _0x5507e2[_0x6ad7('0x42')]['id'];}return db['FreshdeskConfiguration']['find']({'where':{'id':_0x5507e2[_0x6ad7('0x43')]['id']}})[_0x6ad7('0x20')](handleEntityNotFound(_0x46da94,null))[_0x6ad7('0x20')](saveUpdates(_0x5507e2[_0x6ad7('0x42')],null))[_0x6ad7('0x20')](respondWithResult(_0x46da94,null))[_0x6ad7('0x3f')](handleError(_0x46da94,null));};exports[_0x6ad7('0x21')]=function(_0x350495,_0x22dd49){return db[_0x6ad7('0x28')][_0x6ad7('0x41')]({'where':{'id':_0x350495['params']['id']}})[_0x6ad7('0x20')](handleEntityNotFound(_0x22dd49,null))[_0x6ad7('0x20')](removeEntity(_0x22dd49,null))[_0x6ad7('0x3f')](handleError(_0x22dd49,null));};exports[_0x6ad7('0x44')]=function(_0x164cde,_0x2b84e0,_0x4b550f){var _0x5a9c48={};var _0x4faff0={};var _0x323c4c;var _0x4c3274;return db[_0x6ad7('0x28')]['findOne']({'where':{'id':_0x164cde[_0x6ad7('0x43')]['id']}})[_0x6ad7('0x20')](handleEntityNotFound(_0x2b84e0,null))[_0x6ad7('0x20')](function(_0x560ba4){if(_0x560ba4){_0x323c4c=_0x560ba4;_0x4faff0['model']=_['keys'](db[_0x6ad7('0x45')][_0x6ad7('0x29')]);_0x4faff0[_0x6ad7('0x2d')]=_['keys'](_0x164cde[_0x6ad7('0x2d')]);_0x4faff0[_0x6ad7('0x2e')]=_[_0x6ad7('0x2f')](_0x4faff0['model'],_0x4faff0['query']);_0x5a9c48[_0x6ad7('0x30')]=_[_0x6ad7('0x2f')](_0x4faff0[_0x6ad7('0x2c')],qs[_0x6ad7('0x31')](_0x164cde[_0x6ad7('0x2d')][_0x6ad7('0x31')]));_0x5a9c48[_0x6ad7('0x30')]=_0x5a9c48[_0x6ad7('0x30')][_0x6ad7('0x32')]?_0x5a9c48['attributes']:_0x4faff0[_0x6ad7('0x2c')];_0x5a9c48['order']=qs[_0x6ad7('0x36')](_0x164cde[_0x6ad7('0x2d')][_0x6ad7('0x36')]);_0x5a9c48[_0x6ad7('0x38')]=qs[_0x6ad7('0x2e')](_[_0x6ad7('0x46')](_0x164cde[_0x6ad7('0x2d')],_0x4faff0['filters']));if(_0x164cde['query']['filter']){_0x5a9c48[_0x6ad7('0x38')]=_[_0x6ad7('0x39')](_0x5a9c48[_0x6ad7('0x38')],{'$or':_[_0x6ad7('0x27')](_0x5a9c48[_0x6ad7('0x30')],function(_0x55961a){var _0x1c8d0f={};_0x1c8d0f[_0x55961a]={'$like':'%'+_0x164cde[_0x6ad7('0x2d')][_0x6ad7('0x37')]+'%'};return _0x1c8d0f;})});}_0x5a9c48=_[_0x6ad7('0x39')]({},_0x5a9c48,_0x164cde[_0x6ad7('0x3a')]);return _0x323c4c['getFields'](_0x5a9c48);}})['then'](function(_0x485db6){if(_0x485db6){_0x4c3274=_0x485db6[_0x6ad7('0x32')];if(!_0x164cde[_0x6ad7('0x2d')]['hasOwnProperty']('nolimit')){_0x5a9c48[_0x6ad7('0x19')]=qs['limit'](_0x164cde[_0x6ad7('0x2d')][_0x6ad7('0x19')]);_0x5a9c48['offset']=qs[_0x6ad7('0x17')](_0x164cde[_0x6ad7('0x2d')][_0x6ad7('0x17')]);}return _0x323c4c['getFields'](_0x5a9c48);}})[_0x6ad7('0x20')](function(_0x242f3d){if(_0x242f3d){return _0x242f3d?{'count':_0x4c3274,'rows':_0x242f3d}:null;}})[_0x6ad7('0x20')](respondWithResult(_0x2b84e0,null))[_0x6ad7('0x3f')](handleError(_0x2b84e0,null));};exports[_0x6ad7('0x47')]=function(_0x1b46a1,_0x363aa0,_0x296539){var _0x98dee5={};var _0x5291a5={};var _0x48426e;var _0x1c57f2;return db[_0x6ad7('0x28')]['findOne']({'where':{'id':_0x1b46a1[_0x6ad7('0x43')]['id']}})[_0x6ad7('0x20')](handleEntityNotFound(_0x363aa0,null))[_0x6ad7('0x20')](function(_0x53b5db){if(_0x53b5db){_0x48426e=_0x53b5db;_0x5291a5[_0x6ad7('0x2c')]=_[_0x6ad7('0x40')](db[_0x6ad7('0x45')][_0x6ad7('0x29')]);_0x5291a5[_0x6ad7('0x2d')]=_[_0x6ad7('0x40')](_0x1b46a1['query']);_0x5291a5[_0x6ad7('0x2e')]=_[_0x6ad7('0x2f')](_0x5291a5[_0x6ad7('0x2c')],_0x5291a5[_0x6ad7('0x2d')]);_0x98dee5['attributes']=_[_0x6ad7('0x2f')](_0x5291a5[_0x6ad7('0x2c')],qs[_0x6ad7('0x31')](_0x1b46a1[_0x6ad7('0x2d')][_0x6ad7('0x31')]));_0x98dee5[_0x6ad7('0x30')]=_0x98dee5['attributes'][_0x6ad7('0x32')]?_0x98dee5[_0x6ad7('0x30')]:_0x5291a5[_0x6ad7('0x2c')];_0x98dee5[_0x6ad7('0x35')]=qs['sort'](_0x1b46a1[_0x6ad7('0x2d')][_0x6ad7('0x36')]);_0x98dee5['where']=qs[_0x6ad7('0x2e')](_[_0x6ad7('0x46')](_0x1b46a1[_0x6ad7('0x2d')],_0x5291a5[_0x6ad7('0x2e')]));if(_0x1b46a1[_0x6ad7('0x2d')][_0x6ad7('0x37')]){_0x98dee5['where']=_[_0x6ad7('0x39')](_0x98dee5[_0x6ad7('0x38')],{'$or':_['map'](_0x98dee5[_0x6ad7('0x30')],function(_0x33900f){var _0x1ddb07={};_0x1ddb07[_0x33900f]={'$like':'%'+_0x1b46a1[_0x6ad7('0x2d')][_0x6ad7('0x37')]+'%'};return _0x1ddb07;})});}_0x98dee5=_['merge']({},_0x98dee5,_0x1b46a1[_0x6ad7('0x3a')]);return _0x48426e[_0x6ad7('0x47')](_0x98dee5);}})[_0x6ad7('0x20')](function(_0x38eab4){if(_0x38eab4){_0x1c57f2=_0x38eab4[_0x6ad7('0x32')];if(!_0x1b46a1[_0x6ad7('0x2d')][_0x6ad7('0x33')](_0x6ad7('0x34'))){_0x98dee5['limit']=qs[_0x6ad7('0x19')](_0x1b46a1[_0x6ad7('0x2d')][_0x6ad7('0x19')]);_0x98dee5[_0x6ad7('0x17')]=qs[_0x6ad7('0x17')](_0x1b46a1['query'][_0x6ad7('0x17')]);}return _0x48426e[_0x6ad7('0x47')](_0x98dee5);}})['then'](function(_0x3fd3d6){if(_0x3fd3d6){return _0x3fd3d6?{'count':_0x1c57f2,'rows':_0x3fd3d6}:null;}})[_0x6ad7('0x20')](respondWithResult(_0x363aa0,null))['catch'](handleError(_0x363aa0,null));};exports[_0x6ad7('0x48')]=function(_0x5256f2,_0x552f42,_0x54ae12){var _0x16b9cc={};var _0x8601b={};var _0x367e86;var _0xff9b8;return db['FreshdeskConfiguration'][_0x6ad7('0x49')]({'where':{'id':_0x5256f2[_0x6ad7('0x43')]['id']}})[_0x6ad7('0x20')](handleEntityNotFound(_0x552f42,null))[_0x6ad7('0x20')](function(_0x1ab8e1){if(_0x1ab8e1){_0x367e86=_0x1ab8e1;_0x8601b[_0x6ad7('0x2c')]=_['keys'](db[_0x6ad7('0x45')]['rawAttributes']);_0x8601b[_0x6ad7('0x2d')]=_[_0x6ad7('0x40')](_0x5256f2[_0x6ad7('0x2d')]);_0x8601b[_0x6ad7('0x2e')]=_[_0x6ad7('0x2f')](_0x8601b[_0x6ad7('0x2c')],_0x8601b['query']);_0x16b9cc[_0x6ad7('0x30')]=_[_0x6ad7('0x2f')](_0x8601b[_0x6ad7('0x2c')],qs['fields'](_0x5256f2[_0x6ad7('0x2d')]['fields']));_0x16b9cc[_0x6ad7('0x30')]=_0x16b9cc[_0x6ad7('0x30')][_0x6ad7('0x32')]?_0x16b9cc[_0x6ad7('0x30')]:_0x8601b[_0x6ad7('0x2c')];_0x16b9cc[_0x6ad7('0x35')]=qs[_0x6ad7('0x36')](_0x5256f2[_0x6ad7('0x2d')][_0x6ad7('0x36')]);_0x16b9cc[_0x6ad7('0x38')]=qs['filters'](_['pick'](_0x5256f2[_0x6ad7('0x2d')],_0x8601b['filters']));if(_0x5256f2[_0x6ad7('0x2d')][_0x6ad7('0x37')]){_0x16b9cc[_0x6ad7('0x38')]=_[_0x6ad7('0x39')](_0x16b9cc[_0x6ad7('0x38')],{'$or':_[_0x6ad7('0x27')](_0x16b9cc[_0x6ad7('0x30')],function(_0x2e7ebd){var _0x4f45ac={};_0x4f45ac[_0x2e7ebd]={'$like':'%'+_0x5256f2['query'][_0x6ad7('0x37')]+'%'};return _0x4f45ac;})});}_0x16b9cc=_[_0x6ad7('0x39')]({},_0x16b9cc,_0x5256f2[_0x6ad7('0x3a')]);return _0x367e86['getDescriptions'](_0x16b9cc);}})[_0x6ad7('0x20')](function(_0x1fc273){if(_0x1fc273){_0xff9b8=_0x1fc273[_0x6ad7('0x32')];if(!_0x5256f2[_0x6ad7('0x2d')][_0x6ad7('0x33')](_0x6ad7('0x34'))){_0x16b9cc[_0x6ad7('0x19')]=qs[_0x6ad7('0x19')](_0x5256f2[_0x6ad7('0x2d')][_0x6ad7('0x19')]);_0x16b9cc[_0x6ad7('0x17')]=qs[_0x6ad7('0x17')](_0x5256f2[_0x6ad7('0x2d')]['offset']);}return _0x367e86['getDescriptions'](_0x16b9cc);}})['then'](function(_0x2c7bf1){if(_0x2c7bf1){return _0x2c7bf1?{'count':_0xff9b8,'rows':_0x2c7bf1}:null;}})[_0x6ad7('0x20')](respondWithResult(_0x552f42,null))['catch'](handleError(_0x552f42,null));};exports[_0x6ad7('0x4a')]=function(_0x542bd0,_0x25e805,_0x3cf54f){var _0x56d593={};var _0x157a86={};var _0x119c13;var _0x3715a0;return db[_0x6ad7('0x28')][_0x6ad7('0x49')]({'where':{'id':_0x542bd0[_0x6ad7('0x43')]['id']}})[_0x6ad7('0x20')](handleEntityNotFound(_0x25e805,null))[_0x6ad7('0x20')](function(_0x475255){if(_0x475255){_0x119c13=_0x475255;_0x157a86['model']=_[_0x6ad7('0x40')](db['Tag']['rawAttributes']);_0x157a86[_0x6ad7('0x2d')]=_['keys'](_0x542bd0[_0x6ad7('0x2d')]);_0x157a86['filters']=_['intersection'](_0x157a86[_0x6ad7('0x2c')],_0x157a86[_0x6ad7('0x2d')]);_0x56d593[_0x6ad7('0x30')]=_[_0x6ad7('0x2f')](_0x157a86[_0x6ad7('0x2c')],qs[_0x6ad7('0x31')](_0x542bd0[_0x6ad7('0x2d')]['fields']));_0x56d593['attributes']=_0x56d593[_0x6ad7('0x30')][_0x6ad7('0x32')]?_0x56d593['attributes']:_0x157a86[_0x6ad7('0x2c')];_0x56d593[_0x6ad7('0x35')]=qs[_0x6ad7('0x36')](_0x542bd0[_0x6ad7('0x2d')][_0x6ad7('0x36')]);_0x56d593[_0x6ad7('0x38')]=qs[_0x6ad7('0x2e')](_[_0x6ad7('0x46')](_0x542bd0[_0x6ad7('0x2d')],_0x157a86['filters']));if(_0x542bd0[_0x6ad7('0x2d')][_0x6ad7('0x37')]){_0x56d593['where']=_[_0x6ad7('0x39')](_0x56d593['where'],{'$or':_[_0x6ad7('0x27')](_0x56d593['attributes'],function(_0x2e41f2){var _0x470279={};_0x470279[_0x2e41f2]={'$like':'%'+_0x542bd0[_0x6ad7('0x2d')][_0x6ad7('0x37')]+'%'};return _0x470279;})});}_0x56d593=_[_0x6ad7('0x39')]({},_0x56d593,_0x542bd0[_0x6ad7('0x3a')]);return _0x119c13[_0x6ad7('0x4a')](_0x56d593);}})[_0x6ad7('0x20')](function(_0xb2033){if(_0xb2033){_0x3715a0=_0xb2033['length'];if(!_0x542bd0[_0x6ad7('0x2d')]['hasOwnProperty']('nolimit')){_0x56d593[_0x6ad7('0x19')]=qs[_0x6ad7('0x19')](_0x542bd0['query']['limit']);_0x56d593['offset']=qs[_0x6ad7('0x17')](_0x542bd0[_0x6ad7('0x2d')][_0x6ad7('0x17')]);}return _0x119c13['getTags'](_0x56d593);}})['then'](function(_0x52417d){if(_0x52417d){return _0x52417d?{'count':_0x3715a0,'rows':_0x52417d}:null;}})['then'](respondWithResult(_0x25e805,null))[_0x6ad7('0x3f')](handleError(_0x25e805,null));};exports[_0x6ad7('0x4b')]=function(_0x4e35b,_0x50aba8,_0x21d416){if(_0x4e35b['body']['id']){delete _0x4e35b[_0x6ad7('0x42')]['id'];}return db[_0x6ad7('0x28')]['findOne']({'where':{'id':_0x4e35b['params']['id']}})[_0x6ad7('0x20')](handleEntityNotFound(_0x50aba8,null))[_0x6ad7('0x20')](function(_0x376c69){if(_0x376c69){return _0x376c69[_0x6ad7('0x4b')](_0x4e35b['body']['ids']||[]);}return null;})[_0x6ad7('0x20')](respondWithResult(_0x50aba8,null))[_0x6ad7('0x3f')](handleError(_0x50aba8,null));};