Built motion from commit d5e4af8c.|2.6.23
[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 _0xd93d=['../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','undefined','limit','offset','count','set','apply','reject','save','update','destroy','end','stack','name','send','index','map','rawAttributes','key','model','query','intersection','fields','attributes','length','sort','where','filters','pick','filter','merge','options','IntegrationReport','then','include','catch','show','params','keys','find','create','body','describe','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs'];(function(_0x501510,_0x61caa9){var _0x1e6ee5=function(_0x32845b){while(--_0x32845b){_0x501510['push'](_0x501510['shift']());}};_0x1e6ee5(++_0x61caa9);}(_0xd93d,0x1d0));var _0xdd93=function(_0x571473,_0x334789){_0x571473=_0x571473-0x0;var _0x12722f=_0xd93d[_0x571473];return _0x12722f;};'use strict';var emlformat=require(_0xdd93('0x0'));var rimraf=require(_0xdd93('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xdd93('0x2'));var rp=require('request-promise');var moment=require(_0xdd93('0x3'));var BPromise=require(_0xdd93('0x4'));var Mustache=require(_0xdd93('0x5'));var util=require(_0xdd93('0x6'));var path=require('path');var sox=require(_0xdd93('0x7'));var csv=require(_0xdd93('0x8'));var ejs=require(_0xdd93('0x9'));var fs=require('fs');var fs_extra=require(_0xdd93('0xa'));var _=require(_0xdd93('0xb'));var squel=require('squel');var crypto=require(_0xdd93('0xc'));var jsforce=require(_0xdd93('0xd'));var deskjs=require(_0xdd93('0xe'));var toCsv=require(_0xdd93('0x8'));var querystring=require(_0xdd93('0xf'));var Papa=require(_0xdd93('0x10'));var Redis=require('ioredis');var authService=require(_0xdd93('0x11'));var qs=require(_0xdd93('0x12'));var as=require(_0xdd93('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xdd93('0x14'))('api');var utils=require(_0xdd93('0x15'));var config=require(_0xdd93('0x16'));var licenseUtil=require(_0xdd93('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1d7427,_0x688b0a){_0x688b0a=_0x688b0a||0xcc;return function(_0x1cadaa){if(_0x1cadaa){return _0x1d7427[_0xdd93('0x18')](_0x688b0a);}return _0x1d7427[_0xdd93('0x19')](_0x688b0a)['end']();};}function respondWithResult(_0x41f818,_0x400baf){_0x400baf=_0x400baf||0xc8;return function(_0x39e6cd){if(_0x39e6cd){return _0x41f818['status'](_0x400baf)[_0xdd93('0x1a')](_0x39e6cd);}};}function respondWithFilteredResult(_0x497585,_0x353349){return function(_0x4e8d39){if(_0x4e8d39){var _0x39c16a=typeof _0x353349['offset']===_0xdd93('0x1b')&&typeof _0x353349[_0xdd93('0x1c')]===_0xdd93('0x1b');var _0x504b4c=_0x4e8d39['count'];var _0x139921=_0x39c16a?0x0:_0x353349[_0xdd93('0x1d')];var _0x14e07f=_0x39c16a?_0x4e8d39[_0xdd93('0x1e')]:_0x353349['offset']+_0x353349[_0xdd93('0x1c')];var _0x39bc63;if(_0x14e07f>=_0x504b4c){_0x14e07f=_0x504b4c;_0x39bc63=0xc8;}else{_0x39bc63=0xce;}_0x497585[_0xdd93('0x19')](_0x39bc63);return _0x497585[_0xdd93('0x1f')]('Content-Range',_0x139921+'-'+_0x14e07f+'/'+_0x504b4c)[_0xdd93('0x1a')](_0x4e8d39);}return null;};}function patchUpdates(_0x3bb478){return function(_0x1971d6){try{jsonpatch[_0xdd93('0x20')](_0x1971d6,_0x3bb478,!![]);}catch(_0x54ef53){return BPromise[_0xdd93('0x21')](_0x54ef53);}return _0x1971d6[_0xdd93('0x22')]();};}function saveUpdates(_0x430c61,_0x3e6423){return function(_0x10b4c5){if(_0x10b4c5){return _0x10b4c5[_0xdd93('0x23')](_0x430c61)['then'](function(_0x140a6f){return _0x140a6f;});}return null;};}function removeEntity(_0x2a2076,_0x344f35){return function(_0x2506df){if(_0x2506df){return _0x2506df[_0xdd93('0x24')]()['then'](function(){_0x2a2076['status'](0xcc)[_0xdd93('0x25')]();});}};}function handleEntityNotFound(_0x562996,_0x16dc58){return function(_0x7ca5ab){if(!_0x7ca5ab){_0x562996[_0xdd93('0x18')](0x194);}return _0x7ca5ab;};}function handleError(_0x4ca7a8,_0x345b84){_0x345b84=_0x345b84||0x1f4;return function(_0x30f647){logger['error'](_0x30f647[_0xdd93('0x26')]);if(_0x30f647[_0xdd93('0x27')]){delete _0x30f647[_0xdd93('0x27')];}_0x4ca7a8[_0xdd93('0x19')](_0x345b84)[_0xdd93('0x28')](_0x30f647);};}exports[_0xdd93('0x29')]=function(_0x3e6f6f,_0x3306f7){var _0x171f57={},_0x2c2640={},_0x138149={'count':0x0,'rows':[]};var _0x25c14d=_[_0xdd93('0x2a')](db['IntegrationReport'][_0xdd93('0x2b')],function(_0x56760f){return{'name':_0x56760f['fieldName'],'type':_0x56760f['type'][_0xdd93('0x2c')]};});_0x2c2640[_0xdd93('0x2d')]=_[_0xdd93('0x2a')](_0x25c14d,_0xdd93('0x27'));_0x2c2640['query']=_['keys'](_0x3e6f6f[_0xdd93('0x2e')]);_0x2c2640['filters']=_[_0xdd93('0x2f')](_0x2c2640[_0xdd93('0x2d')],_0x2c2640[_0xdd93('0x2e')]);_0x171f57['attributes']=_[_0xdd93('0x2f')](_0x2c2640[_0xdd93('0x2d')],qs[_0xdd93('0x30')](_0x3e6f6f[_0xdd93('0x2e')][_0xdd93('0x30')]));_0x171f57[_0xdd93('0x31')]=_0x171f57[_0xdd93('0x31')][_0xdd93('0x32')]?_0x171f57['attributes']:_0x2c2640[_0xdd93('0x2d')];if(!_0x3e6f6f[_0xdd93('0x2e')]['hasOwnProperty']('nolimit')){_0x171f57[_0xdd93('0x1c')]=qs[_0xdd93('0x1c')](_0x3e6f6f['query'][_0xdd93('0x1c')]);_0x171f57[_0xdd93('0x1d')]=qs[_0xdd93('0x1d')](_0x3e6f6f[_0xdd93('0x2e')][_0xdd93('0x1d')]);}_0x171f57['order']=qs[_0xdd93('0x33')](_0x3e6f6f[_0xdd93('0x2e')][_0xdd93('0x33')]);_0x171f57[_0xdd93('0x34')]=qs[_0xdd93('0x35')](_[_0xdd93('0x36')](_0x3e6f6f[_0xdd93('0x2e')],_0x2c2640['filters']),_0x25c14d);if(_0x3e6f6f['query'][_0xdd93('0x37')]){_0x171f57[_0xdd93('0x34')]=_[_0xdd93('0x38')](_0x171f57[_0xdd93('0x34')],{'$or':_['map'](_0x25c14d,function(_0x4169dc){if(_0x4169dc['type']!=='VIRTUAL'){var _0x477df7={};_0x477df7[_0x4169dc['name']]={'$like':'%'+_0x3e6f6f[_0xdd93('0x2e')][_0xdd93('0x37')]+'%'};return _0x477df7;}})});}_0x171f57=_[_0xdd93('0x38')]({},_0x171f57,_0x3e6f6f[_0xdd93('0x39')]);var _0x3b0e6d={'where':_0x171f57[_0xdd93('0x34')]};return db[_0xdd93('0x3a')][_0xdd93('0x1e')](_0x3b0e6d)[_0xdd93('0x3b')](function(_0xd288cd){_0x138149['count']=_0xd288cd;if(_0x3e6f6f['query']['includeAll']){_0x171f57[_0xdd93('0x3c')]=[{'all':!![]}];}return db[_0xdd93('0x3a')]['findAll'](_0x171f57);})['then'](function(_0x78b089){_0x138149['rows']=_0x78b089;return _0x138149;})[_0xdd93('0x3b')](respondWithFilteredResult(_0x3306f7,_0x171f57))[_0xdd93('0x3d')](handleError(_0x3306f7,null));};exports[_0xdd93('0x3e')]=function(_0x2b183a,_0x260b77){var _0xbf8a28={'raw':![],'where':{'id':_0x2b183a[_0xdd93('0x3f')]['id']}},_0x4f8fd0={};_0x4f8fd0[_0xdd93('0x2d')]=_[_0xdd93('0x40')](db[_0xdd93('0x3a')][_0xdd93('0x2b')]);_0x4f8fd0[_0xdd93('0x2e')]=_['keys'](_0x2b183a[_0xdd93('0x2e')]);_0x4f8fd0['filters']=_[_0xdd93('0x2f')](_0x4f8fd0[_0xdd93('0x2d')],_0x4f8fd0[_0xdd93('0x2e')]);_0xbf8a28['attributes']=_[_0xdd93('0x2f')](_0x4f8fd0[_0xdd93('0x2d')],qs[_0xdd93('0x30')](_0x2b183a[_0xdd93('0x2e')][_0xdd93('0x30')]));_0xbf8a28[_0xdd93('0x31')]=_0xbf8a28[_0xdd93('0x31')]['length']?_0xbf8a28[_0xdd93('0x31')]:_0x4f8fd0[_0xdd93('0x2d')];if(_0x2b183a[_0xdd93('0x2e')]['includeAll']){_0xbf8a28[_0xdd93('0x3c')]=[{'all':!![]}];}_0xbf8a28=_[_0xdd93('0x38')]({},_0xbf8a28,_0x2b183a[_0xdd93('0x39')]);return db['IntegrationReport'][_0xdd93('0x41')](_0xbf8a28)['then'](handleEntityNotFound(_0x260b77,null))[_0xdd93('0x3b')](respondWithResult(_0x260b77,null))[_0xdd93('0x3d')](handleError(_0x260b77,null));};exports[_0xdd93('0x42')]=function(_0x25993e,_0x283791){return db[_0xdd93('0x3a')][_0xdd93('0x42')](_0x25993e[_0xdd93('0x43')],{})[_0xdd93('0x3b')](respondWithResult(_0x283791,0xc9))[_0xdd93('0x3d')](handleError(_0x283791,null));};exports[_0xdd93('0x23')]=function(_0x222ff5,_0x1bd6f6){if(_0x222ff5[_0xdd93('0x43')]['id']){delete _0x222ff5[_0xdd93('0x43')]['id'];}return db['IntegrationReport'][_0xdd93('0x41')]({'where':{'id':_0x222ff5[_0xdd93('0x3f')]['id']}})[_0xdd93('0x3b')](handleEntityNotFound(_0x1bd6f6,null))[_0xdd93('0x3b')](saveUpdates(_0x222ff5['body'],null))[_0xdd93('0x3b')](respondWithResult(_0x1bd6f6,null))[_0xdd93('0x3d')](handleError(_0x1bd6f6,null));};exports[_0xdd93('0x24')]=function(_0x91ce95,_0x6390c){return db[_0xdd93('0x3a')][_0xdd93('0x41')]({'where':{'id':_0x91ce95['params']['id']}})[_0xdd93('0x3b')](handleEntityNotFound(_0x6390c,null))[_0xdd93('0x3b')](removeEntity(_0x6390c,null))[_0xdd93('0x3d')](handleError(_0x6390c,null));};exports['describe']=function(_0x1bd6e0,_0x16a68b){return db[_0xdd93('0x3a')][_0xdd93('0x44')]()['then'](respondWithResult(_0x16a68b,null))['catch'](handleError(_0x16a68b,null));};