5f983e2912fd2ddb575096238bf8a3822c9cd626
[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 _0x4ca5=['rows','catch','show','params','include','find','create','body','describe','eml-format','rimraf','zip-dir','moment','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','Content-Range','reject','update','then','destroy','error','stack','name','send','index','map','ChatTransferReport','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','findAll'];(function(_0xdbe7d0,_0xed8d24){var _0x3e0b06=function(_0x157d2d){while(--_0x157d2d){_0xdbe7d0['push'](_0xdbe7d0['shift']());}};_0x3e0b06(++_0xed8d24);}(_0x4ca5,0x12d));var _0x54ca=function(_0x385d18,_0x45af5e){_0x385d18=_0x385d18-0x0;var _0x1cbae0=_0x4ca5[_0x385d18];return _0x1cbae0;};'use strict';var emlformat=require(_0x54ca('0x0'));var rimraf=require(_0x54ca('0x1'));var zipdir=require(_0x54ca('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x54ca('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x54ca('0x4'));var util=require(_0x54ca('0x5'));var path=require(_0x54ca('0x6'));var sox=require(_0x54ca('0x7'));var csv=require(_0x54ca('0x8'));var ejs=require(_0x54ca('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x54ca('0xa'));var crypto=require(_0x54ca('0xb'));var jsforce=require(_0x54ca('0xc'));var deskjs=require(_0x54ca('0xd'));var toCsv=require(_0x54ca('0x8'));var querystring=require(_0x54ca('0xe'));var Papa=require(_0x54ca('0xf'));var Redis=require(_0x54ca('0x10'));var authService=require(_0x54ca('0x11'));var qs=require(_0x54ca('0x12'));var as=require(_0x54ca('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x54ca('0x14'))(_0x54ca('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x54ca('0x16'))['db'];function respondWithStatusCode(_0x3a5333,_0x45c2c1){_0x45c2c1=_0x45c2c1||0xcc;return function(_0x230ef3){if(_0x230ef3){return _0x3a5333[_0x54ca('0x17')](_0x45c2c1);}return _0x3a5333[_0x54ca('0x18')](_0x45c2c1)['end']();};}function respondWithResult(_0x2d8da1,_0x4db23f){_0x4db23f=_0x4db23f||0xc8;return function(_0x487c20){if(_0x487c20){return _0x2d8da1['status'](_0x4db23f)[_0x54ca('0x19')](_0x487c20);}};}function respondWithFilteredResult(_0x5ac66b,_0x3ae333){return function(_0xa392eb){if(_0xa392eb){var _0x257697=typeof _0x3ae333[_0x54ca('0x1a')]===_0x54ca('0x1b')&&typeof _0x3ae333[_0x54ca('0x1c')]===_0x54ca('0x1b');var _0x17c51e=_0xa392eb[_0x54ca('0x1d')];var _0x53af8a=_0x257697?0x0:_0x3ae333[_0x54ca('0x1a')];var _0x1bb6db=_0x257697?_0xa392eb[_0x54ca('0x1d')]:_0x3ae333[_0x54ca('0x1a')]+_0x3ae333['limit'];var _0x2f1532;if(_0x1bb6db>=_0x17c51e){_0x1bb6db=_0x17c51e;_0x2f1532=0xc8;}else{_0x2f1532=0xce;}_0x5ac66b[_0x54ca('0x18')](_0x2f1532);return _0x5ac66b['set'](_0x54ca('0x1e'),_0x53af8a+'-'+_0x1bb6db+'/'+_0x17c51e)[_0x54ca('0x19')](_0xa392eb);}return null;};}function patchUpdates(_0x2dec11){return function(_0x6e438c){try{jsonpatch['apply'](_0x6e438c,_0x2dec11,!![]);}catch(_0x5b4df5){return BPromise[_0x54ca('0x1f')](_0x5b4df5);}return _0x6e438c['save']();};}function saveUpdates(_0x1cd707,_0x49f575){return function(_0x33a80a){if(_0x33a80a){return _0x33a80a[_0x54ca('0x20')](_0x1cd707)[_0x54ca('0x21')](function(_0x344a86){return _0x344a86;});}return null;};}function removeEntity(_0x23843b,_0x44a477){return function(_0x2469e8){if(_0x2469e8){return _0x2469e8[_0x54ca('0x22')]()['then'](function(){_0x23843b[_0x54ca('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4b5c11,_0x3df4f8){return function(_0x3a08e2){if(!_0x3a08e2){_0x4b5c11['sendStatus'](0x194);}return _0x3a08e2;};}function handleError(_0x3e014c,_0x52b21a){_0x52b21a=_0x52b21a||0x1f4;return function(_0x5a98e3){logger[_0x54ca('0x23')](_0x5a98e3[_0x54ca('0x24')]);if(_0x5a98e3[_0x54ca('0x25')]){delete _0x5a98e3[_0x54ca('0x25')];}_0x3e014c[_0x54ca('0x18')](_0x52b21a)[_0x54ca('0x26')](_0x5a98e3);};}exports[_0x54ca('0x27')]=function(_0x31cd15,_0xae3b57){var _0x5b85ac={},_0x76571f={},_0x5db1e6={'count':0x0,'rows':[]};var _0x366249=_[_0x54ca('0x28')](db[_0x54ca('0x29')]['rawAttributes'],function(_0x28d7cf){return{'name':_0x28d7cf[_0x54ca('0x2a')],'type':_0x28d7cf[_0x54ca('0x2b')][_0x54ca('0x2c')]};});_0x76571f[_0x54ca('0x2d')]=_[_0x54ca('0x28')](_0x366249,'name');_0x76571f[_0x54ca('0x2e')]=_[_0x54ca('0x2f')](_0x31cd15[_0x54ca('0x2e')]);_0x76571f[_0x54ca('0x30')]=_[_0x54ca('0x31')](_0x76571f[_0x54ca('0x2d')],_0x76571f[_0x54ca('0x2e')]);_0x5b85ac[_0x54ca('0x32')]=_[_0x54ca('0x31')](_0x76571f[_0x54ca('0x2d')],qs[_0x54ca('0x33')](_0x31cd15['query'][_0x54ca('0x33')]));_0x5b85ac[_0x54ca('0x32')]=_0x5b85ac['attributes'][_0x54ca('0x34')]?_0x5b85ac['attributes']:_0x76571f[_0x54ca('0x2d')];if(!_0x31cd15['query'][_0x54ca('0x35')](_0x54ca('0x36'))){_0x5b85ac[_0x54ca('0x1c')]=qs[_0x54ca('0x1c')](_0x31cd15['query'][_0x54ca('0x1c')]);_0x5b85ac[_0x54ca('0x1a')]=qs[_0x54ca('0x1a')](_0x31cd15[_0x54ca('0x2e')][_0x54ca('0x1a')]);}_0x5b85ac['order']=qs['sort'](_0x31cd15[_0x54ca('0x2e')][_0x54ca('0x37')]);_0x5b85ac['where']=qs[_0x54ca('0x30')](_[_0x54ca('0x38')](_0x31cd15[_0x54ca('0x2e')],_0x76571f[_0x54ca('0x30')]),_0x366249);if(_0x31cd15[_0x54ca('0x2e')][_0x54ca('0x39')]){_0x5b85ac[_0x54ca('0x3a')]=_[_0x54ca('0x3b')](_0x5b85ac['where'],{'$or':_[_0x54ca('0x28')](_0x366249,function(_0x28e733){if(_0x28e733[_0x54ca('0x2b')]!==_0x54ca('0x3c')){var _0x418d46={};_0x418d46[_0x28e733[_0x54ca('0x25')]]={'$like':'%'+_0x31cd15[_0x54ca('0x2e')][_0x54ca('0x39')]+'%'};return _0x418d46;}})});}_0x5b85ac=_[_0x54ca('0x3b')]({},_0x5b85ac,_0x31cd15[_0x54ca('0x3d')]);var _0x3b8c8c={'where':_0x5b85ac[_0x54ca('0x3a')]};return db[_0x54ca('0x29')][_0x54ca('0x1d')](_0x3b8c8c)[_0x54ca('0x21')](function(_0x15772b){_0x5db1e6[_0x54ca('0x1d')]=_0x15772b;if(_0x31cd15[_0x54ca('0x2e')][_0x54ca('0x3e')]){_0x5b85ac['include']=[{'all':!![]}];}return db[_0x54ca('0x29')][_0x54ca('0x3f')](_0x5b85ac);})['then'](function(_0x29708f){_0x5db1e6[_0x54ca('0x40')]=_0x29708f;return _0x5db1e6;})[_0x54ca('0x21')](respondWithFilteredResult(_0xae3b57,_0x5b85ac))[_0x54ca('0x41')](handleError(_0xae3b57,null));};exports[_0x54ca('0x42')]=function(_0x94c54c,_0x84f36f){var _0x19091d={'raw':!![],'where':{'id':_0x94c54c[_0x54ca('0x43')]['id']}},_0x5ba6dd={};_0x5ba6dd[_0x54ca('0x2d')]=_[_0x54ca('0x2f')](db[_0x54ca('0x29')]['rawAttributes']);_0x5ba6dd['query']=_[_0x54ca('0x2f')](_0x94c54c['query']);_0x5ba6dd[_0x54ca('0x30')]=_[_0x54ca('0x31')](_0x5ba6dd['model'],_0x5ba6dd['query']);_0x19091d['attributes']=_[_0x54ca('0x31')](_0x5ba6dd['model'],qs[_0x54ca('0x33')](_0x94c54c[_0x54ca('0x2e')][_0x54ca('0x33')]));_0x19091d[_0x54ca('0x32')]=_0x19091d[_0x54ca('0x32')]['length']?_0x19091d['attributes']:_0x5ba6dd[_0x54ca('0x2d')];if(_0x94c54c[_0x54ca('0x2e')][_0x54ca('0x3e')]){_0x19091d[_0x54ca('0x44')]=[{'all':!![]}];}_0x19091d=_[_0x54ca('0x3b')]({},_0x19091d,_0x94c54c[_0x54ca('0x3d')]);return db[_0x54ca('0x29')][_0x54ca('0x45')](_0x19091d)['then'](handleEntityNotFound(_0x84f36f,null))[_0x54ca('0x21')](respondWithResult(_0x84f36f,null))[_0x54ca('0x41')](handleError(_0x84f36f,null));};exports[_0x54ca('0x46')]=function(_0x276429,_0x882070){return db['ChatTransferReport'][_0x54ca('0x46')](_0x276429[_0x54ca('0x47')],{})[_0x54ca('0x21')](respondWithResult(_0x882070,0xc9))[_0x54ca('0x41')](handleError(_0x882070,null));};exports['update']=function(_0x57c639,_0x49bcbf){if(_0x57c639['body']['id']){delete _0x57c639[_0x54ca('0x47')]['id'];}return db[_0x54ca('0x29')][_0x54ca('0x45')]({'where':{'id':_0x57c639['params']['id']}})[_0x54ca('0x21')](handleEntityNotFound(_0x49bcbf,null))[_0x54ca('0x21')](saveUpdates(_0x57c639['body'],null))[_0x54ca('0x21')](respondWithResult(_0x49bcbf,null))['catch'](handleError(_0x49bcbf,null));};exports[_0x54ca('0x22')]=function(_0x262c42,_0x3beb90){return db[_0x54ca('0x29')][_0x54ca('0x45')]({'where':{'id':_0x262c42[_0x54ca('0x43')]['id']}})[_0x54ca('0x21')](handleEntityNotFound(_0x3beb90,null))[_0x54ca('0x21')](removeEntity(_0x3beb90,null))[_0x54ca('0x41')](handleError(_0x3beb90,null));};exports[_0x54ca('0x48')]=function(_0x4429e0,_0x3151e4){return db[_0x54ca('0x29')]['describe']()[_0x54ca('0x21')](respondWithResult(_0x3151e4,null))[_0x54ca('0x41')](handleError(_0x3151e4,null));};