32a215f40a2f970cc802c2e32fecc8ece1436673
[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 _0xf575=['to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','error','name','index','map','IntegrationReport','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','VIRTUAL','filter','merge','then','include','findAll','rows','catch','show','rawAttributes','options','find','create','body','params','destroy','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox'];(function(_0x494d1f,_0x3f72ff){var _0x457b6e=function(_0x38cb16){while(--_0x38cb16){_0x494d1f['push'](_0x494d1f['shift']());}};_0x457b6e(++_0x3f72ff);}(_0xf575,0x1b8));var _0x5f57=function(_0x48a32e,_0x42c992){_0x48a32e=_0x48a32e-0x0;var _0x15fbc9=_0xf575[_0x48a32e];return _0x15fbc9;};'use strict';var pdf=require(_0x5f57('0x0'));var emlformat=require(_0x5f57('0x1'));var rimraf=require(_0x5f57('0x2'));var zipdir=require(_0x5f57('0x3'));var jsonpatch=require(_0x5f57('0x4'));var rp=require(_0x5f57('0x5'));var moment=require('moment');var BPromise=require(_0x5f57('0x6'));var Mustache=require(_0x5f57('0x7'));var util=require('util');var path=require(_0x5f57('0x8'));var sox=require(_0x5f57('0x9'));var csv=require(_0x5f57('0xa'));var ejs=require(_0x5f57('0xb'));var fs=require('fs');var _=require(_0x5f57('0xc'));var squel=require(_0x5f57('0xd'));var crypto=require(_0x5f57('0xe'));var jsforce=require(_0x5f57('0xf'));var deskjs=require(_0x5f57('0x10'));var toCsv=require(_0x5f57('0xa'));var querystring=require('querystring');var Papa=require(_0x5f57('0x11'));var Redis=require('ioredis');var authService=require(_0x5f57('0x12'));var qs=require(_0x5f57('0x13'));var as=require(_0x5f57('0x14'));var hardwareService=require(_0x5f57('0x15'));var logger=require(_0x5f57('0x16'))(_0x5f57('0x17'));var utils=require(_0x5f57('0x18'));var config=require('../../config/environment');var db=require(_0x5f57('0x19'))['db'];function respondWithStatusCode(_0x48c13d,_0x3fbc01){_0x3fbc01=_0x3fbc01||0xcc;return function(_0x21af18){if(_0x21af18){return _0x48c13d[_0x5f57('0x1a')](_0x3fbc01);}return _0x48c13d[_0x5f57('0x1b')](_0x3fbc01)[_0x5f57('0x1c')]();};}function respondWithResult(_0x3c5543,_0x1b3a4e){_0x1b3a4e=_0x1b3a4e||0xc8;return function(_0x50ffef){if(_0x50ffef){return _0x3c5543[_0x5f57('0x1b')](_0x1b3a4e)[_0x5f57('0x1d')](_0x50ffef);}};}function respondWithFilteredResult(_0x22b216,_0x1bc86d){return function(_0x55f058){if(_0x55f058){var _0x3fdd2a=_0x55f058[_0x5f57('0x1e')],_0x331556=_0x1bc86d['offset'],_0x57dfe2=_0x1bc86d[_0x5f57('0x1f')]+_0x1bc86d[_0x5f57('0x20')],_0x42e347;if(_0x57dfe2>=_0x3fdd2a){_0x57dfe2=_0x3fdd2a;_0x42e347=0xc8;}else{_0x42e347=0xce;}_0x22b216[_0x5f57('0x1b')](_0x42e347);return _0x22b216['set'](_0x5f57('0x21'),_0x331556+'-'+_0x57dfe2+'/'+_0x3fdd2a)[_0x5f57('0x1d')](_0x55f058);}return null;};}function patchUpdates(_0x280b3f){return function(_0x50835d){try{jsonpatch[_0x5f57('0x22')](_0x50835d,_0x280b3f,!![]);}catch(_0x25c160){return BPromise[_0x5f57('0x23')](_0x25c160);}return _0x50835d[_0x5f57('0x24')]();};}function saveUpdates(_0x4425e9,_0x38b1ca){return function(_0x11e74f){if(_0x11e74f){return _0x11e74f['update'](_0x4425e9)['then'](function(_0x2389d0){return _0x2389d0;});}return null;};}function removeEntity(_0x5318d5,_0x3d5b12){return function(_0x136429){if(_0x136429){return _0x136429['destroy']()['then'](function(){_0x5318d5['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3f22fe,_0x369267){return function(_0x2e34ca){if(!_0x2e34ca){_0x3f22fe[_0x5f57('0x1a')](0x194);}return _0x2e34ca;};}function handleError(_0x5b4d08,_0x593252){_0x593252=_0x593252||0x1f4;return function(_0x3022da){logger[_0x5f57('0x25')](_0x3022da['stack']);if(_0x3022da[_0x5f57('0x26')]){delete _0x3022da[_0x5f57('0x26')];}_0x5b4d08['status'](_0x593252)['send'](_0x3022da);};}exports[_0x5f57('0x27')]=function(_0x2d02ee,_0x36dfcb){var _0x2e3b06={},_0x2be442={},_0x395ec7={'count':0x0,'rows':[]};var _0x151ed1=_[_0x5f57('0x28')](db[_0x5f57('0x29')]['rawAttributes'],function(_0x15970d){return{'name':_0x15970d[_0x5f57('0x2a')],'type':_0x15970d[_0x5f57('0x2b')]['key']};});_0x2be442[_0x5f57('0x2c')]=_[_0x5f57('0x28')](_0x151ed1,'name');_0x2be442[_0x5f57('0x2d')]=_[_0x5f57('0x2e')](_0x2d02ee['query']);_0x2be442[_0x5f57('0x2f')]=_[_0x5f57('0x30')](_0x2be442[_0x5f57('0x2c')],_0x2be442['query']);_0x2e3b06[_0x5f57('0x31')]=_[_0x5f57('0x30')](_0x2be442[_0x5f57('0x2c')],qs[_0x5f57('0x32')](_0x2d02ee['query']['fields']));_0x2e3b06['attributes']=_0x2e3b06[_0x5f57('0x31')][_0x5f57('0x33')]?_0x2e3b06[_0x5f57('0x31')]:_0x2be442[_0x5f57('0x2c')];if(!_0x2d02ee[_0x5f57('0x2d')][_0x5f57('0x34')](_0x5f57('0x35'))){_0x2e3b06[_0x5f57('0x20')]=qs['limit'](_0x2d02ee[_0x5f57('0x2d')][_0x5f57('0x20')]);_0x2e3b06[_0x5f57('0x1f')]=qs[_0x5f57('0x1f')](_0x2d02ee['query'][_0x5f57('0x1f')]);}_0x2e3b06[_0x5f57('0x36')]=qs[_0x5f57('0x37')](_0x2d02ee[_0x5f57('0x2d')][_0x5f57('0x37')]);_0x2e3b06[_0x5f57('0x38')]=qs[_0x5f57('0x2f')](_[_0x5f57('0x39')](_0x2d02ee[_0x5f57('0x2d')],_0x2be442[_0x5f57('0x2f')]),_0x151ed1);if(_0x2d02ee[_0x5f57('0x2d')]['filter']){_0x2e3b06[_0x5f57('0x38')]=_['merge'](_0x2e3b06['where'],{'$or':_[_0x5f57('0x28')](_0x151ed1,function(_0x1eed19){if(_0x1eed19[_0x5f57('0x2b')]!==_0x5f57('0x3a')){var _0xf492f5={};_0xf492f5[_0x1eed19[_0x5f57('0x26')]]={'$like':'%'+_0x2d02ee['query'][_0x5f57('0x3b')]+'%'};return _0xf492f5;}})});}_0x2e3b06=_[_0x5f57('0x3c')]({},_0x2e3b06,_0x2d02ee['options']);var _0x29072b={'where':_0x2e3b06[_0x5f57('0x38')]};return db[_0x5f57('0x29')][_0x5f57('0x1e')](_0x29072b)[_0x5f57('0x3d')](function(_0x17dc82){_0x395ec7[_0x5f57('0x1e')]=_0x17dc82;if(_0x2d02ee[_0x5f57('0x2d')]['includeAll']){_0x2e3b06[_0x5f57('0x3e')]=[{'all':!![]}];}return db['IntegrationReport'][_0x5f57('0x3f')](_0x2e3b06);})[_0x5f57('0x3d')](function(_0x762349){_0x395ec7[_0x5f57('0x40')]=_0x762349;return _0x395ec7;})['then'](respondWithFilteredResult(_0x36dfcb,_0x2e3b06))[_0x5f57('0x41')](handleError(_0x36dfcb,null));};exports[_0x5f57('0x42')]=function(_0x43b224,_0x39c193){var _0x35493e={'raw':![],'where':{'id':_0x43b224['params']['id']}},_0x52aa03={};_0x52aa03[_0x5f57('0x2c')]=_[_0x5f57('0x2e')](db[_0x5f57('0x29')][_0x5f57('0x43')]);_0x52aa03[_0x5f57('0x2d')]=_[_0x5f57('0x2e')](_0x43b224[_0x5f57('0x2d')]);_0x52aa03['filters']=_['intersection'](_0x52aa03[_0x5f57('0x2c')],_0x52aa03['query']);_0x35493e['attributes']=_['intersection'](_0x52aa03[_0x5f57('0x2c')],qs[_0x5f57('0x32')](_0x43b224['query'][_0x5f57('0x32')]));_0x35493e[_0x5f57('0x31')]=_0x35493e[_0x5f57('0x31')][_0x5f57('0x33')]?_0x35493e[_0x5f57('0x31')]:_0x52aa03[_0x5f57('0x2c')];if(_0x43b224[_0x5f57('0x2d')]['includeAll']){_0x35493e[_0x5f57('0x3e')]=[{'all':!![]}];}_0x35493e=_['merge']({},_0x35493e,_0x43b224[_0x5f57('0x44')]);return db['IntegrationReport'][_0x5f57('0x45')](_0x35493e)[_0x5f57('0x3d')](handleEntityNotFound(_0x39c193,null))[_0x5f57('0x3d')](respondWithResult(_0x39c193,null))[_0x5f57('0x41')](handleError(_0x39c193,null));};exports[_0x5f57('0x46')]=function(_0x3ee174,_0x21f2fa){return db[_0x5f57('0x29')][_0x5f57('0x46')](_0x3ee174[_0x5f57('0x47')],{})[_0x5f57('0x3d')](respondWithResult(_0x21f2fa,0xc9))[_0x5f57('0x41')](handleError(_0x21f2fa,null));};exports['update']=function(_0x733ff5,_0x16be9b){if(_0x733ff5['body']['id']){delete _0x733ff5[_0x5f57('0x47')]['id'];}return db[_0x5f57('0x29')]['find']({'where':{'id':_0x733ff5[_0x5f57('0x48')]['id']}})[_0x5f57('0x3d')](handleEntityNotFound(_0x16be9b,null))['then'](saveUpdates(_0x733ff5[_0x5f57('0x47')],null))['then'](respondWithResult(_0x16be9b,null))[_0x5f57('0x41')](handleError(_0x16be9b,null));};exports[_0x5f57('0x49')]=function(_0x2cd8be,_0x38dce8){return db['IntegrationReport']['find']({'where':{'id':_0x2cd8be['params']['id']}})[_0x5f57('0x3d')](handleEntityNotFound(_0x38dce8,null))[_0x5f57('0x3d')](removeEntity(_0x38dce8,null))[_0x5f57('0x41')](handleError(_0x38dce8,null));};exports[_0x5f57('0x4a')]=function(_0xfa769b,_0x148dd7){return db['IntegrationReport'][_0x5f57('0x4a')]()[_0x5f57('0x3d')](respondWithResult(_0x148dd7,null))[_0x5f57('0x41')](handleError(_0x148dd7,null));};