3d5f8748bafd21b6c78dab22861af4441c18714a
[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 _0x1e62=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','save','then','error','stack','name','send','index','map','FreshdeskConfiguration','rawAttributes','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','filter','type','VIRTUAL','options','includeAll','include','rows','catch','show','params','keys','merge','find','create','body','destroy','getFields','findOne','FreshdeskField','order','pick','getSubjects','getDescriptions','getTags','Tag','setTags','ids','eml-format','rimraf','zip-dir','request-promise','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js'];(function(_0x40dc85,_0x14e2b5){var _0x5e9047=function(_0x3381ae){while(--_0x3381ae){_0x40dc85['push'](_0x40dc85['shift']());}};_0x5e9047(++_0x14e2b5);}(_0x1e62,0xf1));var _0x21e6=function(_0x31a196,_0x48ce16){_0x31a196=_0x31a196-0x0;var _0x13144c=_0x1e62[_0x31a196];return _0x13144c;};'use strict';var emlformat=require(_0x21e6('0x0'));var rimraf=require(_0x21e6('0x1'));var zipdir=require(_0x21e6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x21e6('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x21e6('0x4'));var path=require(_0x21e6('0x5'));var sox=require(_0x21e6('0x6'));var csv=require(_0x21e6('0x7'));var ejs=require(_0x21e6('0x8'));var fs=require('fs');var fs_extra=require(_0x21e6('0x9'));var _=require(_0x21e6('0xa'));var squel=require(_0x21e6('0xb'));var crypto=require('crypto');var jsforce=require(_0x21e6('0xc'));var deskjs=require(_0x21e6('0xd'));var toCsv=require(_0x21e6('0x7'));var querystring=require(_0x21e6('0xe'));var Papa=require(_0x21e6('0xf'));var Redis=require(_0x21e6('0x10'));var authService=require(_0x21e6('0x11'));var qs=require(_0x21e6('0x12'));var as=require(_0x21e6('0x13'));var hardwareService=require(_0x21e6('0x14'));var logger=require('../../config/logger')('api');var utils=require(_0x21e6('0x15'));var config=require(_0x21e6('0x16'));var licenseUtil=require(_0x21e6('0x17'));var db=require(_0x21e6('0x18'))['db'];function respondWithStatusCode(_0x19f9ab,_0x34a779){_0x34a779=_0x34a779||0xcc;return function(_0x1f0284){if(_0x1f0284){return _0x19f9ab[_0x21e6('0x19')](_0x34a779);}return _0x19f9ab[_0x21e6('0x1a')](_0x34a779)[_0x21e6('0x1b')]();};}function respondWithResult(_0x2edbc2,_0x5988db){_0x5988db=_0x5988db||0xc8;return function(_0x3f9e00){if(_0x3f9e00){return _0x2edbc2['status'](_0x5988db)[_0x21e6('0x1c')](_0x3f9e00);}};}function respondWithFilteredResult(_0x4b3008,_0x3e3ff8){return function(_0x553f57){if(_0x553f57){var _0x15db07=typeof _0x3e3ff8[_0x21e6('0x1d')]===_0x21e6('0x1e')&&typeof _0x3e3ff8['limit']===_0x21e6('0x1e');var _0x12be00=_0x553f57['count'];var _0xf916fb=_0x15db07?0x0:_0x3e3ff8[_0x21e6('0x1d')];var _0x2c8417=_0x15db07?_0x553f57[_0x21e6('0x1f')]:_0x3e3ff8[_0x21e6('0x1d')]+_0x3e3ff8[_0x21e6('0x20')];var _0xfd8736;if(_0x2c8417>=_0x12be00){_0x2c8417=_0x12be00;_0xfd8736=0xc8;}else{_0xfd8736=0xce;}_0x4b3008[_0x21e6('0x1a')](_0xfd8736);return _0x4b3008['set'](_0x21e6('0x21'),_0xf916fb+'-'+_0x2c8417+'/'+_0x12be00)[_0x21e6('0x1c')](_0x553f57);}return null;};}function patchUpdates(_0x2420f6){return function(_0x21b9c5){try{jsonpatch[_0x21e6('0x22')](_0x21b9c5,_0x2420f6,!![]);}catch(_0x3128c4){return BPromise[_0x21e6('0x23')](_0x3128c4);}return _0x21b9c5[_0x21e6('0x24')]();};}function saveUpdates(_0x32226a,_0x4fcbf8){return function(_0x421b59){if(_0x421b59){return _0x421b59['update'](_0x32226a)[_0x21e6('0x25')](function(_0x10a6cf){return _0x10a6cf;});}return null;};}function removeEntity(_0x37ed16,_0x461147){return function(_0x5a619d){if(_0x5a619d){return _0x5a619d['destroy']()['then'](function(){_0x37ed16['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xb4fcca,_0x35af8f){return function(_0x618bcb){if(!_0x618bcb){_0xb4fcca['sendStatus'](0x194);}return _0x618bcb;};}function handleError(_0x23005c,_0x1fa2b9){_0x1fa2b9=_0x1fa2b9||0x1f4;return function(_0x5b250d){logger[_0x21e6('0x26')](_0x5b250d[_0x21e6('0x27')]);if(_0x5b250d[_0x21e6('0x28')]){delete _0x5b250d[_0x21e6('0x28')];}_0x23005c[_0x21e6('0x1a')](_0x1fa2b9)[_0x21e6('0x29')](_0x5b250d);};}exports[_0x21e6('0x2a')]=function(_0xb37d78,_0x3372e2){var _0x5947a9={},_0x572ca3={},_0x29dca7={'count':0x0,'rows':[]};var _0x4c3e47=_[_0x21e6('0x2b')](db[_0x21e6('0x2c')][_0x21e6('0x2d')],function(_0xc47069){return{'name':_0xc47069['fieldName'],'type':_0xc47069['type'][_0x21e6('0x2e')]};});_0x572ca3[_0x21e6('0x2f')]=_[_0x21e6('0x2b')](_0x4c3e47,'name');_0x572ca3[_0x21e6('0x30')]=_['keys'](_0xb37d78[_0x21e6('0x30')]);_0x572ca3[_0x21e6('0x31')]=_[_0x21e6('0x32')](_0x572ca3[_0x21e6('0x2f')],_0x572ca3[_0x21e6('0x30')]);_0x5947a9['attributes']=_[_0x21e6('0x32')](_0x572ca3[_0x21e6('0x2f')],qs[_0x21e6('0x33')](_0xb37d78[_0x21e6('0x30')][_0x21e6('0x33')]));_0x5947a9[_0x21e6('0x34')]=_0x5947a9[_0x21e6('0x34')][_0x21e6('0x35')]?_0x5947a9[_0x21e6('0x34')]:_0x572ca3[_0x21e6('0x2f')];if(!_0xb37d78[_0x21e6('0x30')][_0x21e6('0x36')](_0x21e6('0x37'))){_0x5947a9[_0x21e6('0x20')]=qs[_0x21e6('0x20')](_0xb37d78[_0x21e6('0x30')][_0x21e6('0x20')]);_0x5947a9[_0x21e6('0x1d')]=qs[_0x21e6('0x1d')](_0xb37d78['query'][_0x21e6('0x1d')]);}_0x5947a9['order']=qs[_0x21e6('0x38')](_0xb37d78[_0x21e6('0x30')][_0x21e6('0x38')]);_0x5947a9[_0x21e6('0x39')]=qs[_0x21e6('0x31')](_['pick'](_0xb37d78[_0x21e6('0x30')],_0x572ca3[_0x21e6('0x31')]),_0x4c3e47);if(_0xb37d78[_0x21e6('0x30')][_0x21e6('0x3a')]){_0x5947a9[_0x21e6('0x39')]=_['merge'](_0x5947a9['where'],{'$or':_[_0x21e6('0x2b')](_0x4c3e47,function(_0x4848f6){if(_0x4848f6[_0x21e6('0x3b')]!==_0x21e6('0x3c')){var _0x178d7b={};_0x178d7b[_0x4848f6[_0x21e6('0x28')]]={'$like':'%'+_0xb37d78[_0x21e6('0x30')]['filter']+'%'};return _0x178d7b;}})});}_0x5947a9=_['merge']({},_0x5947a9,_0xb37d78[_0x21e6('0x3d')]);var _0x45101d={'where':_0x5947a9[_0x21e6('0x39')]};return db[_0x21e6('0x2c')]['count'](_0x45101d)['then'](function(_0x21b35b){_0x29dca7[_0x21e6('0x1f')]=_0x21b35b;if(_0xb37d78[_0x21e6('0x30')][_0x21e6('0x3e')]){_0x5947a9[_0x21e6('0x3f')]=[{'all':!![]}];}return db[_0x21e6('0x2c')]['findAll'](_0x5947a9);})[_0x21e6('0x25')](function(_0x5b4d62){_0x29dca7[_0x21e6('0x40')]=_0x5b4d62;return _0x29dca7;})['then'](respondWithFilteredResult(_0x3372e2,_0x5947a9))[_0x21e6('0x41')](handleError(_0x3372e2,null));};exports[_0x21e6('0x42')]=function(_0x4d1c42,_0x23197a){var _0x1ce6a7={'raw':![],'where':{'id':_0x4d1c42[_0x21e6('0x43')]['id']}},_0x22d76c={};_0x22d76c[_0x21e6('0x2f')]=_[_0x21e6('0x44')](db['FreshdeskConfiguration']['rawAttributes']);_0x22d76c[_0x21e6('0x30')]=_[_0x21e6('0x44')](_0x4d1c42[_0x21e6('0x30')]);_0x22d76c[_0x21e6('0x31')]=_[_0x21e6('0x32')](_0x22d76c[_0x21e6('0x2f')],_0x22d76c['query']);_0x1ce6a7[_0x21e6('0x34')]=_[_0x21e6('0x32')](_0x22d76c[_0x21e6('0x2f')],qs['fields'](_0x4d1c42[_0x21e6('0x30')][_0x21e6('0x33')]));_0x1ce6a7[_0x21e6('0x34')]=_0x1ce6a7[_0x21e6('0x34')][_0x21e6('0x35')]?_0x1ce6a7[_0x21e6('0x34')]:_0x22d76c['model'];if(_0x4d1c42[_0x21e6('0x30')][_0x21e6('0x3e')]){_0x1ce6a7[_0x21e6('0x3f')]=[{'all':!![]}];}_0x1ce6a7=_[_0x21e6('0x45')]({},_0x1ce6a7,_0x4d1c42[_0x21e6('0x3d')]);return db[_0x21e6('0x2c')][_0x21e6('0x46')](_0x1ce6a7)[_0x21e6('0x25')](handleEntityNotFound(_0x23197a,null))['then'](respondWithResult(_0x23197a,null))[_0x21e6('0x41')](handleError(_0x23197a,null));};exports[_0x21e6('0x47')]=function(_0x1f5755,_0x532c0d){return db[_0x21e6('0x2c')][_0x21e6('0x47')](_0x1f5755[_0x21e6('0x48')],{})[_0x21e6('0x25')](respondWithResult(_0x532c0d,0xc9))[_0x21e6('0x41')](handleError(_0x532c0d,null));};exports['update']=function(_0x43bc34,_0x12bca7){if(_0x43bc34['body']['id']){delete _0x43bc34[_0x21e6('0x48')]['id'];}return db[_0x21e6('0x2c')]['find']({'where':{'id':_0x43bc34[_0x21e6('0x43')]['id']}})['then'](handleEntityNotFound(_0x12bca7,null))[_0x21e6('0x25')](saveUpdates(_0x43bc34[_0x21e6('0x48')],null))[_0x21e6('0x25')](respondWithResult(_0x12bca7,null))[_0x21e6('0x41')](handleError(_0x12bca7,null));};exports[_0x21e6('0x49')]=function(_0x583072,_0x13eddd){return db[_0x21e6('0x2c')][_0x21e6('0x46')]({'where':{'id':_0x583072[_0x21e6('0x43')]['id']}})[_0x21e6('0x25')](handleEntityNotFound(_0x13eddd,null))[_0x21e6('0x25')](removeEntity(_0x13eddd,null))[_0x21e6('0x41')](handleError(_0x13eddd,null));};exports[_0x21e6('0x4a')]=function(_0x1c7ee5,_0xbbe2f2,_0x337cb7){var _0x142414={};var _0x31100b={};var _0x5897a6;var _0x2cedca;return db[_0x21e6('0x2c')][_0x21e6('0x4b')]({'where':{'id':_0x1c7ee5['params']['id']}})[_0x21e6('0x25')](handleEntityNotFound(_0xbbe2f2,null))[_0x21e6('0x25')](function(_0x50b793){if(_0x50b793){_0x5897a6=_0x50b793;_0x31100b[_0x21e6('0x2f')]=_[_0x21e6('0x44')](db[_0x21e6('0x4c')][_0x21e6('0x2d')]);_0x31100b['query']=_[_0x21e6('0x44')](_0x1c7ee5[_0x21e6('0x30')]);_0x31100b[_0x21e6('0x31')]=_[_0x21e6('0x32')](_0x31100b[_0x21e6('0x2f')],_0x31100b['query']);_0x142414[_0x21e6('0x34')]=_[_0x21e6('0x32')](_0x31100b[_0x21e6('0x2f')],qs['fields'](_0x1c7ee5['query'][_0x21e6('0x33')]));_0x142414[_0x21e6('0x34')]=_0x142414[_0x21e6('0x34')][_0x21e6('0x35')]?_0x142414[_0x21e6('0x34')]:_0x31100b[_0x21e6('0x2f')];_0x142414[_0x21e6('0x4d')]=qs[_0x21e6('0x38')](_0x1c7ee5[_0x21e6('0x30')][_0x21e6('0x38')]);_0x142414['where']=qs['filters'](_[_0x21e6('0x4e')](_0x1c7ee5['query'],_0x31100b[_0x21e6('0x31')]));if(_0x1c7ee5[_0x21e6('0x30')][_0x21e6('0x3a')]){_0x142414[_0x21e6('0x39')]=_['merge'](_0x142414[_0x21e6('0x39')],{'$or':_['map'](_0x142414[_0x21e6('0x34')],function(_0x3ae9e1){var _0xb8d393={};_0xb8d393[_0x3ae9e1]={'$like':'%'+_0x1c7ee5[_0x21e6('0x30')][_0x21e6('0x3a')]+'%'};return _0xb8d393;})});}_0x142414=_[_0x21e6('0x45')]({},_0x142414,_0x1c7ee5[_0x21e6('0x3d')]);return _0x5897a6[_0x21e6('0x4a')](_0x142414);}})[_0x21e6('0x25')](function(_0x540559){if(_0x540559){_0x2cedca=_0x540559['length'];if(!_0x1c7ee5[_0x21e6('0x30')][_0x21e6('0x36')]('nolimit')){_0x142414[_0x21e6('0x20')]=qs[_0x21e6('0x20')](_0x1c7ee5[_0x21e6('0x30')]['limit']);_0x142414['offset']=qs['offset'](_0x1c7ee5[_0x21e6('0x30')][_0x21e6('0x1d')]);}return _0x5897a6[_0x21e6('0x4a')](_0x142414);}})[_0x21e6('0x25')](function(_0x5ea3db){if(_0x5ea3db){return _0x5ea3db?{'count':_0x2cedca,'rows':_0x5ea3db}:null;}})[_0x21e6('0x25')](respondWithResult(_0xbbe2f2,null))[_0x21e6('0x41')](handleError(_0xbbe2f2,null));};exports[_0x21e6('0x4f')]=function(_0x7ccb51,_0x12155c,_0x531c57){var _0x37ac7f={};var _0x340857={};var _0x4167c2;var _0x187515;return db['FreshdeskConfiguration']['findOne']({'where':{'id':_0x7ccb51[_0x21e6('0x43')]['id']}})[_0x21e6('0x25')](handleEntityNotFound(_0x12155c,null))[_0x21e6('0x25')](function(_0x3aefc9){if(_0x3aefc9){_0x4167c2=_0x3aefc9;_0x340857[_0x21e6('0x2f')]=_[_0x21e6('0x44')](db[_0x21e6('0x4c')]['rawAttributes']);_0x340857[_0x21e6('0x30')]=_['keys'](_0x7ccb51[_0x21e6('0x30')]);_0x340857['filters']=_[_0x21e6('0x32')](_0x340857[_0x21e6('0x2f')],_0x340857[_0x21e6('0x30')]);_0x37ac7f[_0x21e6('0x34')]=_[_0x21e6('0x32')](_0x340857['model'],qs['fields'](_0x7ccb51['query'][_0x21e6('0x33')]));_0x37ac7f['attributes']=_0x37ac7f[_0x21e6('0x34')]['length']?_0x37ac7f[_0x21e6('0x34')]:_0x340857[_0x21e6('0x2f')];_0x37ac7f[_0x21e6('0x4d')]=qs[_0x21e6('0x38')](_0x7ccb51[_0x21e6('0x30')][_0x21e6('0x38')]);_0x37ac7f[_0x21e6('0x39')]=qs['filters'](_[_0x21e6('0x4e')](_0x7ccb51[_0x21e6('0x30')],_0x340857[_0x21e6('0x31')]));if(_0x7ccb51['query'][_0x21e6('0x3a')]){_0x37ac7f['where']=_[_0x21e6('0x45')](_0x37ac7f['where'],{'$or':_[_0x21e6('0x2b')](_0x37ac7f[_0x21e6('0x34')],function(_0x2db2b7){var _0x229be3={};_0x229be3[_0x2db2b7]={'$like':'%'+_0x7ccb51['query'][_0x21e6('0x3a')]+'%'};return _0x229be3;})});}_0x37ac7f=_[_0x21e6('0x45')]({},_0x37ac7f,_0x7ccb51[_0x21e6('0x3d')]);return _0x4167c2['getSubjects'](_0x37ac7f);}})[_0x21e6('0x25')](function(_0x4cf34c){if(_0x4cf34c){_0x187515=_0x4cf34c[_0x21e6('0x35')];if(!_0x7ccb51[_0x21e6('0x30')]['hasOwnProperty'](_0x21e6('0x37'))){_0x37ac7f[_0x21e6('0x20')]=qs[_0x21e6('0x20')](_0x7ccb51[_0x21e6('0x30')]['limit']);_0x37ac7f[_0x21e6('0x1d')]=qs[_0x21e6('0x1d')](_0x7ccb51[_0x21e6('0x30')][_0x21e6('0x1d')]);}return _0x4167c2[_0x21e6('0x4f')](_0x37ac7f);}})[_0x21e6('0x25')](function(_0x2a0b57){if(_0x2a0b57){return _0x2a0b57?{'count':_0x187515,'rows':_0x2a0b57}:null;}})['then'](respondWithResult(_0x12155c,null))[_0x21e6('0x41')](handleError(_0x12155c,null));};exports['getDescriptions']=function(_0x1bb329,_0x39d045,_0x2e443c){var _0x4af7ae={};var _0x1fd18d={};var _0x356149;var _0xe4ff87;return db[_0x21e6('0x2c')][_0x21e6('0x4b')]({'where':{'id':_0x1bb329['params']['id']}})[_0x21e6('0x25')](handleEntityNotFound(_0x39d045,null))[_0x21e6('0x25')](function(_0x251bb3){if(_0x251bb3){_0x356149=_0x251bb3;_0x1fd18d[_0x21e6('0x2f')]=_[_0x21e6('0x44')](db[_0x21e6('0x4c')]['rawAttributes']);_0x1fd18d[_0x21e6('0x30')]=_['keys'](_0x1bb329[_0x21e6('0x30')]);_0x1fd18d[_0x21e6('0x31')]=_['intersection'](_0x1fd18d[_0x21e6('0x2f')],_0x1fd18d[_0x21e6('0x30')]);_0x4af7ae[_0x21e6('0x34')]=_[_0x21e6('0x32')](_0x1fd18d['model'],qs['fields'](_0x1bb329[_0x21e6('0x30')]['fields']));_0x4af7ae[_0x21e6('0x34')]=_0x4af7ae[_0x21e6('0x34')][_0x21e6('0x35')]?_0x4af7ae['attributes']:_0x1fd18d[_0x21e6('0x2f')];_0x4af7ae['order']=qs[_0x21e6('0x38')](_0x1bb329[_0x21e6('0x30')][_0x21e6('0x38')]);_0x4af7ae[_0x21e6('0x39')]=qs[_0x21e6('0x31')](_[_0x21e6('0x4e')](_0x1bb329[_0x21e6('0x30')],_0x1fd18d[_0x21e6('0x31')]));if(_0x1bb329['query'][_0x21e6('0x3a')]){_0x4af7ae[_0x21e6('0x39')]=_[_0x21e6('0x45')](_0x4af7ae[_0x21e6('0x39')],{'$or':_['map'](_0x4af7ae['attributes'],function(_0x5c52c6){var _0x384d34={};_0x384d34[_0x5c52c6]={'$like':'%'+_0x1bb329[_0x21e6('0x30')][_0x21e6('0x3a')]+'%'};return _0x384d34;})});}_0x4af7ae=_[_0x21e6('0x45')]({},_0x4af7ae,_0x1bb329[_0x21e6('0x3d')]);return _0x356149[_0x21e6('0x50')](_0x4af7ae);}})[_0x21e6('0x25')](function(_0xa543bb){if(_0xa543bb){_0xe4ff87=_0xa543bb['length'];if(!_0x1bb329[_0x21e6('0x30')][_0x21e6('0x36')](_0x21e6('0x37'))){_0x4af7ae[_0x21e6('0x20')]=qs[_0x21e6('0x20')](_0x1bb329[_0x21e6('0x30')][_0x21e6('0x20')]);_0x4af7ae['offset']=qs[_0x21e6('0x1d')](_0x1bb329[_0x21e6('0x30')][_0x21e6('0x1d')]);}return _0x356149[_0x21e6('0x50')](_0x4af7ae);}})[_0x21e6('0x25')](function(_0x5ae2f1){if(_0x5ae2f1){return _0x5ae2f1?{'count':_0xe4ff87,'rows':_0x5ae2f1}:null;}})[_0x21e6('0x25')](respondWithResult(_0x39d045,null))['catch'](handleError(_0x39d045,null));};exports[_0x21e6('0x51')]=function(_0x4b5b44,_0x2c2f4e,_0xa936b2){var _0x83d548={};var _0xdddbc1={};var _0x1f4d24;var _0x5ccac3;return db[_0x21e6('0x2c')][_0x21e6('0x4b')]({'where':{'id':_0x4b5b44[_0x21e6('0x43')]['id']}})['then'](handleEntityNotFound(_0x2c2f4e,null))[_0x21e6('0x25')](function(_0x4c9377){if(_0x4c9377){_0x1f4d24=_0x4c9377;_0xdddbc1[_0x21e6('0x2f')]=_[_0x21e6('0x44')](db[_0x21e6('0x52')]['rawAttributes']);_0xdddbc1[_0x21e6('0x30')]=_[_0x21e6('0x44')](_0x4b5b44[_0x21e6('0x30')]);_0xdddbc1['filters']=_[_0x21e6('0x32')](_0xdddbc1[_0x21e6('0x2f')],_0xdddbc1[_0x21e6('0x30')]);_0x83d548['attributes']=_['intersection'](_0xdddbc1[_0x21e6('0x2f')],qs[_0x21e6('0x33')](_0x4b5b44['query'][_0x21e6('0x33')]));_0x83d548[_0x21e6('0x34')]=_0x83d548[_0x21e6('0x34')][_0x21e6('0x35')]?_0x83d548[_0x21e6('0x34')]:_0xdddbc1[_0x21e6('0x2f')];_0x83d548[_0x21e6('0x4d')]=qs[_0x21e6('0x38')](_0x4b5b44[_0x21e6('0x30')]['sort']);_0x83d548['where']=qs[_0x21e6('0x31')](_['pick'](_0x4b5b44[_0x21e6('0x30')],_0xdddbc1[_0x21e6('0x31')]));if(_0x4b5b44[_0x21e6('0x30')][_0x21e6('0x3a')]){_0x83d548['where']=_['merge'](_0x83d548[_0x21e6('0x39')],{'$or':_[_0x21e6('0x2b')](_0x83d548['attributes'],function(_0x29cde4){var _0x1556ea={};_0x1556ea[_0x29cde4]={'$like':'%'+_0x4b5b44[_0x21e6('0x30')][_0x21e6('0x3a')]+'%'};return _0x1556ea;})});}_0x83d548=_[_0x21e6('0x45')]({},_0x83d548,_0x4b5b44[_0x21e6('0x3d')]);return _0x1f4d24[_0x21e6('0x51')](_0x83d548);}})['then'](function(_0x26d277){if(_0x26d277){_0x5ccac3=_0x26d277['length'];if(!_0x4b5b44[_0x21e6('0x30')][_0x21e6('0x36')](_0x21e6('0x37'))){_0x83d548[_0x21e6('0x20')]=qs[_0x21e6('0x20')](_0x4b5b44[_0x21e6('0x30')][_0x21e6('0x20')]);_0x83d548[_0x21e6('0x1d')]=qs['offset'](_0x4b5b44[_0x21e6('0x30')]['offset']);}return _0x1f4d24[_0x21e6('0x51')](_0x83d548);}})[_0x21e6('0x25')](function(_0x7f5a0d){if(_0x7f5a0d){return _0x7f5a0d?{'count':_0x5ccac3,'rows':_0x7f5a0d}:null;}})['then'](respondWithResult(_0x2c2f4e,null))[_0x21e6('0x41')](handleError(_0x2c2f4e,null));};exports[_0x21e6('0x53')]=function(_0x263750,_0x58b7fc,_0x49b13a){if(_0x263750[_0x21e6('0x48')]['id']){delete _0x263750[_0x21e6('0x48')]['id'];}return db[_0x21e6('0x2c')][_0x21e6('0x4b')]({'where':{'id':_0x263750[_0x21e6('0x43')]['id']}})[_0x21e6('0x25')](handleEntityNotFound(_0x58b7fc,null))['then'](function(_0x124fba){if(_0x124fba){return _0x124fba['setTags'](_0x263750['body'][_0x21e6('0x54')]||[]);}return null;})[_0x21e6('0x25')](respondWithResult(_0x58b7fc,null))[_0x21e6('0x41')](handleError(_0x58b7fc,null));};