c745b41239a3088dfee905cebfa0c9d1ab6570d8
[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 _0x3028=['filter','merge','where','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','keys','length','find','create','body','describe','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','squel','crypto','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','count','offset','limit','set','apply','save','update','destroy','then','sendStatus','error','stack','name','send','index','map','VoiceDialReport','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick'];(function(_0x3e37c2,_0x4b7140){var _0x344a0f=function(_0x1dfaf2){while(--_0x1dfaf2){_0x3e37c2['push'](_0x3e37c2['shift']());}};_0x344a0f(++_0x4b7140);}(_0x3028,0x18e));var _0x8302=function(_0x19b4ef,_0x236d90){_0x19b4ef=_0x19b4ef-0x0;var _0x1ce611=_0x3028[_0x19b4ef];return _0x1ce611;};'use strict';var pdf=require(_0x8302('0x0'));var emlformat=require(_0x8302('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x8302('0x2'));var jsonpatch=require(_0x8302('0x3'));var rp=require(_0x8302('0x4'));var moment=require('moment');var BPromise=require(_0x8302('0x5'));var Mustache=require(_0x8302('0x6'));var util=require(_0x8302('0x7'));var path=require('path');var sox=require(_0x8302('0x8'));var csv=require(_0x8302('0x9'));var ejs=require(_0x8302('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x8302('0xb'));var crypto=require(_0x8302('0xc'));var jsforce=require(_0x8302('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x8302('0x9'));var querystring=require(_0x8302('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x8302('0xf'));var qs=require(_0x8302('0x10'));var as=require(_0x8302('0x11'));var hardwareService=require(_0x8302('0x12'));var logger=require(_0x8302('0x13'))(_0x8302('0x14'));var utils=require(_0x8302('0x15'));var config=require(_0x8302('0x16'));var db=require(_0x8302('0x17'))['db'];function respondWithStatusCode(_0x240bd2,_0x44f704){_0x44f704=_0x44f704||0xcc;return function(_0x2b0fb3){if(_0x2b0fb3){return _0x240bd2['sendStatus'](_0x44f704);}return _0x240bd2[_0x8302('0x18')](_0x44f704)[_0x8302('0x19')]();};}function respondWithResult(_0x5558b0,_0x51e66c){_0x51e66c=_0x51e66c||0xc8;return function(_0x3bb56d){if(_0x3bb56d){return _0x5558b0[_0x8302('0x18')](_0x51e66c)['json'](_0x3bb56d);}};}function respondWithFilteredResult(_0x2477e4,_0xda7c76){return function(_0x418603){if(_0x418603){var _0x313348=_0x418603[_0x8302('0x1a')],_0x54bd97=_0xda7c76[_0x8302('0x1b')],_0xba6b22=_0xda7c76[_0x8302('0x1b')]+_0xda7c76[_0x8302('0x1c')],_0x3d0e75;if(_0xba6b22>=_0x313348){_0xba6b22=_0x313348;_0x3d0e75=0xc8;}else{_0x3d0e75=0xce;}_0x2477e4[_0x8302('0x18')](_0x3d0e75);return _0x2477e4[_0x8302('0x1d')]('Content-Range',_0x54bd97+'-'+_0xba6b22+'/'+_0x313348)['json'](_0x418603);}return null;};}function patchUpdates(_0x1491b4){return function(_0xe8069a){try{jsonpatch[_0x8302('0x1e')](_0xe8069a,_0x1491b4,!![]);}catch(_0x297f8e){return BPromise['reject'](_0x297f8e);}return _0xe8069a[_0x8302('0x1f')]();};}function saveUpdates(_0xcdcac1,_0x39696f){return function(_0x535f92){if(_0x535f92){return _0x535f92[_0x8302('0x20')](_0xcdcac1)['then'](function(_0x837a8a){return _0x837a8a;});}return null;};}function removeEntity(_0x4df116,_0x35a398){return function(_0x4d2ada){if(_0x4d2ada){return _0x4d2ada[_0x8302('0x21')]()[_0x8302('0x22')](function(){_0x4df116['status'](0xcc)[_0x8302('0x19')]();});}};}function handleEntityNotFound(_0x370cd0,_0x22f329){return function(_0xc221d1){if(!_0xc221d1){_0x370cd0[_0x8302('0x23')](0x194);}return _0xc221d1;};}function handleError(_0x5ec9d6,_0x430eb9){_0x430eb9=_0x430eb9||0x1f4;return function(_0x2643a0){logger[_0x8302('0x24')](_0x2643a0[_0x8302('0x25')]);if(_0x2643a0[_0x8302('0x26')]){delete _0x2643a0['name'];}_0x5ec9d6[_0x8302('0x18')](_0x430eb9)[_0x8302('0x27')](_0x2643a0);};}exports[_0x8302('0x28')]=function(_0x1a5c15,_0x514e77){var _0x3c78ee={},_0x2d052e={},_0x4f0649={'count':0x0,'rows':[]};var _0x34f742=_[_0x8302('0x29')](db[_0x8302('0x2a')][_0x8302('0x2b')],function(_0x1690db){return{'name':_0x1690db[_0x8302('0x2c')],'type':_0x1690db[_0x8302('0x2d')][_0x8302('0x2e')]};});_0x2d052e[_0x8302('0x2f')]=_[_0x8302('0x29')](_0x34f742,'name');_0x2d052e[_0x8302('0x30')]=_['keys'](_0x1a5c15['query']);_0x2d052e[_0x8302('0x31')]=_[_0x8302('0x32')](_0x2d052e[_0x8302('0x2f')],_0x2d052e[_0x8302('0x30')]);_0x3c78ee[_0x8302('0x33')]=_[_0x8302('0x32')](_0x2d052e['model'],qs[_0x8302('0x34')](_0x1a5c15[_0x8302('0x30')]['fields']));_0x3c78ee[_0x8302('0x33')]=_0x3c78ee[_0x8302('0x33')]['length']?_0x3c78ee[_0x8302('0x33')]:_0x2d052e[_0x8302('0x2f')];if(!_0x1a5c15['query'][_0x8302('0x35')](_0x8302('0x36'))){_0x3c78ee[_0x8302('0x1c')]=qs[_0x8302('0x1c')](_0x1a5c15['query']['limit']);_0x3c78ee[_0x8302('0x1b')]=qs[_0x8302('0x1b')](_0x1a5c15[_0x8302('0x30')][_0x8302('0x1b')]);}_0x3c78ee[_0x8302('0x37')]=qs[_0x8302('0x38')](_0x1a5c15[_0x8302('0x30')][_0x8302('0x38')]);_0x3c78ee['where']=qs[_0x8302('0x31')](_[_0x8302('0x39')](_0x1a5c15[_0x8302('0x30')],_0x2d052e[_0x8302('0x31')]));if(_0x1a5c15[_0x8302('0x30')][_0x8302('0x3a')]){_0x3c78ee['where']=_[_0x8302('0x3b')](_0x3c78ee[_0x8302('0x3c')],{'$or':_['map'](_0x34f742,function(_0x17d7a9){if(_0x17d7a9[_0x8302('0x2d')]!==_0x8302('0x3d')){var _0xeb4653={};_0xeb4653[_0x17d7a9[_0x8302('0x26')]]={'$like':'%'+_0x1a5c15[_0x8302('0x30')][_0x8302('0x3a')]+'%'};return _0xeb4653;}})});}_0x3c78ee=_[_0x8302('0x3b')]({},_0x3c78ee,_0x1a5c15[_0x8302('0x3e')]);var _0x2c4d77={'where':_0x3c78ee[_0x8302('0x3c')]};return db[_0x8302('0x2a')][_0x8302('0x1a')](_0x2c4d77)[_0x8302('0x22')](function(_0x33dc8c){_0x4f0649['count']=_0x33dc8c;if(_0x1a5c15[_0x8302('0x30')][_0x8302('0x3f')]){_0x3c78ee[_0x8302('0x40')]=[{'all':!![]}];}return db[_0x8302('0x2a')][_0x8302('0x41')](_0x3c78ee);})['then'](function(_0x211e88){_0x4f0649[_0x8302('0x42')]=_0x211e88;return _0x4f0649;})[_0x8302('0x22')](respondWithFilteredResult(_0x514e77,_0x3c78ee))[_0x8302('0x43')](handleError(_0x514e77,null));};exports[_0x8302('0x44')]=function(_0x223cab,_0x95b50f){var _0x1a4218={'raw':!![],'where':{'id':_0x223cab[_0x8302('0x45')]['id']}},_0x5cb857={};_0x5cb857['model']=_[_0x8302('0x46')](db['VoiceDialReport']['rawAttributes']);_0x5cb857[_0x8302('0x30')]=_[_0x8302('0x46')](_0x223cab[_0x8302('0x30')]);_0x5cb857[_0x8302('0x31')]=_[_0x8302('0x32')](_0x5cb857[_0x8302('0x2f')],_0x5cb857[_0x8302('0x30')]);_0x1a4218[_0x8302('0x33')]=_[_0x8302('0x32')](_0x5cb857[_0x8302('0x2f')],qs[_0x8302('0x34')](_0x223cab['query']['fields']));_0x1a4218['attributes']=_0x1a4218[_0x8302('0x33')][_0x8302('0x47')]?_0x1a4218[_0x8302('0x33')]:_0x5cb857['model'];if(_0x223cab[_0x8302('0x30')][_0x8302('0x3f')]){_0x1a4218[_0x8302('0x40')]=[{'all':!![]}];}_0x1a4218=_['merge']({},_0x1a4218,_0x223cab[_0x8302('0x3e')]);return db[_0x8302('0x2a')][_0x8302('0x48')](_0x1a4218)['then'](handleEntityNotFound(_0x95b50f,null))[_0x8302('0x22')](respondWithResult(_0x95b50f,null))[_0x8302('0x43')](handleError(_0x95b50f,null));};exports[_0x8302('0x49')]=function(_0x1215ec,_0x320656){return db[_0x8302('0x2a')][_0x8302('0x49')](_0x1215ec[_0x8302('0x4a')],{})['then'](respondWithResult(_0x320656,0xc9))[_0x8302('0x43')](handleError(_0x320656,null));};exports[_0x8302('0x20')]=function(_0x329a04,_0x533228){if(_0x329a04['body']['id']){delete _0x329a04['body']['id'];}return db['VoiceDialReport'][_0x8302('0x48')]({'where':{'id':_0x329a04[_0x8302('0x45')]['id']}})[_0x8302('0x22')](handleEntityNotFound(_0x533228,null))[_0x8302('0x22')](saveUpdates(_0x329a04[_0x8302('0x4a')],null))[_0x8302('0x22')](respondWithResult(_0x533228,null))[_0x8302('0x43')](handleError(_0x533228,null));};exports[_0x8302('0x21')]=function(_0x169826,_0x14cda6){return db['VoiceDialReport'][_0x8302('0x48')]({'where':{'id':_0x169826[_0x8302('0x45')]['id']}})[_0x8302('0x22')](handleEntityNotFound(_0x14cda6,null))[_0x8302('0x22')](removeEntity(_0x14cda6,null))['catch'](handleError(_0x14cda6,null));};exports[_0x8302('0x4b')]=function(_0x54f293,_0x29c302){return db[_0x8302('0x2a')][_0x8302('0x4b')]()[_0x8302('0x22')](respondWithResult(_0x29c302,null))['catch'](handleError(_0x29c302,null));};