c5b2a0b746bea5b3542ce6ddf3b20421110791b7
[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 _0xa548=['model','query','fields','attributes','length','hasOwnProperty','nolimit','order','sort','filters','pick','merge','where','filter','include','findAll','rows','catch','show','params','keys','intersection','find','create','body','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','set','reject','save','update','then','sendStatus','stack','name','send','index','map','ChatTransferReport','rawAttributes','fieldName','type','key'];(function(_0x46f748,_0xa5090){var _0x2c0a18=function(_0x9c2107){while(--_0x9c2107){_0x46f748['push'](_0x46f748['shift']());}};_0x2c0a18(++_0xa5090);}(_0xa548,0x1d1));var _0x8a54=function(_0x335c60,_0x5de075){_0x335c60=_0x335c60-0x0;var _0x422fcf=_0xa548[_0x335c60];return _0x422fcf;};'use strict';var emlformat=require(_0x8a54('0x0'));var rimraf=require(_0x8a54('0x1'));var zipdir=require(_0x8a54('0x2'));var jsonpatch=require(_0x8a54('0x3'));var rp=require(_0x8a54('0x4'));var moment=require(_0x8a54('0x5'));var BPromise=require(_0x8a54('0x6'));var Mustache=require(_0x8a54('0x7'));var util=require('util');var path=require(_0x8a54('0x8'));var sox=require(_0x8a54('0x9'));var csv=require('to-csv');var ejs=require(_0x8a54('0xa'));var fs=require('fs');var fs_extra=require(_0x8a54('0xb'));var _=require(_0x8a54('0xc'));var squel=require(_0x8a54('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x8a54('0xe'));var toCsv=require('to-csv');var querystring=require(_0x8a54('0xf'));var Papa=require(_0x8a54('0x10'));var Redis=require(_0x8a54('0x11'));var authService=require(_0x8a54('0x12'));var qs=require(_0x8a54('0x13'));var as=require(_0x8a54('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x8a54('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x8a54('0x16'));var db=require(_0x8a54('0x17'))['db'];function respondWithStatusCode(_0x2cd14c,_0x547a4c){_0x547a4c=_0x547a4c||0xcc;return function(_0x20a55d){if(_0x20a55d){return _0x2cd14c['sendStatus'](_0x547a4c);}return _0x2cd14c['status'](_0x547a4c)['end']();};}function respondWithResult(_0x11bc20,_0x3c2e51){_0x3c2e51=_0x3c2e51||0xc8;return function(_0x152022){if(_0x152022){return _0x11bc20[_0x8a54('0x18')](_0x3c2e51)[_0x8a54('0x19')](_0x152022);}};}function respondWithFilteredResult(_0x5cef6a,_0x3ec3b8){return function(_0x1d83ea){if(_0x1d83ea){var _0x179ef8=typeof _0x3ec3b8[_0x8a54('0x1a')]===_0x8a54('0x1b')&&typeof _0x3ec3b8[_0x8a54('0x1c')]===_0x8a54('0x1b');var _0x970539=_0x1d83ea['count'];var _0x42d8ac=_0x179ef8?0x0:_0x3ec3b8[_0x8a54('0x1a')];var _0x290c40=_0x179ef8?_0x1d83ea[_0x8a54('0x1d')]:_0x3ec3b8[_0x8a54('0x1a')]+_0x3ec3b8[_0x8a54('0x1c')];var _0x292320;if(_0x290c40>=_0x970539){_0x290c40=_0x970539;_0x292320=0xc8;}else{_0x292320=0xce;}_0x5cef6a[_0x8a54('0x18')](_0x292320);return _0x5cef6a[_0x8a54('0x1e')]('Content-Range',_0x42d8ac+'-'+_0x290c40+'/'+_0x970539)[_0x8a54('0x19')](_0x1d83ea);}return null;};}function patchUpdates(_0x2d694a){return function(_0x1d7536){try{jsonpatch['apply'](_0x1d7536,_0x2d694a,!![]);}catch(_0x2ba269){return BPromise[_0x8a54('0x1f')](_0x2ba269);}return _0x1d7536[_0x8a54('0x20')]();};}function saveUpdates(_0x563bdb,_0x338cbf){return function(_0x2c5363){if(_0x2c5363){return _0x2c5363[_0x8a54('0x21')](_0x563bdb)[_0x8a54('0x22')](function(_0x18e621){return _0x18e621;});}return null;};}function removeEntity(_0xd67a93,_0x2c608b){return function(_0xe3a5dd){if(_0xe3a5dd){return _0xe3a5dd['destroy']()[_0x8a54('0x22')](function(){_0xd67a93[_0x8a54('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0xb2f057,_0x922a4a){return function(_0x2e8dc6){if(!_0x2e8dc6){_0xb2f057[_0x8a54('0x23')](0x194);}return _0x2e8dc6;};}function handleError(_0x285038,_0x17e5e9){_0x17e5e9=_0x17e5e9||0x1f4;return function(_0x2c87f8){logger['error'](_0x2c87f8[_0x8a54('0x24')]);if(_0x2c87f8[_0x8a54('0x25')]){delete _0x2c87f8[_0x8a54('0x25')];}_0x285038[_0x8a54('0x18')](_0x17e5e9)[_0x8a54('0x26')](_0x2c87f8);};}exports[_0x8a54('0x27')]=function(_0x3ce89c,_0x34daed){var _0x2d2a9a={},_0x16fef1={},_0x4b9903={'count':0x0,'rows':[]};var _0x11b619=_[_0x8a54('0x28')](db[_0x8a54('0x29')][_0x8a54('0x2a')],function(_0x4306c2){return{'name':_0x4306c2[_0x8a54('0x2b')],'type':_0x4306c2[_0x8a54('0x2c')][_0x8a54('0x2d')]};});_0x16fef1[_0x8a54('0x2e')]=_[_0x8a54('0x28')](_0x11b619,_0x8a54('0x25'));_0x16fef1['query']=_['keys'](_0x3ce89c[_0x8a54('0x2f')]);_0x16fef1['filters']=_['intersection'](_0x16fef1['model'],_0x16fef1[_0x8a54('0x2f')]);_0x2d2a9a['attributes']=_['intersection'](_0x16fef1['model'],qs[_0x8a54('0x30')](_0x3ce89c[_0x8a54('0x2f')][_0x8a54('0x30')]));_0x2d2a9a['attributes']=_0x2d2a9a[_0x8a54('0x31')][_0x8a54('0x32')]?_0x2d2a9a[_0x8a54('0x31')]:_0x16fef1[_0x8a54('0x2e')];if(!_0x3ce89c[_0x8a54('0x2f')][_0x8a54('0x33')](_0x8a54('0x34'))){_0x2d2a9a[_0x8a54('0x1c')]=qs[_0x8a54('0x1c')](_0x3ce89c[_0x8a54('0x2f')]['limit']);_0x2d2a9a[_0x8a54('0x1a')]=qs[_0x8a54('0x1a')](_0x3ce89c[_0x8a54('0x2f')][_0x8a54('0x1a')]);}_0x2d2a9a[_0x8a54('0x35')]=qs[_0x8a54('0x36')](_0x3ce89c[_0x8a54('0x2f')][_0x8a54('0x36')]);_0x2d2a9a['where']=qs[_0x8a54('0x37')](_[_0x8a54('0x38')](_0x3ce89c[_0x8a54('0x2f')],_0x16fef1[_0x8a54('0x37')]),_0x11b619);if(_0x3ce89c[_0x8a54('0x2f')]['filter']){_0x2d2a9a['where']=_[_0x8a54('0x39')](_0x2d2a9a[_0x8a54('0x3a')],{'$or':_[_0x8a54('0x28')](_0x11b619,function(_0x4b5476){if(_0x4b5476[_0x8a54('0x2c')]!=='VIRTUAL'){var _0x1b2d73={};_0x1b2d73[_0x4b5476['name']]={'$like':'%'+_0x3ce89c[_0x8a54('0x2f')][_0x8a54('0x3b')]+'%'};return _0x1b2d73;}})});}_0x2d2a9a=_[_0x8a54('0x39')]({},_0x2d2a9a,_0x3ce89c['options']);var _0x25e66a={'where':_0x2d2a9a[_0x8a54('0x3a')]};return db[_0x8a54('0x29')][_0x8a54('0x1d')](_0x25e66a)[_0x8a54('0x22')](function(_0x43f02b){_0x4b9903[_0x8a54('0x1d')]=_0x43f02b;if(_0x3ce89c[_0x8a54('0x2f')]['includeAll']){_0x2d2a9a[_0x8a54('0x3c')]=[{'all':!![]}];}return db[_0x8a54('0x29')][_0x8a54('0x3d')](_0x2d2a9a);})['then'](function(_0x155547){_0x4b9903[_0x8a54('0x3e')]=_0x155547;return _0x4b9903;})['then'](respondWithFilteredResult(_0x34daed,_0x2d2a9a))[_0x8a54('0x3f')](handleError(_0x34daed,null));};exports[_0x8a54('0x40')]=function(_0x226c2e,_0x204fe1){var _0x1d0c11={'raw':!![],'where':{'id':_0x226c2e[_0x8a54('0x41')]['id']}},_0x22ca06={};_0x22ca06[_0x8a54('0x2e')]=_['keys'](db[_0x8a54('0x29')][_0x8a54('0x2a')]);_0x22ca06[_0x8a54('0x2f')]=_[_0x8a54('0x42')](_0x226c2e[_0x8a54('0x2f')]);_0x22ca06[_0x8a54('0x37')]=_[_0x8a54('0x43')](_0x22ca06[_0x8a54('0x2e')],_0x22ca06[_0x8a54('0x2f')]);_0x1d0c11[_0x8a54('0x31')]=_[_0x8a54('0x43')](_0x22ca06['model'],qs[_0x8a54('0x30')](_0x226c2e[_0x8a54('0x2f')]['fields']));_0x1d0c11['attributes']=_0x1d0c11[_0x8a54('0x31')][_0x8a54('0x32')]?_0x1d0c11[_0x8a54('0x31')]:_0x22ca06[_0x8a54('0x2e')];if(_0x226c2e[_0x8a54('0x2f')]['includeAll']){_0x1d0c11[_0x8a54('0x3c')]=[{'all':!![]}];}_0x1d0c11=_['merge']({},_0x1d0c11,_0x226c2e['options']);return db['ChatTransferReport'][_0x8a54('0x44')](_0x1d0c11)[_0x8a54('0x22')](handleEntityNotFound(_0x204fe1,null))[_0x8a54('0x22')](respondWithResult(_0x204fe1,null))[_0x8a54('0x3f')](handleError(_0x204fe1,null));};exports[_0x8a54('0x45')]=function(_0x1fbc6e,_0x2cbac2){return db[_0x8a54('0x29')][_0x8a54('0x45')](_0x1fbc6e[_0x8a54('0x46')],{})['then'](respondWithResult(_0x2cbac2,0xc9))[_0x8a54('0x3f')](handleError(_0x2cbac2,null));};exports[_0x8a54('0x21')]=function(_0x307d7e,_0x30a5e8){if(_0x307d7e[_0x8a54('0x46')]['id']){delete _0x307d7e[_0x8a54('0x46')]['id'];}return db[_0x8a54('0x29')][_0x8a54('0x44')]({'where':{'id':_0x307d7e[_0x8a54('0x41')]['id']}})[_0x8a54('0x22')](handleEntityNotFound(_0x30a5e8,null))[_0x8a54('0x22')](saveUpdates(_0x307d7e[_0x8a54('0x46')],null))[_0x8a54('0x22')](respondWithResult(_0x30a5e8,null))[_0x8a54('0x3f')](handleError(_0x30a5e8,null));};exports[_0x8a54('0x47')]=function(_0x217e7b,_0x5754a4){return db['ChatTransferReport'][_0x8a54('0x44')]({'where':{'id':_0x217e7b[_0x8a54('0x41')]['id']}})[_0x8a54('0x22')](handleEntityNotFound(_0x5754a4,null))['then'](removeEntity(_0x5754a4,null))['catch'](handleError(_0x5754a4,null));};exports[_0x8a54('0x48')]=function(_0x580bcf,_0x5bbcad){return db[_0x8a54('0x29')]['describe']()[_0x8a54('0x22')](respondWithResult(_0x5bbcad,null))[_0x8a54('0x3f')](handleError(_0x5bbcad,null));};