Built motion from commit (unavailable).|2.0.73
[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 _0xeda7=['attributes','length','hasOwnProperty','order','sort','pick','dateEnd','add','day','where','filter','merge','map','FaxMessage','includeAll','include','findAll','rows','catch','params','options','find','body','describe','fax-interactions','accept','fax','format','YYYY-MM-DD\x20HH:mm:ss','UserId','Contact','get','FaxInteraction','isNil','read1stAt','interaction','user','role','null','acceptMessage','manual','SIP/%s','channel','event','EventManager','acceptmessage','FaxInteractionId','[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','interface','rejectmessage','create','CmContact','findOne','ContactId','AttachmentId','SendFax','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/logger','../../config/utils','socket.io-emitter','localhost','./faxMessage.socket','register','http','client','request','then','info','FaxMessage,\x20%s,\x20%s','request\x20sent','error','code','message','result','sendStatus','status','end','json','count','offset','limit','Content-Range','reject','update','destroy','stack','name','send','index','rawAttributes','model','query','dateStart','keys','filters','intersection','fields'];(function(_0x20139d,_0xca29b4){var _0x4a8094=function(_0x27e90f){while(--_0x27e90f){_0x20139d['push'](_0x20139d['shift']());}};_0x4a8094(++_0xca29b4);}(_0xeda7,0x196));var _0x7eda=function(_0x10004e,_0xd701e6){_0x10004e=_0x10004e-0x0;var _0x5af990=_0xeda7[_0x10004e];return _0x5af990;};'use strict';var jsonpatch=require(_0x7eda('0x0'));var rp=require(_0x7eda('0x1'));var moment=require(_0x7eda('0x2'));var BPromise=require(_0x7eda('0x3'));var Mustache=require(_0x7eda('0x4'));var util=require(_0x7eda('0x5'));var path=require(_0x7eda('0x6'));var sox=require(_0x7eda('0x7'));var csv=require(_0x7eda('0x8'));var ejs=require(_0x7eda('0x9'));var fs=require('fs');var _=require(_0x7eda('0xa'));var squel=require(_0x7eda('0xb'));var crypto=require(_0x7eda('0xc'));var jsforce=require(_0x7eda('0xd'));var deskjs=require(_0x7eda('0xe'));var toCsv=require(_0x7eda('0x8'));var querystring=require(_0x7eda('0xf'));var Papa=require(_0x7eda('0x10'));var qs=require(_0x7eda('0x11'));var logger=require(_0x7eda('0x12'))('api');var utils=require(_0x7eda('0x13'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];var socket=require(_0x7eda('0x14'))({'host':_0x7eda('0x15'),'port':0x18eb});require(_0x7eda('0x16'))[_0x7eda('0x17')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x7eda('0x18')]({'port':0x232c});var client9002=jayson[_0x7eda('0x19')][_0x7eda('0x18')]({'port':0x232a});function respondWithRpcPromise(_0x165fce,_0x5cd373,_0x1e7404,_0x503738){return new BPromise(function(_0x28023a,_0x406ee0){var _0x1353e7=_0x503738||client;return _0x1353e7[_0x7eda('0x1a')](_0x165fce,_0x1e7404)[_0x7eda('0x1b')](function(_0x192ab2){logger[_0x7eda('0x1c')](_0x7eda('0x1d'),_0x5cd373,_0x7eda('0x1e'));logger['debug']('FaxMessage,\x20%s,\x20%s,\x20%s',_0x5cd373,_0x7eda('0x1e'),JSON['stringify'](_0x192ab2));if(_0x192ab2['error']){if(_0x192ab2[_0x7eda('0x1f')][_0x7eda('0x20')]===0x1f4){logger[_0x7eda('0x1f')](_0x7eda('0x1d'),_0x5cd373,_0x192ab2[_0x7eda('0x1f')]['message']);return _0x406ee0(_0x192ab2['error']['message']);}logger[_0x7eda('0x1f')]('FaxMessage,\x20%s,\x20%s',_0x5cd373,_0x192ab2[_0x7eda('0x1f')][_0x7eda('0x21')]);return _0x28023a(_0x192ab2[_0x7eda('0x1f')][_0x7eda('0x21')]);}else{logger['info'](_0x7eda('0x1d'),_0x5cd373,_0x7eda('0x1e'));_0x28023a(_0x192ab2[_0x7eda('0x22')][_0x7eda('0x21')]);}})['catch'](function(_0x5f0965){logger[_0x7eda('0x1f')]('FaxMessage,\x20%s,\x20%s',_0x5cd373,_0x5f0965);_0x406ee0(_0x5f0965);});});}function respondWithStatusCode(_0x3a1ef8,_0x3deb5a){_0x3deb5a=_0x3deb5a||0xcc;return function(_0x557fec){if(_0x557fec){return _0x3a1ef8[_0x7eda('0x23')](_0x3deb5a);}return _0x3a1ef8[_0x7eda('0x24')](_0x3deb5a)[_0x7eda('0x25')]();};}function respondWithResult(_0x331b5f,_0x40dc99){_0x40dc99=_0x40dc99||0xc8;return function(_0x58869c){if(_0x58869c){return _0x331b5f[_0x7eda('0x24')](_0x40dc99)[_0x7eda('0x26')](_0x58869c);}};}function respondWithFilteredResult(_0x1a4950,_0x5ae8ff){return function(_0x30fc8e){if(_0x30fc8e){var _0xd23184=_0x30fc8e[_0x7eda('0x27')],_0xefbea1=_0x5ae8ff[_0x7eda('0x28')],_0x76f1b2=_0x5ae8ff[_0x7eda('0x28')]+_0x5ae8ff[_0x7eda('0x29')],_0x3fa613;if(_0x76f1b2>=_0xd23184){_0x76f1b2=_0xd23184;_0x3fa613=0xc8;}else{_0x3fa613=0xce;}_0x1a4950[_0x7eda('0x24')](_0x3fa613);return _0x1a4950['set'](_0x7eda('0x2a'),_0xefbea1+'-'+_0x76f1b2+'/'+_0xd23184)[_0x7eda('0x26')](_0x30fc8e);}return null;};}function patchUpdates(_0x300e20){return function(_0x2c5af0){try{jsonpatch['apply'](_0x2c5af0,_0x300e20,!![]);}catch(_0x28aa9f){return BPromise[_0x7eda('0x2b')](_0x28aa9f);}return _0x2c5af0['save']();};}function saveUpdates(_0x1bef90,_0x4655a9){return function(_0x4adb03){if(_0x4adb03){return _0x4adb03[_0x7eda('0x2c')](_0x1bef90)[_0x7eda('0x1b')](function(_0x4206d6){return _0x4206d6;});}return null;};}function removeEntity(_0x2f31d7,_0x25c956){return function(_0x6a95e7){if(_0x6a95e7){return _0x6a95e7[_0x7eda('0x2d')]()[_0x7eda('0x1b')](function(){_0x2f31d7[_0x7eda('0x24')](0xcc)[_0x7eda('0x25')]();});}};}function handleEntityNotFound(_0x516b44,_0x15eff9){return function(_0x497baa){if(!_0x497baa){_0x516b44[_0x7eda('0x23')](0x194);}return _0x497baa;};}function handleError(_0xce5037,_0x15a2d4){_0x15a2d4=_0x15a2d4||0x1f4;return function(_0x7505b6){logger['error'](_0x7505b6[_0x7eda('0x2e')]);if(_0x7505b6[_0x7eda('0x2f')]){delete _0x7505b6[_0x7eda('0x2f')];}_0xce5037['status'](_0x15a2d4)[_0x7eda('0x30')](_0x7505b6);};}exports[_0x7eda('0x31')]=function(_0xa1e9c,_0x5e050f){var _0x339b41={},_0x39c23e={},_0x398c29={'count':0x0,'rows':[]};var _0x186acf=db['FaxMessage'][_0x7eda('0x32')];_0x39c23e[_0x7eda('0x33')]=_['keys'](_0x186acf);var _0x95f882={'dateStart':_0xa1e9c[_0x7eda('0x34')][_0x7eda('0x35')],'dateEnd':_0xa1e9c[_0x7eda('0x34')]['dateEnd']};delete _0xa1e9c[_0x7eda('0x34')][_0x7eda('0x35')];delete _0xa1e9c['query']['dateEnd'];_0x39c23e[_0x7eda('0x34')]=_[_0x7eda('0x36')](_0xa1e9c['query']);_0x39c23e[_0x7eda('0x37')]=_[_0x7eda('0x38')](_0x39c23e[_0x7eda('0x33')],_0x39c23e[_0x7eda('0x34')]);_0x339b41['attributes']=_['intersection'](_0x39c23e[_0x7eda('0x33')],qs[_0x7eda('0x39')](_0xa1e9c[_0x7eda('0x34')][_0x7eda('0x39')]));_0x339b41['attributes']=_0x339b41[_0x7eda('0x3a')][_0x7eda('0x3b')]?_0x339b41[_0x7eda('0x3a')]:_0x39c23e[_0x7eda('0x33')];if(!_0xa1e9c[_0x7eda('0x34')][_0x7eda('0x3c')]('nolimit')){_0x339b41[_0x7eda('0x29')]=qs[_0x7eda('0x29')](_0xa1e9c[_0x7eda('0x34')]['limit']);_0x339b41[_0x7eda('0x28')]=qs[_0x7eda('0x28')](_0xa1e9c[_0x7eda('0x34')][_0x7eda('0x28')]);}_0x339b41[_0x7eda('0x3d')]=qs[_0x7eda('0x3e')](_0xa1e9c[_0x7eda('0x34')]['sort']);_0x339b41['where']=qs[_0x7eda('0x37')](_[_0x7eda('0x3f')](_0xa1e9c[_0x7eda('0x34')],_0x39c23e[_0x7eda('0x37')]));if(_0x95f882[_0x7eda('0x35')]){if(_0x95f882[_0x7eda('0x40')]){_0x95f882[_0x7eda('0x40')]=moment(_0x95f882[_0x7eda('0x40')])[_0x7eda('0x41')](0x1,_0x7eda('0x42'));}else{_0x95f882[_0x7eda('0x40')]=moment(_0x95f882[_0x7eda('0x35')])[_0x7eda('0x41')](0x1,_0x7eda('0x42'));}_['merge'](_0x339b41[_0x7eda('0x43')],{'createdAt':{'$gte':_0x95f882[_0x7eda('0x35')],'$lte':_0x95f882[_0x7eda('0x40')]}});}if(_0xa1e9c['query'][_0x7eda('0x44')]){_0x339b41['where']=_[_0x7eda('0x45')](_0x339b41[_0x7eda('0x43')],{'$or':_[_0x7eda('0x46')](_0x339b41[_0x7eda('0x3a')],function(_0x48a77e){var _0x144388={};_0x144388[_0x48a77e]={'$like':'%'+_0xa1e9c[_0x7eda('0x34')]['filter']+'%'};return _0x144388;})});}_0x339b41=_[_0x7eda('0x45')]({},_0x339b41,_0xa1e9c['options']);var _0x315cf2={'where':_0x339b41[_0x7eda('0x43')]};return db[_0x7eda('0x47')][_0x7eda('0x27')](_0x315cf2)['then'](function(_0x486dcf){_0x398c29[_0x7eda('0x27')]=_0x486dcf;if(_0xa1e9c[_0x7eda('0x34')][_0x7eda('0x48')]){_0x339b41[_0x7eda('0x49')]=[{'all':!![]}];}return db[_0x7eda('0x47')][_0x7eda('0x4a')](_0x339b41);})[_0x7eda('0x1b')](function(_0x3e645f){_0x398c29[_0x7eda('0x4b')]=_0x3e645f;return _0x398c29;})[_0x7eda('0x1b')](respondWithFilteredResult(_0x5e050f,_0x339b41))[_0x7eda('0x4c')](handleError(_0x5e050f,null));};exports['show']=function(_0x1dd73a,_0x335a3){var _0x239399={'raw':!![],'where':{'id':_0x1dd73a[_0x7eda('0x4d')]['id']}},_0x459ba3={};_0x459ba3[_0x7eda('0x33')]=_['keys'](db[_0x7eda('0x47')][_0x7eda('0x32')]);_0x459ba3['query']=_[_0x7eda('0x36')](_0x1dd73a[_0x7eda('0x34')]);_0x459ba3[_0x7eda('0x37')]=_['intersection'](_0x459ba3[_0x7eda('0x33')],_0x459ba3['query']);_0x239399[_0x7eda('0x3a')]=_['intersection'](_0x459ba3[_0x7eda('0x33')],qs[_0x7eda('0x39')](_0x1dd73a['query'][_0x7eda('0x39')]));_0x239399[_0x7eda('0x3a')]=_0x239399['attributes'][_0x7eda('0x3b')]?_0x239399[_0x7eda('0x3a')]:_0x459ba3[_0x7eda('0x33')];if(_0x1dd73a[_0x7eda('0x34')][_0x7eda('0x48')]){_0x239399[_0x7eda('0x49')]=[{'all':!![]}];}_0x239399=_[_0x7eda('0x45')]({},_0x239399,_0x1dd73a[_0x7eda('0x4e')]);return db[_0x7eda('0x47')][_0x7eda('0x4f')](_0x239399)[_0x7eda('0x1b')](handleEntityNotFound(_0x335a3,null))[_0x7eda('0x1b')](respondWithResult(_0x335a3,null))['catch'](handleError(_0x335a3,null));};exports[_0x7eda('0x2c')]=function(_0x5c9a63,_0x4f7d8f){if(_0x5c9a63[_0x7eda('0x50')]['id']){delete _0x5c9a63[_0x7eda('0x50')]['id'];}return db[_0x7eda('0x47')][_0x7eda('0x4f')]({'where':{'id':_0x5c9a63['params']['id']}})[_0x7eda('0x1b')](handleEntityNotFound(_0x4f7d8f,null))[_0x7eda('0x1b')](saveUpdates(_0x5c9a63[_0x7eda('0x50')],null))[_0x7eda('0x1b')](respondWithResult(_0x4f7d8f,null))[_0x7eda('0x4c')](handleError(_0x4f7d8f,null));};exports['destroy']=function(_0x82c6fa,_0x1c3673){return db[_0x7eda('0x47')][_0x7eda('0x4f')]({'where':{'id':_0x82c6fa[_0x7eda('0x4d')]['id']}})[_0x7eda('0x1b')](handleEntityNotFound(_0x1c3673,null))['then'](removeEntity(_0x1c3673,null))[_0x7eda('0x4c')](handleError(_0x1c3673,null));};exports[_0x7eda('0x51')]=function(_0x41d536,_0x1db30a){return db[_0x7eda('0x47')][_0x7eda('0x51')]()[_0x7eda('0x1b')](respondWithResult(_0x1db30a,null))['catch'](handleError(_0x1db30a,null));};var interaction_log=require(_0x7eda('0x12'))(_0x7eda('0x52'));exports[_0x7eda('0x53')]=function(_0x2509f7,_0x2f00e9,_0x1aea6f){var _0x226bf4={'channel':_0x7eda('0x54')};if(_0x2509f7[_0x7eda('0x50')]['id']){delete _0x2509f7[_0x7eda('0x50')]['id'];}_0x2509f7[_0x7eda('0x50')]['read']=!![];_0x2509f7['body']['readAt']=moment()[_0x7eda('0x55')](_0x7eda('0x56'));_0x2509f7[_0x7eda('0x50')][_0x7eda('0x57')]=_0x2509f7[_0x7eda('0x50')][_0x7eda('0x57')]||_0x2509f7['user']['id'];return db[_0x7eda('0x47')][_0x7eda('0x4f')]({'where':{'id':_0x2509f7['params']['id'],'UserId':null},'include':[{'model':db['CmContact'],'as':_0x7eda('0x58')}]})[_0x7eda('0x1b')](handleEntityNotFound(_0x2f00e9,null))['then'](saveUpdates(_0x2509f7['body'],null))[_0x7eda('0x1b')](function(_0x22a708){if(_0x22a708){_0x226bf4['message']=_0x22a708[_0x7eda('0x59')]({'plain':!![]});return db[_0x7eda('0x5a')][_0x7eda('0x4f')]({'where':{'id':_0x22a708['FaxInteractionId']}});}return null;})[_0x7eda('0x1b')](handleEntityNotFound(_0x2f00e9,null))[_0x7eda('0x1b')](function(_0xce46bc){if(_0xce46bc){return _0xce46bc[_0x7eda('0x2c')]({'UserId':_0x2509f7[_0x7eda('0x50')][_0x7eda('0x57')],'read1stAt':_[_0x7eda('0x5b')](_0xce46bc[_0x7eda('0x5c')])?moment()[_0x7eda('0x55')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0x7eda('0x1b')](function(_0x2e2c91){if(_0x2e2c91){_0x226bf4[_0x7eda('0x5d')]=_0x2e2c91[_0x7eda('0x59')]({'plain':!![]});interaction_log[_0x7eda('0x1c')]('[FAXMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x2509f7[_0x7eda('0x5e')]['id'],_0x2509f7[_0x7eda('0x5e')][_0x7eda('0x2f')],_0x2509f7[_0x7eda('0x5e')][_0x7eda('0x5f')],_0x226bf4['interaction']['id'],_0x2509f7[_0x7eda('0x50')]?JSON['stringify'](_0x2509f7['body']):_0x7eda('0x60'));return respondWithRpcPromise('AcceptMessage',_0x7eda('0x61'),_0x226bf4);}return null;})[_0x7eda('0x1b')](function(_0xf705a2){if(_0xf705a2){if(_0x2509f7[_0x7eda('0x50')][_0x7eda('0x62')]){_0x226bf4[_0x7eda('0x21')]['interface']=util[_0x7eda('0x55')](_0x7eda('0x63'),_0x2509f7[_0x7eda('0x5e')]['name']);_0x226bf4['message'][_0x7eda('0x64')]=_0x226bf4[_0x7eda('0x64')];_0x226bf4['message'][_0x7eda('0x65')]=_0x7eda('0x53');return respondWithRpcPromise(_0x7eda('0x66'),_0x7eda('0x66'),{'event':_0x7eda('0x67'),'message':_0x226bf4[_0x7eda('0x21')]},client9002)[_0x7eda('0x1b')](function(){return _0x226bf4;});}return _0x226bf4;}return null;})[_0x7eda('0x1b')](respondWithResult(_0x2f00e9,null))[_0x7eda('0x4c')](handleError(_0x2f00e9,null));};var interaction_log=require(_0x7eda('0x12'))('fax-interactions');exports['reject']=function(_0x3c44e6,_0x3a845c,_0x479761){var _0x4bcb49={'agent':{},'channel':_0x7eda('0x54')};if(_0x3c44e6[_0x7eda('0x50')]['id']){delete _0x3c44e6['body']['id'];}_0x3c44e6['body'][_0x7eda('0x57')]=_0x3c44e6[_0x7eda('0x50')]['UserId']||_0x3c44e6['user']['id'];_0x4bcb49['agent']['id']=_0x3c44e6[_0x7eda('0x50')][_0x7eda('0x57')];return db[_0x7eda('0x47')][_0x7eda('0x4f')]({'where':{'id':_0x3c44e6[_0x7eda('0x4d')]['id'],'UserId':null}})[_0x7eda('0x1b')](handleEntityNotFound(_0x3a845c,null))[_0x7eda('0x1b')](function(_0x1ceaba){if(_0x1ceaba){_0x4bcb49[_0x7eda('0x21')]=_0x1ceaba[_0x7eda('0x59')]({'plain':!![]});return db[_0x7eda('0x5a')][_0x7eda('0x4f')]({'where':{'id':_0x1ceaba[_0x7eda('0x68')]}});}return null;})['then'](handleEntityNotFound(_0x3a845c,null))[_0x7eda('0x1b')](function(_0x41dfc6){if(_0x41dfc6){_0x4bcb49[_0x7eda('0x5d')]=_0x41dfc6['get']({'plain':!![]});interaction_log[_0x7eda('0x1c')](_0x7eda('0x69'),_0x3c44e6[_0x7eda('0x5e')]['id'],_0x3c44e6[_0x7eda('0x5e')][_0x7eda('0x2f')],_0x3c44e6[_0x7eda('0x5e')]['role'],_0x4bcb49[_0x7eda('0x5d')]['id'],_0x3c44e6[_0x7eda('0x50')]?JSON['stringify'](_0x3c44e6[_0x7eda('0x50')]):_0x7eda('0x60'));return respondWithRpcPromise(_0x7eda('0x6a'),_0x7eda('0x6b'),_0x4bcb49);}return null;})[_0x7eda('0x1b')](function(_0x556528){if(_0x556528){_0x556528[_0x7eda('0x21')][_0x7eda('0x6c')]=util[_0x7eda('0x55')](_0x7eda('0x63'),_0x3c44e6['user']['name']);_0x556528['message'][_0x7eda('0x64')]=_0x4bcb49['channel'];_0x556528[_0x7eda('0x21')]['event']=_0x7eda('0x2b');respondWithRpcPromise('EventManager',_0x7eda('0x66'),{'event':_0x7eda('0x6d'),'message':_0x556528[_0x7eda('0x21')]},client9002);return _0x4bcb49;}return null;})[_0x7eda('0x1b')](respondWithResult(_0x3a845c,null))[_0x7eda('0x4c')](handleError(_0x3a845c,null));};exports[_0x7eda('0x6e')]=function(_0xd02f66,_0x42427b){var _0x239dbd;return db[_0x7eda('0x47')][_0x7eda('0x6e')](_0xd02f66['body'],{})['then'](function(_0x29f480){_0x239dbd=_0x29f480;return db[_0x7eda('0x6f')][_0x7eda('0x70')]({'where':{'id':_0x239dbd[_0x7eda('0x71')]}});})['then'](function(_0xd77858){if(_[_0x7eda('0x5b')](_0xd77858)){return;}else{_0x239dbd[_0x7eda('0x54')]=_0xd77858[_0x7eda('0x54')];return db['Attachment'][_0x7eda('0x70')]({'where':{'id':_0x239dbd[_0x7eda('0x72')]}});}})['then'](function(_0x3b3c82){return respondWithRpcPromise('SendFax',_0x7eda('0x73'),{'FaxAccountId':_[_0x7eda('0x5b')](_0xd02f66['body'])?undefined:_0xd02f66[_0x7eda('0x50')]['FaxAccountId'],'path':_[_0x7eda('0x5b')](_0x3b3c82)?undefined:util['format']('/var/opt/motion2/server/files/attachments/%s',_0x3b3c82['basename']),'fax':_['isNil'](_0x239dbd[_0x7eda('0x54')])?undefined:_0x239dbd[_0x7eda('0x54')],'AttachmentId':_0x239dbd[_0x7eda('0x72')]},client9002);})[_0x7eda('0x1b')](respondWithResult(_0x42427b,0xc9))[_0x7eda('0x4c')](handleError(_0x42427b,null));};