Built motion from commit 20b39a97.|2.6.29
[motion2.git] / server / api / faxAccount / faxAccount.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 _0x07fd=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','redis','defaults','localhost','socket.io-emitter','./faxAccount.socket','register','jayson/promise','client','http','request','then','info','FaxAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','FaxAccount,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','get','UserProfileResource','stack','name','send','index','mandatoryDispositionPause','rawAttributes','fieldName','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','sort','pick','filter','where','VIRTUAL','merge','options','FaxAccount','includeAll','include','rows','show','params','Pause','keys','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','FaxAccounts','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','addDisposition','FaxAccountId','getDispositions','findOne','Disposition','order','findAll','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','nolimit','addInteraction','FaxInteraction','omit','getInteractions','CmContact','Contact','internal','Tag','color','tag','addApplications','sequelize','ISOLATION_LEVELS','READ_COMMITTED','FaxApplication','findAndCountAll','finally','getApplications','context','from-voip-provider','app','type','system','description','Fax\x20Extension','appdata','push','Set','localstationid','faxdetect','headerinfo','maxrate','modem','FAXOPT(','/var/opt/motion2/server/files/attachments/fax-${CALLERID(num)}-${CUT(UNIQUEID,.,1)}-${CUT(UNIQUEID,.,2)}-${STRFTIME(,,%C%y%m%d%H%M%S)}-rx.tif,d','ReceiveFax','addAccountApplications','transaction','bulkCreate','VoiceExtension','tech','createdAt','updatedAt','TrunkId','ListId','findById','FaxMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','List','Contacts','attachments','root','server/files/attachments','basename','CheckAfterSend','isNil','from','\x22%s\x22\x20<%s>','fax','List\x20not\x20found','Send\x20Fax\x20failed','out','filename','Messages','spread','ContactId','dataValues','SendFaxRpc,\x20%s','addAgents','emit','userFaxAccount:save','removeAgents','userFaxAccount:remove','getAgents','User','eml-format','rimraf','fast-json-patch','moment','bluebird','path','sox','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service'];(function(_0x1adb0f,_0x8d949e){var _0x494a34=function(_0x5a227e){while(--_0x5a227e){_0x1adb0f['push'](_0x1adb0f['shift']());}};_0x494a34(++_0x8d949e);}(_0x07fd,0x16c));var _0xd07f=function(_0x4bb730,_0x25cbee){_0x4bb730=_0x4bb730-0x0;var _0x4c0897=_0x07fd[_0x4bb730];return _0x4c0897;};'use strict';var emlformat=require(_0xd07f('0x0'));var rimraf=require(_0xd07f('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd07f('0x2'));var rp=require('request-promise');var moment=require(_0xd07f('0x3'));var BPromise=require(_0xd07f('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0xd07f('0x5'));var sox=require(_0xd07f('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xd07f('0x7'));var squel=require(_0xd07f('0x8'));var crypto=require(_0xd07f('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xd07f('0xa'));var toCsv=require(_0xd07f('0xb'));var querystring=require(_0xd07f('0xc'));var Papa=require(_0xd07f('0xd'));var Redis=require(_0xd07f('0xe'));var authService=require(_0xd07f('0xf'));var qs=require(_0xd07f('0x10'));var as=require(_0xd07f('0x11'));var hardwareService=require(_0xd07f('0x12'));var logger=require('../../config/logger')('api');var utils=require(_0xd07f('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0xd07f('0x14')]=_[_0xd07f('0x15')](config[_0xd07f('0x14')],{'host':_0xd07f('0x16'),'port':0x18eb});var socket=require(_0xd07f('0x17'))(new Redis(config[_0xd07f('0x14')]));require(_0xd07f('0x18'))[_0xd07f('0x19')](socket);var jayson=require(_0xd07f('0x1a'));var client=jayson[_0xd07f('0x1b')][_0xd07f('0x1c')]({'port':0x232c});var client9002=jayson[_0xd07f('0x1b')][_0xd07f('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x2a5a0c,_0x5d6a31,_0xe0b2bc,_0x4efcda){return new BPromise(function(_0x205c0d,_0x205362){var _0x15f576=_0x4efcda||client;return _0x15f576[_0xd07f('0x1d')](_0x2a5a0c,_0xe0b2bc)[_0xd07f('0x1e')](function(_0x1601c2){logger[_0xd07f('0x1f')]('FaxAccount,\x20%s,\x20%s',_0x5d6a31,'request\x20sent');logger['debug'](_0xd07f('0x20'),_0x5d6a31,_0xd07f('0x21'),JSON[_0xd07f('0x22')](_0x1601c2));if(_0x1601c2[_0xd07f('0x23')]){if(_0x1601c2['error']['code']===0x1f4){logger['error'](_0xd07f('0x24'),_0x5d6a31,_0x1601c2[_0xd07f('0x23')][_0xd07f('0x25')]);return _0x205362(_0x1601c2['error'][_0xd07f('0x25')]);}logger[_0xd07f('0x23')](_0xd07f('0x24'),_0x5d6a31,_0x1601c2[_0xd07f('0x23')]['message']);return _0x205c0d(_0x1601c2[_0xd07f('0x23')][_0xd07f('0x25')]);}else{logger['info'](_0xd07f('0x24'),_0x5d6a31,_0xd07f('0x21'));_0x205c0d(_0x1601c2[_0xd07f('0x26')]['message']);}})[_0xd07f('0x27')](function(_0x240c7){logger[_0xd07f('0x23')](_0xd07f('0x24'),_0x5d6a31,_0x240c7);_0x205362(_0x240c7);});});}function respondWithStatusCode(_0x69f75a,_0x5b0b4b){_0x5b0b4b=_0x5b0b4b||0xcc;return function(_0x1ebfe8){if(_0x1ebfe8){return _0x69f75a[_0xd07f('0x28')](_0x5b0b4b);}return _0x69f75a[_0xd07f('0x29')](_0x5b0b4b)[_0xd07f('0x2a')]();};}function respondWithResult(_0x428a1a,_0x40e5d5){_0x40e5d5=_0x40e5d5||0xc8;return function(_0x36155){if(_0x36155){return _0x428a1a[_0xd07f('0x29')](_0x40e5d5)[_0xd07f('0x2b')](_0x36155);}};}function respondWithFilteredResult(_0xa92698,_0x296f80){return function(_0x2d44ca){if(_0x2d44ca){var _0x570d28=typeof _0x296f80[_0xd07f('0x2c')]===_0xd07f('0x2d')&&typeof _0x296f80[_0xd07f('0x2e')]==='undefined';var _0x9077a6=_0x2d44ca[_0xd07f('0x2f')];var _0x500f83=_0x570d28?0x0:_0x296f80[_0xd07f('0x2c')];var _0x14896f=_0x570d28?_0x2d44ca['count']:_0x296f80['offset']+_0x296f80['limit'];var _0x507384;if(_0x14896f>=_0x9077a6){_0x14896f=_0x9077a6;_0x507384=0xc8;}else{_0x507384=0xce;}_0xa92698[_0xd07f('0x29')](_0x507384);return _0xa92698[_0xd07f('0x30')](_0xd07f('0x31'),_0x500f83+'-'+_0x14896f+'/'+_0x9077a6)[_0xd07f('0x2b')](_0x2d44ca);}return null;};}function patchUpdates(_0x40c701){return function(_0x4c3d95){try{jsonpatch[_0xd07f('0x32')](_0x4c3d95,_0x40c701,!![]);}catch(_0x134d61){return BPromise[_0xd07f('0x33')](_0x134d61);}return _0x4c3d95[_0xd07f('0x34')]();};}function saveUpdates(_0x5aa9d9,_0x48477a){return function(_0x4c388d){if(_0x4c388d){return _0x4c388d[_0xd07f('0x35')](_0x5aa9d9)[_0xd07f('0x1e')](function(_0x2ff95d){return _0x2ff95d;});}return null;};}function removeEntity(_0x9a83d,_0x158cb2){return function(_0x117677){if(_0x117677){return _0x117677[_0xd07f('0x36')]()[_0xd07f('0x1e')](function(){var _0x382412=_0x117677[_0xd07f('0x37')]({'plain':!![]});var _0x1fb730='FaxAccounts';return db[_0xd07f('0x38')][_0xd07f('0x36')]({'where':{'type':_0x1fb730,'resourceId':_0x382412['id']}})[_0xd07f('0x1e')](function(){return _0x117677;});})[_0xd07f('0x1e')](function(){_0x9a83d[_0xd07f('0x29')](0xcc)[_0xd07f('0x2a')]();});}};}function handleEntityNotFound(_0x4ed018,_0xcd1ffe){return function(_0x438ca8){if(!_0x438ca8){_0x4ed018[_0xd07f('0x28')](0x194);}return _0x438ca8;};}function handleError(_0x230217,_0xed05bc){_0xed05bc=_0xed05bc||0x1f4;return function(_0x1e7885){logger[_0xd07f('0x23')](_0x1e7885[_0xd07f('0x39')]);if(_0x1e7885['name']){delete _0x1e7885[_0xd07f('0x3a')];}_0x230217[_0xd07f('0x29')](_0xed05bc)[_0xd07f('0x3b')](_0x1e7885);};}exports[_0xd07f('0x3c')]=function(_0x203d80,_0xe5a6b2){var _0x4d3d8a={'include':[{'model':db['Pause'],'as':_0xd07f('0x3d')}]},_0x10a52a={},_0x405afa={'count':0x0,'rows':[]};var _0x30cf4f=_['map'](db['FaxAccount'][_0xd07f('0x3e')],function(_0x53ac8b){return{'name':_0x53ac8b[_0xd07f('0x3f')],'type':_0x53ac8b['type'][_0xd07f('0x40')]};});_0x10a52a[_0xd07f('0x41')]=_[_0xd07f('0x42')](_0x30cf4f,_0xd07f('0x3a'));_0x10a52a['query']=_['keys'](_0x203d80[_0xd07f('0x43')]);_0x10a52a[_0xd07f('0x44')]=_[_0xd07f('0x45')](_0x10a52a[_0xd07f('0x41')],_0x10a52a['query']);_0x4d3d8a[_0xd07f('0x46')]=_[_0xd07f('0x45')](_0x10a52a[_0xd07f('0x41')],qs[_0xd07f('0x47')](_0x203d80['query'][_0xd07f('0x47')]));_0x4d3d8a[_0xd07f('0x46')]=_0x4d3d8a['attributes'][_0xd07f('0x48')]?_0x4d3d8a[_0xd07f('0x46')]:_0x10a52a[_0xd07f('0x41')];if(!_0x203d80['query'][_0xd07f('0x49')]('nolimit')){_0x4d3d8a[_0xd07f('0x2e')]=qs[_0xd07f('0x2e')](_0x203d80[_0xd07f('0x43')][_0xd07f('0x2e')]);_0x4d3d8a[_0xd07f('0x2c')]=qs[_0xd07f('0x2c')](_0x203d80[_0xd07f('0x43')][_0xd07f('0x2c')]);}_0x4d3d8a['order']=qs[_0xd07f('0x4a')](_0x203d80[_0xd07f('0x43')][_0xd07f('0x4a')]);_0x4d3d8a['where']=qs[_0xd07f('0x44')](_[_0xd07f('0x4b')](_0x203d80['query'],_0x10a52a['filters']),_0x30cf4f);if(_0x203d80[_0xd07f('0x43')][_0xd07f('0x4c')]){_0x4d3d8a[_0xd07f('0x4d')]=_['merge'](_0x4d3d8a[_0xd07f('0x4d')],{'$or':_['map'](_0x30cf4f,function(_0x4ab0b2){if(_0x4ab0b2['type']!==_0xd07f('0x4e')){var _0x1bd491={};_0x1bd491[_0x4ab0b2[_0xd07f('0x3a')]]={'$like':'%'+_0x203d80[_0xd07f('0x43')][_0xd07f('0x4c')]+'%'};return _0x1bd491;}})});}_0x4d3d8a=_[_0xd07f('0x4f')]({},_0x4d3d8a,_0x203d80[_0xd07f('0x50')]);var _0x2a5672={'where':_0x4d3d8a[_0xd07f('0x4d')]};return db[_0xd07f('0x51')][_0xd07f('0x2f')](_0x2a5672)[_0xd07f('0x1e')](function(_0x4664d6){_0x405afa['count']=_0x4664d6;if(_0x203d80['query'][_0xd07f('0x52')]){_0x4d3d8a[_0xd07f('0x53')]=[{'all':!![]}];}return db[_0xd07f('0x51')]['findAll'](_0x4d3d8a);})[_0xd07f('0x1e')](function(_0x558d76){_0x405afa[_0xd07f('0x54')]=_0x558d76;return _0x405afa;})['then'](respondWithFilteredResult(_0xe5a6b2,_0x4d3d8a))[_0xd07f('0x27')](handleError(_0xe5a6b2,null));};exports[_0xd07f('0x55')]=function(_0xd0db1,_0x563305){var _0x366b22={'raw':![],'where':{'id':_0xd0db1[_0xd07f('0x56')]['id']},'include':[{'model':db[_0xd07f('0x57')],'as':_0xd07f('0x3d')}]},_0x294d43={};_0x294d43[_0xd07f('0x41')]=_[_0xd07f('0x58')](db['FaxAccount'][_0xd07f('0x3e')]);_0x294d43[_0xd07f('0x43')]=_[_0xd07f('0x58')](_0xd0db1['query']);_0x294d43[_0xd07f('0x44')]=_[_0xd07f('0x45')](_0x294d43[_0xd07f('0x41')],_0x294d43[_0xd07f('0x43')]);_0x366b22[_0xd07f('0x46')]=_[_0xd07f('0x45')](_0x294d43['model'],qs[_0xd07f('0x47')](_0xd0db1[_0xd07f('0x43')][_0xd07f('0x47')]));_0x366b22[_0xd07f('0x46')]=_0x366b22[_0xd07f('0x46')][_0xd07f('0x48')]?_0x366b22[_0xd07f('0x46')]:_0x294d43[_0xd07f('0x41')];if(_0xd0db1[_0xd07f('0x43')]['includeAll']){_0x366b22[_0xd07f('0x53')]=[{'all':!![]}];}_0x366b22=_[_0xd07f('0x4f')]({},_0x366b22,_0xd0db1[_0xd07f('0x50')]);return db[_0xd07f('0x51')][_0xd07f('0x59')](_0x366b22)[_0xd07f('0x1e')](handleEntityNotFound(_0x563305,null))[_0xd07f('0x1e')](respondWithResult(_0x563305,null))[_0xd07f('0x27')](handleError(_0x563305,null));};exports[_0xd07f('0x5a')]=function(_0x3b4ef2,_0x44dc54){return db[_0xd07f('0x51')]['create'](_0x3b4ef2['body'],{})[_0xd07f('0x1e')](function(_0x1bc3be){var _0x14b2b0=_0x3b4ef2[_0xd07f('0x5b')]['get']({'plain':!![]});if(!_0x14b2b0)throw new Error(_0xd07f('0x5c'));if(_0x14b2b0[_0xd07f('0x5d')]===_0xd07f('0x5b')){var _0xaea531=_0x1bc3be[_0xd07f('0x37')]({'plain':!![]});var _0xe1643d=_0xd07f('0x5e');return db['UserProfileSection'][_0xd07f('0x59')]({'where':{'name':_0xe1643d,'userProfileId':_0x14b2b0['userProfileId']},'raw':!![]})[_0xd07f('0x1e')](function(_0x47d228){if(_0x47d228&&_0x47d228[_0xd07f('0x5f')]===0x0){return db[_0xd07f('0x38')]['create']({'name':_0xaea531[_0xd07f('0x3a')],'resourceId':_0xaea531['id'],'type':_0x47d228[_0xd07f('0x3a')],'sectionId':_0x47d228['id']},{})[_0xd07f('0x1e')](function(){return _0x1bc3be;});}else{return _0x1bc3be;}})[_0xd07f('0x27')](function(_0x1b0554){logger['error'](_0xd07f('0x60'),_0x1b0554);throw _0x1b0554;});}return _0x1bc3be;})[_0xd07f('0x1e')](respondWithResult(_0x44dc54,0xc9))[_0xd07f('0x27')](handleError(_0x44dc54,null));};exports['update']=function(_0x55e1be,_0x4a6180){if(_0x55e1be[_0xd07f('0x61')]['id']){delete _0x55e1be[_0xd07f('0x61')]['id'];}return db['FaxAccount'][_0xd07f('0x59')]({'where':{'id':_0x55e1be[_0xd07f('0x56')]['id']},'include':[{'model':db[_0xd07f('0x57')],'as':_0xd07f('0x3d')}]})[_0xd07f('0x1e')](handleEntityNotFound(_0x4a6180,null))['then'](saveUpdates(_0x55e1be['body'],null))[_0xd07f('0x1e')](respondWithResult(_0x4a6180,null))[_0xd07f('0x27')](handleError(_0x4a6180,null));};exports[_0xd07f('0x36')]=function(_0x4318ed,_0x30e8aa){return db[_0xd07f('0x51')][_0xd07f('0x59')]({'where':{'id':_0x4318ed['params']['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x30e8aa,null))[_0xd07f('0x1e')](removeEntity(_0x30e8aa,null))[_0xd07f('0x27')](handleError(_0x30e8aa,null));};exports[_0xd07f('0x62')]=function(_0x494221,_0x23bad6){return db['FaxAccount'][_0xd07f('0x62')]()[_0xd07f('0x1e')](respondWithResult(_0x23bad6,null))[_0xd07f('0x27')](handleError(_0x23bad6,null));};exports[_0xd07f('0x63')]=function(_0x625262,_0x4b4c43,_0x29f9ea){if(_0x625262[_0xd07f('0x61')]['id']){delete _0x625262[_0xd07f('0x61')]['id'];}return db['FaxAccount'][_0xd07f('0x59')]({'where':{'id':_0x625262[_0xd07f('0x56')]['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x4b4c43,null))[_0xd07f('0x1e')](function(_0x132af1){if(_0x132af1){_0x625262['body'][_0xd07f('0x64')]=_0x132af1['id'];return db['Disposition'][_0xd07f('0x5a')](_0x625262['body']);}})[_0xd07f('0x1e')](respondWithResult(_0x4b4c43,null))[_0xd07f('0x27')](handleError(_0x4b4c43,null));};exports[_0xd07f('0x65')]=function(_0x30f5ef,_0x2d0d34,_0x2e6b2d){var _0x4089f9={'raw':![],'where':{}};var _0x416e1c={};var _0x42176f={'count':0x0,'rows':[]};return db[_0xd07f('0x51')][_0xd07f('0x66')]({'where':{'id':_0x30f5ef['params']['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x2d0d34,null))['then'](function(_0x1f08ab){if(_0x1f08ab){_0x416e1c[_0xd07f('0x41')]=_['keys'](db[_0xd07f('0x67')]['rawAttributes']);_0x416e1c['query']=_['keys'](_0x30f5ef[_0xd07f('0x43')]);_0x416e1c[_0xd07f('0x44')]=_[_0xd07f('0x45')](_0x416e1c['model'],_0x416e1c[_0xd07f('0x43')]);_0x4089f9['attributes']=_[_0xd07f('0x45')](_0x416e1c[_0xd07f('0x41')],qs['fields'](_0x30f5ef[_0xd07f('0x43')]['fields']));_0x4089f9[_0xd07f('0x46')]=_0x4089f9[_0xd07f('0x46')][_0xd07f('0x48')]?_0x4089f9[_0xd07f('0x46')]:_0x416e1c[_0xd07f('0x41')];if(!_0x30f5ef['query'][_0xd07f('0x49')]('nolimit')){_0x4089f9['limit']=qs[_0xd07f('0x2e')](_0x30f5ef[_0xd07f('0x43')][_0xd07f('0x2e')]);_0x4089f9[_0xd07f('0x2c')]=qs[_0xd07f('0x2c')](_0x30f5ef[_0xd07f('0x43')][_0xd07f('0x2c')]);}_0x4089f9[_0xd07f('0x68')]=qs[_0xd07f('0x4a')](_0x30f5ef[_0xd07f('0x43')][_0xd07f('0x4a')]);_0x4089f9[_0xd07f('0x4d')]=qs['filters'](_['pick'](_0x30f5ef[_0xd07f('0x43')],_0x416e1c[_0xd07f('0x44')]));_0x4089f9[_0xd07f('0x4d')][_0xd07f('0x64')]=_0x1f08ab['id'];if(_0x30f5ef[_0xd07f('0x43')][_0xd07f('0x4c')]){_0x4089f9['where']=_[_0xd07f('0x4f')](_0x4089f9[_0xd07f('0x4d')],{'$or':_[_0xd07f('0x42')](_0x4089f9['attributes'],function(_0x291f00){var _0x1a3e2a={};_0x1a3e2a[_0x291f00]={'$like':'%'+_0x30f5ef[_0xd07f('0x43')][_0xd07f('0x4c')]+'%'};return _0x1a3e2a;})});}_0x4089f9=_[_0xd07f('0x4f')]({},_0x4089f9,_0x30f5ef['options']);return db['Disposition']['count']({'where':_0x4089f9['where']})[_0xd07f('0x1e')](function(_0x486d5a){_0x42176f[_0xd07f('0x2f')]=_0x486d5a;if(_0x30f5ef[_0xd07f('0x43')][_0xd07f('0x52')]){_0x4089f9[_0xd07f('0x53')]=[{'all':!![]}];}return db[_0xd07f('0x67')][_0xd07f('0x69')](_0x4089f9);})[_0xd07f('0x1e')](function(_0xef5e97){_0x42176f[_0xd07f('0x54')]=_0xef5e97;return _0x42176f;});}})['then'](respondWithFilteredResult(_0x2d0d34,_0x4089f9))[_0xd07f('0x27')](handleError(_0x2d0d34,null));};exports[_0xd07f('0x6a')]=function(_0xd6a590,_0x25c99e,_0x25e624){return db[_0xd07f('0x51')][_0xd07f('0x59')]({'where':{'id':_0xd6a590['params']['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x25c99e,null))[_0xd07f('0x1e')](function(_0x5c577e){if(_0x5c577e){return _0x5c577e[_0xd07f('0x6a')](_0xd6a590[_0xd07f('0x43')][_0xd07f('0x6b')]);}})[_0xd07f('0x1e')](respondWithStatusCode(_0x25c99e,null))[_0xd07f('0x27')](handleError(_0x25c99e,null));};exports[_0xd07f('0x6c')]=function(_0x27adf5,_0x50333b,_0x2d5b43){if(_0x27adf5[_0xd07f('0x61')]['id']){delete _0x27adf5[_0xd07f('0x61')]['id'];}return db['FaxAccount'][_0xd07f('0x59')]({'where':{'id':_0x27adf5[_0xd07f('0x56')]['id']}})['then'](handleEntityNotFound(_0x50333b,null))['then'](function(_0x25d64f){if(_0x25d64f){_0x27adf5[_0xd07f('0x61')][_0xd07f('0x64')]=_0x25d64f['id'];return db[_0xd07f('0x6d')][_0xd07f('0x5a')](_0x27adf5['body']);}})[_0xd07f('0x1e')](respondWithResult(_0x50333b,null))[_0xd07f('0x27')](handleError(_0x50333b,null));};exports[_0xd07f('0x6e')]=function(_0x97adf3,_0x2e35e3,_0x31dd04){var _0x558393={'raw':![],'where':{}};var _0x62f79a={};var _0x591f86={'count':0x0,'rows':[]};return db[_0xd07f('0x51')][_0xd07f('0x66')]({'where':{'id':_0x97adf3[_0xd07f('0x56')]['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x2e35e3,null))[_0xd07f('0x1e')](function(_0x476b78){if(_0x476b78){_0x62f79a['model']=_[_0xd07f('0x58')](db[_0xd07f('0x6d')]['rawAttributes']);_0x62f79a['query']=_[_0xd07f('0x58')](_0x97adf3[_0xd07f('0x43')]);_0x62f79a[_0xd07f('0x44')]=_[_0xd07f('0x45')](_0x62f79a[_0xd07f('0x41')],_0x62f79a[_0xd07f('0x43')]);_0x558393[_0xd07f('0x46')]=_[_0xd07f('0x45')](_0x62f79a[_0xd07f('0x41')],qs[_0xd07f('0x47')](_0x97adf3[_0xd07f('0x43')][_0xd07f('0x47')]));_0x558393[_0xd07f('0x46')]=_0x558393[_0xd07f('0x46')][_0xd07f('0x48')]?_0x558393[_0xd07f('0x46')]:_0x62f79a[_0xd07f('0x41')];if(!_0x97adf3[_0xd07f('0x43')][_0xd07f('0x49')](_0xd07f('0x6f'))){_0x558393['limit']=qs[_0xd07f('0x2e')](_0x97adf3[_0xd07f('0x43')][_0xd07f('0x2e')]);_0x558393['offset']=qs[_0xd07f('0x2c')](_0x97adf3[_0xd07f('0x43')]['offset']);}_0x558393[_0xd07f('0x68')]=qs[_0xd07f('0x4a')](_0x97adf3[_0xd07f('0x43')]['sort']);_0x558393[_0xd07f('0x4d')]=qs[_0xd07f('0x44')](_[_0xd07f('0x4b')](_0x97adf3[_0xd07f('0x43')],_0x62f79a[_0xd07f('0x44')]));_0x558393[_0xd07f('0x4d')][_0xd07f('0x64')]=_0x476b78['id'];if(_0x97adf3['query'][_0xd07f('0x4c')]){_0x558393[_0xd07f('0x4d')]=_['merge'](_0x558393['where'],{'$or':_[_0xd07f('0x42')](_0x558393[_0xd07f('0x46')],function(_0x4a5879){var _0x3b935b={};_0x3b935b[_0x4a5879]={'$like':'%'+_0x97adf3['query'][_0xd07f('0x4c')]+'%'};return _0x3b935b;})});}_0x558393=_['merge']({},_0x558393,_0x97adf3[_0xd07f('0x50')]);return db[_0xd07f('0x6d')]['count']({'where':_0x558393[_0xd07f('0x4d')]})[_0xd07f('0x1e')](function(_0x34b5c2){_0x591f86[_0xd07f('0x2f')]=_0x34b5c2;if(_0x97adf3[_0xd07f('0x43')][_0xd07f('0x52')]){_0x558393[_0xd07f('0x53')]=[{'all':!![]}];}return db['CannedAnswer'][_0xd07f('0x69')](_0x558393);})[_0xd07f('0x1e')](function(_0x5b39c8){_0x591f86[_0xd07f('0x54')]=_0x5b39c8;return _0x591f86;});}})[_0xd07f('0x1e')](respondWithFilteredResult(_0x2e35e3,_0x558393))[_0xd07f('0x27')](handleError(_0x2e35e3,null));};exports['removeAnswers']=function(_0x10be95,_0x4957b7,_0x1949b6){return db[_0xd07f('0x51')]['find']({'where':{'id':_0x10be95[_0xd07f('0x56')]['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x4957b7,null))[_0xd07f('0x1e')](function(_0x5823a7){if(_0x5823a7){return _0x5823a7['removeAnswers'](_0x10be95[_0xd07f('0x43')]['ids']);}})[_0xd07f('0x1e')](respondWithStatusCode(_0x4957b7,null))['catch'](handleError(_0x4957b7,null));};exports[_0xd07f('0x70')]=function(_0x187bb8,_0x2091fe,_0x14b45e){return db[_0xd07f('0x71')][_0xd07f('0x59')]({'where':{'id':_0x187bb8[_0xd07f('0x56')]['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x2091fe,null))[_0xd07f('0x1e')](function(_0x3cf883){if(_0x3cf883){return _0x3cf883[_0xd07f('0x70')](_0x187bb8['body'][_0xd07f('0x6b')],_[_0xd07f('0x72')](_0x187bb8[_0xd07f('0x61')],[_0xd07f('0x6b'),'id'])||{});}})['then'](respondWithResult(_0x2091fe,null))[_0xd07f('0x27')](handleError(_0x2091fe,null));};exports[_0xd07f('0x73')]=function(_0x990ba5,_0x425f2f,_0x93f8b){var _0x32ac57={'raw':![],'where':{}};var _0x3f1619={};var _0x85ceaf={'count':0x0,'rows':[]};return db[_0xd07f('0x51')][_0xd07f('0x66')]({'where':{'id':_0x990ba5[_0xd07f('0x56')]['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x425f2f,null))[_0xd07f('0x1e')](function(_0x432e87){if(_0x432e87){_0x3f1619[_0xd07f('0x41')]=_['keys'](db[_0xd07f('0x71')][_0xd07f('0x3e')]);_0x3f1619[_0xd07f('0x43')]=_[_0xd07f('0x58')](_0x990ba5[_0xd07f('0x43')]);_0x3f1619[_0xd07f('0x44')]=_['intersection'](_0x3f1619[_0xd07f('0x41')],_0x3f1619['query']);_0x32ac57[_0xd07f('0x46')]=_[_0xd07f('0x45')](_0x3f1619[_0xd07f('0x41')],qs[_0xd07f('0x47')](_0x990ba5[_0xd07f('0x43')][_0xd07f('0x47')]));_0x32ac57[_0xd07f('0x46')]=_0x32ac57['attributes']['length']?_0x32ac57[_0xd07f('0x46')]:_0x3f1619[_0xd07f('0x41')];if(!_0x990ba5[_0xd07f('0x43')][_0xd07f('0x49')](_0xd07f('0x6f'))){_0x32ac57[_0xd07f('0x2e')]=qs[_0xd07f('0x2e')](_0x990ba5['query'][_0xd07f('0x2e')]);_0x32ac57[_0xd07f('0x2c')]=qs[_0xd07f('0x2c')](_0x990ba5[_0xd07f('0x43')][_0xd07f('0x2c')]);}_0x32ac57['order']=qs[_0xd07f('0x4a')](_0x990ba5['query']['sort']);_0x32ac57['where']=qs[_0xd07f('0x44')](_[_0xd07f('0x4b')](_0x990ba5[_0xd07f('0x43')],_0x3f1619[_0xd07f('0x44')]));_0x32ac57['where'][_0xd07f('0x64')]=_0x432e87['id'];if(_0x990ba5[_0xd07f('0x43')][_0xd07f('0x4c')]){_0x32ac57['where']=_[_0xd07f('0x4f')](_0x32ac57[_0xd07f('0x4d')],{'$or':_[_0xd07f('0x42')](_0x32ac57[_0xd07f('0x46')],function(_0x3d4d0a){var _0x5ede72={};_0x5ede72[_0x3d4d0a]={'$like':'%'+_0x990ba5[_0xd07f('0x43')]['filter']+'%'};return _0x5ede72;})});}_0x32ac57=_[_0xd07f('0x4f')]({},_0x32ac57,_0x990ba5[_0xd07f('0x50')]);return db[_0xd07f('0x71')]['count']({'where':_0x32ac57[_0xd07f('0x4d')]})['then'](function(_0x5329b8){_0x85ceaf[_0xd07f('0x2f')]=_0x5329b8;if(_0x990ba5[_0xd07f('0x43')][_0xd07f('0x52')]){_0x32ac57[_0xd07f('0x53')]=[{'model':db[_0xd07f('0x74')],'as':_0xd07f('0x75'),'required':![]},{'model':db['User'],'as':'Owner','attributes':[_0xd07f('0x3a'),'fullname',_0xd07f('0x76')],'required':![]},{'model':db[_0xd07f('0x77')],'as':'Tags','attributes':['id',_0xd07f('0x3a'),_0xd07f('0x78')],'where':_0x990ba5[_0xd07f('0x43')][_0xd07f('0x79')]?{'id':_0x990ba5[_0xd07f('0x43')][_0xd07f('0x79')]}:undefined,'required':_0x990ba5[_0xd07f('0x43')]['tag']?!![]:![]}];}return db[_0xd07f('0x71')][_0xd07f('0x69')](_0x32ac57);})[_0xd07f('0x1e')](function(_0x42ff11){_0x85ceaf[_0xd07f('0x54')]=_0x42ff11;return _0x85ceaf;});}})[_0xd07f('0x1e')](respondWithFilteredResult(_0x425f2f,_0x32ac57))['catch'](handleError(_0x425f2f,null));};exports[_0xd07f('0x7a')]=function(_0x1b5600,_0x4e915d){var _0x4fb04e=_0x1b5600[_0xd07f('0x56')]['id'];var _0xa6d4fe=_0x1b5600[_0xd07f('0x61')];var _0x1673c2=0xc8;var _0x317a17=null;return db[_0xd07f('0x7b')]['transaction']({'isolationLevel':db[_0xd07f('0x7b')]['Transaction'][_0xd07f('0x7c')][_0xd07f('0x7d')]},function(_0x7a1ac6){return db[_0xd07f('0x51')]['findOne']({'where':{'id':_0x4fb04e},'transaction':_0x7a1ac6})[_0xd07f('0x1e')](function(_0x1ac792){if(_0x1ac792){return db[_0xd07f('0x7e')][_0xd07f('0x36')]({'where':{'FaxAccountId':_0x4fb04e},'transaction':_0x7a1ac6})['then'](function(){var _0x56e2e8=_[_0xd07f('0x42')](_0xa6d4fe,function(_0x1da0cd){_0x1da0cd['FaxAccountId']=_0x4fb04e;return _0x1da0cd;});return db['FaxApplication']['bulkCreate'](_0x56e2e8,{'transaction':_0x7a1ac6});});}else{_0x1673c2=0x194;_0x317a17=[];}});})['then'](function(){if(_0x1673c2!==0x194){return db[_0xd07f('0x7e')][_0xd07f('0x7f')]({'where':{'FaxAccountId':_0x4fb04e},'order':'priority'})['then'](function(_0x2c3478){_0x317a17=_0x2c3478;});}})[_0xd07f('0x27')](function(_0x562e20){_0x1673c2=0x1f4;logger[_0xd07f('0x23')](_0x562e20[_0xd07f('0x39')]);if(_0x562e20[_0xd07f('0x3a')]){delete _0x562e20['name'];}_0x317a17=_0x562e20;})[_0xd07f('0x80')](function(){if(_0x317a17===null){_0x4e915d[_0xd07f('0x28')](_0x1673c2);}else{if(_0x1673c2===0x1f4){_0x4e915d[_0xd07f('0x29')](_0x1673c2)[_0xd07f('0x3b')](_0x317a17);}else{_0x4e915d['status'](_0x1673c2)[_0xd07f('0x2b')](_0x317a17);}}});};exports[_0xd07f('0x81')]=function(_0x536203,_0x53486a,_0x522dfd){var _0x230aec={};var _0x218d3d={};var _0x55760f;var _0xdea181;return db[_0xd07f('0x51')][_0xd07f('0x66')]({'where':{'id':_0x536203[_0xd07f('0x56')]['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x53486a,null))[_0xd07f('0x1e')](function(_0x4f7290){if(_0x4f7290){_0x55760f=_0x4f7290;_0x218d3d['model']=_[_0xd07f('0x58')](db[_0xd07f('0x7e')][_0xd07f('0x3e')]);_0x218d3d[_0xd07f('0x43')]=_[_0xd07f('0x58')](_0x536203[_0xd07f('0x43')]);_0x218d3d[_0xd07f('0x44')]=_[_0xd07f('0x45')](_0x218d3d[_0xd07f('0x41')],_0x218d3d[_0xd07f('0x43')]);_0x230aec['attributes']=_['intersection'](_0x218d3d['model'],qs['fields'](_0x536203['query'][_0xd07f('0x47')]));_0x230aec[_0xd07f('0x46')]=_0x230aec[_0xd07f('0x46')][_0xd07f('0x48')]?_0x230aec['attributes']:_0x218d3d[_0xd07f('0x41')];_0x230aec[_0xd07f('0x68')]=qs[_0xd07f('0x4a')](_0x536203[_0xd07f('0x43')]['sort']);_0x230aec[_0xd07f('0x4d')]=qs[_0xd07f('0x44')](_[_0xd07f('0x4b')](_0x536203[_0xd07f('0x43')],_0x218d3d[_0xd07f('0x44')]));if(_0x536203[_0xd07f('0x43')][_0xd07f('0x4c')]){_0x230aec[_0xd07f('0x4d')]=_[_0xd07f('0x4f')](_0x230aec[_0xd07f('0x4d')],{'$or':_['map'](_0x230aec[_0xd07f('0x46')],function(_0x202d73){var _0x498990={};_0x498990[_0x202d73]={'$like':'%'+_0x536203['query'][_0xd07f('0x4c')]+'%'};return _0x498990;})});}_0x230aec=_[_0xd07f('0x4f')]({},_0x230aec,_0x536203['options']);return _0x55760f[_0xd07f('0x81')](_0x230aec);}})[_0xd07f('0x1e')](function(_0x641f2f){if(_0x641f2f){_0xdea181=_0x641f2f[_0xd07f('0x48')];if(!_0x536203['query'][_0xd07f('0x49')](_0xd07f('0x6f'))){_0x230aec[_0xd07f('0x2e')]=qs[_0xd07f('0x2e')](_0x536203[_0xd07f('0x43')]['limit']);_0x230aec[_0xd07f('0x2c')]=qs[_0xd07f('0x2c')](_0x536203[_0xd07f('0x43')][_0xd07f('0x2c')]);}return _0x55760f[_0xd07f('0x81')](_0x230aec);}})[_0xd07f('0x1e')](function(_0x16df5f){if(_0x16df5f){return _0x16df5f?{'count':_0xdea181,'rows':_0x16df5f}:null;}})[_0xd07f('0x1e')](respondWithResult(_0x53486a,null))['catch'](handleError(_0x53486a,null));};function Extension(_0x27db12,_0x46e3e9,_0x7525bb,_0x5d2d94){this[_0xd07f('0x82')]=_0xd07f('0x83');this['exten']=_0x27db12['localstationid'];this[_0xd07f('0x84')]=_0x5d2d94;this[_0xd07f('0x85')]=_0xd07f('0x86');this[_0xd07f('0x87')]=_0xd07f('0x88');this[_0xd07f('0x64')]=_0x27db12['id'];this['priority']=_0x46e3e9;this[_0xd07f('0x89')]=_0x7525bb;}function createExtensionsReciveFax(_0x1a421c){var _0x1f42fa=0x1;var _0xdf3550=[];_0xdf3550['push'](new Extension(_0x1a421c,_0x1f42fa,'','Answer'));_0x1f42fa+=0x1;_0xdf3550[_0xd07f('0x8a')](new Extension(_0x1a421c,_0x1f42fa,'CDR(type)=inbound-fax',_0xd07f('0x8b')));_0x1f42fa+=0x1;for(var _0x5b154c in _0x1a421c){if(_0x1a421c[_0xd07f('0x49')](_0x5b154c)&&(_0x5b154c==='ecm'||_0x5b154c===_0xd07f('0x8c')||_0x5b154c==='gateway'||_0x5b154c===_0xd07f('0x8d')||_0x5b154c===_0xd07f('0x8e')||_0x5b154c===_0xd07f('0x8f')||_0x5b154c==='minrate'||_0x5b154c===_0xd07f('0x90')||_0x5b154c==='t38timeout')){_0xdf3550[_0xd07f('0x8a')](new Extension(_0x1a421c,_0x1f42fa,_0xd07f('0x91')+_0x5b154c+')='+_0x1a421c[_0x5b154c],_0xd07f('0x8b')));_0x1f42fa+=0x1;}}_0xdf3550['push'](new Extension(_0x1a421c,_0x1f42fa,'6','Wait'));_0x1f42fa+=0x1;_0xdf3550['push'](new Extension(_0x1a421c,_0x1f42fa,_0xd07f('0x92'),_0xd07f('0x93')));_0x1f42fa=0x0;return _0xdf3550;}exports[_0xd07f('0x94')]=function(_0x3c2b00,_0x14bcf2,_0x58961a){var _0x19b238;return db[_0xd07f('0x7b')][_0xd07f('0x95')](function(_0x113564){return db[_0xd07f('0x51')]['create'](_0x3c2b00[_0xd07f('0x61')],{'transaction':_0x113564})['then'](function(_0x5bb5d3){_0x19b238=_0x5bb5d3[_0xd07f('0x37')]({'plain':!![]});return db['VoiceExtension'][_0xd07f('0x96')](createExtensionsReciveFax(_0x19b238),{'transaction':_0x113564});});})[_0xd07f('0x1e')](function(){return _0x19b238;})[_0xd07f('0x1e')](respondWithResult(_0x14bcf2,null))[_0xd07f('0x27')](handleError(_0x14bcf2,null));};exports['updateAccountApplications']=function(_0x43a3de,_0x294018,_0x277007){var _0x3ed345;return db[_0xd07f('0x7b')][_0xd07f('0x95')](function(_0x1d55c2){return db['FaxAccount'][_0xd07f('0x35')](_0x43a3de[_0xd07f('0x61')],{'where':{'id':_0x43a3de[_0xd07f('0x61')]['id']},'transaction':_0x1d55c2})[_0xd07f('0x1e')](function(_0x8d9213){return db[_0xd07f('0x97')][_0xd07f('0x36')]({'where':{'FaxAccountId':_0x43a3de['body']['id']},'transaction':_0x1d55c2})[_0xd07f('0x1e')](function(_0x349a26){return db[_0xd07f('0x97')][_0xd07f('0x96')](createExtensionsReciveFax(_['omit'](_0x43a3de[_0xd07f('0x61')],[_0xd07f('0x98'),'key',_0xd07f('0x99'),_0xd07f('0x9a'),_0xd07f('0x9b'),_0xd07f('0x9c')])),{'transaction':_0x1d55c2});});});})[_0xd07f('0x1e')](function(){return db['FaxAccount'][_0xd07f('0x9d')](_0x43a3de[_0xd07f('0x61')]['id']);})[_0xd07f('0x1e')](respondWithResult(_0x294018,null))[_0xd07f('0x27')](handleError(_0x294018,null));};exports['getMessages']=function(_0x19dec0,_0x12c07d,_0x4d5a63){var _0xba73ac={'raw':!![],'where':{}};var _0x8ec4f={};var _0x324273={'count':0x0,'rows':[]};return db[_0xd07f('0x51')][_0xd07f('0x66')]({'where':{'id':_0x19dec0['params']['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x12c07d,null))[_0xd07f('0x1e')](function(_0x3decb4){if(_0x3decb4){_0x8ec4f['model']=_['keys'](db[_0xd07f('0x9e')][_0xd07f('0x3e')]);_0x8ec4f['query']=_[_0xd07f('0x58')](_0x19dec0['query']);_0x8ec4f[_0xd07f('0x44')]=_['intersection'](_0x8ec4f[_0xd07f('0x41')],_0x8ec4f[_0xd07f('0x43')]);_0xba73ac[_0xd07f('0x46')]=_[_0xd07f('0x45')](_0x8ec4f['model'],qs[_0xd07f('0x47')](_0x19dec0['query'][_0xd07f('0x47')]));_0xba73ac[_0xd07f('0x46')]=_0xba73ac[_0xd07f('0x46')][_0xd07f('0x48')]?_0xba73ac['attributes']:_0x8ec4f[_0xd07f('0x41')];if(!_0x19dec0[_0xd07f('0x43')][_0xd07f('0x49')](_0xd07f('0x6f'))){_0xba73ac[_0xd07f('0x2e')]=qs[_0xd07f('0x2e')](_0x19dec0[_0xd07f('0x43')][_0xd07f('0x2e')]);_0xba73ac[_0xd07f('0x2c')]=qs[_0xd07f('0x2c')](_0x19dec0['query'][_0xd07f('0x2c')]);}_0xba73ac[_0xd07f('0x68')]=qs[_0xd07f('0x4a')](_0x19dec0[_0xd07f('0x43')][_0xd07f('0x4a')]);_0xba73ac[_0xd07f('0x4d')]=qs[_0xd07f('0x44')](_[_0xd07f('0x4b')](_0x19dec0['query'],_0x8ec4f[_0xd07f('0x44')]));_0xba73ac[_0xd07f('0x4d')][_0xd07f('0x64')]=_0x3decb4['id'];if(_0x19dec0[_0xd07f('0x43')]['filter']){_0xba73ac['where']=_['merge'](_0xba73ac['where'],{'$or':_['map'](_0xba73ac[_0xd07f('0x46')],function(_0x7dafd5){var _0x3bb94c={};_0x3bb94c[_0x7dafd5]={'$like':'%'+_0x19dec0[_0xd07f('0x43')][_0xd07f('0x4c')]+'%'};return _0x3bb94c;})});}if(_0x19dec0[_0xd07f('0x43')][_0xd07f('0x9f')]){var _0x11cd4d=_0x19dec0[_0xd07f('0x43')]['$gte'][_0xd07f('0xa0')](',');var _0x21920b={};_0x21920b[_0x11cd4d[0x0]]={'$gte':moment(_0x11cd4d[0x1])[_0xd07f('0xa1')](_0xd07f('0xa2'))};_0xba73ac[_0xd07f('0x4d')]=_[_0xd07f('0x4f')](_0xba73ac['where'],_0x21920b);}_0xba73ac=_['merge']({},_0xba73ac,_0x19dec0[_0xd07f('0x50')]);return db['FaxMessage'][_0xd07f('0x2f')]({'where':_0xba73ac[_0xd07f('0x4d')]})['then'](function(_0x1f828f){_0x324273[_0xd07f('0x2f')]=_0x1f828f;if(_0x19dec0[_0xd07f('0x43')][_0xd07f('0x52')]){_0xba73ac[_0xd07f('0x53')]=[{'all':!![]}];}return db[_0xd07f('0x9e')][_0xd07f('0x69')](_0xba73ac);})[_0xd07f('0x1e')](function(_0x5be43a){_0x324273['rows']=_0x5be43a;return _0x324273;});}})[_0xd07f('0x1e')](respondWithFilteredResult(_0x12c07d,_0xba73ac))[_0xd07f('0x27')](handleError(_0x12c07d,null));};exports['send']=function(_0x1cccb6,_0x3083d7,_0x587a10){var _0x243c3c,_0x48df86={},_0x3f3cca;if(_0x1cccb6['body']['to']){_0x3f3cca=_0x1cccb6[_0xd07f('0x61')]['to'][0x0];}return db['FaxAccount']['find']({'where':{'id':_0x1cccb6[_0xd07f('0x56')]['id']},'include':[{'model':db['CmList'],'as':_0xd07f('0xa3'),'include':[{'model':db[_0xd07f('0x74')],'as':_0xd07f('0xa4'),'where':{'fax':_0x3f3cca},'limit':0x1,'order':[[_0xd07f('0x9a'),'DESC']]}]}]})['then'](handleEntityNotFound(_0x3083d7,null))['then'](function(_0x55c8da){_0x243c3c=_0x55c8da;if(_0x1cccb6['body']['attachments']&&_0x1cccb6[_0xd07f('0x61')][_0xd07f('0xa5')][_0xd07f('0x48')]){for(var _0x31b292=0x0;_0x31b292<_0x1cccb6[_0xd07f('0x61')]['attachments']['length'];_0x31b292+=0x1){_0x1cccb6[_0xd07f('0x61')][_0xd07f('0xa5')][_0x31b292]={'filename':_0x1cccb6['body'][_0xd07f('0xa5')][_0x31b292][_0xd07f('0x3a')],'id':_0x1cccb6['body'][_0xd07f('0xa5')][_0x31b292]['id'],'path':path['join'](config[_0xd07f('0xa6')],_0xd07f('0xa7'),_0x1cccb6[_0xd07f('0x61')][_0xd07f('0xa5')][_0x31b292][_0xd07f('0xa8')])};}}return respondWithRpcPromise(_0xd07f('0xa9'),_0xd07f('0xa9'),{'FaxAccountId':_[_0xd07f('0xaa')](_0x1cccb6['params']['id'])?undefined:_0x1cccb6['params']['id'],'path':_[_0xd07f('0xaa')](_0x1cccb6[_0xd07f('0x61')]['attachments'][0x0][_0xd07f('0x5')])?undefined:_0x1cccb6['body']['attachments'][0x0][_0xd07f('0x5')],'fax':_['isNil'](_0x1cccb6[_0xd07f('0x61')]['to'][0x0])?undefined:_0x1cccb6[_0xd07f('0x61')]['to'][0x0]},client9002);})[_0xd07f('0x1e')](function(){if(_0x243c3c){if(_[_0xd07f('0xaa')](_0x1cccb6[_0xd07f('0x61')][_0xd07f('0xab')])){_0x1cccb6[_0xd07f('0x61')]['from']=util['format'](_0xd07f('0xac'),_0x243c3c[_0xd07f('0x3a')],_0x243c3c[_0xd07f('0xad')]);}if(_0x243c3c[_0xd07f('0xa3')]){if(_0x243c3c['List'][_0xd07f('0xa4')][_0xd07f('0x48')]){return _0x243c3c[_0xd07f('0xa3')]['Contacts'][0x0];}else{return db['CmContact'][_0xd07f('0x5a')](_[_0xd07f('0x15')](_0x1cccb6[_0xd07f('0x61')],{'firstName':_0x1cccb6['body']['to'][0x0],'phone':_0x1cccb6['body']['to'][0x0],'fax':_0x1cccb6['body']['to'][0x0],'ListId':_0x243c3c[_0xd07f('0x9c')]}));}}else{throw new Error(_0xd07f('0xae'));}}else{throw new Error(_0xd07f('0xaf'));}})['then'](function(_0x24026b){if(_0x24026b){return db[_0xd07f('0x71')][_0xd07f('0x59')]({'where':{'ContactId':_0x24026b['id'],'closed':![],'FaxAccountId':_0x243c3c['id']}})['then'](function(_0x3edc68){if(_0x3edc68){return[_0x3edc68,![]];}return db[_0xd07f('0x71')]['create']({'UserId':_0x1cccb6[_0xd07f('0x5b')]['id'],'ContactId':_0x24026b['id'],'FaxAccountId':_0x243c3c['id'],'fax':_0x1cccb6[_0xd07f('0x61')]['to'][0x0],'firstMsgDirection':_0xd07f('0xb0'),'Messages':[_['merge'](_0x1cccb6[_0xd07f('0x61')],{'read':![],'body':_0x1cccb6[_0xd07f('0x61')][_0xd07f('0xa5')][0x0][_0xd07f('0xb1')],'FaxAccountId':_0x243c3c['id'],'UserId':_0x1cccb6[_0xd07f('0x5b')]['id'],'ContactId':_0x24026b['id'],'AttachmentId':_0x1cccb6['body'][_0xd07f('0xa5')][0x0]['id']})]},{'include':[{'model':db[_0xd07f('0x9e')],'as':_0xd07f('0xb2')}]})[_0xd07f('0x1e')](function(_0x222141){return[_0x222141,!![]];});});}else{throw new Error('Contact\x20not\x20found');}})[_0xd07f('0xb3')](function(_0x3849a5,_0xd5b21d){if(_0xd5b21d){return _0x3849a5;}return db[_0xd07f('0x9e')]['create']({'direction':_0xd07f('0xb0'),'read':![],'body':_0x1cccb6[_0xd07f('0x61')]['attachments'][0x0][_0xd07f('0xb1')],'FaxAccountId':_0x243c3c['id'],'FaxInteractionId':_0x3849a5['id'],'UserId':_0x1cccb6[_0xd07f('0x5b')]['id'],'ContactId':_0x3849a5[_0xd07f('0xb4')],'AttachmentId':_0x1cccb6[_0xd07f('0x61')][_0xd07f('0xa5')][0x0]['id']})[_0xd07f('0x1e')](function(_0x2cb1eb){_0x3849a5[_0xd07f('0xb5')][_0xd07f('0xb2')]=[];_0x3849a5['dataValues']['Messages'][_0xd07f('0x8a')](_0x2cb1eb[_0xd07f('0xb5')]);return _0x3849a5;});})[_0xd07f('0x1e')](function(_0x19f8a4){respondWithRpcPromise('SendFax','SendFax',{'FaxAccountId':_['isNil'](_0x1cccb6['params']['id'])?undefined:_0x1cccb6['params']['id'],'path':_[_0xd07f('0xaa')](_0x1cccb6['body']['attachments'][0x0]['path'])?undefined:_0x1cccb6[_0xd07f('0x61')][_0xd07f('0xa5')][0x0][_0xd07f('0x5')],'fax':_[_0xd07f('0xaa')](_0x1cccb6[_0xd07f('0x61')]['to'][0x0])?undefined:_0x1cccb6[_0xd07f('0x61')]['to'][0x0],'AttachmentId':_0x1cccb6['body'][_0xd07f('0xa5')][0x0]['id']},client9002)[_0xd07f('0x1e')](function(_0x5db32b){logger[_0xd07f('0x1f')]('SendFaxRpc,\x20%s',_0x5db32b);})[_0xd07f('0x27')](function(_0x36e192){logger[_0xd07f('0x1f')](_0xd07f('0xb6'),_0x36e192);});return _0x19f8a4;})[_0xd07f('0x1e')](respondWithResult(_0x3083d7,null))[_0xd07f('0x27')](handleError(_0x3083d7,null));};exports[_0xd07f('0xb7')]=function(_0x17ce0e,_0x13a413,_0x17519b){return db[_0xd07f('0x51')]['find']({'where':{'id':_0x17ce0e[_0xd07f('0x56')]['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x13a413,null))[_0xd07f('0x1e')](function(_0x5333bc){if(_0x5333bc){return _0x5333bc[_0xd07f('0xb7')](_0x17ce0e['body'][_0xd07f('0x6b')],_[_0xd07f('0x72')](_0x17ce0e[_0xd07f('0x61')],[_0xd07f('0x6b'),'id'])||{})[_0xd07f('0xb3')](function(_0x5766ac){for(var _0x5caef1=0x0;_0x5caef1<_0x17ce0e[_0xd07f('0x61')]['ids']['length'];_0x5caef1+=0x1){socket[_0xd07f('0xb8')](_0xd07f('0xb9'),{'UserId':Number(_0x17ce0e[_0xd07f('0x61')]['ids'][_0x5caef1]),'FaxAccountId':Number(_0x17ce0e[_0xd07f('0x56')]['id'])});}return _0x5766ac;});}})[_0xd07f('0x1e')](respondWithResult(_0x13a413,null))[_0xd07f('0x27')](handleError(_0x13a413,null));};exports[_0xd07f('0xba')]=function(_0x15b9a5,_0x4c7d75,_0x6da7cc){return db['FaxAccount'][_0xd07f('0x59')]({'where':{'id':_0x15b9a5[_0xd07f('0x56')]['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x4c7d75,null))[_0xd07f('0x1e')](function(_0x410db8){if(_0x410db8){return _0x410db8[_0xd07f('0xba')](_0x15b9a5[_0xd07f('0x43')][_0xd07f('0x6b')])[_0xd07f('0x1e')](function(){if(_['isArray'](_0x15b9a5[_0xd07f('0x43')][_0xd07f('0x6b')])){for(var _0x88f48=0x0;_0x88f48<_0x15b9a5['query'][_0xd07f('0x6b')][_0xd07f('0x48')];_0x88f48+=0x1){socket[_0xd07f('0xb8')](_0xd07f('0xbb'),{'UserId':Number(_0x15b9a5[_0xd07f('0x43')][_0xd07f('0x6b')][_0x88f48]),'FaxAccountId':Number(_0x15b9a5['params']['id'])});}}else{socket[_0xd07f('0xb8')]('userFaxAccount:remove',{'UserId':Number(_0x15b9a5[_0xd07f('0x43')]['ids']),'FaxAccountId':Number(_0x15b9a5['params']['id'])});}});}})[_0xd07f('0x1e')](respondWithStatusCode(_0x4c7d75,null))[_0xd07f('0x27')](handleError(_0x4c7d75,null));};exports[_0xd07f('0xbc')]=function(_0x23e920,_0x3e1df4,_0x4e9634){var _0xece4fa={};var _0x222f6f={};var _0x4556f5;var _0x8ce0aa;return db[_0xd07f('0x51')][_0xd07f('0x66')]({'where':{'id':_0x23e920[_0xd07f('0x56')]['id']}})[_0xd07f('0x1e')](handleEntityNotFound(_0x3e1df4,null))['then'](function(_0x53a9aa){if(_0x53a9aa){_0x4556f5=_0x53a9aa;_0x222f6f[_0xd07f('0x41')]=_['keys'](db[_0xd07f('0xbd')][_0xd07f('0x3e')]);_0x222f6f['query']=_['keys'](_0x23e920['query']);_0x222f6f[_0xd07f('0x44')]=_[_0xd07f('0x45')](_0x222f6f[_0xd07f('0x41')],_0x222f6f['query']);_0xece4fa[_0xd07f('0x46')]=_[_0xd07f('0x45')](_0x222f6f[_0xd07f('0x41')],qs[_0xd07f('0x47')](_0x23e920['query'][_0xd07f('0x47')]));_0xece4fa[_0xd07f('0x46')]=_0xece4fa[_0xd07f('0x46')][_0xd07f('0x48')]?_0xece4fa[_0xd07f('0x46')]:_0x222f6f[_0xd07f('0x41')];_0xece4fa[_0xd07f('0x68')]=qs['sort'](_0x23e920[_0xd07f('0x43')]['sort']);_0xece4fa[_0xd07f('0x4d')]=qs[_0xd07f('0x44')](_[_0xd07f('0x4b')](_0x23e920[_0xd07f('0x43')],_0x222f6f['filters']));if(_0x23e920[_0xd07f('0x43')][_0xd07f('0x4c')]){_0xece4fa['where']=_['merge'](_0xece4fa[_0xd07f('0x4d')],{'$or':_[_0xd07f('0x42')](_0xece4fa[_0xd07f('0x46')],function(_0x501605){var _0x354fb5={};_0x354fb5[_0x501605]={'$like':'%'+_0x23e920[_0xd07f('0x43')][_0xd07f('0x4c')]+'%'};return _0x354fb5;})});}_0xece4fa=_[_0xd07f('0x4f')]({},_0xece4fa,_0x23e920['options']);return _0x4556f5['getAgents'](_0xece4fa);}})[_0xd07f('0x1e')](function(_0x48663c){if(_0x48663c){_0x8ce0aa=_0x48663c[_0xd07f('0x48')];if(!_0x23e920[_0xd07f('0x43')][_0xd07f('0x49')](_0xd07f('0x6f'))){_0xece4fa['limit']=qs['limit'](_0x23e920[_0xd07f('0x43')][_0xd07f('0x2e')]);_0xece4fa[_0xd07f('0x2c')]=qs[_0xd07f('0x2c')](_0x23e920[_0xd07f('0x43')][_0xd07f('0x2c')]);}return _0x4556f5[_0xd07f('0xbc')](_0xece4fa);}})[_0xd07f('0x1e')](function(_0x20a4d8){if(_0x20a4d8){return _0x20a4d8?{'count':_0x8ce0aa,'rows':_0x20a4d8}:null;}})[_0xd07f('0x1e')](respondWithResult(_0x3e1df4,null))['catch'](handleError(_0x3e1df4,null));};