41e655dd66f87f9447248c4a0f4afdc17fabdd68
[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 _0x3893=['undefined','limit','count','offset','set','Content-Range','apply','save','update','then','sendStatus','error','stack','name','send','index','map','ChatTransferReport','rawAttributes','fieldName','type','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','where','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','destroy','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','end','status','json'];(function(_0x36c5b0,_0x5001da){var _0xf19333=function(_0x1e880a){while(--_0x1e880a){_0x36c5b0['push'](_0x36c5b0['shift']());}};_0xf19333(++_0x5001da);}(_0x3893,0x1b3));var _0x3389=function(_0x1dabf0,_0xd6ec46){_0x1dabf0=_0x1dabf0-0x0;var _0x197431=_0x3893[_0x1dabf0];return _0x197431;};'use strict';var emlformat=require(_0x3389('0x0'));var rimraf=require(_0x3389('0x1'));var zipdir=require(_0x3389('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3389('0x3'));var moment=require(_0x3389('0x4'));var BPromise=require(_0x3389('0x5'));var Mustache=require(_0x3389('0x6'));var util=require(_0x3389('0x7'));var path=require(_0x3389('0x8'));var sox=require(_0x3389('0x9'));var csv=require(_0x3389('0xa'));var ejs=require(_0x3389('0xb'));var fs=require('fs');var fs_extra=require(_0x3389('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x3389('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x3389('0xa'));var querystring=require('querystring');var Papa=require(_0x3389('0xe'));var Redis=require(_0x3389('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x3389('0x10'));var as=require(_0x3389('0x11'));var hardwareService=require(_0x3389('0x12'));var logger=require(_0x3389('0x13'))(_0x3389('0x14'));var utils=require('../../config/utils');var config=require(_0x3389('0x15'));var licenseUtil=require(_0x3389('0x16'));var db=require(_0x3389('0x17'))['db'];function respondWithStatusCode(_0x49a0d9,_0x1d2833){_0x1d2833=_0x1d2833||0xcc;return function(_0x1aa489){if(_0x1aa489){return _0x49a0d9['sendStatus'](_0x1d2833);}return _0x49a0d9['status'](_0x1d2833)[_0x3389('0x18')]();};}function respondWithResult(_0x41bfd7,_0x5b31cd){_0x5b31cd=_0x5b31cd||0xc8;return function(_0x4db913){if(_0x4db913){return _0x41bfd7[_0x3389('0x19')](_0x5b31cd)[_0x3389('0x1a')](_0x4db913);}};}function respondWithFilteredResult(_0x1d8183,_0x443f80){return function(_0x7e4fff){if(_0x7e4fff){var _0xdf500e=typeof _0x443f80['offset']===_0x3389('0x1b')&&typeof _0x443f80[_0x3389('0x1c')]===_0x3389('0x1b');var _0x3274bd=_0x7e4fff[_0x3389('0x1d')];var _0x1e97d6=_0xdf500e?0x0:_0x443f80[_0x3389('0x1e')];var _0x42d1e1=_0xdf500e?_0x7e4fff['count']:_0x443f80[_0x3389('0x1e')]+_0x443f80[_0x3389('0x1c')];var _0x1f6422;if(_0x42d1e1>=_0x3274bd){_0x42d1e1=_0x3274bd;_0x1f6422=0xc8;}else{_0x1f6422=0xce;}_0x1d8183[_0x3389('0x19')](_0x1f6422);return _0x1d8183[_0x3389('0x1f')](_0x3389('0x20'),_0x1e97d6+'-'+_0x42d1e1+'/'+_0x3274bd)[_0x3389('0x1a')](_0x7e4fff);}return null;};}function patchUpdates(_0x5648fa){return function(_0x39376c){try{jsonpatch[_0x3389('0x21')](_0x39376c,_0x5648fa,!![]);}catch(_0xb7b830){return BPromise['reject'](_0xb7b830);}return _0x39376c[_0x3389('0x22')]();};}function saveUpdates(_0x4c16ec,_0xf239cc){return function(_0x2cd5f6){if(_0x2cd5f6){return _0x2cd5f6[_0x3389('0x23')](_0x4c16ec)[_0x3389('0x24')](function(_0x233e54){return _0x233e54;});}return null;};}function removeEntity(_0x14dbc6,_0x3ee937){return function(_0x53beef){if(_0x53beef){return _0x53beef['destroy']()[_0x3389('0x24')](function(){_0x14dbc6[_0x3389('0x19')](0xcc)[_0x3389('0x18')]();});}};}function handleEntityNotFound(_0x17da45,_0x592e58){return function(_0x476e2e){if(!_0x476e2e){_0x17da45[_0x3389('0x25')](0x194);}return _0x476e2e;};}function handleError(_0x2df646,_0x4ff2fa){_0x4ff2fa=_0x4ff2fa||0x1f4;return function(_0x11cad1){logger[_0x3389('0x26')](_0x11cad1[_0x3389('0x27')]);if(_0x11cad1[_0x3389('0x28')]){delete _0x11cad1['name'];}_0x2df646['status'](_0x4ff2fa)[_0x3389('0x29')](_0x11cad1);};}exports[_0x3389('0x2a')]=function(_0x1dd44e,_0xdd30ea){var _0x4da93e={},_0x4aa65e={},_0x15a11c={'count':0x0,'rows':[]};var _0x2db8a4=_[_0x3389('0x2b')](db[_0x3389('0x2c')][_0x3389('0x2d')],function(_0x3e1c56){return{'name':_0x3e1c56[_0x3389('0x2e')],'type':_0x3e1c56[_0x3389('0x2f')]['key']};});_0x4aa65e[_0x3389('0x30')]=_[_0x3389('0x2b')](_0x2db8a4,_0x3389('0x28'));_0x4aa65e['query']=_[_0x3389('0x31')](_0x1dd44e[_0x3389('0x32')]);_0x4aa65e[_0x3389('0x33')]=_[_0x3389('0x34')](_0x4aa65e[_0x3389('0x30')],_0x4aa65e[_0x3389('0x32')]);_0x4da93e['attributes']=_[_0x3389('0x34')](_0x4aa65e['model'],qs['fields'](_0x1dd44e[_0x3389('0x32')][_0x3389('0x35')]));_0x4da93e[_0x3389('0x36')]=_0x4da93e[_0x3389('0x36')][_0x3389('0x37')]?_0x4da93e[_0x3389('0x36')]:_0x4aa65e[_0x3389('0x30')];if(!_0x1dd44e[_0x3389('0x32')][_0x3389('0x38')](_0x3389('0x39'))){_0x4da93e['limit']=qs[_0x3389('0x1c')](_0x1dd44e[_0x3389('0x32')]['limit']);_0x4da93e[_0x3389('0x1e')]=qs[_0x3389('0x1e')](_0x1dd44e[_0x3389('0x32')]['offset']);}_0x4da93e[_0x3389('0x3a')]=qs['sort'](_0x1dd44e[_0x3389('0x32')]['sort']);_0x4da93e[_0x3389('0x3b')]=qs[_0x3389('0x33')](_[_0x3389('0x3c')](_0x1dd44e[_0x3389('0x32')],_0x4aa65e[_0x3389('0x33')]),_0x2db8a4);if(_0x1dd44e['query']['filter']){_0x4da93e[_0x3389('0x3b')]=_[_0x3389('0x3d')](_0x4da93e[_0x3389('0x3b')],{'$or':_[_0x3389('0x2b')](_0x2db8a4,function(_0x4e05fb){if(_0x4e05fb['type']!==_0x3389('0x3e')){var _0x4c1fa8={};_0x4c1fa8[_0x4e05fb[_0x3389('0x28')]]={'$like':'%'+_0x1dd44e[_0x3389('0x32')][_0x3389('0x3f')]+'%'};return _0x4c1fa8;}})});}_0x4da93e=_[_0x3389('0x3d')]({},_0x4da93e,_0x1dd44e[_0x3389('0x40')]);var _0x3f3b4e={'where':_0x4da93e[_0x3389('0x3b')]};return db['ChatTransferReport'][_0x3389('0x1d')](_0x3f3b4e)[_0x3389('0x24')](function(_0x44d6ee){_0x15a11c[_0x3389('0x1d')]=_0x44d6ee;if(_0x1dd44e[_0x3389('0x32')]['includeAll']){_0x4da93e[_0x3389('0x41')]=[{'all':!![]}];}return db['ChatTransferReport'][_0x3389('0x42')](_0x4da93e);})[_0x3389('0x24')](function(_0x10d2b0){_0x15a11c[_0x3389('0x43')]=_0x10d2b0;return _0x15a11c;})[_0x3389('0x24')](respondWithFilteredResult(_0xdd30ea,_0x4da93e))[_0x3389('0x44')](handleError(_0xdd30ea,null));};exports[_0x3389('0x45')]=function(_0x84768d,_0x4e776a){var _0x2bdc18={'raw':!![],'where':{'id':_0x84768d[_0x3389('0x46')]['id']}},_0x19be2d={};_0x19be2d[_0x3389('0x30')]=_[_0x3389('0x31')](db['ChatTransferReport'][_0x3389('0x2d')]);_0x19be2d['query']=_['keys'](_0x84768d[_0x3389('0x32')]);_0x19be2d[_0x3389('0x33')]=_[_0x3389('0x34')](_0x19be2d[_0x3389('0x30')],_0x19be2d[_0x3389('0x32')]);_0x2bdc18[_0x3389('0x36')]=_[_0x3389('0x34')](_0x19be2d[_0x3389('0x30')],qs[_0x3389('0x35')](_0x84768d[_0x3389('0x32')]['fields']));_0x2bdc18[_0x3389('0x36')]=_0x2bdc18[_0x3389('0x36')][_0x3389('0x37')]?_0x2bdc18[_0x3389('0x36')]:_0x19be2d[_0x3389('0x30')];if(_0x84768d[_0x3389('0x32')][_0x3389('0x47')]){_0x2bdc18[_0x3389('0x41')]=[{'all':!![]}];}_0x2bdc18=_[_0x3389('0x3d')]({},_0x2bdc18,_0x84768d[_0x3389('0x40')]);return db[_0x3389('0x2c')][_0x3389('0x48')](_0x2bdc18)[_0x3389('0x24')](handleEntityNotFound(_0x4e776a,null))['then'](respondWithResult(_0x4e776a,null))[_0x3389('0x44')](handleError(_0x4e776a,null));};exports[_0x3389('0x49')]=function(_0x4d1bb9,_0x522533){return db['ChatTransferReport'][_0x3389('0x49')](_0x4d1bb9['body'],{})[_0x3389('0x24')](respondWithResult(_0x522533,0xc9))['catch'](handleError(_0x522533,null));};exports[_0x3389('0x23')]=function(_0x3d4456,_0x278028){if(_0x3d4456[_0x3389('0x4a')]['id']){delete _0x3d4456['body']['id'];}return db['ChatTransferReport'][_0x3389('0x48')]({'where':{'id':_0x3d4456[_0x3389('0x46')]['id']}})[_0x3389('0x24')](handleEntityNotFound(_0x278028,null))['then'](saveUpdates(_0x3d4456[_0x3389('0x4a')],null))['then'](respondWithResult(_0x278028,null))[_0x3389('0x44')](handleError(_0x278028,null));};exports[_0x3389('0x4b')]=function(_0x28611f,_0x37b671){return db['ChatTransferReport'][_0x3389('0x48')]({'where':{'id':_0x28611f[_0x3389('0x46')]['id']}})['then'](handleEntityNotFound(_0x37b671,null))[_0x3389('0x24')](removeEntity(_0x37b671,null))['catch'](handleError(_0x37b671,null));};exports['describe']=function(_0x588680,_0x5100cc){return db['ChatTransferReport'][_0x3389('0x4c')]()[_0x3389('0x24')](respondWithResult(_0x5100cc,null))[_0x3389('0x44')](handleError(_0x5100cc,null));};