19884aa8ee3f87f44c72cebe24372d2879837d3a
[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 _0x988a=['offset','limit','status','set','json','reject','save','then','destroy','sendStatus','name','send','map','ChatTransferReport','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','rawAttributes','length','find','body','update','describe','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','end','undefined','count'];(function(_0x431ae1,_0x385f06){var _0x27fcbd=function(_0x16e71f){while(--_0x16e71f){_0x431ae1['push'](_0x431ae1['shift']());}};_0x27fcbd(++_0x385f06);}(_0x988a,0x14c));var _0xa988=function(_0x244dd7,_0x2c3f28){_0x244dd7=_0x244dd7-0x0;var _0xa2432c=_0x988a[_0x244dd7];return _0xa2432c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa988('0x0'));var zipdir=require(_0xa988('0x1'));var jsonpatch=require(_0xa988('0x2'));var rp=require(_0xa988('0x3'));var moment=require('moment');var BPromise=require(_0xa988('0x4'));var Mustache=require('mustache');var util=require(_0xa988('0x5'));var path=require(_0xa988('0x6'));var sox=require(_0xa988('0x7'));var csv=require(_0xa988('0x8'));var ejs=require(_0xa988('0x9'));var fs=require('fs');var fs_extra=require(_0xa988('0xa'));var _=require(_0xa988('0xb'));var squel=require(_0xa988('0xc'));var crypto=require('crypto');var jsforce=require(_0xa988('0xd'));var deskjs=require(_0xa988('0xe'));var toCsv=require(_0xa988('0x8'));var querystring=require(_0xa988('0xf'));var Papa=require(_0xa988('0x10'));var Redis=require(_0xa988('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xa988('0x12'));var hardwareService=require(_0xa988('0x13'));var logger=require(_0xa988('0x14'))(_0xa988('0x15'));var utils=require(_0xa988('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xa988('0x17'));var db=require(_0xa988('0x18'))['db'];function respondWithStatusCode(_0x4d2079,_0x3e8f62){_0x3e8f62=_0x3e8f62||0xcc;return function(_0x4b9d51){if(_0x4b9d51){return _0x4d2079['sendStatus'](_0x3e8f62);}return _0x4d2079['status'](_0x3e8f62)[_0xa988('0x19')]();};}function respondWithResult(_0x283071,_0x13b430){_0x13b430=_0x13b430||0xc8;return function(_0x531bae){if(_0x531bae){return _0x283071['status'](_0x13b430)['json'](_0x531bae);}};}function respondWithFilteredResult(_0x554e0c,_0x3fce85){return function(_0x5770da){if(_0x5770da){var _0x2f1c5d=typeof _0x3fce85['offset']===_0xa988('0x1a')&&typeof _0x3fce85['limit']===_0xa988('0x1a');var _0x51e067=_0x5770da[_0xa988('0x1b')];var _0x111ceb=_0x2f1c5d?0x0:_0x3fce85[_0xa988('0x1c')];var _0x4e760f=_0x2f1c5d?_0x5770da[_0xa988('0x1b')]:_0x3fce85[_0xa988('0x1c')]+_0x3fce85[_0xa988('0x1d')];var _0x33c21d;if(_0x4e760f>=_0x51e067){_0x4e760f=_0x51e067;_0x33c21d=0xc8;}else{_0x33c21d=0xce;}_0x554e0c[_0xa988('0x1e')](_0x33c21d);return _0x554e0c[_0xa988('0x1f')]('Content-Range',_0x111ceb+'-'+_0x4e760f+'/'+_0x51e067)[_0xa988('0x20')](_0x5770da);}return null;};}function patchUpdates(_0x4cae59){return function(_0xda34f){try{jsonpatch['apply'](_0xda34f,_0x4cae59,!![]);}catch(_0x5c8543){return BPromise[_0xa988('0x21')](_0x5c8543);}return _0xda34f[_0xa988('0x22')]();};}function saveUpdates(_0x44ad56,_0x187b3c){return function(_0x3d2c6f){if(_0x3d2c6f){return _0x3d2c6f['update'](_0x44ad56)[_0xa988('0x23')](function(_0x10b786){return _0x10b786;});}return null;};}function removeEntity(_0x5c336c,_0x5e04e9){return function(_0x4a3ecd){if(_0x4a3ecd){return _0x4a3ecd[_0xa988('0x24')]()['then'](function(){_0x5c336c['status'](0xcc)[_0xa988('0x19')]();});}};}function handleEntityNotFound(_0x28755e,_0x1858c2){return function(_0x57b5ab){if(!_0x57b5ab){_0x28755e[_0xa988('0x25')](0x194);}return _0x57b5ab;};}function handleError(_0x1082e8,_0x3dd3b5){_0x3dd3b5=_0x3dd3b5||0x1f4;return function(_0x3114e6){logger['error'](_0x3114e6['stack']);if(_0x3114e6[_0xa988('0x26')]){delete _0x3114e6[_0xa988('0x26')];}_0x1082e8[_0xa988('0x1e')](_0x3dd3b5)[_0xa988('0x27')](_0x3114e6);};}exports['index']=function(_0x13f104,_0x4a2c4c){var _0x3e44ed={},_0x1f85c7={},_0x35a02c={'count':0x0,'rows':[]};var _0x29e594=_[_0xa988('0x28')](db[_0xa988('0x29')]['rawAttributes'],function(_0x46152b){return{'name':_0x46152b['fieldName'],'type':_0x46152b[_0xa988('0x2a')][_0xa988('0x2b')]};});_0x1f85c7[_0xa988('0x2c')]=_[_0xa988('0x28')](_0x29e594,_0xa988('0x26'));_0x1f85c7[_0xa988('0x2d')]=_[_0xa988('0x2e')](_0x13f104['query']);_0x1f85c7[_0xa988('0x2f')]=_[_0xa988('0x30')](_0x1f85c7[_0xa988('0x2c')],_0x1f85c7['query']);_0x3e44ed[_0xa988('0x31')]=_['intersection'](_0x1f85c7[_0xa988('0x2c')],qs[_0xa988('0x32')](_0x13f104['query']['fields']));_0x3e44ed[_0xa988('0x31')]=_0x3e44ed[_0xa988('0x31')]['length']?_0x3e44ed[_0xa988('0x31')]:_0x1f85c7['model'];if(!_0x13f104[_0xa988('0x2d')][_0xa988('0x33')]('nolimit')){_0x3e44ed[_0xa988('0x1d')]=qs[_0xa988('0x1d')](_0x13f104['query'][_0xa988('0x1d')]);_0x3e44ed[_0xa988('0x1c')]=qs[_0xa988('0x1c')](_0x13f104[_0xa988('0x2d')][_0xa988('0x1c')]);}_0x3e44ed[_0xa988('0x34')]=qs['sort'](_0x13f104[_0xa988('0x2d')][_0xa988('0x35')]);_0x3e44ed[_0xa988('0x36')]=qs['filters'](_[_0xa988('0x37')](_0x13f104[_0xa988('0x2d')],_0x1f85c7[_0xa988('0x2f')]),_0x29e594);if(_0x13f104[_0xa988('0x2d')][_0xa988('0x38')]){_0x3e44ed[_0xa988('0x36')]=_[_0xa988('0x39')](_0x3e44ed[_0xa988('0x36')],{'$or':_[_0xa988('0x28')](_0x29e594,function(_0x2075b3){if(_0x2075b3[_0xa988('0x2a')]!==_0xa988('0x3a')){var _0x12f287={};_0x12f287[_0x2075b3[_0xa988('0x26')]]={'$like':'%'+_0x13f104[_0xa988('0x2d')]['filter']+'%'};return _0x12f287;}})});}_0x3e44ed=_['merge']({},_0x3e44ed,_0x13f104['options']);var _0x1bee4f={'where':_0x3e44ed['where']};return db[_0xa988('0x29')][_0xa988('0x1b')](_0x1bee4f)['then'](function(_0x13140){_0x35a02c[_0xa988('0x1b')]=_0x13140;if(_0x13f104[_0xa988('0x2d')][_0xa988('0x3b')]){_0x3e44ed[_0xa988('0x3c')]=[{'all':!![]}];}return db['ChatTransferReport'][_0xa988('0x3d')](_0x3e44ed);})[_0xa988('0x23')](function(_0x48e9e6){_0x35a02c[_0xa988('0x3e')]=_0x48e9e6;return _0x35a02c;})[_0xa988('0x23')](respondWithFilteredResult(_0x4a2c4c,_0x3e44ed))[_0xa988('0x3f')](handleError(_0x4a2c4c,null));};exports[_0xa988('0x40')]=function(_0x46f945,_0x3824a0){var _0x3859db={'raw':!![],'where':{'id':_0x46f945[_0xa988('0x41')]['id']}},_0x1c0275={};_0x1c0275[_0xa988('0x2c')]=_[_0xa988('0x2e')](db['ChatTransferReport'][_0xa988('0x42')]);_0x1c0275[_0xa988('0x2d')]=_[_0xa988('0x2e')](_0x46f945[_0xa988('0x2d')]);_0x1c0275['filters']=_['intersection'](_0x1c0275[_0xa988('0x2c')],_0x1c0275['query']);_0x3859db[_0xa988('0x31')]=_[_0xa988('0x30')](_0x1c0275['model'],qs[_0xa988('0x32')](_0x46f945['query']['fields']));_0x3859db['attributes']=_0x3859db[_0xa988('0x31')][_0xa988('0x43')]?_0x3859db['attributes']:_0x1c0275[_0xa988('0x2c')];if(_0x46f945[_0xa988('0x2d')][_0xa988('0x3b')]){_0x3859db[_0xa988('0x3c')]=[{'all':!![]}];}_0x3859db=_[_0xa988('0x39')]({},_0x3859db,_0x46f945['options']);return db['ChatTransferReport'][_0xa988('0x44')](_0x3859db)['then'](handleEntityNotFound(_0x3824a0,null))[_0xa988('0x23')](respondWithResult(_0x3824a0,null))[_0xa988('0x3f')](handleError(_0x3824a0,null));};exports['create']=function(_0x190cf6,_0x2d90c2){return db[_0xa988('0x29')]['create'](_0x190cf6[_0xa988('0x45')],{})[_0xa988('0x23')](respondWithResult(_0x2d90c2,0xc9))[_0xa988('0x3f')](handleError(_0x2d90c2,null));};exports[_0xa988('0x46')]=function(_0xb5d29f,_0x17b3a3){if(_0xb5d29f[_0xa988('0x45')]['id']){delete _0xb5d29f['body']['id'];}return db['ChatTransferReport'][_0xa988('0x44')]({'where':{'id':_0xb5d29f[_0xa988('0x41')]['id']}})[_0xa988('0x23')](handleEntityNotFound(_0x17b3a3,null))[_0xa988('0x23')](saveUpdates(_0xb5d29f[_0xa988('0x45')],null))['then'](respondWithResult(_0x17b3a3,null))[_0xa988('0x3f')](handleError(_0x17b3a3,null));};exports[_0xa988('0x24')]=function(_0x525b8e,_0x308bbc){return db['ChatTransferReport'][_0xa988('0x44')]({'where':{'id':_0x525b8e[_0xa988('0x41')]['id']}})[_0xa988('0x23')](handleEntityNotFound(_0x308bbc,null))[_0xa988('0x23')](removeEntity(_0x308bbc,null))['catch'](handleError(_0x308bbc,null));};exports[_0xa988('0x47')]=function(_0x5fd77f,_0xcc8fb){return db[_0xa988('0x29')][_0xa988('0x47')]()['then'](respondWithResult(_0xcc8fb,null))[_0xa988('0x3f')](handleError(_0xcc8fb,null));};