Built motion from commit b5996064.|2.6.21
[motion2.git] / server / api / intFreshdeskAccount / intFreshdeskAccount.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 _0x4a1d=['capitalize','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','offset','undefined','count','limit','set','Content-Range','json','apply','save','then','destroy','error','stack','name','FreshdeskAccount','rawAttributes','type','key','model','map','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','pick','filter','merge','where','includeAll','include','findAll','catch','show','params','length','options','create','body','find','getConfigurations','findOne','FreshdeskConfiguration','sort','addConfiguration','AccountId','Descriptions','FreshdeskField','Subjects','getFields','remoteUri','apiKey','slice','substring','lastIndexOf','GET','format','Basic\x20%s','%s:X','toString','base64','requester','subject','agent','description','priority','source','ticket_type','group','remove','includes','default','custom_text','custom_dropdown','choices'];(function(_0x27e992,_0x1d4bd1){var _0x16c69f=function(_0x76cc28){while(--_0x76cc28){_0x27e992['push'](_0x27e992['shift']());}};_0x16c69f(++_0x1d4bd1);}(_0x4a1d,0x77));var _0xd4a1=function(_0x2a6809,_0x44edde){_0x2a6809=_0x2a6809-0x0;var _0x11c371=_0x4a1d[_0x2a6809];return _0x11c371;};'use strict';var emlformat=require(_0xd4a1('0x0'));var rimraf=require(_0xd4a1('0x1'));var zipdir=require(_0xd4a1('0x2'));var jsonpatch=require(_0xd4a1('0x3'));var rp=require(_0xd4a1('0x4'));var moment=require('moment');var BPromise=require(_0xd4a1('0x5'));var Mustache=require(_0xd4a1('0x6'));var util=require(_0xd4a1('0x7'));var path=require(_0xd4a1('0x8'));var sox=require(_0xd4a1('0x9'));var csv=require(_0xd4a1('0xa'));var ejs=require(_0xd4a1('0xb'));var fs=require('fs');var fs_extra=require(_0xd4a1('0xc'));var _=require('lodash');var squel=require(_0xd4a1('0xd'));var crypto=require(_0xd4a1('0xe'));var jsforce=require(_0xd4a1('0xf'));var deskjs=require(_0xd4a1('0x10'));var toCsv=require(_0xd4a1('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xd4a1('0x11'));var authService=require(_0xd4a1('0x12'));var qs=require(_0xd4a1('0x13'));var as=require(_0xd4a1('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd4a1('0x15'))(_0xd4a1('0x16'));var utils=require(_0xd4a1('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xd4a1('0x18'));var db=require(_0xd4a1('0x19'))['db'];var integrations=require(_0xd4a1('0x1a'));function respondWithStatusCode(_0x2a685f,_0x580a0e){_0x580a0e=_0x580a0e||0xcc;return function(_0x3d5e6e){if(_0x3d5e6e){return _0x2a685f[_0xd4a1('0x1b')](_0x580a0e);}return _0x2a685f[_0xd4a1('0x1c')](_0x580a0e)['end']();};}function respondWithResult(_0x33191c,_0xafabbe){_0xafabbe=_0xafabbe||0xc8;return function(_0x23807c){if(_0x23807c){return _0x33191c[_0xd4a1('0x1c')](_0xafabbe)['json'](_0x23807c);}};}function respondWithFilteredResult(_0x5979ef,_0x384cba){return function(_0x41f682){if(_0x41f682){var _0x207d33=typeof _0x384cba[_0xd4a1('0x1d')]===_0xd4a1('0x1e')&&typeof _0x384cba['limit']===_0xd4a1('0x1e');var _0x20530d=_0x41f682[_0xd4a1('0x1f')];var _0xe73553=_0x207d33?0x0:_0x384cba[_0xd4a1('0x1d')];var _0x51e932=_0x207d33?_0x41f682[_0xd4a1('0x1f')]:_0x384cba[_0xd4a1('0x1d')]+_0x384cba[_0xd4a1('0x20')];var _0x4d79d9;if(_0x51e932>=_0x20530d){_0x51e932=_0x20530d;_0x4d79d9=0xc8;}else{_0x4d79d9=0xce;}_0x5979ef[_0xd4a1('0x1c')](_0x4d79d9);return _0x5979ef[_0xd4a1('0x21')](_0xd4a1('0x22'),_0xe73553+'-'+_0x51e932+'/'+_0x20530d)[_0xd4a1('0x23')](_0x41f682);}return null;};}function patchUpdates(_0x19a676){return function(_0x180e1f){try{jsonpatch[_0xd4a1('0x24')](_0x180e1f,_0x19a676,!![]);}catch(_0x411855){return BPromise['reject'](_0x411855);}return _0x180e1f[_0xd4a1('0x25')]();};}function saveUpdates(_0x96215c,_0x4b1876){return function(_0x31b853){if(_0x31b853){return _0x31b853['update'](_0x96215c)[_0xd4a1('0x26')](function(_0x24753d){return _0x24753d;});}return null;};}function removeEntity(_0xb5e1d4,_0x4ec590){return function(_0x560ee1){if(_0x560ee1){return _0x560ee1[_0xd4a1('0x27')]()[_0xd4a1('0x26')](function(){_0xb5e1d4['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3607bf,_0x105aa1){return function(_0x2f1208){if(!_0x2f1208){_0x3607bf[_0xd4a1('0x1b')](0x194);}return _0x2f1208;};}function handleError(_0xcdd434,_0x19abcc){_0x19abcc=_0x19abcc||0x1f4;return function(_0x405e43){logger[_0xd4a1('0x28')](_0x405e43[_0xd4a1('0x29')]);if(_0x405e43[_0xd4a1('0x2a')]){delete _0x405e43[_0xd4a1('0x2a')];}_0xcdd434[_0xd4a1('0x1c')](_0x19abcc)['send'](_0x405e43);};}exports['index']=function(_0x4df499,_0x8973c4){var _0x4e3246={},_0x382e76={},_0x2851de={'count':0x0,'rows':[]};var _0x268d85=_['map'](db[_0xd4a1('0x2b')][_0xd4a1('0x2c')],function(_0x5dd895){return{'name':_0x5dd895['fieldName'],'type':_0x5dd895[_0xd4a1('0x2d')][_0xd4a1('0x2e')]};});_0x382e76[_0xd4a1('0x2f')]=_[_0xd4a1('0x30')](_0x268d85,_0xd4a1('0x2a'));_0x382e76[_0xd4a1('0x31')]=_[_0xd4a1('0x32')](_0x4df499['query']);_0x382e76[_0xd4a1('0x33')]=_['intersection'](_0x382e76[_0xd4a1('0x2f')],_0x382e76[_0xd4a1('0x31')]);_0x4e3246['attributes']=_[_0xd4a1('0x34')](_0x382e76[_0xd4a1('0x2f')],qs['fields'](_0x4df499[_0xd4a1('0x31')][_0xd4a1('0x35')]));_0x4e3246['attributes']=_0x4e3246[_0xd4a1('0x36')]['length']?_0x4e3246[_0xd4a1('0x36')]:_0x382e76[_0xd4a1('0x2f')];if(!_0x4df499[_0xd4a1('0x31')][_0xd4a1('0x37')](_0xd4a1('0x38'))){_0x4e3246['limit']=qs[_0xd4a1('0x20')](_0x4df499[_0xd4a1('0x31')][_0xd4a1('0x20')]);_0x4e3246['offset']=qs[_0xd4a1('0x1d')](_0x4df499[_0xd4a1('0x31')]['offset']);}_0x4e3246['order']=qs['sort'](_0x4df499[_0xd4a1('0x31')]['sort']);_0x4e3246['where']=qs[_0xd4a1('0x33')](_[_0xd4a1('0x39')](_0x4df499['query'],_0x382e76['filters']),_0x268d85);if(_0x4df499[_0xd4a1('0x31')][_0xd4a1('0x3a')]){_0x4e3246['where']=_[_0xd4a1('0x3b')](_0x4e3246['where'],{'$or':_[_0xd4a1('0x30')](_0x268d85,function(_0x4d324c){if(_0x4d324c[_0xd4a1('0x2d')]!=='VIRTUAL'){var _0x46f95f={};_0x46f95f[_0x4d324c[_0xd4a1('0x2a')]]={'$like':'%'+_0x4df499[_0xd4a1('0x31')][_0xd4a1('0x3a')]+'%'};return _0x46f95f;}})});}_0x4e3246=_['merge']({},_0x4e3246,_0x4df499['options']);var _0x833339={'where':_0x4e3246[_0xd4a1('0x3c')]};return db[_0xd4a1('0x2b')][_0xd4a1('0x1f')](_0x833339)['then'](function(_0x5c43af){_0x2851de['count']=_0x5c43af;if(_0x4df499[_0xd4a1('0x31')][_0xd4a1('0x3d')]){_0x4e3246[_0xd4a1('0x3e')]=[{'all':!![]}];}return db[_0xd4a1('0x2b')][_0xd4a1('0x3f')](_0x4e3246);})[_0xd4a1('0x26')](function(_0x3d8f62){_0x2851de['rows']=_0x3d8f62;return _0x2851de;})['then'](respondWithFilteredResult(_0x8973c4,_0x4e3246))[_0xd4a1('0x40')](handleError(_0x8973c4,null));};exports[_0xd4a1('0x41')]=function(_0x3fefa3,_0xed6a30){var _0x56fb5c={'raw':![],'where':{'id':_0x3fefa3[_0xd4a1('0x42')]['id']}},_0x217c71={};_0x217c71[_0xd4a1('0x2f')]=_[_0xd4a1('0x32')](db['FreshdeskAccount'][_0xd4a1('0x2c')]);_0x217c71[_0xd4a1('0x31')]=_[_0xd4a1('0x32')](_0x3fefa3['query']);_0x217c71[_0xd4a1('0x33')]=_[_0xd4a1('0x34')](_0x217c71['model'],_0x217c71[_0xd4a1('0x31')]);_0x56fb5c['attributes']=_[_0xd4a1('0x34')](_0x217c71[_0xd4a1('0x2f')],qs[_0xd4a1('0x35')](_0x3fefa3[_0xd4a1('0x31')]['fields']));_0x56fb5c[_0xd4a1('0x36')]=_0x56fb5c[_0xd4a1('0x36')][_0xd4a1('0x43')]?_0x56fb5c[_0xd4a1('0x36')]:_0x217c71['model'];if(_0x3fefa3[_0xd4a1('0x31')][_0xd4a1('0x3d')]){_0x56fb5c[_0xd4a1('0x3e')]=[{'all':!![]}];}_0x56fb5c=_[_0xd4a1('0x3b')]({},_0x56fb5c,_0x3fefa3[_0xd4a1('0x44')]);return db[_0xd4a1('0x2b')]['find'](_0x56fb5c)[_0xd4a1('0x26')](handleEntityNotFound(_0xed6a30,null))[_0xd4a1('0x26')](respondWithResult(_0xed6a30,null))[_0xd4a1('0x40')](handleError(_0xed6a30,null));};exports[_0xd4a1('0x45')]=function(_0x26cb91,_0x2672f3){return db[_0xd4a1('0x2b')][_0xd4a1('0x45')](_0x26cb91[_0xd4a1('0x46')],{})[_0xd4a1('0x26')](respondWithResult(_0x2672f3,0xc9))[_0xd4a1('0x40')](handleError(_0x2672f3,null));};exports['update']=function(_0x4290b8,_0xaabac9){if(_0x4290b8[_0xd4a1('0x46')]['id']){delete _0x4290b8[_0xd4a1('0x46')]['id'];}return db[_0xd4a1('0x2b')][_0xd4a1('0x47')]({'where':{'id':_0x4290b8[_0xd4a1('0x42')]['id']}})[_0xd4a1('0x26')](handleEntityNotFound(_0xaabac9,null))[_0xd4a1('0x26')](saveUpdates(_0x4290b8[_0xd4a1('0x46')],null))[_0xd4a1('0x26')](respondWithResult(_0xaabac9,null))['catch'](handleError(_0xaabac9,null));};exports[_0xd4a1('0x27')]=function(_0x13d804,_0x3c3aa7){return db['FreshdeskAccount'][_0xd4a1('0x47')]({'where':{'id':_0x13d804['params']['id']}})[_0xd4a1('0x26')](handleEntityNotFound(_0x3c3aa7,null))[_0xd4a1('0x26')](removeEntity(_0x3c3aa7,null))[_0xd4a1('0x40')](handleError(_0x3c3aa7,null));};exports[_0xd4a1('0x48')]=function(_0xa671f5,_0x3b9499,_0x1946cf){var _0x13ecea={};var _0xe68af2={};var _0x1d2314;var _0x8177fb;return db[_0xd4a1('0x2b')][_0xd4a1('0x49')]({'where':{'id':_0xa671f5[_0xd4a1('0x42')]['id']}})[_0xd4a1('0x26')](handleEntityNotFound(_0x3b9499,null))['then'](function(_0x4e2edf){if(_0x4e2edf){_0x1d2314=_0x4e2edf;_0xe68af2['model']=_[_0xd4a1('0x32')](db[_0xd4a1('0x4a')][_0xd4a1('0x2c')]);_0xe68af2['query']=_[_0xd4a1('0x32')](_0xa671f5['query']);_0xe68af2[_0xd4a1('0x33')]=_[_0xd4a1('0x34')](_0xe68af2['model'],_0xe68af2['query']);_0x13ecea[_0xd4a1('0x36')]=_['intersection'](_0xe68af2[_0xd4a1('0x2f')],qs[_0xd4a1('0x35')](_0xa671f5[_0xd4a1('0x31')]['fields']));_0x13ecea[_0xd4a1('0x36')]=_0x13ecea[_0xd4a1('0x36')][_0xd4a1('0x43')]?_0x13ecea[_0xd4a1('0x36')]:_0xe68af2['model'];_0x13ecea['order']=qs['sort'](_0xa671f5['query'][_0xd4a1('0x4b')]);_0x13ecea[_0xd4a1('0x3c')]=qs[_0xd4a1('0x33')](_[_0xd4a1('0x39')](_0xa671f5[_0xd4a1('0x31')],_0xe68af2[_0xd4a1('0x33')]));if(_0xa671f5[_0xd4a1('0x31')][_0xd4a1('0x3a')]){_0x13ecea[_0xd4a1('0x3c')]=_[_0xd4a1('0x3b')](_0x13ecea[_0xd4a1('0x3c')],{'$or':_['map'](_0x13ecea[_0xd4a1('0x36')],function(_0x502dbd){var _0x3de4a8={};_0x3de4a8[_0x502dbd]={'$like':'%'+_0xa671f5[_0xd4a1('0x31')][_0xd4a1('0x3a')]+'%'};return _0x3de4a8;})});}_0x13ecea=_['merge']({},_0x13ecea,_0xa671f5['options']);return _0x1d2314[_0xd4a1('0x48')](_0x13ecea);}})[_0xd4a1('0x26')](function(_0x2d8e6c){if(_0x2d8e6c){_0x8177fb=_0x2d8e6c['length'];if(!_0xa671f5[_0xd4a1('0x31')][_0xd4a1('0x37')](_0xd4a1('0x38'))){_0x13ecea[_0xd4a1('0x20')]=qs[_0xd4a1('0x20')](_0xa671f5['query']['limit']);_0x13ecea[_0xd4a1('0x1d')]=qs[_0xd4a1('0x1d')](_0xa671f5[_0xd4a1('0x31')]['offset']);}return _0x1d2314[_0xd4a1('0x48')](_0x13ecea);}})[_0xd4a1('0x26')](function(_0x41d2ab){if(_0x41d2ab){return _0x41d2ab?{'count':_0x8177fb,'rows':_0x41d2ab}:null;}})['then'](respondWithResult(_0x3b9499,null))[_0xd4a1('0x40')](handleError(_0x3b9499,null));};exports[_0xd4a1('0x4c')]=function(_0x58e4e8,_0xbe106e,_0x13ec74){if(_0x58e4e8['body']['id']){delete _0x58e4e8[_0xd4a1('0x46')]['id'];}return db[_0xd4a1('0x2b')][_0xd4a1('0x49')]({'where':{'id':_0x58e4e8[_0xd4a1('0x42')]['id']}})['then'](handleEntityNotFound(_0xbe106e,null))[_0xd4a1('0x26')](function(_0x562a05){if(_0x562a05){_0x58e4e8['body'][_0xd4a1('0x4d')]=_0x562a05['id'];_0x58e4e8[_0xd4a1('0x46')]['Subjects']=integrations['getSubjects'](_0x58e4e8['body']['channel'],_0x58e4e8[_0xd4a1('0x46')][_0xd4a1('0x2d')]);_0x58e4e8['body'][_0xd4a1('0x4e')]=integrations['getDescriptions'](_0x58e4e8[_0xd4a1('0x46')]['channel'],_0x58e4e8[_0xd4a1('0x46')][_0xd4a1('0x2d')]);return db[_0xd4a1('0x4a')][_0xd4a1('0x45')](_0x58e4e8[_0xd4a1('0x46')],{'include':[{'model':db[_0xd4a1('0x4f')],'as':_0xd4a1('0x50')},{'model':db['FreshdeskField'],'as':'Descriptions'}]});}return null;})[_0xd4a1('0x26')](respondWithResult(_0xbe106e,null))[_0xd4a1('0x40')](handleError(_0xbe106e,null));};exports[_0xd4a1('0x51')]=function(_0x3d452e,_0x44ed24,_0x5a781a){var _0x5d55e3='';return db[_0xd4a1('0x2b')][_0xd4a1('0x49')]({'where':{'id':_0x3d452e[_0xd4a1('0x42')]['id']},'attributes':['id',_0xd4a1('0x52'),_0xd4a1('0x53')]})['then'](handleEntityNotFound(_0x44ed24,null))['then'](function(_0x236f75){if(_0x236f75){_0x5d55e3=_0x236f75[_0xd4a1('0x52')];var _0x350533=_0x5d55e3[_0xd4a1('0x54')](-0x1);if(_0x350533==='/'){_0x5d55e3=_0x5d55e3[_0xd4a1('0x55')](0x0,_0x5d55e3[_0xd4a1('0x56')](_0x350533));}return rp({'method':_0xd4a1('0x57'),'uri':util[_0xd4a1('0x58')]('%s/%s',_0x5d55e3,'api/v2/ticket_fields'),'headers':{'Authorization':util[_0xd4a1('0x58')](_0xd4a1('0x59'),new Buffer(util[_0xd4a1('0x58')](_0xd4a1('0x5a'),_0x236f75[_0xd4a1('0x53')]))[_0xd4a1('0x5b')](_0xd4a1('0x5c')))},'json':!![]});}})[_0xd4a1('0x26')](function(_0x3e46d5){if(_0x3e46d5){var _0x11baef=[_0xd4a1('0x5d'),_0xd4a1('0x5e'),_0xd4a1('0x5f'),_0xd4a1('0x60'),_0xd4a1('0x1c'),_0xd4a1('0x61'),'group',_0xd4a1('0x62'),_0xd4a1('0x63'),_0xd4a1('0x64'),'company'];_[_0xd4a1('0x65')](_0x3e46d5,function(_0x467f5){return _0x11baef[_0xd4a1('0x66')](_0x467f5['name'])||!_0x467f5[_0xd4a1('0x67')]&&_0x467f5[_0xd4a1('0x2d')]!==_0xd4a1('0x68')&&_0x467f5[_0xd4a1('0x2d')]!==_0xd4a1('0x69');});return{'count':_0x3e46d5[_0xd4a1('0x43')],'rows':_['map'](_0x3e46d5,function(_0x1d4d01){return{'id':_0x1d4d01[_0xd4a1('0x2a')],'name':_0x1d4d01['label'],'custom':!_0x1d4d01[_0xd4a1('0x67')],'options':_0x1d4d01[_0xd4a1('0x6a')]?_['map'](_0x1d4d01[_0xd4a1('0x6a')],function(_0x59df62){return{'name':_[_0xd4a1('0x6b')](_0x59df62),'value':_0x59df62};}):[]};})};}})[_0xd4a1('0x26')](respondWithResult(_0x44ed24,null))[_0xd4a1('0x40')](function(_0x416e63){var _0x325db4=_0x3d452e[_0xd4a1('0x31')][_0xd4a1('0x6c')]?0x1f4:_0x416e63[_0xd4a1('0x6d')]||0x1f4;logger['error'](_0xd4a1('0x6e'),_0xd4a1('0x51'),_0x325db4,JSON[_0xd4a1('0x6f')](_0x416e63));delete _0x416e63[_0xd4a1('0x2a')];if(_0x325db4===0x191){_0x325db4=0x190;}_0x44ed24[_0xd4a1('0x1c')](_0x325db4)['send'](_0x3d452e[_0xd4a1('0x31')][_0xd4a1('0x6c')]?{'message':_0xd4a1('0x70'),'statusCode':_0x416e63[_0xd4a1('0x6d')]}:_0x416e63);});};