32b2710aa9590ff3e90d9e7aadcd0a05a22d759b
[motion2.git] / server / api / voiceTransferReport / voiceTransferReport.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 _0xd3a3=['model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','params','rawAttributes','intersection','includeAll','find','create','body','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','limit','undefined','count','set','json','reject','update','then','destroy','error','stack','name','send','map','VoiceTransferReport','fieldName','type','key'];(function(_0x2d95c2,_0x1857dd){var _0x2ffe97=function(_0x58a912){while(--_0x58a912){_0x2d95c2['push'](_0x2d95c2['shift']());}};_0x2ffe97(++_0x1857dd);}(_0xd3a3,0x1df));var _0x3d3a=function(_0x58098c,_0x42e150){_0x58098c=_0x58098c-0x0;var _0x677b30=_0xd3a3[_0x58098c];return _0x677b30;};'use strict';var emlformat=require(_0x3d3a('0x0'));var rimraf=require(_0x3d3a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3d3a('0x2'));var rp=require(_0x3d3a('0x3'));var moment=require(_0x3d3a('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x3d3a('0x5'));var util=require('util');var path=require(_0x3d3a('0x6'));var sox=require(_0x3d3a('0x7'));var csv=require('to-csv');var ejs=require(_0x3d3a('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3d3a('0x9'));var squel=require(_0x3d3a('0xa'));var crypto=require('crypto');var jsforce=require(_0x3d3a('0xb'));var deskjs=require(_0x3d3a('0xc'));var toCsv=require(_0x3d3a('0xd'));var querystring=require(_0x3d3a('0xe'));var Papa=require(_0x3d3a('0xf'));var Redis=require(_0x3d3a('0x10'));var authService=require(_0x3d3a('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x3d3a('0x12'))(_0x3d3a('0x13'));var utils=require(_0x3d3a('0x14'));var config=require(_0x3d3a('0x15'));var licenseUtil=require(_0x3d3a('0x16'));var db=require(_0x3d3a('0x17'))['db'];function respondWithStatusCode(_0x352057,_0x56cf74){_0x56cf74=_0x56cf74||0xcc;return function(_0x455255){if(_0x455255){return _0x352057[_0x3d3a('0x18')](_0x56cf74);}return _0x352057['status'](_0x56cf74)[_0x3d3a('0x19')]();};}function respondWithResult(_0x2c80ce,_0x46c248){_0x46c248=_0x46c248||0xc8;return function(_0x5098b3){if(_0x5098b3){return _0x2c80ce[_0x3d3a('0x1a')](_0x46c248)['json'](_0x5098b3);}};}function respondWithFilteredResult(_0x58bfa4,_0x5c280e){return function(_0x1785fb){if(_0x1785fb){var _0x2874a7=typeof _0x5c280e[_0x3d3a('0x1b')]==='undefined'&&typeof _0x5c280e[_0x3d3a('0x1c')]===_0x3d3a('0x1d');var _0x152988=_0x1785fb[_0x3d3a('0x1e')];var _0x1cc803=_0x2874a7?0x0:_0x5c280e[_0x3d3a('0x1b')];var _0x4b0e2b=_0x2874a7?_0x1785fb['count']:_0x5c280e['offset']+_0x5c280e[_0x3d3a('0x1c')];var _0x496790;if(_0x4b0e2b>=_0x152988){_0x4b0e2b=_0x152988;_0x496790=0xc8;}else{_0x496790=0xce;}_0x58bfa4[_0x3d3a('0x1a')](_0x496790);return _0x58bfa4[_0x3d3a('0x1f')]('Content-Range',_0x1cc803+'-'+_0x4b0e2b+'/'+_0x152988)[_0x3d3a('0x20')](_0x1785fb);}return null;};}function patchUpdates(_0x3cf4c2){return function(_0x1b32ab){try{jsonpatch['apply'](_0x1b32ab,_0x3cf4c2,!![]);}catch(_0x4cbfd3){return BPromise[_0x3d3a('0x21')](_0x4cbfd3);}return _0x1b32ab['save']();};}function saveUpdates(_0x15720b,_0x664f7e){return function(_0xf3ab52){if(_0xf3ab52){return _0xf3ab52[_0x3d3a('0x22')](_0x15720b)[_0x3d3a('0x23')](function(_0x24f692){return _0x24f692;});}return null;};}function removeEntity(_0x25d2b6,_0xc510e7){return function(_0xbd25ea){if(_0xbd25ea){return _0xbd25ea[_0x3d3a('0x24')]()[_0x3d3a('0x23')](function(){_0x25d2b6[_0x3d3a('0x1a')](0xcc)[_0x3d3a('0x19')]();});}};}function handleEntityNotFound(_0x1ec0d1,_0x3d41d5){return function(_0x2ac7e6){if(!_0x2ac7e6){_0x1ec0d1['sendStatus'](0x194);}return _0x2ac7e6;};}function handleError(_0x3ff159,_0x5bb4f7){_0x5bb4f7=_0x5bb4f7||0x1f4;return function(_0x557308){logger[_0x3d3a('0x25')](_0x557308[_0x3d3a('0x26')]);if(_0x557308[_0x3d3a('0x27')]){delete _0x557308['name'];}_0x3ff159[_0x3d3a('0x1a')](_0x5bb4f7)[_0x3d3a('0x28')](_0x557308);};}exports['index']=function(_0x30b94c,_0x21690){var _0x18cc6e={},_0x49340a={},_0x43db26={'count':0x0,'rows':[]};var _0x50fd96=_[_0x3d3a('0x29')](db[_0x3d3a('0x2a')]['rawAttributes'],function(_0x408035){return{'name':_0x408035[_0x3d3a('0x2b')],'type':_0x408035[_0x3d3a('0x2c')][_0x3d3a('0x2d')]};});_0x49340a[_0x3d3a('0x2e')]=_['map'](_0x50fd96,_0x3d3a('0x27'));_0x49340a[_0x3d3a('0x2f')]=_[_0x3d3a('0x30')](_0x30b94c[_0x3d3a('0x2f')]);_0x49340a[_0x3d3a('0x31')]=_['intersection'](_0x49340a['model'],_0x49340a[_0x3d3a('0x2f')]);_0x18cc6e[_0x3d3a('0x32')]=_['intersection'](_0x49340a['model'],qs[_0x3d3a('0x33')](_0x30b94c['query']['fields']));_0x18cc6e[_0x3d3a('0x32')]=_0x18cc6e[_0x3d3a('0x32')][_0x3d3a('0x34')]?_0x18cc6e[_0x3d3a('0x32')]:_0x49340a[_0x3d3a('0x2e')];if(!_0x30b94c[_0x3d3a('0x2f')][_0x3d3a('0x35')](_0x3d3a('0x36'))){_0x18cc6e['limit']=qs[_0x3d3a('0x1c')](_0x30b94c[_0x3d3a('0x2f')][_0x3d3a('0x1c')]);_0x18cc6e['offset']=qs[_0x3d3a('0x1b')](_0x30b94c[_0x3d3a('0x2f')][_0x3d3a('0x1b')]);}_0x18cc6e[_0x3d3a('0x37')]=qs[_0x3d3a('0x38')](_0x30b94c[_0x3d3a('0x2f')]['sort']);_0x18cc6e[_0x3d3a('0x39')]=qs[_0x3d3a('0x31')](_[_0x3d3a('0x3a')](_0x30b94c['query'],_0x49340a[_0x3d3a('0x31')]),_0x50fd96);if(_0x30b94c[_0x3d3a('0x2f')][_0x3d3a('0x3b')]){_0x18cc6e['where']=_[_0x3d3a('0x3c')](_0x18cc6e[_0x3d3a('0x39')],{'$or':_[_0x3d3a('0x29')](_0x50fd96,function(_0xf48220){if(_0xf48220[_0x3d3a('0x2c')]!==_0x3d3a('0x3d')){var _0x1aa2b0={};_0x1aa2b0[_0xf48220[_0x3d3a('0x27')]]={'$like':'%'+_0x30b94c['query'][_0x3d3a('0x3b')]+'%'};return _0x1aa2b0;}})});}_0x18cc6e=_['merge']({},_0x18cc6e,_0x30b94c[_0x3d3a('0x3e')]);var _0x9f6669={'where':_0x18cc6e[_0x3d3a('0x39')]};return db['VoiceTransferReport']['count'](_0x9f6669)[_0x3d3a('0x23')](function(_0x51bc0a){_0x43db26['count']=_0x51bc0a;if(_0x30b94c[_0x3d3a('0x2f')]['includeAll']){_0x18cc6e[_0x3d3a('0x3f')]=[{'all':!![]}];}return db[_0x3d3a('0x2a')][_0x3d3a('0x40')](_0x18cc6e);})['then'](function(_0x1c6e40){_0x43db26[_0x3d3a('0x41')]=_0x1c6e40;return _0x43db26;})[_0x3d3a('0x23')](respondWithFilteredResult(_0x21690,_0x18cc6e))[_0x3d3a('0x42')](handleError(_0x21690,null));};exports['show']=function(_0x5208b5,_0x45ce40){var _0x5a8a8c={'raw':!![],'where':{'id':_0x5208b5[_0x3d3a('0x43')]['id']}},_0xa4d01a={};_0xa4d01a[_0x3d3a('0x2e')]=_[_0x3d3a('0x30')](db[_0x3d3a('0x2a')][_0x3d3a('0x44')]);_0xa4d01a[_0x3d3a('0x2f')]=_[_0x3d3a('0x30')](_0x5208b5['query']);_0xa4d01a['filters']=_[_0x3d3a('0x45')](_0xa4d01a[_0x3d3a('0x2e')],_0xa4d01a[_0x3d3a('0x2f')]);_0x5a8a8c[_0x3d3a('0x32')]=_['intersection'](_0xa4d01a['model'],qs[_0x3d3a('0x33')](_0x5208b5['query'][_0x3d3a('0x33')]));_0x5a8a8c[_0x3d3a('0x32')]=_0x5a8a8c['attributes'][_0x3d3a('0x34')]?_0x5a8a8c[_0x3d3a('0x32')]:_0xa4d01a[_0x3d3a('0x2e')];if(_0x5208b5[_0x3d3a('0x2f')][_0x3d3a('0x46')]){_0x5a8a8c[_0x3d3a('0x3f')]=[{'all':!![]}];}_0x5a8a8c=_[_0x3d3a('0x3c')]({},_0x5a8a8c,_0x5208b5[_0x3d3a('0x3e')]);return db[_0x3d3a('0x2a')][_0x3d3a('0x47')](_0x5a8a8c)['then'](handleEntityNotFound(_0x45ce40,null))['then'](respondWithResult(_0x45ce40,null))['catch'](handleError(_0x45ce40,null));};exports[_0x3d3a('0x48')]=function(_0x38470d,_0x382b9a){return db[_0x3d3a('0x2a')][_0x3d3a('0x48')](_0x38470d['body'],{})[_0x3d3a('0x23')](respondWithResult(_0x382b9a,0xc9))[_0x3d3a('0x42')](handleError(_0x382b9a,null));};exports['update']=function(_0x2dec17,_0x489367){if(_0x2dec17[_0x3d3a('0x49')]['id']){delete _0x2dec17[_0x3d3a('0x49')]['id'];}return db[_0x3d3a('0x2a')][_0x3d3a('0x47')]({'where':{'id':_0x2dec17[_0x3d3a('0x43')]['id']}})[_0x3d3a('0x23')](handleEntityNotFound(_0x489367,null))['then'](saveUpdates(_0x2dec17['body'],null))[_0x3d3a('0x23')](respondWithResult(_0x489367,null))[_0x3d3a('0x42')](handleError(_0x489367,null));};exports[_0x3d3a('0x24')]=function(_0x4933f1,_0x3b835c){return db[_0x3d3a('0x2a')]['find']({'where':{'id':_0x4933f1['params']['id']}})[_0x3d3a('0x23')](handleEntityNotFound(_0x3b835c,null))[_0x3d3a('0x23')](removeEntity(_0x3b835c,null))['catch'](handleError(_0x3b835c,null));};exports[_0x3d3a('0x4a')]=function(_0x2bb221,_0x19b3ed){return db[_0x3d3a('0x2a')][_0x3d3a('0x4a')]()['then'](respondWithResult(_0x19b3ed,null))[_0x3d3a('0x42')](handleError(_0x19b3ed,null));};