Built motion from commit c116dc8b.|2.6.30
[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 _0x9d15=['model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','ChatTransferReport','rows','catch','show','params','include','options','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','send','index','map','fieldName','type','name','keys','query','filters','intersection'];(function(_0x591cf9,_0x33ea78){var _0x3b46da=function(_0x96004a){while(--_0x96004a){_0x591cf9['push'](_0x591cf9['shift']());}};_0x3b46da(++_0x33ea78);}(_0x9d15,0x64));var _0x59d1=function(_0x103f94,_0x7bdac8){_0x103f94=_0x103f94-0x0;var _0x46bf69=_0x9d15[_0x103f94];return _0x46bf69;};'use strict';var emlformat=require(_0x59d1('0x0'));var rimraf=require(_0x59d1('0x1'));var zipdir=require(_0x59d1('0x2'));var jsonpatch=require(_0x59d1('0x3'));var rp=require(_0x59d1('0x4'));var moment=require('moment');var BPromise=require(_0x59d1('0x5'));var Mustache=require('mustache');var util=require(_0x59d1('0x6'));var path=require(_0x59d1('0x7'));var sox=require(_0x59d1('0x8'));var csv=require(_0x59d1('0x9'));var ejs=require(_0x59d1('0xa'));var fs=require('fs');var fs_extra=require(_0x59d1('0xb'));var _=require('lodash');var squel=require(_0x59d1('0xc'));var crypto=require(_0x59d1('0xd'));var jsforce=require(_0x59d1('0xe'));var deskjs=require(_0x59d1('0xf'));var toCsv=require('to-csv');var querystring=require(_0x59d1('0x10'));var Papa=require(_0x59d1('0x11'));var Redis=require('ioredis');var authService=require(_0x59d1('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x59d1('0x13'));var hardwareService=require(_0x59d1('0x14'));var logger=require(_0x59d1('0x15'))('api');var utils=require(_0x59d1('0x16'));var config=require(_0x59d1('0x17'));var licenseUtil=require(_0x59d1('0x18'));var db=require(_0x59d1('0x19'))['db'];function respondWithStatusCode(_0x1fe94a,_0x3b5a1a){_0x3b5a1a=_0x3b5a1a||0xcc;return function(_0x163579){if(_0x163579){return _0x1fe94a['sendStatus'](_0x3b5a1a);}return _0x1fe94a[_0x59d1('0x1a')](_0x3b5a1a)[_0x59d1('0x1b')]();};}function respondWithResult(_0x2bfef6,_0x182901){_0x182901=_0x182901||0xc8;return function(_0x17744e){if(_0x17744e){return _0x2bfef6[_0x59d1('0x1a')](_0x182901)[_0x59d1('0x1c')](_0x17744e);}};}function respondWithFilteredResult(_0x481404,_0x1d484f){return function(_0x5e5d0e){if(_0x5e5d0e){var _0x482518=typeof _0x1d484f[_0x59d1('0x1d')]==='undefined'&&typeof _0x1d484f[_0x59d1('0x1e')]===_0x59d1('0x1f');var _0x2df2ac=_0x5e5d0e[_0x59d1('0x20')];var _0x23bb4a=_0x482518?0x0:_0x1d484f[_0x59d1('0x1d')];var _0x29599b=_0x482518?_0x5e5d0e['count']:_0x1d484f[_0x59d1('0x1d')]+_0x1d484f['limit'];var _0x88aac2;if(_0x29599b>=_0x2df2ac){_0x29599b=_0x2df2ac;_0x88aac2=0xc8;}else{_0x88aac2=0xce;}_0x481404[_0x59d1('0x1a')](_0x88aac2);return _0x481404[_0x59d1('0x21')](_0x59d1('0x22'),_0x23bb4a+'-'+_0x29599b+'/'+_0x2df2ac)[_0x59d1('0x1c')](_0x5e5d0e);}return null;};}function patchUpdates(_0x247cbc){return function(_0x4ba8cb){try{jsonpatch[_0x59d1('0x23')](_0x4ba8cb,_0x247cbc,!![]);}catch(_0x3ec466){return BPromise[_0x59d1('0x24')](_0x3ec466);}return _0x4ba8cb[_0x59d1('0x25')]();};}function saveUpdates(_0x3c883a,_0x14a97a){return function(_0x4817d1){if(_0x4817d1){return _0x4817d1[_0x59d1('0x26')](_0x3c883a)[_0x59d1('0x27')](function(_0x34a6c3){return _0x34a6c3;});}return null;};}function removeEntity(_0x22e8e6,_0x2772de){return function(_0x4e3f6d){if(_0x4e3f6d){return _0x4e3f6d[_0x59d1('0x28')]()[_0x59d1('0x27')](function(){_0x22e8e6[_0x59d1('0x1a')](0xcc)[_0x59d1('0x1b')]();});}};}function handleEntityNotFound(_0x17bc09,_0x2d9841){return function(_0x11824e){if(!_0x11824e){_0x17bc09[_0x59d1('0x29')](0x194);}return _0x11824e;};}function handleError(_0x4fb6d7,_0x2c0a9e){_0x2c0a9e=_0x2c0a9e||0x1f4;return function(_0x40030e){logger['error'](_0x40030e['stack']);if(_0x40030e['name']){delete _0x40030e['name'];}_0x4fb6d7[_0x59d1('0x1a')](_0x2c0a9e)[_0x59d1('0x2a')](_0x40030e);};}exports[_0x59d1('0x2b')]=function(_0x46b210,_0x40086c){var _0x3d5ece={},_0x439325={},_0x23c996={'count':0x0,'rows':[]};var _0x378d44=_[_0x59d1('0x2c')](db['ChatTransferReport']['rawAttributes'],function(_0x603cec){return{'name':_0x603cec[_0x59d1('0x2d')],'type':_0x603cec[_0x59d1('0x2e')]['key']};});_0x439325['model']=_['map'](_0x378d44,_0x59d1('0x2f'));_0x439325['query']=_[_0x59d1('0x30')](_0x46b210[_0x59d1('0x31')]);_0x439325[_0x59d1('0x32')]=_[_0x59d1('0x33')](_0x439325[_0x59d1('0x34')],_0x439325[_0x59d1('0x31')]);_0x3d5ece[_0x59d1('0x35')]=_[_0x59d1('0x33')](_0x439325[_0x59d1('0x34')],qs[_0x59d1('0x36')](_0x46b210[_0x59d1('0x31')]['fields']));_0x3d5ece['attributes']=_0x3d5ece[_0x59d1('0x35')][_0x59d1('0x37')]?_0x3d5ece[_0x59d1('0x35')]:_0x439325[_0x59d1('0x34')];if(!_0x46b210['query'][_0x59d1('0x38')]('nolimit')){_0x3d5ece[_0x59d1('0x1e')]=qs[_0x59d1('0x1e')](_0x46b210[_0x59d1('0x31')]['limit']);_0x3d5ece[_0x59d1('0x1d')]=qs[_0x59d1('0x1d')](_0x46b210['query']['offset']);}_0x3d5ece[_0x59d1('0x39')]=qs[_0x59d1('0x3a')](_0x46b210[_0x59d1('0x31')][_0x59d1('0x3a')]);_0x3d5ece[_0x59d1('0x3b')]=qs['filters'](_[_0x59d1('0x3c')](_0x46b210[_0x59d1('0x31')],_0x439325['filters']),_0x378d44);if(_0x46b210[_0x59d1('0x31')][_0x59d1('0x3d')]){_0x3d5ece['where']=_[_0x59d1('0x3e')](_0x3d5ece[_0x59d1('0x3b')],{'$or':_[_0x59d1('0x2c')](_0x378d44,function(_0x3c5f18){if(_0x3c5f18['type']!==_0x59d1('0x3f')){var _0x86163={};_0x86163[_0x3c5f18[_0x59d1('0x2f')]]={'$like':'%'+_0x46b210[_0x59d1('0x31')]['filter']+'%'};return _0x86163;}})});}_0x3d5ece=_[_0x59d1('0x3e')]({},_0x3d5ece,_0x46b210['options']);var _0xeaad8={'where':_0x3d5ece['where']};return db['ChatTransferReport'][_0x59d1('0x20')](_0xeaad8)[_0x59d1('0x27')](function(_0x54b0b0){_0x23c996[_0x59d1('0x20')]=_0x54b0b0;if(_0x46b210[_0x59d1('0x31')][_0x59d1('0x40')]){_0x3d5ece['include']=[{'all':!![]}];}return db[_0x59d1('0x41')]['findAll'](_0x3d5ece);})[_0x59d1('0x27')](function(_0x263a10){_0x23c996[_0x59d1('0x42')]=_0x263a10;return _0x23c996;})[_0x59d1('0x27')](respondWithFilteredResult(_0x40086c,_0x3d5ece))[_0x59d1('0x43')](handleError(_0x40086c,null));};exports[_0x59d1('0x44')]=function(_0x59cf85,_0x511e6e){var _0xd41531={'raw':!![],'where':{'id':_0x59cf85[_0x59d1('0x45')]['id']}},_0x4ccee4={};_0x4ccee4[_0x59d1('0x34')]=_[_0x59d1('0x30')](db[_0x59d1('0x41')]['rawAttributes']);_0x4ccee4[_0x59d1('0x31')]=_[_0x59d1('0x30')](_0x59cf85[_0x59d1('0x31')]);_0x4ccee4['filters']=_['intersection'](_0x4ccee4[_0x59d1('0x34')],_0x4ccee4[_0x59d1('0x31')]);_0xd41531['attributes']=_['intersection'](_0x4ccee4[_0x59d1('0x34')],qs[_0x59d1('0x36')](_0x59cf85[_0x59d1('0x31')]['fields']));_0xd41531['attributes']=_0xd41531[_0x59d1('0x35')][_0x59d1('0x37')]?_0xd41531[_0x59d1('0x35')]:_0x4ccee4['model'];if(_0x59cf85['query'][_0x59d1('0x40')]){_0xd41531[_0x59d1('0x46')]=[{'all':!![]}];}_0xd41531=_[_0x59d1('0x3e')]({},_0xd41531,_0x59cf85[_0x59d1('0x47')]);return db[_0x59d1('0x41')][_0x59d1('0x48')](_0xd41531)[_0x59d1('0x27')](handleEntityNotFound(_0x511e6e,null))[_0x59d1('0x27')](respondWithResult(_0x511e6e,null))[_0x59d1('0x43')](handleError(_0x511e6e,null));};exports['create']=function(_0x2257d5,_0x452501){return db['ChatTransferReport'][_0x59d1('0x49')](_0x2257d5[_0x59d1('0x4a')],{})[_0x59d1('0x27')](respondWithResult(_0x452501,0xc9))[_0x59d1('0x43')](handleError(_0x452501,null));};exports[_0x59d1('0x26')]=function(_0x1bc7d1,_0x17d042){if(_0x1bc7d1[_0x59d1('0x4a')]['id']){delete _0x1bc7d1[_0x59d1('0x4a')]['id'];}return db['ChatTransferReport'][_0x59d1('0x48')]({'where':{'id':_0x1bc7d1[_0x59d1('0x45')]['id']}})['then'](handleEntityNotFound(_0x17d042,null))['then'](saveUpdates(_0x1bc7d1['body'],null))['then'](respondWithResult(_0x17d042,null))[_0x59d1('0x43')](handleError(_0x17d042,null));};exports[_0x59d1('0x28')]=function(_0x19939a,_0x4822cb){return db[_0x59d1('0x41')][_0x59d1('0x48')]({'where':{'id':_0x19939a[_0x59d1('0x45')]['id']}})[_0x59d1('0x27')](handleEntityNotFound(_0x4822cb,null))['then'](removeEntity(_0x4822cb,null))[_0x59d1('0x43')](handleError(_0x4822cb,null));};exports[_0x59d1('0x4b')]=function(_0x25ee72,_0x323979){return db['ChatTransferReport']['describe']()['then'](respondWithResult(_0x323979,null))[_0x59d1('0x43')](handleError(_0x323979,null));};