f766096720ee0da97e7cc1437a68595b65b15c45
[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 _0xc8b4=['name','send','index','map','rawAttributes','fieldName','type','key','keys','query','filters','attributes','model','hasOwnProperty','sort','where','pick','filter','merge','options','ChatTransferReport','include','findAll','rows','catch','show','intersection','fields','includeAll','create','body','find','params','destroy','describe','eml-format','rimraf','zip-dir','request-promise','bluebird','util','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','save','update','then','end','error','stack'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0xc8b4,0xfe));var _0x4c8b=function(_0x1e812c,_0x4b6727){_0x1e812c=_0x1e812c-0x0;var _0xac472=_0xc8b4[_0x1e812c];return _0xac472;};'use strict';var emlformat=require(_0x4c8b('0x0'));var rimraf=require(_0x4c8b('0x1'));var zipdir=require(_0x4c8b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4c8b('0x3'));var moment=require('moment');var BPromise=require(_0x4c8b('0x4'));var Mustache=require('mustache');var util=require(_0x4c8b('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x4c8b('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4c8b('0x7'));var _=require(_0x4c8b('0x8'));var squel=require(_0x4c8b('0x9'));var crypto=require(_0x4c8b('0xa'));var jsforce=require(_0x4c8b('0xb'));var deskjs=require(_0x4c8b('0xc'));var toCsv=require('to-csv');var querystring=require(_0x4c8b('0xd'));var Papa=require(_0x4c8b('0xe'));var Redis=require(_0x4c8b('0xf'));var authService=require(_0x4c8b('0x10'));var qs=require(_0x4c8b('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4c8b('0x12'));var logger=require('../../config/logger')(_0x4c8b('0x13'));var utils=require(_0x4c8b('0x14'));var config=require(_0x4c8b('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x4c8b('0x16'))['db'];function respondWithStatusCode(_0x20cf8e,_0x4a09b4){_0x4a09b4=_0x4a09b4||0xcc;return function(_0x3bf072){if(_0x3bf072){return _0x20cf8e[_0x4c8b('0x17')](_0x4a09b4);}return _0x20cf8e[_0x4c8b('0x18')](_0x4a09b4)['end']();};}function respondWithResult(_0xa4a7d,_0x537942){_0x537942=_0x537942||0xc8;return function(_0x4fcd15){if(_0x4fcd15){return _0xa4a7d[_0x4c8b('0x18')](_0x537942)[_0x4c8b('0x19')](_0x4fcd15);}};}function respondWithFilteredResult(_0x3f4935,_0x39a4eb){return function(_0x3a78fc){if(_0x3a78fc){var _0xc8088d=typeof _0x39a4eb['offset']==='undefined'&&typeof _0x39a4eb['limit']==='undefined';var _0x127b4c=_0x3a78fc[_0x4c8b('0x1a')];var _0x102c62=_0xc8088d?0x0:_0x39a4eb['offset'];var _0x111850=_0xc8088d?_0x3a78fc[_0x4c8b('0x1a')]:_0x39a4eb[_0x4c8b('0x1b')]+_0x39a4eb[_0x4c8b('0x1c')];var _0x598172;if(_0x111850>=_0x127b4c){_0x111850=_0x127b4c;_0x598172=0xc8;}else{_0x598172=0xce;}_0x3f4935['status'](_0x598172);return _0x3f4935[_0x4c8b('0x1d')](_0x4c8b('0x1e'),_0x102c62+'-'+_0x111850+'/'+_0x127b4c)[_0x4c8b('0x19')](_0x3a78fc);}return null;};}function patchUpdates(_0xae9a7c){return function(_0x316c73){try{jsonpatch[_0x4c8b('0x1f')](_0x316c73,_0xae9a7c,!![]);}catch(_0x4544d9){return BPromise['reject'](_0x4544d9);}return _0x316c73[_0x4c8b('0x20')]();};}function saveUpdates(_0x5cf61e,_0x2aec26){return function(_0x68893f){if(_0x68893f){return _0x68893f[_0x4c8b('0x21')](_0x5cf61e)[_0x4c8b('0x22')](function(_0x3a3387){return _0x3a3387;});}return null;};}function removeEntity(_0x213e2d,_0x520886){return function(_0x207dc6){if(_0x207dc6){return _0x207dc6['destroy']()[_0x4c8b('0x22')](function(){_0x213e2d[_0x4c8b('0x18')](0xcc)[_0x4c8b('0x23')]();});}};}function handleEntityNotFound(_0xa6f6bc,_0x119a9d){return function(_0x551906){if(!_0x551906){_0xa6f6bc[_0x4c8b('0x17')](0x194);}return _0x551906;};}function handleError(_0xb1bf5f,_0xadc052){_0xadc052=_0xadc052||0x1f4;return function(_0x1ac5cf){logger[_0x4c8b('0x24')](_0x1ac5cf[_0x4c8b('0x25')]);if(_0x1ac5cf[_0x4c8b('0x26')]){delete _0x1ac5cf[_0x4c8b('0x26')];}_0xb1bf5f[_0x4c8b('0x18')](_0xadc052)[_0x4c8b('0x27')](_0x1ac5cf);};}exports[_0x4c8b('0x28')]=function(_0x54d9f6,_0x58a252){var _0x4324eb={},_0x2e9423={},_0x1219cb={'count':0x0,'rows':[]};var _0x246a87=_[_0x4c8b('0x29')](db['ChatTransferReport'][_0x4c8b('0x2a')],function(_0x48ccd1){return{'name':_0x48ccd1[_0x4c8b('0x2b')],'type':_0x48ccd1[_0x4c8b('0x2c')][_0x4c8b('0x2d')]};});_0x2e9423['model']=_[_0x4c8b('0x29')](_0x246a87,_0x4c8b('0x26'));_0x2e9423['query']=_[_0x4c8b('0x2e')](_0x54d9f6[_0x4c8b('0x2f')]);_0x2e9423[_0x4c8b('0x30')]=_['intersection'](_0x2e9423['model'],_0x2e9423[_0x4c8b('0x2f')]);_0x4324eb[_0x4c8b('0x31')]=_['intersection'](_0x2e9423['model'],qs['fields'](_0x54d9f6[_0x4c8b('0x2f')]['fields']));_0x4324eb[_0x4c8b('0x31')]=_0x4324eb[_0x4c8b('0x31')]['length']?_0x4324eb['attributes']:_0x2e9423[_0x4c8b('0x32')];if(!_0x54d9f6[_0x4c8b('0x2f')][_0x4c8b('0x33')]('nolimit')){_0x4324eb[_0x4c8b('0x1c')]=qs[_0x4c8b('0x1c')](_0x54d9f6['query'][_0x4c8b('0x1c')]);_0x4324eb['offset']=qs['offset'](_0x54d9f6[_0x4c8b('0x2f')][_0x4c8b('0x1b')]);}_0x4324eb['order']=qs[_0x4c8b('0x34')](_0x54d9f6['query'][_0x4c8b('0x34')]);_0x4324eb[_0x4c8b('0x35')]=qs[_0x4c8b('0x30')](_[_0x4c8b('0x36')](_0x54d9f6['query'],_0x2e9423['filters']),_0x246a87);if(_0x54d9f6[_0x4c8b('0x2f')][_0x4c8b('0x37')]){_0x4324eb[_0x4c8b('0x35')]=_[_0x4c8b('0x38')](_0x4324eb['where'],{'$or':_[_0x4c8b('0x29')](_0x246a87,function(_0x1d8cb4){if(_0x1d8cb4['type']!=='VIRTUAL'){var _0x3e7b3b={};_0x3e7b3b[_0x1d8cb4[_0x4c8b('0x26')]]={'$like':'%'+_0x54d9f6[_0x4c8b('0x2f')][_0x4c8b('0x37')]+'%'};return _0x3e7b3b;}})});}_0x4324eb=_[_0x4c8b('0x38')]({},_0x4324eb,_0x54d9f6[_0x4c8b('0x39')]);var _0x9dd830={'where':_0x4324eb[_0x4c8b('0x35')]};return db[_0x4c8b('0x3a')][_0x4c8b('0x1a')](_0x9dd830)[_0x4c8b('0x22')](function(_0x50f7ca){_0x1219cb['count']=_0x50f7ca;if(_0x54d9f6['query']['includeAll']){_0x4324eb[_0x4c8b('0x3b')]=[{'all':!![]}];}return db[_0x4c8b('0x3a')][_0x4c8b('0x3c')](_0x4324eb);})['then'](function(_0x198e83){_0x1219cb[_0x4c8b('0x3d')]=_0x198e83;return _0x1219cb;})[_0x4c8b('0x22')](respondWithFilteredResult(_0x58a252,_0x4324eb))[_0x4c8b('0x3e')](handleError(_0x58a252,null));};exports[_0x4c8b('0x3f')]=function(_0x3a7fad,_0x3a272a){var _0x659bbc={'raw':!![],'where':{'id':_0x3a7fad['params']['id']}},_0x5c487c={};_0x5c487c['model']=_[_0x4c8b('0x2e')](db['ChatTransferReport'][_0x4c8b('0x2a')]);_0x5c487c[_0x4c8b('0x2f')]=_[_0x4c8b('0x2e')](_0x3a7fad[_0x4c8b('0x2f')]);_0x5c487c[_0x4c8b('0x30')]=_[_0x4c8b('0x40')](_0x5c487c[_0x4c8b('0x32')],_0x5c487c['query']);_0x659bbc[_0x4c8b('0x31')]=_[_0x4c8b('0x40')](_0x5c487c[_0x4c8b('0x32')],qs[_0x4c8b('0x41')](_0x3a7fad[_0x4c8b('0x2f')][_0x4c8b('0x41')]));_0x659bbc['attributes']=_0x659bbc[_0x4c8b('0x31')]['length']?_0x659bbc[_0x4c8b('0x31')]:_0x5c487c[_0x4c8b('0x32')];if(_0x3a7fad[_0x4c8b('0x2f')][_0x4c8b('0x42')]){_0x659bbc['include']=[{'all':!![]}];}_0x659bbc=_[_0x4c8b('0x38')]({},_0x659bbc,_0x3a7fad[_0x4c8b('0x39')]);return db[_0x4c8b('0x3a')]['find'](_0x659bbc)['then'](handleEntityNotFound(_0x3a272a,null))['then'](respondWithResult(_0x3a272a,null))[_0x4c8b('0x3e')](handleError(_0x3a272a,null));};exports[_0x4c8b('0x43')]=function(_0x55af91,_0x21a0eb){return db[_0x4c8b('0x3a')]['create'](_0x55af91['body'],{})[_0x4c8b('0x22')](respondWithResult(_0x21a0eb,0xc9))['catch'](handleError(_0x21a0eb,null));};exports['update']=function(_0xfc96ad,_0x2e5382){if(_0xfc96ad[_0x4c8b('0x44')]['id']){delete _0xfc96ad[_0x4c8b('0x44')]['id'];}return db[_0x4c8b('0x3a')][_0x4c8b('0x45')]({'where':{'id':_0xfc96ad[_0x4c8b('0x46')]['id']}})[_0x4c8b('0x22')](handleEntityNotFound(_0x2e5382,null))[_0x4c8b('0x22')](saveUpdates(_0xfc96ad[_0x4c8b('0x44')],null))['then'](respondWithResult(_0x2e5382,null))[_0x4c8b('0x3e')](handleError(_0x2e5382,null));};exports[_0x4c8b('0x47')]=function(_0x435146,_0x535a61){return db[_0x4c8b('0x3a')][_0x4c8b('0x45')]({'where':{'id':_0x435146[_0x4c8b('0x46')]['id']}})['then'](handleEntityNotFound(_0x535a61,null))[_0x4c8b('0x22')](removeEntity(_0x535a61,null))[_0x4c8b('0x3e')](handleError(_0x535a61,null));};exports[_0x4c8b('0x48')]=function(_0x6a7335,_0x5020b1){return db[_0x4c8b('0x3a')]['describe']()[_0x4c8b('0x22')](respondWithResult(_0x5020b1,null))['catch'](handleError(_0x5020b1,null));};