Built motion from commit (unavailable).|2.0.75
[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 _0x63d4=['findAll','rows','show','includeAll','find','update','body','params','fax-interactions','accept','readAt','format','CmContact','Contact','get','FaxInteraction','UserId','isNil','YYYY-MM-DD\x20HH:mm:ss','interaction','[FAXMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','user','role','stringify','AcceptMessage','acceptMessage','manual','SIP/%s','channel','agent','FaxInteractionId','[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','interface','event','rejectmessage','create','ContactId','fax','Attachment','AttachmentId','SendFax','FaxAccountId','/var/opt/motion2/server/files/attachments/%s','basename','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','lodash','squel','jsforce','desk.js','querystring','papaparse','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','socket.io-emitter','register','client','http','then','info','FaxMessage,\x20%s,\x20%s','request\x20sent','debug','error','code','message','result','catch','end','json','count','offset','set','apply','reject','save','destroy','status','sendStatus','stack','name','send','index','FaxMessage','rawAttributes','model','keys','query','dateStart','dateEnd','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','add','day','merge','filter','where','map','options','include'];(function(_0x4243a3,_0x447337){var _0x1b2a33=function(_0x6a8200){while(--_0x6a8200){_0x4243a3['push'](_0x4243a3['shift']());}};_0x1b2a33(++_0x447337);}(_0x63d4,0x117));var _0x463d=function(_0x5c3d2c,_0x545aee){_0x5c3d2c=_0x5c3d2c-0x0;var _0x6fdb05=_0x63d4[_0x5c3d2c];return _0x6fdb05;};'use strict';var jsonpatch=require(_0x463d('0x0'));var rp=require(_0x463d('0x1'));var moment=require(_0x463d('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x463d('0x3'));var util=require(_0x463d('0x4'));var path=require(_0x463d('0x5'));var sox=require(_0x463d('0x6'));var csv=require(_0x463d('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x463d('0x8'));var squel=require(_0x463d('0x9'));var crypto=require('crypto');var jsforce=require(_0x463d('0xa'));var deskjs=require(_0x463d('0xb'));var toCsv=require(_0x463d('0x7'));var querystring=require(_0x463d('0xc'));var Papa=require(_0x463d('0xd'));var qs=require('../../components/parsers/qs');var logger=require(_0x463d('0xe'))('api');var utils=require(_0x463d('0xf'));var config=require(_0x463d('0x10'));var db=require(_0x463d('0x11'))['db'];var socket=require(_0x463d('0x12'))({'host':'localhost','port':0x18eb});require('./faxMessage.socket')[_0x463d('0x13')](socket);var jayson=require('jayson/promise');var client=jayson[_0x463d('0x14')][_0x463d('0x15')]({'port':0x232c});var client9002=jayson[_0x463d('0x14')][_0x463d('0x15')]({'port':0x232a});function respondWithRpcPromise(_0x1ac050,_0x15d6ca,_0x39834c,_0x5e463e){return new BPromise(function(_0x1817e2,_0x475b35){var _0x436dba=_0x5e463e||client;return _0x436dba['request'](_0x1ac050,_0x39834c)[_0x463d('0x16')](function(_0xea6080){logger[_0x463d('0x17')](_0x463d('0x18'),_0x15d6ca,_0x463d('0x19'));logger[_0x463d('0x1a')]('FaxMessage,\x20%s,\x20%s,\x20%s',_0x15d6ca,_0x463d('0x19'),JSON['stringify'](_0xea6080));if(_0xea6080[_0x463d('0x1b')]){if(_0xea6080[_0x463d('0x1b')][_0x463d('0x1c')]===0x1f4){logger[_0x463d('0x1b')](_0x463d('0x18'),_0x15d6ca,_0xea6080[_0x463d('0x1b')]['message']);return _0x475b35(_0xea6080[_0x463d('0x1b')][_0x463d('0x1d')]);}logger[_0x463d('0x1b')](_0x463d('0x18'),_0x15d6ca,_0xea6080[_0x463d('0x1b')][_0x463d('0x1d')]);return _0x1817e2(_0xea6080[_0x463d('0x1b')][_0x463d('0x1d')]);}else{logger[_0x463d('0x17')](_0x463d('0x18'),_0x15d6ca,_0x463d('0x19'));_0x1817e2(_0xea6080[_0x463d('0x1e')][_0x463d('0x1d')]);}})[_0x463d('0x1f')](function(_0x458789){logger['error'](_0x463d('0x18'),_0x15d6ca,_0x458789);_0x475b35(_0x458789);});});}function respondWithStatusCode(_0x5b0a6b,_0x415f78){_0x415f78=_0x415f78||0xcc;return function(_0x1a2756){if(_0x1a2756){return _0x5b0a6b['sendStatus'](_0x415f78);}return _0x5b0a6b['status'](_0x415f78)[_0x463d('0x20')]();};}function respondWithResult(_0x39c5cb,_0x53dfb3){_0x53dfb3=_0x53dfb3||0xc8;return function(_0x2efdb4){if(_0x2efdb4){return _0x39c5cb['status'](_0x53dfb3)[_0x463d('0x21')](_0x2efdb4);}};}function respondWithFilteredResult(_0x35e562,_0x3f10b3){return function(_0x4b8993){if(_0x4b8993){var _0x592748=_0x4b8993[_0x463d('0x22')],_0x4627c0=_0x3f10b3[_0x463d('0x23')],_0x3763a2=_0x3f10b3[_0x463d('0x23')]+_0x3f10b3['limit'],_0xff0522;if(_0x3763a2>=_0x592748){_0x3763a2=_0x592748;_0xff0522=0xc8;}else{_0xff0522=0xce;}_0x35e562['status'](_0xff0522);return _0x35e562[_0x463d('0x24')]('Content-Range',_0x4627c0+'-'+_0x3763a2+'/'+_0x592748)[_0x463d('0x21')](_0x4b8993);}return null;};}function patchUpdates(_0x45165d){return function(_0x33305d){try{jsonpatch[_0x463d('0x25')](_0x33305d,_0x45165d,!![]);}catch(_0x540e9c){return BPromise[_0x463d('0x26')](_0x540e9c);}return _0x33305d[_0x463d('0x27')]();};}function saveUpdates(_0xfa24ab,_0x236ebb){return function(_0x3a9fb1){if(_0x3a9fb1){return _0x3a9fb1['update'](_0xfa24ab)[_0x463d('0x16')](function(_0x2a3c7a){return _0x2a3c7a;});}return null;};}function removeEntity(_0x5cd7ed,_0x294507){return function(_0x54b954){if(_0x54b954){return _0x54b954[_0x463d('0x28')]()[_0x463d('0x16')](function(){_0x5cd7ed[_0x463d('0x29')](0xcc)[_0x463d('0x20')]();});}};}function handleEntityNotFound(_0x2b32f0,_0x5203fb){return function(_0x43c6e9){if(!_0x43c6e9){_0x2b32f0[_0x463d('0x2a')](0x194);}return _0x43c6e9;};}function handleError(_0x27869a,_0x386377){_0x386377=_0x386377||0x1f4;return function(_0x2ff2f0){logger[_0x463d('0x1b')](_0x2ff2f0[_0x463d('0x2b')]);if(_0x2ff2f0[_0x463d('0x2c')]){delete _0x2ff2f0[_0x463d('0x2c')];}_0x27869a[_0x463d('0x29')](_0x386377)[_0x463d('0x2d')](_0x2ff2f0);};}exports[_0x463d('0x2e')]=function(_0x3d4960,_0x456f46){var _0x471ee4={},_0x5d2624={},_0x153fab={'count':0x0,'rows':[]};var _0x83382e=db[_0x463d('0x2f')][_0x463d('0x30')];_0x5d2624[_0x463d('0x31')]=_[_0x463d('0x32')](_0x83382e);var _0x38c352={'dateStart':_0x3d4960[_0x463d('0x33')][_0x463d('0x34')],'dateEnd':_0x3d4960[_0x463d('0x33')][_0x463d('0x35')]};delete _0x3d4960['query']['dateStart'];delete _0x3d4960[_0x463d('0x33')][_0x463d('0x35')];_0x5d2624['query']=_[_0x463d('0x32')](_0x3d4960['query']);_0x5d2624['filters']=_[_0x463d('0x36')](_0x5d2624['model'],_0x5d2624[_0x463d('0x33')]);_0x471ee4[_0x463d('0x37')]=_['intersection'](_0x5d2624[_0x463d('0x31')],qs[_0x463d('0x38')](_0x3d4960[_0x463d('0x33')][_0x463d('0x38')]));_0x471ee4[_0x463d('0x37')]=_0x471ee4[_0x463d('0x37')][_0x463d('0x39')]?_0x471ee4['attributes']:_0x5d2624['model'];if(!_0x3d4960[_0x463d('0x33')][_0x463d('0x3a')](_0x463d('0x3b'))){_0x471ee4['limit']=qs['limit'](_0x3d4960[_0x463d('0x33')]['limit']);_0x471ee4[_0x463d('0x23')]=qs[_0x463d('0x23')](_0x3d4960[_0x463d('0x33')][_0x463d('0x23')]);}_0x471ee4[_0x463d('0x3c')]=qs[_0x463d('0x3d')](_0x3d4960['query'][_0x463d('0x3d')]);_0x471ee4['where']=qs[_0x463d('0x3e')](_[_0x463d('0x3f')](_0x3d4960['query'],_0x5d2624['filters']));if(_0x38c352[_0x463d('0x34')]){if(_0x38c352[_0x463d('0x35')]){_0x38c352['dateEnd']=moment(_0x38c352['dateEnd'])[_0x463d('0x40')](0x1,'day');}else{_0x38c352[_0x463d('0x35')]=moment(_0x38c352[_0x463d('0x34')])[_0x463d('0x40')](0x1,_0x463d('0x41'));}_[_0x463d('0x42')](_0x471ee4['where'],{'createdAt':{'$gte':_0x38c352[_0x463d('0x34')],'$lte':_0x38c352[_0x463d('0x35')]}});}if(_0x3d4960[_0x463d('0x33')][_0x463d('0x43')]){_0x471ee4[_0x463d('0x44')]=_[_0x463d('0x42')](_0x471ee4[_0x463d('0x44')],{'$or':_[_0x463d('0x45')](_0x471ee4['attributes'],function(_0x3deb61){var _0x5a7469={};_0x5a7469[_0x3deb61]={'$like':'%'+_0x3d4960['query']['filter']+'%'};return _0x5a7469;})});}_0x471ee4=_['merge']({},_0x471ee4,_0x3d4960[_0x463d('0x46')]);var _0x1739e8={'where':_0x471ee4[_0x463d('0x44')]};return db[_0x463d('0x2f')][_0x463d('0x22')](_0x1739e8)[_0x463d('0x16')](function(_0x10a96){_0x153fab['count']=_0x10a96;if(_0x3d4960[_0x463d('0x33')]['includeAll']){_0x471ee4[_0x463d('0x47')]=[{'all':!![]}];}return db[_0x463d('0x2f')][_0x463d('0x48')](_0x471ee4);})[_0x463d('0x16')](function(_0x772f66){_0x153fab[_0x463d('0x49')]=_0x772f66;return _0x153fab;})[_0x463d('0x16')](respondWithFilteredResult(_0x456f46,_0x471ee4))[_0x463d('0x1f')](handleError(_0x456f46,null));};exports[_0x463d('0x4a')]=function(_0x5363d4,_0x21e5e5){var _0x27cc80={'raw':!![],'where':{'id':_0x5363d4['params']['id']}},_0x1b66dc={};_0x1b66dc['model']=_[_0x463d('0x32')](db['FaxMessage'][_0x463d('0x30')]);_0x1b66dc[_0x463d('0x33')]=_[_0x463d('0x32')](_0x5363d4['query']);_0x1b66dc[_0x463d('0x3e')]=_[_0x463d('0x36')](_0x1b66dc['model'],_0x1b66dc['query']);_0x27cc80[_0x463d('0x37')]=_[_0x463d('0x36')](_0x1b66dc[_0x463d('0x31')],qs[_0x463d('0x38')](_0x5363d4[_0x463d('0x33')][_0x463d('0x38')]));_0x27cc80[_0x463d('0x37')]=_0x27cc80[_0x463d('0x37')][_0x463d('0x39')]?_0x27cc80[_0x463d('0x37')]:_0x1b66dc['model'];if(_0x5363d4['query'][_0x463d('0x4b')]){_0x27cc80['include']=[{'all':!![]}];}_0x27cc80=_['merge']({},_0x27cc80,_0x5363d4['options']);return db[_0x463d('0x2f')][_0x463d('0x4c')](_0x27cc80)[_0x463d('0x16')](handleEntityNotFound(_0x21e5e5,null))['then'](respondWithResult(_0x21e5e5,null))[_0x463d('0x1f')](handleError(_0x21e5e5,null));};exports[_0x463d('0x4d')]=function(_0x48b92a,_0x167566){if(_0x48b92a[_0x463d('0x4e')]['id']){delete _0x48b92a['body']['id'];}return db[_0x463d('0x2f')][_0x463d('0x4c')]({'where':{'id':_0x48b92a[_0x463d('0x4f')]['id']}})['then'](handleEntityNotFound(_0x167566,null))['then'](saveUpdates(_0x48b92a[_0x463d('0x4e')],null))[_0x463d('0x16')](respondWithResult(_0x167566,null))[_0x463d('0x1f')](handleError(_0x167566,null));};exports[_0x463d('0x28')]=function(_0x1c87c4,_0x5cd075){return db[_0x463d('0x2f')][_0x463d('0x4c')]({'where':{'id':_0x1c87c4[_0x463d('0x4f')]['id']}})[_0x463d('0x16')](handleEntityNotFound(_0x5cd075,null))[_0x463d('0x16')](removeEntity(_0x5cd075,null))[_0x463d('0x1f')](handleError(_0x5cd075,null));};exports['describe']=function(_0x1165df,_0x4b9f47){return db[_0x463d('0x2f')]['describe']()[_0x463d('0x16')](respondWithResult(_0x4b9f47,null))['catch'](handleError(_0x4b9f47,null));};var interaction_log=require('../../config/logger')(_0x463d('0x50'));exports[_0x463d('0x51')]=function(_0x5283fd,_0x172e14,_0x1cc0fe){var _0x1aa0ed={'channel':'fax'};if(_0x5283fd[_0x463d('0x4e')]['id']){delete _0x5283fd['body']['id'];}_0x5283fd[_0x463d('0x4e')]['read']=!![];_0x5283fd[_0x463d('0x4e')][_0x463d('0x52')]=moment()[_0x463d('0x53')]('YYYY-MM-DD\x20HH:mm:ss');_0x5283fd['body']['UserId']=_0x5283fd['body']['UserId']||_0x5283fd['user']['id'];return db[_0x463d('0x2f')]['find']({'where':{'id':_0x5283fd[_0x463d('0x4f')]['id'],'UserId':null},'include':[{'model':db[_0x463d('0x54')],'as':_0x463d('0x55')}]})['then'](handleEntityNotFound(_0x172e14,null))[_0x463d('0x16')](saveUpdates(_0x5283fd[_0x463d('0x4e')],null))[_0x463d('0x16')](function(_0x2c6a27){if(_0x2c6a27){_0x1aa0ed[_0x463d('0x1d')]=_0x2c6a27[_0x463d('0x56')]({'plain':!![]});return db[_0x463d('0x57')][_0x463d('0x4c')]({'where':{'id':_0x2c6a27['FaxInteractionId']}});}return null;})['then'](handleEntityNotFound(_0x172e14,null))[_0x463d('0x16')](function(_0x24f773){if(_0x24f773){return _0x24f773[_0x463d('0x4d')]({'UserId':_0x5283fd['body'][_0x463d('0x58')],'read1stAt':_[_0x463d('0x59')](_0x24f773['read1stAt'])?moment()[_0x463d('0x53')](_0x463d('0x5a')):undefined});}return null;})['then'](function(_0x99c239){if(_0x99c239){_0x1aa0ed[_0x463d('0x5b')]=_0x99c239[_0x463d('0x56')]({'plain':!![]});interaction_log[_0x463d('0x17')](_0x463d('0x5c'),_0x5283fd[_0x463d('0x5d')]['id'],_0x5283fd[_0x463d('0x5d')][_0x463d('0x2c')],_0x5283fd[_0x463d('0x5d')][_0x463d('0x5e')],_0x1aa0ed[_0x463d('0x5b')]['id'],_0x5283fd[_0x463d('0x4e')]?JSON[_0x463d('0x5f')](_0x5283fd[_0x463d('0x4e')]):'null');return respondWithRpcPromise(_0x463d('0x60'),_0x463d('0x61'),_0x1aa0ed);}return null;})[_0x463d('0x16')](function(_0x58a994){if(_0x58a994){if(_0x5283fd[_0x463d('0x4e')][_0x463d('0x62')]){_0x1aa0ed[_0x463d('0x1d')]['interface']=util[_0x463d('0x53')](_0x463d('0x63'),_0x5283fd[_0x463d('0x5d')]['name']);_0x1aa0ed[_0x463d('0x1d')][_0x463d('0x64')]=_0x1aa0ed['channel'];_0x1aa0ed['message']['event']=_0x463d('0x51');return respondWithRpcPromise('EventManager','EventManager',{'event':'acceptmessage','message':_0x1aa0ed[_0x463d('0x1d')]},client9002)[_0x463d('0x16')](function(){return _0x1aa0ed;});}return _0x1aa0ed;}return null;})['then'](respondWithResult(_0x172e14,null))[_0x463d('0x1f')](handleError(_0x172e14,null));};var interaction_log=require(_0x463d('0xe'))('fax-interactions');exports[_0x463d('0x26')]=function(_0x548ee9,_0x56e860,_0x11997d){var _0x1e4dd4={'agent':{},'channel':'fax'};if(_0x548ee9['body']['id']){delete _0x548ee9['body']['id'];}_0x548ee9[_0x463d('0x4e')]['UserId']=_0x548ee9[_0x463d('0x4e')][_0x463d('0x58')]||_0x548ee9[_0x463d('0x5d')]['id'];_0x1e4dd4[_0x463d('0x65')]['id']=_0x548ee9[_0x463d('0x4e')][_0x463d('0x58')];return db['FaxMessage'][_0x463d('0x4c')]({'where':{'id':_0x548ee9['params']['id'],'UserId':null}})[_0x463d('0x16')](handleEntityNotFound(_0x56e860,null))['then'](function(_0x2dcd7b){if(_0x2dcd7b){_0x1e4dd4[_0x463d('0x1d')]=_0x2dcd7b['get']({'plain':!![]});return db[_0x463d('0x57')][_0x463d('0x4c')]({'where':{'id':_0x2dcd7b[_0x463d('0x66')]}});}return null;})[_0x463d('0x16')](handleEntityNotFound(_0x56e860,null))[_0x463d('0x16')](function(_0x4a4fa0){if(_0x4a4fa0){_0x1e4dd4[_0x463d('0x5b')]=_0x4a4fa0[_0x463d('0x56')]({'plain':!![]});interaction_log[_0x463d('0x17')](_0x463d('0x67'),_0x548ee9['user']['id'],_0x548ee9[_0x463d('0x5d')][_0x463d('0x2c')],_0x548ee9[_0x463d('0x5d')]['role'],_0x1e4dd4[_0x463d('0x5b')]['id'],_0x548ee9[_0x463d('0x4e')]?JSON[_0x463d('0x5f')](_0x548ee9[_0x463d('0x4e')]):_0x463d('0x68'));return respondWithRpcPromise('RejectMessage','rejectMessage',_0x1e4dd4);}return null;})[_0x463d('0x16')](function(_0x228eca){if(_0x228eca){_0x228eca['message'][_0x463d('0x69')]=util[_0x463d('0x53')]('SIP/%s',_0x548ee9[_0x463d('0x5d')][_0x463d('0x2c')]);_0x228eca['message'][_0x463d('0x64')]=_0x1e4dd4[_0x463d('0x64')];_0x228eca[_0x463d('0x1d')][_0x463d('0x6a')]='reject';respondWithRpcPromise('EventManager','EventManager',{'event':_0x463d('0x6b'),'message':_0x228eca['message']},client9002);return _0x1e4dd4;}return null;})[_0x463d('0x16')](respondWithResult(_0x56e860,null))[_0x463d('0x1f')](handleError(_0x56e860,null));};exports[_0x463d('0x6c')]=function(_0x2e0189,_0x4e4d8c){var _0x4c825b;return db['FaxMessage']['create'](_0x2e0189[_0x463d('0x4e')],{})[_0x463d('0x16')](function(_0x28afb3){_0x4c825b=_0x28afb3;return db['CmContact']['findOne']({'where':{'id':_0x4c825b[_0x463d('0x6d')]}});})[_0x463d('0x16')](function(_0x1bd373){if(_[_0x463d('0x59')](_0x1bd373)){return;}else{_0x4c825b[_0x463d('0x6e')]=_0x1bd373['fax'];return db[_0x463d('0x6f')]['findOne']({'where':{'id':_0x4c825b[_0x463d('0x70')]}});}})[_0x463d('0x16')](function(_0xc1e3e6){return respondWithRpcPromise('SendFax',_0x463d('0x71'),{'FaxAccountId':_[_0x463d('0x59')](_0x2e0189[_0x463d('0x4e')])?undefined:_0x2e0189[_0x463d('0x4e')][_0x463d('0x72')],'path':_[_0x463d('0x59')](_0xc1e3e6)?undefined:util[_0x463d('0x53')](_0x463d('0x73'),_0xc1e3e6[_0x463d('0x74')]),'fax':_[_0x463d('0x59')](_0x4c825b[_0x463d('0x6e')])?undefined:_0x4c825b[_0x463d('0x6e')],'AttachmentId':_0x4c825b['AttachmentId']},client9002);})[_0x463d('0x16')](respondWithResult(_0x4e4d8c,0xc9))['catch'](handleError(_0x4e4d8c,null));};