f1832597612b3113838391e6917d1fd020a1a6f6
[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 _0x0e20=['fields','attributes','hasOwnProperty','order','sort','where','pick','VIRTUAL','filter','includeAll','include','VoiceDialReport','rows','catch','show','params','length','merge','options','find','create','body','destroy','describe','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','util','path','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection'];(function(_0x546e4d,_0x2b5e73){var _0x1fec78=function(_0x50afbe){while(--_0x50afbe){_0x546e4d['push'](_0x546e4d['shift']());}};_0x1fec78(++_0x2b5e73);}(_0x0e20,0xb2));var _0x00e2=function(_0x58d92f,_0x3594a5){_0x58d92f=_0x58d92f-0x0;var _0x2cc5c3=_0x0e20[_0x58d92f];return _0x2cc5c3;};'use strict';var emlformat=require(_0x00e2('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x00e2('0x1'));var jsonpatch=require(_0x00e2('0x2'));var rp=require(_0x00e2('0x3'));var moment=require('moment');var BPromise=require(_0x00e2('0x4'));var Mustache=require('mustache');var util=require(_0x00e2('0x5'));var path=require(_0x00e2('0x6'));var sox=require('sox');var csv=require(_0x00e2('0x7'));var ejs=require(_0x00e2('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x00e2('0x9'));var squel=require(_0x00e2('0xa'));var crypto=require('crypto');var jsforce=require(_0x00e2('0xb'));var deskjs=require(_0x00e2('0xc'));var toCsv=require('to-csv');var querystring=require(_0x00e2('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x00e2('0xe'));var qs=require(_0x00e2('0xf'));var as=require(_0x00e2('0x10'));var hardwareService=require(_0x00e2('0x11'));var logger=require(_0x00e2('0x12'))(_0x00e2('0x13'));var utils=require(_0x00e2('0x14'));var config=require(_0x00e2('0x15'));var licenseUtil=require(_0x00e2('0x16'));var db=require(_0x00e2('0x17'))['db'];function respondWithStatusCode(_0x2f9666,_0x3f0bee){_0x3f0bee=_0x3f0bee||0xcc;return function(_0xfac6f4){if(_0xfac6f4){return _0x2f9666[_0x00e2('0x18')](_0x3f0bee);}return _0x2f9666['status'](_0x3f0bee)[_0x00e2('0x19')]();};}function respondWithResult(_0x2fcda9,_0xa1d61){_0xa1d61=_0xa1d61||0xc8;return function(_0x5a4b2a){if(_0x5a4b2a){return _0x2fcda9['status'](_0xa1d61)[_0x00e2('0x1a')](_0x5a4b2a);}};}function respondWithFilteredResult(_0x257e4c,_0x3c7dba){return function(_0x2a0e52){if(_0x2a0e52){var _0x4a43d3=typeof _0x3c7dba[_0x00e2('0x1b')]===_0x00e2('0x1c')&&typeof _0x3c7dba[_0x00e2('0x1d')]==='undefined';var _0x1c6534=_0x2a0e52[_0x00e2('0x1e')];var _0x68c32f=_0x4a43d3?0x0:_0x3c7dba['offset'];var _0x2a4b90=_0x4a43d3?_0x2a0e52[_0x00e2('0x1e')]:_0x3c7dba[_0x00e2('0x1b')]+_0x3c7dba[_0x00e2('0x1d')];var _0x3e1db8;if(_0x2a4b90>=_0x1c6534){_0x2a4b90=_0x1c6534;_0x3e1db8=0xc8;}else{_0x3e1db8=0xce;}_0x257e4c[_0x00e2('0x1f')](_0x3e1db8);return _0x257e4c[_0x00e2('0x20')](_0x00e2('0x21'),_0x68c32f+'-'+_0x2a4b90+'/'+_0x1c6534)[_0x00e2('0x1a')](_0x2a0e52);}return null;};}function patchUpdates(_0x215eb5){return function(_0x42d043){try{jsonpatch[_0x00e2('0x22')](_0x42d043,_0x215eb5,!![]);}catch(_0x9eb583){return BPromise[_0x00e2('0x23')](_0x9eb583);}return _0x42d043[_0x00e2('0x24')]();};}function saveUpdates(_0x13141e,_0x566126){return function(_0x148567){if(_0x148567){return _0x148567[_0x00e2('0x25')](_0x13141e)[_0x00e2('0x26')](function(_0x33f414){return _0x33f414;});}return null;};}function removeEntity(_0x4a20bc,_0x319c2d){return function(_0x4a8887){if(_0x4a8887){return _0x4a8887['destroy']()[_0x00e2('0x26')](function(){_0x4a20bc['status'](0xcc)[_0x00e2('0x19')]();});}};}function handleEntityNotFound(_0x3cbd78,_0x463b6a){return function(_0x49334d){if(!_0x49334d){_0x3cbd78[_0x00e2('0x18')](0x194);}return _0x49334d;};}function handleError(_0x2350a7,_0x163939){_0x163939=_0x163939||0x1f4;return function(_0x78461f){logger[_0x00e2('0x27')](_0x78461f[_0x00e2('0x28')]);if(_0x78461f[_0x00e2('0x29')]){delete _0x78461f[_0x00e2('0x29')];}_0x2350a7[_0x00e2('0x1f')](_0x163939)[_0x00e2('0x2a')](_0x78461f);};}exports['index']=function(_0x3c01bd,_0x2ec527){var _0x250f09={},_0x2498d4={},_0x377cf7={'count':0x0,'rows':[]};var _0x2a610c=_[_0x00e2('0x2b')](db['VoiceDialReport'][_0x00e2('0x2c')],function(_0x2e6eed){return{'name':_0x2e6eed[_0x00e2('0x2d')],'type':_0x2e6eed[_0x00e2('0x2e')][_0x00e2('0x2f')]};});_0x2498d4[_0x00e2('0x30')]=_[_0x00e2('0x2b')](_0x2a610c,'name');_0x2498d4[_0x00e2('0x31')]=_[_0x00e2('0x32')](_0x3c01bd['query']);_0x2498d4[_0x00e2('0x33')]=_[_0x00e2('0x34')](_0x2498d4[_0x00e2('0x30')],_0x2498d4['query']);_0x250f09['attributes']=_[_0x00e2('0x34')](_0x2498d4[_0x00e2('0x30')],qs['fields'](_0x3c01bd['query'][_0x00e2('0x35')]));_0x250f09[_0x00e2('0x36')]=_0x250f09[_0x00e2('0x36')]['length']?_0x250f09['attributes']:_0x2498d4[_0x00e2('0x30')];if(!_0x3c01bd[_0x00e2('0x31')][_0x00e2('0x37')]('nolimit')){_0x250f09[_0x00e2('0x1d')]=qs['limit'](_0x3c01bd[_0x00e2('0x31')]['limit']);_0x250f09['offset']=qs[_0x00e2('0x1b')](_0x3c01bd[_0x00e2('0x31')][_0x00e2('0x1b')]);}_0x250f09[_0x00e2('0x38')]=qs[_0x00e2('0x39')](_0x3c01bd[_0x00e2('0x31')][_0x00e2('0x39')]);_0x250f09[_0x00e2('0x3a')]=qs[_0x00e2('0x33')](_[_0x00e2('0x3b')](_0x3c01bd[_0x00e2('0x31')],_0x2498d4[_0x00e2('0x33')]),_0x2a610c);if(_0x3c01bd['query']['filter']){_0x250f09[_0x00e2('0x3a')]=_['merge'](_0x250f09['where'],{'$or':_[_0x00e2('0x2b')](_0x2a610c,function(_0x456933){if(_0x456933[_0x00e2('0x2e')]!==_0x00e2('0x3c')){var _0x272b31={};_0x272b31[_0x456933[_0x00e2('0x29')]]={'$like':'%'+_0x3c01bd[_0x00e2('0x31')][_0x00e2('0x3d')]+'%'};return _0x272b31;}})});}_0x250f09=_['merge']({},_0x250f09,_0x3c01bd['options']);var _0x23522a={'where':_0x250f09[_0x00e2('0x3a')]};return db['VoiceDialReport'][_0x00e2('0x1e')](_0x23522a)[_0x00e2('0x26')](function(_0xa6bf8c){_0x377cf7['count']=_0xa6bf8c;if(_0x3c01bd[_0x00e2('0x31')][_0x00e2('0x3e')]){_0x250f09[_0x00e2('0x3f')]=[{'all':!![]}];}return db[_0x00e2('0x40')]['findAll'](_0x250f09);})[_0x00e2('0x26')](function(_0x3aa6be){_0x377cf7[_0x00e2('0x41')]=_0x3aa6be;return _0x377cf7;})[_0x00e2('0x26')](respondWithFilteredResult(_0x2ec527,_0x250f09))[_0x00e2('0x42')](handleError(_0x2ec527,null));};exports[_0x00e2('0x43')]=function(_0x2b3e76,_0x57c883){var _0x26d951={'raw':!![],'where':{'id':_0x2b3e76[_0x00e2('0x44')]['id']}},_0x34ebfe={};_0x34ebfe[_0x00e2('0x30')]=_[_0x00e2('0x32')](db['VoiceDialReport']['rawAttributes']);_0x34ebfe[_0x00e2('0x31')]=_[_0x00e2('0x32')](_0x2b3e76['query']);_0x34ebfe[_0x00e2('0x33')]=_[_0x00e2('0x34')](_0x34ebfe[_0x00e2('0x30')],_0x34ebfe[_0x00e2('0x31')]);_0x26d951[_0x00e2('0x36')]=_['intersection'](_0x34ebfe[_0x00e2('0x30')],qs[_0x00e2('0x35')](_0x2b3e76[_0x00e2('0x31')]['fields']));_0x26d951[_0x00e2('0x36')]=_0x26d951[_0x00e2('0x36')][_0x00e2('0x45')]?_0x26d951[_0x00e2('0x36')]:_0x34ebfe[_0x00e2('0x30')];if(_0x2b3e76[_0x00e2('0x31')][_0x00e2('0x3e')]){_0x26d951[_0x00e2('0x3f')]=[{'all':!![]}];}_0x26d951=_[_0x00e2('0x46')]({},_0x26d951,_0x2b3e76[_0x00e2('0x47')]);return db['VoiceDialReport'][_0x00e2('0x48')](_0x26d951)[_0x00e2('0x26')](handleEntityNotFound(_0x57c883,null))[_0x00e2('0x26')](respondWithResult(_0x57c883,null))[_0x00e2('0x42')](handleError(_0x57c883,null));};exports[_0x00e2('0x49')]=function(_0x5a7ea5,_0x3197f7){return db[_0x00e2('0x40')][_0x00e2('0x49')](_0x5a7ea5[_0x00e2('0x4a')],{})['then'](respondWithResult(_0x3197f7,0xc9))[_0x00e2('0x42')](handleError(_0x3197f7,null));};exports['update']=function(_0x20f9fa,_0xacc217){if(_0x20f9fa['body']['id']){delete _0x20f9fa[_0x00e2('0x4a')]['id'];}return db[_0x00e2('0x40')][_0x00e2('0x48')]({'where':{'id':_0x20f9fa[_0x00e2('0x44')]['id']}})['then'](handleEntityNotFound(_0xacc217,null))[_0x00e2('0x26')](saveUpdates(_0x20f9fa[_0x00e2('0x4a')],null))[_0x00e2('0x26')](respondWithResult(_0xacc217,null))[_0x00e2('0x42')](handleError(_0xacc217,null));};exports[_0x00e2('0x4b')]=function(_0x3a104c,_0x117035){return db[_0x00e2('0x40')][_0x00e2('0x48')]({'where':{'id':_0x3a104c['params']['id']}})[_0x00e2('0x26')](handleEntityNotFound(_0x117035,null))['then'](removeEntity(_0x117035,null))[_0x00e2('0x42')](handleError(_0x117035,null));};exports['describe']=function(_0x3fcbfe,_0x12e343){return db[_0x00e2('0x40')][_0x00e2('0x4c')]()[_0x00e2('0x26')](respondWithResult(_0x12e343,null))[_0x00e2('0x42')](handleError(_0x12e343,null));};