Built motion from commit (unavailable).|2.5.4
[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 _0x0973=['params','destroy','getFields','order','getSubjects','findOne','ZohoField','map','nolimit','getDescriptions','html-pdf','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','jayson/promise','client','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','info','ZohoConfiguration,\x20%s,\x20%s','request\x20sent','debug','ZohoConfiguration,\x20%s,\x20%s,\x20%s','code','error','message','result','catch','end','status','set','Content-Range','json','apply','reject','save','then','name','send','index','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','limit','offset','sort','where','pick','merge','VIRTUAL','filter','count','includeAll','include','findAll','rows','ZohoConfiguration','length','options','find','create','body','update'];(function(_0x13cc7b,_0x15ab48){var _0x172940=function(_0x54f531){while(--_0x54f531){_0x13cc7b['push'](_0x13cc7b['shift']());}};_0x172940(++_0x15ab48);}(_0x0973,0x1cc));var _0x3097=function(_0x3a02f9,_0xc6e2ca){_0x3a02f9=_0x3a02f9-0x0;var _0x27bf8a=_0x0973[_0x3a02f9];return _0x27bf8a;};'use strict';var pdf=require(_0x3097('0x0'));var emlformat=require(_0x3097('0x1'));var rimraf=require(_0x3097('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3097('0x3'));var rp=require('request-promise');var moment=require(_0x3097('0x4'));var BPromise=require(_0x3097('0x5'));var Mustache=require(_0x3097('0x6'));var util=require(_0x3097('0x7'));var path=require(_0x3097('0x8'));var sox=require('sox');var csv=require(_0x3097('0x9'));var ejs=require(_0x3097('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x3097('0xb'));var crypto=require(_0x3097('0xc'));var jsforce=require(_0x3097('0xd'));var deskjs=require(_0x3097('0xe'));var toCsv=require(_0x3097('0x9'));var querystring=require('querystring');var Papa=require(_0x3097('0xf'));var Redis=require('ioredis');var authService=require(_0x3097('0x10'));var qs=require(_0x3097('0x11'));var as=require(_0x3097('0x12'));var hardwareService=require(_0x3097('0x13'));var logger=require(_0x3097('0x14'))(_0x3097('0x15'));var utils=require(_0x3097('0x16'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];var jayson=require(_0x3097('0x17'));var client=jayson[_0x3097('0x18')]['http']({'port':0x232a});function checkPasswordPattern(_0x7183a4,_0x36fa69,_0x6a8caf){if(_0x6a8caf){var _0x324226=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x324226['test'](_0x36fa69)){return _0x7183a4;}else{throw new db['Sequelize']['ValidationError'](_0x3097('0x19'));}}else{return _0x7183a4;}}function respondWithRpcPromise(_0x51c474,_0x246a0f,_0x17a3ee,_0x207a7d){return new BPromise(function(_0x522940,_0x201cba){var _0x3adb5c=_0x207a7d||client;return _0x3adb5c['request'](_0x51c474,_0x17a3ee)['then'](function(_0x53e8de){logger[_0x3097('0x1a')](_0x3097('0x1b'),_0x246a0f,_0x3097('0x1c'));logger[_0x3097('0x1d')](_0x3097('0x1e'),_0x246a0f,_0x3097('0x1c'),JSON['stringify'](_0x53e8de));if(_0x53e8de['error']){if(_0x53e8de['error'][_0x3097('0x1f')]===0x1f4){logger[_0x3097('0x20')](_0x3097('0x1b'),_0x246a0f,_0x53e8de['error'][_0x3097('0x21')]);return _0x201cba(_0x53e8de[_0x3097('0x20')][_0x3097('0x21')]);}logger[_0x3097('0x20')](_0x3097('0x1b'),_0x246a0f,_0x53e8de[_0x3097('0x20')]['message']);return _0x522940(_0x53e8de[_0x3097('0x20')][_0x3097('0x21')]);}else{logger['info'](_0x3097('0x1b'),_0x246a0f,'request\x20sent');_0x522940(_0x53e8de[_0x3097('0x22')]['message']);}})[_0x3097('0x23')](function(_0x19351c){logger[_0x3097('0x20')](_0x3097('0x1b'),_0x246a0f,_0x19351c);_0x201cba(_0x19351c);});});}function respondWithStatusCode(_0x47a857,_0x3f761f){_0x3f761f=_0x3f761f||0xcc;return function(_0x31058e){if(_0x31058e){return _0x47a857['sendStatus'](_0x3f761f);}return _0x47a857['status'](_0x3f761f)[_0x3097('0x24')]();};}function respondWithResult(_0x1c4b01,_0x338c2f){_0x338c2f=_0x338c2f||0xc8;return function(_0xe7a2d9){if(_0xe7a2d9){return _0x1c4b01[_0x3097('0x25')](_0x338c2f)['json'](_0xe7a2d9);}};}function respondWithFilteredResult(_0x1150ee,_0x3cdd5d){return function(_0x1ef6bd){if(_0x1ef6bd){var _0x585732=_0x1ef6bd['count'],_0x646533=_0x3cdd5d['offset'],_0x1c4eb2=_0x3cdd5d['offset']+_0x3cdd5d['limit'],_0x5a5b88;if(_0x1c4eb2>=_0x585732){_0x1c4eb2=_0x585732;_0x5a5b88=0xc8;}else{_0x5a5b88=0xce;}_0x1150ee[_0x3097('0x25')](_0x5a5b88);return _0x1150ee[_0x3097('0x26')](_0x3097('0x27'),_0x646533+'-'+_0x1c4eb2+'/'+_0x585732)[_0x3097('0x28')](_0x1ef6bd);}return null;};}function patchUpdates(_0x3a2412){return function(_0x305ba8){try{jsonpatch[_0x3097('0x29')](_0x305ba8,_0x3a2412,!![]);}catch(_0x8f7750){return BPromise[_0x3097('0x2a')](_0x8f7750);}return _0x305ba8[_0x3097('0x2b')]();};}function saveUpdates(_0x2c3f3c,_0x47ec8a){return function(_0x3aafaa){if(_0x3aafaa){return _0x3aafaa['update'](_0x2c3f3c)[_0x3097('0x2c')](function(_0x53faee){return _0x53faee;});}return null;};}function removeEntity(_0x40ea60,_0x328aa1){return function(_0xb0d1cb){if(_0xb0d1cb){return _0xb0d1cb['destroy']()[_0x3097('0x2c')](function(){_0x40ea60[_0x3097('0x25')](0xcc)[_0x3097('0x24')]();});}};}function handleEntityNotFound(_0x2a3e0c,_0x7b5e94){return function(_0x2761f9){if(!_0x2761f9){_0x2a3e0c['sendStatus'](0x194);}return _0x2761f9;};}function handleError(_0x1f57ff,_0x4771da){_0x4771da=_0x4771da||0x1f4;return function(_0x102681){logger[_0x3097('0x20')](_0x102681['stack']);if(_0x102681[_0x3097('0x2d')]){delete _0x102681[_0x3097('0x2d')];}_0x1f57ff[_0x3097('0x25')](_0x4771da)[_0x3097('0x2e')](_0x102681);};}exports[_0x3097('0x2f')]=function(_0x3ad38c,_0x32d2d9){var _0x4c9eae={},_0x1bb913={},_0x2ab654={'count':0x0,'rows':[]};var _0x599b65=_['map'](db['ZohoConfiguration'][_0x3097('0x30')],function(_0x3a6078){return{'name':_0x3a6078[_0x3097('0x31')],'type':_0x3a6078[_0x3097('0x32')][_0x3097('0x33')]};});_0x1bb913[_0x3097('0x34')]=_['map'](_0x599b65,_0x3097('0x2d'));_0x1bb913[_0x3097('0x35')]=_[_0x3097('0x36')](_0x3ad38c[_0x3097('0x35')]);_0x1bb913[_0x3097('0x37')]=_[_0x3097('0x38')](_0x1bb913[_0x3097('0x34')],_0x1bb913[_0x3097('0x35')]);_0x4c9eae[_0x3097('0x39')]=_[_0x3097('0x38')](_0x1bb913['model'],qs[_0x3097('0x3a')](_0x3ad38c[_0x3097('0x35')][_0x3097('0x3a')]));_0x4c9eae[_0x3097('0x39')]=_0x4c9eae[_0x3097('0x39')]['length']?_0x4c9eae[_0x3097('0x39')]:_0x1bb913['model'];if(!_0x3ad38c[_0x3097('0x35')][_0x3097('0x3b')]('nolimit')){_0x4c9eae[_0x3097('0x3c')]=qs[_0x3097('0x3c')](_0x3ad38c[_0x3097('0x35')][_0x3097('0x3c')]);_0x4c9eae[_0x3097('0x3d')]=qs[_0x3097('0x3d')](_0x3ad38c[_0x3097('0x35')][_0x3097('0x3d')]);}_0x4c9eae['order']=qs[_0x3097('0x3e')](_0x3ad38c[_0x3097('0x35')][_0x3097('0x3e')]);_0x4c9eae[_0x3097('0x3f')]=qs['filters'](_[_0x3097('0x40')](_0x3ad38c[_0x3097('0x35')],_0x1bb913['filters']),_0x599b65);if(_0x3ad38c[_0x3097('0x35')]['filter']){_0x4c9eae[_0x3097('0x3f')]=_[_0x3097('0x41')](_0x4c9eae[_0x3097('0x3f')],{'$or':_['map'](_0x599b65,function(_0x30eb8e){if(_0x30eb8e['type']!==_0x3097('0x42')){var _0x4078f9={};_0x4078f9[_0x30eb8e[_0x3097('0x2d')]]={'$like':'%'+_0x3ad38c['query'][_0x3097('0x43')]+'%'};return _0x4078f9;}})});}_0x4c9eae=_[_0x3097('0x41')]({},_0x4c9eae,_0x3ad38c['options']);var _0x1f340e={'where':_0x4c9eae[_0x3097('0x3f')]};return db['ZohoConfiguration'][_0x3097('0x44')](_0x1f340e)[_0x3097('0x2c')](function(_0x27c939){_0x2ab654['count']=_0x27c939;if(_0x3ad38c['query'][_0x3097('0x45')]){_0x4c9eae[_0x3097('0x46')]=[{'all':!![]}];}return db['ZohoConfiguration'][_0x3097('0x47')](_0x4c9eae);})[_0x3097('0x2c')](function(_0x4e969a){_0x2ab654[_0x3097('0x48')]=_0x4e969a;return _0x2ab654;})[_0x3097('0x2c')](respondWithFilteredResult(_0x32d2d9,_0x4c9eae))['catch'](handleError(_0x32d2d9,null));};exports['show']=function(_0x1b9d8d,_0x55d4a7){var _0x2466be={'raw':![],'where':{'id':_0x1b9d8d['params']['id']}},_0x33887b={};_0x33887b[_0x3097('0x34')]=_[_0x3097('0x36')](db[_0x3097('0x49')]['rawAttributes']);_0x33887b[_0x3097('0x35')]=_[_0x3097('0x36')](_0x1b9d8d[_0x3097('0x35')]);_0x33887b[_0x3097('0x37')]=_[_0x3097('0x38')](_0x33887b[_0x3097('0x34')],_0x33887b[_0x3097('0x35')]);_0x2466be[_0x3097('0x39')]=_['intersection'](_0x33887b[_0x3097('0x34')],qs['fields'](_0x1b9d8d['query'][_0x3097('0x3a')]));_0x2466be['attributes']=_0x2466be[_0x3097('0x39')][_0x3097('0x4a')]?_0x2466be[_0x3097('0x39')]:_0x33887b[_0x3097('0x34')];if(_0x1b9d8d['query'][_0x3097('0x45')]){_0x2466be[_0x3097('0x46')]=[{'all':!![]}];}_0x2466be=_[_0x3097('0x41')]({},_0x2466be,_0x1b9d8d[_0x3097('0x4b')]);return db[_0x3097('0x49')][_0x3097('0x4c')](_0x2466be)[_0x3097('0x2c')](handleEntityNotFound(_0x55d4a7,null))[_0x3097('0x2c')](respondWithResult(_0x55d4a7,null))[_0x3097('0x23')](handleError(_0x55d4a7,null));};exports[_0x3097('0x4d')]=function(_0x38bb94,_0x594b65){return db[_0x3097('0x49')][_0x3097('0x4d')](_0x38bb94[_0x3097('0x4e')],{})[_0x3097('0x2c')](respondWithResult(_0x594b65,0xc9))['catch'](handleError(_0x594b65,null));};exports[_0x3097('0x4f')]=function(_0x2ebc12,_0x401278){if(_0x2ebc12[_0x3097('0x4e')]['id']){delete _0x2ebc12[_0x3097('0x4e')]['id'];}return db[_0x3097('0x49')][_0x3097('0x4c')]({'where':{'id':_0x2ebc12[_0x3097('0x50')]['id']}})[_0x3097('0x2c')](handleEntityNotFound(_0x401278,null))['then'](saveUpdates(_0x2ebc12[_0x3097('0x4e')],null))[_0x3097('0x2c')](respondWithResult(_0x401278,null))[_0x3097('0x23')](handleError(_0x401278,null));};exports[_0x3097('0x51')]=function(_0x58a160,_0x19db9e){return db[_0x3097('0x49')][_0x3097('0x4c')]({'where':{'id':_0x58a160[_0x3097('0x50')]['id']}})['then'](handleEntityNotFound(_0x19db9e,null))[_0x3097('0x2c')](removeEntity(_0x19db9e,null))[_0x3097('0x23')](handleError(_0x19db9e,null));};exports[_0x3097('0x52')]=function(_0x33fd4d,_0x6ad379,_0x41dff8){var _0xc67a14={};var _0x32d24c={};var _0x53b197;var _0xd0e895;return db[_0x3097('0x49')]['findOne']({'where':{'id':_0x33fd4d[_0x3097('0x50')]['id']}})[_0x3097('0x2c')](handleEntityNotFound(_0x6ad379,null))['then'](function(_0x3cae1d){if(_0x3cae1d){_0x53b197=_0x3cae1d;_0x32d24c[_0x3097('0x34')]=_[_0x3097('0x36')](db['ZohoField'][_0x3097('0x30')]);_0x32d24c[_0x3097('0x35')]=_['keys'](_0x33fd4d[_0x3097('0x35')]);_0x32d24c[_0x3097('0x37')]=_[_0x3097('0x38')](_0x32d24c['model'],_0x32d24c[_0x3097('0x35')]);_0xc67a14['attributes']=_[_0x3097('0x38')](_0x32d24c[_0x3097('0x34')],qs[_0x3097('0x3a')](_0x33fd4d[_0x3097('0x35')]['fields']));_0xc67a14[_0x3097('0x39')]=_0xc67a14[_0x3097('0x39')][_0x3097('0x4a')]?_0xc67a14[_0x3097('0x39')]:_0x32d24c[_0x3097('0x34')];_0xc67a14[_0x3097('0x53')]=qs[_0x3097('0x3e')](_0x33fd4d[_0x3097('0x35')][_0x3097('0x3e')]);_0xc67a14['where']=qs[_0x3097('0x37')](_['pick'](_0x33fd4d['query'],_0x32d24c['filters']));if(_0x33fd4d['query']['filter']){_0xc67a14[_0x3097('0x3f')]=_['merge'](_0xc67a14['where'],{'$or':_['map'](_0xc67a14[_0x3097('0x39')],function(_0x2e6614){var _0x2662d0={};_0x2662d0[_0x2e6614]={'$like':'%'+_0x33fd4d[_0x3097('0x35')][_0x3097('0x43')]+'%'};return _0x2662d0;})});}_0xc67a14=_[_0x3097('0x41')]({},_0xc67a14,_0x33fd4d['options']);return _0x53b197['getFields'](_0xc67a14);}})[_0x3097('0x2c')](function(_0x284003){if(_0x284003){_0xd0e895=_0x284003['length'];if(!_0x33fd4d[_0x3097('0x35')][_0x3097('0x3b')]('nolimit')){_0xc67a14[_0x3097('0x3c')]=qs[_0x3097('0x3c')](_0x33fd4d[_0x3097('0x35')]['limit']);_0xc67a14[_0x3097('0x3d')]=qs['offset'](_0x33fd4d[_0x3097('0x35')][_0x3097('0x3d')]);}return _0x53b197['getFields'](_0xc67a14);}})[_0x3097('0x2c')](function(_0x6c8925){if(_0x6c8925){return _0x6c8925?{'count':_0xd0e895,'rows':_0x6c8925}:null;}})[_0x3097('0x2c')](respondWithResult(_0x6ad379,null))['catch'](handleError(_0x6ad379,null));};exports[_0x3097('0x54')]=function(_0x3f87c2,_0x38c87f,_0x1fad53){var _0x4a45f7={};var _0x51178f={};var _0xbea33f;var _0x171044;return db['ZohoConfiguration'][_0x3097('0x55')]({'where':{'id':_0x3f87c2[_0x3097('0x50')]['id']}})[_0x3097('0x2c')](handleEntityNotFound(_0x38c87f,null))[_0x3097('0x2c')](function(_0x23abea){if(_0x23abea){_0xbea33f=_0x23abea;_0x51178f[_0x3097('0x34')]=_[_0x3097('0x36')](db[_0x3097('0x56')][_0x3097('0x30')]);_0x51178f[_0x3097('0x35')]=_['keys'](_0x3f87c2[_0x3097('0x35')]);_0x51178f['filters']=_[_0x3097('0x38')](_0x51178f[_0x3097('0x34')],_0x51178f[_0x3097('0x35')]);_0x4a45f7['attributes']=_[_0x3097('0x38')](_0x51178f[_0x3097('0x34')],qs['fields'](_0x3f87c2[_0x3097('0x35')][_0x3097('0x3a')]));_0x4a45f7[_0x3097('0x39')]=_0x4a45f7[_0x3097('0x39')][_0x3097('0x4a')]?_0x4a45f7[_0x3097('0x39')]:_0x51178f['model'];_0x4a45f7[_0x3097('0x53')]=qs['sort'](_0x3f87c2['query'][_0x3097('0x3e')]);_0x4a45f7[_0x3097('0x3f')]=qs[_0x3097('0x37')](_[_0x3097('0x40')](_0x3f87c2['query'],_0x51178f['filters']));if(_0x3f87c2[_0x3097('0x35')]['filter']){_0x4a45f7['where']=_[_0x3097('0x41')](_0x4a45f7[_0x3097('0x3f')],{'$or':_[_0x3097('0x57')](_0x4a45f7[_0x3097('0x39')],function(_0x272c01){var _0x1a3bd0={};_0x1a3bd0[_0x272c01]={'$like':'%'+_0x3f87c2['query']['filter']+'%'};return _0x1a3bd0;})});}_0x4a45f7=_['merge']({},_0x4a45f7,_0x3f87c2['options']);return _0xbea33f['getSubjects'](_0x4a45f7);}})['then'](function(_0x5c3ed6){if(_0x5c3ed6){_0x171044=_0x5c3ed6[_0x3097('0x4a')];if(!_0x3f87c2['query']['hasOwnProperty'](_0x3097('0x58'))){_0x4a45f7[_0x3097('0x3c')]=qs['limit'](_0x3f87c2[_0x3097('0x35')][_0x3097('0x3c')]);_0x4a45f7[_0x3097('0x3d')]=qs[_0x3097('0x3d')](_0x3f87c2[_0x3097('0x35')][_0x3097('0x3d')]);}return _0xbea33f[_0x3097('0x54')](_0x4a45f7);}})[_0x3097('0x2c')](function(_0x17c802){if(_0x17c802){return _0x17c802?{'count':_0x171044,'rows':_0x17c802}:null;}})[_0x3097('0x2c')](respondWithResult(_0x38c87f,null))[_0x3097('0x23')](handleError(_0x38c87f,null));};exports[_0x3097('0x59')]=function(_0x374ba1,_0x2401f1,_0x37644b){var _0x27a7de={};var _0x4a42c1={};var _0x4605b0;var _0x45853a;return db['ZohoConfiguration'][_0x3097('0x55')]({'where':{'id':_0x374ba1[_0x3097('0x50')]['id']}})[_0x3097('0x2c')](handleEntityNotFound(_0x2401f1,null))[_0x3097('0x2c')](function(_0x526179){if(_0x526179){_0x4605b0=_0x526179;_0x4a42c1[_0x3097('0x34')]=_['keys'](db[_0x3097('0x56')][_0x3097('0x30')]);_0x4a42c1[_0x3097('0x35')]=_[_0x3097('0x36')](_0x374ba1[_0x3097('0x35')]);_0x4a42c1[_0x3097('0x37')]=_[_0x3097('0x38')](_0x4a42c1[_0x3097('0x34')],_0x4a42c1[_0x3097('0x35')]);_0x27a7de[_0x3097('0x39')]=_[_0x3097('0x38')](_0x4a42c1['model'],qs['fields'](_0x374ba1[_0x3097('0x35')][_0x3097('0x3a')]));_0x27a7de[_0x3097('0x39')]=_0x27a7de[_0x3097('0x39')][_0x3097('0x4a')]?_0x27a7de['attributes']:_0x4a42c1[_0x3097('0x34')];_0x27a7de[_0x3097('0x53')]=qs[_0x3097('0x3e')](_0x374ba1[_0x3097('0x35')][_0x3097('0x3e')]);_0x27a7de[_0x3097('0x3f')]=qs['filters'](_['pick'](_0x374ba1[_0x3097('0x35')],_0x4a42c1[_0x3097('0x37')]));if(_0x374ba1['query']['filter']){_0x27a7de[_0x3097('0x3f')]=_[_0x3097('0x41')](_0x27a7de['where'],{'$or':_[_0x3097('0x57')](_0x27a7de['attributes'],function(_0x353c9b){var _0x590741={};_0x590741[_0x353c9b]={'$like':'%'+_0x374ba1[_0x3097('0x35')][_0x3097('0x43')]+'%'};return _0x590741;})});}_0x27a7de=_[_0x3097('0x41')]({},_0x27a7de,_0x374ba1[_0x3097('0x4b')]);return _0x4605b0['getDescriptions'](_0x27a7de);}})[_0x3097('0x2c')](function(_0x268804){if(_0x268804){_0x45853a=_0x268804[_0x3097('0x4a')];if(!_0x374ba1['query']['hasOwnProperty'](_0x3097('0x58'))){_0x27a7de['limit']=qs['limit'](_0x374ba1[_0x3097('0x35')]['limit']);_0x27a7de['offset']=qs[_0x3097('0x3d')](_0x374ba1['query'][_0x3097('0x3d')]);}return _0x4605b0[_0x3097('0x59')](_0x27a7de);}})[_0x3097('0x2c')](function(_0x2f89c5){if(_0x2f89c5){return _0x2f89c5?{'count':_0x45853a,'rows':_0x2f89c5}:null;}})[_0x3097('0x2c')](respondWithResult(_0x2401f1,null))['catch'](handleError(_0x2401f1,null));};