Built motion from commit 67e5df37.|2.0.66
[motion2.git] / server / api / voiceDialReport / voiceDialReport.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 _0x6e65=['to-csv','querystring','papaparse','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','count','offset','Content-Range','json','apply','reject','save','update','then','stack','name','send','index','model','keys','VoiceDialReport','rawAttributes','dateStart','query','dateEnd','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','day','add','filter','merge','map','options','includeAll','catch','show','params','include','find','create','body','destroy','describe','request-promise','mustache','sox','ejs','lodash','squel','crypto','jsforce','desk.js'];(function(_0x1f75f6,_0x3654e1){var _0x5c06c1=function(_0x21b3ba){while(--_0x21b3ba){_0x1f75f6['push'](_0x1f75f6['shift']());}};_0x5c06c1(++_0x3654e1);}(_0x6e65,0x14b));var _0x56e6=function(_0x458dd2,_0xb2c6e6){_0x458dd2=_0x458dd2-0x0;var _0x470f65=_0x6e65[_0x458dd2];return _0x470f65;};'use strict';var jsonpatch=require('fast-json-patch');var rp=require(_0x56e6('0x0'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x56e6('0x1'));var util=require('util');var path=require('path');var sox=require(_0x56e6('0x2'));var csv=require('to-csv');var ejs=require(_0x56e6('0x3'));var fs=require('fs');var _=require(_0x56e6('0x4'));var squel=require(_0x56e6('0x5'));var crypto=require(_0x56e6('0x6'));var jsforce=require(_0x56e6('0x7'));var deskjs=require(_0x56e6('0x8'));var toCsv=require(_0x56e6('0x9'));var querystring=require(_0x56e6('0xa'));var Papa=require(_0x56e6('0xb'));var qs=require(_0x56e6('0xc'));var logger=require(_0x56e6('0xd'))(_0x56e6('0xe'));var utils=require(_0x56e6('0xf'));var config=require('../../config/environment');var db=require(_0x56e6('0x10'))['db'];function respondWithStatusCode(_0x313288,_0x477ca3){_0x477ca3=_0x477ca3||0xcc;return function(_0x4aba88){if(_0x4aba88){return _0x313288[_0x56e6('0x11')](_0x477ca3);}return _0x313288[_0x56e6('0x12')](_0x477ca3)[_0x56e6('0x13')]();};}function respondWithResult(_0x237947,_0x5966b){_0x5966b=_0x5966b||0xc8;return function(_0x407b41){if(_0x407b41){return _0x237947[_0x56e6('0x12')](_0x5966b)['json'](_0x407b41);}};}function respondWithFilteredResult(_0x13ff04,_0x5b9e89){return function(_0x207131){if(_0x207131){var _0xde6756=_0x207131[_0x56e6('0x14')],_0x13f90d=_0x5b9e89[_0x56e6('0x15')],_0x312a49=_0x5b9e89[_0x56e6('0x15')]+_0x5b9e89['limit'],_0x344c2e;if(_0x312a49>=_0xde6756){_0x312a49=_0xde6756;_0x344c2e=0xc8;}else{_0x344c2e=0xce;}_0x13ff04['status'](_0x344c2e);return _0x13ff04['set'](_0x56e6('0x16'),_0x13f90d+'-'+_0x312a49+'/'+_0xde6756)[_0x56e6('0x17')](_0x207131);}return null;};}function patchUpdates(_0xb64c3b){return function(_0x518391){try{jsonpatch[_0x56e6('0x18')](_0x518391,_0xb64c3b,!![]);}catch(_0x443bcb){return BPromise[_0x56e6('0x19')](_0x443bcb);}return _0x518391[_0x56e6('0x1a')]();};}function saveUpdates(_0x6b522e,_0x4297c7){return function(_0x41137f){if(_0x41137f){return _0x41137f[_0x56e6('0x1b')](_0x6b522e)[_0x56e6('0x1c')](function(_0x3e7e4c){return _0x3e7e4c;});}return null;};}function removeEntity(_0x20d412,_0x27c950){return function(_0x1ad117){if(_0x1ad117){return _0x1ad117['destroy']()['then'](function(){_0x20d412[_0x56e6('0x12')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2b41be,_0x16d2bf){return function(_0x36e183){if(!_0x36e183){_0x2b41be[_0x56e6('0x11')](0x194);}return _0x36e183;};}function handleError(_0x24ae06,_0x4a39bc){_0x4a39bc=_0x4a39bc||0x1f4;return function(_0x2c9134){logger['error'](_0x2c9134[_0x56e6('0x1d')]);if(_0x2c9134['name']){delete _0x2c9134[_0x56e6('0x1e')];}_0x24ae06[_0x56e6('0x12')](_0x4a39bc)[_0x56e6('0x1f')](_0x2c9134);};}exports[_0x56e6('0x20')]=function(_0x339efb,_0x29fdfa){var _0x51ccef={},_0xd7fbb4={},_0x4e3a87={'count':0x0,'rows':[]};_0xd7fbb4[_0x56e6('0x21')]=_[_0x56e6('0x22')](db[_0x56e6('0x23')][_0x56e6('0x24')]);var _0xa2f8b8={'dateStart':_0x339efb['query'][_0x56e6('0x25')],'dateEnd':_0x339efb[_0x56e6('0x26')][_0x56e6('0x27')]};delete _0x339efb[_0x56e6('0x26')][_0x56e6('0x25')];delete _0x339efb['query'][_0x56e6('0x27')];_0xd7fbb4[_0x56e6('0x26')]=_['keys'](_0x339efb[_0x56e6('0x26')]);_0xd7fbb4[_0x56e6('0x28')]=_[_0x56e6('0x29')](_0xd7fbb4[_0x56e6('0x21')],_0xd7fbb4[_0x56e6('0x26')]);_0x51ccef[_0x56e6('0x2a')]=_[_0x56e6('0x29')](_0xd7fbb4[_0x56e6('0x21')],qs[_0x56e6('0x2b')](_0x339efb['query'][_0x56e6('0x2b')]));_0x51ccef[_0x56e6('0x2a')]=_0x51ccef['attributes'][_0x56e6('0x2c')]?_0x51ccef[_0x56e6('0x2a')]:_0xd7fbb4[_0x56e6('0x21')];if(!_0x339efb[_0x56e6('0x26')][_0x56e6('0x2d')](_0x56e6('0x2e'))){_0x51ccef[_0x56e6('0x2f')]=qs[_0x56e6('0x2f')](_0x339efb[_0x56e6('0x26')][_0x56e6('0x2f')]);_0x51ccef[_0x56e6('0x15')]=qs[_0x56e6('0x15')](_0x339efb[_0x56e6('0x26')][_0x56e6('0x15')]);}_0x51ccef[_0x56e6('0x30')]=qs[_0x56e6('0x31')](_0x339efb['query'][_0x56e6('0x31')]);_0x51ccef[_0x56e6('0x32')]=qs[_0x56e6('0x28')](_[_0x56e6('0x33')](_0x339efb['query'],_0xd7fbb4[_0x56e6('0x28')]));if(_0xa2f8b8[_0x56e6('0x25')]){if(_0xa2f8b8[_0x56e6('0x27')]){_0xa2f8b8['dateEnd']=moment(_0xa2f8b8[_0x56e6('0x27')])['add'](0x1,_0x56e6('0x34'));}else{_0xa2f8b8['dateEnd']=moment(_0xa2f8b8[_0x56e6('0x25')])[_0x56e6('0x35')](0x1,_0x56e6('0x34'));}_['merge'](_0x51ccef[_0x56e6('0x32')],{'createdAt':{'$gte':_0xa2f8b8['dateStart'],'$lte':_0xa2f8b8[_0x56e6('0x27')]}});}if(_0x339efb['query'][_0x56e6('0x36')]){_0x51ccef[_0x56e6('0x32')]=_[_0x56e6('0x37')](_0x51ccef[_0x56e6('0x32')],{'$or':_[_0x56e6('0x38')](_0x51ccef[_0x56e6('0x2a')],function(_0x42b3d2){var _0x5b61e2={};_0x5b61e2[_0x42b3d2]={'$like':'%'+_0x339efb['query']['filter']+'%'};return _0x5b61e2;})});}_0x51ccef=_[_0x56e6('0x37')]({},_0x51ccef,_0x339efb[_0x56e6('0x39')]);var _0x19a3fe={'where':_0x51ccef[_0x56e6('0x32')]};return db['VoiceDialReport'][_0x56e6('0x14')](_0x19a3fe)[_0x56e6('0x1c')](function(_0x275e13){_0x4e3a87[_0x56e6('0x14')]=_0x275e13;if(_0x339efb[_0x56e6('0x26')][_0x56e6('0x3a')]){_0x51ccef['include']=[{'all':!![]}];}return db[_0x56e6('0x23')]['findAll'](_0x51ccef);})[_0x56e6('0x1c')](function(_0x4c3cd0){_0x4e3a87['rows']=_0x4c3cd0;return _0x4e3a87;})[_0x56e6('0x1c')](respondWithFilteredResult(_0x29fdfa,_0x51ccef))[_0x56e6('0x3b')](handleError(_0x29fdfa,null));};exports[_0x56e6('0x3c')]=function(_0x163d18,_0x29d338){var _0x2ac995={'raw':!![],'where':{'id':_0x163d18[_0x56e6('0x3d')]['id']}},_0x2966ba={};_0x2966ba[_0x56e6('0x21')]=_[_0x56e6('0x22')](db[_0x56e6('0x23')][_0x56e6('0x24')]);_0x2966ba[_0x56e6('0x26')]=_[_0x56e6('0x22')](_0x163d18[_0x56e6('0x26')]);_0x2966ba[_0x56e6('0x28')]=_[_0x56e6('0x29')](_0x2966ba[_0x56e6('0x21')],_0x2966ba[_0x56e6('0x26')]);_0x2ac995[_0x56e6('0x2a')]=_['intersection'](_0x2966ba[_0x56e6('0x21')],qs[_0x56e6('0x2b')](_0x163d18['query'][_0x56e6('0x2b')]));_0x2ac995[_0x56e6('0x2a')]=_0x2ac995['attributes'][_0x56e6('0x2c')]?_0x2ac995[_0x56e6('0x2a')]:_0x2966ba[_0x56e6('0x21')];if(_0x163d18['query']['includeAll']){_0x2ac995[_0x56e6('0x3e')]=[{'all':!![]}];}_0x2ac995=_['merge']({},_0x2ac995,_0x163d18[_0x56e6('0x39')]);return db[_0x56e6('0x23')][_0x56e6('0x3f')](_0x2ac995)[_0x56e6('0x1c')](handleEntityNotFound(_0x29d338,null))[_0x56e6('0x1c')](respondWithResult(_0x29d338,null))[_0x56e6('0x3b')](handleError(_0x29d338,null));};exports[_0x56e6('0x40')]=function(_0x8dafca,_0x3fbe57){return db['VoiceDialReport'][_0x56e6('0x40')](_0x8dafca[_0x56e6('0x41')],{})[_0x56e6('0x1c')](respondWithResult(_0x3fbe57,0xc9))[_0x56e6('0x3b')](handleError(_0x3fbe57,null));};exports['update']=function(_0x2b5462,_0x3902b3){if(_0x2b5462['body']['id']){delete _0x2b5462['body']['id'];}return db[_0x56e6('0x23')][_0x56e6('0x3f')]({'where':{'id':_0x2b5462['params']['id']}})[_0x56e6('0x1c')](handleEntityNotFound(_0x3902b3,null))[_0x56e6('0x1c')](saveUpdates(_0x2b5462[_0x56e6('0x41')],null))[_0x56e6('0x1c')](respondWithResult(_0x3902b3,null))[_0x56e6('0x3b')](handleError(_0x3902b3,null));};exports[_0x56e6('0x42')]=function(_0xfbc992,_0x42908f){return db[_0x56e6('0x23')][_0x56e6('0x3f')]({'where':{'id':_0xfbc992[_0x56e6('0x3d')]['id']}})[_0x56e6('0x1c')](handleEntityNotFound(_0x42908f,null))[_0x56e6('0x1c')](removeEntity(_0x42908f,null))[_0x56e6('0x3b')](handleError(_0x42908f,null));};exports['describe']=function(_0x1f3007,_0x47eeae){return db[_0x56e6('0x23')][_0x56e6('0x43')]()[_0x56e6('0x1c')](respondWithResult(_0x47eeae,null))[_0x56e6('0x3b')](handleError(_0x47eeae,null));};