7303ca33e72395d02f79bebd23a8adb6f698cd1e
[motion2.git] / server / api / chatTransferReport / chatTransferReport.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 _0xd90d=['count','offset','set','Content-Range','apply','reject','update','destroy','error','name','send','index','map','ChatTransferReport','rawAttributes','fieldName','key','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','then','rows','show','params','length','find','catch','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','limit'];(function(_0x21f200,_0x462df1){var _0xa9d125=function(_0x232b28){while(--_0x232b28){_0x21f200['push'](_0x21f200['shift']());}};_0xa9d125(++_0x462df1);}(_0xd90d,0x1b4));var _0xdd90=function(_0x54d4a8,_0x585a59){_0x54d4a8=_0x54d4a8-0x0;var _0x3b321b=_0xd90d[_0x54d4a8];return _0x3b321b;};'use strict';var emlformat=require(_0xdd90('0x0'));var rimraf=require(_0xdd90('0x1'));var zipdir=require(_0xdd90('0x2'));var jsonpatch=require(_0xdd90('0x3'));var rp=require(_0xdd90('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xdd90('0x5'));var util=require(_0xdd90('0x6'));var path=require(_0xdd90('0x7'));var sox=require('sox');var csv=require(_0xdd90('0x8'));var ejs=require(_0xdd90('0x9'));var fs=require('fs');var fs_extra=require(_0xdd90('0xa'));var _=require(_0xdd90('0xb'));var squel=require(_0xdd90('0xc'));var crypto=require('crypto');var jsforce=require(_0xdd90('0xd'));var deskjs=require(_0xdd90('0xe'));var toCsv=require(_0xdd90('0x8'));var querystring=require(_0xdd90('0xf'));var Papa=require('papaparse');var Redis=require(_0xdd90('0x10'));var authService=require(_0xdd90('0x11'));var qs=require(_0xdd90('0x12'));var as=require(_0xdd90('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xdd90('0x14'))(_0xdd90('0x15'));var utils=require(_0xdd90('0x16'));var config=require(_0xdd90('0x17'));var licenseUtil=require(_0xdd90('0x18'));var db=require(_0xdd90('0x19'))['db'];function respondWithStatusCode(_0x52b4fd,_0x34d765){_0x34d765=_0x34d765||0xcc;return function(_0x268dfd){if(_0x268dfd){return _0x52b4fd[_0xdd90('0x1a')](_0x34d765);}return _0x52b4fd['status'](_0x34d765)[_0xdd90('0x1b')]();};}function respondWithResult(_0x4adfd0,_0x419624){_0x419624=_0x419624||0xc8;return function(_0x33ce77){if(_0x33ce77){return _0x4adfd0[_0xdd90('0x1c')](_0x419624)[_0xdd90('0x1d')](_0x33ce77);}};}function respondWithFilteredResult(_0x10c624,_0x5c0d0b){return function(_0x3f8ac2){if(_0x3f8ac2){var _0x456757=typeof _0x5c0d0b['offset']===_0xdd90('0x1e')&&typeof _0x5c0d0b[_0xdd90('0x1f')]==='undefined';var _0x4960e8=_0x3f8ac2[_0xdd90('0x20')];var _0x23073d=_0x456757?0x0:_0x5c0d0b[_0xdd90('0x21')];var _0x35a4f9=_0x456757?_0x3f8ac2[_0xdd90('0x20')]:_0x5c0d0b[_0xdd90('0x21')]+_0x5c0d0b[_0xdd90('0x1f')];var _0x3752d6;if(_0x35a4f9>=_0x4960e8){_0x35a4f9=_0x4960e8;_0x3752d6=0xc8;}else{_0x3752d6=0xce;}_0x10c624['status'](_0x3752d6);return _0x10c624[_0xdd90('0x22')](_0xdd90('0x23'),_0x23073d+'-'+_0x35a4f9+'/'+_0x4960e8)[_0xdd90('0x1d')](_0x3f8ac2);}return null;};}function patchUpdates(_0x4c1164){return function(_0x57197a){try{jsonpatch[_0xdd90('0x24')](_0x57197a,_0x4c1164,!![]);}catch(_0x2679d5){return BPromise[_0xdd90('0x25')](_0x2679d5);}return _0x57197a['save']();};}function saveUpdates(_0x3d820b,_0x23a839){return function(_0x279ccd){if(_0x279ccd){return _0x279ccd[_0xdd90('0x26')](_0x3d820b)['then'](function(_0x2d625a){return _0x2d625a;});}return null;};}function removeEntity(_0x4b1276,_0x7d3888){return function(_0x1cdb11){if(_0x1cdb11){return _0x1cdb11[_0xdd90('0x27')]()['then'](function(){_0x4b1276[_0xdd90('0x1c')](0xcc)[_0xdd90('0x1b')]();});}};}function handleEntityNotFound(_0x2c3375,_0x3de445){return function(_0x1b5a6e){if(!_0x1b5a6e){_0x2c3375[_0xdd90('0x1a')](0x194);}return _0x1b5a6e;};}function handleError(_0x4439d9,_0xa1bf51){_0xa1bf51=_0xa1bf51||0x1f4;return function(_0x52f121){logger[_0xdd90('0x28')](_0x52f121['stack']);if(_0x52f121[_0xdd90('0x29')]){delete _0x52f121[_0xdd90('0x29')];}_0x4439d9[_0xdd90('0x1c')](_0xa1bf51)[_0xdd90('0x2a')](_0x52f121);};}exports[_0xdd90('0x2b')]=function(_0x4553b5,_0x481ade){var _0x22169c={},_0x41f7eb={},_0x42abd2={'count':0x0,'rows':[]};var _0x4f7aab=_[_0xdd90('0x2c')](db[_0xdd90('0x2d')][_0xdd90('0x2e')],function(_0x33a4e2){return{'name':_0x33a4e2[_0xdd90('0x2f')],'type':_0x33a4e2['type'][_0xdd90('0x30')]};});_0x41f7eb[_0xdd90('0x31')]=_['map'](_0x4f7aab,_0xdd90('0x29'));_0x41f7eb['query']=_[_0xdd90('0x32')](_0x4553b5[_0xdd90('0x33')]);_0x41f7eb[_0xdd90('0x34')]=_[_0xdd90('0x35')](_0x41f7eb[_0xdd90('0x31')],_0x41f7eb[_0xdd90('0x33')]);_0x22169c[_0xdd90('0x36')]=_['intersection'](_0x41f7eb[_0xdd90('0x31')],qs[_0xdd90('0x37')](_0x4553b5['query'][_0xdd90('0x37')]));_0x22169c[_0xdd90('0x36')]=_0x22169c[_0xdd90('0x36')]['length']?_0x22169c['attributes']:_0x41f7eb['model'];if(!_0x4553b5['query'][_0xdd90('0x38')](_0xdd90('0x39'))){_0x22169c['limit']=qs[_0xdd90('0x1f')](_0x4553b5[_0xdd90('0x33')][_0xdd90('0x1f')]);_0x22169c['offset']=qs['offset'](_0x4553b5[_0xdd90('0x33')]['offset']);}_0x22169c['order']=qs['sort'](_0x4553b5[_0xdd90('0x33')][_0xdd90('0x3a')]);_0x22169c[_0xdd90('0x3b')]=qs[_0xdd90('0x34')](_['pick'](_0x4553b5[_0xdd90('0x33')],_0x41f7eb[_0xdd90('0x34')]),_0x4f7aab);if(_0x4553b5[_0xdd90('0x33')][_0xdd90('0x3c')]){_0x22169c[_0xdd90('0x3b')]=_[_0xdd90('0x3d')](_0x22169c[_0xdd90('0x3b')],{'$or':_[_0xdd90('0x2c')](_0x4f7aab,function(_0x29fb32){if(_0x29fb32[_0xdd90('0x3e')]!==_0xdd90('0x3f')){var _0x513702={};_0x513702[_0x29fb32[_0xdd90('0x29')]]={'$like':'%'+_0x4553b5[_0xdd90('0x33')][_0xdd90('0x3c')]+'%'};return _0x513702;}})});}_0x22169c=_[_0xdd90('0x3d')]({},_0x22169c,_0x4553b5[_0xdd90('0x40')]);var _0xfef63c={'where':_0x22169c['where']};return db[_0xdd90('0x2d')][_0xdd90('0x20')](_0xfef63c)['then'](function(_0x51a307){_0x42abd2[_0xdd90('0x20')]=_0x51a307;if(_0x4553b5[_0xdd90('0x33')][_0xdd90('0x41')]){_0x22169c[_0xdd90('0x42')]=[{'all':!![]}];}return db['ChatTransferReport'][_0xdd90('0x43')](_0x22169c);})[_0xdd90('0x44')](function(_0x9cba7c){_0x42abd2[_0xdd90('0x45')]=_0x9cba7c;return _0x42abd2;})['then'](respondWithFilteredResult(_0x481ade,_0x22169c))['catch'](handleError(_0x481ade,null));};exports[_0xdd90('0x46')]=function(_0x4e4642,_0x56c806){var _0x29b14f={'raw':!![],'where':{'id':_0x4e4642[_0xdd90('0x47')]['id']}},_0xe63bc9={};_0xe63bc9[_0xdd90('0x31')]=_[_0xdd90('0x32')](db['ChatTransferReport'][_0xdd90('0x2e')]);_0xe63bc9['query']=_[_0xdd90('0x32')](_0x4e4642['query']);_0xe63bc9[_0xdd90('0x34')]=_[_0xdd90('0x35')](_0xe63bc9['model'],_0xe63bc9[_0xdd90('0x33')]);_0x29b14f[_0xdd90('0x36')]=_['intersection'](_0xe63bc9['model'],qs[_0xdd90('0x37')](_0x4e4642[_0xdd90('0x33')][_0xdd90('0x37')]));_0x29b14f[_0xdd90('0x36')]=_0x29b14f[_0xdd90('0x36')][_0xdd90('0x48')]?_0x29b14f[_0xdd90('0x36')]:_0xe63bc9[_0xdd90('0x31')];if(_0x4e4642['query']['includeAll']){_0x29b14f[_0xdd90('0x42')]=[{'all':!![]}];}_0x29b14f=_[_0xdd90('0x3d')]({},_0x29b14f,_0x4e4642['options']);return db[_0xdd90('0x2d')][_0xdd90('0x49')](_0x29b14f)[_0xdd90('0x44')](handleEntityNotFound(_0x56c806,null))['then'](respondWithResult(_0x56c806,null))[_0xdd90('0x4a')](handleError(_0x56c806,null));};exports[_0xdd90('0x4b')]=function(_0x3798c1,_0x27ce1d){return db['ChatTransferReport']['create'](_0x3798c1['body'],{})[_0xdd90('0x44')](respondWithResult(_0x27ce1d,0xc9))['catch'](handleError(_0x27ce1d,null));};exports[_0xdd90('0x26')]=function(_0x4517ca,_0x4015d6){if(_0x4517ca[_0xdd90('0x4c')]['id']){delete _0x4517ca['body']['id'];}return db['ChatTransferReport'][_0xdd90('0x49')]({'where':{'id':_0x4517ca['params']['id']}})[_0xdd90('0x44')](handleEntityNotFound(_0x4015d6,null))[_0xdd90('0x44')](saveUpdates(_0x4517ca[_0xdd90('0x4c')],null))[_0xdd90('0x44')](respondWithResult(_0x4015d6,null))[_0xdd90('0x4a')](handleError(_0x4015d6,null));};exports[_0xdd90('0x27')]=function(_0x9bc4c2,_0x12c26a){return db[_0xdd90('0x2d')]['find']({'where':{'id':_0x9bc4c2[_0xdd90('0x47')]['id']}})['then'](handleEntityNotFound(_0x12c26a,null))['then'](removeEntity(_0x12c26a,null))[_0xdd90('0x4a')](handleError(_0x12c26a,null));};exports[_0xdd90('0x4d')]=function(_0x24310f,_0x4ec41b){return db[_0xdd90('0x2d')]['describe']()[_0xdd90('0x44')](respondWithResult(_0x4ec41b,null))['catch'](handleError(_0x4ec41b,null));};