Built motion from commit 67e5df37.|2.0.66
[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 _0x69e3=['desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','apply','reject','save','update','then','destroy','error','stack','name','send','index','model','keys','IntegrationReport','rawAttributes','query','dateStart','dateEnd','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','where','filters','add','day','merge','filter','map','options','includeAll','include','rows','catch','params','find','create','body','describe','fast-json-patch','request-promise','mustache','sox','lodash','crypto','jsforce'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x69e3,0x17f));var _0x369e=function(_0x5d8dbd,_0x13744d){_0x5d8dbd=_0x5d8dbd-0x0;var _0x33b204=_0x69e3[_0x5d8dbd];return _0x33b204;};'use strict';var jsonpatch=require(_0x369e('0x0'));var rp=require(_0x369e('0x1'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x369e('0x2'));var util=require('util');var path=require('path');var sox=require(_0x369e('0x3'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x369e('0x4'));var squel=require('squel');var crypto=require(_0x369e('0x5'));var jsforce=require(_0x369e('0x6'));var deskjs=require(_0x369e('0x7'));var toCsv=require(_0x369e('0x8'));var querystring=require(_0x369e('0x9'));var Papa=require(_0x369e('0xa'));var qs=require(_0x369e('0xb'));var logger=require('../../config/logger')(_0x369e('0xc'));var utils=require(_0x369e('0xd'));var config=require(_0x369e('0xe'));var db=require(_0x369e('0xf'))['db'];function respondWithStatusCode(_0x4f7653,_0x3828e0){_0x3828e0=_0x3828e0||0xcc;return function(_0x2cfc0d){if(_0x2cfc0d){return _0x4f7653[_0x369e('0x10')](_0x3828e0);}return _0x4f7653[_0x369e('0x11')](_0x3828e0)[_0x369e('0x12')]();};}function respondWithResult(_0x5a8025,_0x479dd2){_0x479dd2=_0x479dd2||0xc8;return function(_0x35e410){if(_0x35e410){return _0x5a8025['status'](_0x479dd2)[_0x369e('0x13')](_0x35e410);}};}function respondWithFilteredResult(_0x544ca5,_0xdbe53c){return function(_0x1a705d){if(_0x1a705d){var _0x4adb1a=_0x1a705d[_0x369e('0x14')],_0x302f1c=_0xdbe53c[_0x369e('0x15')],_0x138b2e=_0xdbe53c[_0x369e('0x15')]+_0xdbe53c['limit'],_0x445320;if(_0x138b2e>=_0x4adb1a){_0x138b2e=_0x4adb1a;_0x445320=0xc8;}else{_0x445320=0xce;}_0x544ca5[_0x369e('0x11')](_0x445320);return _0x544ca5[_0x369e('0x16')]('Content-Range',_0x302f1c+'-'+_0x138b2e+'/'+_0x4adb1a)[_0x369e('0x13')](_0x1a705d);}return null;};}function patchUpdates(_0x280c84){return function(_0x1ae979){try{jsonpatch[_0x369e('0x17')](_0x1ae979,_0x280c84,!![]);}catch(_0x1a6382){return BPromise[_0x369e('0x18')](_0x1a6382);}return _0x1ae979[_0x369e('0x19')]();};}function saveUpdates(_0x42c522,_0x42702e){return function(_0x156e55){if(_0x156e55){return _0x156e55[_0x369e('0x1a')](_0x42c522)[_0x369e('0x1b')](function(_0x18419e){return _0x18419e;});}return null;};}function removeEntity(_0x4b770f,_0x1f8766){return function(_0x28aee0){if(_0x28aee0){return _0x28aee0[_0x369e('0x1c')]()[_0x369e('0x1b')](function(){_0x4b770f[_0x369e('0x11')](0xcc)[_0x369e('0x12')]();});}};}function handleEntityNotFound(_0x4b1de7,_0x130e09){return function(_0x3d7d77){if(!_0x3d7d77){_0x4b1de7[_0x369e('0x10')](0x194);}return _0x3d7d77;};}function handleError(_0x4f76b9,_0x2b750a){_0x2b750a=_0x2b750a||0x1f4;return function(_0x566464){logger[_0x369e('0x1d')](_0x566464[_0x369e('0x1e')]);if(_0x566464[_0x369e('0x1f')]){delete _0x566464[_0x369e('0x1f')];}_0x4f76b9[_0x369e('0x11')](_0x2b750a)[_0x369e('0x20')](_0x566464);};}exports[_0x369e('0x21')]=function(_0x584997,_0x1655be){var _0x1fa28c={},_0x5acb28={},_0x4565c9={'count':0x0,'rows':[]};_0x5acb28[_0x369e('0x22')]=_[_0x369e('0x23')](db[_0x369e('0x24')][_0x369e('0x25')]);var _0x44bc1a={'dateStart':_0x584997[_0x369e('0x26')][_0x369e('0x27')],'dateEnd':_0x584997[_0x369e('0x26')][_0x369e('0x28')]};delete _0x584997['query'][_0x369e('0x27')];delete _0x584997[_0x369e('0x26')][_0x369e('0x28')];_0x5acb28[_0x369e('0x26')]=_[_0x369e('0x23')](_0x584997[_0x369e('0x26')]);_0x5acb28['filters']=_[_0x369e('0x29')](_0x5acb28['model'],_0x5acb28[_0x369e('0x26')]);_0x1fa28c[_0x369e('0x2a')]=_['intersection'](_0x5acb28[_0x369e('0x22')],qs[_0x369e('0x2b')](_0x584997['query'][_0x369e('0x2b')]));_0x1fa28c[_0x369e('0x2a')]=_0x1fa28c[_0x369e('0x2a')][_0x369e('0x2c')]?_0x1fa28c[_0x369e('0x2a')]:_0x5acb28[_0x369e('0x22')];if(!_0x584997[_0x369e('0x26')][_0x369e('0x2d')](_0x369e('0x2e'))){_0x1fa28c['limit']=qs[_0x369e('0x2f')](_0x584997[_0x369e('0x26')][_0x369e('0x2f')]);_0x1fa28c[_0x369e('0x15')]=qs['offset'](_0x584997[_0x369e('0x26')][_0x369e('0x15')]);}_0x1fa28c['order']=qs['sort'](_0x584997[_0x369e('0x26')]['sort']);_0x1fa28c[_0x369e('0x30')]=qs['filters'](_['pick'](_0x584997['query'],_0x5acb28[_0x369e('0x31')]));if(_0x44bc1a[_0x369e('0x27')]){if(_0x44bc1a[_0x369e('0x28')]){_0x44bc1a[_0x369e('0x28')]=moment(_0x44bc1a['dateEnd'])[_0x369e('0x32')](0x1,_0x369e('0x33'));}else{_0x44bc1a[_0x369e('0x28')]=moment(_0x44bc1a[_0x369e('0x27')])[_0x369e('0x32')](0x1,_0x369e('0x33'));}_[_0x369e('0x34')](_0x1fa28c[_0x369e('0x30')],{'createdAt':{'$gte':_0x44bc1a[_0x369e('0x27')],'$lte':_0x44bc1a[_0x369e('0x28')]}});}if(_0x584997[_0x369e('0x26')][_0x369e('0x35')]){_0x1fa28c[_0x369e('0x30')]=_[_0x369e('0x34')](_0x1fa28c[_0x369e('0x30')],{'$or':_[_0x369e('0x36')](_0x1fa28c['attributes'],function(_0x3d8ca1){var _0x50d8b6={};_0x50d8b6[_0x3d8ca1]={'$like':'%'+_0x584997[_0x369e('0x26')][_0x369e('0x35')]+'%'};return _0x50d8b6;})});}_0x1fa28c=_['merge']({},_0x1fa28c,_0x584997[_0x369e('0x37')]);var _0x2a7068={'where':_0x1fa28c['where']};return db[_0x369e('0x24')]['count'](_0x2a7068)[_0x369e('0x1b')](function(_0x1ed8e3){_0x4565c9[_0x369e('0x14')]=_0x1ed8e3;if(_0x584997[_0x369e('0x26')][_0x369e('0x38')]){_0x1fa28c[_0x369e('0x39')]=[{'all':!![]}];}return db[_0x369e('0x24')]['findAll'](_0x1fa28c);})[_0x369e('0x1b')](function(_0x57569a){_0x4565c9[_0x369e('0x3a')]=_0x57569a;return _0x4565c9;})[_0x369e('0x1b')](respondWithFilteredResult(_0x1655be,_0x1fa28c))[_0x369e('0x3b')](handleError(_0x1655be,null));};exports['show']=function(_0x528ed5,_0xb42063){var _0x488e65={'raw':![],'where':{'id':_0x528ed5[_0x369e('0x3c')]['id']}},_0x416107={};_0x416107[_0x369e('0x22')]=_['keys'](db[_0x369e('0x24')][_0x369e('0x25')]);_0x416107[_0x369e('0x26')]=_['keys'](_0x528ed5[_0x369e('0x26')]);_0x416107[_0x369e('0x31')]=_[_0x369e('0x29')](_0x416107[_0x369e('0x22')],_0x416107['query']);_0x488e65['attributes']=_[_0x369e('0x29')](_0x416107[_0x369e('0x22')],qs['fields'](_0x528ed5[_0x369e('0x26')][_0x369e('0x2b')]));_0x488e65[_0x369e('0x2a')]=_0x488e65[_0x369e('0x2a')][_0x369e('0x2c')]?_0x488e65[_0x369e('0x2a')]:_0x416107['model'];if(_0x528ed5[_0x369e('0x26')][_0x369e('0x38')]){_0x488e65['include']=[{'all':!![]}];}_0x488e65=_[_0x369e('0x34')]({},_0x488e65,_0x528ed5[_0x369e('0x37')]);return db['IntegrationReport'][_0x369e('0x3d')](_0x488e65)[_0x369e('0x1b')](handleEntityNotFound(_0xb42063,null))[_0x369e('0x1b')](respondWithResult(_0xb42063,null))[_0x369e('0x3b')](handleError(_0xb42063,null));};exports['create']=function(_0xdfb20c,_0x1a971b){return db[_0x369e('0x24')][_0x369e('0x3e')](_0xdfb20c['body'],{})[_0x369e('0x1b')](respondWithResult(_0x1a971b,0xc9))[_0x369e('0x3b')](handleError(_0x1a971b,null));};exports['update']=function(_0x5d570e,_0x4c7ada){if(_0x5d570e[_0x369e('0x3f')]['id']){delete _0x5d570e['body']['id'];}return db['IntegrationReport']['find']({'where':{'id':_0x5d570e[_0x369e('0x3c')]['id']}})['then'](handleEntityNotFound(_0x4c7ada,null))[_0x369e('0x1b')](saveUpdates(_0x5d570e[_0x369e('0x3f')],null))[_0x369e('0x1b')](respondWithResult(_0x4c7ada,null))['catch'](handleError(_0x4c7ada,null));};exports[_0x369e('0x1c')]=function(_0x337136,_0x4da910){return db['IntegrationReport'][_0x369e('0x3d')]({'where':{'id':_0x337136[_0x369e('0x3c')]['id']}})[_0x369e('0x1b')](handleEntityNotFound(_0x4da910,null))[_0x369e('0x1b')](removeEntity(_0x4da910,null))[_0x369e('0x3b')](handleError(_0x4da910,null));};exports[_0x369e('0x40')]=function(_0x8ccd86,_0x2ec978){return db[_0x369e('0x24')][_0x369e('0x40')]()[_0x369e('0x1b')](respondWithResult(_0x2ec978,null))[_0x369e('0x3b')](handleError(_0x2ec978,null));};