Built motion from commit 67e5df37.|2.0.68
[motion2.git] / server / api / intZohoConfiguration / intZohoConfiguration.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 _0x46d7=['merge','where','filter','map','ZohoConfiguration','count','includeAll','include','rows','show','find','create','body','params','destroy','getFields','order','options','getSubjects','findOne','ZohoField','getDescriptions','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','lodash','squel','crypto','jsforce','to-csv','querystring','../../components/parsers/qs','../../config/logger','../../mysqldb','jayson/promise','client','http','request','then','ZohoConfiguration,\x20%s,\x20%s','request\x20sent','ZohoConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','end','status','json','offset','limit','Content-Range','save','update','sendStatus','stack','name','index','model','keys','rawAttributes','query','dateStart','dateEnd','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','add','day'];(function(_0x2b5098,_0x47e85a){var _0x310998=function(_0x46ea47){while(--_0x46ea47){_0x2b5098['push'](_0x2b5098['shift']());}};_0x310998(++_0x47e85a);}(_0x46d7,0x162));var _0x746d=function(_0x5aeb3d,_0x3ed17a){_0x5aeb3d=_0x5aeb3d-0x0;var _0xc3453b=_0x46d7[_0x5aeb3d];return _0xc3453b;};'use strict';var jsonpatch=require(_0x746d('0x0'));var rp=require(_0x746d('0x1'));var moment=require(_0x746d('0x2'));var BPromise=require(_0x746d('0x3'));var Mustache=require(_0x746d('0x4'));var util=require(_0x746d('0x5'));var path=require(_0x746d('0x6'));var sox=require(_0x746d('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x746d('0x8'));var squel=require(_0x746d('0x9'));var crypto=require(_0x746d('0xa'));var jsforce=require(_0x746d('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x746d('0xc'));var querystring=require(_0x746d('0xd'));var Papa=require('papaparse');var qs=require(_0x746d('0xe'));var logger=require(_0x746d('0xf'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x746d('0x10'))['db'];var jayson=require(_0x746d('0x11'));var client=jayson[_0x746d('0x12')][_0x746d('0x13')]({'port':0x232a});function respondWithRpcPromise(_0x1b7ff6,_0x57ca08,_0x44bf13,_0x3fd8d7){return new BPromise(function(_0xcfc8eb,_0x4708e4){var _0x4c8652=_0x3fd8d7||client;return _0x4c8652[_0x746d('0x14')](_0x1b7ff6,_0x44bf13)[_0x746d('0x15')](function(_0x28b590){logger['info'](_0x746d('0x16'),_0x57ca08,_0x746d('0x17'));logger['debug'](_0x746d('0x18'),_0x57ca08,_0x746d('0x17'),JSON[_0x746d('0x19')](_0x28b590));if(_0x28b590[_0x746d('0x1a')]){if(_0x28b590[_0x746d('0x1a')][_0x746d('0x1b')]===0x1f4){logger[_0x746d('0x1a')](_0x746d('0x16'),_0x57ca08,_0x28b590[_0x746d('0x1a')]['message']);return _0x4708e4(_0x28b590[_0x746d('0x1a')][_0x746d('0x1c')]);}logger[_0x746d('0x1a')](_0x746d('0x16'),_0x57ca08,_0x28b590['error'][_0x746d('0x1c')]);return _0xcfc8eb(_0x28b590[_0x746d('0x1a')]['message']);}else{logger[_0x746d('0x1d')]('ZohoConfiguration,\x20%s,\x20%s',_0x57ca08,_0x746d('0x17'));_0xcfc8eb(_0x28b590[_0x746d('0x1e')][_0x746d('0x1c')]);}})[_0x746d('0x1f')](function(_0x76f1f0){logger[_0x746d('0x1a')](_0x746d('0x16'),_0x57ca08,_0x76f1f0);_0x4708e4(_0x76f1f0);});});}function respondWithStatusCode(_0x1ad2ae,_0x20e109){_0x20e109=_0x20e109||0xcc;return function(_0x460fbf){if(_0x460fbf){return _0x1ad2ae['sendStatus'](_0x20e109);}return _0x1ad2ae['status'](_0x20e109)[_0x746d('0x20')]();};}function respondWithResult(_0x11bbff,_0x16b2e5){_0x16b2e5=_0x16b2e5||0xc8;return function(_0x42fe41){if(_0x42fe41){return _0x11bbff[_0x746d('0x21')](_0x16b2e5)[_0x746d('0x22')](_0x42fe41);}};}function respondWithFilteredResult(_0x5b76f2,_0x54d0e3){return function(_0x13f9a5){if(_0x13f9a5){var _0x229158=_0x13f9a5['count'],_0x37fb8f=_0x54d0e3[_0x746d('0x23')],_0x1234b2=_0x54d0e3[_0x746d('0x23')]+_0x54d0e3[_0x746d('0x24')],_0x31f0f0;if(_0x1234b2>=_0x229158){_0x1234b2=_0x229158;_0x31f0f0=0xc8;}else{_0x31f0f0=0xce;}_0x5b76f2['status'](_0x31f0f0);return _0x5b76f2['set'](_0x746d('0x25'),_0x37fb8f+'-'+_0x1234b2+'/'+_0x229158)[_0x746d('0x22')](_0x13f9a5);}return null;};}function patchUpdates(_0x32c34e){return function(_0x1a5217){try{jsonpatch['apply'](_0x1a5217,_0x32c34e,!![]);}catch(_0x10949c){return BPromise['reject'](_0x10949c);}return _0x1a5217[_0x746d('0x26')]();};}function saveUpdates(_0x587873,_0x4e5f40){return function(_0x1e9ebe){if(_0x1e9ebe){return _0x1e9ebe[_0x746d('0x27')](_0x587873)['then'](function(_0x172b8a){return _0x172b8a;});}return null;};}function removeEntity(_0x522ae2,_0x306dee){return function(_0x3b7b16){if(_0x3b7b16){return _0x3b7b16['destroy']()[_0x746d('0x15')](function(){_0x522ae2[_0x746d('0x21')](0xcc)[_0x746d('0x20')]();});}};}function handleEntityNotFound(_0x438297,_0x3b9ae2){return function(_0x1b8004){if(!_0x1b8004){_0x438297[_0x746d('0x28')](0x194);}return _0x1b8004;};}function handleError(_0xcf3f72,_0x3f3698){_0x3f3698=_0x3f3698||0x1f4;return function(_0x34d347){logger['error'](_0x34d347[_0x746d('0x29')]);if(_0x34d347[_0x746d('0x2a')]){delete _0x34d347['name'];}_0xcf3f72[_0x746d('0x21')](_0x3f3698)['send'](_0x34d347);};}exports[_0x746d('0x2b')]=function(_0x2d6145,_0x35fec6){var _0x3c7b36={},_0x4f8cd6={},_0x455461={'count':0x0,'rows':[]};_0x4f8cd6[_0x746d('0x2c')]=_[_0x746d('0x2d')](db['ZohoConfiguration'][_0x746d('0x2e')]);var _0x1ed961={'dateStart':_0x2d6145[_0x746d('0x2f')][_0x746d('0x30')],'dateEnd':_0x2d6145['query']['dateEnd']};delete _0x2d6145[_0x746d('0x2f')][_0x746d('0x30')];delete _0x2d6145[_0x746d('0x2f')][_0x746d('0x31')];_0x4f8cd6[_0x746d('0x2f')]=_[_0x746d('0x2d')](_0x2d6145['query']);_0x4f8cd6[_0x746d('0x32')]=_[_0x746d('0x33')](_0x4f8cd6[_0x746d('0x2c')],_0x4f8cd6[_0x746d('0x2f')]);_0x3c7b36[_0x746d('0x34')]=_[_0x746d('0x33')](_0x4f8cd6[_0x746d('0x2c')],qs[_0x746d('0x35')](_0x2d6145[_0x746d('0x2f')]['fields']));_0x3c7b36[_0x746d('0x34')]=_0x3c7b36[_0x746d('0x34')][_0x746d('0x36')]?_0x3c7b36['attributes']:_0x4f8cd6['model'];if(!_0x2d6145[_0x746d('0x2f')][_0x746d('0x37')](_0x746d('0x38'))){_0x3c7b36[_0x746d('0x24')]=qs[_0x746d('0x24')](_0x2d6145[_0x746d('0x2f')][_0x746d('0x24')]);_0x3c7b36[_0x746d('0x23')]=qs[_0x746d('0x23')](_0x2d6145[_0x746d('0x2f')][_0x746d('0x23')]);}_0x3c7b36['order']=qs[_0x746d('0x39')](_0x2d6145[_0x746d('0x2f')][_0x746d('0x39')]);_0x3c7b36['where']=qs[_0x746d('0x32')](_[_0x746d('0x3a')](_0x2d6145[_0x746d('0x2f')],_0x4f8cd6[_0x746d('0x32')]));if(_0x1ed961[_0x746d('0x30')]){if(_0x1ed961[_0x746d('0x31')]){_0x1ed961[_0x746d('0x31')]=moment(_0x1ed961[_0x746d('0x31')])[_0x746d('0x3b')](0x1,_0x746d('0x3c'));}else{_0x1ed961['dateEnd']=moment(_0x1ed961['dateStart'])[_0x746d('0x3b')](0x1,_0x746d('0x3c'));}_[_0x746d('0x3d')](_0x3c7b36[_0x746d('0x3e')],{'createdAt':{'$gte':_0x1ed961[_0x746d('0x30')],'$lte':_0x1ed961[_0x746d('0x31')]}});}if(_0x2d6145['query'][_0x746d('0x3f')]){_0x3c7b36[_0x746d('0x3e')]=_[_0x746d('0x3d')](_0x3c7b36[_0x746d('0x3e')],{'$or':_[_0x746d('0x40')](_0x3c7b36[_0x746d('0x34')],function(_0x50ceba){var _0x4c9b30={};_0x4c9b30[_0x50ceba]={'$like':'%'+_0x2d6145['query'][_0x746d('0x3f')]+'%'};return _0x4c9b30;})});}_0x3c7b36=_['merge']({},_0x3c7b36,_0x2d6145['options']);var _0x5823f8={'where':_0x3c7b36[_0x746d('0x3e')]};return db[_0x746d('0x41')][_0x746d('0x42')](_0x5823f8)[_0x746d('0x15')](function(_0x5c3c56){_0x455461[_0x746d('0x42')]=_0x5c3c56;if(_0x2d6145[_0x746d('0x2f')][_0x746d('0x43')]){_0x3c7b36[_0x746d('0x44')]=[{'all':!![]}];}return db[_0x746d('0x41')]['findAll'](_0x3c7b36);})[_0x746d('0x15')](function(_0x2f4cb0){_0x455461[_0x746d('0x45')]=_0x2f4cb0;return _0x455461;})['then'](respondWithFilteredResult(_0x35fec6,_0x3c7b36))[_0x746d('0x1f')](handleError(_0x35fec6,null));};exports[_0x746d('0x46')]=function(_0x5c8842,_0x43f345){var _0x5c3b02={'raw':![],'where':{'id':_0x5c8842['params']['id']}},_0x44e7a5={};_0x44e7a5[_0x746d('0x2c')]=_[_0x746d('0x2d')](db[_0x746d('0x41')]['rawAttributes']);_0x44e7a5[_0x746d('0x2f')]=_[_0x746d('0x2d')](_0x5c8842['query']);_0x44e7a5[_0x746d('0x32')]=_[_0x746d('0x33')](_0x44e7a5[_0x746d('0x2c')],_0x44e7a5[_0x746d('0x2f')]);_0x5c3b02[_0x746d('0x34')]=_[_0x746d('0x33')](_0x44e7a5[_0x746d('0x2c')],qs[_0x746d('0x35')](_0x5c8842[_0x746d('0x2f')][_0x746d('0x35')]));_0x5c3b02[_0x746d('0x34')]=_0x5c3b02[_0x746d('0x34')][_0x746d('0x36')]?_0x5c3b02[_0x746d('0x34')]:_0x44e7a5[_0x746d('0x2c')];if(_0x5c8842[_0x746d('0x2f')][_0x746d('0x43')]){_0x5c3b02['include']=[{'all':!![]}];}_0x5c3b02=_[_0x746d('0x3d')]({},_0x5c3b02,_0x5c8842['options']);return db[_0x746d('0x41')][_0x746d('0x47')](_0x5c3b02)['then'](handleEntityNotFound(_0x43f345,null))[_0x746d('0x15')](respondWithResult(_0x43f345,null))[_0x746d('0x1f')](handleError(_0x43f345,null));};exports[_0x746d('0x48')]=function(_0x495fac,_0x1aa541){return db[_0x746d('0x41')][_0x746d('0x48')](_0x495fac['body'],{})[_0x746d('0x15')](respondWithResult(_0x1aa541,0xc9))['catch'](handleError(_0x1aa541,null));};exports[_0x746d('0x27')]=function(_0x5e77e7,_0x572626){if(_0x5e77e7[_0x746d('0x49')]['id']){delete _0x5e77e7[_0x746d('0x49')]['id'];}return db[_0x746d('0x41')]['find']({'where':{'id':_0x5e77e7[_0x746d('0x4a')]['id']}})[_0x746d('0x15')](handleEntityNotFound(_0x572626,null))[_0x746d('0x15')](saveUpdates(_0x5e77e7[_0x746d('0x49')],null))[_0x746d('0x15')](respondWithResult(_0x572626,null))[_0x746d('0x1f')](handleError(_0x572626,null));};exports[_0x746d('0x4b')]=function(_0x25342c,_0x52987f){return db[_0x746d('0x41')][_0x746d('0x47')]({'where':{'id':_0x25342c[_0x746d('0x4a')]['id']}})['then'](handleEntityNotFound(_0x52987f,null))[_0x746d('0x15')](removeEntity(_0x52987f,null))['catch'](handleError(_0x52987f,null));};exports[_0x746d('0x4c')]=function(_0xda76f1,_0x46978,_0x24128b){var _0x5dc1ad={};var _0x5bdda9={};var _0x57d03f;var _0x4aa0e5;return db[_0x746d('0x41')]['findOne']({'where':{'id':_0xda76f1[_0x746d('0x4a')]['id']}})[_0x746d('0x15')](handleEntityNotFound(_0x46978,null))[_0x746d('0x15')](function(_0x384c8a){if(_0x384c8a){_0x57d03f=_0x384c8a;_0x5bdda9[_0x746d('0x2c')]=_['keys'](db['ZohoField'][_0x746d('0x2e')]);_0x5bdda9[_0x746d('0x2f')]=_[_0x746d('0x2d')](_0xda76f1[_0x746d('0x2f')]);_0x5bdda9[_0x746d('0x32')]=_['intersection'](_0x5bdda9['model'],_0x5bdda9[_0x746d('0x2f')]);_0x5dc1ad[_0x746d('0x34')]=_[_0x746d('0x33')](_0x5bdda9[_0x746d('0x2c')],qs[_0x746d('0x35')](_0xda76f1[_0x746d('0x2f')][_0x746d('0x35')]));_0x5dc1ad[_0x746d('0x34')]=_0x5dc1ad[_0x746d('0x34')][_0x746d('0x36')]?_0x5dc1ad[_0x746d('0x34')]:_0x5bdda9['model'];_0x5dc1ad[_0x746d('0x4d')]=qs[_0x746d('0x39')](_0xda76f1[_0x746d('0x2f')][_0x746d('0x39')]);_0x5dc1ad['where']=qs[_0x746d('0x32')](_[_0x746d('0x3a')](_0xda76f1[_0x746d('0x2f')],_0x5bdda9['filters']));if(_0xda76f1[_0x746d('0x2f')]['filter']){_0x5dc1ad[_0x746d('0x3e')]=_[_0x746d('0x3d')](_0x5dc1ad['where'],{'$or':_[_0x746d('0x40')](_0x5dc1ad[_0x746d('0x34')],function(_0x4053e0){var _0x5d0f73={};_0x5d0f73[_0x4053e0]={'$like':'%'+_0xda76f1[_0x746d('0x2f')]['filter']+'%'};return _0x5d0f73;})});}_0x5dc1ad=_[_0x746d('0x3d')]({},_0x5dc1ad,_0xda76f1[_0x746d('0x4e')]);return _0x57d03f[_0x746d('0x4c')](_0x5dc1ad);}})['then'](function(_0xda786f){if(_0xda786f){_0x4aa0e5=_0xda786f[_0x746d('0x36')];if(!_0xda76f1[_0x746d('0x2f')]['hasOwnProperty'](_0x746d('0x38'))){_0x5dc1ad['limit']=qs[_0x746d('0x24')](_0xda76f1[_0x746d('0x2f')][_0x746d('0x24')]);_0x5dc1ad['offset']=qs[_0x746d('0x23')](_0xda76f1[_0x746d('0x2f')][_0x746d('0x23')]);}return _0x57d03f[_0x746d('0x4c')](_0x5dc1ad);}})[_0x746d('0x15')](function(_0x465018){if(_0x465018){return _0x465018?{'count':_0x4aa0e5,'rows':_0x465018}:null;}})[_0x746d('0x15')](respondWithResult(_0x46978,null))['catch'](handleError(_0x46978,null));};exports[_0x746d('0x4f')]=function(_0x1b2713,_0x3658f6,_0x3cf747){var _0x1d9dfe={};var _0x399fbe={};var _0x5420bc;var _0x211681;return db['ZohoConfiguration'][_0x746d('0x50')]({'where':{'id':_0x1b2713[_0x746d('0x4a')]['id']}})[_0x746d('0x15')](handleEntityNotFound(_0x3658f6,null))['then'](function(_0x209139){if(_0x209139){_0x5420bc=_0x209139;_0x399fbe[_0x746d('0x2c')]=_[_0x746d('0x2d')](db[_0x746d('0x51')][_0x746d('0x2e')]);_0x399fbe[_0x746d('0x2f')]=_['keys'](_0x1b2713[_0x746d('0x2f')]);_0x399fbe[_0x746d('0x32')]=_['intersection'](_0x399fbe[_0x746d('0x2c')],_0x399fbe[_0x746d('0x2f')]);_0x1d9dfe[_0x746d('0x34')]=_[_0x746d('0x33')](_0x399fbe[_0x746d('0x2c')],qs[_0x746d('0x35')](_0x1b2713[_0x746d('0x2f')]['fields']));_0x1d9dfe[_0x746d('0x34')]=_0x1d9dfe[_0x746d('0x34')][_0x746d('0x36')]?_0x1d9dfe['attributes']:_0x399fbe[_0x746d('0x2c')];_0x1d9dfe[_0x746d('0x4d')]=qs[_0x746d('0x39')](_0x1b2713[_0x746d('0x2f')][_0x746d('0x39')]);_0x1d9dfe[_0x746d('0x3e')]=qs[_0x746d('0x32')](_[_0x746d('0x3a')](_0x1b2713[_0x746d('0x2f')],_0x399fbe[_0x746d('0x32')]));if(_0x1b2713[_0x746d('0x2f')][_0x746d('0x3f')]){_0x1d9dfe[_0x746d('0x3e')]=_[_0x746d('0x3d')](_0x1d9dfe[_0x746d('0x3e')],{'$or':_[_0x746d('0x40')](_0x1d9dfe[_0x746d('0x34')],function(_0x268b8a){var _0x44eac3={};_0x44eac3[_0x268b8a]={'$like':'%'+_0x1b2713[_0x746d('0x2f')][_0x746d('0x3f')]+'%'};return _0x44eac3;})});}_0x1d9dfe=_['merge']({},_0x1d9dfe,_0x1b2713['options']);return _0x5420bc[_0x746d('0x4f')](_0x1d9dfe);}})['then'](function(_0x5c4df5){if(_0x5c4df5){_0x211681=_0x5c4df5[_0x746d('0x36')];if(!_0x1b2713[_0x746d('0x2f')]['hasOwnProperty'](_0x746d('0x38'))){_0x1d9dfe[_0x746d('0x24')]=qs[_0x746d('0x24')](_0x1b2713[_0x746d('0x2f')][_0x746d('0x24')]);_0x1d9dfe['offset']=qs[_0x746d('0x23')](_0x1b2713['query'][_0x746d('0x23')]);}return _0x5420bc[_0x746d('0x4f')](_0x1d9dfe);}})[_0x746d('0x15')](function(_0x15c76a){if(_0x15c76a){return _0x15c76a?{'count':_0x211681,'rows':_0x15c76a}:null;}})['then'](respondWithResult(_0x3658f6,null))[_0x746d('0x1f')](handleError(_0x3658f6,null));};exports[_0x746d('0x52')]=function(_0x1744d5,_0xce8cc6,_0xb220a3){var _0x5c5168={};var _0x326a85={};var _0x589e81;var _0x3b9acd;return db[_0x746d('0x41')][_0x746d('0x50')]({'where':{'id':_0x1744d5['params']['id']}})['then'](handleEntityNotFound(_0xce8cc6,null))[_0x746d('0x15')](function(_0x5bd564){if(_0x5bd564){_0x589e81=_0x5bd564;_0x326a85[_0x746d('0x2c')]=_[_0x746d('0x2d')](db['ZohoField'][_0x746d('0x2e')]);_0x326a85['query']=_[_0x746d('0x2d')](_0x1744d5[_0x746d('0x2f')]);_0x326a85[_0x746d('0x32')]=_['intersection'](_0x326a85[_0x746d('0x2c')],_0x326a85['query']);_0x5c5168[_0x746d('0x34')]=_[_0x746d('0x33')](_0x326a85['model'],qs[_0x746d('0x35')](_0x1744d5[_0x746d('0x2f')][_0x746d('0x35')]));_0x5c5168[_0x746d('0x34')]=_0x5c5168['attributes'][_0x746d('0x36')]?_0x5c5168[_0x746d('0x34')]:_0x326a85[_0x746d('0x2c')];_0x5c5168[_0x746d('0x4d')]=qs[_0x746d('0x39')](_0x1744d5[_0x746d('0x2f')][_0x746d('0x39')]);_0x5c5168[_0x746d('0x3e')]=qs[_0x746d('0x32')](_[_0x746d('0x3a')](_0x1744d5[_0x746d('0x2f')],_0x326a85['filters']));if(_0x1744d5[_0x746d('0x2f')][_0x746d('0x3f')]){_0x5c5168['where']=_[_0x746d('0x3d')](_0x5c5168[_0x746d('0x3e')],{'$or':_['map'](_0x5c5168[_0x746d('0x34')],function(_0x50524f){var _0x1b46a0={};_0x1b46a0[_0x50524f]={'$like':'%'+_0x1744d5[_0x746d('0x2f')][_0x746d('0x3f')]+'%'};return _0x1b46a0;})});}_0x5c5168=_[_0x746d('0x3d')]({},_0x5c5168,_0x1744d5['options']);return _0x589e81[_0x746d('0x52')](_0x5c5168);}})[_0x746d('0x15')](function(_0x45583f){if(_0x45583f){_0x3b9acd=_0x45583f['length'];if(!_0x1744d5['query']['hasOwnProperty'](_0x746d('0x38'))){_0x5c5168['limit']=qs[_0x746d('0x24')](_0x1744d5['query'][_0x746d('0x24')]);_0x5c5168[_0x746d('0x23')]=qs[_0x746d('0x23')](_0x1744d5[_0x746d('0x2f')][_0x746d('0x23')]);}return _0x589e81[_0x746d('0x52')](_0x5c5168);}})['then'](function(_0x308720){if(_0x308720){return _0x308720?{'count':_0x3b9acd,'rows':_0x308720}:null;}})['then'](respondWithResult(_0xce8cc6,null))[_0x746d('0x1f')](handleError(_0xce8cc6,null));};