Built motion from commit 775e2a94.|2.6.3
[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 _0xdcbb=['rows','catch','show','params','includeAll','create','find','describe','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','destroy','then','sendStatus','error','stack','name','send','index','map','ChatTransferReport','rawAttributes','type','key','query','keys','model','attributes','intersection','fields','length','hasOwnProperty','order','sort','filters','pick','filter','merge','where','options','include','findAll'];(function(_0x256693,_0x4c1c73){var _0x44ead1=function(_0x3a47b2){while(--_0x3a47b2){_0x256693['push'](_0x256693['shift']());}};_0x44ead1(++_0x4c1c73);}(_0xdcbb,0x9a));var _0xbdcb=function(_0x528307,_0x35e559){_0x528307=_0x528307-0x0;var _0x4eee14=_0xdcbb[_0x528307];return _0x4eee14;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xbdcb('0x0'));var zipdir=require(_0xbdcb('0x1'));var jsonpatch=require(_0xbdcb('0x2'));var rp=require(_0xbdcb('0x3'));var moment=require('moment');var BPromise=require(_0xbdcb('0x4'));var Mustache=require('mustache');var util=require(_0xbdcb('0x5'));var path=require('path');var sox=require(_0xbdcb('0x6'));var csv=require(_0xbdcb('0x7'));var ejs=require(_0xbdcb('0x8'));var fs=require('fs');var fs_extra=require(_0xbdcb('0x9'));var _=require('lodash');var squel=require(_0xbdcb('0xa'));var crypto=require(_0xbdcb('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xbdcb('0xc'));var toCsv=require(_0xbdcb('0x7'));var querystring=require('querystring');var Papa=require(_0xbdcb('0xd'));var Redis=require(_0xbdcb('0xe'));var authService=require(_0xbdcb('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xbdcb('0x10'));var hardwareService=require(_0xbdcb('0x11'));var logger=require(_0xbdcb('0x12'))('api');var utils=require('../../config/utils');var config=require(_0xbdcb('0x13'));var licenseUtil=require(_0xbdcb('0x14'));var db=require(_0xbdcb('0x15'))['db'];function respondWithStatusCode(_0x532c8e,_0x5b9bfa){_0x5b9bfa=_0x5b9bfa||0xcc;return function(_0x5521a3){if(_0x5521a3){return _0x532c8e['sendStatus'](_0x5b9bfa);}return _0x532c8e[_0xbdcb('0x16')](_0x5b9bfa)[_0xbdcb('0x17')]();};}function respondWithResult(_0x26c90b,_0x268377){_0x268377=_0x268377||0xc8;return function(_0x1750cd){if(_0x1750cd){return _0x26c90b['status'](_0x268377)[_0xbdcb('0x18')](_0x1750cd);}};}function respondWithFilteredResult(_0x1326d3,_0x1b6c30){return function(_0x1c8b24){if(_0x1c8b24){var _0x29fe56=typeof _0x1b6c30[_0xbdcb('0x19')]===_0xbdcb('0x1a')&&typeof _0x1b6c30[_0xbdcb('0x1b')]==='undefined';var _0x2a1648=_0x1c8b24[_0xbdcb('0x1c')];var _0x3f748f=_0x29fe56?0x0:_0x1b6c30[_0xbdcb('0x19')];var _0x2331c6=_0x29fe56?_0x1c8b24['count']:_0x1b6c30['offset']+_0x1b6c30[_0xbdcb('0x1b')];var _0x4cb183;if(_0x2331c6>=_0x2a1648){_0x2331c6=_0x2a1648;_0x4cb183=0xc8;}else{_0x4cb183=0xce;}_0x1326d3['status'](_0x4cb183);return _0x1326d3['set'](_0xbdcb('0x1d'),_0x3f748f+'-'+_0x2331c6+'/'+_0x2a1648)[_0xbdcb('0x18')](_0x1c8b24);}return null;};}function patchUpdates(_0x51f133){return function(_0x363e67){try{jsonpatch[_0xbdcb('0x1e')](_0x363e67,_0x51f133,!![]);}catch(_0x11dba7){return BPromise[_0xbdcb('0x1f')](_0x11dba7);}return _0x363e67[_0xbdcb('0x20')]();};}function saveUpdates(_0x422379,_0x564ecf){return function(_0x1afa86){if(_0x1afa86){return _0x1afa86[_0xbdcb('0x21')](_0x422379)['then'](function(_0x3518c0){return _0x3518c0;});}return null;};}function removeEntity(_0x485256,_0x2a7d8d){return function(_0x2228ad){if(_0x2228ad){return _0x2228ad[_0xbdcb('0x22')]()[_0xbdcb('0x23')](function(){_0x485256['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5dbe3d,_0x3bd598){return function(_0x329ebc){if(!_0x329ebc){_0x5dbe3d[_0xbdcb('0x24')](0x194);}return _0x329ebc;};}function handleError(_0x1f3938,_0x49886d){_0x49886d=_0x49886d||0x1f4;return function(_0xc8454){logger[_0xbdcb('0x25')](_0xc8454[_0xbdcb('0x26')]);if(_0xc8454[_0xbdcb('0x27')]){delete _0xc8454['name'];}_0x1f3938[_0xbdcb('0x16')](_0x49886d)[_0xbdcb('0x28')](_0xc8454);};}exports[_0xbdcb('0x29')]=function(_0x1af607,_0x58ff0d){var _0x4d8b4d={},_0x1f6339={},_0xe7bc06={'count':0x0,'rows':[]};var _0x18a7ed=_[_0xbdcb('0x2a')](db[_0xbdcb('0x2b')][_0xbdcb('0x2c')],function(_0x3cb7f9){return{'name':_0x3cb7f9['fieldName'],'type':_0x3cb7f9[_0xbdcb('0x2d')][_0xbdcb('0x2e')]};});_0x1f6339['model']=_['map'](_0x18a7ed,_0xbdcb('0x27'));_0x1f6339[_0xbdcb('0x2f')]=_[_0xbdcb('0x30')](_0x1af607[_0xbdcb('0x2f')]);_0x1f6339['filters']=_['intersection'](_0x1f6339[_0xbdcb('0x31')],_0x1f6339[_0xbdcb('0x2f')]);_0x4d8b4d[_0xbdcb('0x32')]=_[_0xbdcb('0x33')](_0x1f6339[_0xbdcb('0x31')],qs['fields'](_0x1af607[_0xbdcb('0x2f')][_0xbdcb('0x34')]));_0x4d8b4d['attributes']=_0x4d8b4d[_0xbdcb('0x32')][_0xbdcb('0x35')]?_0x4d8b4d[_0xbdcb('0x32')]:_0x1f6339[_0xbdcb('0x31')];if(!_0x1af607['query'][_0xbdcb('0x36')]('nolimit')){_0x4d8b4d[_0xbdcb('0x1b')]=qs[_0xbdcb('0x1b')](_0x1af607['query'][_0xbdcb('0x1b')]);_0x4d8b4d[_0xbdcb('0x19')]=qs[_0xbdcb('0x19')](_0x1af607[_0xbdcb('0x2f')][_0xbdcb('0x19')]);}_0x4d8b4d[_0xbdcb('0x37')]=qs[_0xbdcb('0x38')](_0x1af607[_0xbdcb('0x2f')]['sort']);_0x4d8b4d['where']=qs[_0xbdcb('0x39')](_[_0xbdcb('0x3a')](_0x1af607[_0xbdcb('0x2f')],_0x1f6339[_0xbdcb('0x39')]),_0x18a7ed);if(_0x1af607['query'][_0xbdcb('0x3b')]){_0x4d8b4d['where']=_[_0xbdcb('0x3c')](_0x4d8b4d[_0xbdcb('0x3d')],{'$or':_['map'](_0x18a7ed,function(_0x14b9e5){if(_0x14b9e5[_0xbdcb('0x2d')]!=='VIRTUAL'){var _0xe94f08={};_0xe94f08[_0x14b9e5[_0xbdcb('0x27')]]={'$like':'%'+_0x1af607[_0xbdcb('0x2f')][_0xbdcb('0x3b')]+'%'};return _0xe94f08;}})});}_0x4d8b4d=_['merge']({},_0x4d8b4d,_0x1af607[_0xbdcb('0x3e')]);var _0x2c8ef9={'where':_0x4d8b4d[_0xbdcb('0x3d')]};return db[_0xbdcb('0x2b')][_0xbdcb('0x1c')](_0x2c8ef9)[_0xbdcb('0x23')](function(_0x454b0c){_0xe7bc06[_0xbdcb('0x1c')]=_0x454b0c;if(_0x1af607[_0xbdcb('0x2f')]['includeAll']){_0x4d8b4d[_0xbdcb('0x3f')]=[{'all':!![]}];}return db[_0xbdcb('0x2b')][_0xbdcb('0x40')](_0x4d8b4d);})['then'](function(_0x278faa){_0xe7bc06[_0xbdcb('0x41')]=_0x278faa;return _0xe7bc06;})['then'](respondWithFilteredResult(_0x58ff0d,_0x4d8b4d))[_0xbdcb('0x42')](handleError(_0x58ff0d,null));};exports[_0xbdcb('0x43')]=function(_0x2bdfa8,_0x569a86){var _0x50e728={'raw':!![],'where':{'id':_0x2bdfa8[_0xbdcb('0x44')]['id']}},_0x2e87d9={};_0x2e87d9[_0xbdcb('0x31')]=_['keys'](db[_0xbdcb('0x2b')][_0xbdcb('0x2c')]);_0x2e87d9[_0xbdcb('0x2f')]=_[_0xbdcb('0x30')](_0x2bdfa8[_0xbdcb('0x2f')]);_0x2e87d9[_0xbdcb('0x39')]=_[_0xbdcb('0x33')](_0x2e87d9[_0xbdcb('0x31')],_0x2e87d9[_0xbdcb('0x2f')]);_0x50e728['attributes']=_[_0xbdcb('0x33')](_0x2e87d9[_0xbdcb('0x31')],qs['fields'](_0x2bdfa8[_0xbdcb('0x2f')][_0xbdcb('0x34')]));_0x50e728['attributes']=_0x50e728[_0xbdcb('0x32')][_0xbdcb('0x35')]?_0x50e728[_0xbdcb('0x32')]:_0x2e87d9[_0xbdcb('0x31')];if(_0x2bdfa8[_0xbdcb('0x2f')][_0xbdcb('0x45')]){_0x50e728['include']=[{'all':!![]}];}_0x50e728=_[_0xbdcb('0x3c')]({},_0x50e728,_0x2bdfa8[_0xbdcb('0x3e')]);return db[_0xbdcb('0x2b')]['find'](_0x50e728)['then'](handleEntityNotFound(_0x569a86,null))[_0xbdcb('0x23')](respondWithResult(_0x569a86,null))[_0xbdcb('0x42')](handleError(_0x569a86,null));};exports['create']=function(_0x573751,_0x240615){return db['ChatTransferReport'][_0xbdcb('0x46')](_0x573751['body'],{})[_0xbdcb('0x23')](respondWithResult(_0x240615,0xc9))['catch'](handleError(_0x240615,null));};exports[_0xbdcb('0x21')]=function(_0x28f72f,_0x16401a){if(_0x28f72f['body']['id']){delete _0x28f72f['body']['id'];}return db['ChatTransferReport'][_0xbdcb('0x47')]({'where':{'id':_0x28f72f[_0xbdcb('0x44')]['id']}})['then'](handleEntityNotFound(_0x16401a,null))[_0xbdcb('0x23')](saveUpdates(_0x28f72f['body'],null))['then'](respondWithResult(_0x16401a,null))[_0xbdcb('0x42')](handleError(_0x16401a,null));};exports[_0xbdcb('0x22')]=function(_0x49ee26,_0x425724){return db[_0xbdcb('0x2b')][_0xbdcb('0x47')]({'where':{'id':_0x49ee26[_0xbdcb('0x44')]['id']}})[_0xbdcb('0x23')](handleEntityNotFound(_0x425724,null))['then'](removeEntity(_0x425724,null))[_0xbdcb('0x42')](handleError(_0x425724,null));};exports[_0xbdcb('0x48')]=function(_0x2e456e,_0x5af93c){return db[_0xbdcb('0x2b')]['describe']()[_0xbdcb('0x23')](respondWithResult(_0x5af93c,null))[_0xbdcb('0x42')](handleError(_0x5af93c,null));};