4e700fb105145ebf467b7cce19ee89a6a9716963
[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 _0x646a=['includeAll','include','findAll','rows','catch','body','update','find','params','destroy','describe','html-pdf','eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','then','error','stack','name','send','index','rawAttributes','fieldName','key','map','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','VoiceDialReport'];(function(_0x57da06,_0x4c9d35){var _0x118c39=function(_0x501a24){while(--_0x501a24){_0x57da06['push'](_0x57da06['shift']());}};_0x118c39(++_0x4c9d35);}(_0x646a,0x182));var _0xa646=function(_0x1cc8fe,_0x105328){_0x1cc8fe=_0x1cc8fe-0x0;var _0x230054=_0x646a[_0x1cc8fe];return _0x230054;};'use strict';var pdf=require(_0xa646('0x0'));var emlformat=require(_0xa646('0x1'));var rimraf=require(_0xa646('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xa646('0x3'));var moment=require(_0xa646('0x4'));var BPromise=require(_0xa646('0x5'));var Mustache=require(_0xa646('0x6'));var util=require(_0xa646('0x7'));var path=require(_0xa646('0x8'));var sox=require(_0xa646('0x9'));var csv=require(_0xa646('0xa'));var ejs=require(_0xa646('0xb'));var fs=require('fs');var _=require(_0xa646('0xc'));var squel=require('squel');var crypto=require(_0xa646('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xa646('0xe'));var toCsv=require(_0xa646('0xa'));var querystring=require('querystring');var Papa=require(_0xa646('0xf'));var Redis=require(_0xa646('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xa646('0x11'));var as=require(_0xa646('0x12'));var hardwareService=require(_0xa646('0x13'));var logger=require(_0xa646('0x14'))('api');var utils=require(_0xa646('0x15'));var config=require('../../config/environment');var db=require(_0xa646('0x16'))['db'];function respondWithStatusCode(_0x5d13b3,_0x4025ba){_0x4025ba=_0x4025ba||0xcc;return function(_0x230eaa){if(_0x230eaa){return _0x5d13b3[_0xa646('0x17')](_0x4025ba);}return _0x5d13b3[_0xa646('0x18')](_0x4025ba)[_0xa646('0x19')]();};}function respondWithResult(_0x5aa9df,_0x1f9685){_0x1f9685=_0x1f9685||0xc8;return function(_0x23007b){if(_0x23007b){return _0x5aa9df[_0xa646('0x18')](_0x1f9685)[_0xa646('0x1a')](_0x23007b);}};}function respondWithFilteredResult(_0x44c37c,_0x38f888){return function(_0x3abef6){if(_0x3abef6){var _0x1c268f=_0x3abef6[_0xa646('0x1b')],_0x27fbc5=_0x38f888[_0xa646('0x1c')],_0x37e543=_0x38f888[_0xa646('0x1c')]+_0x38f888[_0xa646('0x1d')],_0x50fb03;if(_0x37e543>=_0x1c268f){_0x37e543=_0x1c268f;_0x50fb03=0xc8;}else{_0x50fb03=0xce;}_0x44c37c[_0xa646('0x18')](_0x50fb03);return _0x44c37c['set'](_0xa646('0x1e'),_0x27fbc5+'-'+_0x37e543+'/'+_0x1c268f)[_0xa646('0x1a')](_0x3abef6);}return null;};}function patchUpdates(_0xe9d874){return function(_0x2e0dc8){try{jsonpatch[_0xa646('0x1f')](_0x2e0dc8,_0xe9d874,!![]);}catch(_0x443594){return BPromise[_0xa646('0x20')](_0x443594);}return _0x2e0dc8[_0xa646('0x21')]();};}function saveUpdates(_0x3f18ee,_0x1cb033){return function(_0x12b098){if(_0x12b098){return _0x12b098['update'](_0x3f18ee)[_0xa646('0x22')](function(_0x2398c8){return _0x2398c8;});}return null;};}function removeEntity(_0xae7519,_0x1b2ce9){return function(_0x226b17){if(_0x226b17){return _0x226b17['destroy']()[_0xa646('0x22')](function(){_0xae7519[_0xa646('0x18')](0xcc)[_0xa646('0x19')]();});}};}function handleEntityNotFound(_0x150549,_0x4e71b1){return function(_0xd7454f){if(!_0xd7454f){_0x150549[_0xa646('0x17')](0x194);}return _0xd7454f;};}function handleError(_0x192221,_0x313414){_0x313414=_0x313414||0x1f4;return function(_0x3d0487){logger[_0xa646('0x23')](_0x3d0487[_0xa646('0x24')]);if(_0x3d0487[_0xa646('0x25')]){delete _0x3d0487[_0xa646('0x25')];}_0x192221['status'](_0x313414)[_0xa646('0x26')](_0x3d0487);};}exports[_0xa646('0x27')]=function(_0x58f6de,_0x300cc2){var _0x1eaf27={},_0x4e8d89={},_0x393d04={'count':0x0,'rows':[]};var _0x5f21f2=_['map'](db['VoiceDialReport'][_0xa646('0x28')],function(_0x577ce5){return{'name':_0x577ce5[_0xa646('0x29')],'type':_0x577ce5['type'][_0xa646('0x2a')]};});_0x4e8d89['model']=_[_0xa646('0x2b')](_0x5f21f2,'name');_0x4e8d89[_0xa646('0x2c')]=_[_0xa646('0x2d')](_0x58f6de[_0xa646('0x2c')]);_0x4e8d89[_0xa646('0x2e')]=_[_0xa646('0x2f')](_0x4e8d89[_0xa646('0x30')],_0x4e8d89[_0xa646('0x2c')]);_0x1eaf27[_0xa646('0x31')]=_[_0xa646('0x2f')](_0x4e8d89[_0xa646('0x30')],qs[_0xa646('0x32')](_0x58f6de[_0xa646('0x2c')][_0xa646('0x32')]));_0x1eaf27[_0xa646('0x31')]=_0x1eaf27[_0xa646('0x31')][_0xa646('0x33')]?_0x1eaf27[_0xa646('0x31')]:_0x4e8d89[_0xa646('0x30')];if(!_0x58f6de[_0xa646('0x2c')][_0xa646('0x34')](_0xa646('0x35'))){_0x1eaf27[_0xa646('0x1d')]=qs['limit'](_0x58f6de[_0xa646('0x2c')][_0xa646('0x1d')]);_0x1eaf27[_0xa646('0x1c')]=qs['offset'](_0x58f6de[_0xa646('0x2c')][_0xa646('0x1c')]);}_0x1eaf27[_0xa646('0x36')]=qs['sort'](_0x58f6de['query'][_0xa646('0x37')]);_0x1eaf27[_0xa646('0x38')]=qs['filters'](_[_0xa646('0x39')](_0x58f6de[_0xa646('0x2c')],_0x4e8d89[_0xa646('0x2e')]),_0x5f21f2);if(_0x58f6de[_0xa646('0x2c')][_0xa646('0x3a')]){_0x1eaf27['where']=_[_0xa646('0x3b')](_0x1eaf27[_0xa646('0x38')],{'$or':_[_0xa646('0x2b')](_0x5f21f2,function(_0x27edcb){if(_0x27edcb[_0xa646('0x3c')]!==_0xa646('0x3d')){var _0x232d85={};_0x232d85[_0x27edcb['name']]={'$like':'%'+_0x58f6de[_0xa646('0x2c')]['filter']+'%'};return _0x232d85;}})});}_0x1eaf27=_['merge']({},_0x1eaf27,_0x58f6de[_0xa646('0x3e')]);var _0x275f5e={'where':_0x1eaf27['where']};return db[_0xa646('0x3f')][_0xa646('0x1b')](_0x275f5e)['then'](function(_0x422099){_0x393d04[_0xa646('0x1b')]=_0x422099;if(_0x58f6de['query'][_0xa646('0x40')]){_0x1eaf27[_0xa646('0x41')]=[{'all':!![]}];}return db[_0xa646('0x3f')][_0xa646('0x42')](_0x1eaf27);})[_0xa646('0x22')](function(_0x27eaa1){_0x393d04[_0xa646('0x43')]=_0x27eaa1;return _0x393d04;})[_0xa646('0x22')](respondWithFilteredResult(_0x300cc2,_0x1eaf27))[_0xa646('0x44')](handleError(_0x300cc2,null));};exports['show']=function(_0x1ce63e,_0x340165){var _0x5ba3b8={'raw':!![],'where':{'id':_0x1ce63e['params']['id']}},_0x45a3c0={};_0x45a3c0[_0xa646('0x30')]=_[_0xa646('0x2d')](db['VoiceDialReport']['rawAttributes']);_0x45a3c0[_0xa646('0x2c')]=_[_0xa646('0x2d')](_0x1ce63e['query']);_0x45a3c0['filters']=_[_0xa646('0x2f')](_0x45a3c0[_0xa646('0x30')],_0x45a3c0[_0xa646('0x2c')]);_0x5ba3b8['attributes']=_[_0xa646('0x2f')](_0x45a3c0[_0xa646('0x30')],qs[_0xa646('0x32')](_0x1ce63e[_0xa646('0x2c')][_0xa646('0x32')]));_0x5ba3b8[_0xa646('0x31')]=_0x5ba3b8['attributes']['length']?_0x5ba3b8[_0xa646('0x31')]:_0x45a3c0[_0xa646('0x30')];if(_0x1ce63e[_0xa646('0x2c')]['includeAll']){_0x5ba3b8[_0xa646('0x41')]=[{'all':!![]}];}_0x5ba3b8=_['merge']({},_0x5ba3b8,_0x1ce63e['options']);return db[_0xa646('0x3f')]['find'](_0x5ba3b8)[_0xa646('0x22')](handleEntityNotFound(_0x340165,null))[_0xa646('0x22')](respondWithResult(_0x340165,null))['catch'](handleError(_0x340165,null));};exports['create']=function(_0x30be4d,_0x610fe4){return db[_0xa646('0x3f')]['create'](_0x30be4d[_0xa646('0x45')],{})[_0xa646('0x22')](respondWithResult(_0x610fe4,0xc9))[_0xa646('0x44')](handleError(_0x610fe4,null));};exports[_0xa646('0x46')]=function(_0xa0e747,_0x43cc49){if(_0xa0e747[_0xa646('0x45')]['id']){delete _0xa0e747[_0xa646('0x45')]['id'];}return db[_0xa646('0x3f')][_0xa646('0x47')]({'where':{'id':_0xa0e747[_0xa646('0x48')]['id']}})['then'](handleEntityNotFound(_0x43cc49,null))['then'](saveUpdates(_0xa0e747['body'],null))[_0xa646('0x22')](respondWithResult(_0x43cc49,null))[_0xa646('0x44')](handleError(_0x43cc49,null));};exports[_0xa646('0x49')]=function(_0x3ce2a6,_0x1681a8){return db[_0xa646('0x3f')][_0xa646('0x47')]({'where':{'id':_0x3ce2a6['params']['id']}})[_0xa646('0x22')](handleEntityNotFound(_0x1681a8,null))[_0xa646('0x22')](removeEntity(_0x1681a8,null))['catch'](handleError(_0x1681a8,null));};exports[_0xa646('0x4a')]=function(_0x4f7fe9,_0x1923fa){return db[_0xa646('0x3f')][_0xa646('0x4a')]()[_0xa646('0x22')](respondWithResult(_0x1923fa,null))[_0xa646('0x44')](handleError(_0x1923fa,null));};