204d8961ac889dd6f606d3dcfcb9cd00f9726ca7
[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 _0xfd99=['create','body','params','destroy','describe','rimraf','zip-dir','request-promise','moment','mustache','path','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','ioredis','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','reject','save','update','then','stack','name','send','VoiceTransferReport','fieldName','type','key','map','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','filter','include','rows','catch','show','rawAttributes','includeAll','options','find'];(function(_0x231362,_0x1b3085){var _0x523090=function(_0x9973df){while(--_0x9973df){_0x231362['push'](_0x231362['shift']());}};_0x523090(++_0x1b3085);}(_0xfd99,0x16d));var _0x9fd9=function(_0x1d575,_0x2b09a3){_0x1d575=_0x1d575-0x0;var _0x484d54=_0xfd99[_0x1d575];return _0x484d54;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9fd9('0x0'));var zipdir=require(_0x9fd9('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9fd9('0x2'));var moment=require(_0x9fd9('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x9fd9('0x4'));var util=require('util');var path=require(_0x9fd9('0x5'));var sox=require(_0x9fd9('0x6'));var csv=require(_0x9fd9('0x7'));var ejs=require(_0x9fd9('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x9fd9('0x9'));var crypto=require(_0x9fd9('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x9fd9('0xb'));var toCsv=require(_0x9fd9('0x7'));var querystring=require(_0x9fd9('0xc'));var Papa=require(_0x9fd9('0xd'));var Redis=require(_0x9fd9('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x9fd9('0xf'))(_0x9fd9('0x10'));var utils=require(_0x9fd9('0x11'));var config=require(_0x9fd9('0x12'));var licenseUtil=require(_0x9fd9('0x13'));var db=require(_0x9fd9('0x14'))['db'];function respondWithStatusCode(_0x19e431,_0x240f01){_0x240f01=_0x240f01||0xcc;return function(_0x670057){if(_0x670057){return _0x19e431[_0x9fd9('0x15')](_0x240f01);}return _0x19e431[_0x9fd9('0x16')](_0x240f01)[_0x9fd9('0x17')]();};}function respondWithResult(_0x1f03a9,_0x35dd4c){_0x35dd4c=_0x35dd4c||0xc8;return function(_0x7d1ad5){if(_0x7d1ad5){return _0x1f03a9[_0x9fd9('0x16')](_0x35dd4c)[_0x9fd9('0x18')](_0x7d1ad5);}};}function respondWithFilteredResult(_0x7991ee,_0x53cd97){return function(_0x4cd4eb){if(_0x4cd4eb){var _0x3dc69c=typeof _0x53cd97['offset']===_0x9fd9('0x19')&&typeof _0x53cd97[_0x9fd9('0x1a')]===_0x9fd9('0x19');var _0x18691f=_0x4cd4eb[_0x9fd9('0x1b')];var _0x58d3a8=_0x3dc69c?0x0:_0x53cd97[_0x9fd9('0x1c')];var _0x1a65d4=_0x3dc69c?_0x4cd4eb[_0x9fd9('0x1b')]:_0x53cd97[_0x9fd9('0x1c')]+_0x53cd97['limit'];var _0xd9e4ca;if(_0x1a65d4>=_0x18691f){_0x1a65d4=_0x18691f;_0xd9e4ca=0xc8;}else{_0xd9e4ca=0xce;}_0x7991ee['status'](_0xd9e4ca);return _0x7991ee[_0x9fd9('0x1d')](_0x9fd9('0x1e'),_0x58d3a8+'-'+_0x1a65d4+'/'+_0x18691f)[_0x9fd9('0x18')](_0x4cd4eb);}return null;};}function patchUpdates(_0x2067bc){return function(_0x3b8d4b){try{jsonpatch['apply'](_0x3b8d4b,_0x2067bc,!![]);}catch(_0x9c8565){return BPromise[_0x9fd9('0x1f')](_0x9c8565);}return _0x3b8d4b[_0x9fd9('0x20')]();};}function saveUpdates(_0x538449,_0xf3f5c7){return function(_0x221e45){if(_0x221e45){return _0x221e45[_0x9fd9('0x21')](_0x538449)['then'](function(_0x1421ba){return _0x1421ba;});}return null;};}function removeEntity(_0x3a2441,_0x16e988){return function(_0xd87e84){if(_0xd87e84){return _0xd87e84['destroy']()[_0x9fd9('0x22')](function(){_0x3a2441[_0x9fd9('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x449e34,_0x49ca9f){return function(_0x4c3409){if(!_0x4c3409){_0x449e34['sendStatus'](0x194);}return _0x4c3409;};}function handleError(_0x53b8b6,_0x24bdd0){_0x24bdd0=_0x24bdd0||0x1f4;return function(_0x1f1642){logger['error'](_0x1f1642[_0x9fd9('0x23')]);if(_0x1f1642[_0x9fd9('0x24')]){delete _0x1f1642[_0x9fd9('0x24')];}_0x53b8b6[_0x9fd9('0x16')](_0x24bdd0)[_0x9fd9('0x25')](_0x1f1642);};}exports['index']=function(_0x5e75b6,_0x23d7d8){var _0x40fcc0={},_0x41bff1={},_0x423c95={'count':0x0,'rows':[]};var _0x345117=_['map'](db[_0x9fd9('0x26')]['rawAttributes'],function(_0x3c08dc){return{'name':_0x3c08dc[_0x9fd9('0x27')],'type':_0x3c08dc[_0x9fd9('0x28')][_0x9fd9('0x29')]};});_0x41bff1['model']=_[_0x9fd9('0x2a')](_0x345117,_0x9fd9('0x24'));_0x41bff1[_0x9fd9('0x2b')]=_[_0x9fd9('0x2c')](_0x5e75b6['query']);_0x41bff1[_0x9fd9('0x2d')]=_[_0x9fd9('0x2e')](_0x41bff1[_0x9fd9('0x2f')],_0x41bff1[_0x9fd9('0x2b')]);_0x40fcc0['attributes']=_[_0x9fd9('0x2e')](_0x41bff1[_0x9fd9('0x2f')],qs['fields'](_0x5e75b6[_0x9fd9('0x2b')][_0x9fd9('0x30')]));_0x40fcc0[_0x9fd9('0x31')]=_0x40fcc0[_0x9fd9('0x31')][_0x9fd9('0x32')]?_0x40fcc0[_0x9fd9('0x31')]:_0x41bff1[_0x9fd9('0x2f')];if(!_0x5e75b6[_0x9fd9('0x2b')][_0x9fd9('0x33')]('nolimit')){_0x40fcc0[_0x9fd9('0x1a')]=qs['limit'](_0x5e75b6[_0x9fd9('0x2b')][_0x9fd9('0x1a')]);_0x40fcc0['offset']=qs[_0x9fd9('0x1c')](_0x5e75b6[_0x9fd9('0x2b')]['offset']);}_0x40fcc0[_0x9fd9('0x34')]=qs[_0x9fd9('0x35')](_0x5e75b6[_0x9fd9('0x2b')][_0x9fd9('0x35')]);_0x40fcc0[_0x9fd9('0x36')]=qs[_0x9fd9('0x2d')](_[_0x9fd9('0x37')](_0x5e75b6[_0x9fd9('0x2b')],_0x41bff1[_0x9fd9('0x2d')]),_0x345117);if(_0x5e75b6[_0x9fd9('0x2b')]['filter']){_0x40fcc0[_0x9fd9('0x36')]=_[_0x9fd9('0x38')](_0x40fcc0[_0x9fd9('0x36')],{'$or':_[_0x9fd9('0x2a')](_0x345117,function(_0x207f52){if(_0x207f52[_0x9fd9('0x28')]!==_0x9fd9('0x39')){var _0x506f50={};_0x506f50[_0x207f52[_0x9fd9('0x24')]]={'$like':'%'+_0x5e75b6[_0x9fd9('0x2b')][_0x9fd9('0x3a')]+'%'};return _0x506f50;}})});}_0x40fcc0=_['merge']({},_0x40fcc0,_0x5e75b6['options']);var _0x56f236={'where':_0x40fcc0['where']};return db[_0x9fd9('0x26')][_0x9fd9('0x1b')](_0x56f236)['then'](function(_0x5eb047){_0x423c95[_0x9fd9('0x1b')]=_0x5eb047;if(_0x5e75b6[_0x9fd9('0x2b')]['includeAll']){_0x40fcc0[_0x9fd9('0x3b')]=[{'all':!![]}];}return db[_0x9fd9('0x26')]['findAll'](_0x40fcc0);})[_0x9fd9('0x22')](function(_0xc30288){_0x423c95[_0x9fd9('0x3c')]=_0xc30288;return _0x423c95;})[_0x9fd9('0x22')](respondWithFilteredResult(_0x23d7d8,_0x40fcc0))[_0x9fd9('0x3d')](handleError(_0x23d7d8,null));};exports[_0x9fd9('0x3e')]=function(_0x5efaed,_0x2a085c){var _0x5e9c0d={'raw':!![],'where':{'id':_0x5efaed['params']['id']}},_0xfd7047={};_0xfd7047[_0x9fd9('0x2f')]=_[_0x9fd9('0x2c')](db['VoiceTransferReport'][_0x9fd9('0x3f')]);_0xfd7047[_0x9fd9('0x2b')]=_['keys'](_0x5efaed['query']);_0xfd7047[_0x9fd9('0x2d')]=_[_0x9fd9('0x2e')](_0xfd7047[_0x9fd9('0x2f')],_0xfd7047[_0x9fd9('0x2b')]);_0x5e9c0d[_0x9fd9('0x31')]=_[_0x9fd9('0x2e')](_0xfd7047['model'],qs['fields'](_0x5efaed['query'][_0x9fd9('0x30')]));_0x5e9c0d[_0x9fd9('0x31')]=_0x5e9c0d['attributes'][_0x9fd9('0x32')]?_0x5e9c0d[_0x9fd9('0x31')]:_0xfd7047[_0x9fd9('0x2f')];if(_0x5efaed[_0x9fd9('0x2b')][_0x9fd9('0x40')]){_0x5e9c0d[_0x9fd9('0x3b')]=[{'all':!![]}];}_0x5e9c0d=_[_0x9fd9('0x38')]({},_0x5e9c0d,_0x5efaed[_0x9fd9('0x41')]);return db[_0x9fd9('0x26')][_0x9fd9('0x42')](_0x5e9c0d)[_0x9fd9('0x22')](handleEntityNotFound(_0x2a085c,null))[_0x9fd9('0x22')](respondWithResult(_0x2a085c,null))[_0x9fd9('0x3d')](handleError(_0x2a085c,null));};exports[_0x9fd9('0x43')]=function(_0x224f4e,_0x3446ee){return db[_0x9fd9('0x26')][_0x9fd9('0x43')](_0x224f4e[_0x9fd9('0x44')],{})[_0x9fd9('0x22')](respondWithResult(_0x3446ee,0xc9))[_0x9fd9('0x3d')](handleError(_0x3446ee,null));};exports[_0x9fd9('0x21')]=function(_0x509201,_0x422c2e){if(_0x509201['body']['id']){delete _0x509201[_0x9fd9('0x44')]['id'];}return db['VoiceTransferReport'][_0x9fd9('0x42')]({'where':{'id':_0x509201[_0x9fd9('0x45')]['id']}})[_0x9fd9('0x22')](handleEntityNotFound(_0x422c2e,null))[_0x9fd9('0x22')](saveUpdates(_0x509201[_0x9fd9('0x44')],null))[_0x9fd9('0x22')](respondWithResult(_0x422c2e,null))[_0x9fd9('0x3d')](handleError(_0x422c2e,null));};exports[_0x9fd9('0x46')]=function(_0x2e45df,_0x2e394f){return db[_0x9fd9('0x26')][_0x9fd9('0x42')]({'where':{'id':_0x2e45df['params']['id']}})[_0x9fd9('0x22')](handleEntityNotFound(_0x2e394f,null))['then'](removeEntity(_0x2e394f,null))[_0x9fd9('0x3d')](handleError(_0x2e394f,null));};exports[_0x9fd9('0x47')]=function(_0x216429,_0x1dc93c){return db[_0x9fd9('0x26')]['describe']()['then'](respondWithResult(_0x1dc93c,null))[_0x9fd9('0x3d')](handleError(_0x1dc93c,null));};