a0234a95609677febab7194ac4b7399d8f9f9c3c
[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 _0xdadf=['crypto','jsforce','to-csv','querystring','ioredis','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','end','status','count','offset','limit','set','Content-Range','json','apply','reject','update','then','destroy','stack','name','send','map','VoiceDialReport','rawAttributes','fieldName','model','query','attributes','intersection','fields','length','order','sort','where','pick','filter','type','VIRTUAL','merge','includeAll','include','findAll','rows','show','params','keys','options','find','catch','create','body','describe','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel'];(function(_0x1ce923,_0x34e664){var _0x5524b0=function(_0x3015d9){while(--_0x3015d9){_0x1ce923['push'](_0x1ce923['shift']());}};_0x5524b0(++_0x34e664);}(_0xdadf,0xc8));var _0xfdad=function(_0x5846ea,_0x264978){_0x5846ea=_0x5846ea-0x0;var _0x20cc0f=_0xdadf[_0x5846ea];return _0x20cc0f;};'use strict';var pdf=require(_0xfdad('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xfdad('0x1'));var zipdir=require(_0xfdad('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfdad('0x3'));var moment=require(_0xfdad('0x4'));var BPromise=require(_0xfdad('0x5'));var Mustache=require(_0xfdad('0x6'));var util=require(_0xfdad('0x7'));var path=require(_0xfdad('0x8'));var sox=require(_0xfdad('0x9'));var csv=require('to-csv');var ejs=require(_0xfdad('0xa'));var fs=require('fs');var _=require(_0xfdad('0xb'));var squel=require(_0xfdad('0xc'));var crypto=require(_0xfdad('0xd'));var jsforce=require(_0xfdad('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xfdad('0xf'));var querystring=require(_0xfdad('0x10'));var Papa=require('papaparse');var Redis=require(_0xfdad('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfdad('0x12'));var logger=require(_0xfdad('0x13'))(_0xfdad('0x14'));var utils=require(_0xfdad('0x15'));var config=require(_0xfdad('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x10e9f6,_0x4b35ad){_0x4b35ad=_0x4b35ad||0xcc;return function(_0x5ec038){if(_0x5ec038){return _0x10e9f6[_0xfdad('0x17')](_0x4b35ad);}return _0x10e9f6['status'](_0x4b35ad)[_0xfdad('0x18')]();};}function respondWithResult(_0x53b581,_0x2da88b){_0x2da88b=_0x2da88b||0xc8;return function(_0x3b3b43){if(_0x3b3b43){return _0x53b581[_0xfdad('0x19')](_0x2da88b)['json'](_0x3b3b43);}};}function respondWithFilteredResult(_0x18101f,_0x5144fe){return function(_0x429883){if(_0x429883){var _0x5db711=_0x429883[_0xfdad('0x1a')],_0x24ceb1=_0x5144fe[_0xfdad('0x1b')],_0x3f19ce=_0x5144fe['offset']+_0x5144fe[_0xfdad('0x1c')],_0x3c9add;if(_0x3f19ce>=_0x5db711){_0x3f19ce=_0x5db711;_0x3c9add=0xc8;}else{_0x3c9add=0xce;}_0x18101f[_0xfdad('0x19')](_0x3c9add);return _0x18101f[_0xfdad('0x1d')](_0xfdad('0x1e'),_0x24ceb1+'-'+_0x3f19ce+'/'+_0x5db711)[_0xfdad('0x1f')](_0x429883);}return null;};}function patchUpdates(_0x47cd2d){return function(_0x4c5dba){try{jsonpatch[_0xfdad('0x20')](_0x4c5dba,_0x47cd2d,!![]);}catch(_0x3df158){return BPromise[_0xfdad('0x21')](_0x3df158);}return _0x4c5dba['save']();};}function saveUpdates(_0x336f58,_0x34d4d8){return function(_0x22204f){if(_0x22204f){return _0x22204f[_0xfdad('0x22')](_0x336f58)[_0xfdad('0x23')](function(_0x144745){return _0x144745;});}return null;};}function removeEntity(_0x31a8ed,_0x5d2f08){return function(_0x641fd){if(_0x641fd){return _0x641fd[_0xfdad('0x24')]()[_0xfdad('0x23')](function(){_0x31a8ed['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x571276,_0x150f90){return function(_0x436cf4){if(!_0x436cf4){_0x571276[_0xfdad('0x17')](0x194);}return _0x436cf4;};}function handleError(_0x47dcc3,_0x597f2a){_0x597f2a=_0x597f2a||0x1f4;return function(_0x591cea){logger['error'](_0x591cea[_0xfdad('0x25')]);if(_0x591cea['name']){delete _0x591cea[_0xfdad('0x26')];}_0x47dcc3[_0xfdad('0x19')](_0x597f2a)[_0xfdad('0x27')](_0x591cea);};}exports['index']=function(_0x3df7dd,_0x18e8a3){var _0x5b226e={},_0x4085ab={},_0x497b43={'count':0x0,'rows':[]};var _0x59eb32=_[_0xfdad('0x28')](db[_0xfdad('0x29')][_0xfdad('0x2a')],function(_0x34dd03){return{'name':_0x34dd03[_0xfdad('0x2b')],'type':_0x34dd03['type']['key']};});_0x4085ab[_0xfdad('0x2c')]=_[_0xfdad('0x28')](_0x59eb32,'name');_0x4085ab[_0xfdad('0x2d')]=_['keys'](_0x3df7dd['query']);_0x4085ab['filters']=_['intersection'](_0x4085ab[_0xfdad('0x2c')],_0x4085ab[_0xfdad('0x2d')]);_0x5b226e[_0xfdad('0x2e')]=_[_0xfdad('0x2f')](_0x4085ab['model'],qs[_0xfdad('0x30')](_0x3df7dd[_0xfdad('0x2d')][_0xfdad('0x30')]));_0x5b226e['attributes']=_0x5b226e[_0xfdad('0x2e')][_0xfdad('0x31')]?_0x5b226e[_0xfdad('0x2e')]:_0x4085ab['model'];if(!_0x3df7dd[_0xfdad('0x2d')]['hasOwnProperty']('nolimit')){_0x5b226e[_0xfdad('0x1c')]=qs['limit'](_0x3df7dd[_0xfdad('0x2d')][_0xfdad('0x1c')]);_0x5b226e[_0xfdad('0x1b')]=qs[_0xfdad('0x1b')](_0x3df7dd['query']['offset']);}_0x5b226e[_0xfdad('0x32')]=qs[_0xfdad('0x33')](_0x3df7dd[_0xfdad('0x2d')]['sort']);_0x5b226e[_0xfdad('0x34')]=qs['filters'](_[_0xfdad('0x35')](_0x3df7dd[_0xfdad('0x2d')],_0x4085ab['filters']),_0x59eb32);if(_0x3df7dd['query'][_0xfdad('0x36')]){_0x5b226e[_0xfdad('0x34')]=_['merge'](_0x5b226e[_0xfdad('0x34')],{'$or':_['map'](_0x59eb32,function(_0x4bd761){if(_0x4bd761[_0xfdad('0x37')]!==_0xfdad('0x38')){var _0x23d43a={};_0x23d43a[_0x4bd761[_0xfdad('0x26')]]={'$like':'%'+_0x3df7dd[_0xfdad('0x2d')][_0xfdad('0x36')]+'%'};return _0x23d43a;}})});}_0x5b226e=_[_0xfdad('0x39')]({},_0x5b226e,_0x3df7dd['options']);var _0x2dd5d8={'where':_0x5b226e['where']};return db['VoiceDialReport'][_0xfdad('0x1a')](_0x2dd5d8)[_0xfdad('0x23')](function(_0x20a311){_0x497b43[_0xfdad('0x1a')]=_0x20a311;if(_0x3df7dd[_0xfdad('0x2d')][_0xfdad('0x3a')]){_0x5b226e[_0xfdad('0x3b')]=[{'all':!![]}];}return db[_0xfdad('0x29')][_0xfdad('0x3c')](_0x5b226e);})[_0xfdad('0x23')](function(_0x94ec28){_0x497b43[_0xfdad('0x3d')]=_0x94ec28;return _0x497b43;})[_0xfdad('0x23')](respondWithFilteredResult(_0x18e8a3,_0x5b226e))['catch'](handleError(_0x18e8a3,null));};exports[_0xfdad('0x3e')]=function(_0x377724,_0x4f903a){var _0x59f0c2={'raw':!![],'where':{'id':_0x377724[_0xfdad('0x3f')]['id']}},_0x86d1b0={};_0x86d1b0[_0xfdad('0x2c')]=_[_0xfdad('0x40')](db[_0xfdad('0x29')][_0xfdad('0x2a')]);_0x86d1b0[_0xfdad('0x2d')]=_[_0xfdad('0x40')](_0x377724[_0xfdad('0x2d')]);_0x86d1b0['filters']=_[_0xfdad('0x2f')](_0x86d1b0[_0xfdad('0x2c')],_0x86d1b0[_0xfdad('0x2d')]);_0x59f0c2[_0xfdad('0x2e')]=_[_0xfdad('0x2f')](_0x86d1b0[_0xfdad('0x2c')],qs[_0xfdad('0x30')](_0x377724[_0xfdad('0x2d')][_0xfdad('0x30')]));_0x59f0c2[_0xfdad('0x2e')]=_0x59f0c2['attributes'][_0xfdad('0x31')]?_0x59f0c2[_0xfdad('0x2e')]:_0x86d1b0[_0xfdad('0x2c')];if(_0x377724['query']['includeAll']){_0x59f0c2['include']=[{'all':!![]}];}_0x59f0c2=_['merge']({},_0x59f0c2,_0x377724[_0xfdad('0x41')]);return db[_0xfdad('0x29')][_0xfdad('0x42')](_0x59f0c2)[_0xfdad('0x23')](handleEntityNotFound(_0x4f903a,null))[_0xfdad('0x23')](respondWithResult(_0x4f903a,null))[_0xfdad('0x43')](handleError(_0x4f903a,null));};exports[_0xfdad('0x44')]=function(_0x13d309,_0x7e1d26){return db[_0xfdad('0x29')][_0xfdad('0x44')](_0x13d309[_0xfdad('0x45')],{})[_0xfdad('0x23')](respondWithResult(_0x7e1d26,0xc9))[_0xfdad('0x43')](handleError(_0x7e1d26,null));};exports[_0xfdad('0x22')]=function(_0x2cf825,_0x577e0d){if(_0x2cf825[_0xfdad('0x45')]['id']){delete _0x2cf825[_0xfdad('0x45')]['id'];}return db['VoiceDialReport'][_0xfdad('0x42')]({'where':{'id':_0x2cf825[_0xfdad('0x3f')]['id']}})[_0xfdad('0x23')](handleEntityNotFound(_0x577e0d,null))['then'](saveUpdates(_0x2cf825[_0xfdad('0x45')],null))['then'](respondWithResult(_0x577e0d,null))[_0xfdad('0x43')](handleError(_0x577e0d,null));};exports['destroy']=function(_0x352021,_0x272ed3){return db[_0xfdad('0x29')][_0xfdad('0x42')]({'where':{'id':_0x352021['params']['id']}})[_0xfdad('0x23')](handleEntityNotFound(_0x272ed3,null))[_0xfdad('0x23')](removeEntity(_0x272ed3,null))[_0xfdad('0x43')](handleError(_0x272ed3,null));};exports[_0xfdad('0x46')]=function(_0x1af7be,_0x335957){return db[_0xfdad('0x29')][_0xfdad('0x46')]()['then'](respondWithResult(_0x335957,null))[_0xfdad('0x43')](handleError(_0x335957,null));};