1bcfb39c2692a7edce35847916de0be30e66a54f
[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 _0xecb2=['DeskConfiguration','count','includeAll','include','findAll','then','rows','catch','show','keys','find','create','body','update','params','getFields','findOne','DeskField','order','sort','getSubjects','getDescriptions','nolimit','getTags','Tag','setTags','rimraf','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','set','apply','reject','save','destroy','error','stack','name','index','rawAttributes','type','key','map','query','intersection','model','fields','attributes','length','hasOwnProperty','filters','pick','filter','where','VIRTUAL','merge','options'];(function(_0x5d6e30,_0xc21d51){var _0x3d3f3b=function(_0x33597b){while(--_0x33597b){_0x5d6e30['push'](_0x5d6e30['shift']());}};_0x3d3f3b(++_0xc21d51);}(_0xecb2,0x110));var _0x2ecb=function(_0x1609a1,_0x48d644){_0x1609a1=_0x1609a1-0x0;var _0x21ab85=_0xecb2[_0x1609a1];return _0x21ab85;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2ecb('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x2ecb('0x1'));var moment=require(_0x2ecb('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x2ecb('0x3'));var util=require(_0x2ecb('0x4'));var path=require(_0x2ecb('0x5'));var sox=require(_0x2ecb('0x6'));var csv=require(_0x2ecb('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2ecb('0x8'));var _=require('lodash');var squel=require(_0x2ecb('0x9'));var crypto=require(_0x2ecb('0xa'));var jsforce=require(_0x2ecb('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x2ecb('0x7'));var querystring=require(_0x2ecb('0xc'));var Papa=require(_0x2ecb('0xd'));var Redis=require(_0x2ecb('0xe'));var authService=require(_0x2ecb('0xf'));var qs=require(_0x2ecb('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2ecb('0x11'));var logger=require('../../config/logger')(_0x2ecb('0x12'));var utils=require('../../config/utils');var config=require(_0x2ecb('0x13'));var licenseUtil=require(_0x2ecb('0x14'));var db=require(_0x2ecb('0x15'))['db'];function respondWithStatusCode(_0x10db47,_0x1efc20){_0x1efc20=_0x1efc20||0xcc;return function(_0x57ae5b){if(_0x57ae5b){return _0x10db47[_0x2ecb('0x16')](_0x1efc20);}return _0x10db47[_0x2ecb('0x17')](_0x1efc20)[_0x2ecb('0x18')]();};}function respondWithResult(_0x47ff86,_0x3ce5a7){_0x3ce5a7=_0x3ce5a7||0xc8;return function(_0x38b6d8){if(_0x38b6d8){return _0x47ff86[_0x2ecb('0x17')](_0x3ce5a7)[_0x2ecb('0x19')](_0x38b6d8);}};}function respondWithFilteredResult(_0x21144c,_0x2cf9ac){return function(_0x39b60a){if(_0x39b60a){var _0x3b7525=typeof _0x2cf9ac[_0x2ecb('0x1a')]==='undefined'&&typeof _0x2cf9ac[_0x2ecb('0x1b')]===_0x2ecb('0x1c');var _0x558778=_0x39b60a['count'];var _0x4f2cb0=_0x3b7525?0x0:_0x2cf9ac[_0x2ecb('0x1a')];var _0x5c46c7=_0x3b7525?_0x39b60a['count']:_0x2cf9ac[_0x2ecb('0x1a')]+_0x2cf9ac['limit'];var _0x2f4d7a;if(_0x5c46c7>=_0x558778){_0x5c46c7=_0x558778;_0x2f4d7a=0xc8;}else{_0x2f4d7a=0xce;}_0x21144c['status'](_0x2f4d7a);return _0x21144c[_0x2ecb('0x1d')]('Content-Range',_0x4f2cb0+'-'+_0x5c46c7+'/'+_0x558778)['json'](_0x39b60a);}return null;};}function patchUpdates(_0x3a74ef){return function(_0x368b3e){try{jsonpatch[_0x2ecb('0x1e')](_0x368b3e,_0x3a74ef,!![]);}catch(_0x1d5d6b){return BPromise[_0x2ecb('0x1f')](_0x1d5d6b);}return _0x368b3e[_0x2ecb('0x20')]();};}function saveUpdates(_0x357329,_0x42d0f1){return function(_0x3ab6fd){if(_0x3ab6fd){return _0x3ab6fd['update'](_0x357329)['then'](function(_0x443daa){return _0x443daa;});}return null;};}function removeEntity(_0x1bc674,_0x5659c3){return function(_0x208a34){if(_0x208a34){return _0x208a34[_0x2ecb('0x21')]()['then'](function(){_0x1bc674['status'](0xcc)[_0x2ecb('0x18')]();});}};}function handleEntityNotFound(_0x309031,_0x118661){return function(_0x463ec4){if(!_0x463ec4){_0x309031[_0x2ecb('0x16')](0x194);}return _0x463ec4;};}function handleError(_0x58556d,_0x4732ea){_0x4732ea=_0x4732ea||0x1f4;return function(_0x33fa24){logger[_0x2ecb('0x22')](_0x33fa24[_0x2ecb('0x23')]);if(_0x33fa24['name']){delete _0x33fa24[_0x2ecb('0x24')];}_0x58556d[_0x2ecb('0x17')](_0x4732ea)['send'](_0x33fa24);};}exports[_0x2ecb('0x25')]=function(_0x34f5c8,_0x5b514f){var _0x58b90f={},_0x160c68={},_0x2ef80a={'count':0x0,'rows':[]};var _0x75513d=_['map'](db['DeskConfiguration'][_0x2ecb('0x26')],function(_0x3a2607){return{'name':_0x3a2607['fieldName'],'type':_0x3a2607[_0x2ecb('0x27')][_0x2ecb('0x28')]};});_0x160c68['model']=_[_0x2ecb('0x29')](_0x75513d,_0x2ecb('0x24'));_0x160c68[_0x2ecb('0x2a')]=_['keys'](_0x34f5c8[_0x2ecb('0x2a')]);_0x160c68['filters']=_[_0x2ecb('0x2b')](_0x160c68[_0x2ecb('0x2c')],_0x160c68[_0x2ecb('0x2a')]);_0x58b90f['attributes']=_[_0x2ecb('0x2b')](_0x160c68[_0x2ecb('0x2c')],qs[_0x2ecb('0x2d')](_0x34f5c8[_0x2ecb('0x2a')][_0x2ecb('0x2d')]));_0x58b90f[_0x2ecb('0x2e')]=_0x58b90f[_0x2ecb('0x2e')][_0x2ecb('0x2f')]?_0x58b90f[_0x2ecb('0x2e')]:_0x160c68[_0x2ecb('0x2c')];if(!_0x34f5c8[_0x2ecb('0x2a')][_0x2ecb('0x30')]('nolimit')){_0x58b90f[_0x2ecb('0x1b')]=qs[_0x2ecb('0x1b')](_0x34f5c8[_0x2ecb('0x2a')][_0x2ecb('0x1b')]);_0x58b90f['offset']=qs[_0x2ecb('0x1a')](_0x34f5c8[_0x2ecb('0x2a')][_0x2ecb('0x1a')]);}_0x58b90f['order']=qs['sort'](_0x34f5c8[_0x2ecb('0x2a')]['sort']);_0x58b90f['where']=qs[_0x2ecb('0x31')](_[_0x2ecb('0x32')](_0x34f5c8['query'],_0x160c68[_0x2ecb('0x31')]),_0x75513d);if(_0x34f5c8[_0x2ecb('0x2a')][_0x2ecb('0x33')]){_0x58b90f[_0x2ecb('0x34')]=_['merge'](_0x58b90f[_0x2ecb('0x34')],{'$or':_[_0x2ecb('0x29')](_0x75513d,function(_0x150ac1){if(_0x150ac1['type']!==_0x2ecb('0x35')){var _0x531e7d={};_0x531e7d[_0x150ac1['name']]={'$like':'%'+_0x34f5c8['query']['filter']+'%'};return _0x531e7d;}})});}_0x58b90f=_[_0x2ecb('0x36')]({},_0x58b90f,_0x34f5c8[_0x2ecb('0x37')]);var _0x2929cd={'where':_0x58b90f[_0x2ecb('0x34')]};return db[_0x2ecb('0x38')][_0x2ecb('0x39')](_0x2929cd)['then'](function(_0x4b6170){_0x2ef80a[_0x2ecb('0x39')]=_0x4b6170;if(_0x34f5c8[_0x2ecb('0x2a')][_0x2ecb('0x3a')]){_0x58b90f[_0x2ecb('0x3b')]=[{'all':!![]}];}return db[_0x2ecb('0x38')][_0x2ecb('0x3c')](_0x58b90f);})[_0x2ecb('0x3d')](function(_0x535b08){_0x2ef80a[_0x2ecb('0x3e')]=_0x535b08;return _0x2ef80a;})[_0x2ecb('0x3d')](respondWithFilteredResult(_0x5b514f,_0x58b90f))[_0x2ecb('0x3f')](handleError(_0x5b514f,null));};exports[_0x2ecb('0x40')]=function(_0x118dce,_0x29b7fa){var _0x2f7fe5={'raw':![],'where':{'id':_0x118dce['params']['id']}},_0x20575a={};_0x20575a[_0x2ecb('0x2c')]=_[_0x2ecb('0x41')](db[_0x2ecb('0x38')][_0x2ecb('0x26')]);_0x20575a[_0x2ecb('0x2a')]=_[_0x2ecb('0x41')](_0x118dce[_0x2ecb('0x2a')]);_0x20575a[_0x2ecb('0x31')]=_[_0x2ecb('0x2b')](_0x20575a[_0x2ecb('0x2c')],_0x20575a[_0x2ecb('0x2a')]);_0x2f7fe5[_0x2ecb('0x2e')]=_[_0x2ecb('0x2b')](_0x20575a[_0x2ecb('0x2c')],qs[_0x2ecb('0x2d')](_0x118dce[_0x2ecb('0x2a')]['fields']));_0x2f7fe5[_0x2ecb('0x2e')]=_0x2f7fe5['attributes'][_0x2ecb('0x2f')]?_0x2f7fe5[_0x2ecb('0x2e')]:_0x20575a[_0x2ecb('0x2c')];if(_0x118dce[_0x2ecb('0x2a')][_0x2ecb('0x3a')]){_0x2f7fe5[_0x2ecb('0x3b')]=[{'all':!![]}];}_0x2f7fe5=_['merge']({},_0x2f7fe5,_0x118dce[_0x2ecb('0x37')]);return db[_0x2ecb('0x38')][_0x2ecb('0x42')](_0x2f7fe5)[_0x2ecb('0x3d')](handleEntityNotFound(_0x29b7fa,null))[_0x2ecb('0x3d')](respondWithResult(_0x29b7fa,null))[_0x2ecb('0x3f')](handleError(_0x29b7fa,null));};exports['create']=function(_0x13cf65,_0x290f80){return db['DeskConfiguration'][_0x2ecb('0x43')](_0x13cf65[_0x2ecb('0x44')],{})[_0x2ecb('0x3d')](respondWithResult(_0x290f80,0xc9))['catch'](handleError(_0x290f80,null));};exports[_0x2ecb('0x45')]=function(_0x5a189b,_0x4c1341){if(_0x5a189b[_0x2ecb('0x44')]['id']){delete _0x5a189b[_0x2ecb('0x44')]['id'];}return db[_0x2ecb('0x38')][_0x2ecb('0x42')]({'where':{'id':_0x5a189b[_0x2ecb('0x46')]['id']}})['then'](handleEntityNotFound(_0x4c1341,null))[_0x2ecb('0x3d')](saveUpdates(_0x5a189b[_0x2ecb('0x44')],null))[_0x2ecb('0x3d')](respondWithResult(_0x4c1341,null))[_0x2ecb('0x3f')](handleError(_0x4c1341,null));};exports[_0x2ecb('0x21')]=function(_0x14f07e,_0x829509){return db[_0x2ecb('0x38')][_0x2ecb('0x42')]({'where':{'id':_0x14f07e[_0x2ecb('0x46')]['id']}})[_0x2ecb('0x3d')](handleEntityNotFound(_0x829509,null))[_0x2ecb('0x3d')](removeEntity(_0x829509,null))[_0x2ecb('0x3f')](handleError(_0x829509,null));};exports[_0x2ecb('0x47')]=function(_0x4c81fb,_0x3423a9,_0x4cc7f4){var _0x57428d={};var _0x5d31cb={};var _0x4ccd75;var _0x51d069;return db['DeskConfiguration'][_0x2ecb('0x48')]({'where':{'id':_0x4c81fb['params']['id']}})['then'](handleEntityNotFound(_0x3423a9,null))[_0x2ecb('0x3d')](function(_0xafadcb){if(_0xafadcb){_0x4ccd75=_0xafadcb;_0x5d31cb[_0x2ecb('0x2c')]=_[_0x2ecb('0x41')](db[_0x2ecb('0x49')][_0x2ecb('0x26')]);_0x5d31cb['query']=_[_0x2ecb('0x41')](_0x4c81fb[_0x2ecb('0x2a')]);_0x5d31cb[_0x2ecb('0x31')]=_[_0x2ecb('0x2b')](_0x5d31cb[_0x2ecb('0x2c')],_0x5d31cb[_0x2ecb('0x2a')]);_0x57428d['attributes']=_[_0x2ecb('0x2b')](_0x5d31cb[_0x2ecb('0x2c')],qs[_0x2ecb('0x2d')](_0x4c81fb[_0x2ecb('0x2a')][_0x2ecb('0x2d')]));_0x57428d['attributes']=_0x57428d[_0x2ecb('0x2e')][_0x2ecb('0x2f')]?_0x57428d[_0x2ecb('0x2e')]:_0x5d31cb['model'];_0x57428d[_0x2ecb('0x4a')]=qs['sort'](_0x4c81fb[_0x2ecb('0x2a')][_0x2ecb('0x4b')]);_0x57428d['where']=qs[_0x2ecb('0x31')](_[_0x2ecb('0x32')](_0x4c81fb['query'],_0x5d31cb[_0x2ecb('0x31')]));if(_0x4c81fb[_0x2ecb('0x2a')]['filter']){_0x57428d[_0x2ecb('0x34')]=_[_0x2ecb('0x36')](_0x57428d['where'],{'$or':_['map'](_0x57428d[_0x2ecb('0x2e')],function(_0x1053e0){var _0x196980={};_0x196980[_0x1053e0]={'$like':'%'+_0x4c81fb[_0x2ecb('0x2a')][_0x2ecb('0x33')]+'%'};return _0x196980;})});}_0x57428d=_['merge']({},_0x57428d,_0x4c81fb[_0x2ecb('0x37')]);return _0x4ccd75[_0x2ecb('0x47')](_0x57428d);}})['then'](function(_0x2cb4b1){if(_0x2cb4b1){_0x51d069=_0x2cb4b1[_0x2ecb('0x2f')];if(!_0x4c81fb[_0x2ecb('0x2a')]['hasOwnProperty']('nolimit')){_0x57428d[_0x2ecb('0x1b')]=qs['limit'](_0x4c81fb[_0x2ecb('0x2a')][_0x2ecb('0x1b')]);_0x57428d[_0x2ecb('0x1a')]=qs[_0x2ecb('0x1a')](_0x4c81fb[_0x2ecb('0x2a')]['offset']);}return _0x4ccd75['getFields'](_0x57428d);}})[_0x2ecb('0x3d')](function(_0x21c03b){if(_0x21c03b){return _0x21c03b?{'count':_0x51d069,'rows':_0x21c03b}:null;}})[_0x2ecb('0x3d')](respondWithResult(_0x3423a9,null))[_0x2ecb('0x3f')](handleError(_0x3423a9,null));};exports[_0x2ecb('0x4c')]=function(_0x193b4f,_0x1b1d62,_0x41b66b){var _0x166a76={};var _0x2ba51a={};var _0x2a22b5;var _0x3afaab;return db[_0x2ecb('0x38')]['findOne']({'where':{'id':_0x193b4f[_0x2ecb('0x46')]['id']}})[_0x2ecb('0x3d')](handleEntityNotFound(_0x1b1d62,null))['then'](function(_0x6f041d){if(_0x6f041d){_0x2a22b5=_0x6f041d;_0x2ba51a[_0x2ecb('0x2c')]=_[_0x2ecb('0x41')](db[_0x2ecb('0x49')][_0x2ecb('0x26')]);_0x2ba51a['query']=_[_0x2ecb('0x41')](_0x193b4f[_0x2ecb('0x2a')]);_0x2ba51a[_0x2ecb('0x31')]=_['intersection'](_0x2ba51a[_0x2ecb('0x2c')],_0x2ba51a[_0x2ecb('0x2a')]);_0x166a76[_0x2ecb('0x2e')]=_[_0x2ecb('0x2b')](_0x2ba51a[_0x2ecb('0x2c')],qs[_0x2ecb('0x2d')](_0x193b4f['query']['fields']));_0x166a76['attributes']=_0x166a76['attributes'][_0x2ecb('0x2f')]?_0x166a76[_0x2ecb('0x2e')]:_0x2ba51a['model'];_0x166a76[_0x2ecb('0x4a')]=qs[_0x2ecb('0x4b')](_0x193b4f[_0x2ecb('0x2a')][_0x2ecb('0x4b')]);_0x166a76[_0x2ecb('0x34')]=qs[_0x2ecb('0x31')](_['pick'](_0x193b4f['query'],_0x2ba51a[_0x2ecb('0x31')]));if(_0x193b4f[_0x2ecb('0x2a')][_0x2ecb('0x33')]){_0x166a76[_0x2ecb('0x34')]=_[_0x2ecb('0x36')](_0x166a76['where'],{'$or':_['map'](_0x166a76[_0x2ecb('0x2e')],function(_0x586e0e){var _0x536aa8={};_0x536aa8[_0x586e0e]={'$like':'%'+_0x193b4f[_0x2ecb('0x2a')][_0x2ecb('0x33')]+'%'};return _0x536aa8;})});}_0x166a76=_[_0x2ecb('0x36')]({},_0x166a76,_0x193b4f[_0x2ecb('0x37')]);return _0x2a22b5[_0x2ecb('0x4c')](_0x166a76);}})[_0x2ecb('0x3d')](function(_0x51df96){if(_0x51df96){_0x3afaab=_0x51df96[_0x2ecb('0x2f')];if(!_0x193b4f['query'][_0x2ecb('0x30')]('nolimit')){_0x166a76[_0x2ecb('0x1b')]=qs[_0x2ecb('0x1b')](_0x193b4f[_0x2ecb('0x2a')][_0x2ecb('0x1b')]);_0x166a76[_0x2ecb('0x1a')]=qs[_0x2ecb('0x1a')](_0x193b4f[_0x2ecb('0x2a')][_0x2ecb('0x1a')]);}return _0x2a22b5[_0x2ecb('0x4c')](_0x166a76);}})[_0x2ecb('0x3d')](function(_0x289aaf){if(_0x289aaf){return _0x289aaf?{'count':_0x3afaab,'rows':_0x289aaf}:null;}})[_0x2ecb('0x3d')](respondWithResult(_0x1b1d62,null))[_0x2ecb('0x3f')](handleError(_0x1b1d62,null));};exports[_0x2ecb('0x4d')]=function(_0x36ccd1,_0x12870a,_0x34cde6){var _0x3702f9={};var _0x341167={};var _0xb1e8b3;var _0xdd5f7a;return db['DeskConfiguration'][_0x2ecb('0x48')]({'where':{'id':_0x36ccd1[_0x2ecb('0x46')]['id']}})[_0x2ecb('0x3d')](handleEntityNotFound(_0x12870a,null))[_0x2ecb('0x3d')](function(_0x311146){if(_0x311146){_0xb1e8b3=_0x311146;_0x341167[_0x2ecb('0x2c')]=_['keys'](db['DeskField'][_0x2ecb('0x26')]);_0x341167['query']=_[_0x2ecb('0x41')](_0x36ccd1[_0x2ecb('0x2a')]);_0x341167[_0x2ecb('0x31')]=_['intersection'](_0x341167[_0x2ecb('0x2c')],_0x341167[_0x2ecb('0x2a')]);_0x3702f9[_0x2ecb('0x2e')]=_[_0x2ecb('0x2b')](_0x341167[_0x2ecb('0x2c')],qs[_0x2ecb('0x2d')](_0x36ccd1[_0x2ecb('0x2a')][_0x2ecb('0x2d')]));_0x3702f9[_0x2ecb('0x2e')]=_0x3702f9[_0x2ecb('0x2e')]['length']?_0x3702f9['attributes']:_0x341167[_0x2ecb('0x2c')];_0x3702f9['order']=qs[_0x2ecb('0x4b')](_0x36ccd1[_0x2ecb('0x2a')]['sort']);_0x3702f9[_0x2ecb('0x34')]=qs[_0x2ecb('0x31')](_['pick'](_0x36ccd1[_0x2ecb('0x2a')],_0x341167['filters']));if(_0x36ccd1[_0x2ecb('0x2a')]['filter']){_0x3702f9['where']=_[_0x2ecb('0x36')](_0x3702f9[_0x2ecb('0x34')],{'$or':_[_0x2ecb('0x29')](_0x3702f9[_0x2ecb('0x2e')],function(_0x1d53eb){var _0x62f0d={};_0x62f0d[_0x1d53eb]={'$like':'%'+_0x36ccd1[_0x2ecb('0x2a')]['filter']+'%'};return _0x62f0d;})});}_0x3702f9=_[_0x2ecb('0x36')]({},_0x3702f9,_0x36ccd1[_0x2ecb('0x37')]);return _0xb1e8b3['getDescriptions'](_0x3702f9);}})[_0x2ecb('0x3d')](function(_0x29ebc9){if(_0x29ebc9){_0xdd5f7a=_0x29ebc9['length'];if(!_0x36ccd1[_0x2ecb('0x2a')]['hasOwnProperty'](_0x2ecb('0x4e'))){_0x3702f9['limit']=qs[_0x2ecb('0x1b')](_0x36ccd1['query']['limit']);_0x3702f9[_0x2ecb('0x1a')]=qs['offset'](_0x36ccd1[_0x2ecb('0x2a')][_0x2ecb('0x1a')]);}return _0xb1e8b3[_0x2ecb('0x4d')](_0x3702f9);}})['then'](function(_0x11b9b3){if(_0x11b9b3){return _0x11b9b3?{'count':_0xdd5f7a,'rows':_0x11b9b3}:null;}})['then'](respondWithResult(_0x12870a,null))[_0x2ecb('0x3f')](handleError(_0x12870a,null));};exports[_0x2ecb('0x4f')]=function(_0x258329,_0x494fd5,_0x432a76){var _0x164280={};var _0x3f4069={};var _0x96338a;var _0x2c9ade;return db[_0x2ecb('0x38')][_0x2ecb('0x48')]({'where':{'id':_0x258329['params']['id']}})[_0x2ecb('0x3d')](handleEntityNotFound(_0x494fd5,null))[_0x2ecb('0x3d')](function(_0x5155a7){if(_0x5155a7){_0x96338a=_0x5155a7;_0x3f4069['model']=_[_0x2ecb('0x41')](db[_0x2ecb('0x50')][_0x2ecb('0x26')]);_0x3f4069[_0x2ecb('0x2a')]=_['keys'](_0x258329[_0x2ecb('0x2a')]);_0x3f4069[_0x2ecb('0x31')]=_[_0x2ecb('0x2b')](_0x3f4069['model'],_0x3f4069['query']);_0x164280[_0x2ecb('0x2e')]=_[_0x2ecb('0x2b')](_0x3f4069['model'],qs[_0x2ecb('0x2d')](_0x258329[_0x2ecb('0x2a')]['fields']));_0x164280[_0x2ecb('0x2e')]=_0x164280[_0x2ecb('0x2e')]['length']?_0x164280[_0x2ecb('0x2e')]:_0x3f4069[_0x2ecb('0x2c')];_0x164280['order']=qs[_0x2ecb('0x4b')](_0x258329[_0x2ecb('0x2a')][_0x2ecb('0x4b')]);_0x164280[_0x2ecb('0x34')]=qs['filters'](_[_0x2ecb('0x32')](_0x258329[_0x2ecb('0x2a')],_0x3f4069[_0x2ecb('0x31')]));if(_0x258329[_0x2ecb('0x2a')][_0x2ecb('0x33')]){_0x164280[_0x2ecb('0x34')]=_['merge'](_0x164280[_0x2ecb('0x34')],{'$or':_[_0x2ecb('0x29')](_0x164280['attributes'],function(_0x25eb1a){var _0x2c921f={};_0x2c921f[_0x25eb1a]={'$like':'%'+_0x258329[_0x2ecb('0x2a')][_0x2ecb('0x33')]+'%'};return _0x2c921f;})});}_0x164280=_[_0x2ecb('0x36')]({},_0x164280,_0x258329[_0x2ecb('0x37')]);return _0x96338a['getTags'](_0x164280);}})[_0x2ecb('0x3d')](function(_0x30c6b2){if(_0x30c6b2){_0x2c9ade=_0x30c6b2[_0x2ecb('0x2f')];if(!_0x258329['query'][_0x2ecb('0x30')]('nolimit')){_0x164280[_0x2ecb('0x1b')]=qs[_0x2ecb('0x1b')](_0x258329[_0x2ecb('0x2a')]['limit']);_0x164280[_0x2ecb('0x1a')]=qs[_0x2ecb('0x1a')](_0x258329[_0x2ecb('0x2a')][_0x2ecb('0x1a')]);}return _0x96338a[_0x2ecb('0x4f')](_0x164280);}})[_0x2ecb('0x3d')](function(_0x404a6f){if(_0x404a6f){return _0x404a6f?{'count':_0x2c9ade,'rows':_0x404a6f}:null;}})['then'](respondWithResult(_0x494fd5,null))['catch'](handleError(_0x494fd5,null));};exports[_0x2ecb('0x51')]=function(_0x298333,_0x1c5a15,_0x11b6a2){if(_0x298333[_0x2ecb('0x44')]['id']){delete _0x298333[_0x2ecb('0x44')]['id'];}return db[_0x2ecb('0x38')][_0x2ecb('0x48')]({'where':{'id':_0x298333['params']['id']}})[_0x2ecb('0x3d')](handleEntityNotFound(_0x1c5a15,null))['then'](function(_0x5660dc){if(_0x5660dc){return _0x5660dc['setTags'](_0x298333[_0x2ecb('0x44')]['ids']||[]);}return null;})['then'](respondWithResult(_0x1c5a15,null))[_0x2ecb('0x3f')](handleError(_0x1c5a15,null));};