f4c70ffb7f2816eb387c7212ab3a2ee2e793f3f5
[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 _0x8830=['status','json','count','offset','set','Content-Range','reject','save','update','then','sendStatus','error','stack','name','send','index','IntegrationReport','rawAttributes','fieldName','type','key','model','map','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','params','find','body','destroy','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x8830,0xcc));var _0x0883=function(_0x409026,_0x3dd24a){_0x409026=_0x409026-0x0;var _0x10b64c=_0x8830[_0x409026];return _0x10b64c;};'use strict';var pdf=require(_0x0883('0x0'));var emlformat=require(_0x0883('0x1'));var rimraf=require(_0x0883('0x2'));var zipdir=require(_0x0883('0x3'));var jsonpatch=require(_0x0883('0x4'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x0883('0x5'));var util=require(_0x0883('0x6'));var path=require(_0x0883('0x7'));var sox=require(_0x0883('0x8'));var csv=require('to-csv');var ejs=require(_0x0883('0x9'));var fs=require('fs');var _=require(_0x0883('0xa'));var squel=require('squel');var crypto=require(_0x0883('0xb'));var jsforce=require(_0x0883('0xc'));var deskjs=require(_0x0883('0xd'));var toCsv=require(_0x0883('0xe'));var querystring=require(_0x0883('0xf'));var Papa=require(_0x0883('0x10'));var Redis=require(_0x0883('0x11'));var authService=require(_0x0883('0x12'));var qs=require(_0x0883('0x13'));var as=require(_0x0883('0x14'));var hardwareService=require(_0x0883('0x15'));var logger=require('../../config/logger')(_0x0883('0x16'));var utils=require(_0x0883('0x17'));var config=require(_0x0883('0x18'));var licenseUtil=require(_0x0883('0x19'));var db=require(_0x0883('0x1a'))['db'];function respondWithStatusCode(_0x2476b2,_0x227a7b){_0x227a7b=_0x227a7b||0xcc;return function(_0x2daf2c){if(_0x2daf2c){return _0x2476b2['sendStatus'](_0x227a7b);}return _0x2476b2['status'](_0x227a7b)['end']();};}function respondWithResult(_0x5a7aa5,_0x23974c){_0x23974c=_0x23974c||0xc8;return function(_0x5d1873){if(_0x5d1873){return _0x5a7aa5[_0x0883('0x1b')](_0x23974c)[_0x0883('0x1c')](_0x5d1873);}};}function respondWithFilteredResult(_0x3a353d,_0x1aa00e){return function(_0x3f4a9f){if(_0x3f4a9f){var _0x1ee141=_0x3f4a9f[_0x0883('0x1d')],_0x4beffe=_0x1aa00e['offset'],_0x36da9d=_0x1aa00e[_0x0883('0x1e')]+_0x1aa00e['limit'],_0x50ae2d;if(_0x36da9d>=_0x1ee141){_0x36da9d=_0x1ee141;_0x50ae2d=0xc8;}else{_0x50ae2d=0xce;}_0x3a353d[_0x0883('0x1b')](_0x50ae2d);return _0x3a353d[_0x0883('0x1f')](_0x0883('0x20'),_0x4beffe+'-'+_0x36da9d+'/'+_0x1ee141)[_0x0883('0x1c')](_0x3f4a9f);}return null;};}function patchUpdates(_0x314ba4){return function(_0x55bba5){try{jsonpatch['apply'](_0x55bba5,_0x314ba4,!![]);}catch(_0x5e13f2){return BPromise[_0x0883('0x21')](_0x5e13f2);}return _0x55bba5[_0x0883('0x22')]();};}function saveUpdates(_0xc30f6f,_0x12a41b){return function(_0x51d105){if(_0x51d105){return _0x51d105[_0x0883('0x23')](_0xc30f6f)[_0x0883('0x24')](function(_0x33b0ce){return _0x33b0ce;});}return null;};}function removeEntity(_0x23586f,_0x4d26ca){return function(_0x43929d){if(_0x43929d){return _0x43929d['destroy']()['then'](function(){_0x23586f[_0x0883('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1fc832,_0x1735e2){return function(_0x2a009c){if(!_0x2a009c){_0x1fc832[_0x0883('0x25')](0x194);}return _0x2a009c;};}function handleError(_0xa10013,_0x1979de){_0x1979de=_0x1979de||0x1f4;return function(_0x32709d){logger[_0x0883('0x26')](_0x32709d[_0x0883('0x27')]);if(_0x32709d['name']){delete _0x32709d[_0x0883('0x28')];}_0xa10013[_0x0883('0x1b')](_0x1979de)[_0x0883('0x29')](_0x32709d);};}exports[_0x0883('0x2a')]=function(_0x41f71c,_0x2dcf57){var _0x3d807c={},_0x36f2fb={},_0xacdefa={'count':0x0,'rows':[]};var _0x398f87=_['map'](db[_0x0883('0x2b')][_0x0883('0x2c')],function(_0x4ce198){return{'name':_0x4ce198[_0x0883('0x2d')],'type':_0x4ce198[_0x0883('0x2e')][_0x0883('0x2f')]};});_0x36f2fb[_0x0883('0x30')]=_[_0x0883('0x31')](_0x398f87,_0x0883('0x28'));_0x36f2fb['query']=_[_0x0883('0x32')](_0x41f71c[_0x0883('0x33')]);_0x36f2fb[_0x0883('0x34')]=_['intersection'](_0x36f2fb[_0x0883('0x30')],_0x36f2fb['query']);_0x3d807c[_0x0883('0x35')]=_[_0x0883('0x36')](_0x36f2fb['model'],qs['fields'](_0x41f71c[_0x0883('0x33')][_0x0883('0x37')]));_0x3d807c['attributes']=_0x3d807c['attributes'][_0x0883('0x38')]?_0x3d807c[_0x0883('0x35')]:_0x36f2fb['model'];if(!_0x41f71c[_0x0883('0x33')][_0x0883('0x39')](_0x0883('0x3a'))){_0x3d807c[_0x0883('0x3b')]=qs[_0x0883('0x3b')](_0x41f71c['query'][_0x0883('0x3b')]);_0x3d807c['offset']=qs[_0x0883('0x1e')](_0x41f71c[_0x0883('0x33')][_0x0883('0x1e')]);}_0x3d807c[_0x0883('0x3c')]=qs[_0x0883('0x3d')](_0x41f71c[_0x0883('0x33')][_0x0883('0x3d')]);_0x3d807c[_0x0883('0x3e')]=qs['filters'](_['pick'](_0x41f71c[_0x0883('0x33')],_0x36f2fb[_0x0883('0x34')]),_0x398f87);if(_0x41f71c[_0x0883('0x33')][_0x0883('0x3f')]){_0x3d807c['where']=_[_0x0883('0x40')](_0x3d807c[_0x0883('0x3e')],{'$or':_[_0x0883('0x31')](_0x398f87,function(_0x529383){if(_0x529383[_0x0883('0x2e')]!==_0x0883('0x41')){var _0x1bc87c={};_0x1bc87c[_0x529383[_0x0883('0x28')]]={'$like':'%'+_0x41f71c['query'][_0x0883('0x3f')]+'%'};return _0x1bc87c;}})});}_0x3d807c=_['merge']({},_0x3d807c,_0x41f71c[_0x0883('0x42')]);var _0x52ec16={'where':_0x3d807c[_0x0883('0x3e')]};return db['IntegrationReport'][_0x0883('0x1d')](_0x52ec16)[_0x0883('0x24')](function(_0x3f3f82){_0xacdefa[_0x0883('0x1d')]=_0x3f3f82;if(_0x41f71c['query'][_0x0883('0x43')]){_0x3d807c[_0x0883('0x44')]=[{'all':!![]}];}return db[_0x0883('0x2b')][_0x0883('0x45')](_0x3d807c);})[_0x0883('0x24')](function(_0x313787){_0xacdefa['rows']=_0x313787;return _0xacdefa;})[_0x0883('0x24')](respondWithFilteredResult(_0x2dcf57,_0x3d807c))[_0x0883('0x46')](handleError(_0x2dcf57,null));};exports[_0x0883('0x47')]=function(_0x3dd4e9,_0xa914f6){var _0xe585a2={'raw':![],'where':{'id':_0x3dd4e9[_0x0883('0x48')]['id']}},_0x3fd2f7={};_0x3fd2f7[_0x0883('0x30')]=_['keys'](db['IntegrationReport']['rawAttributes']);_0x3fd2f7['query']=_[_0x0883('0x32')](_0x3dd4e9[_0x0883('0x33')]);_0x3fd2f7[_0x0883('0x34')]=_[_0x0883('0x36')](_0x3fd2f7[_0x0883('0x30')],_0x3fd2f7[_0x0883('0x33')]);_0xe585a2[_0x0883('0x35')]=_[_0x0883('0x36')](_0x3fd2f7[_0x0883('0x30')],qs[_0x0883('0x37')](_0x3dd4e9['query'][_0x0883('0x37')]));_0xe585a2[_0x0883('0x35')]=_0xe585a2[_0x0883('0x35')][_0x0883('0x38')]?_0xe585a2[_0x0883('0x35')]:_0x3fd2f7['model'];if(_0x3dd4e9[_0x0883('0x33')][_0x0883('0x43')]){_0xe585a2[_0x0883('0x44')]=[{'all':!![]}];}_0xe585a2=_[_0x0883('0x40')]({},_0xe585a2,_0x3dd4e9[_0x0883('0x42')]);return db['IntegrationReport'][_0x0883('0x49')](_0xe585a2)[_0x0883('0x24')](handleEntityNotFound(_0xa914f6,null))['then'](respondWithResult(_0xa914f6,null))[_0x0883('0x46')](handleError(_0xa914f6,null));};exports['create']=function(_0x3b4ed7,_0x302a74){return db[_0x0883('0x2b')]['create'](_0x3b4ed7['body'],{})[_0x0883('0x24')](respondWithResult(_0x302a74,0xc9))['catch'](handleError(_0x302a74,null));};exports[_0x0883('0x23')]=function(_0x28f956,_0x1eadbe){if(_0x28f956[_0x0883('0x4a')]['id']){delete _0x28f956[_0x0883('0x4a')]['id'];}return db[_0x0883('0x2b')][_0x0883('0x49')]({'where':{'id':_0x28f956['params']['id']}})[_0x0883('0x24')](handleEntityNotFound(_0x1eadbe,null))['then'](saveUpdates(_0x28f956['body'],null))[_0x0883('0x24')](respondWithResult(_0x1eadbe,null))['catch'](handleError(_0x1eadbe,null));};exports[_0x0883('0x4b')]=function(_0x4af35d,_0x3f5031){return db[_0x0883('0x2b')][_0x0883('0x49')]({'where':{'id':_0x4af35d[_0x0883('0x48')]['id']}})[_0x0883('0x24')](handleEntityNotFound(_0x3f5031,null))[_0x0883('0x24')](removeEntity(_0x3f5031,null))[_0x0883('0x46')](handleError(_0x3f5031,null));};exports['describe']=function(_0x4c64ff,_0x5b7cfa){return db[_0x0883('0x2b')][_0x0883('0x4c')]()[_0x0883('0x24')](respondWithResult(_0x5b7cfa,null))[_0x0883('0x46')](handleError(_0x5b7cfa,null));};