Built motion from commit 47436d59.|2.6.7
[motion2.git] / server / api / integrationReport / integrationReport.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 _0x3cd7=['then','destroy','sendStatus','stack','name','send','index','IntegrationReport','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','find','create','body','describe','eml-format','rimraf','bluebird','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','update'];(function(_0x350dc6,_0x36ab14){var _0x2e5887=function(_0x5370ad){while(--_0x5370ad){_0x350dc6['push'](_0x350dc6['shift']());}};_0x2e5887(++_0x36ab14);}(_0x3cd7,0x6e));var _0x73cd=function(_0x5677b3,_0x269da2){_0x5677b3=_0x5677b3-0x0;var _0x5077fe=_0x3cd7[_0x5677b3];return _0x5077fe;};'use strict';var emlformat=require(_0x73cd('0x0'));var rimraf=require(_0x73cd('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x73cd('0x2'));var Mustache=require('mustache');var util=require(_0x73cd('0x3'));var path=require(_0x73cd('0x4'));var sox=require(_0x73cd('0x5'));var csv=require(_0x73cd('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x73cd('0x7'));var _=require(_0x73cd('0x8'));var squel=require('squel');var crypto=require(_0x73cd('0x9'));var jsforce=require(_0x73cd('0xa'));var deskjs=require(_0x73cd('0xb'));var toCsv=require(_0x73cd('0x6'));var querystring=require(_0x73cd('0xc'));var Papa=require('papaparse');var Redis=require(_0x73cd('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x73cd('0xe'));var logger=require(_0x73cd('0xf'))('api');var utils=require(_0x73cd('0x10'));var config=require(_0x73cd('0x11'));var licenseUtil=require(_0x73cd('0x12'));var db=require(_0x73cd('0x13'))['db'];function respondWithStatusCode(_0x47c9fd,_0x19ebbb){_0x19ebbb=_0x19ebbb||0xcc;return function(_0x107be4){if(_0x107be4){return _0x47c9fd['sendStatus'](_0x19ebbb);}return _0x47c9fd[_0x73cd('0x14')](_0x19ebbb)[_0x73cd('0x15')]();};}function respondWithResult(_0x5a3e49,_0x5ddee6){_0x5ddee6=_0x5ddee6||0xc8;return function(_0x4d3e2f){if(_0x4d3e2f){return _0x5a3e49[_0x73cd('0x14')](_0x5ddee6)[_0x73cd('0x16')](_0x4d3e2f);}};}function respondWithFilteredResult(_0x45f982,_0x1790bd){return function(_0xf64168){if(_0xf64168){var _0xaaaa7b=typeof _0x1790bd['offset']===_0x73cd('0x17')&&typeof _0x1790bd['limit']==='undefined';var _0x4af013=_0xf64168[_0x73cd('0x18')];var _0x340218=_0xaaaa7b?0x0:_0x1790bd[_0x73cd('0x19')];var _0x4c6611=_0xaaaa7b?_0xf64168[_0x73cd('0x18')]:_0x1790bd[_0x73cd('0x19')]+_0x1790bd[_0x73cd('0x1a')];var _0x4672e6;if(_0x4c6611>=_0x4af013){_0x4c6611=_0x4af013;_0x4672e6=0xc8;}else{_0x4672e6=0xce;}_0x45f982['status'](_0x4672e6);return _0x45f982[_0x73cd('0x1b')](_0x73cd('0x1c'),_0x340218+'-'+_0x4c6611+'/'+_0x4af013)[_0x73cd('0x16')](_0xf64168);}return null;};}function patchUpdates(_0x4adf53){return function(_0x24c414){try{jsonpatch[_0x73cd('0x1d')](_0x24c414,_0x4adf53,!![]);}catch(_0x445ee2){return BPromise[_0x73cd('0x1e')](_0x445ee2);}return _0x24c414['save']();};}function saveUpdates(_0x32334b,_0x5103df){return function(_0x319ccf){if(_0x319ccf){return _0x319ccf[_0x73cd('0x1f')](_0x32334b)[_0x73cd('0x20')](function(_0x44b3a3){return _0x44b3a3;});}return null;};}function removeEntity(_0x6696b2,_0x3c4feb){return function(_0x16475a){if(_0x16475a){return _0x16475a[_0x73cd('0x21')]()['then'](function(){_0x6696b2[_0x73cd('0x14')](0xcc)[_0x73cd('0x15')]();});}};}function handleEntityNotFound(_0x57a184,_0x224eb4){return function(_0xa46cb0){if(!_0xa46cb0){_0x57a184[_0x73cd('0x22')](0x194);}return _0xa46cb0;};}function handleError(_0x57730f,_0x1f5244){_0x1f5244=_0x1f5244||0x1f4;return function(_0x2f543c){logger['error'](_0x2f543c[_0x73cd('0x23')]);if(_0x2f543c[_0x73cd('0x24')]){delete _0x2f543c[_0x73cd('0x24')];}_0x57730f[_0x73cd('0x14')](_0x1f5244)[_0x73cd('0x25')](_0x2f543c);};}exports[_0x73cd('0x26')]=function(_0x52c1b9,_0x11cfd4){var _0x47d193={},_0x365035={},_0x433427={'count':0x0,'rows':[]};var _0x462329=_['map'](db[_0x73cd('0x27')][_0x73cd('0x28')],function(_0x59736f){return{'name':_0x59736f[_0x73cd('0x29')],'type':_0x59736f[_0x73cd('0x2a')]['key']};});_0x365035[_0x73cd('0x2b')]=_[_0x73cd('0x2c')](_0x462329,'name');_0x365035[_0x73cd('0x2d')]=_[_0x73cd('0x2e')](_0x52c1b9[_0x73cd('0x2d')]);_0x365035[_0x73cd('0x2f')]=_[_0x73cd('0x30')](_0x365035[_0x73cd('0x2b')],_0x365035[_0x73cd('0x2d')]);_0x47d193[_0x73cd('0x31')]=_[_0x73cd('0x30')](_0x365035['model'],qs[_0x73cd('0x32')](_0x52c1b9[_0x73cd('0x2d')][_0x73cd('0x32')]));_0x47d193['attributes']=_0x47d193[_0x73cd('0x31')][_0x73cd('0x33')]?_0x47d193[_0x73cd('0x31')]:_0x365035[_0x73cd('0x2b')];if(!_0x52c1b9[_0x73cd('0x2d')][_0x73cd('0x34')](_0x73cd('0x35'))){_0x47d193[_0x73cd('0x1a')]=qs[_0x73cd('0x1a')](_0x52c1b9[_0x73cd('0x2d')][_0x73cd('0x1a')]);_0x47d193[_0x73cd('0x19')]=qs[_0x73cd('0x19')](_0x52c1b9[_0x73cd('0x2d')][_0x73cd('0x19')]);}_0x47d193[_0x73cd('0x36')]=qs[_0x73cd('0x37')](_0x52c1b9[_0x73cd('0x2d')][_0x73cd('0x37')]);_0x47d193['where']=qs['filters'](_[_0x73cd('0x38')](_0x52c1b9[_0x73cd('0x2d')],_0x365035[_0x73cd('0x2f')]),_0x462329);if(_0x52c1b9[_0x73cd('0x2d')][_0x73cd('0x39')]){_0x47d193[_0x73cd('0x3a')]=_[_0x73cd('0x3b')](_0x47d193[_0x73cd('0x3a')],{'$or':_[_0x73cd('0x2c')](_0x462329,function(_0x37128b){if(_0x37128b[_0x73cd('0x2a')]!==_0x73cd('0x3c')){var _0x47986d={};_0x47986d[_0x37128b[_0x73cd('0x24')]]={'$like':'%'+_0x52c1b9[_0x73cd('0x2d')][_0x73cd('0x39')]+'%'};return _0x47986d;}})});}_0x47d193=_['merge']({},_0x47d193,_0x52c1b9[_0x73cd('0x3d')]);var _0x2d99ad={'where':_0x47d193['where']};return db[_0x73cd('0x27')][_0x73cd('0x18')](_0x2d99ad)[_0x73cd('0x20')](function(_0x318f04){_0x433427['count']=_0x318f04;if(_0x52c1b9['query'][_0x73cd('0x3e')]){_0x47d193[_0x73cd('0x3f')]=[{'all':!![]}];}return db[_0x73cd('0x27')][_0x73cd('0x40')](_0x47d193);})[_0x73cd('0x20')](function(_0x4f1a97){_0x433427[_0x73cd('0x41')]=_0x4f1a97;return _0x433427;})[_0x73cd('0x20')](respondWithFilteredResult(_0x11cfd4,_0x47d193))[_0x73cd('0x42')](handleError(_0x11cfd4,null));};exports['show']=function(_0x50aab5,_0x379225){var _0x2f5e93={'raw':![],'where':{'id':_0x50aab5['params']['id']}},_0x940cf8={};_0x940cf8[_0x73cd('0x2b')]=_[_0x73cd('0x2e')](db[_0x73cd('0x27')]['rawAttributes']);_0x940cf8[_0x73cd('0x2d')]=_[_0x73cd('0x2e')](_0x50aab5['query']);_0x940cf8[_0x73cd('0x2f')]=_[_0x73cd('0x30')](_0x940cf8[_0x73cd('0x2b')],_0x940cf8[_0x73cd('0x2d')]);_0x2f5e93[_0x73cd('0x31')]=_[_0x73cd('0x30')](_0x940cf8[_0x73cd('0x2b')],qs[_0x73cd('0x32')](_0x50aab5[_0x73cd('0x2d')][_0x73cd('0x32')]));_0x2f5e93[_0x73cd('0x31')]=_0x2f5e93['attributes'][_0x73cd('0x33')]?_0x2f5e93[_0x73cd('0x31')]:_0x940cf8[_0x73cd('0x2b')];if(_0x50aab5[_0x73cd('0x2d')][_0x73cd('0x3e')]){_0x2f5e93['include']=[{'all':!![]}];}_0x2f5e93=_[_0x73cd('0x3b')]({},_0x2f5e93,_0x50aab5['options']);return db[_0x73cd('0x27')][_0x73cd('0x43')](_0x2f5e93)[_0x73cd('0x20')](handleEntityNotFound(_0x379225,null))[_0x73cd('0x20')](respondWithResult(_0x379225,null))[_0x73cd('0x42')](handleError(_0x379225,null));};exports[_0x73cd('0x44')]=function(_0x564a18,_0x312c5a){return db['IntegrationReport']['create'](_0x564a18[_0x73cd('0x45')],{})[_0x73cd('0x20')](respondWithResult(_0x312c5a,0xc9))[_0x73cd('0x42')](handleError(_0x312c5a,null));};exports['update']=function(_0x4bfe65,_0x315844){if(_0x4bfe65[_0x73cd('0x45')]['id']){delete _0x4bfe65[_0x73cd('0x45')]['id'];}return db[_0x73cd('0x27')][_0x73cd('0x43')]({'where':{'id':_0x4bfe65['params']['id']}})[_0x73cd('0x20')](handleEntityNotFound(_0x315844,null))[_0x73cd('0x20')](saveUpdates(_0x4bfe65['body'],null))['then'](respondWithResult(_0x315844,null))['catch'](handleError(_0x315844,null));};exports[_0x73cd('0x21')]=function(_0x41ab2c,_0x29e044){return db[_0x73cd('0x27')]['find']({'where':{'id':_0x41ab2c['params']['id']}})[_0x73cd('0x20')](handleEntityNotFound(_0x29e044,null))[_0x73cd('0x20')](removeEntity(_0x29e044,null))[_0x73cd('0x42')](handleError(_0x29e044,null));};exports['describe']=function(_0x2cfe95,_0x59b492){return db[_0x73cd('0x27')][_0x73cd('0x46')]()['then'](respondWithResult(_0x59b492,null))[_0x73cd('0x42')](handleError(_0x59b492,null));};