ecbf1149ed716f5b44efca6867889b9b12d38457
[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 _0xea44=['where','pick','merge','filter','options','count','includeAll','include','findAll','rows','params','keys','length','find','create','body','findOne','FreshdeskField','getFields','getSubjects','getDescriptions','getTags','Tag','setTags','ids','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','client','http','test','Sequelize','ValidationError','request','info','FreshdeskConfiguration,\x20%s,\x20%s','debug','FreshdeskConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','FreshdeskConfiguration','rawAttributes','type','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort'];(function(_0x595872,_0x9498ed){var _0x2fbf41=function(_0x312964){while(--_0x312964){_0x595872['push'](_0x595872['shift']());}};_0x2fbf41(++_0x9498ed);}(_0xea44,0x1a5));var _0x4ea4=function(_0x412d68,_0x1148e9){_0x412d68=_0x412d68-0x0;var _0x5db8ee=_0xea44[_0x412d68];return _0x5db8ee;};'use strict';var pdf=require(_0x4ea4('0x0'));var emlformat=require(_0x4ea4('0x1'));var rimraf=require(_0x4ea4('0x2'));var zipdir=require(_0x4ea4('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4ea4('0x4'));var moment=require(_0x4ea4('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x4ea4('0x6'));var util=require(_0x4ea4('0x7'));var path=require(_0x4ea4('0x8'));var sox=require(_0x4ea4('0x9'));var csv=require('to-csv');var ejs=require(_0x4ea4('0xa'));var fs=require('fs');var _=require(_0x4ea4('0xb'));var squel=require(_0x4ea4('0xc'));var crypto=require(_0x4ea4('0xd'));var jsforce=require(_0x4ea4('0xe'));var deskjs=require(_0x4ea4('0xf'));var toCsv=require(_0x4ea4('0x10'));var querystring=require(_0x4ea4('0x11'));var Papa=require(_0x4ea4('0x12'));var Redis=require('ioredis');var authService=require(_0x4ea4('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4ea4('0x14'));var logger=require('../../config/logger')(_0x4ea4('0x15'));var utils=require(_0x4ea4('0x16'));var config=require(_0x4ea4('0x17'));var db=require(_0x4ea4('0x18'))['db'];var jayson=require(_0x4ea4('0x19'));var client=jayson[_0x4ea4('0x1a')][_0x4ea4('0x1b')]({'port':0x232a});function checkPasswordPattern(_0x32e31a,_0xd7632e,_0x31c02a){if(_0x31c02a){var _0x21c479=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x21c479[_0x4ea4('0x1c')](_0xd7632e)){return _0x32e31a;}else{throw new db[(_0x4ea4('0x1d'))][(_0x4ea4('0x1e'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x32e31a;}}function respondWithRpcPromise(_0x24e8b7,_0x27d49b,_0x29fd45,_0xdfbad8){return new BPromise(function(_0xbaa351,_0x28ef26){var _0x4db240=_0xdfbad8||client;return _0x4db240[_0x4ea4('0x1f')](_0x24e8b7,_0x29fd45)['then'](function(_0x5cd504){logger[_0x4ea4('0x20')](_0x4ea4('0x21'),_0x27d49b,'request\x20sent');logger[_0x4ea4('0x22')](_0x4ea4('0x23'),_0x27d49b,'request\x20sent',JSON[_0x4ea4('0x24')](_0x5cd504));if(_0x5cd504[_0x4ea4('0x25')]){if(_0x5cd504[_0x4ea4('0x25')][_0x4ea4('0x26')]===0x1f4){logger[_0x4ea4('0x25')](_0x4ea4('0x21'),_0x27d49b,_0x5cd504[_0x4ea4('0x25')]['message']);return _0x28ef26(_0x5cd504[_0x4ea4('0x25')]['message']);}logger[_0x4ea4('0x25')]('FreshdeskConfiguration,\x20%s,\x20%s',_0x27d49b,_0x5cd504[_0x4ea4('0x25')][_0x4ea4('0x27')]);return _0xbaa351(_0x5cd504['error'][_0x4ea4('0x27')]);}else{logger[_0x4ea4('0x20')]('FreshdeskConfiguration,\x20%s,\x20%s',_0x27d49b,'request\x20sent');_0xbaa351(_0x5cd504[_0x4ea4('0x28')][_0x4ea4('0x27')]);}})[_0x4ea4('0x29')](function(_0x11701b){logger['error'](_0x4ea4('0x21'),_0x27d49b,_0x11701b);_0x28ef26(_0x11701b);});});}function respondWithStatusCode(_0xdeae1,_0x5b086a){_0x5b086a=_0x5b086a||0xcc;return function(_0x3f3e57){if(_0x3f3e57){return _0xdeae1[_0x4ea4('0x2a')](_0x5b086a);}return _0xdeae1[_0x4ea4('0x2b')](_0x5b086a)[_0x4ea4('0x2c')]();};}function respondWithResult(_0x1ed218,_0x2202c2){_0x2202c2=_0x2202c2||0xc8;return function(_0x52aa7e){if(_0x52aa7e){return _0x1ed218['status'](_0x2202c2)[_0x4ea4('0x2d')](_0x52aa7e);}};}function respondWithFilteredResult(_0x323a75,_0x4379fd){return function(_0x53325e){if(_0x53325e){var _0x3cb206=_0x53325e['count'],_0x11b197=_0x4379fd[_0x4ea4('0x2e')],_0x197d99=_0x4379fd[_0x4ea4('0x2e')]+_0x4379fd[_0x4ea4('0x2f')],_0xfb2c7f;if(_0x197d99>=_0x3cb206){_0x197d99=_0x3cb206;_0xfb2c7f=0xc8;}else{_0xfb2c7f=0xce;}_0x323a75[_0x4ea4('0x2b')](_0xfb2c7f);return _0x323a75[_0x4ea4('0x30')](_0x4ea4('0x31'),_0x11b197+'-'+_0x197d99+'/'+_0x3cb206)['json'](_0x53325e);}return null;};}function patchUpdates(_0x411853){return function(_0x394c55){try{jsonpatch[_0x4ea4('0x32')](_0x394c55,_0x411853,!![]);}catch(_0x9d56db){return BPromise[_0x4ea4('0x33')](_0x9d56db);}return _0x394c55[_0x4ea4('0x34')]();};}function saveUpdates(_0x1f844d,_0x1578de){return function(_0x324862){if(_0x324862){return _0x324862[_0x4ea4('0x35')](_0x1f844d)[_0x4ea4('0x36')](function(_0x3b92b5){return _0x3b92b5;});}return null;};}function removeEntity(_0x5ec81a,_0x3ed768){return function(_0x55d713){if(_0x55d713){return _0x55d713[_0x4ea4('0x37')]()[_0x4ea4('0x36')](function(){_0x5ec81a[_0x4ea4('0x2b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x282a9f,_0x4985eb){return function(_0x51b956){if(!_0x51b956){_0x282a9f[_0x4ea4('0x2a')](0x194);}return _0x51b956;};}function handleError(_0x230efe,_0x16df57){_0x16df57=_0x16df57||0x1f4;return function(_0x479d40){logger[_0x4ea4('0x25')](_0x479d40[_0x4ea4('0x38')]);if(_0x479d40[_0x4ea4('0x39')]){delete _0x479d40[_0x4ea4('0x39')];}_0x230efe[_0x4ea4('0x2b')](_0x16df57)[_0x4ea4('0x3a')](_0x479d40);};}exports[_0x4ea4('0x3b')]=function(_0x23fde9,_0x1ccc34){var _0x230478={},_0x7b3ea4={},_0xca308c={'count':0x0,'rows':[]};var _0x17a931=_[_0x4ea4('0x3c')](db[_0x4ea4('0x3d')][_0x4ea4('0x3e')],function(_0x26ad5d){return{'name':_0x26ad5d['fieldName'],'type':_0x26ad5d[_0x4ea4('0x3f')]['key']};});_0x7b3ea4[_0x4ea4('0x40')]=_['map'](_0x17a931,_0x4ea4('0x39'));_0x7b3ea4[_0x4ea4('0x41')]=_['keys'](_0x23fde9[_0x4ea4('0x41')]);_0x7b3ea4[_0x4ea4('0x42')]=_[_0x4ea4('0x43')](_0x7b3ea4['model'],_0x7b3ea4['query']);_0x230478[_0x4ea4('0x44')]=_[_0x4ea4('0x43')](_0x7b3ea4[_0x4ea4('0x40')],qs[_0x4ea4('0x45')](_0x23fde9[_0x4ea4('0x41')][_0x4ea4('0x45')]));_0x230478[_0x4ea4('0x44')]=_0x230478[_0x4ea4('0x44')]['length']?_0x230478[_0x4ea4('0x44')]:_0x7b3ea4[_0x4ea4('0x40')];if(!_0x23fde9['query'][_0x4ea4('0x46')](_0x4ea4('0x47'))){_0x230478['limit']=qs[_0x4ea4('0x2f')](_0x23fde9[_0x4ea4('0x41')][_0x4ea4('0x2f')]);_0x230478[_0x4ea4('0x2e')]=qs['offset'](_0x23fde9['query'][_0x4ea4('0x2e')]);}_0x230478[_0x4ea4('0x48')]=qs[_0x4ea4('0x49')](_0x23fde9[_0x4ea4('0x41')]['sort']);_0x230478[_0x4ea4('0x4a')]=qs[_0x4ea4('0x42')](_[_0x4ea4('0x4b')](_0x23fde9[_0x4ea4('0x41')],_0x7b3ea4[_0x4ea4('0x42')]),_0x17a931);if(_0x23fde9[_0x4ea4('0x41')]['filter']){_0x230478[_0x4ea4('0x4a')]=_[_0x4ea4('0x4c')](_0x230478['where'],{'$or':_['map'](_0x17a931,function(_0x320b07){if(_0x320b07['type']!=='VIRTUAL'){var _0x304cb7={};_0x304cb7[_0x320b07[_0x4ea4('0x39')]]={'$like':'%'+_0x23fde9[_0x4ea4('0x41')][_0x4ea4('0x4d')]+'%'};return _0x304cb7;}})});}_0x230478=_[_0x4ea4('0x4c')]({},_0x230478,_0x23fde9[_0x4ea4('0x4e')]);var _0x43def8={'where':_0x230478[_0x4ea4('0x4a')]};return db[_0x4ea4('0x3d')][_0x4ea4('0x4f')](_0x43def8)[_0x4ea4('0x36')](function(_0x1dc065){_0xca308c['count']=_0x1dc065;if(_0x23fde9['query'][_0x4ea4('0x50')]){_0x230478[_0x4ea4('0x51')]=[{'all':!![]}];}return db[_0x4ea4('0x3d')][_0x4ea4('0x52')](_0x230478);})[_0x4ea4('0x36')](function(_0xffcf92){_0xca308c[_0x4ea4('0x53')]=_0xffcf92;return _0xca308c;})[_0x4ea4('0x36')](respondWithFilteredResult(_0x1ccc34,_0x230478))[_0x4ea4('0x29')](handleError(_0x1ccc34,null));};exports['show']=function(_0x3acb3a,_0x111582){var _0x193fdf={'raw':![],'where':{'id':_0x3acb3a[_0x4ea4('0x54')]['id']}},_0x4543b6={};_0x4543b6[_0x4ea4('0x40')]=_[_0x4ea4('0x55')](db[_0x4ea4('0x3d')]['rawAttributes']);_0x4543b6[_0x4ea4('0x41')]=_[_0x4ea4('0x55')](_0x3acb3a[_0x4ea4('0x41')]);_0x4543b6[_0x4ea4('0x42')]=_['intersection'](_0x4543b6[_0x4ea4('0x40')],_0x4543b6[_0x4ea4('0x41')]);_0x193fdf['attributes']=_[_0x4ea4('0x43')](_0x4543b6[_0x4ea4('0x40')],qs[_0x4ea4('0x45')](_0x3acb3a['query'][_0x4ea4('0x45')]));_0x193fdf[_0x4ea4('0x44')]=_0x193fdf[_0x4ea4('0x44')][_0x4ea4('0x56')]?_0x193fdf[_0x4ea4('0x44')]:_0x4543b6[_0x4ea4('0x40')];if(_0x3acb3a[_0x4ea4('0x41')]['includeAll']){_0x193fdf[_0x4ea4('0x51')]=[{'all':!![]}];}_0x193fdf=_[_0x4ea4('0x4c')]({},_0x193fdf,_0x3acb3a['options']);return db[_0x4ea4('0x3d')][_0x4ea4('0x57')](_0x193fdf)[_0x4ea4('0x36')](handleEntityNotFound(_0x111582,null))[_0x4ea4('0x36')](respondWithResult(_0x111582,null))[_0x4ea4('0x29')](handleError(_0x111582,null));};exports[_0x4ea4('0x58')]=function(_0x57fbfb,_0x353c43){return db[_0x4ea4('0x3d')][_0x4ea4('0x58')](_0x57fbfb[_0x4ea4('0x59')],{})[_0x4ea4('0x36')](respondWithResult(_0x353c43,0xc9))[_0x4ea4('0x29')](handleError(_0x353c43,null));};exports['update']=function(_0x42abc0,_0x4006ea){if(_0x42abc0[_0x4ea4('0x59')]['id']){delete _0x42abc0[_0x4ea4('0x59')]['id'];}return db[_0x4ea4('0x3d')][_0x4ea4('0x57')]({'where':{'id':_0x42abc0[_0x4ea4('0x54')]['id']}})[_0x4ea4('0x36')](handleEntityNotFound(_0x4006ea,null))[_0x4ea4('0x36')](saveUpdates(_0x42abc0[_0x4ea4('0x59')],null))[_0x4ea4('0x36')](respondWithResult(_0x4006ea,null))[_0x4ea4('0x29')](handleError(_0x4006ea,null));};exports[_0x4ea4('0x37')]=function(_0x4824bd,_0x204037){return db[_0x4ea4('0x3d')][_0x4ea4('0x57')]({'where':{'id':_0x4824bd[_0x4ea4('0x54')]['id']}})[_0x4ea4('0x36')](handleEntityNotFound(_0x204037,null))[_0x4ea4('0x36')](removeEntity(_0x204037,null))['catch'](handleError(_0x204037,null));};exports['getFields']=function(_0x35d3f6,_0x366166,_0x3fe6a9){var _0x13be6b={};var _0x45ca99={};var _0x169d88;var _0x4c4379;return db['FreshdeskConfiguration'][_0x4ea4('0x5a')]({'where':{'id':_0x35d3f6[_0x4ea4('0x54')]['id']}})[_0x4ea4('0x36')](handleEntityNotFound(_0x366166,null))[_0x4ea4('0x36')](function(_0x2e6334){if(_0x2e6334){_0x169d88=_0x2e6334;_0x45ca99['model']=_[_0x4ea4('0x55')](db[_0x4ea4('0x5b')][_0x4ea4('0x3e')]);_0x45ca99['query']=_[_0x4ea4('0x55')](_0x35d3f6[_0x4ea4('0x41')]);_0x45ca99[_0x4ea4('0x42')]=_[_0x4ea4('0x43')](_0x45ca99[_0x4ea4('0x40')],_0x45ca99[_0x4ea4('0x41')]);_0x13be6b[_0x4ea4('0x44')]=_[_0x4ea4('0x43')](_0x45ca99['model'],qs[_0x4ea4('0x45')](_0x35d3f6[_0x4ea4('0x41')][_0x4ea4('0x45')]));_0x13be6b[_0x4ea4('0x44')]=_0x13be6b[_0x4ea4('0x44')]['length']?_0x13be6b[_0x4ea4('0x44')]:_0x45ca99[_0x4ea4('0x40')];_0x13be6b[_0x4ea4('0x48')]=qs[_0x4ea4('0x49')](_0x35d3f6[_0x4ea4('0x41')][_0x4ea4('0x49')]);_0x13be6b[_0x4ea4('0x4a')]=qs[_0x4ea4('0x42')](_['pick'](_0x35d3f6['query'],_0x45ca99['filters']));if(_0x35d3f6[_0x4ea4('0x41')][_0x4ea4('0x4d')]){_0x13be6b[_0x4ea4('0x4a')]=_['merge'](_0x13be6b[_0x4ea4('0x4a')],{'$or':_[_0x4ea4('0x3c')](_0x13be6b['attributes'],function(_0x117af2){var _0xb3eca4={};_0xb3eca4[_0x117af2]={'$like':'%'+_0x35d3f6[_0x4ea4('0x41')][_0x4ea4('0x4d')]+'%'};return _0xb3eca4;})});}_0x13be6b=_[_0x4ea4('0x4c')]({},_0x13be6b,_0x35d3f6[_0x4ea4('0x4e')]);return _0x169d88[_0x4ea4('0x5c')](_0x13be6b);}})['then'](function(_0x22ad65){if(_0x22ad65){_0x4c4379=_0x22ad65[_0x4ea4('0x56')];if(!_0x35d3f6[_0x4ea4('0x41')]['hasOwnProperty']('nolimit')){_0x13be6b[_0x4ea4('0x2f')]=qs['limit'](_0x35d3f6['query']['limit']);_0x13be6b[_0x4ea4('0x2e')]=qs[_0x4ea4('0x2e')](_0x35d3f6['query'][_0x4ea4('0x2e')]);}return _0x169d88[_0x4ea4('0x5c')](_0x13be6b);}})['then'](function(_0x8c7f8d){if(_0x8c7f8d){return _0x8c7f8d?{'count':_0x4c4379,'rows':_0x8c7f8d}:null;}})[_0x4ea4('0x36')](respondWithResult(_0x366166,null))['catch'](handleError(_0x366166,null));};exports[_0x4ea4('0x5d')]=function(_0x11acee,_0x457b42,_0x2d7d1c){var _0x23074b={};var _0x2bbf9c={};var _0x1e7b98;var _0x3064a6;return db[_0x4ea4('0x3d')][_0x4ea4('0x5a')]({'where':{'id':_0x11acee['params']['id']}})[_0x4ea4('0x36')](handleEntityNotFound(_0x457b42,null))[_0x4ea4('0x36')](function(_0xc20d33){if(_0xc20d33){_0x1e7b98=_0xc20d33;_0x2bbf9c[_0x4ea4('0x40')]=_['keys'](db[_0x4ea4('0x5b')][_0x4ea4('0x3e')]);_0x2bbf9c['query']=_['keys'](_0x11acee[_0x4ea4('0x41')]);_0x2bbf9c[_0x4ea4('0x42')]=_[_0x4ea4('0x43')](_0x2bbf9c[_0x4ea4('0x40')],_0x2bbf9c[_0x4ea4('0x41')]);_0x23074b[_0x4ea4('0x44')]=_[_0x4ea4('0x43')](_0x2bbf9c[_0x4ea4('0x40')],qs[_0x4ea4('0x45')](_0x11acee[_0x4ea4('0x41')][_0x4ea4('0x45')]));_0x23074b[_0x4ea4('0x44')]=_0x23074b[_0x4ea4('0x44')]['length']?_0x23074b[_0x4ea4('0x44')]:_0x2bbf9c[_0x4ea4('0x40')];_0x23074b[_0x4ea4('0x48')]=qs[_0x4ea4('0x49')](_0x11acee['query'][_0x4ea4('0x49')]);_0x23074b['where']=qs[_0x4ea4('0x42')](_[_0x4ea4('0x4b')](_0x11acee[_0x4ea4('0x41')],_0x2bbf9c[_0x4ea4('0x42')]));if(_0x11acee[_0x4ea4('0x41')][_0x4ea4('0x4d')]){_0x23074b[_0x4ea4('0x4a')]=_[_0x4ea4('0x4c')](_0x23074b[_0x4ea4('0x4a')],{'$or':_[_0x4ea4('0x3c')](_0x23074b['attributes'],function(_0x3337b1){var _0x303d65={};_0x303d65[_0x3337b1]={'$like':'%'+_0x11acee[_0x4ea4('0x41')][_0x4ea4('0x4d')]+'%'};return _0x303d65;})});}_0x23074b=_['merge']({},_0x23074b,_0x11acee['options']);return _0x1e7b98[_0x4ea4('0x5d')](_0x23074b);}})[_0x4ea4('0x36')](function(_0x4b09ca){if(_0x4b09ca){_0x3064a6=_0x4b09ca[_0x4ea4('0x56')];if(!_0x11acee[_0x4ea4('0x41')][_0x4ea4('0x46')](_0x4ea4('0x47'))){_0x23074b[_0x4ea4('0x2f')]=qs[_0x4ea4('0x2f')](_0x11acee[_0x4ea4('0x41')][_0x4ea4('0x2f')]);_0x23074b[_0x4ea4('0x2e')]=qs[_0x4ea4('0x2e')](_0x11acee[_0x4ea4('0x41')][_0x4ea4('0x2e')]);}return _0x1e7b98[_0x4ea4('0x5d')](_0x23074b);}})[_0x4ea4('0x36')](function(_0x43c2ad){if(_0x43c2ad){return _0x43c2ad?{'count':_0x3064a6,'rows':_0x43c2ad}:null;}})[_0x4ea4('0x36')](respondWithResult(_0x457b42,null))[_0x4ea4('0x29')](handleError(_0x457b42,null));};exports['getDescriptions']=function(_0x26ff26,_0x359e25,_0x109543){var _0x1d46de={};var _0x3bf3e3={};var _0x5865cc;var _0x306b13;return db[_0x4ea4('0x3d')][_0x4ea4('0x5a')]({'where':{'id':_0x26ff26[_0x4ea4('0x54')]['id']}})[_0x4ea4('0x36')](handleEntityNotFound(_0x359e25,null))[_0x4ea4('0x36')](function(_0x19d1da){if(_0x19d1da){_0x5865cc=_0x19d1da;_0x3bf3e3['model']=_['keys'](db[_0x4ea4('0x5b')][_0x4ea4('0x3e')]);_0x3bf3e3[_0x4ea4('0x41')]=_[_0x4ea4('0x55')](_0x26ff26[_0x4ea4('0x41')]);_0x3bf3e3[_0x4ea4('0x42')]=_[_0x4ea4('0x43')](_0x3bf3e3[_0x4ea4('0x40')],_0x3bf3e3[_0x4ea4('0x41')]);_0x1d46de['attributes']=_['intersection'](_0x3bf3e3[_0x4ea4('0x40')],qs[_0x4ea4('0x45')](_0x26ff26[_0x4ea4('0x41')][_0x4ea4('0x45')]));_0x1d46de[_0x4ea4('0x44')]=_0x1d46de[_0x4ea4('0x44')][_0x4ea4('0x56')]?_0x1d46de[_0x4ea4('0x44')]:_0x3bf3e3[_0x4ea4('0x40')];_0x1d46de[_0x4ea4('0x48')]=qs[_0x4ea4('0x49')](_0x26ff26[_0x4ea4('0x41')]['sort']);_0x1d46de['where']=qs['filters'](_['pick'](_0x26ff26[_0x4ea4('0x41')],_0x3bf3e3[_0x4ea4('0x42')]));if(_0x26ff26[_0x4ea4('0x41')][_0x4ea4('0x4d')]){_0x1d46de[_0x4ea4('0x4a')]=_[_0x4ea4('0x4c')](_0x1d46de['where'],{'$or':_[_0x4ea4('0x3c')](_0x1d46de['attributes'],function(_0x50d8a8){var _0x335a66={};_0x335a66[_0x50d8a8]={'$like':'%'+_0x26ff26[_0x4ea4('0x41')][_0x4ea4('0x4d')]+'%'};return _0x335a66;})});}_0x1d46de=_[_0x4ea4('0x4c')]({},_0x1d46de,_0x26ff26[_0x4ea4('0x4e')]);return _0x5865cc[_0x4ea4('0x5e')](_0x1d46de);}})[_0x4ea4('0x36')](function(_0x3a67ce){if(_0x3a67ce){_0x306b13=_0x3a67ce[_0x4ea4('0x56')];if(!_0x26ff26[_0x4ea4('0x41')]['hasOwnProperty'](_0x4ea4('0x47'))){_0x1d46de[_0x4ea4('0x2f')]=qs[_0x4ea4('0x2f')](_0x26ff26[_0x4ea4('0x41')]['limit']);_0x1d46de['offset']=qs[_0x4ea4('0x2e')](_0x26ff26[_0x4ea4('0x41')][_0x4ea4('0x2e')]);}return _0x5865cc[_0x4ea4('0x5e')](_0x1d46de);}})['then'](function(_0x59566e){if(_0x59566e){return _0x59566e?{'count':_0x306b13,'rows':_0x59566e}:null;}})[_0x4ea4('0x36')](respondWithResult(_0x359e25,null))['catch'](handleError(_0x359e25,null));};exports[_0x4ea4('0x5f')]=function(_0x2d4222,_0x247098,_0x2d6e3f){var _0x591c3e={};var _0x274c9b={};var _0x3e149b;var _0xa83f81;return db['FreshdeskConfiguration'][_0x4ea4('0x5a')]({'where':{'id':_0x2d4222[_0x4ea4('0x54')]['id']}})[_0x4ea4('0x36')](handleEntityNotFound(_0x247098,null))[_0x4ea4('0x36')](function(_0x21d8cc){if(_0x21d8cc){_0x3e149b=_0x21d8cc;_0x274c9b['model']=_[_0x4ea4('0x55')](db[_0x4ea4('0x60')]['rawAttributes']);_0x274c9b[_0x4ea4('0x41')]=_[_0x4ea4('0x55')](_0x2d4222['query']);_0x274c9b['filters']=_['intersection'](_0x274c9b[_0x4ea4('0x40')],_0x274c9b['query']);_0x591c3e['attributes']=_[_0x4ea4('0x43')](_0x274c9b[_0x4ea4('0x40')],qs[_0x4ea4('0x45')](_0x2d4222[_0x4ea4('0x41')][_0x4ea4('0x45')]));_0x591c3e[_0x4ea4('0x44')]=_0x591c3e[_0x4ea4('0x44')][_0x4ea4('0x56')]?_0x591c3e[_0x4ea4('0x44')]:_0x274c9b[_0x4ea4('0x40')];_0x591c3e[_0x4ea4('0x48')]=qs[_0x4ea4('0x49')](_0x2d4222['query'][_0x4ea4('0x49')]);_0x591c3e[_0x4ea4('0x4a')]=qs[_0x4ea4('0x42')](_[_0x4ea4('0x4b')](_0x2d4222['query'],_0x274c9b['filters']));if(_0x2d4222[_0x4ea4('0x41')]['filter']){_0x591c3e['where']=_[_0x4ea4('0x4c')](_0x591c3e[_0x4ea4('0x4a')],{'$or':_[_0x4ea4('0x3c')](_0x591c3e['attributes'],function(_0x28bc73){var _0x45655d={};_0x45655d[_0x28bc73]={'$like':'%'+_0x2d4222[_0x4ea4('0x41')][_0x4ea4('0x4d')]+'%'};return _0x45655d;})});}_0x591c3e=_[_0x4ea4('0x4c')]({},_0x591c3e,_0x2d4222[_0x4ea4('0x4e')]);return _0x3e149b[_0x4ea4('0x5f')](_0x591c3e);}})['then'](function(_0x1dbeec){if(_0x1dbeec){_0xa83f81=_0x1dbeec[_0x4ea4('0x56')];if(!_0x2d4222[_0x4ea4('0x41')]['hasOwnProperty'](_0x4ea4('0x47'))){_0x591c3e['limit']=qs['limit'](_0x2d4222[_0x4ea4('0x41')][_0x4ea4('0x2f')]);_0x591c3e[_0x4ea4('0x2e')]=qs['offset'](_0x2d4222[_0x4ea4('0x41')][_0x4ea4('0x2e')]);}return _0x3e149b[_0x4ea4('0x5f')](_0x591c3e);}})[_0x4ea4('0x36')](function(_0xd0ca3d){if(_0xd0ca3d){return _0xd0ca3d?{'count':_0xa83f81,'rows':_0xd0ca3d}:null;}})[_0x4ea4('0x36')](respondWithResult(_0x247098,null))['catch'](handleError(_0x247098,null));};exports[_0x4ea4('0x61')]=function(_0x1476eb,_0x23b3a6,_0x3d9150){if(_0x1476eb[_0x4ea4('0x59')]['id']){delete _0x1476eb[_0x4ea4('0x59')]['id'];}return db[_0x4ea4('0x3d')][_0x4ea4('0x5a')]({'where':{'id':_0x1476eb[_0x4ea4('0x54')]['id']}})[_0x4ea4('0x36')](handleEntityNotFound(_0x23b3a6,null))[_0x4ea4('0x36')](function(_0x10273e){if(_0x10273e){return _0x10273e[_0x4ea4('0x61')](_0x1476eb[_0x4ea4('0x59')][_0x4ea4('0x62')]||[]);}return null;})[_0x4ea4('0x36')](respondWithResult(_0x23b3a6,null))[_0x4ea4('0x29')](handleError(_0x23b3a6,null));};