e60c4f09ad961c7bab7e810101464b28952d8993
[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 _0x039d=['where','pick','filter','VIRTUAL','merge','includeAll','findAll','rows','catch','show','params','filtears','include','options','find','create','body','describe','eml-format','rimraf','fast-json-patch','request-promise','mustache','util','sox','squel','crypto','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','count','offset','limit','set','Content-Range','json','save','update','then','destroy','end','error','stack','name','send','index','map','ChatTransferReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort'];(function(_0x6a0266,_0x1552d6){var _0x309e00=function(_0x17c1d1){while(--_0x17c1d1){_0x6a0266['push'](_0x6a0266['shift']());}};_0x309e00(++_0x1552d6);}(_0x039d,0xf3));var _0xd039=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x039d[_0x321bb2];return _0x9c12ed;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd039('0x0'));var rimraf=require(_0xd039('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd039('0x2'));var rp=require(_0xd039('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xd039('0x4'));var util=require(_0xd039('0x5'));var path=require('path');var sox=require(_0xd039('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xd039('0x7'));var crypto=require(_0xd039('0x8'));var jsforce=require('jsforce');var deskjs=require(_0xd039('0x9'));var toCsv=require(_0xd039('0xa'));var querystring=require(_0xd039('0xb'));var Papa=require(_0xd039('0xc'));var Redis=require('ioredis');var authService=require(_0xd039('0xd'));var qs=require(_0xd039('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd039('0xf'));var logger=require(_0xd039('0x10'))(_0xd039('0x11'));var utils=require(_0xd039('0x12'));var config=require(_0xd039('0x13'));var licenseUtil=require(_0xd039('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x205989,_0x47bcfa){_0x47bcfa=_0x47bcfa||0xcc;return function(_0x4f873e){if(_0x4f873e){return _0x205989[_0xd039('0x15')](_0x47bcfa);}return _0x205989[_0xd039('0x16')](_0x47bcfa)['end']();};}function respondWithResult(_0x1891f0,_0x4aedc7){_0x4aedc7=_0x4aedc7||0xc8;return function(_0x247c7d){if(_0x247c7d){return _0x1891f0[_0xd039('0x16')](_0x4aedc7)['json'](_0x247c7d);}};}function respondWithFilteredResult(_0x4279c3,_0x4b61d3){return function(_0x293151){if(_0x293151){var _0xa1f1c1=_0x293151[_0xd039('0x17')],_0x4240d8=_0x4b61d3['offset'],_0x3e9a46=_0x4b61d3[_0xd039('0x18')]+_0x4b61d3[_0xd039('0x19')],_0x3db088;if(_0x3e9a46>=_0xa1f1c1){_0x3e9a46=_0xa1f1c1;_0x3db088=0xc8;}else{_0x3db088=0xce;}_0x4279c3[_0xd039('0x16')](_0x3db088);return _0x4279c3[_0xd039('0x1a')](_0xd039('0x1b'),_0x4240d8+'-'+_0x3e9a46+'/'+_0xa1f1c1)[_0xd039('0x1c')](_0x293151);}return null;};}function patchUpdates(_0x5931dd){return function(_0x519add){try{jsonpatch['apply'](_0x519add,_0x5931dd,!![]);}catch(_0x120ed9){return BPromise['reject'](_0x120ed9);}return _0x519add[_0xd039('0x1d')]();};}function saveUpdates(_0x493e0c,_0x316c44){return function(_0x5aa8fb){if(_0x5aa8fb){return _0x5aa8fb[_0xd039('0x1e')](_0x493e0c)[_0xd039('0x1f')](function(_0x2e2c47){return _0x2e2c47;});}return null;};}function removeEntity(_0x463ae5,_0x4a2560){return function(_0xfff432){if(_0xfff432){return _0xfff432[_0xd039('0x20')]()[_0xd039('0x1f')](function(){_0x463ae5[_0xd039('0x16')](0xcc)[_0xd039('0x21')]();});}};}function handleEntityNotFound(_0x9c663,_0x4c215b){return function(_0x51ec0d){if(!_0x51ec0d){_0x9c663[_0xd039('0x15')](0x194);}return _0x51ec0d;};}function handleError(_0x469f13,_0xcf3d81){_0xcf3d81=_0xcf3d81||0x1f4;return function(_0x1e4e6a){logger[_0xd039('0x22')](_0x1e4e6a[_0xd039('0x23')]);if(_0x1e4e6a['name']){delete _0x1e4e6a[_0xd039('0x24')];}_0x469f13['status'](_0xcf3d81)[_0xd039('0x25')](_0x1e4e6a);};}exports[_0xd039('0x26')]=function(_0x1f3642,_0xc13e2){var _0x1e2101={},_0x317e2e={},_0x7691ff={'count':0x0,'rows':[]};var _0x2bc19b=_[_0xd039('0x27')](db[_0xd039('0x28')][_0xd039('0x29')],function(_0x179b06){return{'name':_0x179b06[_0xd039('0x2a')],'type':_0x179b06[_0xd039('0x2b')][_0xd039('0x2c')]};});_0x317e2e[_0xd039('0x2d')]=_[_0xd039('0x27')](_0x2bc19b,_0xd039('0x24'));_0x317e2e[_0xd039('0x2e')]=_[_0xd039('0x2f')](_0x1f3642[_0xd039('0x2e')]);_0x317e2e[_0xd039('0x30')]=_[_0xd039('0x31')](_0x317e2e[_0xd039('0x2d')],_0x317e2e[_0xd039('0x2e')]);_0x1e2101[_0xd039('0x32')]=_[_0xd039('0x31')](_0x317e2e['model'],qs[_0xd039('0x33')](_0x1f3642[_0xd039('0x2e')]['fields']));_0x1e2101['attributes']=_0x1e2101[_0xd039('0x32')][_0xd039('0x34')]?_0x1e2101[_0xd039('0x32')]:_0x317e2e[_0xd039('0x2d')];if(!_0x1f3642[_0xd039('0x2e')][_0xd039('0x35')](_0xd039('0x36'))){_0x1e2101['limit']=qs[_0xd039('0x19')](_0x1f3642[_0xd039('0x2e')][_0xd039('0x19')]);_0x1e2101['offset']=qs['offset'](_0x1f3642['query'][_0xd039('0x18')]);}_0x1e2101[_0xd039('0x37')]=qs[_0xd039('0x38')](_0x1f3642['query'][_0xd039('0x38')]);_0x1e2101[_0xd039('0x39')]=qs[_0xd039('0x30')](_[_0xd039('0x3a')](_0x1f3642[_0xd039('0x2e')],_0x317e2e[_0xd039('0x30')]),_0x2bc19b);if(_0x1f3642[_0xd039('0x2e')][_0xd039('0x3b')]){_0x1e2101['where']=_['merge'](_0x1e2101[_0xd039('0x39')],{'$or':_[_0xd039('0x27')](_0x2bc19b,function(_0x16be93){if(_0x16be93['type']!==_0xd039('0x3c')){var _0x2cd991={};_0x2cd991[_0x16be93[_0xd039('0x24')]]={'$like':'%'+_0x1f3642['query'][_0xd039('0x3b')]+'%'};return _0x2cd991;}})});}_0x1e2101=_[_0xd039('0x3d')]({},_0x1e2101,_0x1f3642['options']);var _0x158df5={'where':_0x1e2101[_0xd039('0x39')]};return db[_0xd039('0x28')][_0xd039('0x17')](_0x158df5)['then'](function(_0x467f86){_0x7691ff[_0xd039('0x17')]=_0x467f86;if(_0x1f3642['query'][_0xd039('0x3e')]){_0x1e2101['include']=[{'all':!![]}];}return db['ChatTransferReport'][_0xd039('0x3f')](_0x1e2101);})[_0xd039('0x1f')](function(_0xde8240){_0x7691ff[_0xd039('0x40')]=_0xde8240;return _0x7691ff;})[_0xd039('0x1f')](respondWithFilteredResult(_0xc13e2,_0x1e2101))[_0xd039('0x41')](handleError(_0xc13e2,null));};exports[_0xd039('0x42')]=function(_0x424f68,_0x272448){var _0x3fbde6={'raw':!![],'where':{'id':_0x424f68[_0xd039('0x43')]['id']}},_0x889c4={};_0x889c4[_0xd039('0x2d')]=_[_0xd039('0x2f')](db['ChatTransferReport']['rawAttributes']);_0x889c4['query']=_['keys'](_0x424f68[_0xd039('0x2e')]);_0x889c4[_0xd039('0x44')]=_[_0xd039('0x31')](_0x889c4[_0xd039('0x2d')],_0x889c4[_0xd039('0x2e')]);_0x3fbde6[_0xd039('0x32')]=_[_0xd039('0x31')](_0x889c4[_0xd039('0x2d')],qs['fields'](_0x424f68[_0xd039('0x2e')][_0xd039('0x33')]));_0x3fbde6[_0xd039('0x32')]=_0x3fbde6[_0xd039('0x32')][_0xd039('0x34')]?_0x3fbde6[_0xd039('0x32')]:_0x889c4[_0xd039('0x2d')];if(_0x424f68[_0xd039('0x2e')][_0xd039('0x3e')]){_0x3fbde6[_0xd039('0x45')]=[{'all':!![]}];}_0x3fbde6=_['merge']({},_0x3fbde6,_0x424f68[_0xd039('0x46')]);return db[_0xd039('0x28')][_0xd039('0x47')](_0x3fbde6)[_0xd039('0x1f')](handleEntityNotFound(_0x272448,null))[_0xd039('0x1f')](respondWithResult(_0x272448,null))[_0xd039('0x41')](handleError(_0x272448,null));};exports['create']=function(_0x33dc93,_0xfdd71e){return db[_0xd039('0x28')][_0xd039('0x48')](_0x33dc93['body'],{})['then'](respondWithResult(_0xfdd71e,0xc9))['catch'](handleError(_0xfdd71e,null));};exports['update']=function(_0x56e52d,_0xfa7327){if(_0x56e52d[_0xd039('0x49')]['id']){delete _0x56e52d['body']['id'];}return db[_0xd039('0x28')]['find']({'where':{'id':_0x56e52d[_0xd039('0x43')]['id']}})[_0xd039('0x1f')](handleEntityNotFound(_0xfa7327,null))['then'](saveUpdates(_0x56e52d['body'],null))[_0xd039('0x1f')](respondWithResult(_0xfa7327,null))['catch'](handleError(_0xfa7327,null));};exports[_0xd039('0x20')]=function(_0x3b6c33,_0x4d52b3){return db['ChatTransferReport'][_0xd039('0x47')]({'where':{'id':_0x3b6c33[_0xd039('0x43')]['id']}})[_0xd039('0x1f')](handleEntityNotFound(_0x4d52b3,null))[_0xd039('0x1f')](removeEntity(_0x4d52b3,null))[_0xd039('0x41')](handleError(_0x4d52b3,null));};exports[_0xd039('0x4a')]=function(_0x4a9d28,_0x3ca7bc){return db[_0xd039('0x28')][_0xd039('0x4a')]()['then'](respondWithResult(_0x3ca7bc,null))[_0xd039('0x41')](handleError(_0x3ca7bc,null));};