Built motion from commit 87cd5f02.|2.5.48
[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 _0x702c=['sort','where','pick','VIRTUAL','includeAll','include','catch','show','params','merge','options','find','create','body','describe','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','count','Content-Range','apply','save','update','then','destroy','end','error','stack','name','send','IntegrationReport','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order'];(function(_0x27ea2c,_0x3e9766){var _0x1322ac=function(_0xfde85){while(--_0xfde85){_0x27ea2c['push'](_0x27ea2c['shift']());}};_0x1322ac(++_0x3e9766);}(_0x702c,0x1d1));var _0xc702=function(_0xc3d773,_0x41d284){_0xc3d773=_0xc3d773-0x0;var _0x190f3d=_0x702c[_0xc3d773];return _0x190f3d;};'use strict';var emlformat=require(_0xc702('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xc702('0x1'));var rp=require(_0xc702('0x2'));var moment=require(_0xc702('0x3'));var BPromise=require(_0xc702('0x4'));var Mustache=require(_0xc702('0x5'));var util=require('util');var path=require(_0xc702('0x6'));var sox=require(_0xc702('0x7'));var csv=require(_0xc702('0x8'));var ejs=require(_0xc702('0x9'));var fs=require('fs');var fs_extra=require(_0xc702('0xa'));var _=require(_0xc702('0xb'));var squel=require(_0xc702('0xc'));var crypto=require('crypto');var jsforce=require(_0xc702('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xc702('0x8'));var querystring=require(_0xc702('0xe'));var Papa=require(_0xc702('0xf'));var Redis=require(_0xc702('0x10'));var authService=require(_0xc702('0x11'));var qs=require(_0xc702('0x12'));var as=require(_0xc702('0x13'));var hardwareService=require(_0xc702('0x14'));var logger=require('../../config/logger')(_0xc702('0x15'));var utils=require(_0xc702('0x16'));var config=require(_0xc702('0x17'));var licenseUtil=require(_0xc702('0x18'));var db=require(_0xc702('0x19'))['db'];function respondWithStatusCode(_0x3c72cc,_0x2db8b5){_0x2db8b5=_0x2db8b5||0xcc;return function(_0x3902e7){if(_0x3902e7){return _0x3c72cc[_0xc702('0x1a')](_0x2db8b5);}return _0x3c72cc[_0xc702('0x1b')](_0x2db8b5)['end']();};}function respondWithResult(_0x2f40d2,_0x298d56){_0x298d56=_0x298d56||0xc8;return function(_0x3b0271){if(_0x3b0271){return _0x2f40d2[_0xc702('0x1b')](_0x298d56)[_0xc702('0x1c')](_0x3b0271);}};}function respondWithFilteredResult(_0x247bde,_0x59174a){return function(_0x2aa1e0){if(_0x2aa1e0){var _0x305c62=typeof _0x59174a[_0xc702('0x1d')]==='undefined'&&typeof _0x59174a[_0xc702('0x1e')]==='undefined';var _0x20a846=_0x2aa1e0['count'];var _0x973844=_0x305c62?0x0:_0x59174a[_0xc702('0x1d')];var _0x4f2311=_0x305c62?_0x2aa1e0[_0xc702('0x1f')]:_0x59174a[_0xc702('0x1d')]+_0x59174a['limit'];var _0x4b3714;if(_0x4f2311>=_0x20a846){_0x4f2311=_0x20a846;_0x4b3714=0xc8;}else{_0x4b3714=0xce;}_0x247bde[_0xc702('0x1b')](_0x4b3714);return _0x247bde['set'](_0xc702('0x20'),_0x973844+'-'+_0x4f2311+'/'+_0x20a846)[_0xc702('0x1c')](_0x2aa1e0);}return null;};}function patchUpdates(_0x32ff8f){return function(_0x5bb5f8){try{jsonpatch[_0xc702('0x21')](_0x5bb5f8,_0x32ff8f,!![]);}catch(_0x42e3d6){return BPromise['reject'](_0x42e3d6);}return _0x5bb5f8[_0xc702('0x22')]();};}function saveUpdates(_0x26a9ea,_0x17f0b6){return function(_0x3c0213){if(_0x3c0213){return _0x3c0213[_0xc702('0x23')](_0x26a9ea)[_0xc702('0x24')](function(_0x105ceb){return _0x105ceb;});}return null;};}function removeEntity(_0x4cb58a,_0x3aacd2){return function(_0x2d1bf4){if(_0x2d1bf4){return _0x2d1bf4[_0xc702('0x25')]()['then'](function(){_0x4cb58a[_0xc702('0x1b')](0xcc)[_0xc702('0x26')]();});}};}function handleEntityNotFound(_0x42fa12,_0x3156d6){return function(_0x54a074){if(!_0x54a074){_0x42fa12[_0xc702('0x1a')](0x194);}return _0x54a074;};}function handleError(_0x15ddd0,_0x1f2203){_0x1f2203=_0x1f2203||0x1f4;return function(_0x1bd946){logger[_0xc702('0x27')](_0x1bd946[_0xc702('0x28')]);if(_0x1bd946[_0xc702('0x29')]){delete _0x1bd946[_0xc702('0x29')];}_0x15ddd0[_0xc702('0x1b')](_0x1f2203)[_0xc702('0x2a')](_0x1bd946);};}exports['index']=function(_0x57a5b0,_0x1eed5c){var _0xcc903a={},_0x4d6022={},_0x4de42b={'count':0x0,'rows':[]};var _0xae393e=_['map'](db[_0xc702('0x2b')][_0xc702('0x2c')],function(_0x5ec36c){return{'name':_0x5ec36c[_0xc702('0x2d')],'type':_0x5ec36c[_0xc702('0x2e')][_0xc702('0x2f')]};});_0x4d6022['model']=_[_0xc702('0x30')](_0xae393e,_0xc702('0x29'));_0x4d6022[_0xc702('0x31')]=_[_0xc702('0x32')](_0x57a5b0[_0xc702('0x31')]);_0x4d6022[_0xc702('0x33')]=_[_0xc702('0x34')](_0x4d6022[_0xc702('0x35')],_0x4d6022[_0xc702('0x31')]);_0xcc903a[_0xc702('0x36')]=_[_0xc702('0x34')](_0x4d6022[_0xc702('0x35')],qs[_0xc702('0x37')](_0x57a5b0[_0xc702('0x31')]['fields']));_0xcc903a[_0xc702('0x36')]=_0xcc903a['attributes'][_0xc702('0x38')]?_0xcc903a[_0xc702('0x36')]:_0x4d6022[_0xc702('0x35')];if(!_0x57a5b0[_0xc702('0x31')][_0xc702('0x39')](_0xc702('0x3a'))){_0xcc903a[_0xc702('0x1e')]=qs['limit'](_0x57a5b0[_0xc702('0x31')]['limit']);_0xcc903a['offset']=qs[_0xc702('0x1d')](_0x57a5b0[_0xc702('0x31')][_0xc702('0x1d')]);}_0xcc903a[_0xc702('0x3b')]=qs[_0xc702('0x3c')](_0x57a5b0['query']['sort']);_0xcc903a[_0xc702('0x3d')]=qs['filters'](_[_0xc702('0x3e')](_0x57a5b0[_0xc702('0x31')],_0x4d6022[_0xc702('0x33')]),_0xae393e);if(_0x57a5b0[_0xc702('0x31')]['filter']){_0xcc903a[_0xc702('0x3d')]=_['merge'](_0xcc903a['where'],{'$or':_['map'](_0xae393e,function(_0x323f32){if(_0x323f32['type']!==_0xc702('0x3f')){var _0x3a11cd={};_0x3a11cd[_0x323f32[_0xc702('0x29')]]={'$like':'%'+_0x57a5b0[_0xc702('0x31')]['filter']+'%'};return _0x3a11cd;}})});}_0xcc903a=_['merge']({},_0xcc903a,_0x57a5b0['options']);var _0x4fe4f4={'where':_0xcc903a['where']};return db['IntegrationReport'][_0xc702('0x1f')](_0x4fe4f4)[_0xc702('0x24')](function(_0x5395d7){_0x4de42b['count']=_0x5395d7;if(_0x57a5b0[_0xc702('0x31')][_0xc702('0x40')]){_0xcc903a[_0xc702('0x41')]=[{'all':!![]}];}return db[_0xc702('0x2b')]['findAll'](_0xcc903a);})[_0xc702('0x24')](function(_0x9e9701){_0x4de42b['rows']=_0x9e9701;return _0x4de42b;})[_0xc702('0x24')](respondWithFilteredResult(_0x1eed5c,_0xcc903a))[_0xc702('0x42')](handleError(_0x1eed5c,null));};exports[_0xc702('0x43')]=function(_0x163819,_0x2a2875){var _0xe3a41d={'raw':![],'where':{'id':_0x163819[_0xc702('0x44')]['id']}},_0x5cb188={};_0x5cb188[_0xc702('0x35')]=_['keys'](db['IntegrationReport'][_0xc702('0x2c')]);_0x5cb188['query']=_['keys'](_0x163819[_0xc702('0x31')]);_0x5cb188[_0xc702('0x33')]=_[_0xc702('0x34')](_0x5cb188[_0xc702('0x35')],_0x5cb188[_0xc702('0x31')]);_0xe3a41d[_0xc702('0x36')]=_[_0xc702('0x34')](_0x5cb188['model'],qs['fields'](_0x163819[_0xc702('0x31')][_0xc702('0x37')]));_0xe3a41d[_0xc702('0x36')]=_0xe3a41d[_0xc702('0x36')]['length']?_0xe3a41d[_0xc702('0x36')]:_0x5cb188[_0xc702('0x35')];if(_0x163819[_0xc702('0x31')]['includeAll']){_0xe3a41d[_0xc702('0x41')]=[{'all':!![]}];}_0xe3a41d=_[_0xc702('0x45')]({},_0xe3a41d,_0x163819[_0xc702('0x46')]);return db[_0xc702('0x2b')][_0xc702('0x47')](_0xe3a41d)[_0xc702('0x24')](handleEntityNotFound(_0x2a2875,null))[_0xc702('0x24')](respondWithResult(_0x2a2875,null))['catch'](handleError(_0x2a2875,null));};exports[_0xc702('0x48')]=function(_0x431b0d,_0x19046a){return db[_0xc702('0x2b')][_0xc702('0x48')](_0x431b0d[_0xc702('0x49')],{})[_0xc702('0x24')](respondWithResult(_0x19046a,0xc9))[_0xc702('0x42')](handleError(_0x19046a,null));};exports[_0xc702('0x23')]=function(_0x53e69a,_0x4ef141){if(_0x53e69a[_0xc702('0x49')]['id']){delete _0x53e69a['body']['id'];}return db[_0xc702('0x2b')][_0xc702('0x47')]({'where':{'id':_0x53e69a['params']['id']}})['then'](handleEntityNotFound(_0x4ef141,null))[_0xc702('0x24')](saveUpdates(_0x53e69a[_0xc702('0x49')],null))[_0xc702('0x24')](respondWithResult(_0x4ef141,null))['catch'](handleError(_0x4ef141,null));};exports[_0xc702('0x25')]=function(_0x2dce63,_0x4f2530){return db[_0xc702('0x2b')][_0xc702('0x47')]({'where':{'id':_0x2dce63[_0xc702('0x44')]['id']}})[_0xc702('0x24')](handleEntityNotFound(_0x4f2530,null))['then'](removeEntity(_0x4f2530,null))[_0xc702('0x42')](handleError(_0x4f2530,null));};exports[_0xc702('0x4a')]=function(_0x53b056,_0x3805ae){return db['IntegrationReport']['describe']()['then'](respondWithResult(_0x3805ae,null))[_0xc702('0x42')](handleError(_0x3805ae,null));};