Built motion from commit (unavailable).|2.5.21
[motion2.git] / server / api / faxMessage / faxMessage.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 _0x2547=['hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','include','findAll','show','params','rawAttributes','includeAll','find','body','describe','fax-interactions','accept','fax','read','format','UserId','user','Contact','get','FaxInteraction','FaxInteractionId','update','read1stAt','YYYY-MM-DD\x20HH:mm:ss','interaction','[FAXMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','AcceptMessage','acceptMessage','SIP/%s','channel','EventManager','acceptmessage','[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','interface','event','rejectmessage','create','CmContact','findOne','ContactId','Attachment','FaxAccountId','/var/opt/motion2/server/files/attachments/%s','basename','isNil','download','join','root','attachments','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','jsforce','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./faxMessage.socket','register','jayson/promise','client','http','request','then','info','FaxMessage,\x20%s,\x20%s','request\x20sent','debug','FaxMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','status','json','offset','set','Content-Range','apply','reject','save','destroy','end','sendStatus','stack','name','index','FaxMessage','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length'];(function(_0x599f41,_0x4db732){var _0x2e4d58=function(_0x14c882){while(--_0x14c882){_0x599f41['push'](_0x599f41['shift']());}};_0x2e4d58(++_0x4db732);}(_0x2547,0x1cd));var _0x7254=function(_0x123659,_0x43ef27){_0x123659=_0x123659-0x0;var _0x884061=_0x2547[_0x123659];return _0x884061;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x7254('0x0'));var rimraf=require(_0x7254('0x1'));var zipdir=require(_0x7254('0x2'));var jsonpatch=require(_0x7254('0x3'));var rp=require(_0x7254('0x4'));var moment=require(_0x7254('0x5'));var BPromise=require(_0x7254('0x6'));var Mustache=require(_0x7254('0x7'));var util=require('util');var path=require(_0x7254('0x8'));var sox=require(_0x7254('0x9'));var csv=require(_0x7254('0xa'));var ejs=require(_0x7254('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x7254('0xc'));var crypto=require(_0x7254('0xd'));var jsforce=require(_0x7254('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x7254('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x7254('0xf'));var qs=require(_0x7254('0x10'));var as=require(_0x7254('0x11'));var hardwareService=require(_0x7254('0x12'));var logger=require(_0x7254('0x13'))(_0x7254('0x14'));var utils=require('../../config/utils');var config=require(_0x7254('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x7254('0x16'))['db'];config['redis']=_[_0x7254('0x17')](config[_0x7254('0x18')],{'host':_0x7254('0x19'),'port':0x18eb});var socket=require(_0x7254('0x1a'))(new Redis(config[_0x7254('0x18')]));require(_0x7254('0x1b'))[_0x7254('0x1c')](socket);var jayson=require(_0x7254('0x1d'));var client=jayson[_0x7254('0x1e')][_0x7254('0x1f')]({'port':0x232c});var client9002=jayson[_0x7254('0x1e')][_0x7254('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x163c8c,_0x535065,_0x265293,_0x4395fb){return new BPromise(function(_0xf47255,_0x39909d){var _0x3b5f06=_0x4395fb||client;return _0x3b5f06[_0x7254('0x20')](_0x163c8c,_0x265293)[_0x7254('0x21')](function(_0x5dd23b){logger[_0x7254('0x22')](_0x7254('0x23'),_0x535065,_0x7254('0x24'));logger[_0x7254('0x25')](_0x7254('0x26'),_0x535065,_0x7254('0x24'),JSON[_0x7254('0x27')](_0x5dd23b));if(_0x5dd23b[_0x7254('0x28')]){if(_0x5dd23b[_0x7254('0x28')][_0x7254('0x29')]===0x1f4){logger[_0x7254('0x28')](_0x7254('0x23'),_0x535065,_0x5dd23b[_0x7254('0x28')][_0x7254('0x2a')]);return _0x39909d(_0x5dd23b[_0x7254('0x28')][_0x7254('0x2a')]);}logger[_0x7254('0x28')](_0x7254('0x23'),_0x535065,_0x5dd23b[_0x7254('0x28')][_0x7254('0x2a')]);return _0xf47255(_0x5dd23b[_0x7254('0x28')]['message']);}else{logger['info'](_0x7254('0x23'),_0x535065,_0x7254('0x24'));_0xf47255(_0x5dd23b[_0x7254('0x2b')][_0x7254('0x2a')]);}})[_0x7254('0x2c')](function(_0x36b5d5){logger[_0x7254('0x28')]('FaxMessage,\x20%s,\x20%s',_0x535065,_0x36b5d5);_0x39909d(_0x36b5d5);});});}function respondWithStatusCode(_0x133287,_0x21a579){_0x21a579=_0x21a579||0xcc;return function(_0x2b4f46){if(_0x2b4f46){return _0x133287['sendStatus'](_0x21a579);}return _0x133287[_0x7254('0x2d')](_0x21a579)['end']();};}function respondWithResult(_0x1bb6a7,_0x134a9e){_0x134a9e=_0x134a9e||0xc8;return function(_0x5702fe){if(_0x5702fe){return _0x1bb6a7[_0x7254('0x2d')](_0x134a9e)[_0x7254('0x2e')](_0x5702fe);}};}function respondWithFilteredResult(_0x4f684c,_0x14cbea){return function(_0x6c4927){if(_0x6c4927){var _0x37cb5c=_0x6c4927['count'],_0xb9198b=_0x14cbea[_0x7254('0x2f')],_0x43bf02=_0x14cbea[_0x7254('0x2f')]+_0x14cbea['limit'],_0xfe02ea;if(_0x43bf02>=_0x37cb5c){_0x43bf02=_0x37cb5c;_0xfe02ea=0xc8;}else{_0xfe02ea=0xce;}_0x4f684c[_0x7254('0x2d')](_0xfe02ea);return _0x4f684c[_0x7254('0x30')](_0x7254('0x31'),_0xb9198b+'-'+_0x43bf02+'/'+_0x37cb5c)['json'](_0x6c4927);}return null;};}function patchUpdates(_0x3261fb){return function(_0xd1b95d){try{jsonpatch[_0x7254('0x32')](_0xd1b95d,_0x3261fb,!![]);}catch(_0x173b6b){return BPromise[_0x7254('0x33')](_0x173b6b);}return _0xd1b95d[_0x7254('0x34')]();};}function saveUpdates(_0x43cd7a,_0x560706){return function(_0x276db8){if(_0x276db8){return _0x276db8['update'](_0x43cd7a)['then'](function(_0x31471a){return _0x31471a;});}return null;};}function removeEntity(_0x346576,_0x272386){return function(_0xa433e3){if(_0xa433e3){return _0xa433e3[_0x7254('0x35')]()[_0x7254('0x21')](function(){_0x346576[_0x7254('0x2d')](0xcc)[_0x7254('0x36')]();});}};}function handleEntityNotFound(_0x447515,_0x24b629){return function(_0x235822){if(!_0x235822){_0x447515[_0x7254('0x37')](0x194);}return _0x235822;};}function handleError(_0x462ab0,_0x46cecb){_0x46cecb=_0x46cecb||0x1f4;return function(_0x57a7d4){logger[_0x7254('0x28')](_0x57a7d4[_0x7254('0x38')]);if(_0x57a7d4[_0x7254('0x39')]){delete _0x57a7d4[_0x7254('0x39')];}_0x462ab0[_0x7254('0x2d')](_0x46cecb)['send'](_0x57a7d4);};}exports[_0x7254('0x3a')]=function(_0x5e36b0,_0x64067b){var _0xb7716a={},_0x3bb517={},_0x238aa6={'count':0x0,'rows':[]};var _0x5726fc=_['map'](db[_0x7254('0x3b')]['rawAttributes'],function(_0x1c03c5){return{'name':_0x1c03c5[_0x7254('0x3c')],'type':_0x1c03c5['type'][_0x7254('0x3d')]};});_0x3bb517[_0x7254('0x3e')]=_[_0x7254('0x3f')](_0x5726fc,_0x7254('0x39'));_0x3bb517[_0x7254('0x40')]=_[_0x7254('0x41')](_0x5e36b0['query']);_0x3bb517[_0x7254('0x42')]=_[_0x7254('0x43')](_0x3bb517[_0x7254('0x3e')],_0x3bb517['query']);_0xb7716a[_0x7254('0x44')]=_[_0x7254('0x43')](_0x3bb517[_0x7254('0x3e')],qs['fields'](_0x5e36b0[_0x7254('0x40')][_0x7254('0x45')]));_0xb7716a[_0x7254('0x44')]=_0xb7716a[_0x7254('0x44')][_0x7254('0x46')]?_0xb7716a['attributes']:_0x3bb517['model'];if(!_0x5e36b0[_0x7254('0x40')][_0x7254('0x47')](_0x7254('0x48'))){_0xb7716a[_0x7254('0x49')]=qs['limit'](_0x5e36b0['query'][_0x7254('0x49')]);_0xb7716a['offset']=qs[_0x7254('0x2f')](_0x5e36b0[_0x7254('0x40')][_0x7254('0x2f')]);}_0xb7716a[_0x7254('0x4a')]=qs['sort'](_0x5e36b0['query'][_0x7254('0x4b')]);_0xb7716a[_0x7254('0x4c')]=qs[_0x7254('0x42')](_[_0x7254('0x4d')](_0x5e36b0[_0x7254('0x40')],_0x3bb517['filters']),_0x5726fc);if(_0x5e36b0['query'][_0x7254('0x4e')]){_0xb7716a[_0x7254('0x4c')]=_[_0x7254('0x4f')](_0xb7716a['where'],{'$or':_[_0x7254('0x3f')](_0x5726fc,function(_0x33604e){if(_0x33604e['type']!==_0x7254('0x50')){var _0x36e987={};_0x36e987[_0x33604e[_0x7254('0x39')]]={'$like':'%'+_0x5e36b0[_0x7254('0x40')]['filter']+'%'};return _0x36e987;}})});}_0xb7716a=_[_0x7254('0x4f')]({},_0xb7716a,_0x5e36b0[_0x7254('0x51')]);var _0x5b7332={'where':_0xb7716a[_0x7254('0x4c')]};return db[_0x7254('0x3b')][_0x7254('0x52')](_0x5b7332)['then'](function(_0x251192){_0x238aa6[_0x7254('0x52')]=_0x251192;if(_0x5e36b0['query']['includeAll']){_0xb7716a[_0x7254('0x53')]=[{'all':!![]}];}return db['FaxMessage'][_0x7254('0x54')](_0xb7716a);})[_0x7254('0x21')](function(_0x5c4d0b){_0x238aa6['rows']=_0x5c4d0b;return _0x238aa6;})[_0x7254('0x21')](respondWithFilteredResult(_0x64067b,_0xb7716a))[_0x7254('0x2c')](handleError(_0x64067b,null));};exports[_0x7254('0x55')]=function(_0x104d98,_0x200e5c){var _0x1f58e1={'raw':!![],'where':{'id':_0x104d98[_0x7254('0x56')]['id']}},_0x4fe2ae={};_0x4fe2ae['model']=_[_0x7254('0x41')](db[_0x7254('0x3b')][_0x7254('0x57')]);_0x4fe2ae['query']=_[_0x7254('0x41')](_0x104d98[_0x7254('0x40')]);_0x4fe2ae[_0x7254('0x42')]=_['intersection'](_0x4fe2ae[_0x7254('0x3e')],_0x4fe2ae[_0x7254('0x40')]);_0x1f58e1[_0x7254('0x44')]=_[_0x7254('0x43')](_0x4fe2ae[_0x7254('0x3e')],qs['fields'](_0x104d98['query'][_0x7254('0x45')]));_0x1f58e1[_0x7254('0x44')]=_0x1f58e1[_0x7254('0x44')][_0x7254('0x46')]?_0x1f58e1[_0x7254('0x44')]:_0x4fe2ae['model'];if(_0x104d98['query'][_0x7254('0x58')]){_0x1f58e1[_0x7254('0x53')]=[{'all':!![]}];}_0x1f58e1=_[_0x7254('0x4f')]({},_0x1f58e1,_0x104d98[_0x7254('0x51')]);return db['FaxMessage'][_0x7254('0x59')](_0x1f58e1)[_0x7254('0x21')](handleEntityNotFound(_0x200e5c,null))['then'](respondWithResult(_0x200e5c,null))[_0x7254('0x2c')](handleError(_0x200e5c,null));};exports['update']=function(_0x3fba1a,_0x5a24f4){if(_0x3fba1a[_0x7254('0x5a')]['id']){delete _0x3fba1a['body']['id'];}return db['FaxMessage'][_0x7254('0x59')]({'where':{'id':_0x3fba1a[_0x7254('0x56')]['id']}})[_0x7254('0x21')](handleEntityNotFound(_0x5a24f4,null))[_0x7254('0x21')](saveUpdates(_0x3fba1a['body'],null))[_0x7254('0x21')](respondWithResult(_0x5a24f4,null))['catch'](handleError(_0x5a24f4,null));};exports[_0x7254('0x35')]=function(_0x7e26af,_0x3145c2){return db[_0x7254('0x3b')][_0x7254('0x59')]({'where':{'id':_0x7e26af[_0x7254('0x56')]['id']}})['then'](handleEntityNotFound(_0x3145c2,null))[_0x7254('0x21')](removeEntity(_0x3145c2,null))[_0x7254('0x2c')](handleError(_0x3145c2,null));};exports[_0x7254('0x5b')]=function(_0x24a6a5,_0x281436){return db[_0x7254('0x3b')]['describe']()[_0x7254('0x21')](respondWithResult(_0x281436,null))[_0x7254('0x2c')](handleError(_0x281436,null));};var interaction_log=require(_0x7254('0x13'))(_0x7254('0x5c'));exports[_0x7254('0x5d')]=function(_0x2396ce,_0xf70c29,_0x4e5857){var _0x5dd108={'agent':{},'channel':_0x7254('0x5e')};if(_0x2396ce['body']['id']){delete _0x2396ce['body']['id'];}_0x2396ce[_0x7254('0x5a')][_0x7254('0x5f')]=!![];_0x2396ce[_0x7254('0x5a')]['readAt']=moment()[_0x7254('0x60')]('YYYY-MM-DD\x20HH:mm:ss');_0x2396ce[_0x7254('0x5a')][_0x7254('0x61')]=_0x2396ce[_0x7254('0x5a')][_0x7254('0x61')]||_0x2396ce[_0x7254('0x62')]['id'];_0x5dd108['agent']['id']=_0x2396ce[_0x7254('0x5a')][_0x7254('0x61')];return db[_0x7254('0x3b')][_0x7254('0x59')]({'where':{'id':_0x2396ce['params']['id'],'UserId':null},'include':[{'model':db['CmContact'],'as':_0x7254('0x63')}]})[_0x7254('0x21')](handleEntityNotFound(_0xf70c29,null))[_0x7254('0x21')](saveUpdates(_0x2396ce[_0x7254('0x5a')],null))[_0x7254('0x21')](function(_0x1cf028){if(_0x1cf028){_0x5dd108[_0x7254('0x2a')]=_0x1cf028[_0x7254('0x64')]({'plain':!![]});return db[_0x7254('0x65')][_0x7254('0x59')]({'where':{'id':_0x1cf028[_0x7254('0x66')]}});}return null;})[_0x7254('0x21')](handleEntityNotFound(_0xf70c29,null))[_0x7254('0x21')](function(_0x5647dd){if(_0x5647dd){return _0x5647dd[_0x7254('0x67')]({'UserId':_0x2396ce[_0x7254('0x5a')][_0x7254('0x61')],'read1stAt':_['isNil'](_0x5647dd[_0x7254('0x68')])?moment()[_0x7254('0x60')](_0x7254('0x69')):undefined});}return null;})[_0x7254('0x21')](function(_0x49f62d){if(_0x49f62d){_0x5dd108[_0x7254('0x6a')]=_0x49f62d['get']({'plain':!![]});interaction_log[_0x7254('0x22')](_0x7254('0x6b'),_0x2396ce[_0x7254('0x62')]['id'],_0x2396ce[_0x7254('0x62')]['name'],_0x2396ce[_0x7254('0x62')]['role'],_0x5dd108[_0x7254('0x6a')]['id'],_0x2396ce['body']?JSON[_0x7254('0x27')](_0x2396ce[_0x7254('0x5a')]):_0x7254('0x6c'));return respondWithRpcPromise(_0x7254('0x6d'),_0x7254('0x6e'),_0x5dd108);}return null;})[_0x7254('0x21')](function(_0x45c21c){if(_0x45c21c){if(_0x2396ce[_0x7254('0x5a')]['manual']){_0x5dd108[_0x7254('0x2a')]['interface']=util[_0x7254('0x60')](_0x7254('0x6f'),_0x2396ce[_0x7254('0x62')][_0x7254('0x39')]);_0x5dd108[_0x7254('0x2a')][_0x7254('0x70')]=_0x5dd108[_0x7254('0x70')];_0x5dd108[_0x7254('0x2a')]['event']=_0x7254('0x5d');return respondWithRpcPromise('EventManager',_0x7254('0x71'),{'event':_0x7254('0x72'),'message':_0x5dd108[_0x7254('0x2a')]},client9002)[_0x7254('0x21')](function(){return _0x5dd108;});}return _0x5dd108;}return null;})[_0x7254('0x21')](respondWithResult(_0xf70c29,null))[_0x7254('0x2c')](handleError(_0xf70c29,null));};var interaction_log=require(_0x7254('0x13'))(_0x7254('0x5c'));exports[_0x7254('0x33')]=function(_0x1df8e2,_0x240d19,_0x62419c){var _0x3f7be7={'agent':{},'channel':_0x7254('0x5e')};if(_0x1df8e2[_0x7254('0x5a')]['id']){delete _0x1df8e2[_0x7254('0x5a')]['id'];}_0x1df8e2[_0x7254('0x5a')]['UserId']=_0x1df8e2['body'][_0x7254('0x61')]||_0x1df8e2[_0x7254('0x62')]['id'];_0x3f7be7['agent']['id']=_0x1df8e2['body']['UserId'];return db[_0x7254('0x3b')][_0x7254('0x59')]({'where':{'id':_0x1df8e2[_0x7254('0x56')]['id'],'UserId':null}})[_0x7254('0x21')](handleEntityNotFound(_0x240d19,null))['then'](function(_0x2f8e8e){if(_0x2f8e8e){_0x3f7be7[_0x7254('0x2a')]=_0x2f8e8e['get']({'plain':!![]});return db[_0x7254('0x65')][_0x7254('0x59')]({'where':{'id':_0x2f8e8e[_0x7254('0x66')]}});}return null;})['then'](handleEntityNotFound(_0x240d19,null))['then'](function(_0x220066){if(_0x220066){_0x3f7be7[_0x7254('0x6a')]=_0x220066['get']({'plain':!![]});interaction_log[_0x7254('0x22')](_0x7254('0x73'),_0x1df8e2[_0x7254('0x62')]['id'],_0x1df8e2[_0x7254('0x62')][_0x7254('0x39')],_0x1df8e2['user'][_0x7254('0x74')],_0x3f7be7[_0x7254('0x6a')]['id'],_0x1df8e2[_0x7254('0x5a')]?JSON['stringify'](_0x1df8e2[_0x7254('0x5a')]):'null');return respondWithRpcPromise('RejectMessage','rejectMessage',_0x3f7be7);}return null;})[_0x7254('0x21')](function(_0x5a8afd){if(_0x5a8afd){_0x5a8afd['message'][_0x7254('0x75')]=util[_0x7254('0x60')](_0x7254('0x6f'),_0x1df8e2['user'][_0x7254('0x39')]);_0x5a8afd['message'][_0x7254('0x70')]=_0x3f7be7[_0x7254('0x70')];_0x5a8afd['message'][_0x7254('0x76')]=_0x7254('0x33');respondWithRpcPromise(_0x7254('0x71'),_0x7254('0x71'),{'event':_0x7254('0x77'),'message':_0x5a8afd[_0x7254('0x2a')]},client9002);return _0x3f7be7;}return null;})[_0x7254('0x21')](respondWithResult(_0x240d19,null))['catch'](handleError(_0x240d19,null));};exports[_0x7254('0x78')]=function(_0x4bdda1,_0x4aef90){var _0x186e93;return db[_0x7254('0x3b')][_0x7254('0x78')](_0x4bdda1[_0x7254('0x5a')],{})['then'](function(_0x19c5f8){_0x186e93=_0x19c5f8;return db[_0x7254('0x79')][_0x7254('0x7a')]({'where':{'id':_0x186e93[_0x7254('0x7b')]}});})['then'](function(_0x1f4ba1){if(_['isNil'](_0x1f4ba1)){return;}else{_0x186e93['fax']=_0x1f4ba1['fax'];return db[_0x7254('0x7c')][_0x7254('0x7a')]({'where':{'id':_0x186e93['AttachmentId']}});}})['then'](function(_0x2d1f90){return respondWithRpcPromise('SendFax','SendFax',{'FaxAccountId':_['isNil'](_0x4bdda1['body'])?undefined:_0x4bdda1[_0x7254('0x5a')][_0x7254('0x7d')],'path':_['isNil'](_0x2d1f90)?undefined:util['format'](_0x7254('0x7e'),_0x2d1f90[_0x7254('0x7f')]),'fax':_[_0x7254('0x80')](_0x186e93[_0x7254('0x5e')])?undefined:_0x186e93[_0x7254('0x5e')],'AttachmentId':_0x186e93['AttachmentId']},client9002);})[_0x7254('0x21')](respondWithResult(_0x4aef90,0xc9))[_0x7254('0x2c')](handleError(_0x4aef90,null));};exports[_0x7254('0x81')]=function(_0x7d8a8d,_0x3beea2){var _0x39b833=path[_0x7254('0x82')](config[_0x7254('0x83')],'server','files',_0x7254('0x84'));return db[_0x7254('0x3b')][_0x7254('0x59')]({'where':{'id':_0x7d8a8d[_0x7254('0x56')]['id']},'include':[{'model':db[_0x7254('0x7c')],'as':_0x7254('0x7c')}]})['then'](handleEntityNotFound(_0x3beea2,null))[_0x7254('0x21')](function(_0x4120de){if(_0x4120de){return _0x3beea2['download'](path[_0x7254('0x82')](_0x39b833,_0x4120de['Attachment']['basename']));}})[_0x7254('0x2c')](handleError(_0x3beea2,null));};