90c3d8b18ccdae68a1a001e5087d9ec2d86bf54c
[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 _0x36ad=['error','stack','name','send','index','ChatTransferReport','type','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','where','pick','merge','VIRTUAL','options','includeAll','include','findAll','show','params','rawAttributes','find','create','body','catch','destroy','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','json','offset','undefined','limit','count','status','Content-Range','apply','reject','save','update','then'];(function(_0xa464c9,_0x7c86d8){var _0x3d73c4=function(_0x5c2056){while(--_0x5c2056){_0xa464c9['push'](_0xa464c9['shift']());}};_0x3d73c4(++_0x7c86d8);}(_0x36ad,0x1e6));var _0xd36a=function(_0x541a41,_0x1e6b12){_0x541a41=_0x541a41-0x0;var _0x4bd45c=_0x36ad[_0x541a41];return _0x4bd45c;};'use strict';var emlformat=require(_0xd36a('0x0'));var rimraf=require(_0xd36a('0x1'));var zipdir=require(_0xd36a('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd36a('0x3'));var moment=require(_0xd36a('0x4'));var BPromise=require(_0xd36a('0x5'));var Mustache=require('mustache');var util=require(_0xd36a('0x6'));var path=require(_0xd36a('0x7'));var sox=require(_0xd36a('0x8'));var csv=require('to-csv');var ejs=require(_0xd36a('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xd36a('0xa'));var crypto=require(_0xd36a('0xb'));var jsforce=require(_0xd36a('0xc'));var deskjs=require(_0xd36a('0xd'));var toCsv=require(_0xd36a('0xe'));var querystring=require(_0xd36a('0xf'));var Papa=require(_0xd36a('0x10'));var Redis=require(_0xd36a('0x11'));var authService=require(_0xd36a('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xd36a('0x13'));var hardwareService=require(_0xd36a('0x14'));var logger=require('../../config/logger')(_0xd36a('0x15'));var utils=require(_0xd36a('0x16'));var config=require(_0xd36a('0x17'));var licenseUtil=require(_0xd36a('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1d2e37,_0x499ad1){_0x499ad1=_0x499ad1||0xcc;return function(_0x16822b){if(_0x16822b){return _0x1d2e37[_0xd36a('0x19')](_0x499ad1);}return _0x1d2e37['status'](_0x499ad1)[_0xd36a('0x1a')]();};}function respondWithResult(_0x5e8688,_0xaa10c8){_0xaa10c8=_0xaa10c8||0xc8;return function(_0x310fdb){if(_0x310fdb){return _0x5e8688['status'](_0xaa10c8)[_0xd36a('0x1b')](_0x310fdb);}};}function respondWithFilteredResult(_0x5c91ee,_0x325b58){return function(_0x59f7a4){if(_0x59f7a4){var _0x39f47e=typeof _0x325b58[_0xd36a('0x1c')]===_0xd36a('0x1d')&&typeof _0x325b58[_0xd36a('0x1e')]===_0xd36a('0x1d');var _0x9c887=_0x59f7a4[_0xd36a('0x1f')];var _0x5886bf=_0x39f47e?0x0:_0x325b58[_0xd36a('0x1c')];var _0x10b613=_0x39f47e?_0x59f7a4[_0xd36a('0x1f')]:_0x325b58[_0xd36a('0x1c')]+_0x325b58['limit'];var _0x5241f1;if(_0x10b613>=_0x9c887){_0x10b613=_0x9c887;_0x5241f1=0xc8;}else{_0x5241f1=0xce;}_0x5c91ee[_0xd36a('0x20')](_0x5241f1);return _0x5c91ee['set'](_0xd36a('0x21'),_0x5886bf+'-'+_0x10b613+'/'+_0x9c887)['json'](_0x59f7a4);}return null;};}function patchUpdates(_0x4a276c){return function(_0x417351){try{jsonpatch[_0xd36a('0x22')](_0x417351,_0x4a276c,!![]);}catch(_0x31ab6c){return BPromise[_0xd36a('0x23')](_0x31ab6c);}return _0x417351[_0xd36a('0x24')]();};}function saveUpdates(_0x52cbff,_0xacd47f){return function(_0x43ad09){if(_0x43ad09){return _0x43ad09[_0xd36a('0x25')](_0x52cbff)['then'](function(_0x3ac923){return _0x3ac923;});}return null;};}function removeEntity(_0x56cc83,_0x2f8cf4){return function(_0x21f0df){if(_0x21f0df){return _0x21f0df['destroy']()[_0xd36a('0x26')](function(){_0x56cc83[_0xd36a('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x36bd0f,_0x5fbeb0){return function(_0x41f864){if(!_0x41f864){_0x36bd0f[_0xd36a('0x19')](0x194);}return _0x41f864;};}function handleError(_0x4b3917,_0x4b5621){_0x4b5621=_0x4b5621||0x1f4;return function(_0x52aa42){logger[_0xd36a('0x27')](_0x52aa42[_0xd36a('0x28')]);if(_0x52aa42[_0xd36a('0x29')]){delete _0x52aa42[_0xd36a('0x29')];}_0x4b3917[_0xd36a('0x20')](_0x4b5621)[_0xd36a('0x2a')](_0x52aa42);};}exports[_0xd36a('0x2b')]=function(_0x1e256d,_0x3da35f){var _0x49cb3a={},_0x46104b={},_0x481607={'count':0x0,'rows':[]};var _0x432297=_['map'](db[_0xd36a('0x2c')]['rawAttributes'],function(_0x129421){return{'name':_0x129421['fieldName'],'type':_0x129421[_0xd36a('0x2d')][_0xd36a('0x2e')]};});_0x46104b[_0xd36a('0x2f')]=_[_0xd36a('0x30')](_0x432297,_0xd36a('0x29'));_0x46104b[_0xd36a('0x31')]=_[_0xd36a('0x32')](_0x1e256d[_0xd36a('0x31')]);_0x46104b[_0xd36a('0x33')]=_[_0xd36a('0x34')](_0x46104b['model'],_0x46104b[_0xd36a('0x31')]);_0x49cb3a['attributes']=_['intersection'](_0x46104b[_0xd36a('0x2f')],qs[_0xd36a('0x35')](_0x1e256d[_0xd36a('0x31')][_0xd36a('0x35')]));_0x49cb3a[_0xd36a('0x36')]=_0x49cb3a[_0xd36a('0x36')][_0xd36a('0x37')]?_0x49cb3a[_0xd36a('0x36')]:_0x46104b['model'];if(!_0x1e256d[_0xd36a('0x31')][_0xd36a('0x38')](_0xd36a('0x39'))){_0x49cb3a['limit']=qs[_0xd36a('0x1e')](_0x1e256d[_0xd36a('0x31')][_0xd36a('0x1e')]);_0x49cb3a[_0xd36a('0x1c')]=qs[_0xd36a('0x1c')](_0x1e256d[_0xd36a('0x31')][_0xd36a('0x1c')]);}_0x49cb3a['order']=qs['sort'](_0x1e256d[_0xd36a('0x31')]['sort']);_0x49cb3a[_0xd36a('0x3a')]=qs[_0xd36a('0x33')](_[_0xd36a('0x3b')](_0x1e256d[_0xd36a('0x31')],_0x46104b[_0xd36a('0x33')]),_0x432297);if(_0x1e256d['query']['filter']){_0x49cb3a['where']=_[_0xd36a('0x3c')](_0x49cb3a[_0xd36a('0x3a')],{'$or':_[_0xd36a('0x30')](_0x432297,function(_0x3e2adc){if(_0x3e2adc[_0xd36a('0x2d')]!==_0xd36a('0x3d')){var _0xdabacc={};_0xdabacc[_0x3e2adc[_0xd36a('0x29')]]={'$like':'%'+_0x1e256d['query']['filter']+'%'};return _0xdabacc;}})});}_0x49cb3a=_[_0xd36a('0x3c')]({},_0x49cb3a,_0x1e256d[_0xd36a('0x3e')]);var _0x51ccfb={'where':_0x49cb3a[_0xd36a('0x3a')]};return db[_0xd36a('0x2c')]['count'](_0x51ccfb)[_0xd36a('0x26')](function(_0x2f2c15){_0x481607[_0xd36a('0x1f')]=_0x2f2c15;if(_0x1e256d[_0xd36a('0x31')][_0xd36a('0x3f')]){_0x49cb3a[_0xd36a('0x40')]=[{'all':!![]}];}return db[_0xd36a('0x2c')][_0xd36a('0x41')](_0x49cb3a);})[_0xd36a('0x26')](function(_0x3d4b1c){_0x481607['rows']=_0x3d4b1c;return _0x481607;})[_0xd36a('0x26')](respondWithFilteredResult(_0x3da35f,_0x49cb3a))['catch'](handleError(_0x3da35f,null));};exports[_0xd36a('0x42')]=function(_0x31ef4b,_0x77fda1){var _0x5af7d7={'raw':!![],'where':{'id':_0x31ef4b[_0xd36a('0x43')]['id']}},_0x467d06={};_0x467d06[_0xd36a('0x2f')]=_['keys'](db[_0xd36a('0x2c')][_0xd36a('0x44')]);_0x467d06['query']=_[_0xd36a('0x32')](_0x31ef4b[_0xd36a('0x31')]);_0x467d06['filters']=_[_0xd36a('0x34')](_0x467d06['model'],_0x467d06[_0xd36a('0x31')]);_0x5af7d7[_0xd36a('0x36')]=_['intersection'](_0x467d06[_0xd36a('0x2f')],qs[_0xd36a('0x35')](_0x31ef4b[_0xd36a('0x31')][_0xd36a('0x35')]));_0x5af7d7[_0xd36a('0x36')]=_0x5af7d7[_0xd36a('0x36')]['length']?_0x5af7d7[_0xd36a('0x36')]:_0x467d06[_0xd36a('0x2f')];if(_0x31ef4b[_0xd36a('0x31')][_0xd36a('0x3f')]){_0x5af7d7[_0xd36a('0x40')]=[{'all':!![]}];}_0x5af7d7=_[_0xd36a('0x3c')]({},_0x5af7d7,_0x31ef4b['options']);return db[_0xd36a('0x2c')][_0xd36a('0x45')](_0x5af7d7)[_0xd36a('0x26')](handleEntityNotFound(_0x77fda1,null))[_0xd36a('0x26')](respondWithResult(_0x77fda1,null))['catch'](handleError(_0x77fda1,null));};exports[_0xd36a('0x46')]=function(_0x1626a2,_0x2f2c09){return db[_0xd36a('0x2c')]['create'](_0x1626a2[_0xd36a('0x47')],{})['then'](respondWithResult(_0x2f2c09,0xc9))[_0xd36a('0x48')](handleError(_0x2f2c09,null));};exports[_0xd36a('0x25')]=function(_0x556f7a,_0x586a9e){if(_0x556f7a['body']['id']){delete _0x556f7a[_0xd36a('0x47')]['id'];}return db[_0xd36a('0x2c')][_0xd36a('0x45')]({'where':{'id':_0x556f7a[_0xd36a('0x43')]['id']}})[_0xd36a('0x26')](handleEntityNotFound(_0x586a9e,null))[_0xd36a('0x26')](saveUpdates(_0x556f7a['body'],null))[_0xd36a('0x26')](respondWithResult(_0x586a9e,null))['catch'](handleError(_0x586a9e,null));};exports[_0xd36a('0x49')]=function(_0x157661,_0x2a96d0){return db['ChatTransferReport'][_0xd36a('0x45')]({'where':{'id':_0x157661[_0xd36a('0x43')]['id']}})['then'](handleEntityNotFound(_0x2a96d0,null))['then'](removeEntity(_0x2a96d0,null))[_0xd36a('0x48')](handleError(_0x2a96d0,null));};exports['describe']=function(_0x32ad5d,_0x70136e){return db[_0xd36a('0x2c')][_0xd36a('0x4a')]()[_0xd36a('0x26')](respondWithResult(_0x70136e,null))[_0xd36a('0x48')](handleError(_0x70136e,null));};