Built motion from commit (unavailable).|2.5.29
[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 _0x9a7e=['query','keys','filters','attributes','intersection','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','VIRTUAL','merge','options','ChatTransferReport','includeAll','include','findAll','rows','catch','show','params','fields','find','create','body','update','destroy','describe','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','count','offset','limit','set','reject','save','then','error','stack','name','send','index','map','fieldName','model'];(function(_0x150022,_0x313bbd){var _0x569973=function(_0x387f06){while(--_0x387f06){_0x150022['push'](_0x150022['shift']());}};_0x569973(++_0x313bbd);}(_0x9a7e,0x183));var _0xe9a7=function(_0x26bc29,_0x5d7be3){_0x26bc29=_0x26bc29-0x0;var _0x42b128=_0x9a7e[_0x26bc29];return _0x42b128;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xe9a7('0x0'));var BPromise=require(_0xe9a7('0x1'));var Mustache=require(_0xe9a7('0x2'));var util=require(_0xe9a7('0x3'));var path=require('path');var sox=require(_0xe9a7('0x4'));var csv=require(_0xe9a7('0x5'));var ejs=require(_0xe9a7('0x6'));var fs=require('fs');var fs_extra=require(_0xe9a7('0x7'));var _=require(_0xe9a7('0x8'));var squel=require(_0xe9a7('0x9'));var crypto=require(_0xe9a7('0xa'));var jsforce=require(_0xe9a7('0xb'));var deskjs=require(_0xe9a7('0xc'));var toCsv=require(_0xe9a7('0x5'));var querystring=require('querystring');var Papa=require(_0xe9a7('0xd'));var Redis=require(_0xe9a7('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xe9a7('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xe9a7('0x10'));var utils=require('../../config/utils');var config=require(_0xe9a7('0x11'));var licenseUtil=require(_0xe9a7('0x12'));var db=require(_0xe9a7('0x13'))['db'];function respondWithStatusCode(_0x4ce3b5,_0xb58255){_0xb58255=_0xb58255||0xcc;return function(_0x23935a){if(_0x23935a){return _0x4ce3b5['sendStatus'](_0xb58255);}return _0x4ce3b5[_0xe9a7('0x14')](_0xb58255)[_0xe9a7('0x15')]();};}function respondWithResult(_0xe2fafe,_0x10ebf7){_0x10ebf7=_0x10ebf7||0xc8;return function(_0x4df9a4){if(_0x4df9a4){return _0xe2fafe[_0xe9a7('0x14')](_0x10ebf7)[_0xe9a7('0x16')](_0x4df9a4);}};}function respondWithFilteredResult(_0x17524c,_0x2e2341){return function(_0x34cb7a){if(_0x34cb7a){var _0x35f215=typeof _0x2e2341['offset']===_0xe9a7('0x17')&&typeof _0x2e2341['limit']==='undefined';var _0x23c432=_0x34cb7a[_0xe9a7('0x18')];var _0x2175b4=_0x35f215?0x0:_0x2e2341[_0xe9a7('0x19')];var _0x2e5ca4=_0x35f215?_0x34cb7a[_0xe9a7('0x18')]:_0x2e2341[_0xe9a7('0x19')]+_0x2e2341[_0xe9a7('0x1a')];var _0x1ca904;if(_0x2e5ca4>=_0x23c432){_0x2e5ca4=_0x23c432;_0x1ca904=0xc8;}else{_0x1ca904=0xce;}_0x17524c[_0xe9a7('0x14')](_0x1ca904);return _0x17524c[_0xe9a7('0x1b')]('Content-Range',_0x2175b4+'-'+_0x2e5ca4+'/'+_0x23c432)[_0xe9a7('0x16')](_0x34cb7a);}return null;};}function patchUpdates(_0x2801c2){return function(_0xe6b518){try{jsonpatch['apply'](_0xe6b518,_0x2801c2,!![]);}catch(_0x428fe8){return BPromise[_0xe9a7('0x1c')](_0x428fe8);}return _0xe6b518[_0xe9a7('0x1d')]();};}function saveUpdates(_0x2de20b,_0x4552f4){return function(_0x21265e){if(_0x21265e){return _0x21265e['update'](_0x2de20b)['then'](function(_0x3ad65d){return _0x3ad65d;});}return null;};}function removeEntity(_0x53a614,_0x524a5f){return function(_0x586390){if(_0x586390){return _0x586390['destroy']()[_0xe9a7('0x1e')](function(){_0x53a614[_0xe9a7('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x59d839,_0x2887f1){return function(_0x13cad1){if(!_0x13cad1){_0x59d839['sendStatus'](0x194);}return _0x13cad1;};}function handleError(_0x43d46e,_0x318110){_0x318110=_0x318110||0x1f4;return function(_0x4cc8f4){logger[_0xe9a7('0x1f')](_0x4cc8f4[_0xe9a7('0x20')]);if(_0x4cc8f4[_0xe9a7('0x21')]){delete _0x4cc8f4[_0xe9a7('0x21')];}_0x43d46e['status'](_0x318110)[_0xe9a7('0x22')](_0x4cc8f4);};}exports[_0xe9a7('0x23')]=function(_0x4adb7b,_0x557ba4){var _0x5d4c8d={},_0x36fa86={},_0x58bffd={'count':0x0,'rows':[]};var _0x59e876=_[_0xe9a7('0x24')](db['ChatTransferReport']['rawAttributes'],function(_0x49970d){return{'name':_0x49970d[_0xe9a7('0x25')],'type':_0x49970d['type']['key']};});_0x36fa86[_0xe9a7('0x26')]=_[_0xe9a7('0x24')](_0x59e876,_0xe9a7('0x21'));_0x36fa86[_0xe9a7('0x27')]=_[_0xe9a7('0x28')](_0x4adb7b[_0xe9a7('0x27')]);_0x36fa86[_0xe9a7('0x29')]=_['intersection'](_0x36fa86[_0xe9a7('0x26')],_0x36fa86[_0xe9a7('0x27')]);_0x5d4c8d[_0xe9a7('0x2a')]=_[_0xe9a7('0x2b')](_0x36fa86[_0xe9a7('0x26')],qs['fields'](_0x4adb7b[_0xe9a7('0x27')]['fields']));_0x5d4c8d[_0xe9a7('0x2a')]=_0x5d4c8d[_0xe9a7('0x2a')][_0xe9a7('0x2c')]?_0x5d4c8d[_0xe9a7('0x2a')]:_0x36fa86['model'];if(!_0x4adb7b[_0xe9a7('0x27')][_0xe9a7('0x2d')](_0xe9a7('0x2e'))){_0x5d4c8d[_0xe9a7('0x1a')]=qs[_0xe9a7('0x1a')](_0x4adb7b[_0xe9a7('0x27')][_0xe9a7('0x1a')]);_0x5d4c8d[_0xe9a7('0x19')]=qs[_0xe9a7('0x19')](_0x4adb7b[_0xe9a7('0x27')][_0xe9a7('0x19')]);}_0x5d4c8d[_0xe9a7('0x2f')]=qs[_0xe9a7('0x30')](_0x4adb7b[_0xe9a7('0x27')][_0xe9a7('0x30')]);_0x5d4c8d[_0xe9a7('0x31')]=qs[_0xe9a7('0x29')](_[_0xe9a7('0x32')](_0x4adb7b[_0xe9a7('0x27')],_0x36fa86[_0xe9a7('0x29')]),_0x59e876);if(_0x4adb7b[_0xe9a7('0x27')][_0xe9a7('0x33')]){_0x5d4c8d['where']=_['merge'](_0x5d4c8d[_0xe9a7('0x31')],{'$or':_['map'](_0x59e876,function(_0x12e7a8){if(_0x12e7a8[_0xe9a7('0x34')]!==_0xe9a7('0x35')){var _0x55c6ce={};_0x55c6ce[_0x12e7a8[_0xe9a7('0x21')]]={'$like':'%'+_0x4adb7b['query']['filter']+'%'};return _0x55c6ce;}})});}_0x5d4c8d=_[_0xe9a7('0x36')]({},_0x5d4c8d,_0x4adb7b[_0xe9a7('0x37')]);var _0x3f8b44={'where':_0x5d4c8d[_0xe9a7('0x31')]};return db[_0xe9a7('0x38')]['count'](_0x3f8b44)[_0xe9a7('0x1e')](function(_0x107052){_0x58bffd[_0xe9a7('0x18')]=_0x107052;if(_0x4adb7b[_0xe9a7('0x27')][_0xe9a7('0x39')]){_0x5d4c8d[_0xe9a7('0x3a')]=[{'all':!![]}];}return db[_0xe9a7('0x38')][_0xe9a7('0x3b')](_0x5d4c8d);})['then'](function(_0x3516f0){_0x58bffd[_0xe9a7('0x3c')]=_0x3516f0;return _0x58bffd;})[_0xe9a7('0x1e')](respondWithFilteredResult(_0x557ba4,_0x5d4c8d))[_0xe9a7('0x3d')](handleError(_0x557ba4,null));};exports[_0xe9a7('0x3e')]=function(_0x3e9169,_0xef821f){var _0x509969={'raw':!![],'where':{'id':_0x3e9169[_0xe9a7('0x3f')]['id']}},_0x326bde={};_0x326bde[_0xe9a7('0x26')]=_['keys'](db[_0xe9a7('0x38')]['rawAttributes']);_0x326bde[_0xe9a7('0x27')]=_[_0xe9a7('0x28')](_0x3e9169['query']);_0x326bde[_0xe9a7('0x29')]=_[_0xe9a7('0x2b')](_0x326bde[_0xe9a7('0x26')],_0x326bde['query']);_0x509969[_0xe9a7('0x2a')]=_[_0xe9a7('0x2b')](_0x326bde['model'],qs[_0xe9a7('0x40')](_0x3e9169[_0xe9a7('0x27')][_0xe9a7('0x40')]));_0x509969[_0xe9a7('0x2a')]=_0x509969['attributes'][_0xe9a7('0x2c')]?_0x509969[_0xe9a7('0x2a')]:_0x326bde[_0xe9a7('0x26')];if(_0x3e9169['query']['includeAll']){_0x509969[_0xe9a7('0x3a')]=[{'all':!![]}];}_0x509969=_['merge']({},_0x509969,_0x3e9169[_0xe9a7('0x37')]);return db[_0xe9a7('0x38')][_0xe9a7('0x41')](_0x509969)['then'](handleEntityNotFound(_0xef821f,null))[_0xe9a7('0x1e')](respondWithResult(_0xef821f,null))[_0xe9a7('0x3d')](handleError(_0xef821f,null));};exports[_0xe9a7('0x42')]=function(_0x55a351,_0x21b2be){return db['ChatTransferReport']['create'](_0x55a351[_0xe9a7('0x43')],{})[_0xe9a7('0x1e')](respondWithResult(_0x21b2be,0xc9))['catch'](handleError(_0x21b2be,null));};exports[_0xe9a7('0x44')]=function(_0x1cace9,_0x9e1f2){if(_0x1cace9['body']['id']){delete _0x1cace9[_0xe9a7('0x43')]['id'];}return db[_0xe9a7('0x38')][_0xe9a7('0x41')]({'where':{'id':_0x1cace9[_0xe9a7('0x3f')]['id']}})[_0xe9a7('0x1e')](handleEntityNotFound(_0x9e1f2,null))[_0xe9a7('0x1e')](saveUpdates(_0x1cace9['body'],null))[_0xe9a7('0x1e')](respondWithResult(_0x9e1f2,null))[_0xe9a7('0x3d')](handleError(_0x9e1f2,null));};exports[_0xe9a7('0x45')]=function(_0x59ceb2,_0xc44c5d){return db[_0xe9a7('0x38')]['find']({'where':{'id':_0x59ceb2[_0xe9a7('0x3f')]['id']}})[_0xe9a7('0x1e')](handleEntityNotFound(_0xc44c5d,null))[_0xe9a7('0x1e')](removeEntity(_0xc44c5d,null))['catch'](handleError(_0xc44c5d,null));};exports[_0xe9a7('0x46')]=function(_0x472756,_0x19a1e4){return db[_0xe9a7('0x38')][_0xe9a7('0x46')]()[_0xe9a7('0x1e')](respondWithResult(_0x19a1e4,null))[_0xe9a7('0x3d')](handleError(_0x19a1e4,null));};