Built motion from commit da617fac.|2.6.6
[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 _0xe7b6=['end','status','limit','undefined','count','offset','Content-Range','json','apply','save','update','destroy','then','error','stack','name','send','index','map','rawAttributes','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','order','sort','where','filters','pick','merge','options','includeAll','include','ZohoConfiguration','findAll','rows','show','params','length','find','create','body','catch','findOne','ZohoField','filter','getFields','nolimit','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus'];(function(_0x2b96d5,_0x5383ea){var _0x49afba=function(_0x512623){while(--_0x512623){_0x2b96d5['push'](_0x2b96d5['shift']());}};_0x49afba(++_0x5383ea);}(_0xe7b6,0x87));var _0x6e7b=function(_0x5dd0fa,_0x1fe623){_0x5dd0fa=_0x5dd0fa-0x0;var _0x29ddea=_0xe7b6[_0x5dd0fa];return _0x29ddea;};'use strict';var emlformat=require(_0x6e7b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6e7b('0x1'));var jsonpatch=require(_0x6e7b('0x2'));var rp=require(_0x6e7b('0x3'));var moment=require('moment');var BPromise=require(_0x6e7b('0x4'));var Mustache=require(_0x6e7b('0x5'));var util=require(_0x6e7b('0x6'));var path=require(_0x6e7b('0x7'));var sox=require(_0x6e7b('0x8'));var csv=require(_0x6e7b('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6e7b('0xa'));var squel=require(_0x6e7b('0xb'));var crypto=require(_0x6e7b('0xc'));var jsforce=require(_0x6e7b('0xd'));var deskjs=require(_0x6e7b('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x6e7b('0xf'));var Redis=require('ioredis');var authService=require(_0x6e7b('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x6e7b('0x11'));var hardwareService=require(_0x6e7b('0x12'));var logger=require(_0x6e7b('0x13'))(_0x6e7b('0x14'));var utils=require(_0x6e7b('0x15'));var config=require(_0x6e7b('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x6e7b('0x17'))['db'];function respondWithStatusCode(_0x4a193c,_0x44eb0d){_0x44eb0d=_0x44eb0d||0xcc;return function(_0x5edb70){if(_0x5edb70){return _0x4a193c[_0x6e7b('0x18')](_0x44eb0d);}return _0x4a193c['status'](_0x44eb0d)[_0x6e7b('0x19')]();};}function respondWithResult(_0x1b0e07,_0x29e46b){_0x29e46b=_0x29e46b||0xc8;return function(_0x2a4f13){if(_0x2a4f13){return _0x1b0e07[_0x6e7b('0x1a')](_0x29e46b)['json'](_0x2a4f13);}};}function respondWithFilteredResult(_0x13f14d,_0x409d4b){return function(_0x161c15){if(_0x161c15){var _0x3108a6=typeof _0x409d4b['offset']==='undefined'&&typeof _0x409d4b[_0x6e7b('0x1b')]===_0x6e7b('0x1c');var _0x730a26=_0x161c15[_0x6e7b('0x1d')];var _0xf5696f=_0x3108a6?0x0:_0x409d4b[_0x6e7b('0x1e')];var _0x2e5265=_0x3108a6?_0x161c15[_0x6e7b('0x1d')]:_0x409d4b[_0x6e7b('0x1e')]+_0x409d4b[_0x6e7b('0x1b')];var _0x5b1a6f;if(_0x2e5265>=_0x730a26){_0x2e5265=_0x730a26;_0x5b1a6f=0xc8;}else{_0x5b1a6f=0xce;}_0x13f14d[_0x6e7b('0x1a')](_0x5b1a6f);return _0x13f14d['set'](_0x6e7b('0x1f'),_0xf5696f+'-'+_0x2e5265+'/'+_0x730a26)[_0x6e7b('0x20')](_0x161c15);}return null;};}function patchUpdates(_0x276405){return function(_0x3163fb){try{jsonpatch[_0x6e7b('0x21')](_0x3163fb,_0x276405,!![]);}catch(_0x4cbc73){return BPromise['reject'](_0x4cbc73);}return _0x3163fb[_0x6e7b('0x22')]();};}function saveUpdates(_0x4508f3,_0x3e69c6){return function(_0x1d2ece){if(_0x1d2ece){return _0x1d2ece[_0x6e7b('0x23')](_0x4508f3)['then'](function(_0x45ccaa){return _0x45ccaa;});}return null;};}function removeEntity(_0x3ae01c,_0x6efac1){return function(_0x1a922b){if(_0x1a922b){return _0x1a922b[_0x6e7b('0x24')]()[_0x6e7b('0x25')](function(){_0x3ae01c[_0x6e7b('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5ae249,_0x1f8a18){return function(_0x367b3e){if(!_0x367b3e){_0x5ae249[_0x6e7b('0x18')](0x194);}return _0x367b3e;};}function handleError(_0x136d51,_0x342eb9){_0x342eb9=_0x342eb9||0x1f4;return function(_0x537148){logger[_0x6e7b('0x26')](_0x537148[_0x6e7b('0x27')]);if(_0x537148['name']){delete _0x537148[_0x6e7b('0x28')];}_0x136d51[_0x6e7b('0x1a')](_0x342eb9)[_0x6e7b('0x29')](_0x537148);};}exports[_0x6e7b('0x2a')]=function(_0x329024,_0x405d60){var _0x1e3b28={},_0x5285a6={},_0x1ec007={'count':0x0,'rows':[]};var _0x5a4a0b=_[_0x6e7b('0x2b')](db['ZohoConfiguration'][_0x6e7b('0x2c')],function(_0x444bfa){return{'name':_0x444bfa['fieldName'],'type':_0x444bfa[_0x6e7b('0x2d')][_0x6e7b('0x2e')]};});_0x5285a6[_0x6e7b('0x2f')]=_[_0x6e7b('0x2b')](_0x5a4a0b,_0x6e7b('0x28'));_0x5285a6[_0x6e7b('0x30')]=_[_0x6e7b('0x31')](_0x329024[_0x6e7b('0x30')]);_0x5285a6['filters']=_[_0x6e7b('0x32')](_0x5285a6[_0x6e7b('0x2f')],_0x5285a6[_0x6e7b('0x30')]);_0x1e3b28[_0x6e7b('0x33')]=_[_0x6e7b('0x32')](_0x5285a6[_0x6e7b('0x2f')],qs[_0x6e7b('0x34')](_0x329024[_0x6e7b('0x30')][_0x6e7b('0x34')]));_0x1e3b28[_0x6e7b('0x33')]=_0x1e3b28[_0x6e7b('0x33')]['length']?_0x1e3b28['attributes']:_0x5285a6[_0x6e7b('0x2f')];if(!_0x329024[_0x6e7b('0x30')][_0x6e7b('0x35')]('nolimit')){_0x1e3b28[_0x6e7b('0x1b')]=qs[_0x6e7b('0x1b')](_0x329024['query']['limit']);_0x1e3b28[_0x6e7b('0x1e')]=qs['offset'](_0x329024[_0x6e7b('0x30')][_0x6e7b('0x1e')]);}_0x1e3b28[_0x6e7b('0x36')]=qs['sort'](_0x329024[_0x6e7b('0x30')][_0x6e7b('0x37')]);_0x1e3b28[_0x6e7b('0x38')]=qs[_0x6e7b('0x39')](_[_0x6e7b('0x3a')](_0x329024[_0x6e7b('0x30')],_0x5285a6[_0x6e7b('0x39')]),_0x5a4a0b);if(_0x329024[_0x6e7b('0x30')]['filter']){_0x1e3b28['where']=_[_0x6e7b('0x3b')](_0x1e3b28[_0x6e7b('0x38')],{'$or':_[_0x6e7b('0x2b')](_0x5a4a0b,function(_0x151684){if(_0x151684[_0x6e7b('0x2d')]!=='VIRTUAL'){var _0x468aa6={};_0x468aa6[_0x151684[_0x6e7b('0x28')]]={'$like':'%'+_0x329024[_0x6e7b('0x30')]['filter']+'%'};return _0x468aa6;}})});}_0x1e3b28=_[_0x6e7b('0x3b')]({},_0x1e3b28,_0x329024[_0x6e7b('0x3c')]);var _0x5cb38a={'where':_0x1e3b28['where']};return db['ZohoConfiguration'][_0x6e7b('0x1d')](_0x5cb38a)[_0x6e7b('0x25')](function(_0x412855){_0x1ec007[_0x6e7b('0x1d')]=_0x412855;if(_0x329024[_0x6e7b('0x30')][_0x6e7b('0x3d')]){_0x1e3b28[_0x6e7b('0x3e')]=[{'all':!![]}];}return db[_0x6e7b('0x3f')][_0x6e7b('0x40')](_0x1e3b28);})[_0x6e7b('0x25')](function(_0x33b6b2){_0x1ec007[_0x6e7b('0x41')]=_0x33b6b2;return _0x1ec007;})[_0x6e7b('0x25')](respondWithFilteredResult(_0x405d60,_0x1e3b28))['catch'](handleError(_0x405d60,null));};exports[_0x6e7b('0x42')]=function(_0x243a69,_0x251489){var _0x48e73a={'raw':![],'where':{'id':_0x243a69[_0x6e7b('0x43')]['id']}},_0x503bf0={};_0x503bf0['model']=_['keys'](db[_0x6e7b('0x3f')][_0x6e7b('0x2c')]);_0x503bf0['query']=_['keys'](_0x243a69[_0x6e7b('0x30')]);_0x503bf0[_0x6e7b('0x39')]=_['intersection'](_0x503bf0['model'],_0x503bf0[_0x6e7b('0x30')]);_0x48e73a['attributes']=_['intersection'](_0x503bf0[_0x6e7b('0x2f')],qs[_0x6e7b('0x34')](_0x243a69[_0x6e7b('0x30')][_0x6e7b('0x34')]));_0x48e73a[_0x6e7b('0x33')]=_0x48e73a['attributes'][_0x6e7b('0x44')]?_0x48e73a[_0x6e7b('0x33')]:_0x503bf0[_0x6e7b('0x2f')];if(_0x243a69[_0x6e7b('0x30')]['includeAll']){_0x48e73a[_0x6e7b('0x3e')]=[{'all':!![]}];}_0x48e73a=_[_0x6e7b('0x3b')]({},_0x48e73a,_0x243a69[_0x6e7b('0x3c')]);return db[_0x6e7b('0x3f')][_0x6e7b('0x45')](_0x48e73a)['then'](handleEntityNotFound(_0x251489,null))[_0x6e7b('0x25')](respondWithResult(_0x251489,null))['catch'](handleError(_0x251489,null));};exports[_0x6e7b('0x46')]=function(_0x1c0614,_0x320959){return db['ZohoConfiguration'][_0x6e7b('0x46')](_0x1c0614[_0x6e7b('0x47')],{})[_0x6e7b('0x25')](respondWithResult(_0x320959,0xc9))[_0x6e7b('0x48')](handleError(_0x320959,null));};exports[_0x6e7b('0x23')]=function(_0xc161b6,_0x58dd84){if(_0xc161b6['body']['id']){delete _0xc161b6[_0x6e7b('0x47')]['id'];}return db[_0x6e7b('0x3f')][_0x6e7b('0x45')]({'where':{'id':_0xc161b6[_0x6e7b('0x43')]['id']}})[_0x6e7b('0x25')](handleEntityNotFound(_0x58dd84,null))[_0x6e7b('0x25')](saveUpdates(_0xc161b6[_0x6e7b('0x47')],null))[_0x6e7b('0x25')](respondWithResult(_0x58dd84,null))[_0x6e7b('0x48')](handleError(_0x58dd84,null));};exports['destroy']=function(_0x1340c5,_0x3f38bd){return db[_0x6e7b('0x3f')][_0x6e7b('0x45')]({'where':{'id':_0x1340c5['params']['id']}})[_0x6e7b('0x25')](handleEntityNotFound(_0x3f38bd,null))[_0x6e7b('0x25')](removeEntity(_0x3f38bd,null))[_0x6e7b('0x48')](handleError(_0x3f38bd,null));};exports['getFields']=function(_0x384282,_0x3592d4,_0x31d9c1){var _0x29af8b={};var _0x481cf7={};var _0xdf5623;var _0x575188;return db[_0x6e7b('0x3f')][_0x6e7b('0x49')]({'where':{'id':_0x384282[_0x6e7b('0x43')]['id']}})['then'](handleEntityNotFound(_0x3592d4,null))['then'](function(_0x22052d){if(_0x22052d){_0xdf5623=_0x22052d;_0x481cf7[_0x6e7b('0x2f')]=_[_0x6e7b('0x31')](db[_0x6e7b('0x4a')]['rawAttributes']);_0x481cf7[_0x6e7b('0x30')]=_[_0x6e7b('0x31')](_0x384282[_0x6e7b('0x30')]);_0x481cf7['filters']=_[_0x6e7b('0x32')](_0x481cf7[_0x6e7b('0x2f')],_0x481cf7[_0x6e7b('0x30')]);_0x29af8b[_0x6e7b('0x33')]=_[_0x6e7b('0x32')](_0x481cf7['model'],qs['fields'](_0x384282[_0x6e7b('0x30')][_0x6e7b('0x34')]));_0x29af8b['attributes']=_0x29af8b[_0x6e7b('0x33')][_0x6e7b('0x44')]?_0x29af8b['attributes']:_0x481cf7[_0x6e7b('0x2f')];_0x29af8b[_0x6e7b('0x36')]=qs[_0x6e7b('0x37')](_0x384282[_0x6e7b('0x30')]['sort']);_0x29af8b[_0x6e7b('0x38')]=qs[_0x6e7b('0x39')](_['pick'](_0x384282[_0x6e7b('0x30')],_0x481cf7[_0x6e7b('0x39')]));if(_0x384282[_0x6e7b('0x30')][_0x6e7b('0x4b')]){_0x29af8b[_0x6e7b('0x38')]=_[_0x6e7b('0x3b')](_0x29af8b[_0x6e7b('0x38')],{'$or':_[_0x6e7b('0x2b')](_0x29af8b[_0x6e7b('0x33')],function(_0x32ea24){var _0x28cfa3={};_0x28cfa3[_0x32ea24]={'$like':'%'+_0x384282[_0x6e7b('0x30')][_0x6e7b('0x4b')]+'%'};return _0x28cfa3;})});}_0x29af8b=_[_0x6e7b('0x3b')]({},_0x29af8b,_0x384282[_0x6e7b('0x3c')]);return _0xdf5623[_0x6e7b('0x4c')](_0x29af8b);}})[_0x6e7b('0x25')](function(_0x10fd1e){if(_0x10fd1e){_0x575188=_0x10fd1e[_0x6e7b('0x44')];if(!_0x384282['query'][_0x6e7b('0x35')](_0x6e7b('0x4d'))){_0x29af8b[_0x6e7b('0x1b')]=qs[_0x6e7b('0x1b')](_0x384282[_0x6e7b('0x30')][_0x6e7b('0x1b')]);_0x29af8b[_0x6e7b('0x1e')]=qs[_0x6e7b('0x1e')](_0x384282[_0x6e7b('0x30')][_0x6e7b('0x1e')]);}return _0xdf5623[_0x6e7b('0x4c')](_0x29af8b);}})['then'](function(_0x10b413){if(_0x10b413){return _0x10b413?{'count':_0x575188,'rows':_0x10b413}:null;}})[_0x6e7b('0x25')](respondWithResult(_0x3592d4,null))[_0x6e7b('0x48')](handleError(_0x3592d4,null));};exports['getSubjects']=function(_0x248a7c,_0x28172f,_0x424564){var _0x5b895f={};var _0x220ffd={};var _0x44ad5f;var _0x330830;return db[_0x6e7b('0x3f')][_0x6e7b('0x49')]({'where':{'id':_0x248a7c[_0x6e7b('0x43')]['id']}})['then'](handleEntityNotFound(_0x28172f,null))[_0x6e7b('0x25')](function(_0x2ccf75){if(_0x2ccf75){_0x44ad5f=_0x2ccf75;_0x220ffd[_0x6e7b('0x2f')]=_['keys'](db[_0x6e7b('0x4a')]['rawAttributes']);_0x220ffd[_0x6e7b('0x30')]=_[_0x6e7b('0x31')](_0x248a7c[_0x6e7b('0x30')]);_0x220ffd[_0x6e7b('0x39')]=_[_0x6e7b('0x32')](_0x220ffd[_0x6e7b('0x2f')],_0x220ffd[_0x6e7b('0x30')]);_0x5b895f[_0x6e7b('0x33')]=_[_0x6e7b('0x32')](_0x220ffd['model'],qs[_0x6e7b('0x34')](_0x248a7c[_0x6e7b('0x30')][_0x6e7b('0x34')]));_0x5b895f['attributes']=_0x5b895f[_0x6e7b('0x33')][_0x6e7b('0x44')]?_0x5b895f[_0x6e7b('0x33')]:_0x220ffd['model'];_0x5b895f[_0x6e7b('0x36')]=qs[_0x6e7b('0x37')](_0x248a7c['query'][_0x6e7b('0x37')]);_0x5b895f['where']=qs[_0x6e7b('0x39')](_[_0x6e7b('0x3a')](_0x248a7c[_0x6e7b('0x30')],_0x220ffd[_0x6e7b('0x39')]));if(_0x248a7c[_0x6e7b('0x30')][_0x6e7b('0x4b')]){_0x5b895f[_0x6e7b('0x38')]=_['merge'](_0x5b895f['where'],{'$or':_[_0x6e7b('0x2b')](_0x5b895f[_0x6e7b('0x33')],function(_0x395bd8){var _0x38b98c={};_0x38b98c[_0x395bd8]={'$like':'%'+_0x248a7c['query']['filter']+'%'};return _0x38b98c;})});}_0x5b895f=_['merge']({},_0x5b895f,_0x248a7c[_0x6e7b('0x3c')]);return _0x44ad5f[_0x6e7b('0x4e')](_0x5b895f);}})[_0x6e7b('0x25')](function(_0xf0fa75){if(_0xf0fa75){_0x330830=_0xf0fa75['length'];if(!_0x248a7c[_0x6e7b('0x30')][_0x6e7b('0x35')](_0x6e7b('0x4d'))){_0x5b895f[_0x6e7b('0x1b')]=qs[_0x6e7b('0x1b')](_0x248a7c['query'][_0x6e7b('0x1b')]);_0x5b895f['offset']=qs[_0x6e7b('0x1e')](_0x248a7c[_0x6e7b('0x30')][_0x6e7b('0x1e')]);}return _0x44ad5f['getSubjects'](_0x5b895f);}})[_0x6e7b('0x25')](function(_0x3d31e1){if(_0x3d31e1){return _0x3d31e1?{'count':_0x330830,'rows':_0x3d31e1}:null;}})['then'](respondWithResult(_0x28172f,null))[_0x6e7b('0x48')](handleError(_0x28172f,null));};exports[_0x6e7b('0x4f')]=function(_0x4d6802,_0x9f2db0,_0x4c5148){var _0x107286={};var _0x5c17ac={};var _0x2e2a64;var _0xb0b367;return db['ZohoConfiguration']['findOne']({'where':{'id':_0x4d6802[_0x6e7b('0x43')]['id']}})[_0x6e7b('0x25')](handleEntityNotFound(_0x9f2db0,null))[_0x6e7b('0x25')](function(_0x1a2b58){if(_0x1a2b58){_0x2e2a64=_0x1a2b58;_0x5c17ac['model']=_[_0x6e7b('0x31')](db[_0x6e7b('0x4a')]['rawAttributes']);_0x5c17ac[_0x6e7b('0x30')]=_[_0x6e7b('0x31')](_0x4d6802[_0x6e7b('0x30')]);_0x5c17ac[_0x6e7b('0x39')]=_[_0x6e7b('0x32')](_0x5c17ac[_0x6e7b('0x2f')],_0x5c17ac['query']);_0x107286[_0x6e7b('0x33')]=_[_0x6e7b('0x32')](_0x5c17ac[_0x6e7b('0x2f')],qs[_0x6e7b('0x34')](_0x4d6802[_0x6e7b('0x30')][_0x6e7b('0x34')]));_0x107286['attributes']=_0x107286[_0x6e7b('0x33')][_0x6e7b('0x44')]?_0x107286[_0x6e7b('0x33')]:_0x5c17ac[_0x6e7b('0x2f')];_0x107286[_0x6e7b('0x36')]=qs[_0x6e7b('0x37')](_0x4d6802[_0x6e7b('0x30')]['sort']);_0x107286[_0x6e7b('0x38')]=qs[_0x6e7b('0x39')](_[_0x6e7b('0x3a')](_0x4d6802[_0x6e7b('0x30')],_0x5c17ac[_0x6e7b('0x39')]));if(_0x4d6802[_0x6e7b('0x30')][_0x6e7b('0x4b')]){_0x107286[_0x6e7b('0x38')]=_['merge'](_0x107286['where'],{'$or':_[_0x6e7b('0x2b')](_0x107286[_0x6e7b('0x33')],function(_0x33ee28){var _0x3a0f66={};_0x3a0f66[_0x33ee28]={'$like':'%'+_0x4d6802[_0x6e7b('0x30')][_0x6e7b('0x4b')]+'%'};return _0x3a0f66;})});}_0x107286=_[_0x6e7b('0x3b')]({},_0x107286,_0x4d6802[_0x6e7b('0x3c')]);return _0x2e2a64[_0x6e7b('0x4f')](_0x107286);}})[_0x6e7b('0x25')](function(_0x2edc70){if(_0x2edc70){_0xb0b367=_0x2edc70[_0x6e7b('0x44')];if(!_0x4d6802['query'][_0x6e7b('0x35')](_0x6e7b('0x4d'))){_0x107286[_0x6e7b('0x1b')]=qs['limit'](_0x4d6802[_0x6e7b('0x30')][_0x6e7b('0x1b')]);_0x107286['offset']=qs[_0x6e7b('0x1e')](_0x4d6802[_0x6e7b('0x30')][_0x6e7b('0x1e')]);}return _0x2e2a64[_0x6e7b('0x4f')](_0x107286);}})['then'](function(_0x21e1a3){if(_0x21e1a3){return _0x21e1a3?{'count':_0xb0b367,'rows':_0x21e1a3}:null;}})[_0x6e7b('0x25')](respondWithResult(_0x9f2db0,null))[_0x6e7b('0x48')](handleError(_0x9f2db0,null));};