Built motion from commit 10af8726.|2.6.34
[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 _0x3807=['rawAttributes','find','body','describe','accept','sms','acceptMessage','fax','UserId','user','agent','get','FaxInteraction','FaxInteractionId','interaction','[FAXMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','stringify','null','ContactId','sequelize','Sequelize','QueryTypes','SELECT','fullname','internal','format','SIP/%s','channel','motionChannel','event','reject','EventManager','rejectmessage','create','findOne','isNil','Attachment','AttachmentId','FaxAccountId','/var/opt/motion2/server/files/attachments/%s','basename','server','files','attachments','download','join','util','lodash','ioredis','../../components/interaction/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','register','jayson/promise','client','http','fax-interactions','request','info','FaxMessage,\x20%s,\x20%s','request\x20sent','debug','FaxMessage,\x20%s,\x20%s,\x20%s','error','code','message','result','status','json','offset','undefined','limit','count','set','update','then','sendStatus','stack','name','index','map','FaxMessage','type','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','where','pick','filters','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params'];(function(_0x9feb56,_0x4c2c1c){var _0xf65c48=function(_0x5f3fd3){while(--_0x5f3fd3){_0x9feb56['push'](_0x9feb56['shift']());}};_0xf65c48(++_0x4c2c1c);}(_0x3807,0xa0));var _0x7380=function(_0x149cb0,_0x4e7743){_0x149cb0=_0x149cb0-0x0;var _0x343864=_0x3807[_0x149cb0];return _0x343864;};'use strict';var util=require(_0x7380('0x0'));var path=require('path');var _=require(_0x7380('0x1'));var Redis=require(_0x7380('0x2'));var interactionService=require(_0x7380('0x3'));var qs=require(_0x7380('0x4'));var logger=require(_0x7380('0x5'))(_0x7380('0x6'));var config=require(_0x7380('0x7'));var db=require(_0x7380('0x8'))['db'];config[_0x7380('0x9')]=_[_0x7380('0xa')](config[_0x7380('0x9')],{'host':'localhost','port':0x18eb});var socket=require(_0x7380('0xb'))(new Redis(config[_0x7380('0x9')]));require('./faxMessage.socket')[_0x7380('0xc')](socket);var jayson=require(_0x7380('0xd'));var client=jayson[_0x7380('0xe')]['http']({'port':0x232c});var client9002=jayson[_0x7380('0xe')][_0x7380('0xf')]({'port':0x232a});var interaction_log=require(_0x7380('0x5'))(_0x7380('0x10'));function respondWithRpcPromise(_0x33eb80,_0x49e882,_0x28f48d,_0x1ee1b0){return new Promise(function(_0x23f4c4,_0x4b8bb3){var _0x4bc21a=_0x1ee1b0||client;return _0x4bc21a[_0x7380('0x11')](_0x33eb80,_0x28f48d)['then'](function(_0x219f69){logger[_0x7380('0x12')](_0x7380('0x13'),_0x49e882,_0x7380('0x14'));logger[_0x7380('0x15')](_0x7380('0x16'),_0x49e882,_0x7380('0x14'),JSON['stringify'](_0x219f69));if(_0x219f69[_0x7380('0x17')]){if(_0x219f69[_0x7380('0x17')][_0x7380('0x18')]===0x1f4){logger['error'](_0x7380('0x13'),_0x49e882,_0x219f69['error']['message']);return _0x4b8bb3(_0x219f69['error'][_0x7380('0x19')]);}logger['error'](_0x7380('0x13'),_0x49e882,_0x219f69[_0x7380('0x17')][_0x7380('0x19')]);return _0x23f4c4(_0x219f69[_0x7380('0x17')][_0x7380('0x19')]);}else{logger[_0x7380('0x12')](_0x7380('0x13'),_0x49e882,_0x7380('0x14'));_0x23f4c4(_0x219f69[_0x7380('0x1a')][_0x7380('0x19')]);}})['catch'](function(_0xd85f5b){logger['error']('FaxMessage,\x20%s,\x20%s',_0x49e882,_0xd85f5b);_0x4b8bb3(_0xd85f5b);});});}function respondWithResult(_0x22000c,_0x39b71c){_0x39b71c=_0x39b71c||0xc8;return function(_0x5c1ead){if(_0x5c1ead){return _0x22000c[_0x7380('0x1b')](_0x39b71c)[_0x7380('0x1c')](_0x5c1ead);}};}function respondWithFilteredResult(_0x773dcf,_0x3a0304){return function(_0x22287f){if(_0x22287f){var _0x2b1880=typeof _0x3a0304[_0x7380('0x1d')]===_0x7380('0x1e')&&typeof _0x3a0304[_0x7380('0x1f')]===_0x7380('0x1e');var _0x355de3=_0x22287f['count'];var _0x1b8b19=_0x2b1880?0x0:_0x3a0304[_0x7380('0x1d')];var _0xad9776=_0x2b1880?_0x22287f[_0x7380('0x20')]:_0x3a0304['offset']+_0x3a0304[_0x7380('0x1f')];var _0x4ff2ee;if(_0xad9776>=_0x355de3){_0xad9776=_0x355de3;_0x4ff2ee=0xc8;}else{_0x4ff2ee=0xce;}_0x773dcf[_0x7380('0x1b')](_0x4ff2ee);return _0x773dcf[_0x7380('0x21')]('Content-Range',_0x1b8b19+'-'+_0xad9776+'/'+_0x355de3)['json'](_0x22287f);}return null;};}function saveUpdates(_0x520908){return function(_0x596ab8){if(_0x596ab8){return _0x596ab8[_0x7380('0x22')](_0x520908)[_0x7380('0x23')](function(_0xab28b){return _0xab28b;});}return null;};}function removeEntity(_0x169155){return function(_0x40d9cd){if(_0x40d9cd){return _0x40d9cd['destroy']()[_0x7380('0x23')](function(){_0x169155[_0x7380('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0xbb8fb){return function(_0x4b2e2f){if(!_0x4b2e2f){_0xbb8fb[_0x7380('0x24')](0x194);}return _0x4b2e2f;};}function handleError(_0x5eee28,_0x128976){_0x128976=_0x128976||0x1f4;return function(_0x71038f){logger[_0x7380('0x17')](_0x71038f[_0x7380('0x25')]);if(_0x71038f[_0x7380('0x26')]){delete _0x71038f['name'];}_0x5eee28['status'](_0x128976)['send'](_0x71038f);};}exports[_0x7380('0x27')]=function(_0x576e8c,_0x1dcb24){var _0x43bb4f={},_0x1812b2={},_0x5e0501={'count':0x0,'rows':[]};var _0x26c560=_[_0x7380('0x28')](db[_0x7380('0x29')]['rawAttributes'],function(_0x3eaaec){return{'name':_0x3eaaec['fieldName'],'type':_0x3eaaec[_0x7380('0x2a')]['key']};});_0x1812b2[_0x7380('0x2b')]=_[_0x7380('0x28')](_0x26c560,_0x7380('0x26'));_0x1812b2[_0x7380('0x2c')]=_[_0x7380('0x2d')](_0x576e8c[_0x7380('0x2c')]);_0x1812b2['filters']=_[_0x7380('0x2e')](_0x1812b2[_0x7380('0x2b')],_0x1812b2[_0x7380('0x2c')]);_0x43bb4f[_0x7380('0x2f')]=_[_0x7380('0x2e')](_0x1812b2[_0x7380('0x2b')],qs[_0x7380('0x30')](_0x576e8c[_0x7380('0x2c')][_0x7380('0x30')]));_0x43bb4f[_0x7380('0x2f')]=_0x43bb4f[_0x7380('0x2f')][_0x7380('0x31')]?_0x43bb4f['attributes']:_0x1812b2['model'];if(!_0x576e8c[_0x7380('0x2c')][_0x7380('0x32')](_0x7380('0x33'))){_0x43bb4f[_0x7380('0x1f')]=qs['limit'](_0x576e8c[_0x7380('0x2c')][_0x7380('0x1f')]);_0x43bb4f[_0x7380('0x1d')]=qs[_0x7380('0x1d')](_0x576e8c['query'][_0x7380('0x1d')]);}_0x43bb4f['order']=qs['sort'](_0x576e8c['query']['sort']);_0x43bb4f[_0x7380('0x34')]=qs['filters'](_[_0x7380('0x35')](_0x576e8c[_0x7380('0x2c')],_0x1812b2[_0x7380('0x36')]),_0x26c560);if(_0x576e8c[_0x7380('0x2c')][_0x7380('0x37')]){_0x43bb4f[_0x7380('0x34')]=_[_0x7380('0x38')](_0x43bb4f['where'],{'$or':_['map'](_0x26c560,function(_0xd02a4f){if(_0xd02a4f[_0x7380('0x2a')]!==_0x7380('0x39')){var _0x120eeb={};_0x120eeb[_0xd02a4f['name']]={'$like':'%'+_0x576e8c[_0x7380('0x2c')][_0x7380('0x37')]+'%'};return _0x120eeb;}})});}_0x43bb4f=_[_0x7380('0x38')]({},_0x43bb4f,_0x576e8c[_0x7380('0x3a')]);var _0x4b84a1={'where':_0x43bb4f[_0x7380('0x34')]};return db[_0x7380('0x29')][_0x7380('0x20')](_0x4b84a1)[_0x7380('0x23')](function(_0xf69c8e){_0x5e0501[_0x7380('0x20')]=_0xf69c8e;if(_0x576e8c[_0x7380('0x2c')][_0x7380('0x3b')]){_0x43bb4f[_0x7380('0x3c')]=[{'all':!![]}];}return db[_0x7380('0x29')][_0x7380('0x3d')](_0x43bb4f);})[_0x7380('0x23')](function(_0x23f40f){_0x5e0501[_0x7380('0x3e')]=_0x23f40f;return _0x5e0501;})['then'](respondWithFilteredResult(_0x1dcb24,_0x43bb4f))[_0x7380('0x3f')](handleError(_0x1dcb24,null));};exports[_0x7380('0x40')]=function(_0x1f7e0b,_0x48a239){var _0x3f1387={'raw':!![],'where':{'id':_0x1f7e0b[_0x7380('0x41')]['id']}},_0x2b0edd={};_0x2b0edd[_0x7380('0x2b')]=_[_0x7380('0x2d')](db[_0x7380('0x29')][_0x7380('0x42')]);_0x2b0edd['query']=_[_0x7380('0x2d')](_0x1f7e0b['query']);_0x2b0edd[_0x7380('0x36')]=_[_0x7380('0x2e')](_0x2b0edd[_0x7380('0x2b')],_0x2b0edd[_0x7380('0x2c')]);_0x3f1387[_0x7380('0x2f')]=_['intersection'](_0x2b0edd[_0x7380('0x2b')],qs[_0x7380('0x30')](_0x1f7e0b[_0x7380('0x2c')][_0x7380('0x30')]));_0x3f1387[_0x7380('0x2f')]=_0x3f1387['attributes']['length']?_0x3f1387[_0x7380('0x2f')]:_0x2b0edd[_0x7380('0x2b')];if(_0x1f7e0b[_0x7380('0x2c')][_0x7380('0x3b')]){_0x3f1387[_0x7380('0x3c')]=[{'all':!![]}];}_0x3f1387=_[_0x7380('0x38')]({},_0x3f1387,_0x1f7e0b[_0x7380('0x3a')]);return db[_0x7380('0x29')][_0x7380('0x43')](_0x3f1387)[_0x7380('0x23')](handleEntityNotFound(_0x48a239,null))[_0x7380('0x23')](respondWithResult(_0x48a239,null))[_0x7380('0x3f')](handleError(_0x48a239,null));};exports[_0x7380('0x22')]=function(_0x21b59b,_0x13fe9f){if(_0x21b59b[_0x7380('0x44')]['id']){delete _0x21b59b[_0x7380('0x44')]['id'];}return db['FaxMessage'][_0x7380('0x43')]({'where':{'id':_0x21b59b[_0x7380('0x41')]['id']}})[_0x7380('0x23')](handleEntityNotFound(_0x13fe9f,null))['then'](saveUpdates(_0x21b59b['body'],null))['then'](respondWithResult(_0x13fe9f,null))[_0x7380('0x3f')](handleError(_0x13fe9f,null));};exports['destroy']=function(_0x1cd2e2,_0x1c1a6c){return db[_0x7380('0x29')][_0x7380('0x43')]({'where':{'id':_0x1cd2e2[_0x7380('0x41')]['id']}})[_0x7380('0x23')](handleEntityNotFound(_0x1c1a6c,null))[_0x7380('0x23')](removeEntity(_0x1c1a6c,null))['catch'](handleError(_0x1c1a6c,null));};exports[_0x7380('0x45')]=function(_0x3a9ef6,_0x58c9a8){return db[_0x7380('0x29')][_0x7380('0x45')]()['then'](respondWithResult(_0x58c9a8,null))[_0x7380('0x3f')](handleError(_0x58c9a8,null));};exports[_0x7380('0x46')]=function(_0x58eee4,_0x192d5){var _0x14a337=_0x7380('0x47');return interactionService[_0x7380('0x48')](_0x58eee4,_0x14a337)[_0x7380('0x23')](respondWithResult(_0x192d5,null))[_0x7380('0x3f')](handleError(_0x192d5,null));};exports['accept']=function(_0x556aac,_0x6ee0ce){var _0x55d8d2=_0x7380('0x49');return interactionService[_0x7380('0x48')](_0x556aac,_0x55d8d2)[_0x7380('0x23')](respondWithResult(_0x6ee0ce,null))[_0x7380('0x3f')](handleError(_0x6ee0ce,null));};exports['reject']=function(_0x47e0a1,_0x1b2c04){var _0x364cec={'agent':{},'channel':_0x7380('0x49')};if(_0x47e0a1['body']['id']){delete _0x47e0a1[_0x7380('0x44')]['id'];}_0x47e0a1['body'][_0x7380('0x4a')]=_0x47e0a1[_0x7380('0x44')]['UserId']||_0x47e0a1[_0x7380('0x4b')]['id'];_0x364cec[_0x7380('0x4c')]['id']=_0x47e0a1[_0x7380('0x44')][_0x7380('0x4a')];return db['FaxMessage'][_0x7380('0x43')]({'where':{'id':_0x47e0a1[_0x7380('0x41')]['id'],'UserId':null}})[_0x7380('0x23')](handleEntityNotFound(_0x1b2c04,null))[_0x7380('0x23')](function(_0x4e9843){if(_0x4e9843){_0x364cec[_0x7380('0x19')]=_0x4e9843[_0x7380('0x4d')]({'plain':!![]});return db[_0x7380('0x4e')][_0x7380('0x43')]({'where':{'id':_0x4e9843[_0x7380('0x4f')]}});}return null;})[_0x7380('0x23')](handleEntityNotFound(_0x1b2c04,null))[_0x7380('0x23')](function(_0x45ad1c){if(_0x45ad1c){_0x364cec[_0x7380('0x50')]=_0x45ad1c[_0x7380('0x4d')]({'plain':!![]});interaction_log['info'](_0x7380('0x51'),_0x47e0a1[_0x7380('0x4b')]['id'],_0x47e0a1[_0x7380('0x4b')][_0x7380('0x26')],_0x47e0a1[_0x7380('0x4b')][_0x7380('0x52')],_0x364cec['interaction']['id'],_0x47e0a1[_0x7380('0x44')]?JSON[_0x7380('0x53')](_0x47e0a1[_0x7380('0x44')]):_0x7380('0x54'));return respondWithRpcPromise('RejectMessage','rejectMessage',_0x364cec);}return null;})[_0x7380('0x23')](function(_0x19b09e){var _0xb8d77a='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x19b09e['message'][_0x7380('0x55')];return db[_0x7380('0x56')][_0x7380('0x2c')](_0xb8d77a,{'type':db[_0x7380('0x57')][_0x7380('0x58')][_0x7380('0x59')],'raw':!![]})['then'](function(_0x59a652){return _0x59a652;});})[_0x7380('0x23')](function(_0x145369){if(_0x145369){_0x364cec['message']['contact']=_0x145369[0x0];if(!_0x47e0a1[_0x7380('0x44')][_0x7380('0x4a')])return;return db['User']['find']({'where':{'id':_0x47e0a1[_0x7380('0x44')]['UserId'],'role':_0x7380('0x4c')},'attributes':['id','name',_0x7380('0x5a'),'email',_0x7380('0x5b')],'raw':!![]});}return null;})[_0x7380('0x23')](function(_0x1beccc){if(!_0x1beccc)return null;_0x364cec['message'][_0x7380('0x4c')]=_0x1beccc;return _0x364cec;})[_0x7380('0x23')](function(_0x1381d9){if(_0x1381d9){_0x1381d9['message']['interface']=util[_0x7380('0x5c')](_0x7380('0x5d'),_0x47e0a1[_0x7380('0x4b')][_0x7380('0x26')]);_0x1381d9[_0x7380('0x19')]['channel']=_0x364cec[_0x7380('0x5e')];_0x1381d9[_0x7380('0x19')][_0x7380('0x5f')]=_0x364cec['channel'];_0x1381d9[_0x7380('0x19')][_0x7380('0x60')]=_0x7380('0x61');respondWithRpcPromise(_0x7380('0x62'),_0x7380('0x62'),{'event':_0x7380('0x63'),'message':_0x1381d9[_0x7380('0x19')]},client9002);return _0x364cec;}return null;})['then'](respondWithResult(_0x1b2c04,null))[_0x7380('0x3f')](handleError(_0x1b2c04,null));};exports[_0x7380('0x64')]=function(_0x522ce1,_0x27220e){var _0x5f31c5;return db[_0x7380('0x29')][_0x7380('0x64')](_0x522ce1['body'],{})[_0x7380('0x23')](function(_0x1b542a){_0x5f31c5=_0x1b542a;return db['CmContact'][_0x7380('0x65')]({'where':{'id':_0x5f31c5[_0x7380('0x55')]}});})[_0x7380('0x23')](function(_0x2c7a30){if(_[_0x7380('0x66')](_0x2c7a30)){return;}else{_0x5f31c5['fax']=_0x2c7a30[_0x7380('0x49')];return db[_0x7380('0x67')][_0x7380('0x65')]({'where':{'id':_0x5f31c5[_0x7380('0x68')]}});}})[_0x7380('0x23')](function(_0x55ae33){return respondWithRpcPromise('SendFax','SendFax',{'FaxAccountId':_[_0x7380('0x66')](_0x522ce1[_0x7380('0x44')])?undefined:_0x522ce1[_0x7380('0x44')][_0x7380('0x69')],'path':_['isNil'](_0x55ae33)?undefined:util[_0x7380('0x5c')](_0x7380('0x6a'),_0x55ae33[_0x7380('0x6b')]),'fax':_[_0x7380('0x66')](_0x5f31c5[_0x7380('0x49')])?undefined:_0x5f31c5[_0x7380('0x49')],'AttachmentId':_0x5f31c5[_0x7380('0x68')]},client9002);})[_0x7380('0x23')](respondWithResult(_0x27220e,0xc9))[_0x7380('0x3f')](handleError(_0x27220e,null));};exports['download']=function(_0x4448f2,_0xb6a660){var _0x186b3=path['join'](config['root'],_0x7380('0x6c'),_0x7380('0x6d'),_0x7380('0x6e'));return db[_0x7380('0x29')][_0x7380('0x43')]({'where':{'id':_0x4448f2['params']['id']},'include':[{'model':db[_0x7380('0x67')],'as':'Attachment'}]})[_0x7380('0x23')](handleEntityNotFound(_0xb6a660,null))['then'](function(_0x348536){if(_0x348536){return _0xb6a660[_0x7380('0x6f')](path[_0x7380('0x70')](_0x186b3,_0x348536[_0x7380('0x67')][_0x7380('0x6b')]));}})[_0x7380('0x3f')](handleError(_0xb6a660,null));};