bc9b90692dd0763a00e36998cc48dea93a6eff22
[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 _0xa20f=['options','include','findAll','rows','catch','show','params','includeAll','find','create','body','describe','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','stack','name','send','index','map','VoiceTransferReport','fieldName','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','type','VIRTUAL','filter'];(function(_0x487000,_0x203d9c){var _0x5392b1=function(_0x4a99aa){while(--_0x4a99aa){_0x487000['push'](_0x487000['shift']());}};_0x5392b1(++_0x203d9c);}(_0xa20f,0xac));var _0xfa20=function(_0x4498ac,_0x30e301){_0x4498ac=_0x4498ac-0x0;var _0x4bf1b6=_0xa20f[_0x4498ac];return _0x4bf1b6;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xfa20('0x0'));var jsonpatch=require(_0xfa20('0x1'));var rp=require(_0xfa20('0x2'));var moment=require(_0xfa20('0x3'));var BPromise=require(_0xfa20('0x4'));var Mustache=require(_0xfa20('0x5'));var util=require(_0xfa20('0x6'));var path=require(_0xfa20('0x7'));var sox=require('sox');var csv=require(_0xfa20('0x8'));var ejs=require(_0xfa20('0x9'));var fs=require('fs');var fs_extra=require(_0xfa20('0xa'));var _=require(_0xfa20('0xb'));var squel=require(_0xfa20('0xc'));var crypto=require('crypto');var jsforce=require(_0xfa20('0xd'));var deskjs=require(_0xfa20('0xe'));var toCsv=require(_0xfa20('0x8'));var querystring=require(_0xfa20('0xf'));var Papa=require(_0xfa20('0x10'));var Redis=require(_0xfa20('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xfa20('0x12'));var as=require(_0xfa20('0x13'));var hardwareService=require(_0xfa20('0x14'));var logger=require('../../config/logger')(_0xfa20('0x15'));var utils=require(_0xfa20('0x16'));var config=require(_0xfa20('0x17'));var licenseUtil=require(_0xfa20('0x18'));var db=require(_0xfa20('0x19'))['db'];function respondWithStatusCode(_0x2ccbec,_0x16f874){_0x16f874=_0x16f874||0xcc;return function(_0x5a0614){if(_0x5a0614){return _0x2ccbec[_0xfa20('0x1a')](_0x16f874);}return _0x2ccbec[_0xfa20('0x1b')](_0x16f874)[_0xfa20('0x1c')]();};}function respondWithResult(_0x2ade78,_0x4f0e47){_0x4f0e47=_0x4f0e47||0xc8;return function(_0x112b3e){if(_0x112b3e){return _0x2ade78[_0xfa20('0x1b')](_0x4f0e47)['json'](_0x112b3e);}};}function respondWithFilteredResult(_0x12377b,_0x5293db){return function(_0x45d65a){if(_0x45d65a){var _0x403c80=typeof _0x5293db[_0xfa20('0x1d')]===_0xfa20('0x1e')&&typeof _0x5293db[_0xfa20('0x1f')]===_0xfa20('0x1e');var _0x3acc2d=_0x45d65a[_0xfa20('0x20')];var _0x1b3377=_0x403c80?0x0:_0x5293db[_0xfa20('0x1d')];var _0x30d409=_0x403c80?_0x45d65a[_0xfa20('0x20')]:_0x5293db['offset']+_0x5293db[_0xfa20('0x1f')];var _0x117761;if(_0x30d409>=_0x3acc2d){_0x30d409=_0x3acc2d;_0x117761=0xc8;}else{_0x117761=0xce;}_0x12377b[_0xfa20('0x1b')](_0x117761);return _0x12377b[_0xfa20('0x21')](_0xfa20('0x22'),_0x1b3377+'-'+_0x30d409+'/'+_0x3acc2d)[_0xfa20('0x23')](_0x45d65a);}return null;};}function patchUpdates(_0x4312a4){return function(_0x2b780d){try{jsonpatch[_0xfa20('0x24')](_0x2b780d,_0x4312a4,!![]);}catch(_0x1981d0){return BPromise[_0xfa20('0x25')](_0x1981d0);}return _0x2b780d[_0xfa20('0x26')]();};}function saveUpdates(_0x511e96,_0x159741){return function(_0x2a2dc9){if(_0x2a2dc9){return _0x2a2dc9[_0xfa20('0x27')](_0x511e96)[_0xfa20('0x28')](function(_0x3ed79f){return _0x3ed79f;});}return null;};}function removeEntity(_0x4184e5,_0x1859ae){return function(_0x1e22ca){if(_0x1e22ca){return _0x1e22ca[_0xfa20('0x29')]()[_0xfa20('0x28')](function(){_0x4184e5['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2f6e98,_0xf1ce30){return function(_0x5d8744){if(!_0x5d8744){_0x2f6e98[_0xfa20('0x1a')](0x194);}return _0x5d8744;};}function handleError(_0x339773,_0x3975a3){_0x3975a3=_0x3975a3||0x1f4;return function(_0x556eac){logger['error'](_0x556eac[_0xfa20('0x2a')]);if(_0x556eac[_0xfa20('0x2b')]){delete _0x556eac[_0xfa20('0x2b')];}_0x339773[_0xfa20('0x1b')](_0x3975a3)[_0xfa20('0x2c')](_0x556eac);};}exports[_0xfa20('0x2d')]=function(_0x216563,_0x5e857b){var _0xa348cf={},_0x53075a={},_0x98b9a0={'count':0x0,'rows':[]};var _0x34f76c=_[_0xfa20('0x2e')](db[_0xfa20('0x2f')]['rawAttributes'],function(_0x4dcd59){return{'name':_0x4dcd59[_0xfa20('0x30')],'type':_0x4dcd59['type'][_0xfa20('0x31')]};});_0x53075a[_0xfa20('0x32')]=_[_0xfa20('0x2e')](_0x34f76c,_0xfa20('0x2b'));_0x53075a['query']=_[_0xfa20('0x33')](_0x216563[_0xfa20('0x34')]);_0x53075a[_0xfa20('0x35')]=_['intersection'](_0x53075a[_0xfa20('0x32')],_0x53075a[_0xfa20('0x34')]);_0xa348cf['attributes']=_[_0xfa20('0x36')](_0x53075a['model'],qs[_0xfa20('0x37')](_0x216563[_0xfa20('0x34')][_0xfa20('0x37')]));_0xa348cf[_0xfa20('0x38')]=_0xa348cf[_0xfa20('0x38')][_0xfa20('0x39')]?_0xa348cf['attributes']:_0x53075a[_0xfa20('0x32')];if(!_0x216563[_0xfa20('0x34')][_0xfa20('0x3a')](_0xfa20('0x3b'))){_0xa348cf[_0xfa20('0x1f')]=qs[_0xfa20('0x1f')](_0x216563[_0xfa20('0x34')][_0xfa20('0x1f')]);_0xa348cf['offset']=qs[_0xfa20('0x1d')](_0x216563[_0xfa20('0x34')][_0xfa20('0x1d')]);}_0xa348cf[_0xfa20('0x3c')]=qs[_0xfa20('0x3d')](_0x216563['query'][_0xfa20('0x3d')]);_0xa348cf['where']=qs[_0xfa20('0x35')](_[_0xfa20('0x3e')](_0x216563['query'],_0x53075a[_0xfa20('0x35')]),_0x34f76c);if(_0x216563['query']['filter']){_0xa348cf[_0xfa20('0x3f')]=_[_0xfa20('0x40')](_0xa348cf[_0xfa20('0x3f')],{'$or':_['map'](_0x34f76c,function(_0x1b1249){if(_0x1b1249[_0xfa20('0x41')]!==_0xfa20('0x42')){var _0xef294c={};_0xef294c[_0x1b1249[_0xfa20('0x2b')]]={'$like':'%'+_0x216563['query'][_0xfa20('0x43')]+'%'};return _0xef294c;}})});}_0xa348cf=_[_0xfa20('0x40')]({},_0xa348cf,_0x216563[_0xfa20('0x44')]);var _0x1610d5={'where':_0xa348cf['where']};return db[_0xfa20('0x2f')][_0xfa20('0x20')](_0x1610d5)[_0xfa20('0x28')](function(_0x115a77){_0x98b9a0['count']=_0x115a77;if(_0x216563[_0xfa20('0x34')]['includeAll']){_0xa348cf[_0xfa20('0x45')]=[{'all':!![]}];}return db[_0xfa20('0x2f')][_0xfa20('0x46')](_0xa348cf);})[_0xfa20('0x28')](function(_0x333b3a){_0x98b9a0[_0xfa20('0x47')]=_0x333b3a;return _0x98b9a0;})['then'](respondWithFilteredResult(_0x5e857b,_0xa348cf))[_0xfa20('0x48')](handleError(_0x5e857b,null));};exports[_0xfa20('0x49')]=function(_0x56557f,_0x1efb54){var _0x54d861={'raw':!![],'where':{'id':_0x56557f[_0xfa20('0x4a')]['id']}},_0x5afdea={};_0x5afdea[_0xfa20('0x32')]=_[_0xfa20('0x33')](db[_0xfa20('0x2f')]['rawAttributes']);_0x5afdea[_0xfa20('0x34')]=_[_0xfa20('0x33')](_0x56557f[_0xfa20('0x34')]);_0x5afdea[_0xfa20('0x35')]=_['intersection'](_0x5afdea[_0xfa20('0x32')],_0x5afdea['query']);_0x54d861[_0xfa20('0x38')]=_[_0xfa20('0x36')](_0x5afdea[_0xfa20('0x32')],qs[_0xfa20('0x37')](_0x56557f[_0xfa20('0x34')][_0xfa20('0x37')]));_0x54d861[_0xfa20('0x38')]=_0x54d861['attributes']['length']?_0x54d861[_0xfa20('0x38')]:_0x5afdea[_0xfa20('0x32')];if(_0x56557f[_0xfa20('0x34')][_0xfa20('0x4b')]){_0x54d861[_0xfa20('0x45')]=[{'all':!![]}];}_0x54d861=_[_0xfa20('0x40')]({},_0x54d861,_0x56557f[_0xfa20('0x44')]);return db[_0xfa20('0x2f')][_0xfa20('0x4c')](_0x54d861)[_0xfa20('0x28')](handleEntityNotFound(_0x1efb54,null))[_0xfa20('0x28')](respondWithResult(_0x1efb54,null))[_0xfa20('0x48')](handleError(_0x1efb54,null));};exports[_0xfa20('0x4d')]=function(_0x4279ab,_0x1c070d){return db['VoiceTransferReport'][_0xfa20('0x4d')](_0x4279ab[_0xfa20('0x4e')],{})[_0xfa20('0x28')](respondWithResult(_0x1c070d,0xc9))[_0xfa20('0x48')](handleError(_0x1c070d,null));};exports['update']=function(_0x2fdb57,_0x29a9bf){if(_0x2fdb57[_0xfa20('0x4e')]['id']){delete _0x2fdb57[_0xfa20('0x4e')]['id'];}return db[_0xfa20('0x2f')]['find']({'where':{'id':_0x2fdb57[_0xfa20('0x4a')]['id']}})[_0xfa20('0x28')](handleEntityNotFound(_0x29a9bf,null))['then'](saveUpdates(_0x2fdb57['body'],null))[_0xfa20('0x28')](respondWithResult(_0x29a9bf,null))[_0xfa20('0x48')](handleError(_0x29a9bf,null));};exports['destroy']=function(_0x33633a,_0x7399f){return db[_0xfa20('0x2f')][_0xfa20('0x4c')]({'where':{'id':_0x33633a[_0xfa20('0x4a')]['id']}})['then'](handleEntityNotFound(_0x7399f,null))[_0xfa20('0x28')](removeEntity(_0x7399f,null))[_0xfa20('0x48')](handleError(_0x7399f,null));};exports[_0xfa20('0x4f')]=function(_0x46635d,_0x339298){return db['VoiceTransferReport'][_0xfa20('0x4f')]()['then'](respondWithResult(_0x339298,null))[_0xfa20('0x48')](handleError(_0x339298,null));};