Built motion from commit 753c950e.|2.5.42
[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 _0xede0=['params','rawAttributes','keys','options','find','create','body','findOne','ZohoField','pick','getFields','getSubjects','order','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','save','update','then','destroy','error','stack','name','send','fieldName','type','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','includeAll','include','ZohoConfiguration','rows','catch'];(function(_0x18a436,_0x1dbe06){var _0x5c2cf8=function(_0x4712d1){while(--_0x4712d1){_0x18a436['push'](_0x18a436['shift']());}};_0x5c2cf8(++_0x1dbe06);}(_0xede0,0x18a));var _0x0ede=function(_0x5361d1,_0x28d46e){_0x5361d1=_0x5361d1-0x0;var _0x5ca916=_0xede0[_0x5361d1];return _0x5ca916;};'use strict';var emlformat=require(_0x0ede('0x0'));var rimraf=require(_0x0ede('0x1'));var zipdir=require(_0x0ede('0x2'));var jsonpatch=require(_0x0ede('0x3'));var rp=require(_0x0ede('0x4'));var moment=require(_0x0ede('0x5'));var BPromise=require(_0x0ede('0x6'));var Mustache=require('mustache');var util=require(_0x0ede('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x0ede('0x8'));var ejs=require(_0x0ede('0x9'));var fs=require('fs');var fs_extra=require(_0x0ede('0xa'));var _=require(_0x0ede('0xb'));var squel=require(_0x0ede('0xc'));var crypto=require(_0x0ede('0xd'));var jsforce=require(_0x0ede('0xe'));var deskjs=require(_0x0ede('0xf'));var toCsv=require(_0x0ede('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x0ede('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x0ede('0x11'));var as=require(_0x0ede('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0ede('0x13'))(_0x0ede('0x14'));var utils=require('../../config/utils');var config=require(_0x0ede('0x15'));var licenseUtil=require(_0x0ede('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x497d49,_0x35f488){_0x35f488=_0x35f488||0xcc;return function(_0x6edd71){if(_0x6edd71){return _0x497d49[_0x0ede('0x17')](_0x35f488);}return _0x497d49[_0x0ede('0x18')](_0x35f488)[_0x0ede('0x19')]();};}function respondWithResult(_0x5a6c8d,_0x2f414a){_0x2f414a=_0x2f414a||0xc8;return function(_0x3c6d73){if(_0x3c6d73){return _0x5a6c8d[_0x0ede('0x18')](_0x2f414a)[_0x0ede('0x1a')](_0x3c6d73);}};}function respondWithFilteredResult(_0x523786,_0x235f39){return function(_0x42fd32){if(_0x42fd32){var _0x4e3908=typeof _0x235f39[_0x0ede('0x1b')]===_0x0ede('0x1c')&&typeof _0x235f39[_0x0ede('0x1d')]===_0x0ede('0x1c');var _0xb6a8b=_0x42fd32[_0x0ede('0x1e')];var _0x53ef14=_0x4e3908?0x0:_0x235f39[_0x0ede('0x1b')];var _0x5a3db4=_0x4e3908?_0x42fd32[_0x0ede('0x1e')]:_0x235f39['offset']+_0x235f39[_0x0ede('0x1d')];var _0x5d081a;if(_0x5a3db4>=_0xb6a8b){_0x5a3db4=_0xb6a8b;_0x5d081a=0xc8;}else{_0x5d081a=0xce;}_0x523786[_0x0ede('0x18')](_0x5d081a);return _0x523786['set'](_0x0ede('0x1f'),_0x53ef14+'-'+_0x5a3db4+'/'+_0xb6a8b)[_0x0ede('0x1a')](_0x42fd32);}return null;};}function patchUpdates(_0x34c836){return function(_0x187803){try{jsonpatch[_0x0ede('0x20')](_0x187803,_0x34c836,!![]);}catch(_0x29a994){return BPromise['reject'](_0x29a994);}return _0x187803[_0x0ede('0x21')]();};}function saveUpdates(_0x188f8a,_0x7dc38){return function(_0x301d04){if(_0x301d04){return _0x301d04[_0x0ede('0x22')](_0x188f8a)[_0x0ede('0x23')](function(_0x2c6bd7){return _0x2c6bd7;});}return null;};}function removeEntity(_0x341d31,_0x242ed9){return function(_0x2e27e6){if(_0x2e27e6){return _0x2e27e6[_0x0ede('0x24')]()[_0x0ede('0x23')](function(){_0x341d31[_0x0ede('0x18')](0xcc)[_0x0ede('0x19')]();});}};}function handleEntityNotFound(_0x25be4c,_0x112be6){return function(_0x47da83){if(!_0x47da83){_0x25be4c[_0x0ede('0x17')](0x194);}return _0x47da83;};}function handleError(_0x4e3506,_0x1f226b){_0x1f226b=_0x1f226b||0x1f4;return function(_0x7ff859){logger[_0x0ede('0x25')](_0x7ff859[_0x0ede('0x26')]);if(_0x7ff859[_0x0ede('0x27')]){delete _0x7ff859[_0x0ede('0x27')];}_0x4e3506['status'](_0x1f226b)[_0x0ede('0x28')](_0x7ff859);};}exports['index']=function(_0x11cd39,_0x3810ce){var _0x21eb3d={},_0xd7f081={},_0x3de276={'count':0x0,'rows':[]};var _0x26c528=_['map'](db['ZohoConfiguration']['rawAttributes'],function(_0x51bc51){return{'name':_0x51bc51[_0x0ede('0x29')],'type':_0x51bc51[_0x0ede('0x2a')]['key']};});_0xd7f081[_0x0ede('0x2b')]=_[_0x0ede('0x2c')](_0x26c528,_0x0ede('0x27'));_0xd7f081[_0x0ede('0x2d')]=_['keys'](_0x11cd39['query']);_0xd7f081[_0x0ede('0x2e')]=_[_0x0ede('0x2f')](_0xd7f081[_0x0ede('0x2b')],_0xd7f081[_0x0ede('0x2d')]);_0x21eb3d[_0x0ede('0x30')]=_['intersection'](_0xd7f081[_0x0ede('0x2b')],qs[_0x0ede('0x31')](_0x11cd39['query']['fields']));_0x21eb3d['attributes']=_0x21eb3d[_0x0ede('0x30')][_0x0ede('0x32')]?_0x21eb3d[_0x0ede('0x30')]:_0xd7f081[_0x0ede('0x2b')];if(!_0x11cd39[_0x0ede('0x2d')][_0x0ede('0x33')](_0x0ede('0x34'))){_0x21eb3d[_0x0ede('0x1d')]=qs[_0x0ede('0x1d')](_0x11cd39[_0x0ede('0x2d')][_0x0ede('0x1d')]);_0x21eb3d[_0x0ede('0x1b')]=qs[_0x0ede('0x1b')](_0x11cd39[_0x0ede('0x2d')]['offset']);}_0x21eb3d['order']=qs[_0x0ede('0x35')](_0x11cd39['query'][_0x0ede('0x35')]);_0x21eb3d[_0x0ede('0x36')]=qs['filters'](_['pick'](_0x11cd39[_0x0ede('0x2d')],_0xd7f081[_0x0ede('0x2e')]),_0x26c528);if(_0x11cd39[_0x0ede('0x2d')][_0x0ede('0x37')]){_0x21eb3d[_0x0ede('0x36')]=_[_0x0ede('0x38')](_0x21eb3d['where'],{'$or':_[_0x0ede('0x2c')](_0x26c528,function(_0x360cc9){if(_0x360cc9[_0x0ede('0x2a')]!=='VIRTUAL'){var _0x333f86={};_0x333f86[_0x360cc9[_0x0ede('0x27')]]={'$like':'%'+_0x11cd39[_0x0ede('0x2d')][_0x0ede('0x37')]+'%'};return _0x333f86;}})});}_0x21eb3d=_[_0x0ede('0x38')]({},_0x21eb3d,_0x11cd39['options']);var _0x14a78f={'where':_0x21eb3d['where']};return db['ZohoConfiguration'][_0x0ede('0x1e')](_0x14a78f)[_0x0ede('0x23')](function(_0x1b2102){_0x3de276[_0x0ede('0x1e')]=_0x1b2102;if(_0x11cd39[_0x0ede('0x2d')][_0x0ede('0x39')]){_0x21eb3d[_0x0ede('0x3a')]=[{'all':!![]}];}return db[_0x0ede('0x3b')]['findAll'](_0x21eb3d);})[_0x0ede('0x23')](function(_0x763d66){_0x3de276[_0x0ede('0x3c')]=_0x763d66;return _0x3de276;})[_0x0ede('0x23')](respondWithFilteredResult(_0x3810ce,_0x21eb3d))[_0x0ede('0x3d')](handleError(_0x3810ce,null));};exports['show']=function(_0x3b2d29,_0x440155){var _0x23af80={'raw':![],'where':{'id':_0x3b2d29[_0x0ede('0x3e')]['id']}},_0x438fc0={};_0x438fc0[_0x0ede('0x2b')]=_['keys'](db[_0x0ede('0x3b')][_0x0ede('0x3f')]);_0x438fc0['query']=_[_0x0ede('0x40')](_0x3b2d29[_0x0ede('0x2d')]);_0x438fc0[_0x0ede('0x2e')]=_[_0x0ede('0x2f')](_0x438fc0['model'],_0x438fc0[_0x0ede('0x2d')]);_0x23af80[_0x0ede('0x30')]=_[_0x0ede('0x2f')](_0x438fc0['model'],qs[_0x0ede('0x31')](_0x3b2d29[_0x0ede('0x2d')]['fields']));_0x23af80[_0x0ede('0x30')]=_0x23af80[_0x0ede('0x30')][_0x0ede('0x32')]?_0x23af80['attributes']:_0x438fc0[_0x0ede('0x2b')];if(_0x3b2d29[_0x0ede('0x2d')][_0x0ede('0x39')]){_0x23af80[_0x0ede('0x3a')]=[{'all':!![]}];}_0x23af80=_[_0x0ede('0x38')]({},_0x23af80,_0x3b2d29[_0x0ede('0x41')]);return db[_0x0ede('0x3b')][_0x0ede('0x42')](_0x23af80)[_0x0ede('0x23')](handleEntityNotFound(_0x440155,null))[_0x0ede('0x23')](respondWithResult(_0x440155,null))[_0x0ede('0x3d')](handleError(_0x440155,null));};exports[_0x0ede('0x43')]=function(_0x2b343e,_0x355c0a){return db[_0x0ede('0x3b')][_0x0ede('0x43')](_0x2b343e['body'],{})[_0x0ede('0x23')](respondWithResult(_0x355c0a,0xc9))['catch'](handleError(_0x355c0a,null));};exports[_0x0ede('0x22')]=function(_0x5520a6,_0x408591){if(_0x5520a6[_0x0ede('0x44')]['id']){delete _0x5520a6['body']['id'];}return db[_0x0ede('0x3b')]['find']({'where':{'id':_0x5520a6[_0x0ede('0x3e')]['id']}})[_0x0ede('0x23')](handleEntityNotFound(_0x408591,null))[_0x0ede('0x23')](saveUpdates(_0x5520a6[_0x0ede('0x44')],null))['then'](respondWithResult(_0x408591,null))[_0x0ede('0x3d')](handleError(_0x408591,null));};exports[_0x0ede('0x24')]=function(_0x8b295e,_0x2bb40f){return db[_0x0ede('0x3b')][_0x0ede('0x42')]({'where':{'id':_0x8b295e[_0x0ede('0x3e')]['id']}})['then'](handleEntityNotFound(_0x2bb40f,null))[_0x0ede('0x23')](removeEntity(_0x2bb40f,null))[_0x0ede('0x3d')](handleError(_0x2bb40f,null));};exports['getFields']=function(_0x60b62d,_0x556da4,_0x277b44){var _0xc47ad3={};var _0x4332b7={};var _0x1b4231;var _0x11189f;return db[_0x0ede('0x3b')][_0x0ede('0x45')]({'where':{'id':_0x60b62d[_0x0ede('0x3e')]['id']}})[_0x0ede('0x23')](handleEntityNotFound(_0x556da4,null))['then'](function(_0x257cc8){if(_0x257cc8){_0x1b4231=_0x257cc8;_0x4332b7[_0x0ede('0x2b')]=_[_0x0ede('0x40')](db[_0x0ede('0x46')]['rawAttributes']);_0x4332b7[_0x0ede('0x2d')]=_[_0x0ede('0x40')](_0x60b62d[_0x0ede('0x2d')]);_0x4332b7[_0x0ede('0x2e')]=_[_0x0ede('0x2f')](_0x4332b7[_0x0ede('0x2b')],_0x4332b7[_0x0ede('0x2d')]);_0xc47ad3[_0x0ede('0x30')]=_[_0x0ede('0x2f')](_0x4332b7[_0x0ede('0x2b')],qs[_0x0ede('0x31')](_0x60b62d[_0x0ede('0x2d')][_0x0ede('0x31')]));_0xc47ad3[_0x0ede('0x30')]=_0xc47ad3['attributes'][_0x0ede('0x32')]?_0xc47ad3[_0x0ede('0x30')]:_0x4332b7[_0x0ede('0x2b')];_0xc47ad3['order']=qs[_0x0ede('0x35')](_0x60b62d[_0x0ede('0x2d')]['sort']);_0xc47ad3['where']=qs['filters'](_[_0x0ede('0x47')](_0x60b62d['query'],_0x4332b7[_0x0ede('0x2e')]));if(_0x60b62d['query'][_0x0ede('0x37')]){_0xc47ad3['where']=_['merge'](_0xc47ad3[_0x0ede('0x36')],{'$or':_['map'](_0xc47ad3[_0x0ede('0x30')],function(_0x4c0b72){var _0x3962b5={};_0x3962b5[_0x4c0b72]={'$like':'%'+_0x60b62d[_0x0ede('0x2d')][_0x0ede('0x37')]+'%'};return _0x3962b5;})});}_0xc47ad3=_[_0x0ede('0x38')]({},_0xc47ad3,_0x60b62d[_0x0ede('0x41')]);return _0x1b4231[_0x0ede('0x48')](_0xc47ad3);}})[_0x0ede('0x23')](function(_0x3f9eb7){if(_0x3f9eb7){_0x11189f=_0x3f9eb7[_0x0ede('0x32')];if(!_0x60b62d[_0x0ede('0x2d')][_0x0ede('0x33')]('nolimit')){_0xc47ad3[_0x0ede('0x1d')]=qs['limit'](_0x60b62d[_0x0ede('0x2d')][_0x0ede('0x1d')]);_0xc47ad3[_0x0ede('0x1b')]=qs[_0x0ede('0x1b')](_0x60b62d['query'][_0x0ede('0x1b')]);}return _0x1b4231[_0x0ede('0x48')](_0xc47ad3);}})[_0x0ede('0x23')](function(_0x483019){if(_0x483019){return _0x483019?{'count':_0x11189f,'rows':_0x483019}:null;}})['then'](respondWithResult(_0x556da4,null))[_0x0ede('0x3d')](handleError(_0x556da4,null));};exports[_0x0ede('0x49')]=function(_0x16bb91,_0x2ea872,_0x1458e4){var _0x206c22={};var _0x500fe2={};var _0x997ddf;var _0xcd624e;return db['ZohoConfiguration'][_0x0ede('0x45')]({'where':{'id':_0x16bb91[_0x0ede('0x3e')]['id']}})[_0x0ede('0x23')](handleEntityNotFound(_0x2ea872,null))['then'](function(_0x34312f){if(_0x34312f){_0x997ddf=_0x34312f;_0x500fe2[_0x0ede('0x2b')]=_['keys'](db[_0x0ede('0x46')][_0x0ede('0x3f')]);_0x500fe2['query']=_['keys'](_0x16bb91[_0x0ede('0x2d')]);_0x500fe2[_0x0ede('0x2e')]=_[_0x0ede('0x2f')](_0x500fe2[_0x0ede('0x2b')],_0x500fe2['query']);_0x206c22[_0x0ede('0x30')]=_[_0x0ede('0x2f')](_0x500fe2[_0x0ede('0x2b')],qs[_0x0ede('0x31')](_0x16bb91[_0x0ede('0x2d')][_0x0ede('0x31')]));_0x206c22['attributes']=_0x206c22[_0x0ede('0x30')][_0x0ede('0x32')]?_0x206c22[_0x0ede('0x30')]:_0x500fe2[_0x0ede('0x2b')];_0x206c22[_0x0ede('0x4a')]=qs['sort'](_0x16bb91[_0x0ede('0x2d')][_0x0ede('0x35')]);_0x206c22['where']=qs[_0x0ede('0x2e')](_[_0x0ede('0x47')](_0x16bb91[_0x0ede('0x2d')],_0x500fe2[_0x0ede('0x2e')]));if(_0x16bb91[_0x0ede('0x2d')][_0x0ede('0x37')]){_0x206c22[_0x0ede('0x36')]=_['merge'](_0x206c22[_0x0ede('0x36')],{'$or':_[_0x0ede('0x2c')](_0x206c22['attributes'],function(_0x2248ab){var _0x1b6e7e={};_0x1b6e7e[_0x2248ab]={'$like':'%'+_0x16bb91['query'][_0x0ede('0x37')]+'%'};return _0x1b6e7e;})});}_0x206c22=_[_0x0ede('0x38')]({},_0x206c22,_0x16bb91['options']);return _0x997ddf[_0x0ede('0x49')](_0x206c22);}})[_0x0ede('0x23')](function(_0x5280bc){if(_0x5280bc){_0xcd624e=_0x5280bc[_0x0ede('0x32')];if(!_0x16bb91[_0x0ede('0x2d')][_0x0ede('0x33')](_0x0ede('0x34'))){_0x206c22['limit']=qs[_0x0ede('0x1d')](_0x16bb91[_0x0ede('0x2d')][_0x0ede('0x1d')]);_0x206c22['offset']=qs[_0x0ede('0x1b')](_0x16bb91[_0x0ede('0x2d')][_0x0ede('0x1b')]);}return _0x997ddf['getSubjects'](_0x206c22);}})[_0x0ede('0x23')](function(_0xa78b9c){if(_0xa78b9c){return _0xa78b9c?{'count':_0xcd624e,'rows':_0xa78b9c}:null;}})[_0x0ede('0x23')](respondWithResult(_0x2ea872,null))['catch'](handleError(_0x2ea872,null));};exports[_0x0ede('0x4b')]=function(_0xdbd3a1,_0xbdf44d,_0x2601bd){var _0x4c97bd={};var _0xba6e90={};var _0xaf3cb2;var _0x22d8d1;return db[_0x0ede('0x3b')][_0x0ede('0x45')]({'where':{'id':_0xdbd3a1[_0x0ede('0x3e')]['id']}})[_0x0ede('0x23')](handleEntityNotFound(_0xbdf44d,null))[_0x0ede('0x23')](function(_0x44d8c1){if(_0x44d8c1){_0xaf3cb2=_0x44d8c1;_0xba6e90['model']=_[_0x0ede('0x40')](db[_0x0ede('0x46')][_0x0ede('0x3f')]);_0xba6e90[_0x0ede('0x2d')]=_[_0x0ede('0x40')](_0xdbd3a1[_0x0ede('0x2d')]);_0xba6e90[_0x0ede('0x2e')]=_[_0x0ede('0x2f')](_0xba6e90['model'],_0xba6e90[_0x0ede('0x2d')]);_0x4c97bd['attributes']=_[_0x0ede('0x2f')](_0xba6e90[_0x0ede('0x2b')],qs['fields'](_0xdbd3a1[_0x0ede('0x2d')][_0x0ede('0x31')]));_0x4c97bd[_0x0ede('0x30')]=_0x4c97bd[_0x0ede('0x30')][_0x0ede('0x32')]?_0x4c97bd[_0x0ede('0x30')]:_0xba6e90['model'];_0x4c97bd['order']=qs[_0x0ede('0x35')](_0xdbd3a1[_0x0ede('0x2d')][_0x0ede('0x35')]);_0x4c97bd[_0x0ede('0x36')]=qs[_0x0ede('0x2e')](_[_0x0ede('0x47')](_0xdbd3a1[_0x0ede('0x2d')],_0xba6e90[_0x0ede('0x2e')]));if(_0xdbd3a1[_0x0ede('0x2d')][_0x0ede('0x37')]){_0x4c97bd[_0x0ede('0x36')]=_['merge'](_0x4c97bd['where'],{'$or':_[_0x0ede('0x2c')](_0x4c97bd[_0x0ede('0x30')],function(_0x576715){var _0x2d013b={};_0x2d013b[_0x576715]={'$like':'%'+_0xdbd3a1[_0x0ede('0x2d')][_0x0ede('0x37')]+'%'};return _0x2d013b;})});}_0x4c97bd=_[_0x0ede('0x38')]({},_0x4c97bd,_0xdbd3a1[_0x0ede('0x41')]);return _0xaf3cb2[_0x0ede('0x4b')](_0x4c97bd);}})[_0x0ede('0x23')](function(_0x3de9b6){if(_0x3de9b6){_0x22d8d1=_0x3de9b6[_0x0ede('0x32')];if(!_0xdbd3a1[_0x0ede('0x2d')][_0x0ede('0x33')]('nolimit')){_0x4c97bd[_0x0ede('0x1d')]=qs[_0x0ede('0x1d')](_0xdbd3a1[_0x0ede('0x2d')][_0x0ede('0x1d')]);_0x4c97bd[_0x0ede('0x1b')]=qs[_0x0ede('0x1b')](_0xdbd3a1['query'][_0x0ede('0x1b')]);}return _0xaf3cb2[_0x0ede('0x4b')](_0x4c97bd);}})[_0x0ede('0x23')](function(_0x2d9854){if(_0x2d9854){return _0x2d9854?{'count':_0x22d8d1,'rows':_0x2d9854}:null;}})[_0x0ede('0x23')](respondWithResult(_0xbdf44d,null))[_0x0ede('0x3d')](handleError(_0xbdf44d,null));};