Built motion from commit 87cd5f02.|2.5.48
[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 _0xc8b2=['then','sendStatus','stack','name','send','index','map','fieldName','type','key','model','query','filters','intersection','fields','attributes','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','VoiceDialReport','include','catch','show','rawAttributes','keys','includeAll','find','create','body','params','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','destroy'];(function(_0x19084a,_0x8c403a){var _0x53d5c8=function(_0x134ac1){while(--_0x134ac1){_0x19084a['push'](_0x19084a['shift']());}};_0x53d5c8(++_0x8c403a);}(_0xc8b2,0x148));var _0x2c8b=function(_0x54b337,_0x2961b6){_0x54b337=_0x54b337-0x0;var _0x5e03f3=_0xc8b2[_0x54b337];return _0x5e03f3;};'use strict';var emlformat=require(_0x2c8b('0x0'));var rimraf=require(_0x2c8b('0x1'));var zipdir=require(_0x2c8b('0x2'));var jsonpatch=require(_0x2c8b('0x3'));var rp=require(_0x2c8b('0x4'));var moment=require(_0x2c8b('0x5'));var BPromise=require(_0x2c8b('0x6'));var Mustache=require('mustache');var util=require(_0x2c8b('0x7'));var path=require('path');var sox=require(_0x2c8b('0x8'));var csv=require(_0x2c8b('0x9'));var ejs=require(_0x2c8b('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2c8b('0xb'));var squel=require(_0x2c8b('0xc'));var crypto=require(_0x2c8b('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x2c8b('0xe'));var toCsv=require(_0x2c8b('0x9'));var querystring=require(_0x2c8b('0xf'));var Papa=require(_0x2c8b('0x10'));var Redis=require('ioredis');var authService=require(_0x2c8b('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2c8b('0x12'));var logger=require(_0x2c8b('0x13'))('api');var utils=require(_0x2c8b('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x2c8b('0x15'));var db=require(_0x2c8b('0x16'))['db'];function respondWithStatusCode(_0x443f67,_0x13ef47){_0x13ef47=_0x13ef47||0xcc;return function(_0x158430){if(_0x158430){return _0x443f67['sendStatus'](_0x13ef47);}return _0x443f67[_0x2c8b('0x17')](_0x13ef47)[_0x2c8b('0x18')]();};}function respondWithResult(_0x24b9a0,_0x3943cd){_0x3943cd=_0x3943cd||0xc8;return function(_0x3d0f7d){if(_0x3d0f7d){return _0x24b9a0[_0x2c8b('0x17')](_0x3943cd)[_0x2c8b('0x19')](_0x3d0f7d);}};}function respondWithFilteredResult(_0x43cb9d,_0x15b2b5){return function(_0x2d8ee7){if(_0x2d8ee7){var _0x4d0999=typeof _0x15b2b5['offset']===_0x2c8b('0x1a')&&typeof _0x15b2b5[_0x2c8b('0x1b')]===_0x2c8b('0x1a');var _0x10f120=_0x2d8ee7[_0x2c8b('0x1c')];var _0x2bc3c8=_0x4d0999?0x0:_0x15b2b5[_0x2c8b('0x1d')];var _0x32ebe1=_0x4d0999?_0x2d8ee7[_0x2c8b('0x1c')]:_0x15b2b5['offset']+_0x15b2b5[_0x2c8b('0x1b')];var _0x1d44b2;if(_0x32ebe1>=_0x10f120){_0x32ebe1=_0x10f120;_0x1d44b2=0xc8;}else{_0x1d44b2=0xce;}_0x43cb9d['status'](_0x1d44b2);return _0x43cb9d[_0x2c8b('0x1e')](_0x2c8b('0x1f'),_0x2bc3c8+'-'+_0x32ebe1+'/'+_0x10f120)[_0x2c8b('0x19')](_0x2d8ee7);}return null;};}function patchUpdates(_0x26e48a){return function(_0x47707f){try{jsonpatch[_0x2c8b('0x20')](_0x47707f,_0x26e48a,!![]);}catch(_0x343d44){return BPromise[_0x2c8b('0x21')](_0x343d44);}return _0x47707f[_0x2c8b('0x22')]();};}function saveUpdates(_0x1a6a3d,_0x56a28a){return function(_0x2852e3){if(_0x2852e3){return _0x2852e3[_0x2c8b('0x23')](_0x1a6a3d)['then'](function(_0x20787c){return _0x20787c;});}return null;};}function removeEntity(_0xbbd23b,_0x98acf){return function(_0x1de7d3){if(_0x1de7d3){return _0x1de7d3[_0x2c8b('0x24')]()[_0x2c8b('0x25')](function(){_0xbbd23b['status'](0xcc)[_0x2c8b('0x18')]();});}};}function handleEntityNotFound(_0x212baa,_0x55f3eb){return function(_0x4f1b7b){if(!_0x4f1b7b){_0x212baa[_0x2c8b('0x26')](0x194);}return _0x4f1b7b;};}function handleError(_0x249e68,_0x180061){_0x180061=_0x180061||0x1f4;return function(_0xf19fb2){logger['error'](_0xf19fb2[_0x2c8b('0x27')]);if(_0xf19fb2[_0x2c8b('0x28')]){delete _0xf19fb2['name'];}_0x249e68['status'](_0x180061)[_0x2c8b('0x29')](_0xf19fb2);};}exports[_0x2c8b('0x2a')]=function(_0x3deb51,_0x5a7854){var _0x414fe7={},_0x1e3b0f={},_0x36604e={'count':0x0,'rows':[]};var _0x42ad95=_[_0x2c8b('0x2b')](db['VoiceDialReport']['rawAttributes'],function(_0x268f2e){return{'name':_0x268f2e[_0x2c8b('0x2c')],'type':_0x268f2e[_0x2c8b('0x2d')][_0x2c8b('0x2e')]};});_0x1e3b0f[_0x2c8b('0x2f')]=_[_0x2c8b('0x2b')](_0x42ad95,'name');_0x1e3b0f[_0x2c8b('0x30')]=_['keys'](_0x3deb51[_0x2c8b('0x30')]);_0x1e3b0f[_0x2c8b('0x31')]=_[_0x2c8b('0x32')](_0x1e3b0f[_0x2c8b('0x2f')],_0x1e3b0f[_0x2c8b('0x30')]);_0x414fe7['attributes']=_[_0x2c8b('0x32')](_0x1e3b0f[_0x2c8b('0x2f')],qs[_0x2c8b('0x33')](_0x3deb51[_0x2c8b('0x30')][_0x2c8b('0x33')]));_0x414fe7[_0x2c8b('0x34')]=_0x414fe7[_0x2c8b('0x34')]['length']?_0x414fe7['attributes']:_0x1e3b0f[_0x2c8b('0x2f')];if(!_0x3deb51[_0x2c8b('0x30')]['hasOwnProperty'](_0x2c8b('0x35'))){_0x414fe7[_0x2c8b('0x1b')]=qs[_0x2c8b('0x1b')](_0x3deb51[_0x2c8b('0x30')]['limit']);_0x414fe7[_0x2c8b('0x1d')]=qs[_0x2c8b('0x1d')](_0x3deb51[_0x2c8b('0x30')][_0x2c8b('0x1d')]);}_0x414fe7['order']=qs[_0x2c8b('0x36')](_0x3deb51[_0x2c8b('0x30')][_0x2c8b('0x36')]);_0x414fe7[_0x2c8b('0x37')]=qs[_0x2c8b('0x31')](_[_0x2c8b('0x38')](_0x3deb51['query'],_0x1e3b0f['filters']),_0x42ad95);if(_0x3deb51['query'][_0x2c8b('0x39')]){_0x414fe7[_0x2c8b('0x37')]=_[_0x2c8b('0x3a')](_0x414fe7[_0x2c8b('0x37')],{'$or':_[_0x2c8b('0x2b')](_0x42ad95,function(_0x3ce5e3){if(_0x3ce5e3['type']!==_0x2c8b('0x3b')){var _0x4b31ad={};_0x4b31ad[_0x3ce5e3[_0x2c8b('0x28')]]={'$like':'%'+_0x3deb51[_0x2c8b('0x30')][_0x2c8b('0x39')]+'%'};return _0x4b31ad;}})});}_0x414fe7=_['merge']({},_0x414fe7,_0x3deb51[_0x2c8b('0x3c')]);var _0x373a67={'where':_0x414fe7[_0x2c8b('0x37')]};return db[_0x2c8b('0x3d')]['count'](_0x373a67)[_0x2c8b('0x25')](function(_0x10b80d){_0x36604e[_0x2c8b('0x1c')]=_0x10b80d;if(_0x3deb51[_0x2c8b('0x30')]['includeAll']){_0x414fe7[_0x2c8b('0x3e')]=[{'all':!![]}];}return db['VoiceDialReport']['findAll'](_0x414fe7);})[_0x2c8b('0x25')](function(_0x5a2ffd){_0x36604e['rows']=_0x5a2ffd;return _0x36604e;})[_0x2c8b('0x25')](respondWithFilteredResult(_0x5a7854,_0x414fe7))[_0x2c8b('0x3f')](handleError(_0x5a7854,null));};exports[_0x2c8b('0x40')]=function(_0x4afdcd,_0x4f05d0){var _0x761809={'raw':!![],'where':{'id':_0x4afdcd['params']['id']}},_0x22fd74={};_0x22fd74[_0x2c8b('0x2f')]=_['keys'](db[_0x2c8b('0x3d')][_0x2c8b('0x41')]);_0x22fd74[_0x2c8b('0x30')]=_[_0x2c8b('0x42')](_0x4afdcd[_0x2c8b('0x30')]);_0x22fd74['filters']=_[_0x2c8b('0x32')](_0x22fd74[_0x2c8b('0x2f')],_0x22fd74['query']);_0x761809[_0x2c8b('0x34')]=_[_0x2c8b('0x32')](_0x22fd74[_0x2c8b('0x2f')],qs[_0x2c8b('0x33')](_0x4afdcd[_0x2c8b('0x30')]['fields']));_0x761809['attributes']=_0x761809[_0x2c8b('0x34')]['length']?_0x761809[_0x2c8b('0x34')]:_0x22fd74[_0x2c8b('0x2f')];if(_0x4afdcd[_0x2c8b('0x30')][_0x2c8b('0x43')]){_0x761809['include']=[{'all':!![]}];}_0x761809=_[_0x2c8b('0x3a')]({},_0x761809,_0x4afdcd[_0x2c8b('0x3c')]);return db[_0x2c8b('0x3d')][_0x2c8b('0x44')](_0x761809)['then'](handleEntityNotFound(_0x4f05d0,null))[_0x2c8b('0x25')](respondWithResult(_0x4f05d0,null))[_0x2c8b('0x3f')](handleError(_0x4f05d0,null));};exports[_0x2c8b('0x45')]=function(_0x139e61,_0xaba2aa){return db['VoiceDialReport'][_0x2c8b('0x45')](_0x139e61[_0x2c8b('0x46')],{})['then'](respondWithResult(_0xaba2aa,0xc9))['catch'](handleError(_0xaba2aa,null));};exports[_0x2c8b('0x23')]=function(_0x3b970f,_0x2a8c37){if(_0x3b970f['body']['id']){delete _0x3b970f['body']['id'];}return db[_0x2c8b('0x3d')][_0x2c8b('0x44')]({'where':{'id':_0x3b970f['params']['id']}})[_0x2c8b('0x25')](handleEntityNotFound(_0x2a8c37,null))[_0x2c8b('0x25')](saveUpdates(_0x3b970f[_0x2c8b('0x46')],null))[_0x2c8b('0x25')](respondWithResult(_0x2a8c37,null))['catch'](handleError(_0x2a8c37,null));};exports[_0x2c8b('0x24')]=function(_0x4b4101,_0x320eb2){return db['VoiceDialReport'][_0x2c8b('0x44')]({'where':{'id':_0x4b4101[_0x2c8b('0x47')]['id']}})['then'](handleEntityNotFound(_0x320eb2,null))[_0x2c8b('0x25')](removeEntity(_0x320eb2,null))[_0x2c8b('0x3f')](handleError(_0x320eb2,null));};exports[_0x2c8b('0x48')]=function(_0x302f3d,_0x4d31d4){return db['VoiceDialReport'][_0x2c8b('0x48')]()[_0x2c8b('0x25')](respondWithResult(_0x4d31d4,null))['catch'](handleError(_0x4d31d4,null));};