Built motion from commit 85328c08.|2.5.50
[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 _0x3714=['send','index','map','VoiceDialReport','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','pick','where','merge','VIRTUAL','include','findAll','catch','show','rawAttributes','length','includeAll','options','find','create','body','params','describe','eml-format','zip-dir','request-promise','moment','mustache','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','end','error','stack','name'];(function(_0x23437d,_0x33d2bf){var _0x3317eb=function(_0x1b2378){while(--_0x1b2378){_0x23437d['push'](_0x23437d['shift']());}};_0x3317eb(++_0x33d2bf);}(_0x3714,0xbb));var _0x4371=function(_0x5d93fd,_0xe12f29){_0x5d93fd=_0x5d93fd-0x0;var _0x358960=_0x3714[_0x5d93fd];return _0x358960;};'use strict';var emlformat=require(_0x4371('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4371('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4371('0x2'));var moment=require(_0x4371('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x4371('0x4'));var util=require(_0x4371('0x5'));var path=require(_0x4371('0x6'));var sox=require('sox');var csv=require(_0x4371('0x7'));var ejs=require(_0x4371('0x8'));var fs=require('fs');var fs_extra=require(_0x4371('0x9'));var _=require('lodash');var squel=require(_0x4371('0xa'));var crypto=require(_0x4371('0xb'));var jsforce=require(_0x4371('0xc'));var deskjs=require(_0x4371('0xd'));var toCsv=require(_0x4371('0x7'));var querystring=require(_0x4371('0xe'));var Papa=require('papaparse');var Redis=require(_0x4371('0xf'));var authService=require(_0x4371('0x10'));var qs=require(_0x4371('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x4371('0x12'))(_0x4371('0x13'));var utils=require('../../config/utils');var config=require(_0x4371('0x14'));var licenseUtil=require(_0x4371('0x15'));var db=require(_0x4371('0x16'))['db'];function respondWithStatusCode(_0x3b1504,_0x91cbcd){_0x91cbcd=_0x91cbcd||0xcc;return function(_0x5cc89f){if(_0x5cc89f){return _0x3b1504[_0x4371('0x17')](_0x91cbcd);}return _0x3b1504['status'](_0x91cbcd)['end']();};}function respondWithResult(_0x2f5059,_0x26ad81){_0x26ad81=_0x26ad81||0xc8;return function(_0xc4e69d){if(_0xc4e69d){return _0x2f5059[_0x4371('0x18')](_0x26ad81)[_0x4371('0x19')](_0xc4e69d);}};}function respondWithFilteredResult(_0x25bd58,_0x401277){return function(_0x392964){if(_0x392964){var _0x1f382c=typeof _0x401277[_0x4371('0x1a')]===_0x4371('0x1b')&&typeof _0x401277[_0x4371('0x1c')]===_0x4371('0x1b');var _0x6a2297=_0x392964['count'];var _0x4fef8d=_0x1f382c?0x0:_0x401277[_0x4371('0x1a')];var _0x54f10a=_0x1f382c?_0x392964[_0x4371('0x1d')]:_0x401277[_0x4371('0x1a')]+_0x401277['limit'];var _0x45b7a7;if(_0x54f10a>=_0x6a2297){_0x54f10a=_0x6a2297;_0x45b7a7=0xc8;}else{_0x45b7a7=0xce;}_0x25bd58[_0x4371('0x18')](_0x45b7a7);return _0x25bd58[_0x4371('0x1e')](_0x4371('0x1f'),_0x4fef8d+'-'+_0x54f10a+'/'+_0x6a2297)[_0x4371('0x19')](_0x392964);}return null;};}function patchUpdates(_0x442513){return function(_0x3469fb){try{jsonpatch[_0x4371('0x20')](_0x3469fb,_0x442513,!![]);}catch(_0x5611f6){return BPromise[_0x4371('0x21')](_0x5611f6);}return _0x3469fb['save']();};}function saveUpdates(_0x2e6164,_0x51bb45){return function(_0x8281a3){if(_0x8281a3){return _0x8281a3[_0x4371('0x22')](_0x2e6164)[_0x4371('0x23')](function(_0x46a4ac){return _0x46a4ac;});}return null;};}function removeEntity(_0x5df158,_0x1c709a){return function(_0x43c001){if(_0x43c001){return _0x43c001[_0x4371('0x24')]()[_0x4371('0x23')](function(){_0x5df158['status'](0xcc)[_0x4371('0x25')]();});}};}function handleEntityNotFound(_0x5f192c,_0x1aa805){return function(_0x3929f0){if(!_0x3929f0){_0x5f192c['sendStatus'](0x194);}return _0x3929f0;};}function handleError(_0x6a107b,_0x1aa295){_0x1aa295=_0x1aa295||0x1f4;return function(_0x4f3ece){logger[_0x4371('0x26')](_0x4f3ece[_0x4371('0x27')]);if(_0x4f3ece[_0x4371('0x28')]){delete _0x4f3ece[_0x4371('0x28')];}_0x6a107b[_0x4371('0x18')](_0x1aa295)[_0x4371('0x29')](_0x4f3ece);};}exports[_0x4371('0x2a')]=function(_0x57cf5b,_0x21f481){var _0x4c9cbf={},_0x4b4b2f={},_0x471498={'count':0x0,'rows':[]};var _0x38546d=_[_0x4371('0x2b')](db[_0x4371('0x2c')]['rawAttributes'],function(_0x1972a7){return{'name':_0x1972a7[_0x4371('0x2d')],'type':_0x1972a7[_0x4371('0x2e')][_0x4371('0x2f')]};});_0x4b4b2f[_0x4371('0x30')]=_[_0x4371('0x2b')](_0x38546d,_0x4371('0x28'));_0x4b4b2f[_0x4371('0x31')]=_[_0x4371('0x32')](_0x57cf5b[_0x4371('0x31')]);_0x4b4b2f[_0x4371('0x33')]=_[_0x4371('0x34')](_0x4b4b2f[_0x4371('0x30')],_0x4b4b2f['query']);_0x4c9cbf['attributes']=_['intersection'](_0x4b4b2f[_0x4371('0x30')],qs[_0x4371('0x35')](_0x57cf5b['query']['fields']));_0x4c9cbf[_0x4371('0x36')]=_0x4c9cbf['attributes']['length']?_0x4c9cbf[_0x4371('0x36')]:_0x4b4b2f[_0x4371('0x30')];if(!_0x57cf5b[_0x4371('0x31')][_0x4371('0x37')](_0x4371('0x38'))){_0x4c9cbf[_0x4371('0x1c')]=qs[_0x4371('0x1c')](_0x57cf5b[_0x4371('0x31')][_0x4371('0x1c')]);_0x4c9cbf[_0x4371('0x1a')]=qs[_0x4371('0x1a')](_0x57cf5b[_0x4371('0x31')][_0x4371('0x1a')]);}_0x4c9cbf[_0x4371('0x39')]=qs[_0x4371('0x3a')](_0x57cf5b['query']['sort']);_0x4c9cbf['where']=qs[_0x4371('0x33')](_[_0x4371('0x3b')](_0x57cf5b['query'],_0x4b4b2f[_0x4371('0x33')]),_0x38546d);if(_0x57cf5b[_0x4371('0x31')]['filter']){_0x4c9cbf[_0x4371('0x3c')]=_[_0x4371('0x3d')](_0x4c9cbf['where'],{'$or':_[_0x4371('0x2b')](_0x38546d,function(_0x586594){if(_0x586594[_0x4371('0x2e')]!==_0x4371('0x3e')){var _0x18140d={};_0x18140d[_0x586594[_0x4371('0x28')]]={'$like':'%'+_0x57cf5b['query']['filter']+'%'};return _0x18140d;}})});}_0x4c9cbf=_['merge']({},_0x4c9cbf,_0x57cf5b['options']);var _0x51aea4={'where':_0x4c9cbf[_0x4371('0x3c')]};return db['VoiceDialReport'][_0x4371('0x1d')](_0x51aea4)[_0x4371('0x23')](function(_0x3fa1f1){_0x471498[_0x4371('0x1d')]=_0x3fa1f1;if(_0x57cf5b[_0x4371('0x31')]['includeAll']){_0x4c9cbf[_0x4371('0x3f')]=[{'all':!![]}];}return db[_0x4371('0x2c')][_0x4371('0x40')](_0x4c9cbf);})[_0x4371('0x23')](function(_0x3f266c){_0x471498['rows']=_0x3f266c;return _0x471498;})[_0x4371('0x23')](respondWithFilteredResult(_0x21f481,_0x4c9cbf))[_0x4371('0x41')](handleError(_0x21f481,null));};exports[_0x4371('0x42')]=function(_0x1adddc,_0x474ea9){var _0x3cacf6={'raw':!![],'where':{'id':_0x1adddc['params']['id']}},_0x1db13f={};_0x1db13f[_0x4371('0x30')]=_[_0x4371('0x32')](db[_0x4371('0x2c')][_0x4371('0x43')]);_0x1db13f['query']=_[_0x4371('0x32')](_0x1adddc[_0x4371('0x31')]);_0x1db13f['filters']=_[_0x4371('0x34')](_0x1db13f[_0x4371('0x30')],_0x1db13f[_0x4371('0x31')]);_0x3cacf6['attributes']=_[_0x4371('0x34')](_0x1db13f[_0x4371('0x30')],qs['fields'](_0x1adddc[_0x4371('0x31')]['fields']));_0x3cacf6['attributes']=_0x3cacf6[_0x4371('0x36')][_0x4371('0x44')]?_0x3cacf6[_0x4371('0x36')]:_0x1db13f[_0x4371('0x30')];if(_0x1adddc['query'][_0x4371('0x45')]){_0x3cacf6[_0x4371('0x3f')]=[{'all':!![]}];}_0x3cacf6=_[_0x4371('0x3d')]({},_0x3cacf6,_0x1adddc[_0x4371('0x46')]);return db['VoiceDialReport'][_0x4371('0x47')](_0x3cacf6)[_0x4371('0x23')](handleEntityNotFound(_0x474ea9,null))[_0x4371('0x23')](respondWithResult(_0x474ea9,null))[_0x4371('0x41')](handleError(_0x474ea9,null));};exports[_0x4371('0x48')]=function(_0x332c21,_0x2dbb9c){return db['VoiceDialReport'][_0x4371('0x48')](_0x332c21['body'],{})[_0x4371('0x23')](respondWithResult(_0x2dbb9c,0xc9))[_0x4371('0x41')](handleError(_0x2dbb9c,null));};exports[_0x4371('0x22')]=function(_0x4e46d5,_0x576809){if(_0x4e46d5[_0x4371('0x49')]['id']){delete _0x4e46d5[_0x4371('0x49')]['id'];}return db[_0x4371('0x2c')][_0x4371('0x47')]({'where':{'id':_0x4e46d5[_0x4371('0x4a')]['id']}})['then'](handleEntityNotFound(_0x576809,null))[_0x4371('0x23')](saveUpdates(_0x4e46d5['body'],null))[_0x4371('0x23')](respondWithResult(_0x576809,null))[_0x4371('0x41')](handleError(_0x576809,null));};exports['destroy']=function(_0x1b3023,_0x492fa3){return db[_0x4371('0x2c')][_0x4371('0x47')]({'where':{'id':_0x1b3023[_0x4371('0x4a')]['id']}})[_0x4371('0x23')](handleEntityNotFound(_0x492fa3,null))[_0x4371('0x23')](removeEntity(_0x492fa3,null))['catch'](handleError(_0x492fa3,null));};exports['describe']=function(_0x53eed2,_0x3a2bd2){return db[_0x4371('0x2c')][_0x4371('0x4b')]()[_0x4371('0x23')](respondWithResult(_0x3a2bd2,null))[_0x4371('0x41')](handleError(_0x3a2bd2,null));};