Built motion from commit bab6f49e.|2.6.17
[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 _0x7dd0=['../../config/environment','../../config/license/util','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','save','then','destroy','end','error','stack','send','index','rawAttributes','type','key','map','name','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','VIRTUAL','filter','merge','options','IntegrationReport','include','findAll','rows','catch','show','params','create','body','update','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','sox','ejs','fs-extra','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils'];(function(_0x48ddb6,_0x5e63aa){var _0x2abcfd=function(_0x12b1bd){while(--_0x12b1bd){_0x48ddb6['push'](_0x48ddb6['shift']());}};_0x2abcfd(++_0x5e63aa);}(_0x7dd0,0x19d));var _0x07dd=function(_0x1ab828,_0x2c7e94){_0x1ab828=_0x1ab828-0x0;var _0x423ea5=_0x7dd0[_0x1ab828];return _0x423ea5;};'use strict';var emlformat=require(_0x07dd('0x0'));var rimraf=require(_0x07dd('0x1'));var zipdir=require(_0x07dd('0x2'));var jsonpatch=require(_0x07dd('0x3'));var rp=require('request-promise');var moment=require(_0x07dd('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x07dd('0x5'));var util=require(_0x07dd('0x6'));var path=require('path');var sox=require(_0x07dd('0x7'));var csv=require('to-csv');var ejs=require(_0x07dd('0x8'));var fs=require('fs');var fs_extra=require(_0x07dd('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x07dd('0xa'));var deskjs=require(_0x07dd('0xb'));var toCsv=require('to-csv');var querystring=require(_0x07dd('0xc'));var Papa=require(_0x07dd('0xd'));var Redis=require(_0x07dd('0xe'));var authService=require(_0x07dd('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x07dd('0x10'));var logger=require(_0x07dd('0x11'))('api');var utils=require(_0x07dd('0x12'));var config=require(_0x07dd('0x13'));var licenseUtil=require(_0x07dd('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xea3a1d,_0x5787bb){_0x5787bb=_0x5787bb||0xcc;return function(_0x55d1c4){if(_0x55d1c4){return _0xea3a1d[_0x07dd('0x15')](_0x5787bb);}return _0xea3a1d[_0x07dd('0x16')](_0x5787bb)['end']();};}function respondWithResult(_0xdd27e,_0x58f763){_0x58f763=_0x58f763||0xc8;return function(_0x4b002f){if(_0x4b002f){return _0xdd27e[_0x07dd('0x16')](_0x58f763)[_0x07dd('0x17')](_0x4b002f);}};}function respondWithFilteredResult(_0x56b3e4,_0x16e011){return function(_0x251acd){if(_0x251acd){var _0x2d7977=typeof _0x16e011[_0x07dd('0x18')]==='undefined'&&typeof _0x16e011[_0x07dd('0x19')]===_0x07dd('0x1a');var _0x18678c=_0x251acd[_0x07dd('0x1b')];var _0x3c53ec=_0x2d7977?0x0:_0x16e011[_0x07dd('0x18')];var _0x535062=_0x2d7977?_0x251acd[_0x07dd('0x1b')]:_0x16e011['offset']+_0x16e011[_0x07dd('0x19')];var _0x3f367c;if(_0x535062>=_0x18678c){_0x535062=_0x18678c;_0x3f367c=0xc8;}else{_0x3f367c=0xce;}_0x56b3e4[_0x07dd('0x16')](_0x3f367c);return _0x56b3e4[_0x07dd('0x1c')](_0x07dd('0x1d'),_0x3c53ec+'-'+_0x535062+'/'+_0x18678c)[_0x07dd('0x17')](_0x251acd);}return null;};}function patchUpdates(_0x3d8558){return function(_0x19fd23){try{jsonpatch['apply'](_0x19fd23,_0x3d8558,!![]);}catch(_0xa27115){return BPromise['reject'](_0xa27115);}return _0x19fd23[_0x07dd('0x1e')]();};}function saveUpdates(_0x16e702,_0x16baa0){return function(_0x493f7d){if(_0x493f7d){return _0x493f7d['update'](_0x16e702)[_0x07dd('0x1f')](function(_0x3f6caf){return _0x3f6caf;});}return null;};}function removeEntity(_0x8e9452,_0x1e394d){return function(_0x5ec562){if(_0x5ec562){return _0x5ec562[_0x07dd('0x20')]()[_0x07dd('0x1f')](function(){_0x8e9452[_0x07dd('0x16')](0xcc)[_0x07dd('0x21')]();});}};}function handleEntityNotFound(_0x694398,_0x40b84e){return function(_0x2cd030){if(!_0x2cd030){_0x694398[_0x07dd('0x15')](0x194);}return _0x2cd030;};}function handleError(_0x3e7785,_0x3b908f){_0x3b908f=_0x3b908f||0x1f4;return function(_0x2bd62e){logger[_0x07dd('0x22')](_0x2bd62e[_0x07dd('0x23')]);if(_0x2bd62e['name']){delete _0x2bd62e['name'];}_0x3e7785[_0x07dd('0x16')](_0x3b908f)[_0x07dd('0x24')](_0x2bd62e);};}exports[_0x07dd('0x25')]=function(_0x5f3d8d,_0x538526){var _0xb30bee={},_0x5016d7={},_0x324c85={'count':0x0,'rows':[]};var _0x26d01d=_['map'](db['IntegrationReport'][_0x07dd('0x26')],function(_0x10a4f2){return{'name':_0x10a4f2['fieldName'],'type':_0x10a4f2[_0x07dd('0x27')][_0x07dd('0x28')]};});_0x5016d7['model']=_[_0x07dd('0x29')](_0x26d01d,_0x07dd('0x2a'));_0x5016d7['query']=_[_0x07dd('0x2b')](_0x5f3d8d[_0x07dd('0x2c')]);_0x5016d7[_0x07dd('0x2d')]=_[_0x07dd('0x2e')](_0x5016d7[_0x07dd('0x2f')],_0x5016d7[_0x07dd('0x2c')]);_0xb30bee[_0x07dd('0x30')]=_[_0x07dd('0x2e')](_0x5016d7[_0x07dd('0x2f')],qs[_0x07dd('0x31')](_0x5f3d8d[_0x07dd('0x2c')]['fields']));_0xb30bee[_0x07dd('0x30')]=_0xb30bee[_0x07dd('0x30')][_0x07dd('0x32')]?_0xb30bee['attributes']:_0x5016d7[_0x07dd('0x2f')];if(!_0x5f3d8d[_0x07dd('0x2c')][_0x07dd('0x33')](_0x07dd('0x34'))){_0xb30bee[_0x07dd('0x19')]=qs[_0x07dd('0x19')](_0x5f3d8d[_0x07dd('0x2c')][_0x07dd('0x19')]);_0xb30bee[_0x07dd('0x18')]=qs['offset'](_0x5f3d8d[_0x07dd('0x2c')][_0x07dd('0x18')]);}_0xb30bee['order']=qs[_0x07dd('0x35')](_0x5f3d8d[_0x07dd('0x2c')][_0x07dd('0x35')]);_0xb30bee[_0x07dd('0x36')]=qs[_0x07dd('0x2d')](_[_0x07dd('0x37')](_0x5f3d8d[_0x07dd('0x2c')],_0x5016d7[_0x07dd('0x2d')]),_0x26d01d);if(_0x5f3d8d[_0x07dd('0x2c')]['filter']){_0xb30bee[_0x07dd('0x36')]=_['merge'](_0xb30bee[_0x07dd('0x36')],{'$or':_[_0x07dd('0x29')](_0x26d01d,function(_0x52ac5d){if(_0x52ac5d[_0x07dd('0x27')]!==_0x07dd('0x38')){var _0x18c9bd={};_0x18c9bd[_0x52ac5d['name']]={'$like':'%'+_0x5f3d8d[_0x07dd('0x2c')][_0x07dd('0x39')]+'%'};return _0x18c9bd;}})});}_0xb30bee=_[_0x07dd('0x3a')]({},_0xb30bee,_0x5f3d8d[_0x07dd('0x3b')]);var _0x5d6880={'where':_0xb30bee['where']};return db[_0x07dd('0x3c')]['count'](_0x5d6880)[_0x07dd('0x1f')](function(_0x2c6bd0){_0x324c85[_0x07dd('0x1b')]=_0x2c6bd0;if(_0x5f3d8d[_0x07dd('0x2c')]['includeAll']){_0xb30bee[_0x07dd('0x3d')]=[{'all':!![]}];}return db[_0x07dd('0x3c')][_0x07dd('0x3e')](_0xb30bee);})[_0x07dd('0x1f')](function(_0x2371f4){_0x324c85[_0x07dd('0x3f')]=_0x2371f4;return _0x324c85;})['then'](respondWithFilteredResult(_0x538526,_0xb30bee))[_0x07dd('0x40')](handleError(_0x538526,null));};exports[_0x07dd('0x41')]=function(_0x5bb90a,_0x51c5f9){var _0xf279c4={'raw':![],'where':{'id':_0x5bb90a[_0x07dd('0x42')]['id']}},_0x21dbe4={};_0x21dbe4[_0x07dd('0x2f')]=_[_0x07dd('0x2b')](db[_0x07dd('0x3c')][_0x07dd('0x26')]);_0x21dbe4[_0x07dd('0x2c')]=_[_0x07dd('0x2b')](_0x5bb90a['query']);_0x21dbe4[_0x07dd('0x2d')]=_[_0x07dd('0x2e')](_0x21dbe4['model'],_0x21dbe4[_0x07dd('0x2c')]);_0xf279c4[_0x07dd('0x30')]=_['intersection'](_0x21dbe4[_0x07dd('0x2f')],qs['fields'](_0x5bb90a[_0x07dd('0x2c')][_0x07dd('0x31')]));_0xf279c4['attributes']=_0xf279c4[_0x07dd('0x30')][_0x07dd('0x32')]?_0xf279c4[_0x07dd('0x30')]:_0x21dbe4['model'];if(_0x5bb90a['query']['includeAll']){_0xf279c4['include']=[{'all':!![]}];}_0xf279c4=_[_0x07dd('0x3a')]({},_0xf279c4,_0x5bb90a[_0x07dd('0x3b')]);return db['IntegrationReport']['find'](_0xf279c4)[_0x07dd('0x1f')](handleEntityNotFound(_0x51c5f9,null))[_0x07dd('0x1f')](respondWithResult(_0x51c5f9,null))[_0x07dd('0x40')](handleError(_0x51c5f9,null));};exports[_0x07dd('0x43')]=function(_0x288066,_0x1bb0b8){return db['IntegrationReport'][_0x07dd('0x43')](_0x288066[_0x07dd('0x44')],{})['then'](respondWithResult(_0x1bb0b8,0xc9))[_0x07dd('0x40')](handleError(_0x1bb0b8,null));};exports[_0x07dd('0x45')]=function(_0x258c76,_0x3a69df){if(_0x258c76['body']['id']){delete _0x258c76[_0x07dd('0x44')]['id'];}return db[_0x07dd('0x3c')][_0x07dd('0x46')]({'where':{'id':_0x258c76[_0x07dd('0x42')]['id']}})[_0x07dd('0x1f')](handleEntityNotFound(_0x3a69df,null))[_0x07dd('0x1f')](saveUpdates(_0x258c76[_0x07dd('0x44')],null))[_0x07dd('0x1f')](respondWithResult(_0x3a69df,null))[_0x07dd('0x40')](handleError(_0x3a69df,null));};exports[_0x07dd('0x20')]=function(_0x37cb4f,_0x5306d6){return db[_0x07dd('0x3c')][_0x07dd('0x46')]({'where':{'id':_0x37cb4f['params']['id']}})['then'](handleEntityNotFound(_0x5306d6,null))[_0x07dd('0x1f')](removeEntity(_0x5306d6,null))[_0x07dd('0x40')](handleError(_0x5306d6,null));};exports[_0x07dd('0x47')]=function(_0xc44d5b,_0x13dd29){return db[_0x07dd('0x3c')]['describe']()[_0x07dd('0x1f')](respondWithResult(_0x13dd29,null))[_0x07dd('0x40')](handleError(_0x13dd29,null));};