Built motion from commit (unavailable).|2.0.72
[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 _0x6302=['AcceptMessage','acceptMessage','manual','interface','SIP/%s','channel','event','accept','acceptmessage','agent','rejectMessage','EventManager','rejectmessage','create','findOne','ContactId','Attachment','AttachmentId','SendFax','FaxAccountId','/var/opt/motion2/server/files/attachments/%s','request-promise','moment','bluebird','mustache','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','api','../../config/utils','../../mysqldb','localhost','register','jayson/promise','client','http','request','then','info','request\x20sent','debug','FaxMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','FaxMessage,\x20%s,\x20%s','message','result','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','save','destroy','name','send','FaxMessage','model','keys','query','dateStart','dateEnd','filters','attributes','intersection','fields','length','nolimit','limit','order','sort','where','pick','add','day','merge','filter','map','options','includeAll','findAll','rows','show','params','rawAttributes','find','update','body','catch','describe','../../config/logger','fax-interactions','fax','read','readAt','format','YYYY-MM-DD\x20HH:mm:ss','UserId','user','CmContact','Contact','get','FaxInteraction','FaxInteractionId','isNil','read1stAt','interaction','[FAXMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x6302,0x109));var _0x2630=function(_0x34aea4,_0x2f9423){_0x34aea4=_0x34aea4-0x0;var _0x2a4abb=_0x6302[_0x34aea4];return _0x2a4abb;};'use strict';var jsonpatch=require('fast-json-patch');var rp=require(_0x2630('0x0'));var moment=require(_0x2630('0x1'));var BPromise=require(_0x2630('0x2'));var Mustache=require(_0x2630('0x3'));var util=require('util');var path=require('path');var sox=require(_0x2630('0x4'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x2630('0x5'));var squel=require(_0x2630('0x6'));var crypto=require(_0x2630('0x7'));var jsforce=require(_0x2630('0x8'));var deskjs=require(_0x2630('0x9'));var toCsv=require(_0x2630('0xa'));var querystring=require(_0x2630('0xb'));var Papa=require(_0x2630('0xc'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0x2630('0xd'));var utils=require(_0x2630('0xe'));var config=require('../../config/environment');var db=require(_0x2630('0xf'))['db'];var socket=require('socket.io-emitter')({'host':_0x2630('0x10'),'port':0x18eb});require('./faxMessage.socket')[_0x2630('0x11')](socket);var jayson=require(_0x2630('0x12'));var client=jayson[_0x2630('0x13')][_0x2630('0x14')]({'port':0x232c});var client9002=jayson[_0x2630('0x13')][_0x2630('0x14')]({'port':0x232a});function respondWithRpcPromise(_0x50b8e5,_0x4424c1,_0x35ad63,_0x405a89){return new BPromise(function(_0x16b9c1,_0x4866f2){var _0x33f40d=_0x405a89||client;return _0x33f40d[_0x2630('0x15')](_0x50b8e5,_0x35ad63)[_0x2630('0x16')](function(_0x4dc77f){logger[_0x2630('0x17')]('FaxMessage,\x20%s,\x20%s',_0x4424c1,_0x2630('0x18'));logger[_0x2630('0x19')](_0x2630('0x1a'),_0x4424c1,_0x2630('0x18'),JSON[_0x2630('0x1b')](_0x4dc77f));if(_0x4dc77f[_0x2630('0x1c')]){if(_0x4dc77f[_0x2630('0x1c')][_0x2630('0x1d')]===0x1f4){logger['error'](_0x2630('0x1e'),_0x4424c1,_0x4dc77f['error']['message']);return _0x4866f2(_0x4dc77f['error'][_0x2630('0x1f')]);}logger[_0x2630('0x1c')](_0x2630('0x1e'),_0x4424c1,_0x4dc77f[_0x2630('0x1c')][_0x2630('0x1f')]);return _0x16b9c1(_0x4dc77f[_0x2630('0x1c')][_0x2630('0x1f')]);}else{logger[_0x2630('0x17')](_0x2630('0x1e'),_0x4424c1,_0x2630('0x18'));_0x16b9c1(_0x4dc77f[_0x2630('0x20')][_0x2630('0x1f')]);}})['catch'](function(_0x47a037){logger[_0x2630('0x1c')](_0x2630('0x1e'),_0x4424c1,_0x47a037);_0x4866f2(_0x47a037);});});}function respondWithStatusCode(_0x4f7617,_0x23049c){_0x23049c=_0x23049c||0xcc;return function(_0x5c67b7){if(_0x5c67b7){return _0x4f7617[_0x2630('0x21')](_0x23049c);}return _0x4f7617[_0x2630('0x22')](_0x23049c)[_0x2630('0x23')]();};}function respondWithResult(_0x22a617,_0x57f7e6){_0x57f7e6=_0x57f7e6||0xc8;return function(_0x3a9e7f){if(_0x3a9e7f){return _0x22a617[_0x2630('0x22')](_0x57f7e6)[_0x2630('0x24')](_0x3a9e7f);}};}function respondWithFilteredResult(_0x81ced7,_0x3468dc){return function(_0x161248){if(_0x161248){var _0x4ef7fb=_0x161248[_0x2630('0x25')],_0xb6442a=_0x3468dc[_0x2630('0x26')],_0x4acf70=_0x3468dc[_0x2630('0x26')]+_0x3468dc['limit'],_0x5497d9;if(_0x4acf70>=_0x4ef7fb){_0x4acf70=_0x4ef7fb;_0x5497d9=0xc8;}else{_0x5497d9=0xce;}_0x81ced7[_0x2630('0x22')](_0x5497d9);return _0x81ced7[_0x2630('0x27')](_0x2630('0x28'),_0xb6442a+'-'+_0x4acf70+'/'+_0x4ef7fb)['json'](_0x161248);}return null;};}function patchUpdates(_0x3ad356){return function(_0x4ad461){try{jsonpatch[_0x2630('0x29')](_0x4ad461,_0x3ad356,!![]);}catch(_0x4fe723){return BPromise[_0x2630('0x2a')](_0x4fe723);}return _0x4ad461[_0x2630('0x2b')]();};}function saveUpdates(_0x560dd8,_0x683f3d){return function(_0x552c05){if(_0x552c05){return _0x552c05['update'](_0x560dd8)[_0x2630('0x16')](function(_0xee67a1){return _0xee67a1;});}return null;};}function removeEntity(_0x572d28,_0x38c879){return function(_0x19d2fc){if(_0x19d2fc){return _0x19d2fc[_0x2630('0x2c')]()[_0x2630('0x16')](function(){_0x572d28[_0x2630('0x22')](0xcc)[_0x2630('0x23')]();});}};}function handleEntityNotFound(_0x357035,_0x51634d){return function(_0x1f21d0){if(!_0x1f21d0){_0x357035[_0x2630('0x21')](0x194);}return _0x1f21d0;};}function handleError(_0x50b882,_0x21f998){_0x21f998=_0x21f998||0x1f4;return function(_0x4ba47e){logger[_0x2630('0x1c')](_0x4ba47e['stack']);if(_0x4ba47e['name']){delete _0x4ba47e[_0x2630('0x2d')];}_0x50b882[_0x2630('0x22')](_0x21f998)[_0x2630('0x2e')](_0x4ba47e);};}exports['index']=function(_0x32d40d,_0x33d7f1){var _0x57fcf7={},_0x43b997={},_0x3975d1={'count':0x0,'rows':[]};var _0x49198c=db[_0x2630('0x2f')]['rawAttributes'];_0x43b997[_0x2630('0x30')]=_[_0x2630('0x31')](_0x49198c);var _0x55bb15={'dateStart':_0x32d40d[_0x2630('0x32')][_0x2630('0x33')],'dateEnd':_0x32d40d['query'][_0x2630('0x34')]};delete _0x32d40d[_0x2630('0x32')][_0x2630('0x33')];delete _0x32d40d[_0x2630('0x32')][_0x2630('0x34')];_0x43b997[_0x2630('0x32')]=_[_0x2630('0x31')](_0x32d40d[_0x2630('0x32')]);_0x43b997[_0x2630('0x35')]=_['intersection'](_0x43b997[_0x2630('0x30')],_0x43b997['query']);_0x57fcf7[_0x2630('0x36')]=_[_0x2630('0x37')](_0x43b997[_0x2630('0x30')],qs[_0x2630('0x38')](_0x32d40d[_0x2630('0x32')][_0x2630('0x38')]));_0x57fcf7['attributes']=_0x57fcf7[_0x2630('0x36')][_0x2630('0x39')]?_0x57fcf7['attributes']:_0x43b997['model'];if(!_0x32d40d[_0x2630('0x32')]['hasOwnProperty'](_0x2630('0x3a'))){_0x57fcf7[_0x2630('0x3b')]=qs[_0x2630('0x3b')](_0x32d40d['query'][_0x2630('0x3b')]);_0x57fcf7[_0x2630('0x26')]=qs['offset'](_0x32d40d['query'][_0x2630('0x26')]);}_0x57fcf7[_0x2630('0x3c')]=qs[_0x2630('0x3d')](_0x32d40d[_0x2630('0x32')]['sort']);_0x57fcf7[_0x2630('0x3e')]=qs[_0x2630('0x35')](_[_0x2630('0x3f')](_0x32d40d[_0x2630('0x32')],_0x43b997[_0x2630('0x35')]));if(_0x55bb15[_0x2630('0x33')]){if(_0x55bb15[_0x2630('0x34')]){_0x55bb15['dateEnd']=moment(_0x55bb15[_0x2630('0x34')])[_0x2630('0x40')](0x1,_0x2630('0x41'));}else{_0x55bb15[_0x2630('0x34')]=moment(_0x55bb15[_0x2630('0x33')])[_0x2630('0x40')](0x1,_0x2630('0x41'));}_[_0x2630('0x42')](_0x57fcf7['where'],{'createdAt':{'$gte':_0x55bb15['dateStart'],'$lte':_0x55bb15[_0x2630('0x34')]}});}if(_0x32d40d[_0x2630('0x32')][_0x2630('0x43')]){_0x57fcf7[_0x2630('0x3e')]=_[_0x2630('0x42')](_0x57fcf7['where'],{'$or':_[_0x2630('0x44')](_0x57fcf7['attributes'],function(_0x3d49d8){var _0x53d8ce={};_0x53d8ce[_0x3d49d8]={'$like':'%'+_0x32d40d[_0x2630('0x32')][_0x2630('0x43')]+'%'};return _0x53d8ce;})});}_0x57fcf7=_[_0x2630('0x42')]({},_0x57fcf7,_0x32d40d[_0x2630('0x45')]);var _0x489994={'where':_0x57fcf7[_0x2630('0x3e')]};return db[_0x2630('0x2f')][_0x2630('0x25')](_0x489994)['then'](function(_0x395e2e){_0x3975d1[_0x2630('0x25')]=_0x395e2e;if(_0x32d40d[_0x2630('0x32')][_0x2630('0x46')]){_0x57fcf7['include']=[{'all':!![]}];}return db[_0x2630('0x2f')][_0x2630('0x47')](_0x57fcf7);})['then'](function(_0x55fd9e){_0x3975d1[_0x2630('0x48')]=_0x55fd9e;return _0x3975d1;})[_0x2630('0x16')](respondWithFilteredResult(_0x33d7f1,_0x57fcf7))['catch'](handleError(_0x33d7f1,null));};exports[_0x2630('0x49')]=function(_0x119e79,_0x97d730){var _0x582beb={'raw':!![],'where':{'id':_0x119e79[_0x2630('0x4a')]['id']}},_0x13dc40={};_0x13dc40['model']=_['keys'](db['FaxMessage'][_0x2630('0x4b')]);_0x13dc40[_0x2630('0x32')]=_['keys'](_0x119e79[_0x2630('0x32')]);_0x13dc40[_0x2630('0x35')]=_['intersection'](_0x13dc40[_0x2630('0x30')],_0x13dc40[_0x2630('0x32')]);_0x582beb[_0x2630('0x36')]=_[_0x2630('0x37')](_0x13dc40[_0x2630('0x30')],qs[_0x2630('0x38')](_0x119e79[_0x2630('0x32')][_0x2630('0x38')]));_0x582beb[_0x2630('0x36')]=_0x582beb[_0x2630('0x36')][_0x2630('0x39')]?_0x582beb['attributes']:_0x13dc40['model'];if(_0x119e79[_0x2630('0x32')][_0x2630('0x46')]){_0x582beb['include']=[{'all':!![]}];}_0x582beb=_[_0x2630('0x42')]({},_0x582beb,_0x119e79[_0x2630('0x45')]);return db[_0x2630('0x2f')][_0x2630('0x4c')](_0x582beb)[_0x2630('0x16')](handleEntityNotFound(_0x97d730,null))[_0x2630('0x16')](respondWithResult(_0x97d730,null))['catch'](handleError(_0x97d730,null));};exports[_0x2630('0x4d')]=function(_0x486b3b,_0x5cb234){if(_0x486b3b[_0x2630('0x4e')]['id']){delete _0x486b3b['body']['id'];}return db[_0x2630('0x2f')][_0x2630('0x4c')]({'where':{'id':_0x486b3b['params']['id']}})[_0x2630('0x16')](handleEntityNotFound(_0x5cb234,null))[_0x2630('0x16')](saveUpdates(_0x486b3b[_0x2630('0x4e')],null))[_0x2630('0x16')](respondWithResult(_0x5cb234,null))[_0x2630('0x4f')](handleError(_0x5cb234,null));};exports[_0x2630('0x2c')]=function(_0x3f3e7b,_0x410c34){return db[_0x2630('0x2f')][_0x2630('0x4c')]({'where':{'id':_0x3f3e7b[_0x2630('0x4a')]['id']}})['then'](handleEntityNotFound(_0x410c34,null))[_0x2630('0x16')](removeEntity(_0x410c34,null))[_0x2630('0x4f')](handleError(_0x410c34,null));};exports[_0x2630('0x50')]=function(_0x2cf284,_0x39271d){return db[_0x2630('0x2f')][_0x2630('0x50')]()['then'](respondWithResult(_0x39271d,null))[_0x2630('0x4f')](handleError(_0x39271d,null));};var interaction_log=require(_0x2630('0x51'))(_0x2630('0x52'));exports['accept']=function(_0x2b527a,_0x11f8f4,_0x244a91){var _0x44b364={'channel':_0x2630('0x53')};if(_0x2b527a[_0x2630('0x4e')]['id']){delete _0x2b527a[_0x2630('0x4e')]['id'];}_0x2b527a['body'][_0x2630('0x54')]=!![];_0x2b527a[_0x2630('0x4e')][_0x2630('0x55')]=moment()[_0x2630('0x56')](_0x2630('0x57'));_0x2b527a['body'][_0x2630('0x58')]=_0x2b527a[_0x2630('0x4e')][_0x2630('0x58')]||_0x2b527a[_0x2630('0x59')]['id'];return db[_0x2630('0x2f')][_0x2630('0x4c')]({'where':{'id':_0x2b527a['params']['id'],'UserId':null},'include':[{'model':db[_0x2630('0x5a')],'as':_0x2630('0x5b')}]})['then'](handleEntityNotFound(_0x11f8f4,null))[_0x2630('0x16')](saveUpdates(_0x2b527a[_0x2630('0x4e')],null))[_0x2630('0x16')](function(_0x3f6dca){if(_0x3f6dca){_0x44b364[_0x2630('0x1f')]=_0x3f6dca[_0x2630('0x5c')]({'plain':!![]});return db[_0x2630('0x5d')][_0x2630('0x4c')]({'where':{'id':_0x3f6dca[_0x2630('0x5e')]}});}return null;})['then'](handleEntityNotFound(_0x11f8f4,null))[_0x2630('0x16')](function(_0x2ae04f){if(_0x2ae04f){return _0x2ae04f[_0x2630('0x4d')]({'UserId':_0x2b527a[_0x2630('0x4e')]['UserId'],'read1stAt':_[_0x2630('0x5f')](_0x2ae04f[_0x2630('0x60')])?moment()[_0x2630('0x56')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0x2630('0x16')](function(_0x19a488){if(_0x19a488){_0x44b364[_0x2630('0x61')]=_0x19a488[_0x2630('0x5c')]({'plain':!![]});interaction_log['info'](_0x2630('0x62'),_0x2b527a[_0x2630('0x59')]['id'],_0x2b527a[_0x2630('0x59')][_0x2630('0x2d')],_0x2b527a['user'][_0x2630('0x63')],_0x44b364[_0x2630('0x61')]['id'],_0x2b527a[_0x2630('0x4e')]?JSON[_0x2630('0x1b')](_0x2b527a['body']):_0x2630('0x64'));return respondWithRpcPromise(_0x2630('0x65'),_0x2630('0x66'),_0x44b364);}return null;})[_0x2630('0x16')](function(_0xde2611){if(_0xde2611){if(_0x2b527a[_0x2630('0x4e')][_0x2630('0x67')]){_0x44b364['message'][_0x2630('0x68')]=util[_0x2630('0x56')](_0x2630('0x69'),_0x2b527a[_0x2630('0x59')]['name']);_0x44b364[_0x2630('0x1f')][_0x2630('0x6a')]=_0x44b364[_0x2630('0x6a')];_0x44b364['message'][_0x2630('0x6b')]=_0x2630('0x6c');return respondWithRpcPromise('EventManager','EventManager',{'event':_0x2630('0x6d'),'message':_0x44b364[_0x2630('0x1f')]},client9002)[_0x2630('0x16')](function(){return _0x44b364;});}return _0x44b364;}return null;})['then'](respondWithResult(_0x11f8f4,null))[_0x2630('0x4f')](handleError(_0x11f8f4,null));};var interaction_log=require(_0x2630('0x51'))(_0x2630('0x52'));exports[_0x2630('0x2a')]=function(_0x535c23,_0x1830d1,_0x252e72){var _0x6df29f={'agent':{},'channel':_0x2630('0x53')};if(_0x535c23[_0x2630('0x4e')]['id']){delete _0x535c23[_0x2630('0x4e')]['id'];}_0x535c23[_0x2630('0x4e')][_0x2630('0x58')]=_0x535c23[_0x2630('0x4e')][_0x2630('0x58')]||_0x535c23[_0x2630('0x59')]['id'];_0x6df29f[_0x2630('0x6e')]['id']=_0x535c23[_0x2630('0x4e')][_0x2630('0x58')];return db[_0x2630('0x2f')][_0x2630('0x4c')]({'where':{'id':_0x535c23['params']['id'],'UserId':null}})[_0x2630('0x16')](handleEntityNotFound(_0x1830d1,null))[_0x2630('0x16')](function(_0x53dd5b){if(_0x53dd5b){_0x6df29f[_0x2630('0x1f')]=_0x53dd5b[_0x2630('0x5c')]({'plain':!![]});return db[_0x2630('0x5d')][_0x2630('0x4c')]({'where':{'id':_0x53dd5b['FaxInteractionId']}});}return null;})['then'](handleEntityNotFound(_0x1830d1,null))[_0x2630('0x16')](function(_0x26fb0f){if(_0x26fb0f){_0x6df29f['interaction']=_0x26fb0f['get']({'plain':!![]});interaction_log[_0x2630('0x17')]('[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x535c23['user']['id'],_0x535c23[_0x2630('0x59')][_0x2630('0x2d')],_0x535c23[_0x2630('0x59')][_0x2630('0x63')],_0x6df29f[_0x2630('0x61')]['id'],_0x535c23[_0x2630('0x4e')]?JSON['stringify'](_0x535c23[_0x2630('0x4e')]):_0x2630('0x64'));return respondWithRpcPromise('RejectMessage',_0x2630('0x6f'),_0x6df29f);}return null;})[_0x2630('0x16')](function(_0x54f74b){if(_0x54f74b){_0x54f74b[_0x2630('0x1f')][_0x2630('0x68')]=util['format']('SIP/%s',_0x535c23[_0x2630('0x59')][_0x2630('0x2d')]);_0x54f74b['message'][_0x2630('0x6a')]=_0x6df29f[_0x2630('0x6a')];_0x54f74b['message'][_0x2630('0x6b')]=_0x2630('0x2a');respondWithRpcPromise(_0x2630('0x70'),_0x2630('0x70'),{'event':_0x2630('0x71'),'message':_0x54f74b[_0x2630('0x1f')]},client9002);return _0x6df29f;}return null;})[_0x2630('0x16')](respondWithResult(_0x1830d1,null))[_0x2630('0x4f')](handleError(_0x1830d1,null));};exports['create']=function(_0x986c10,_0x5a048){var _0x10676a;return db[_0x2630('0x2f')][_0x2630('0x72')](_0x986c10['body'],{})[_0x2630('0x16')](function(_0x201580){_0x10676a=_0x201580;return db[_0x2630('0x5a')][_0x2630('0x73')]({'where':{'id':_0x10676a[_0x2630('0x74')]}});})[_0x2630('0x16')](function(_0x4c8026){if(_[_0x2630('0x5f')](_0x4c8026)){return;}else{_0x10676a[_0x2630('0x53')]=_0x4c8026[_0x2630('0x53')];return db[_0x2630('0x75')][_0x2630('0x73')]({'where':{'id':_0x10676a[_0x2630('0x76')]}});}})[_0x2630('0x16')](function(_0xc89876){return respondWithRpcPromise(_0x2630('0x77'),_0x2630('0x77'),{'FaxAccountId':_[_0x2630('0x5f')](_0x986c10['body'])?undefined:_0x986c10[_0x2630('0x4e')][_0x2630('0x78')],'path':_[_0x2630('0x5f')](_0xc89876)?undefined:util['format'](_0x2630('0x79'),_0xc89876['basename']),'fax':_['isNil'](_0x10676a['fax'])?undefined:_0x10676a[_0x2630('0x53')],'AttachmentId':_0x10676a[_0x2630('0x76')]},client9002);})['then'](respondWithResult(_0x5a048,0xc9))['catch'](handleError(_0x5a048,null));};