c6639f813c924798ca194681740bfb9642024cae
[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 _0x777a=['Content-Range','apply','update','then','destroy','error','stack','name','send','index','map','VoiceCallReport','rawAttributes','type','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','options','includeAll','include','fullname','alias','User','findAll','catch','show','create','body','find','params','describe','user','html-pdf','eml-format','zip-dir','fast-json-patch','moment','bluebird','util','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set'];(function(_0x15c421,_0x6366f7){var _0x5e5ed5=function(_0x206e66){while(--_0x206e66){_0x15c421['push'](_0x15c421['shift']());}};_0x5e5ed5(++_0x6366f7);}(_0x777a,0x1a8));var _0xa777=function(_0x2bfc4d,_0x11713f){_0x2bfc4d=_0x2bfc4d-0x0;var _0x2a3c17=_0x777a[_0x2bfc4d];return _0x2a3c17;};'use strict';var pdf=require(_0xa777('0x0'));var emlformat=require(_0xa777('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xa777('0x2'));var jsonpatch=require(_0xa777('0x3'));var rp=require('request-promise');var moment=require(_0xa777('0x4'));var BPromise=require(_0xa777('0x5'));var Mustache=require('mustache');var util=require(_0xa777('0x6'));var path=require('path');var sox=require(_0xa777('0x7'));var csv=require(_0xa777('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xa777('0x9'));var squel=require(_0xa777('0xa'));var crypto=require(_0xa777('0xb'));var jsforce=require(_0xa777('0xc'));var deskjs=require(_0xa777('0xd'));var toCsv=require(_0xa777('0x8'));var querystring=require('querystring');var Papa=require(_0xa777('0xe'));var Redis=require(_0xa777('0xf'));var authService=require(_0xa777('0x10'));var qs=require(_0xa777('0x11'));var as=require(_0xa777('0x12'));var hardwareService=require(_0xa777('0x13'));var logger=require(_0xa777('0x14'))(_0xa777('0x15'));var utils=require('../../config/utils');var config=require(_0xa777('0x16'));var db=require(_0xa777('0x17'))['db'];function respondWithStatusCode(_0x4d84f6,_0x182c8c){_0x182c8c=_0x182c8c||0xcc;return function(_0x2413d8){if(_0x2413d8){return _0x4d84f6[_0xa777('0x18')](_0x182c8c);}return _0x4d84f6[_0xa777('0x19')](_0x182c8c)[_0xa777('0x1a')]();};}function respondWithResult(_0x291e82,_0x1bbf47){_0x1bbf47=_0x1bbf47||0xc8;return function(_0x109159){if(_0x109159){return _0x291e82[_0xa777('0x19')](_0x1bbf47)[_0xa777('0x1b')](_0x109159);}};}function respondWithFilteredResult(_0x438d10,_0xf365c0){return function(_0x190deb){if(_0x190deb){var _0xa7a8cc=_0x190deb[_0xa777('0x1c')],_0x1ffe56=_0xf365c0['offset'],_0x3f7e71=_0xf365c0[_0xa777('0x1d')]+_0xf365c0[_0xa777('0x1e')],_0x234557;if(_0x3f7e71>=_0xa7a8cc){_0x3f7e71=_0xa7a8cc;_0x234557=0xc8;}else{_0x234557=0xce;}_0x438d10['status'](_0x234557);return _0x438d10[_0xa777('0x1f')](_0xa777('0x20'),_0x1ffe56+'-'+_0x3f7e71+'/'+_0xa7a8cc)[_0xa777('0x1b')](_0x190deb);}return null;};}function patchUpdates(_0x202d21){return function(_0x39c6b2){try{jsonpatch[_0xa777('0x21')](_0x39c6b2,_0x202d21,!![]);}catch(_0x15141b){return BPromise['reject'](_0x15141b);}return _0x39c6b2['save']();};}function saveUpdates(_0x5a4840,_0x400350){return function(_0x54a3e3){if(_0x54a3e3){return _0x54a3e3[_0xa777('0x22')](_0x5a4840)[_0xa777('0x23')](function(_0x1c43ef){return _0x1c43ef;});}return null;};}function removeEntity(_0x5b5d48,_0x28409e){return function(_0x8995ad){if(_0x8995ad){return _0x8995ad[_0xa777('0x24')]()[_0xa777('0x23')](function(){_0x5b5d48[_0xa777('0x19')](0xcc)[_0xa777('0x1a')]();});}};}function handleEntityNotFound(_0x21f702,_0x32fae3){return function(_0x442333){if(!_0x442333){_0x21f702['sendStatus'](0x194);}return _0x442333;};}function handleError(_0x2954f5,_0x19fe18){_0x19fe18=_0x19fe18||0x1f4;return function(_0x5664ff){logger[_0xa777('0x25')](_0x5664ff[_0xa777('0x26')]);if(_0x5664ff[_0xa777('0x27')]){delete _0x5664ff[_0xa777('0x27')];}_0x2954f5['status'](_0x19fe18)[_0xa777('0x28')](_0x5664ff);};}exports[_0xa777('0x29')]=function(_0x51dbe6,_0x1ac33a){var _0x3ec94b={},_0x320f58={},_0x2eef31={'count':0x0,'rows':[]};var _0x4a7f77=_[_0xa777('0x2a')](db[_0xa777('0x2b')][_0xa777('0x2c')],function(_0x5d55e7){return{'name':_0x5d55e7['fieldName'],'type':_0x5d55e7[_0xa777('0x2d')]['key']};});_0x320f58['model']=_['map'](_0x4a7f77,_0xa777('0x27'));_0x320f58[_0xa777('0x2e')]=_[_0xa777('0x2f')](_0x51dbe6[_0xa777('0x2e')]);_0x320f58[_0xa777('0x30')]=_[_0xa777('0x31')](_0x320f58[_0xa777('0x32')],_0x320f58['query']);_0x3ec94b[_0xa777('0x33')]=_[_0xa777('0x31')](_0x320f58['model'],qs['fields'](_0x51dbe6[_0xa777('0x2e')][_0xa777('0x34')]));_0x3ec94b['attributes']=_0x3ec94b[_0xa777('0x33')][_0xa777('0x35')]?_0x3ec94b['attributes']:_0x320f58[_0xa777('0x32')];if(!_0x51dbe6[_0xa777('0x2e')][_0xa777('0x36')](_0xa777('0x37'))){_0x3ec94b['limit']=qs[_0xa777('0x1e')](_0x51dbe6['query']['limit']);_0x3ec94b['offset']=qs[_0xa777('0x1d')](_0x51dbe6[_0xa777('0x2e')][_0xa777('0x1d')]);}_0x3ec94b['order']=qs[_0xa777('0x38')](_0x51dbe6[_0xa777('0x2e')][_0xa777('0x38')]);_0x3ec94b['where']=qs['filters'](_[_0xa777('0x39')](_0x51dbe6[_0xa777('0x2e')],_0x320f58[_0xa777('0x30')]),_0x4a7f77);if(_0x51dbe6[_0xa777('0x2e')][_0xa777('0x3a')]){_0x3ec94b[_0xa777('0x3b')]=_[_0xa777('0x3c')](_0x3ec94b[_0xa777('0x3b')],{'$or':_[_0xa777('0x2a')](_0x4a7f77,function(_0x44fd23){if(_0x44fd23['type']!=='VIRTUAL'){var _0x3396df={};_0x3396df[_0x44fd23['name']]={'$like':'%'+_0x51dbe6[_0xa777('0x2e')][_0xa777('0x3a')]+'%'};return _0x3396df;}})});}_0x3ec94b=_[_0xa777('0x3c')]({},_0x3ec94b,_0x51dbe6[_0xa777('0x3d')]);var _0x3e5360={'where':_0x3ec94b[_0xa777('0x3b')]};return db[_0xa777('0x2b')][_0xa777('0x1c')](_0x3e5360)[_0xa777('0x23')](function(_0x1a54de){_0x2eef31[_0xa777('0x1c')]=_0x1a54de;if(_0x51dbe6['query'][_0xa777('0x3e')]){_0x3ec94b[_0xa777('0x3f')]=[{'attributes':['id',_0xa777('0x27'),_0xa777('0x40'),_0xa777('0x41')],'model':db['User'],'as':_0xa777('0x42')}];}return db[_0xa777('0x2b')][_0xa777('0x43')](_0x3ec94b);})[_0xa777('0x23')](function(_0x1f4100){_0x2eef31['rows']=_0x1f4100;return _0x2eef31;})[_0xa777('0x23')](respondWithFilteredResult(_0x1ac33a,_0x3ec94b))[_0xa777('0x44')](handleError(_0x1ac33a,null));};exports[_0xa777('0x45')]=function(_0x308196,_0x315784){var _0x462546={'raw':!![],'where':{'id':_0x308196['params']['id']}},_0xb0771b={};_0xb0771b['model']=_[_0xa777('0x2f')](db[_0xa777('0x2b')]['rawAttributes']);_0xb0771b['query']=_['keys'](_0x308196[_0xa777('0x2e')]);_0xb0771b[_0xa777('0x30')]=_['intersection'](_0xb0771b[_0xa777('0x32')],_0xb0771b[_0xa777('0x2e')]);_0x462546[_0xa777('0x33')]=_['intersection'](_0xb0771b[_0xa777('0x32')],qs[_0xa777('0x34')](_0x308196[_0xa777('0x2e')][_0xa777('0x34')]));_0x462546['attributes']=_0x462546[_0xa777('0x33')][_0xa777('0x35')]?_0x462546[_0xa777('0x33')]:_0xb0771b[_0xa777('0x32')];if(_0x308196[_0xa777('0x2e')][_0xa777('0x3e')]){_0x462546[_0xa777('0x3f')]=[{'all':!![]}];}_0x462546=_[_0xa777('0x3c')]({},_0x462546,_0x308196[_0xa777('0x3d')]);return db[_0xa777('0x2b')]['find'](_0x462546)[_0xa777('0x23')](handleEntityNotFound(_0x315784,null))[_0xa777('0x23')](respondWithResult(_0x315784,null))[_0xa777('0x44')](handleError(_0x315784,null));};exports[_0xa777('0x46')]=function(_0x544cb6,_0x29e507){return db['VoiceCallReport'][_0xa777('0x46')](_0x544cb6[_0xa777('0x47')],{})[_0xa777('0x23')](respondWithResult(_0x29e507,0xc9))[_0xa777('0x44')](handleError(_0x29e507,null));};exports[_0xa777('0x24')]=function(_0x3f7ae7,_0x5166de){return db[_0xa777('0x2b')][_0xa777('0x48')]({'where':{'id':_0x3f7ae7[_0xa777('0x49')]['id']}})['then'](handleEntityNotFound(_0x5166de,null))[_0xa777('0x23')](removeEntity(_0x5166de,null))[_0xa777('0x44')](handleError(_0x5166de,null));};exports[_0xa777('0x4a')]=function(_0x38581b,_0x5942e6){return db[_0xa777('0x2b')][_0xa777('0x4a')]()[_0xa777('0x23')](respondWithResult(_0x5942e6,null))[_0xa777('0x44')](handleError(_0x5942e6,null));};exports[_0xa777('0x22')]=function(_0x566a58,_0x372e04){if(_0x566a58[_0xa777('0x47')]['uniqueid']){delete _0x566a58['body']['uniqueid'];}return db['VoiceCallReport']['find']({'where':{'uniqueid':_0x566a58[_0xa777('0x49')]['id'],'UserId':{'$or':[null,_0x566a58[_0xa777('0x4b')]['id']]}}})['then'](handleEntityNotFound(_0x372e04,null))['then'](saveUpdates(_0x566a58[_0xa777('0x47')],null))[_0xa777('0x23')](respondWithResult(_0x372e04,null))['catch'](handleError(_0x372e04,null));};