d707b4f7c8a13fab5e87b5ed99c792c72e910618
[motion2.git] / server / api / voiceCallReport / voiceCallReport.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 _0x52a7=['index','map','VoiceCallReport','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','then','includeAll','fullname','alias','User','findAll','rows','catch','show','params','keys','length','create','body','describe','uniqueid','find','user','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','apply','update','error','stack','name','send'];(function(_0x53ccf2,_0x13cb67){var _0x5a2964=function(_0x3b0514){while(--_0x3b0514){_0x53ccf2['push'](_0x53ccf2['shift']());}};_0x5a2964(++_0x13cb67);}(_0x52a7,0x10f));var _0x752a=function(_0x4565bf,_0x5ad9d6){_0x4565bf=_0x4565bf-0x0;var _0x5610ba=_0x52a7[_0x4565bf];return _0x5610ba;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x752a('0x0'));var zipdir=require(_0x752a('0x1'));var jsonpatch=require(_0x752a('0x2'));var rp=require(_0x752a('0x3'));var moment=require(_0x752a('0x4'));var BPromise=require(_0x752a('0x5'));var Mustache=require(_0x752a('0x6'));var util=require(_0x752a('0x7'));var path=require(_0x752a('0x8'));var sox=require(_0x752a('0x9'));var csv=require(_0x752a('0xa'));var ejs=require(_0x752a('0xb'));var fs=require('fs');var _=require(_0x752a('0xc'));var squel=require('squel');var crypto=require(_0x752a('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x752a('0xa'));var querystring=require(_0x752a('0xe'));var Papa=require('papaparse');var Redis=require(_0x752a('0xf'));var authService=require(_0x752a('0x10'));var qs=require(_0x752a('0x11'));var as=require(_0x752a('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x752a('0x13'))(_0x752a('0x14'));var utils=require(_0x752a('0x15'));var config=require(_0x752a('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xc8c8d5,_0x4fc987){_0x4fc987=_0x4fc987||0xcc;return function(_0x47cd57){if(_0x47cd57){return _0xc8c8d5[_0x752a('0x17')](_0x4fc987);}return _0xc8c8d5[_0x752a('0x18')](_0x4fc987)[_0x752a('0x19')]();};}function respondWithResult(_0x3c4f39,_0x35ab44){_0x35ab44=_0x35ab44||0xc8;return function(_0x9c6b33){if(_0x9c6b33){return _0x3c4f39['status'](_0x35ab44)[_0x752a('0x1a')](_0x9c6b33);}};}function respondWithFilteredResult(_0x469adb,_0x5512c4){return function(_0x549468){if(_0x549468){var _0x4f4dc1=_0x549468[_0x752a('0x1b')],_0x1b7ee8=_0x5512c4[_0x752a('0x1c')],_0x3d756b=_0x5512c4[_0x752a('0x1c')]+_0x5512c4[_0x752a('0x1d')],_0x53ea3e;if(_0x3d756b>=_0x4f4dc1){_0x3d756b=_0x4f4dc1;_0x53ea3e=0xc8;}else{_0x53ea3e=0xce;}_0x469adb[_0x752a('0x18')](_0x53ea3e);return _0x469adb[_0x752a('0x1e')]('Content-Range',_0x1b7ee8+'-'+_0x3d756b+'/'+_0x4f4dc1)[_0x752a('0x1a')](_0x549468);}return null;};}function patchUpdates(_0x2803cd){return function(_0x327236){try{jsonpatch[_0x752a('0x1f')](_0x327236,_0x2803cd,!![]);}catch(_0xe3066f){return BPromise['reject'](_0xe3066f);}return _0x327236['save']();};}function saveUpdates(_0x4561d1,_0x173f67){return function(_0x1ed5ed){if(_0x1ed5ed){return _0x1ed5ed[_0x752a('0x20')](_0x4561d1)['then'](function(_0x2b950d){return _0x2b950d;});}return null;};}function removeEntity(_0x529074,_0x2d675d){return function(_0x1d4214){if(_0x1d4214){return _0x1d4214['destroy']()['then'](function(){_0x529074[_0x752a('0x18')](0xcc)[_0x752a('0x19')]();});}};}function handleEntityNotFound(_0xc37df4,_0x706591){return function(_0x491685){if(!_0x491685){_0xc37df4['sendStatus'](0x194);}return _0x491685;};}function handleError(_0x36b915,_0x2426a9){_0x2426a9=_0x2426a9||0x1f4;return function(_0x257ea1){logger[_0x752a('0x21')](_0x257ea1[_0x752a('0x22')]);if(_0x257ea1[_0x752a('0x23')]){delete _0x257ea1[_0x752a('0x23')];}_0x36b915[_0x752a('0x18')](_0x2426a9)[_0x752a('0x24')](_0x257ea1);};}exports[_0x752a('0x25')]=function(_0x36fdd2,_0x2b1182){var _0x5230d5={},_0x1912c3={},_0xc71850={'count':0x0,'rows':[]};var _0x383e1f=_[_0x752a('0x26')](db[_0x752a('0x27')][_0x752a('0x28')],function(_0x483752){return{'name':_0x483752[_0x752a('0x29')],'type':_0x483752[_0x752a('0x2a')][_0x752a('0x2b')]};});_0x1912c3[_0x752a('0x2c')]=_[_0x752a('0x26')](_0x383e1f,_0x752a('0x23'));_0x1912c3[_0x752a('0x2d')]=_['keys'](_0x36fdd2[_0x752a('0x2d')]);_0x1912c3[_0x752a('0x2e')]=_[_0x752a('0x2f')](_0x1912c3[_0x752a('0x2c')],_0x1912c3[_0x752a('0x2d')]);_0x5230d5[_0x752a('0x30')]=_[_0x752a('0x2f')](_0x1912c3[_0x752a('0x2c')],qs[_0x752a('0x31')](_0x36fdd2[_0x752a('0x2d')][_0x752a('0x31')]));_0x5230d5[_0x752a('0x30')]=_0x5230d5[_0x752a('0x30')]['length']?_0x5230d5['attributes']:_0x1912c3['model'];if(!_0x36fdd2[_0x752a('0x2d')][_0x752a('0x32')](_0x752a('0x33'))){_0x5230d5[_0x752a('0x1d')]=qs['limit'](_0x36fdd2[_0x752a('0x2d')][_0x752a('0x1d')]);_0x5230d5[_0x752a('0x1c')]=qs[_0x752a('0x1c')](_0x36fdd2[_0x752a('0x2d')]['offset']);}_0x5230d5['order']=qs[_0x752a('0x34')](_0x36fdd2[_0x752a('0x2d')][_0x752a('0x34')]);_0x5230d5[_0x752a('0x35')]=qs[_0x752a('0x2e')](_[_0x752a('0x36')](_0x36fdd2[_0x752a('0x2d')],_0x1912c3['filters']),_0x383e1f);if(_0x36fdd2[_0x752a('0x2d')][_0x752a('0x37')]){_0x5230d5['where']=_[_0x752a('0x38')](_0x5230d5[_0x752a('0x35')],{'$or':_[_0x752a('0x26')](_0x383e1f,function(_0x4d74f9){if(_0x4d74f9[_0x752a('0x2a')]!==_0x752a('0x39')){var _0x473430={};_0x473430[_0x4d74f9[_0x752a('0x23')]]={'$like':'%'+_0x36fdd2[_0x752a('0x2d')][_0x752a('0x37')]+'%'};return _0x473430;}})});}_0x5230d5=_[_0x752a('0x38')]({},_0x5230d5,_0x36fdd2[_0x752a('0x3a')]);var _0x4a7651={'where':_0x5230d5[_0x752a('0x35')]};return db[_0x752a('0x27')][_0x752a('0x1b')](_0x4a7651)[_0x752a('0x3b')](function(_0x18f8ef){_0xc71850[_0x752a('0x1b')]=_0x18f8ef;if(_0x36fdd2[_0x752a('0x2d')][_0x752a('0x3c')]){_0x5230d5['include']=[{'attributes':['id','name',_0x752a('0x3d'),_0x752a('0x3e')],'model':db['User'],'as':_0x752a('0x3f')}];}return db[_0x752a('0x27')][_0x752a('0x40')](_0x5230d5);})[_0x752a('0x3b')](function(_0x3e0910){_0xc71850[_0x752a('0x41')]=_0x3e0910;return _0xc71850;})['then'](respondWithFilteredResult(_0x2b1182,_0x5230d5))[_0x752a('0x42')](handleError(_0x2b1182,null));};exports[_0x752a('0x43')]=function(_0xf36c1b,_0x38d53a){var _0x561b40={'raw':!![],'where':{'id':_0xf36c1b[_0x752a('0x44')]['id']}},_0x40ed8b={};_0x40ed8b['model']=_[_0x752a('0x45')](db['VoiceCallReport']['rawAttributes']);_0x40ed8b[_0x752a('0x2d')]=_[_0x752a('0x45')](_0xf36c1b[_0x752a('0x2d')]);_0x40ed8b[_0x752a('0x2e')]=_[_0x752a('0x2f')](_0x40ed8b['model'],_0x40ed8b[_0x752a('0x2d')]);_0x561b40[_0x752a('0x30')]=_[_0x752a('0x2f')](_0x40ed8b[_0x752a('0x2c')],qs[_0x752a('0x31')](_0xf36c1b['query'][_0x752a('0x31')]));_0x561b40[_0x752a('0x30')]=_0x561b40[_0x752a('0x30')][_0x752a('0x46')]?_0x561b40[_0x752a('0x30')]:_0x40ed8b['model'];if(_0xf36c1b[_0x752a('0x2d')][_0x752a('0x3c')]){_0x561b40['include']=[{'all':!![]}];}_0x561b40=_[_0x752a('0x38')]({},_0x561b40,_0xf36c1b[_0x752a('0x3a')]);return db[_0x752a('0x27')]['find'](_0x561b40)['then'](handleEntityNotFound(_0x38d53a,null))[_0x752a('0x3b')](respondWithResult(_0x38d53a,null))[_0x752a('0x42')](handleError(_0x38d53a,null));};exports[_0x752a('0x47')]=function(_0x36a879,_0xf18e74){return db['VoiceCallReport']['create'](_0x36a879[_0x752a('0x48')],{})[_0x752a('0x3b')](respondWithResult(_0xf18e74,0xc9))[_0x752a('0x42')](handleError(_0xf18e74,null));};exports['destroy']=function(_0x41a0d6,_0x58b731){return db[_0x752a('0x27')]['find']({'where':{'id':_0x41a0d6[_0x752a('0x44')]['id']}})[_0x752a('0x3b')](handleEntityNotFound(_0x58b731,null))[_0x752a('0x3b')](removeEntity(_0x58b731,null))[_0x752a('0x42')](handleError(_0x58b731,null));};exports[_0x752a('0x49')]=function(_0x549e9a,_0x2de989){return db['VoiceCallReport'][_0x752a('0x49')]()[_0x752a('0x3b')](respondWithResult(_0x2de989,null))[_0x752a('0x42')](handleError(_0x2de989,null));};exports[_0x752a('0x20')]=function(_0xcffe90,_0x437d71){if(_0xcffe90[_0x752a('0x48')][_0x752a('0x4a')]){delete _0xcffe90[_0x752a('0x48')][_0x752a('0x4a')];}return db[_0x752a('0x27')][_0x752a('0x4b')]({'where':{'uniqueid':_0xcffe90[_0x752a('0x44')]['id'],'UserId':{'$or':[null,_0xcffe90[_0x752a('0x4c')]['id']]}}})[_0x752a('0x3b')](handleEntityNotFound(_0x437d71,null))[_0x752a('0x3b')](saveUpdates(_0xcffe90[_0x752a('0x48')],null))[_0x752a('0x3b')](respondWithResult(_0x437d71,null))['catch'](handleError(_0x437d71,null));};