43b4b004becabeab45668a63f72958feadfcbea7
[motion2.git] / server / api / voiceAgentReport / voiceAgentReport.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 _0x63a0=['zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','count','offset','Content-Range','json','apply','reject','update','then','destroy','end','error','name','index','map','rawAttributes','fieldName','type','key','query','keys','filters','attributes','intersection','model','fields','length','hasOwnProperty','limit','sort','where','pick','filter','merge','VoiceAgentReport','includeAll','include','findAll','rows','catch','params','options','find','create','body','describe','eml-format','rimraf'];(function(_0x19dbc2,_0x3fd4e4){var _0x237de2=function(_0x3a3c91){while(--_0x3a3c91){_0x19dbc2['push'](_0x19dbc2['shift']());}};_0x237de2(++_0x3fd4e4);}(_0x63a0,0x16b));var _0x063a=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x63a0[_0xa464c9];return _0x3d73c4;};'use strict';var emlformat=require(_0x063a('0x0'));var rimraf=require(_0x063a('0x1'));var zipdir=require(_0x063a('0x2'));var jsonpatch=require(_0x063a('0x3'));var rp=require(_0x063a('0x4'));var moment=require(_0x063a('0x5'));var BPromise=require(_0x063a('0x6'));var Mustache=require(_0x063a('0x7'));var util=require(_0x063a('0x8'));var path=require(_0x063a('0x9'));var sox=require('sox');var csv=require(_0x063a('0xa'));var ejs=require(_0x063a('0xb'));var fs=require('fs');var fs_extra=require(_0x063a('0xc'));var _=require('lodash');var squel=require(_0x063a('0xd'));var crypto=require(_0x063a('0xe'));var jsforce=require(_0x063a('0xf'));var deskjs=require(_0x063a('0x10'));var toCsv=require(_0x063a('0xa'));var querystring=require(_0x063a('0x11'));var Papa=require(_0x063a('0x12'));var Redis=require(_0x063a('0x13'));var authService=require(_0x063a('0x14'));var qs=require(_0x063a('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x063a('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x063a('0x17'));var config=require(_0x063a('0x18'));var licenseUtil=require(_0x063a('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x26d6c6,_0x1a361c){_0x1a361c=_0x1a361c||0xcc;return function(_0x1603be){if(_0x1603be){return _0x26d6c6[_0x063a('0x1a')](_0x1a361c);}return _0x26d6c6['status'](_0x1a361c)['end']();};}function respondWithResult(_0xd5c411,_0x5eecd4){_0x5eecd4=_0x5eecd4||0xc8;return function(_0x577a8f){if(_0x577a8f){return _0xd5c411[_0x063a('0x1b')](_0x5eecd4)['json'](_0x577a8f);}};}function respondWithFilteredResult(_0x5cb080,_0x13f469){return function(_0x552c49){if(_0x552c49){var _0x42449a=_0x552c49[_0x063a('0x1c')],_0x1a2c6f=_0x13f469[_0x063a('0x1d')],_0x357b26=_0x13f469[_0x063a('0x1d')]+_0x13f469['limit'],_0x200595;if(_0x357b26>=_0x42449a){_0x357b26=_0x42449a;_0x200595=0xc8;}else{_0x200595=0xce;}_0x5cb080[_0x063a('0x1b')](_0x200595);return _0x5cb080['set'](_0x063a('0x1e'),_0x1a2c6f+'-'+_0x357b26+'/'+_0x42449a)[_0x063a('0x1f')](_0x552c49);}return null;};}function patchUpdates(_0x21ed70){return function(_0x10309b){try{jsonpatch[_0x063a('0x20')](_0x10309b,_0x21ed70,!![]);}catch(_0x5c8fe4){return BPromise[_0x063a('0x21')](_0x5c8fe4);}return _0x10309b['save']();};}function saveUpdates(_0x3b11e6,_0x28054f){return function(_0x2448f6){if(_0x2448f6){return _0x2448f6[_0x063a('0x22')](_0x3b11e6)[_0x063a('0x23')](function(_0x142dcf){return _0x142dcf;});}return null;};}function removeEntity(_0x2cce8e,_0x2a790d){return function(_0x2215ec){if(_0x2215ec){return _0x2215ec[_0x063a('0x24')]()[_0x063a('0x23')](function(){_0x2cce8e[_0x063a('0x1b')](0xcc)[_0x063a('0x25')]();});}};}function handleEntityNotFound(_0x45c9cb,_0x5aa6c6){return function(_0x3a7e83){if(!_0x3a7e83){_0x45c9cb[_0x063a('0x1a')](0x194);}return _0x3a7e83;};}function handleError(_0x4b0728,_0x181f32){_0x181f32=_0x181f32||0x1f4;return function(_0x42b31a){logger[_0x063a('0x26')](_0x42b31a['stack']);if(_0x42b31a[_0x063a('0x27')]){delete _0x42b31a[_0x063a('0x27')];}_0x4b0728[_0x063a('0x1b')](_0x181f32)['send'](_0x42b31a);};}exports[_0x063a('0x28')]=function(_0x3ab7d7,_0x4c1481){var _0x37ebe4={},_0x5d0872={},_0x30d546={'count':0x0,'rows':[]};var _0x560531=_[_0x063a('0x29')](db['VoiceAgentReport'][_0x063a('0x2a')],function(_0x4c063f){return{'name':_0x4c063f[_0x063a('0x2b')],'type':_0x4c063f[_0x063a('0x2c')][_0x063a('0x2d')]};});_0x5d0872['model']=_[_0x063a('0x29')](_0x560531,_0x063a('0x27'));_0x5d0872[_0x063a('0x2e')]=_[_0x063a('0x2f')](_0x3ab7d7[_0x063a('0x2e')]);_0x5d0872[_0x063a('0x30')]=_['intersection'](_0x5d0872['model'],_0x5d0872[_0x063a('0x2e')]);_0x37ebe4[_0x063a('0x31')]=_[_0x063a('0x32')](_0x5d0872[_0x063a('0x33')],qs[_0x063a('0x34')](_0x3ab7d7[_0x063a('0x2e')][_0x063a('0x34')]));_0x37ebe4[_0x063a('0x31')]=_0x37ebe4[_0x063a('0x31')][_0x063a('0x35')]?_0x37ebe4[_0x063a('0x31')]:_0x5d0872[_0x063a('0x33')];if(!_0x3ab7d7[_0x063a('0x2e')][_0x063a('0x36')]('nolimit')){_0x37ebe4['limit']=qs[_0x063a('0x37')](_0x3ab7d7[_0x063a('0x2e')][_0x063a('0x37')]);_0x37ebe4['offset']=qs[_0x063a('0x1d')](_0x3ab7d7[_0x063a('0x2e')][_0x063a('0x1d')]);}_0x37ebe4['order']=qs[_0x063a('0x38')](_0x3ab7d7['query'][_0x063a('0x38')]);_0x37ebe4[_0x063a('0x39')]=qs[_0x063a('0x30')](_[_0x063a('0x3a')](_0x3ab7d7['query'],_0x5d0872[_0x063a('0x30')]),_0x560531);if(_0x3ab7d7[_0x063a('0x2e')]['filter']){_0x37ebe4['where']=_['merge'](_0x37ebe4[_0x063a('0x39')],{'$or':_[_0x063a('0x29')](_0x560531,function(_0x427f7a){if(_0x427f7a[_0x063a('0x2c')]!=='VIRTUAL'){var _0x4d81c7={};_0x4d81c7[_0x427f7a[_0x063a('0x27')]]={'$like':'%'+_0x3ab7d7[_0x063a('0x2e')][_0x063a('0x3b')]+'%'};return _0x4d81c7;}})});}_0x37ebe4=_[_0x063a('0x3c')]({},_0x37ebe4,_0x3ab7d7['options']);var _0x9ba446={'where':_0x37ebe4[_0x063a('0x39')]};return db[_0x063a('0x3d')][_0x063a('0x1c')](_0x9ba446)[_0x063a('0x23')](function(_0x57dc0f){_0x30d546[_0x063a('0x1c')]=_0x57dc0f;if(_0x3ab7d7[_0x063a('0x2e')][_0x063a('0x3e')]){_0x37ebe4[_0x063a('0x3f')]=[{'all':!![]}];}return db[_0x063a('0x3d')][_0x063a('0x40')](_0x37ebe4);})[_0x063a('0x23')](function(_0x1b0523){_0x30d546[_0x063a('0x41')]=_0x1b0523;return _0x30d546;})[_0x063a('0x23')](respondWithFilteredResult(_0x4c1481,_0x37ebe4))[_0x063a('0x42')](handleError(_0x4c1481,null));};exports['show']=function(_0x1d92d0,_0x2fb83b){var _0x1c7d71={'raw':![],'where':{'id':_0x1d92d0[_0x063a('0x43')]['id']}},_0x560f8b={};_0x560f8b['model']=_[_0x063a('0x2f')](db[_0x063a('0x3d')][_0x063a('0x2a')]);_0x560f8b[_0x063a('0x2e')]=_[_0x063a('0x2f')](_0x1d92d0[_0x063a('0x2e')]);_0x560f8b[_0x063a('0x30')]=_['intersection'](_0x560f8b['model'],_0x560f8b[_0x063a('0x2e')]);_0x1c7d71[_0x063a('0x31')]=_[_0x063a('0x32')](_0x560f8b[_0x063a('0x33')],qs[_0x063a('0x34')](_0x1d92d0[_0x063a('0x2e')][_0x063a('0x34')]));_0x1c7d71[_0x063a('0x31')]=_0x1c7d71[_0x063a('0x31')][_0x063a('0x35')]?_0x1c7d71['attributes']:_0x560f8b['model'];if(_0x1d92d0[_0x063a('0x2e')][_0x063a('0x3e')]){_0x1c7d71['include']=[{'all':!![]}];}_0x1c7d71=_[_0x063a('0x3c')]({},_0x1c7d71,_0x1d92d0[_0x063a('0x44')]);return db[_0x063a('0x3d')][_0x063a('0x45')](_0x1c7d71)[_0x063a('0x23')](handleEntityNotFound(_0x2fb83b,null))[_0x063a('0x23')](respondWithResult(_0x2fb83b,null))[_0x063a('0x42')](handleError(_0x2fb83b,null));};exports['create']=function(_0x311a33,_0x5e2c18){return db[_0x063a('0x3d')][_0x063a('0x46')](_0x311a33[_0x063a('0x47')],{})[_0x063a('0x23')](respondWithResult(_0x5e2c18,0xc9))['catch'](handleError(_0x5e2c18,null));};exports[_0x063a('0x22')]=function(_0x3820de,_0x3d6570){if(_0x3820de[_0x063a('0x47')]['id']){delete _0x3820de[_0x063a('0x47')]['id'];}return db['VoiceAgentReport'][_0x063a('0x45')]({'where':{'id':_0x3820de[_0x063a('0x43')]['id']}})['then'](handleEntityNotFound(_0x3d6570,null))[_0x063a('0x23')](saveUpdates(_0x3820de[_0x063a('0x47')],null))['then'](respondWithResult(_0x3d6570,null))[_0x063a('0x42')](handleError(_0x3d6570,null));};exports[_0x063a('0x24')]=function(_0x3810e5,_0x2cf9e0){return db['VoiceAgentReport'][_0x063a('0x45')]({'where':{'id':_0x3810e5[_0x063a('0x43')]['id']}})[_0x063a('0x23')](handleEntityNotFound(_0x2cf9e0,null))[_0x063a('0x23')](removeEntity(_0x2cf9e0,null))[_0x063a('0x42')](handleError(_0x2cf9e0,null));};exports[_0x063a('0x48')]=function(_0x49d144,_0xb36c78){return db[_0x063a('0x3d')][_0x063a('0x48')]()[_0x063a('0x23')](respondWithResult(_0xb36c78,null))['catch'](handleError(_0xb36c78,null));};