Built motion from commit 936e8062.|2.5.33
[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 _0x631d=['keys','query','filters','intersection','model','attributes','fields','nolimit','sort','pick','filter','where','merge','show','params','length','includeAll','include','options','find','catch','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','sox','ejs','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','map','IntegrationReport','rawAttributes','fieldName','type','key'];(function(_0x137bbb,_0x1867cc){var _0x464359=function(_0x242089){while(--_0x242089){_0x137bbb['push'](_0x137bbb['shift']());}};_0x464359(++_0x1867cc);}(_0x631d,0xf0));var _0xd631=function(_0x4715fe,_0x590fd2){_0x4715fe=_0x4715fe-0x0;var _0x59255c=_0x631d[_0x4715fe];return _0x59255c;};'use strict';var emlformat=require(_0xd631('0x0'));var rimraf=require(_0xd631('0x1'));var zipdir=require(_0xd631('0x2'));var jsonpatch=require(_0xd631('0x3'));var rp=require(_0xd631('0x4'));var moment=require('moment');var BPromise=require(_0xd631('0x5'));var Mustache=require('mustache');var util=require(_0xd631('0x6'));var path=require('path');var sox=require(_0xd631('0x7'));var csv=require('to-csv');var ejs=require(_0xd631('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xd631('0x9'));var crypto=require(_0xd631('0xa'));var jsforce=require(_0xd631('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xd631('0xc'));var querystring=require(_0xd631('0xd'));var Papa=require(_0xd631('0xe'));var Redis=require(_0xd631('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xd631('0x10'));var as=require(_0xd631('0x11'));var hardwareService=require(_0xd631('0x12'));var logger=require(_0xd631('0x13'))(_0xd631('0x14'));var utils=require(_0xd631('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xd631('0x16'));var db=require(_0xd631('0x17'))['db'];function respondWithStatusCode(_0x49f8f0,_0x14c51e){_0x14c51e=_0x14c51e||0xcc;return function(_0x3eeafb){if(_0x3eeafb){return _0x49f8f0[_0xd631('0x18')](_0x14c51e);}return _0x49f8f0[_0xd631('0x19')](_0x14c51e)['end']();};}function respondWithResult(_0x4b2548,_0x4abc13){_0x4abc13=_0x4abc13||0xc8;return function(_0x5dd5f5){if(_0x5dd5f5){return _0x4b2548[_0xd631('0x19')](_0x4abc13)[_0xd631('0x1a')](_0x5dd5f5);}};}function respondWithFilteredResult(_0x125d00,_0x5c89ab){return function(_0x4571ce){if(_0x4571ce){var _0x6b5cf6=typeof _0x5c89ab[_0xd631('0x1b')]===_0xd631('0x1c')&&typeof _0x5c89ab[_0xd631('0x1d')]===_0xd631('0x1c');var _0x2aef73=_0x4571ce['count'];var _0x2755be=_0x6b5cf6?0x0:_0x5c89ab[_0xd631('0x1b')];var _0x229876=_0x6b5cf6?_0x4571ce[_0xd631('0x1e')]:_0x5c89ab[_0xd631('0x1b')]+_0x5c89ab[_0xd631('0x1d')];var _0x54b7a3;if(_0x229876>=_0x2aef73){_0x229876=_0x2aef73;_0x54b7a3=0xc8;}else{_0x54b7a3=0xce;}_0x125d00[_0xd631('0x19')](_0x54b7a3);return _0x125d00[_0xd631('0x1f')](_0xd631('0x20'),_0x2755be+'-'+_0x229876+'/'+_0x2aef73)['json'](_0x4571ce);}return null;};}function patchUpdates(_0x360da6){return function(_0x163824){try{jsonpatch[_0xd631('0x21')](_0x163824,_0x360da6,!![]);}catch(_0x3a87c2){return BPromise[_0xd631('0x22')](_0x3a87c2);}return _0x163824['save']();};}function saveUpdates(_0x2e9029,_0x9365b9){return function(_0x4290de){if(_0x4290de){return _0x4290de[_0xd631('0x23')](_0x2e9029)[_0xd631('0x24')](function(_0x55e215){return _0x55e215;});}return null;};}function removeEntity(_0x3441a9,_0x4f092d){return function(_0x18f310){if(_0x18f310){return _0x18f310[_0xd631('0x25')]()[_0xd631('0x24')](function(){_0x3441a9[_0xd631('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x539c81,_0x2a84c8){return function(_0xb4b89f){if(!_0xb4b89f){_0x539c81['sendStatus'](0x194);}return _0xb4b89f;};}function handleError(_0x2e6c33,_0x274832){_0x274832=_0x274832||0x1f4;return function(_0xf45459){logger[_0xd631('0x26')](_0xf45459[_0xd631('0x27')]);if(_0xf45459[_0xd631('0x28')]){delete _0xf45459[_0xd631('0x28')];}_0x2e6c33[_0xd631('0x19')](_0x274832)[_0xd631('0x29')](_0xf45459);};}exports['index']=function(_0x2c108a,_0x403aab){var _0xf2699f={},_0x38a432={},_0x308300={'count':0x0,'rows':[]};var _0x28f37d=_[_0xd631('0x2a')](db[_0xd631('0x2b')][_0xd631('0x2c')],function(_0x2c1bbf){return{'name':_0x2c1bbf[_0xd631('0x2d')],'type':_0x2c1bbf[_0xd631('0x2e')][_0xd631('0x2f')]};});_0x38a432['model']=_[_0xd631('0x2a')](_0x28f37d,'name');_0x38a432['query']=_[_0xd631('0x30')](_0x2c108a[_0xd631('0x31')]);_0x38a432[_0xd631('0x32')]=_[_0xd631('0x33')](_0x38a432[_0xd631('0x34')],_0x38a432[_0xd631('0x31')]);_0xf2699f[_0xd631('0x35')]=_[_0xd631('0x33')](_0x38a432['model'],qs['fields'](_0x2c108a['query'][_0xd631('0x36')]));_0xf2699f[_0xd631('0x35')]=_0xf2699f['attributes']['length']?_0xf2699f[_0xd631('0x35')]:_0x38a432['model'];if(!_0x2c108a[_0xd631('0x31')]['hasOwnProperty'](_0xd631('0x37'))){_0xf2699f[_0xd631('0x1d')]=qs['limit'](_0x2c108a[_0xd631('0x31')][_0xd631('0x1d')]);_0xf2699f[_0xd631('0x1b')]=qs['offset'](_0x2c108a[_0xd631('0x31')][_0xd631('0x1b')]);}_0xf2699f['order']=qs[_0xd631('0x38')](_0x2c108a[_0xd631('0x31')]['sort']);_0xf2699f['where']=qs[_0xd631('0x32')](_[_0xd631('0x39')](_0x2c108a[_0xd631('0x31')],_0x38a432[_0xd631('0x32')]),_0x28f37d);if(_0x2c108a['query'][_0xd631('0x3a')]){_0xf2699f[_0xd631('0x3b')]=_[_0xd631('0x3c')](_0xf2699f[_0xd631('0x3b')],{'$or':_[_0xd631('0x2a')](_0x28f37d,function(_0x301752){if(_0x301752[_0xd631('0x2e')]!=='VIRTUAL'){var _0x360f80={};_0x360f80[_0x301752['name']]={'$like':'%'+_0x2c108a[_0xd631('0x31')][_0xd631('0x3a')]+'%'};return _0x360f80;}})});}_0xf2699f=_[_0xd631('0x3c')]({},_0xf2699f,_0x2c108a['options']);var _0x39a3df={'where':_0xf2699f[_0xd631('0x3b')]};return db[_0xd631('0x2b')][_0xd631('0x1e')](_0x39a3df)[_0xd631('0x24')](function(_0x369ec4){_0x308300[_0xd631('0x1e')]=_0x369ec4;if(_0x2c108a['query']['includeAll']){_0xf2699f['include']=[{'all':!![]}];}return db[_0xd631('0x2b')]['findAll'](_0xf2699f);})['then'](function(_0x578517){_0x308300['rows']=_0x578517;return _0x308300;})[_0xd631('0x24')](respondWithFilteredResult(_0x403aab,_0xf2699f))['catch'](handleError(_0x403aab,null));};exports[_0xd631('0x3d')]=function(_0x5f1d3b,_0x145412){var _0x17a9b4={'raw':![],'where':{'id':_0x5f1d3b[_0xd631('0x3e')]['id']}},_0x3bbb47={};_0x3bbb47[_0xd631('0x34')]=_[_0xd631('0x30')](db[_0xd631('0x2b')]['rawAttributes']);_0x3bbb47[_0xd631('0x31')]=_[_0xd631('0x30')](_0x5f1d3b[_0xd631('0x31')]);_0x3bbb47['filters']=_[_0xd631('0x33')](_0x3bbb47[_0xd631('0x34')],_0x3bbb47[_0xd631('0x31')]);_0x17a9b4[_0xd631('0x35')]=_['intersection'](_0x3bbb47[_0xd631('0x34')],qs['fields'](_0x5f1d3b['query'][_0xd631('0x36')]));_0x17a9b4[_0xd631('0x35')]=_0x17a9b4[_0xd631('0x35')][_0xd631('0x3f')]?_0x17a9b4['attributes']:_0x3bbb47[_0xd631('0x34')];if(_0x5f1d3b['query'][_0xd631('0x40')]){_0x17a9b4[_0xd631('0x41')]=[{'all':!![]}];}_0x17a9b4=_['merge']({},_0x17a9b4,_0x5f1d3b[_0xd631('0x42')]);return db[_0xd631('0x2b')][_0xd631('0x43')](_0x17a9b4)['then'](handleEntityNotFound(_0x145412,null))[_0xd631('0x24')](respondWithResult(_0x145412,null))[_0xd631('0x44')](handleError(_0x145412,null));};exports[_0xd631('0x45')]=function(_0x1bb185,_0x538252){return db[_0xd631('0x2b')]['create'](_0x1bb185[_0xd631('0x46')],{})[_0xd631('0x24')](respondWithResult(_0x538252,0xc9))[_0xd631('0x44')](handleError(_0x538252,null));};exports['update']=function(_0x15d5ba,_0x2c56e0){if(_0x15d5ba[_0xd631('0x46')]['id']){delete _0x15d5ba[_0xd631('0x46')]['id'];}return db[_0xd631('0x2b')][_0xd631('0x43')]({'where':{'id':_0x15d5ba['params']['id']}})[_0xd631('0x24')](handleEntityNotFound(_0x2c56e0,null))['then'](saveUpdates(_0x15d5ba[_0xd631('0x46')],null))[_0xd631('0x24')](respondWithResult(_0x2c56e0,null))['catch'](handleError(_0x2c56e0,null));};exports[_0xd631('0x25')]=function(_0x238f89,_0x583ac2){return db[_0xd631('0x2b')][_0xd631('0x43')]({'where':{'id':_0x238f89[_0xd631('0x3e')]['id']}})[_0xd631('0x24')](handleEntityNotFound(_0x583ac2,null))[_0xd631('0x24')](removeEntity(_0x583ac2,null))[_0xd631('0x44')](handleError(_0x583ac2,null));};exports[_0xd631('0x47')]=function(_0x2266ef,_0x31f6f3){return db[_0xd631('0x2b')]['describe']()[_0xd631('0x24')](respondWithResult(_0x31f6f3,null))[_0xd631('0x44')](handleError(_0x31f6f3,null));};