508c1a4bd700dcdcb71877c2d8f8d7d35f0e5ef0
[motion2.git] / server / api / intZendeskConfiguration / intZendeskConfiguration.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 _0x81ca=['to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','stack','name','send','index','map','ZendeskConfiguration','type','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','order','where','pick','filter','merge','includeAll','include','rows','catch','show','params','keys','options','create','body','find','getFields','ZendeskField','rawAttributes','length','sort','nolimit','getSubjects','findOne','getTags','setTags','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','ejs','fs-extra','squel','jsforce','desk.js'];(function(_0x1ae4a7,_0xf838d1){var _0x414bea=function(_0x5bb6a8){while(--_0x5bb6a8){_0x1ae4a7['push'](_0x1ae4a7['shift']());}};_0x414bea(++_0xf838d1);}(_0x81ca,0x187));var _0xa81c=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x81ca[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xa81c('0x0'));var rimraf=require(_0xa81c('0x1'));var zipdir=require(_0xa81c('0x2'));var jsonpatch=require(_0xa81c('0x3'));var rp=require('request-promise');var moment=require(_0xa81c('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xa81c('0x5'));var util=require(_0xa81c('0x6'));var path=require(_0xa81c('0x7'));var sox=require(_0xa81c('0x8'));var csv=require('to-csv');var ejs=require(_0xa81c('0x9'));var fs=require('fs');var fs_extra=require(_0xa81c('0xa'));var _=require('lodash');var squel=require(_0xa81c('0xb'));var crypto=require('crypto');var jsforce=require(_0xa81c('0xc'));var deskjs=require(_0xa81c('0xd'));var toCsv=require(_0xa81c('0xe'));var querystring=require(_0xa81c('0xf'));var Papa=require(_0xa81c('0x10'));var Redis=require(_0xa81c('0x11'));var authService=require(_0xa81c('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xa81c('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xa81c('0x14'));var utils=require(_0xa81c('0x15'));var config=require(_0xa81c('0x16'));var licenseUtil=require(_0xa81c('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x42eb12,_0x12b10b){_0x12b10b=_0x12b10b||0xcc;return function(_0x5cb54d){if(_0x5cb54d){return _0x42eb12['sendStatus'](_0x12b10b);}return _0x42eb12[_0xa81c('0x18')](_0x12b10b)[_0xa81c('0x19')]();};}function respondWithResult(_0x121ce0,_0x1d269b){_0x1d269b=_0x1d269b||0xc8;return function(_0x3da74d){if(_0x3da74d){return _0x121ce0[_0xa81c('0x18')](_0x1d269b)[_0xa81c('0x1a')](_0x3da74d);}};}function respondWithFilteredResult(_0x5be738,_0x1c3277){return function(_0x4802ce){if(_0x4802ce){var _0x33f28b=typeof _0x1c3277[_0xa81c('0x1b')]===_0xa81c('0x1c')&&typeof _0x1c3277[_0xa81c('0x1d')]===_0xa81c('0x1c');var _0x50b6c9=_0x4802ce['count'];var _0x38021=_0x33f28b?0x0:_0x1c3277[_0xa81c('0x1b')];var _0x4fe7ca=_0x33f28b?_0x4802ce[_0xa81c('0x1e')]:_0x1c3277['offset']+_0x1c3277[_0xa81c('0x1d')];var _0x362f4b;if(_0x4fe7ca>=_0x50b6c9){_0x4fe7ca=_0x50b6c9;_0x362f4b=0xc8;}else{_0x362f4b=0xce;}_0x5be738['status'](_0x362f4b);return _0x5be738[_0xa81c('0x1f')](_0xa81c('0x20'),_0x38021+'-'+_0x4fe7ca+'/'+_0x50b6c9)[_0xa81c('0x1a')](_0x4802ce);}return null;};}function patchUpdates(_0x351272){return function(_0x5e1cea){try{jsonpatch[_0xa81c('0x21')](_0x5e1cea,_0x351272,!![]);}catch(_0x3da7c8){return BPromise[_0xa81c('0x22')](_0x3da7c8);}return _0x5e1cea[_0xa81c('0x23')]();};}function saveUpdates(_0x5dfcd2,_0x2ed8e7){return function(_0x4a2bd3){if(_0x4a2bd3){return _0x4a2bd3[_0xa81c('0x24')](_0x5dfcd2)[_0xa81c('0x25')](function(_0x4bf261){return _0x4bf261;});}return null;};}function removeEntity(_0x1a1850,_0x501b76){return function(_0x53f403){if(_0x53f403){return _0x53f403[_0xa81c('0x26')]()['then'](function(){_0x1a1850['status'](0xcc)[_0xa81c('0x19')]();});}};}function handleEntityNotFound(_0x30f5f8,_0x54b7ea){return function(_0x10fc65){if(!_0x10fc65){_0x30f5f8[_0xa81c('0x27')](0x194);}return _0x10fc65;};}function handleError(_0x24751e,_0x54cc38){_0x54cc38=_0x54cc38||0x1f4;return function(_0xcd9d0e){logger['error'](_0xcd9d0e[_0xa81c('0x28')]);if(_0xcd9d0e[_0xa81c('0x29')]){delete _0xcd9d0e['name'];}_0x24751e[_0xa81c('0x18')](_0x54cc38)[_0xa81c('0x2a')](_0xcd9d0e);};}exports[_0xa81c('0x2b')]=function(_0x2e3885,_0x3602c0){var _0x36d0be={},_0x3f2963={},_0x3e1c8e={'count':0x0,'rows':[]};var _0x5d94ff=_[_0xa81c('0x2c')](db[_0xa81c('0x2d')]['rawAttributes'],function(_0x45841a){return{'name':_0x45841a['fieldName'],'type':_0x45841a[_0xa81c('0x2e')][_0xa81c('0x2f')]};});_0x3f2963[_0xa81c('0x30')]=_[_0xa81c('0x2c')](_0x5d94ff,_0xa81c('0x29'));_0x3f2963[_0xa81c('0x31')]=_['keys'](_0x2e3885[_0xa81c('0x31')]);_0x3f2963[_0xa81c('0x32')]=_[_0xa81c('0x33')](_0x3f2963['model'],_0x3f2963[_0xa81c('0x31')]);_0x36d0be['attributes']=_['intersection'](_0x3f2963['model'],qs[_0xa81c('0x34')](_0x2e3885[_0xa81c('0x31')][_0xa81c('0x34')]));_0x36d0be[_0xa81c('0x35')]=_0x36d0be['attributes']['length']?_0x36d0be[_0xa81c('0x35')]:_0x3f2963[_0xa81c('0x30')];if(!_0x2e3885[_0xa81c('0x31')][_0xa81c('0x36')]('nolimit')){_0x36d0be[_0xa81c('0x1d')]=qs['limit'](_0x2e3885[_0xa81c('0x31')][_0xa81c('0x1d')]);_0x36d0be['offset']=qs['offset'](_0x2e3885[_0xa81c('0x31')][_0xa81c('0x1b')]);}_0x36d0be[_0xa81c('0x37')]=qs['sort'](_0x2e3885[_0xa81c('0x31')]['sort']);_0x36d0be[_0xa81c('0x38')]=qs[_0xa81c('0x32')](_[_0xa81c('0x39')](_0x2e3885[_0xa81c('0x31')],_0x3f2963['filters']),_0x5d94ff);if(_0x2e3885[_0xa81c('0x31')][_0xa81c('0x3a')]){_0x36d0be['where']=_[_0xa81c('0x3b')](_0x36d0be[_0xa81c('0x38')],{'$or':_['map'](_0x5d94ff,function(_0x26ad72){if(_0x26ad72[_0xa81c('0x2e')]!=='VIRTUAL'){var _0x54bc97={};_0x54bc97[_0x26ad72['name']]={'$like':'%'+_0x2e3885[_0xa81c('0x31')][_0xa81c('0x3a')]+'%'};return _0x54bc97;}})});}_0x36d0be=_['merge']({},_0x36d0be,_0x2e3885['options']);var _0x1f7b6a={'where':_0x36d0be[_0xa81c('0x38')]};return db[_0xa81c('0x2d')]['count'](_0x1f7b6a)['then'](function(_0x385b6f){_0x3e1c8e['count']=_0x385b6f;if(_0x2e3885[_0xa81c('0x31')][_0xa81c('0x3c')]){_0x36d0be[_0xa81c('0x3d')]=[{'all':!![]}];}return db[_0xa81c('0x2d')]['findAll'](_0x36d0be);})['then'](function(_0xcb71c5){_0x3e1c8e[_0xa81c('0x3e')]=_0xcb71c5;return _0x3e1c8e;})['then'](respondWithFilteredResult(_0x3602c0,_0x36d0be))[_0xa81c('0x3f')](handleError(_0x3602c0,null));};exports[_0xa81c('0x40')]=function(_0x2e9c08,_0x15ecd8){var _0x3c70dd={'raw':![],'where':{'id':_0x2e9c08[_0xa81c('0x41')]['id']}},_0x12347c={};_0x12347c[_0xa81c('0x30')]=_[_0xa81c('0x42')](db[_0xa81c('0x2d')]['rawAttributes']);_0x12347c[_0xa81c('0x31')]=_[_0xa81c('0x42')](_0x2e9c08[_0xa81c('0x31')]);_0x12347c['filters']=_[_0xa81c('0x33')](_0x12347c[_0xa81c('0x30')],_0x12347c[_0xa81c('0x31')]);_0x3c70dd[_0xa81c('0x35')]=_[_0xa81c('0x33')](_0x12347c['model'],qs[_0xa81c('0x34')](_0x2e9c08[_0xa81c('0x31')][_0xa81c('0x34')]));_0x3c70dd['attributes']=_0x3c70dd['attributes']['length']?_0x3c70dd[_0xa81c('0x35')]:_0x12347c[_0xa81c('0x30')];if(_0x2e9c08[_0xa81c('0x31')]['includeAll']){_0x3c70dd['include']=[{'all':!![]}];}_0x3c70dd=_[_0xa81c('0x3b')]({},_0x3c70dd,_0x2e9c08[_0xa81c('0x43')]);return db[_0xa81c('0x2d')]['find'](_0x3c70dd)[_0xa81c('0x25')](handleEntityNotFound(_0x15ecd8,null))['then'](respondWithResult(_0x15ecd8,null))['catch'](handleError(_0x15ecd8,null));};exports[_0xa81c('0x44')]=function(_0x1179b7,_0x2e0d0a){return db[_0xa81c('0x2d')][_0xa81c('0x44')](_0x1179b7['body'],{})[_0xa81c('0x25')](respondWithResult(_0x2e0d0a,0xc9))[_0xa81c('0x3f')](handleError(_0x2e0d0a,null));};exports[_0xa81c('0x24')]=function(_0x1b3652,_0xbe1194){if(_0x1b3652[_0xa81c('0x45')]['id']){delete _0x1b3652[_0xa81c('0x45')]['id'];}return db['ZendeskConfiguration'][_0xa81c('0x46')]({'where':{'id':_0x1b3652['params']['id']}})[_0xa81c('0x25')](handleEntityNotFound(_0xbe1194,null))[_0xa81c('0x25')](saveUpdates(_0x1b3652[_0xa81c('0x45')],null))[_0xa81c('0x25')](respondWithResult(_0xbe1194,null))[_0xa81c('0x3f')](handleError(_0xbe1194,null));};exports['destroy']=function(_0x297e93,_0x42fb7e){return db[_0xa81c('0x2d')][_0xa81c('0x46')]({'where':{'id':_0x297e93[_0xa81c('0x41')]['id']}})[_0xa81c('0x25')](handleEntityNotFound(_0x42fb7e,null))[_0xa81c('0x25')](removeEntity(_0x42fb7e,null))[_0xa81c('0x3f')](handleError(_0x42fb7e,null));};exports[_0xa81c('0x47')]=function(_0xc653d0,_0x5a33d6,_0x461917){var _0x3e70e3={};var _0x31763b={};var _0x2a23e9;var _0x50a1f8;return db[_0xa81c('0x2d')]['findOne']({'where':{'id':_0xc653d0['params']['id']}})[_0xa81c('0x25')](handleEntityNotFound(_0x5a33d6,null))[_0xa81c('0x25')](function(_0x3d62de){if(_0x3d62de){_0x2a23e9=_0x3d62de;_0x31763b[_0xa81c('0x30')]=_[_0xa81c('0x42')](db[_0xa81c('0x48')][_0xa81c('0x49')]);_0x31763b[_0xa81c('0x31')]=_[_0xa81c('0x42')](_0xc653d0['query']);_0x31763b[_0xa81c('0x32')]=_[_0xa81c('0x33')](_0x31763b[_0xa81c('0x30')],_0x31763b['query']);_0x3e70e3[_0xa81c('0x35')]=_[_0xa81c('0x33')](_0x31763b['model'],qs[_0xa81c('0x34')](_0xc653d0[_0xa81c('0x31')][_0xa81c('0x34')]));_0x3e70e3[_0xa81c('0x35')]=_0x3e70e3[_0xa81c('0x35')][_0xa81c('0x4a')]?_0x3e70e3[_0xa81c('0x35')]:_0x31763b[_0xa81c('0x30')];_0x3e70e3[_0xa81c('0x37')]=qs[_0xa81c('0x4b')](_0xc653d0[_0xa81c('0x31')][_0xa81c('0x4b')]);_0x3e70e3['where']=qs[_0xa81c('0x32')](_[_0xa81c('0x39')](_0xc653d0[_0xa81c('0x31')],_0x31763b[_0xa81c('0x32')]));if(_0xc653d0[_0xa81c('0x31')][_0xa81c('0x3a')]){_0x3e70e3[_0xa81c('0x38')]=_[_0xa81c('0x3b')](_0x3e70e3[_0xa81c('0x38')],{'$or':_[_0xa81c('0x2c')](_0x3e70e3['attributes'],function(_0x5ba9d4){var _0x143106={};_0x143106[_0x5ba9d4]={'$like':'%'+_0xc653d0['query'][_0xa81c('0x3a')]+'%'};return _0x143106;})});}_0x3e70e3=_[_0xa81c('0x3b')]({},_0x3e70e3,_0xc653d0[_0xa81c('0x43')]);return _0x2a23e9['getFields'](_0x3e70e3);}})['then'](function(_0x261adc){if(_0x261adc){_0x50a1f8=_0x261adc[_0xa81c('0x4a')];if(!_0xc653d0[_0xa81c('0x31')][_0xa81c('0x36')](_0xa81c('0x4c'))){_0x3e70e3[_0xa81c('0x1d')]=qs['limit'](_0xc653d0['query'][_0xa81c('0x1d')]);_0x3e70e3[_0xa81c('0x1b')]=qs['offset'](_0xc653d0['query'][_0xa81c('0x1b')]);}return _0x2a23e9[_0xa81c('0x47')](_0x3e70e3);}})['then'](function(_0x3afc88){if(_0x3afc88){return _0x3afc88?{'count':_0x50a1f8,'rows':_0x3afc88}:null;}})[_0xa81c('0x25')](respondWithResult(_0x5a33d6,null))[_0xa81c('0x3f')](handleError(_0x5a33d6,null));};exports[_0xa81c('0x4d')]=function(_0x2e7d7f,_0x34a748,_0x22c20c){var _0x270dd8={};var _0x239f23={};var _0x3ccef1;var _0x9766a5;return db['ZendeskConfiguration']['findOne']({'where':{'id':_0x2e7d7f['params']['id']}})[_0xa81c('0x25')](handleEntityNotFound(_0x34a748,null))['then'](function(_0x5134ac){if(_0x5134ac){_0x3ccef1=_0x5134ac;_0x239f23['model']=_[_0xa81c('0x42')](db[_0xa81c('0x48')]['rawAttributes']);_0x239f23[_0xa81c('0x31')]=_[_0xa81c('0x42')](_0x2e7d7f[_0xa81c('0x31')]);_0x239f23[_0xa81c('0x32')]=_[_0xa81c('0x33')](_0x239f23[_0xa81c('0x30')],_0x239f23[_0xa81c('0x31')]);_0x270dd8[_0xa81c('0x35')]=_[_0xa81c('0x33')](_0x239f23[_0xa81c('0x30')],qs[_0xa81c('0x34')](_0x2e7d7f[_0xa81c('0x31')]['fields']));_0x270dd8[_0xa81c('0x35')]=_0x270dd8['attributes']['length']?_0x270dd8[_0xa81c('0x35')]:_0x239f23['model'];_0x270dd8[_0xa81c('0x37')]=qs[_0xa81c('0x4b')](_0x2e7d7f[_0xa81c('0x31')][_0xa81c('0x4b')]);_0x270dd8[_0xa81c('0x38')]=qs['filters'](_[_0xa81c('0x39')](_0x2e7d7f['query'],_0x239f23[_0xa81c('0x32')]));if(_0x2e7d7f[_0xa81c('0x31')]['filter']){_0x270dd8['where']=_[_0xa81c('0x3b')](_0x270dd8[_0xa81c('0x38')],{'$or':_[_0xa81c('0x2c')](_0x270dd8[_0xa81c('0x35')],function(_0x1476a5){var _0x15bb07={};_0x15bb07[_0x1476a5]={'$like':'%'+_0x2e7d7f[_0xa81c('0x31')][_0xa81c('0x3a')]+'%'};return _0x15bb07;})});}_0x270dd8=_[_0xa81c('0x3b')]({},_0x270dd8,_0x2e7d7f[_0xa81c('0x43')]);return _0x3ccef1[_0xa81c('0x4d')](_0x270dd8);}})[_0xa81c('0x25')](function(_0x44b9cb){if(_0x44b9cb){_0x9766a5=_0x44b9cb['length'];if(!_0x2e7d7f['query'][_0xa81c('0x36')]('nolimit')){_0x270dd8[_0xa81c('0x1d')]=qs['limit'](_0x2e7d7f[_0xa81c('0x31')][_0xa81c('0x1d')]);_0x270dd8['offset']=qs[_0xa81c('0x1b')](_0x2e7d7f[_0xa81c('0x31')][_0xa81c('0x1b')]);}return _0x3ccef1['getSubjects'](_0x270dd8);}})[_0xa81c('0x25')](function(_0x114e8b){if(_0x114e8b){return _0x114e8b?{'count':_0x9766a5,'rows':_0x114e8b}:null;}})[_0xa81c('0x25')](respondWithResult(_0x34a748,null))['catch'](handleError(_0x34a748,null));};exports['getDescriptions']=function(_0x4f426b,_0x5a9a55,_0x3e8e24){var _0x14b731={};var _0x41ccec={};var _0x2ea629;var _0x25c2e8;return db['ZendeskConfiguration'][_0xa81c('0x4e')]({'where':{'id':_0x4f426b[_0xa81c('0x41')]['id']}})[_0xa81c('0x25')](handleEntityNotFound(_0x5a9a55,null))['then'](function(_0x1db970){if(_0x1db970){_0x2ea629=_0x1db970;_0x41ccec['model']=_['keys'](db[_0xa81c('0x48')][_0xa81c('0x49')]);_0x41ccec[_0xa81c('0x31')]=_[_0xa81c('0x42')](_0x4f426b['query']);_0x41ccec[_0xa81c('0x32')]=_[_0xa81c('0x33')](_0x41ccec[_0xa81c('0x30')],_0x41ccec[_0xa81c('0x31')]);_0x14b731[_0xa81c('0x35')]=_[_0xa81c('0x33')](_0x41ccec[_0xa81c('0x30')],qs['fields'](_0x4f426b[_0xa81c('0x31')][_0xa81c('0x34')]));_0x14b731['attributes']=_0x14b731[_0xa81c('0x35')][_0xa81c('0x4a')]?_0x14b731['attributes']:_0x41ccec[_0xa81c('0x30')];_0x14b731['order']=qs[_0xa81c('0x4b')](_0x4f426b[_0xa81c('0x31')]['sort']);_0x14b731[_0xa81c('0x38')]=qs[_0xa81c('0x32')](_[_0xa81c('0x39')](_0x4f426b[_0xa81c('0x31')],_0x41ccec[_0xa81c('0x32')]));if(_0x4f426b[_0xa81c('0x31')][_0xa81c('0x3a')]){_0x14b731['where']=_[_0xa81c('0x3b')](_0x14b731[_0xa81c('0x38')],{'$or':_[_0xa81c('0x2c')](_0x14b731[_0xa81c('0x35')],function(_0x37ae72){var _0x40342b={};_0x40342b[_0x37ae72]={'$like':'%'+_0x4f426b['query'][_0xa81c('0x3a')]+'%'};return _0x40342b;})});}_0x14b731=_[_0xa81c('0x3b')]({},_0x14b731,_0x4f426b[_0xa81c('0x43')]);return _0x2ea629['getDescriptions'](_0x14b731);}})[_0xa81c('0x25')](function(_0x3e5f7d){if(_0x3e5f7d){_0x25c2e8=_0x3e5f7d[_0xa81c('0x4a')];if(!_0x4f426b['query'][_0xa81c('0x36')](_0xa81c('0x4c'))){_0x14b731[_0xa81c('0x1d')]=qs[_0xa81c('0x1d')](_0x4f426b[_0xa81c('0x31')][_0xa81c('0x1d')]);_0x14b731['offset']=qs['offset'](_0x4f426b['query']['offset']);}return _0x2ea629['getDescriptions'](_0x14b731);}})[_0xa81c('0x25')](function(_0x41db05){if(_0x41db05){return _0x41db05?{'count':_0x25c2e8,'rows':_0x41db05}:null;}})[_0xa81c('0x25')](respondWithResult(_0x5a9a55,null))[_0xa81c('0x3f')](handleError(_0x5a9a55,null));};exports[_0xa81c('0x4f')]=function(_0xec9380,_0x590f4e,_0x365a05){var _0x31ff46={};var _0x1bf5f5={};var _0x47fc50;var _0x2d64c5;return db['ZendeskConfiguration'][_0xa81c('0x4e')]({'where':{'id':_0xec9380[_0xa81c('0x41')]['id']}})[_0xa81c('0x25')](handleEntityNotFound(_0x590f4e,null))[_0xa81c('0x25')](function(_0x8b2905){if(_0x8b2905){_0x47fc50=_0x8b2905;_0x1bf5f5[_0xa81c('0x30')]=_['keys'](db['Tag']['rawAttributes']);_0x1bf5f5[_0xa81c('0x31')]=_['keys'](_0xec9380[_0xa81c('0x31')]);_0x1bf5f5[_0xa81c('0x32')]=_[_0xa81c('0x33')](_0x1bf5f5['model'],_0x1bf5f5[_0xa81c('0x31')]);_0x31ff46['attributes']=_[_0xa81c('0x33')](_0x1bf5f5[_0xa81c('0x30')],qs[_0xa81c('0x34')](_0xec9380[_0xa81c('0x31')][_0xa81c('0x34')]));_0x31ff46['attributes']=_0x31ff46[_0xa81c('0x35')][_0xa81c('0x4a')]?_0x31ff46[_0xa81c('0x35')]:_0x1bf5f5['model'];_0x31ff46[_0xa81c('0x37')]=qs[_0xa81c('0x4b')](_0xec9380[_0xa81c('0x31')][_0xa81c('0x4b')]);_0x31ff46['where']=qs[_0xa81c('0x32')](_['pick'](_0xec9380[_0xa81c('0x31')],_0x1bf5f5[_0xa81c('0x32')]));if(_0xec9380[_0xa81c('0x31')]['filter']){_0x31ff46['where']=_[_0xa81c('0x3b')](_0x31ff46[_0xa81c('0x38')],{'$or':_[_0xa81c('0x2c')](_0x31ff46[_0xa81c('0x35')],function(_0x52916b){var _0x3ed853={};_0x3ed853[_0x52916b]={'$like':'%'+_0xec9380[_0xa81c('0x31')]['filter']+'%'};return _0x3ed853;})});}_0x31ff46=_[_0xa81c('0x3b')]({},_0x31ff46,_0xec9380[_0xa81c('0x43')]);return _0x47fc50[_0xa81c('0x4f')](_0x31ff46);}})[_0xa81c('0x25')](function(_0x5c1eaa){if(_0x5c1eaa){_0x2d64c5=_0x5c1eaa[_0xa81c('0x4a')];if(!_0xec9380[_0xa81c('0x31')][_0xa81c('0x36')](_0xa81c('0x4c'))){_0x31ff46[_0xa81c('0x1d')]=qs[_0xa81c('0x1d')](_0xec9380[_0xa81c('0x31')][_0xa81c('0x1d')]);_0x31ff46[_0xa81c('0x1b')]=qs[_0xa81c('0x1b')](_0xec9380[_0xa81c('0x31')][_0xa81c('0x1b')]);}return _0x47fc50['getTags'](_0x31ff46);}})[_0xa81c('0x25')](function(_0x5a4479){if(_0x5a4479){return _0x5a4479?{'count':_0x2d64c5,'rows':_0x5a4479}:null;}})[_0xa81c('0x25')](respondWithResult(_0x590f4e,null))[_0xa81c('0x3f')](handleError(_0x590f4e,null));};exports[_0xa81c('0x50')]=function(_0x46359f,_0x55a33d,_0x93bad2){if(_0x46359f['body']['id']){delete _0x46359f[_0xa81c('0x45')]['id'];}return db[_0xa81c('0x2d')][_0xa81c('0x4e')]({'where':{'id':_0x46359f[_0xa81c('0x41')]['id']}})[_0xa81c('0x25')](handleEntityNotFound(_0x55a33d,null))['then'](function(_0x214384){if(_0x214384){return _0x214384[_0xa81c('0x50')](_0x46359f['body']['ids']||[]);}return null;})[_0xa81c('0x25')](respondWithResult(_0x55a33d,null))[_0xa81c('0x3f')](handleError(_0x55a33d,null));};