0e2f480944fa0d9e84bf72fe28506c608e2298d9
[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 _0x737b=['json','offset','undefined','limit','count','Content-Range','apply','reject','save','then','error','send','index','map','ChatTransferReport','fieldName','type','model','name','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','includeAll','rows','show','params','rawAttributes','include','options','find','catch','create','body','update','destroy','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end'];(function(_0x213811,_0x1aed63){var _0x927a97=function(_0x425db9){while(--_0x425db9){_0x213811['push'](_0x213811['shift']());}};_0x927a97(++_0x1aed63);}(_0x737b,0x16c));var _0xb737=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x737b[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xb737('0x0'));var rimraf=require(_0xb737('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb737('0x2'));var rp=require(_0xb737('0x3'));var moment=require(_0xb737('0x4'));var BPromise=require(_0xb737('0x5'));var Mustache=require(_0xb737('0x6'));var util=require(_0xb737('0x7'));var path=require(_0xb737('0x8'));var sox=require(_0xb737('0x9'));var csv=require(_0xb737('0xa'));var ejs=require(_0xb737('0xb'));var fs=require('fs');var fs_extra=require(_0xb737('0xc'));var _=require(_0xb737('0xd'));var squel=require(_0xb737('0xe'));var crypto=require(_0xb737('0xf'));var jsforce=require(_0xb737('0x10'));var deskjs=require(_0xb737('0x11'));var toCsv=require(_0xb737('0xa'));var querystring=require(_0xb737('0x12'));var Papa=require(_0xb737('0x13'));var Redis=require(_0xb737('0x14'));var authService=require(_0xb737('0x15'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb737('0x16'));var logger=require(_0xb737('0x17'))('api');var utils=require(_0xb737('0x18'));var config=require(_0xb737('0x19'));var licenseUtil=require(_0xb737('0x1a'));var db=require(_0xb737('0x1b'))['db'];function respondWithStatusCode(_0x11be59,_0x22fdf2){_0x22fdf2=_0x22fdf2||0xcc;return function(_0x4069f6){if(_0x4069f6){return _0x11be59[_0xb737('0x1c')](_0x22fdf2);}return _0x11be59[_0xb737('0x1d')](_0x22fdf2)[_0xb737('0x1e')]();};}function respondWithResult(_0x4829b8,_0x4ea686){_0x4ea686=_0x4ea686||0xc8;return function(_0x26554c){if(_0x26554c){return _0x4829b8[_0xb737('0x1d')](_0x4ea686)[_0xb737('0x1f')](_0x26554c);}};}function respondWithFilteredResult(_0x4b06ca,_0x1610c6){return function(_0x52ab4a){if(_0x52ab4a){var _0x22a60b=typeof _0x1610c6[_0xb737('0x20')]===_0xb737('0x21')&&typeof _0x1610c6[_0xb737('0x22')]===_0xb737('0x21');var _0x4e66f4=_0x52ab4a[_0xb737('0x23')];var _0x54d452=_0x22a60b?0x0:_0x1610c6[_0xb737('0x20')];var _0x569e39=_0x22a60b?_0x52ab4a[_0xb737('0x23')]:_0x1610c6[_0xb737('0x20')]+_0x1610c6[_0xb737('0x22')];var _0x186de9;if(_0x569e39>=_0x4e66f4){_0x569e39=_0x4e66f4;_0x186de9=0xc8;}else{_0x186de9=0xce;}_0x4b06ca[_0xb737('0x1d')](_0x186de9);return _0x4b06ca['set'](_0xb737('0x24'),_0x54d452+'-'+_0x569e39+'/'+_0x4e66f4)[_0xb737('0x1f')](_0x52ab4a);}return null;};}function patchUpdates(_0x457bdd){return function(_0x292ed0){try{jsonpatch[_0xb737('0x25')](_0x292ed0,_0x457bdd,!![]);}catch(_0x50aeaa){return BPromise[_0xb737('0x26')](_0x50aeaa);}return _0x292ed0[_0xb737('0x27')]();};}function saveUpdates(_0x454c06,_0xf5775){return function(_0x506433){if(_0x506433){return _0x506433['update'](_0x454c06)[_0xb737('0x28')](function(_0x25d070){return _0x25d070;});}return null;};}function removeEntity(_0x7c1746,_0x45d186){return function(_0x4778d6){if(_0x4778d6){return _0x4778d6['destroy']()['then'](function(){_0x7c1746[_0xb737('0x1d')](0xcc)[_0xb737('0x1e')]();});}};}function handleEntityNotFound(_0xa1f040,_0x145e29){return function(_0x13f9a2){if(!_0x13f9a2){_0xa1f040[_0xb737('0x1c')](0x194);}return _0x13f9a2;};}function handleError(_0x16adc6,_0x3d7f9b){_0x3d7f9b=_0x3d7f9b||0x1f4;return function(_0x104f68){logger[_0xb737('0x29')](_0x104f68['stack']);if(_0x104f68['name']){delete _0x104f68['name'];}_0x16adc6[_0xb737('0x1d')](_0x3d7f9b)[_0xb737('0x2a')](_0x104f68);};}exports[_0xb737('0x2b')]=function(_0x5f0592,_0x17e0c8){var _0x2efee5={},_0x13a4bf={},_0x214d90={'count':0x0,'rows':[]};var _0x40ecdd=_[_0xb737('0x2c')](db[_0xb737('0x2d')]['rawAttributes'],function(_0x57a101){return{'name':_0x57a101[_0xb737('0x2e')],'type':_0x57a101[_0xb737('0x2f')]['key']};});_0x13a4bf[_0xb737('0x30')]=_[_0xb737('0x2c')](_0x40ecdd,_0xb737('0x31'));_0x13a4bf[_0xb737('0x32')]=_[_0xb737('0x33')](_0x5f0592[_0xb737('0x32')]);_0x13a4bf['filters']=_['intersection'](_0x13a4bf[_0xb737('0x30')],_0x13a4bf['query']);_0x2efee5[_0xb737('0x34')]=_[_0xb737('0x35')](_0x13a4bf[_0xb737('0x30')],qs[_0xb737('0x36')](_0x5f0592[_0xb737('0x32')][_0xb737('0x36')]));_0x2efee5[_0xb737('0x34')]=_0x2efee5[_0xb737('0x34')][_0xb737('0x37')]?_0x2efee5[_0xb737('0x34')]:_0x13a4bf[_0xb737('0x30')];if(!_0x5f0592[_0xb737('0x32')][_0xb737('0x38')](_0xb737('0x39'))){_0x2efee5[_0xb737('0x22')]=qs[_0xb737('0x22')](_0x5f0592[_0xb737('0x32')][_0xb737('0x22')]);_0x2efee5['offset']=qs[_0xb737('0x20')](_0x5f0592[_0xb737('0x32')][_0xb737('0x20')]);}_0x2efee5[_0xb737('0x3a')]=qs['sort'](_0x5f0592[_0xb737('0x32')][_0xb737('0x3b')]);_0x2efee5[_0xb737('0x3c')]=qs[_0xb737('0x3d')](_['pick'](_0x5f0592[_0xb737('0x32')],_0x13a4bf[_0xb737('0x3d')]),_0x40ecdd);if(_0x5f0592[_0xb737('0x32')][_0xb737('0x3e')]){_0x2efee5['where']=_[_0xb737('0x3f')](_0x2efee5['where'],{'$or':_[_0xb737('0x2c')](_0x40ecdd,function(_0x2f5e30){if(_0x2f5e30[_0xb737('0x2f')]!==_0xb737('0x40')){var _0x954b60={};_0x954b60[_0x2f5e30['name']]={'$like':'%'+_0x5f0592[_0xb737('0x32')]['filter']+'%'};return _0x954b60;}})});}_0x2efee5=_[_0xb737('0x3f')]({},_0x2efee5,_0x5f0592['options']);var _0x5a0ae5={'where':_0x2efee5[_0xb737('0x3c')]};return db[_0xb737('0x2d')][_0xb737('0x23')](_0x5a0ae5)['then'](function(_0x1afba1){_0x214d90['count']=_0x1afba1;if(_0x5f0592[_0xb737('0x32')][_0xb737('0x41')]){_0x2efee5['include']=[{'all':!![]}];}return db[_0xb737('0x2d')]['findAll'](_0x2efee5);})[_0xb737('0x28')](function(_0x2ac3da){_0x214d90[_0xb737('0x42')]=_0x2ac3da;return _0x214d90;})[_0xb737('0x28')](respondWithFilteredResult(_0x17e0c8,_0x2efee5))['catch'](handleError(_0x17e0c8,null));};exports[_0xb737('0x43')]=function(_0x5b82b7,_0x16c1f1){var _0x325273={'raw':!![],'where':{'id':_0x5b82b7[_0xb737('0x44')]['id']}},_0x5c88ba={};_0x5c88ba[_0xb737('0x30')]=_[_0xb737('0x33')](db[_0xb737('0x2d')][_0xb737('0x45')]);_0x5c88ba[_0xb737('0x32')]=_[_0xb737('0x33')](_0x5b82b7['query']);_0x5c88ba['filters']=_['intersection'](_0x5c88ba[_0xb737('0x30')],_0x5c88ba[_0xb737('0x32')]);_0x325273[_0xb737('0x34')]=_[_0xb737('0x35')](_0x5c88ba[_0xb737('0x30')],qs['fields'](_0x5b82b7[_0xb737('0x32')][_0xb737('0x36')]));_0x325273[_0xb737('0x34')]=_0x325273[_0xb737('0x34')][_0xb737('0x37')]?_0x325273['attributes']:_0x5c88ba[_0xb737('0x30')];if(_0x5b82b7['query'][_0xb737('0x41')]){_0x325273[_0xb737('0x46')]=[{'all':!![]}];}_0x325273=_[_0xb737('0x3f')]({},_0x325273,_0x5b82b7[_0xb737('0x47')]);return db[_0xb737('0x2d')][_0xb737('0x48')](_0x325273)['then'](handleEntityNotFound(_0x16c1f1,null))[_0xb737('0x28')](respondWithResult(_0x16c1f1,null))[_0xb737('0x49')](handleError(_0x16c1f1,null));};exports[_0xb737('0x4a')]=function(_0x4a2676,_0x45ffff){return db[_0xb737('0x2d')][_0xb737('0x4a')](_0x4a2676[_0xb737('0x4b')],{})[_0xb737('0x28')](respondWithResult(_0x45ffff,0xc9))[_0xb737('0x49')](handleError(_0x45ffff,null));};exports[_0xb737('0x4c')]=function(_0x46e0b8,_0x2aff74){if(_0x46e0b8[_0xb737('0x4b')]['id']){delete _0x46e0b8[_0xb737('0x4b')]['id'];}return db[_0xb737('0x2d')][_0xb737('0x48')]({'where':{'id':_0x46e0b8[_0xb737('0x44')]['id']}})['then'](handleEntityNotFound(_0x2aff74,null))['then'](saveUpdates(_0x46e0b8[_0xb737('0x4b')],null))['then'](respondWithResult(_0x2aff74,null))[_0xb737('0x49')](handleError(_0x2aff74,null));};exports[_0xb737('0x4d')]=function(_0x13e4ea,_0x1663c5){return db[_0xb737('0x2d')][_0xb737('0x48')]({'where':{'id':_0x13e4ea['params']['id']}})[_0xb737('0x28')](handleEntityNotFound(_0x1663c5,null))[_0xb737('0x28')](removeEntity(_0x1663c5,null))[_0xb737('0x49')](handleError(_0x1663c5,null));};exports['describe']=function(_0x16a9d7,_0x4153a5){return db['ChatTransferReport'][_0xb737('0x4e')]()[_0xb737('0x28')](respondWithResult(_0x4153a5,null))[_0xb737('0x49')](handleError(_0x4153a5,null));};