e3758db812bd033d9c941bd6d5d970574e0863db
[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 _0x7c2a=['map','ChatTransferReport','rawAttributes','type','key','model','query','keys','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','filter','merge','VIRTUAL','options','findAll','rows','catch','show','params','intersection','find','create','body','describe','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','undefined','limit','count','set','apply','reject','save','update','then','destroy','status','error','name','send'];(function(_0x5813d3,_0x40377c){var _0x5ab22c=function(_0x4a9c0c){while(--_0x4a9c0c){_0x5813d3['push'](_0x5813d3['shift']());}};_0x5ab22c(++_0x40377c);}(_0x7c2a,0x13e));var _0xa7c2=function(_0x2c83ee,_0x2736ed){_0x2c83ee=_0x2c83ee-0x0;var _0x349107=_0x7c2a[_0x2c83ee];return _0x349107;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xa7c2('0x0'));var rp=require(_0xa7c2('0x1'));var moment=require(_0xa7c2('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xa7c2('0x3'));var util=require(_0xa7c2('0x4'));var path=require(_0xa7c2('0x5'));var sox=require(_0xa7c2('0x6'));var csv=require(_0xa7c2('0x7'));var ejs=require(_0xa7c2('0x8'));var fs=require('fs');var fs_extra=require(_0xa7c2('0x9'));var _=require(_0xa7c2('0xa'));var squel=require(_0xa7c2('0xb'));var crypto=require(_0xa7c2('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xa7c2('0x7'));var querystring=require(_0xa7c2('0xd'));var Papa=require(_0xa7c2('0xe'));var Redis=require(_0xa7c2('0xf'));var authService=require(_0xa7c2('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa7c2('0x11'));var logger=require(_0xa7c2('0x12'))(_0xa7c2('0x13'));var utils=require(_0xa7c2('0x14'));var config=require(_0xa7c2('0x15'));var licenseUtil=require(_0xa7c2('0x16'));var db=require(_0xa7c2('0x17'))['db'];function respondWithStatusCode(_0x5c60e3,_0x59b973){_0x59b973=_0x59b973||0xcc;return function(_0x27676b){if(_0x27676b){return _0x5c60e3[_0xa7c2('0x18')](_0x59b973);}return _0x5c60e3['status'](_0x59b973)[_0xa7c2('0x19')]();};}function respondWithResult(_0x2b5724,_0x4ed3b2){_0x4ed3b2=_0x4ed3b2||0xc8;return function(_0x141a33){if(_0x141a33){return _0x2b5724['status'](_0x4ed3b2)[_0xa7c2('0x1a')](_0x141a33);}};}function respondWithFilteredResult(_0x490d36,_0x4222a8){return function(_0x3d7f3a){if(_0x3d7f3a){var _0x523331=typeof _0x4222a8[_0xa7c2('0x1b')]===_0xa7c2('0x1c')&&typeof _0x4222a8[_0xa7c2('0x1d')]==='undefined';var _0x2760ca=_0x3d7f3a[_0xa7c2('0x1e')];var _0x50a6cb=_0x523331?0x0:_0x4222a8[_0xa7c2('0x1b')];var _0xb87f6a=_0x523331?_0x3d7f3a['count']:_0x4222a8[_0xa7c2('0x1b')]+_0x4222a8[_0xa7c2('0x1d')];var _0x2f1069;if(_0xb87f6a>=_0x2760ca){_0xb87f6a=_0x2760ca;_0x2f1069=0xc8;}else{_0x2f1069=0xce;}_0x490d36['status'](_0x2f1069);return _0x490d36[_0xa7c2('0x1f')]('Content-Range',_0x50a6cb+'-'+_0xb87f6a+'/'+_0x2760ca)[_0xa7c2('0x1a')](_0x3d7f3a);}return null;};}function patchUpdates(_0x100153){return function(_0x10d24a){try{jsonpatch[_0xa7c2('0x20')](_0x10d24a,_0x100153,!![]);}catch(_0x50259a){return BPromise[_0xa7c2('0x21')](_0x50259a);}return _0x10d24a[_0xa7c2('0x22')]();};}function saveUpdates(_0x260dc5,_0x41c245){return function(_0x493044){if(_0x493044){return _0x493044[_0xa7c2('0x23')](_0x260dc5)[_0xa7c2('0x24')](function(_0x1e991a){return _0x1e991a;});}return null;};}function removeEntity(_0x2ded48,_0x4bf677){return function(_0x5b7646){if(_0x5b7646){return _0x5b7646[_0xa7c2('0x25')]()[_0xa7c2('0x24')](function(){_0x2ded48[_0xa7c2('0x26')](0xcc)[_0xa7c2('0x19')]();});}};}function handleEntityNotFound(_0x24acc8,_0x579c98){return function(_0xab21c4){if(!_0xab21c4){_0x24acc8[_0xa7c2('0x18')](0x194);}return _0xab21c4;};}function handleError(_0x2d1ecb,_0x41dae3){_0x41dae3=_0x41dae3||0x1f4;return function(_0x166ac4){logger[_0xa7c2('0x27')](_0x166ac4['stack']);if(_0x166ac4[_0xa7c2('0x28')]){delete _0x166ac4[_0xa7c2('0x28')];}_0x2d1ecb[_0xa7c2('0x26')](_0x41dae3)[_0xa7c2('0x29')](_0x166ac4);};}exports['index']=function(_0x2d1868,_0x470a1b){var _0x326a21={},_0x2e5428={},_0x76be57={'count':0x0,'rows':[]};var _0x2543a4=_[_0xa7c2('0x2a')](db[_0xa7c2('0x2b')][_0xa7c2('0x2c')],function(_0x23a9c8){return{'name':_0x23a9c8['fieldName'],'type':_0x23a9c8[_0xa7c2('0x2d')][_0xa7c2('0x2e')]};});_0x2e5428[_0xa7c2('0x2f')]=_['map'](_0x2543a4,_0xa7c2('0x28'));_0x2e5428[_0xa7c2('0x30')]=_[_0xa7c2('0x31')](_0x2d1868[_0xa7c2('0x30')]);_0x2e5428['filters']=_['intersection'](_0x2e5428[_0xa7c2('0x2f')],_0x2e5428[_0xa7c2('0x30')]);_0x326a21[_0xa7c2('0x32')]=_['intersection'](_0x2e5428[_0xa7c2('0x2f')],qs[_0xa7c2('0x33')](_0x2d1868[_0xa7c2('0x30')][_0xa7c2('0x33')]));_0x326a21[_0xa7c2('0x32')]=_0x326a21[_0xa7c2('0x32')][_0xa7c2('0x34')]?_0x326a21['attributes']:_0x2e5428[_0xa7c2('0x2f')];if(!_0x2d1868[_0xa7c2('0x30')][_0xa7c2('0x35')](_0xa7c2('0x36'))){_0x326a21[_0xa7c2('0x1d')]=qs[_0xa7c2('0x1d')](_0x2d1868[_0xa7c2('0x30')][_0xa7c2('0x1d')]);_0x326a21['offset']=qs['offset'](_0x2d1868['query'][_0xa7c2('0x1b')]);}_0x326a21['order']=qs[_0xa7c2('0x37')](_0x2d1868[_0xa7c2('0x30')][_0xa7c2('0x37')]);_0x326a21[_0xa7c2('0x38')]=qs['filters'](_['pick'](_0x2d1868['query'],_0x2e5428[_0xa7c2('0x39')]),_0x2543a4);if(_0x2d1868['query'][_0xa7c2('0x3a')]){_0x326a21[_0xa7c2('0x38')]=_[_0xa7c2('0x3b')](_0x326a21[_0xa7c2('0x38')],{'$or':_[_0xa7c2('0x2a')](_0x2543a4,function(_0x10de56){if(_0x10de56[_0xa7c2('0x2d')]!==_0xa7c2('0x3c')){var _0x13518e={};_0x13518e[_0x10de56[_0xa7c2('0x28')]]={'$like':'%'+_0x2d1868[_0xa7c2('0x30')]['filter']+'%'};return _0x13518e;}})});}_0x326a21=_[_0xa7c2('0x3b')]({},_0x326a21,_0x2d1868[_0xa7c2('0x3d')]);var _0x57d7cc={'where':_0x326a21['where']};return db[_0xa7c2('0x2b')][_0xa7c2('0x1e')](_0x57d7cc)[_0xa7c2('0x24')](function(_0x256ab8){_0x76be57[_0xa7c2('0x1e')]=_0x256ab8;if(_0x2d1868[_0xa7c2('0x30')]['includeAll']){_0x326a21['include']=[{'all':!![]}];}return db[_0xa7c2('0x2b')][_0xa7c2('0x3e')](_0x326a21);})[_0xa7c2('0x24')](function(_0x9a8e53){_0x76be57[_0xa7c2('0x3f')]=_0x9a8e53;return _0x76be57;})[_0xa7c2('0x24')](respondWithFilteredResult(_0x470a1b,_0x326a21))[_0xa7c2('0x40')](handleError(_0x470a1b,null));};exports[_0xa7c2('0x41')]=function(_0x5f14ea,_0x625dcd){var _0x30f045={'raw':!![],'where':{'id':_0x5f14ea[_0xa7c2('0x42')]['id']}},_0x1b2947={};_0x1b2947['model']=_[_0xa7c2('0x31')](db[_0xa7c2('0x2b')]['rawAttributes']);_0x1b2947[_0xa7c2('0x30')]=_['keys'](_0x5f14ea[_0xa7c2('0x30')]);_0x1b2947[_0xa7c2('0x39')]=_['intersection'](_0x1b2947[_0xa7c2('0x2f')],_0x1b2947['query']);_0x30f045[_0xa7c2('0x32')]=_[_0xa7c2('0x43')](_0x1b2947['model'],qs['fields'](_0x5f14ea[_0xa7c2('0x30')]['fields']));_0x30f045[_0xa7c2('0x32')]=_0x30f045[_0xa7c2('0x32')][_0xa7c2('0x34')]?_0x30f045[_0xa7c2('0x32')]:_0x1b2947[_0xa7c2('0x2f')];if(_0x5f14ea['query']['includeAll']){_0x30f045['include']=[{'all':!![]}];}_0x30f045=_[_0xa7c2('0x3b')]({},_0x30f045,_0x5f14ea['options']);return db[_0xa7c2('0x2b')][_0xa7c2('0x44')](_0x30f045)[_0xa7c2('0x24')](handleEntityNotFound(_0x625dcd,null))[_0xa7c2('0x24')](respondWithResult(_0x625dcd,null))['catch'](handleError(_0x625dcd,null));};exports[_0xa7c2('0x45')]=function(_0x56884c,_0x3bf24b){return db[_0xa7c2('0x2b')]['create'](_0x56884c['body'],{})[_0xa7c2('0x24')](respondWithResult(_0x3bf24b,0xc9))[_0xa7c2('0x40')](handleError(_0x3bf24b,null));};exports[_0xa7c2('0x23')]=function(_0x3ffa8b,_0x1161aa){if(_0x3ffa8b[_0xa7c2('0x46')]['id']){delete _0x3ffa8b[_0xa7c2('0x46')]['id'];}return db[_0xa7c2('0x2b')]['find']({'where':{'id':_0x3ffa8b[_0xa7c2('0x42')]['id']}})['then'](handleEntityNotFound(_0x1161aa,null))[_0xa7c2('0x24')](saveUpdates(_0x3ffa8b[_0xa7c2('0x46')],null))['then'](respondWithResult(_0x1161aa,null))[_0xa7c2('0x40')](handleError(_0x1161aa,null));};exports[_0xa7c2('0x25')]=function(_0x49af3e,_0x24ebf7){return db[_0xa7c2('0x2b')]['find']({'where':{'id':_0x49af3e[_0xa7c2('0x42')]['id']}})[_0xa7c2('0x24')](handleEntityNotFound(_0x24ebf7,null))[_0xa7c2('0x24')](removeEntity(_0x24ebf7,null))[_0xa7c2('0x40')](handleError(_0x24ebf7,null));};exports[_0xa7c2('0x47')]=function(_0x3d5dc1,_0x9736d2){return db['ChatTransferReport'][_0xa7c2('0x47')]()[_0xa7c2('0x24')](respondWithResult(_0x9736d2,null))[_0xa7c2('0x40')](handleError(_0x9736d2,null));};