43258a38b6f9bbf1a1dc5486cccef3d04da8d506
[motion2.git] / server / api / intDeskConfiguration / intDeskConfiguration.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 _0x9957=['reject','save','update','destroy','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','merge','VIRTUAL','options','includeAll','include','DeskConfiguration','findAll','rows','show','find','create','body','params','getFields','DeskField','filter','getSubjects','findOne','pick','getDescriptions','Tag','getTags','setTags','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','DeskConfiguration,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','result','catch','sendStatus','status','end','json','count','offset','Content-Range'];(function(_0x2e22f2,_0x2df5d3){var _0x87c3ac=function(_0x5a0901){while(--_0x5a0901){_0x2e22f2['push'](_0x2e22f2['shift']());}};_0x87c3ac(++_0x2df5d3);}(_0x9957,0x93));var _0x7995=function(_0x2f5ac5,_0x1ee939){_0x2f5ac5=_0x2f5ac5-0x0;var _0x37c9a8=_0x9957[_0x2f5ac5];return _0x37c9a8;};'use strict';var pdf=require(_0x7995('0x0'));var emlformat=require(_0x7995('0x1'));var rimraf=require(_0x7995('0x2'));var zipdir=require(_0x7995('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7995('0x4'));var moment=require(_0x7995('0x5'));var BPromise=require(_0x7995('0x6'));var Mustache=require(_0x7995('0x7'));var util=require('util');var path=require(_0x7995('0x8'));var sox=require(_0x7995('0x9'));var csv=require(_0x7995('0xa'));var ejs=require(_0x7995('0xb'));var fs=require('fs');var _=require(_0x7995('0xc'));var squel=require(_0x7995('0xd'));var crypto=require('crypto');var jsforce=require(_0x7995('0xe'));var deskjs=require(_0x7995('0xf'));var toCsv=require('to-csv');var querystring=require(_0x7995('0x10'));var Papa=require(_0x7995('0x11'));var Redis=require(_0x7995('0x12'));var authService=require(_0x7995('0x13'));var qs=require(_0x7995('0x14'));var as=require(_0x7995('0x15'));var hardwareService=require(_0x7995('0x16'));var logger=require('../../config/logger')(_0x7995('0x17'));var utils=require(_0x7995('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x7995('0x19'));var db=require(_0x7995('0x1a'))['db'];var jayson=require(_0x7995('0x1b'));var client=jayson[_0x7995('0x1c')][_0x7995('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x23999f,_0x2bbe7a,_0x4cc004,_0x58f5ad){return new BPromise(function(_0x2b4e94,_0x2233dd){var _0x24b5bb=_0x58f5ad||client;return _0x24b5bb[_0x7995('0x1e')](_0x23999f,_0x4cc004)[_0x7995('0x1f')](function(_0x1a5310){logger[_0x7995('0x20')](_0x7995('0x21'),_0x2bbe7a,'request\x20sent');logger[_0x7995('0x22')]('DeskConfiguration,\x20%s,\x20%s,\x20%s',_0x2bbe7a,_0x7995('0x23'),JSON[_0x7995('0x24')](_0x1a5310));if(_0x1a5310[_0x7995('0x25')]){if(_0x1a5310[_0x7995('0x25')][_0x7995('0x26')]===0x1f4){logger[_0x7995('0x25')]('DeskConfiguration,\x20%s,\x20%s',_0x2bbe7a,_0x1a5310['error'][_0x7995('0x27')]);return _0x2233dd(_0x1a5310['error']['message']);}logger[_0x7995('0x25')](_0x7995('0x21'),_0x2bbe7a,_0x1a5310['error'][_0x7995('0x27')]);return _0x2b4e94(_0x1a5310['error']['message']);}else{logger[_0x7995('0x20')](_0x7995('0x21'),_0x2bbe7a,_0x7995('0x23'));_0x2b4e94(_0x1a5310[_0x7995('0x28')][_0x7995('0x27')]);}})[_0x7995('0x29')](function(_0x5d40ae){logger[_0x7995('0x25')](_0x7995('0x21'),_0x2bbe7a,_0x5d40ae);_0x2233dd(_0x5d40ae);});});}function respondWithStatusCode(_0x204507,_0x285437){_0x285437=_0x285437||0xcc;return function(_0x563799){if(_0x563799){return _0x204507[_0x7995('0x2a')](_0x285437);}return _0x204507[_0x7995('0x2b')](_0x285437)[_0x7995('0x2c')]();};}function respondWithResult(_0x59405a,_0x39df42){_0x39df42=_0x39df42||0xc8;return function(_0x34e70c){if(_0x34e70c){return _0x59405a[_0x7995('0x2b')](_0x39df42)[_0x7995('0x2d')](_0x34e70c);}};}function respondWithFilteredResult(_0x3a3fcf,_0x2a307e){return function(_0x56691a){if(_0x56691a){var _0x47625f=_0x56691a[_0x7995('0x2e')],_0x5911c3=_0x2a307e[_0x7995('0x2f')],_0x229742=_0x2a307e[_0x7995('0x2f')]+_0x2a307e['limit'],_0x49bc7e;if(_0x229742>=_0x47625f){_0x229742=_0x47625f;_0x49bc7e=0xc8;}else{_0x49bc7e=0xce;}_0x3a3fcf[_0x7995('0x2b')](_0x49bc7e);return _0x3a3fcf['set'](_0x7995('0x30'),_0x5911c3+'-'+_0x229742+'/'+_0x47625f)[_0x7995('0x2d')](_0x56691a);}return null;};}function patchUpdates(_0x4253e5){return function(_0x574574){try{jsonpatch['apply'](_0x574574,_0x4253e5,!![]);}catch(_0x48e573){return BPromise[_0x7995('0x31')](_0x48e573);}return _0x574574[_0x7995('0x32')]();};}function saveUpdates(_0x327a81,_0x2b874d){return function(_0x2e3493){if(_0x2e3493){return _0x2e3493[_0x7995('0x33')](_0x327a81)['then'](function(_0x481c74){return _0x481c74;});}return null;};}function removeEntity(_0xfa8f15,_0x5524af){return function(_0x553671){if(_0x553671){return _0x553671[_0x7995('0x34')]()[_0x7995('0x1f')](function(){_0xfa8f15[_0x7995('0x2b')](0xcc)[_0x7995('0x2c')]();});}};}function handleEntityNotFound(_0x510841,_0x44309d){return function(_0x33e24e){if(!_0x33e24e){_0x510841['sendStatus'](0x194);}return _0x33e24e;};}function handleError(_0x48db25,_0x577412){_0x577412=_0x577412||0x1f4;return function(_0x45bc5e){logger[_0x7995('0x25')](_0x45bc5e['stack']);if(_0x45bc5e[_0x7995('0x35')]){delete _0x45bc5e['name'];}_0x48db25[_0x7995('0x2b')](_0x577412)[_0x7995('0x36')](_0x45bc5e);};}exports[_0x7995('0x37')]=function(_0x5014d2,_0x52d76d){var _0x36d057={},_0x5e67fe={},_0x5d2428={'count':0x0,'rows':[]};var _0x3e99cd=_[_0x7995('0x38')](db['DeskConfiguration'][_0x7995('0x39')],function(_0x1922b4){return{'name':_0x1922b4[_0x7995('0x3a')],'type':_0x1922b4[_0x7995('0x3b')][_0x7995('0x3c')]};});_0x5e67fe['model']=_[_0x7995('0x38')](_0x3e99cd,_0x7995('0x35'));_0x5e67fe[_0x7995('0x3d')]=_[_0x7995('0x3e')](_0x5014d2['query']);_0x5e67fe[_0x7995('0x3f')]=_[_0x7995('0x40')](_0x5e67fe[_0x7995('0x41')],_0x5e67fe[_0x7995('0x3d')]);_0x36d057[_0x7995('0x42')]=_[_0x7995('0x40')](_0x5e67fe['model'],qs[_0x7995('0x43')](_0x5014d2[_0x7995('0x3d')][_0x7995('0x43')]));_0x36d057[_0x7995('0x42')]=_0x36d057[_0x7995('0x42')][_0x7995('0x44')]?_0x36d057[_0x7995('0x42')]:_0x5e67fe[_0x7995('0x41')];if(!_0x5014d2[_0x7995('0x3d')][_0x7995('0x45')](_0x7995('0x46'))){_0x36d057[_0x7995('0x47')]=qs[_0x7995('0x47')](_0x5014d2['query']['limit']);_0x36d057[_0x7995('0x2f')]=qs[_0x7995('0x2f')](_0x5014d2['query']['offset']);}_0x36d057[_0x7995('0x48')]=qs['sort'](_0x5014d2['query'][_0x7995('0x49')]);_0x36d057[_0x7995('0x4a')]=qs[_0x7995('0x3f')](_['pick'](_0x5014d2[_0x7995('0x3d')],_0x5e67fe['filters']),_0x3e99cd);if(_0x5014d2[_0x7995('0x3d')]['filter']){_0x36d057['where']=_[_0x7995('0x4b')](_0x36d057[_0x7995('0x4a')],{'$or':_[_0x7995('0x38')](_0x3e99cd,function(_0x3f1c35){if(_0x3f1c35['type']!==_0x7995('0x4c')){var _0x40fc68={};_0x40fc68[_0x3f1c35[_0x7995('0x35')]]={'$like':'%'+_0x5014d2[_0x7995('0x3d')]['filter']+'%'};return _0x40fc68;}})});}_0x36d057=_['merge']({},_0x36d057,_0x5014d2[_0x7995('0x4d')]);var _0x55791b={'where':_0x36d057[_0x7995('0x4a')]};return db['DeskConfiguration'][_0x7995('0x2e')](_0x55791b)['then'](function(_0x1e795e){_0x5d2428[_0x7995('0x2e')]=_0x1e795e;if(_0x5014d2['query'][_0x7995('0x4e')]){_0x36d057[_0x7995('0x4f')]=[{'all':!![]}];}return db[_0x7995('0x50')][_0x7995('0x51')](_0x36d057);})['then'](function(_0x2458cb){_0x5d2428[_0x7995('0x52')]=_0x2458cb;return _0x5d2428;})[_0x7995('0x1f')](respondWithFilteredResult(_0x52d76d,_0x36d057))['catch'](handleError(_0x52d76d,null));};exports[_0x7995('0x53')]=function(_0x44f516,_0x511567){var _0x3d8ae3={'raw':![],'where':{'id':_0x44f516['params']['id']}},_0x255313={};_0x255313[_0x7995('0x41')]=_[_0x7995('0x3e')](db['DeskConfiguration'][_0x7995('0x39')]);_0x255313['query']=_[_0x7995('0x3e')](_0x44f516[_0x7995('0x3d')]);_0x255313[_0x7995('0x3f')]=_[_0x7995('0x40')](_0x255313[_0x7995('0x41')],_0x255313[_0x7995('0x3d')]);_0x3d8ae3[_0x7995('0x42')]=_['intersection'](_0x255313[_0x7995('0x41')],qs[_0x7995('0x43')](_0x44f516[_0x7995('0x3d')]['fields']));_0x3d8ae3[_0x7995('0x42')]=_0x3d8ae3[_0x7995('0x42')][_0x7995('0x44')]?_0x3d8ae3['attributes']:_0x255313['model'];if(_0x44f516['query'][_0x7995('0x4e')]){_0x3d8ae3[_0x7995('0x4f')]=[{'all':!![]}];}_0x3d8ae3=_['merge']({},_0x3d8ae3,_0x44f516[_0x7995('0x4d')]);return db[_0x7995('0x50')][_0x7995('0x54')](_0x3d8ae3)[_0x7995('0x1f')](handleEntityNotFound(_0x511567,null))[_0x7995('0x1f')](respondWithResult(_0x511567,null))['catch'](handleError(_0x511567,null));};exports[_0x7995('0x55')]=function(_0x4ab09f,_0x14fe7f){return db[_0x7995('0x50')][_0x7995('0x55')](_0x4ab09f['body'],{})['then'](respondWithResult(_0x14fe7f,0xc9))['catch'](handleError(_0x14fe7f,null));};exports['update']=function(_0x2e13b0,_0x3709de){if(_0x2e13b0[_0x7995('0x56')]['id']){delete _0x2e13b0[_0x7995('0x56')]['id'];}return db[_0x7995('0x50')][_0x7995('0x54')]({'where':{'id':_0x2e13b0[_0x7995('0x57')]['id']}})[_0x7995('0x1f')](handleEntityNotFound(_0x3709de,null))[_0x7995('0x1f')](saveUpdates(_0x2e13b0[_0x7995('0x56')],null))[_0x7995('0x1f')](respondWithResult(_0x3709de,null))[_0x7995('0x29')](handleError(_0x3709de,null));};exports[_0x7995('0x34')]=function(_0x35bea3,_0x1ea1dc){return db[_0x7995('0x50')][_0x7995('0x54')]({'where':{'id':_0x35bea3[_0x7995('0x57')]['id']}})[_0x7995('0x1f')](handleEntityNotFound(_0x1ea1dc,null))['then'](removeEntity(_0x1ea1dc,null))[_0x7995('0x29')](handleError(_0x1ea1dc,null));};exports[_0x7995('0x58')]=function(_0x3b8a54,_0x32c0d3,_0x5d160d){var _0x53125a={};var _0x402fa0={};var _0x197b52;var _0x5b9467;return db[_0x7995('0x50')]['findOne']({'where':{'id':_0x3b8a54[_0x7995('0x57')]['id']}})[_0x7995('0x1f')](handleEntityNotFound(_0x32c0d3,null))[_0x7995('0x1f')](function(_0x33c49c){if(_0x33c49c){_0x197b52=_0x33c49c;_0x402fa0['model']=_['keys'](db[_0x7995('0x59')][_0x7995('0x39')]);_0x402fa0[_0x7995('0x3d')]=_[_0x7995('0x3e')](_0x3b8a54[_0x7995('0x3d')]);_0x402fa0[_0x7995('0x3f')]=_[_0x7995('0x40')](_0x402fa0[_0x7995('0x41')],_0x402fa0[_0x7995('0x3d')]);_0x53125a['attributes']=_[_0x7995('0x40')](_0x402fa0[_0x7995('0x41')],qs[_0x7995('0x43')](_0x3b8a54[_0x7995('0x3d')]['fields']));_0x53125a['attributes']=_0x53125a[_0x7995('0x42')][_0x7995('0x44')]?_0x53125a['attributes']:_0x402fa0[_0x7995('0x41')];_0x53125a[_0x7995('0x48')]=qs[_0x7995('0x49')](_0x3b8a54[_0x7995('0x3d')][_0x7995('0x49')]);_0x53125a['where']=qs[_0x7995('0x3f')](_['pick'](_0x3b8a54[_0x7995('0x3d')],_0x402fa0[_0x7995('0x3f')]));if(_0x3b8a54[_0x7995('0x3d')][_0x7995('0x5a')]){_0x53125a[_0x7995('0x4a')]=_[_0x7995('0x4b')](_0x53125a[_0x7995('0x4a')],{'$or':_[_0x7995('0x38')](_0x53125a[_0x7995('0x42')],function(_0x3f2bde){var _0x2618c4={};_0x2618c4[_0x3f2bde]={'$like':'%'+_0x3b8a54[_0x7995('0x3d')]['filter']+'%'};return _0x2618c4;})});}_0x53125a=_[_0x7995('0x4b')]({},_0x53125a,_0x3b8a54[_0x7995('0x4d')]);return _0x197b52[_0x7995('0x58')](_0x53125a);}})[_0x7995('0x1f')](function(_0x2c6548){if(_0x2c6548){_0x5b9467=_0x2c6548['length'];if(!_0x3b8a54['query'][_0x7995('0x45')](_0x7995('0x46'))){_0x53125a[_0x7995('0x47')]=qs[_0x7995('0x47')](_0x3b8a54['query'][_0x7995('0x47')]);_0x53125a['offset']=qs['offset'](_0x3b8a54[_0x7995('0x3d')][_0x7995('0x2f')]);}return _0x197b52[_0x7995('0x58')](_0x53125a);}})[_0x7995('0x1f')](function(_0x290eae){if(_0x290eae){return _0x290eae?{'count':_0x5b9467,'rows':_0x290eae}:null;}})[_0x7995('0x1f')](respondWithResult(_0x32c0d3,null))[_0x7995('0x29')](handleError(_0x32c0d3,null));};exports[_0x7995('0x5b')]=function(_0x3fde86,_0x2466df,_0x560b0a){var _0x2dc1f7={};var _0x8908cd={};var _0x3c5802;var _0x4cc247;return db[_0x7995('0x50')][_0x7995('0x5c')]({'where':{'id':_0x3fde86[_0x7995('0x57')]['id']}})[_0x7995('0x1f')](handleEntityNotFound(_0x2466df,null))[_0x7995('0x1f')](function(_0x51ab1e){if(_0x51ab1e){_0x3c5802=_0x51ab1e;_0x8908cd[_0x7995('0x41')]=_[_0x7995('0x3e')](db[_0x7995('0x59')][_0x7995('0x39')]);_0x8908cd[_0x7995('0x3d')]=_['keys'](_0x3fde86['query']);_0x8908cd[_0x7995('0x3f')]=_[_0x7995('0x40')](_0x8908cd[_0x7995('0x41')],_0x8908cd[_0x7995('0x3d')]);_0x2dc1f7['attributes']=_[_0x7995('0x40')](_0x8908cd[_0x7995('0x41')],qs['fields'](_0x3fde86['query'][_0x7995('0x43')]));_0x2dc1f7[_0x7995('0x42')]=_0x2dc1f7['attributes'][_0x7995('0x44')]?_0x2dc1f7['attributes']:_0x8908cd[_0x7995('0x41')];_0x2dc1f7[_0x7995('0x48')]=qs['sort'](_0x3fde86['query'][_0x7995('0x49')]);_0x2dc1f7['where']=qs[_0x7995('0x3f')](_[_0x7995('0x5d')](_0x3fde86[_0x7995('0x3d')],_0x8908cd[_0x7995('0x3f')]));if(_0x3fde86[_0x7995('0x3d')][_0x7995('0x5a')]){_0x2dc1f7[_0x7995('0x4a')]=_[_0x7995('0x4b')](_0x2dc1f7[_0x7995('0x4a')],{'$or':_[_0x7995('0x38')](_0x2dc1f7[_0x7995('0x42')],function(_0x16108c){var _0x10a2f5={};_0x10a2f5[_0x16108c]={'$like':'%'+_0x3fde86[_0x7995('0x3d')][_0x7995('0x5a')]+'%'};return _0x10a2f5;})});}_0x2dc1f7=_[_0x7995('0x4b')]({},_0x2dc1f7,_0x3fde86[_0x7995('0x4d')]);return _0x3c5802[_0x7995('0x5b')](_0x2dc1f7);}})[_0x7995('0x1f')](function(_0xa2fc8e){if(_0xa2fc8e){_0x4cc247=_0xa2fc8e[_0x7995('0x44')];if(!_0x3fde86[_0x7995('0x3d')][_0x7995('0x45')](_0x7995('0x46'))){_0x2dc1f7[_0x7995('0x47')]=qs[_0x7995('0x47')](_0x3fde86[_0x7995('0x3d')][_0x7995('0x47')]);_0x2dc1f7['offset']=qs[_0x7995('0x2f')](_0x3fde86[_0x7995('0x3d')]['offset']);}return _0x3c5802['getSubjects'](_0x2dc1f7);}})[_0x7995('0x1f')](function(_0x3fe8fc){if(_0x3fe8fc){return _0x3fe8fc?{'count':_0x4cc247,'rows':_0x3fe8fc}:null;}})[_0x7995('0x1f')](respondWithResult(_0x2466df,null))[_0x7995('0x29')](handleError(_0x2466df,null));};exports[_0x7995('0x5e')]=function(_0x2491fe,_0x5507a0,_0x2f8a2d){var _0xb68962={};var _0x3fea6a={};var _0x77b03f;var _0x7d9c6e;return db[_0x7995('0x50')][_0x7995('0x5c')]({'where':{'id':_0x2491fe[_0x7995('0x57')]['id']}})['then'](handleEntityNotFound(_0x5507a0,null))[_0x7995('0x1f')](function(_0x2b8217){if(_0x2b8217){_0x77b03f=_0x2b8217;_0x3fea6a['model']=_['keys'](db[_0x7995('0x59')][_0x7995('0x39')]);_0x3fea6a[_0x7995('0x3d')]=_[_0x7995('0x3e')](_0x2491fe[_0x7995('0x3d')]);_0x3fea6a['filters']=_[_0x7995('0x40')](_0x3fea6a[_0x7995('0x41')],_0x3fea6a['query']);_0xb68962[_0x7995('0x42')]=_[_0x7995('0x40')](_0x3fea6a['model'],qs[_0x7995('0x43')](_0x2491fe['query'][_0x7995('0x43')]));_0xb68962[_0x7995('0x42')]=_0xb68962[_0x7995('0x42')][_0x7995('0x44')]?_0xb68962[_0x7995('0x42')]:_0x3fea6a['model'];_0xb68962[_0x7995('0x48')]=qs[_0x7995('0x49')](_0x2491fe[_0x7995('0x3d')]['sort']);_0xb68962[_0x7995('0x4a')]=qs[_0x7995('0x3f')](_[_0x7995('0x5d')](_0x2491fe[_0x7995('0x3d')],_0x3fea6a['filters']));if(_0x2491fe[_0x7995('0x3d')][_0x7995('0x5a')]){_0xb68962[_0x7995('0x4a')]=_['merge'](_0xb68962['where'],{'$or':_[_0x7995('0x38')](_0xb68962[_0x7995('0x42')],function(_0x4800a8){var _0x590373={};_0x590373[_0x4800a8]={'$like':'%'+_0x2491fe[_0x7995('0x3d')][_0x7995('0x5a')]+'%'};return _0x590373;})});}_0xb68962=_[_0x7995('0x4b')]({},_0xb68962,_0x2491fe[_0x7995('0x4d')]);return _0x77b03f[_0x7995('0x5e')](_0xb68962);}})['then'](function(_0x56003d){if(_0x56003d){_0x7d9c6e=_0x56003d[_0x7995('0x44')];if(!_0x2491fe['query']['hasOwnProperty'](_0x7995('0x46'))){_0xb68962[_0x7995('0x47')]=qs[_0x7995('0x47')](_0x2491fe['query'][_0x7995('0x47')]);_0xb68962[_0x7995('0x2f')]=qs[_0x7995('0x2f')](_0x2491fe[_0x7995('0x3d')][_0x7995('0x2f')]);}return _0x77b03f['getDescriptions'](_0xb68962);}})[_0x7995('0x1f')](function(_0x41d9d1){if(_0x41d9d1){return _0x41d9d1?{'count':_0x7d9c6e,'rows':_0x41d9d1}:null;}})[_0x7995('0x1f')](respondWithResult(_0x5507a0,null))[_0x7995('0x29')](handleError(_0x5507a0,null));};exports['getTags']=function(_0x6b45fd,_0x38064a,_0x522110){var _0x310272={};var _0x20683e={};var _0x5b1528;var _0x135f7a;return db['DeskConfiguration'][_0x7995('0x5c')]({'where':{'id':_0x6b45fd['params']['id']}})[_0x7995('0x1f')](handleEntityNotFound(_0x38064a,null))['then'](function(_0xa97c08){if(_0xa97c08){_0x5b1528=_0xa97c08;_0x20683e[_0x7995('0x41')]=_['keys'](db[_0x7995('0x5f')]['rawAttributes']);_0x20683e['query']=_[_0x7995('0x3e')](_0x6b45fd[_0x7995('0x3d')]);_0x20683e[_0x7995('0x3f')]=_[_0x7995('0x40')](_0x20683e['model'],_0x20683e[_0x7995('0x3d')]);_0x310272[_0x7995('0x42')]=_['intersection'](_0x20683e['model'],qs[_0x7995('0x43')](_0x6b45fd['query'][_0x7995('0x43')]));_0x310272[_0x7995('0x42')]=_0x310272[_0x7995('0x42')]['length']?_0x310272['attributes']:_0x20683e[_0x7995('0x41')];_0x310272['order']=qs[_0x7995('0x49')](_0x6b45fd[_0x7995('0x3d')][_0x7995('0x49')]);_0x310272[_0x7995('0x4a')]=qs['filters'](_['pick'](_0x6b45fd['query'],_0x20683e[_0x7995('0x3f')]));if(_0x6b45fd[_0x7995('0x3d')][_0x7995('0x5a')]){_0x310272[_0x7995('0x4a')]=_[_0x7995('0x4b')](_0x310272[_0x7995('0x4a')],{'$or':_['map'](_0x310272['attributes'],function(_0x1a2902){var _0x5254e4={};_0x5254e4[_0x1a2902]={'$like':'%'+_0x6b45fd['query'][_0x7995('0x5a')]+'%'};return _0x5254e4;})});}_0x310272=_['merge']({},_0x310272,_0x6b45fd['options']);return _0x5b1528[_0x7995('0x60')](_0x310272);}})[_0x7995('0x1f')](function(_0x3873f3){if(_0x3873f3){_0x135f7a=_0x3873f3['length'];if(!_0x6b45fd[_0x7995('0x3d')][_0x7995('0x45')](_0x7995('0x46'))){_0x310272[_0x7995('0x47')]=qs[_0x7995('0x47')](_0x6b45fd[_0x7995('0x3d')][_0x7995('0x47')]);_0x310272[_0x7995('0x2f')]=qs[_0x7995('0x2f')](_0x6b45fd['query'][_0x7995('0x2f')]);}return _0x5b1528[_0x7995('0x60')](_0x310272);}})[_0x7995('0x1f')](function(_0x2056da){if(_0x2056da){return _0x2056da?{'count':_0x135f7a,'rows':_0x2056da}:null;}})[_0x7995('0x1f')](respondWithResult(_0x38064a,null))['catch'](handleError(_0x38064a,null));};exports[_0x7995('0x61')]=function(_0x9c67e5,_0x21fe4f,_0x58ca6f){if(_0x9c67e5['body']['id']){delete _0x9c67e5['body']['id'];}return db[_0x7995('0x50')][_0x7995('0x5c')]({'where':{'id':_0x9c67e5[_0x7995('0x57')]['id']}})[_0x7995('0x1f')](handleEntityNotFound(_0x21fe4f,null))[_0x7995('0x1f')](function(_0x3ad47c){if(_0x3ad47c){return _0x3ad47c['setTags'](_0x9c67e5[_0x7995('0x56')]['ids']||[]);}return null;})[_0x7995('0x1f')](respondWithResult(_0x21fe4f,null))[_0x7995('0x29')](handleError(_0x21fe4f,null));};