4aa6ec347886b7453ab9ef6ffe6b8991045266e9
[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 _0x7149=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','map','fieldName','type','key','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','limit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','ZohoConfiguration','findAll','rows','rawAttributes','fields','find','catch','create','body','params','getFields','findOne','ZohoField','order','nolimit','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs'];(function(_0x22beeb,_0xb04ca7){var _0x2039b2=function(_0x3ecd1f){while(--_0x3ecd1f){_0x22beeb['push'](_0x22beeb['shift']());}};_0x2039b2(++_0xb04ca7);}(_0x7149,0xe4));var _0x9714=function(_0x2708c1,_0xfb6673){_0x2708c1=_0x2708c1-0x0;var _0x3402f5=_0x7149[_0x2708c1];return _0x3402f5;};'use strict';var emlformat=require(_0x9714('0x0'));var rimraf=require(_0x9714('0x1'));var zipdir=require(_0x9714('0x2'));var jsonpatch=require(_0x9714('0x3'));var rp=require(_0x9714('0x4'));var moment=require(_0x9714('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x9714('0x6'));var util=require('util');var path=require('path');var sox=require(_0x9714('0x7'));var csv=require(_0x9714('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9714('0x9'));var _=require('lodash');var squel=require(_0x9714('0xa'));var crypto=require(_0x9714('0xb'));var jsforce=require(_0x9714('0xc'));var deskjs=require(_0x9714('0xd'));var toCsv=require(_0x9714('0x8'));var querystring=require(_0x9714('0xe'));var Papa=require(_0x9714('0xf'));var Redis=require('ioredis');var authService=require(_0x9714('0x10'));var qs=require(_0x9714('0x11'));var as=require(_0x9714('0x12'));var hardwareService=require(_0x9714('0x13'));var logger=require(_0x9714('0x14'))(_0x9714('0x15'));var utils=require(_0x9714('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x9714('0x17'));var db=require(_0x9714('0x18'))['db'];function respondWithStatusCode(_0xf704d,_0xca77a0){_0xca77a0=_0xca77a0||0xcc;return function(_0x6fbf6a){if(_0x6fbf6a){return _0xf704d[_0x9714('0x19')](_0xca77a0);}return _0xf704d[_0x9714('0x1a')](_0xca77a0)[_0x9714('0x1b')]();};}function respondWithResult(_0x1b895a,_0x12627c){_0x12627c=_0x12627c||0xc8;return function(_0x15f343){if(_0x15f343){return _0x1b895a['status'](_0x12627c)[_0x9714('0x1c')](_0x15f343);}};}function respondWithFilteredResult(_0x182cb3,_0x11c9fa){return function(_0x58a6da){if(_0x58a6da){var _0x864cd5=typeof _0x11c9fa[_0x9714('0x1d')]===_0x9714('0x1e')&&typeof _0x11c9fa['limit']==='undefined';var _0xdba1f=_0x58a6da['count'];var _0x53f51c=_0x864cd5?0x0:_0x11c9fa[_0x9714('0x1d')];var _0x1fc028=_0x864cd5?_0x58a6da[_0x9714('0x1f')]:_0x11c9fa[_0x9714('0x1d')]+_0x11c9fa['limit'];var _0x3de7c7;if(_0x1fc028>=_0xdba1f){_0x1fc028=_0xdba1f;_0x3de7c7=0xc8;}else{_0x3de7c7=0xce;}_0x182cb3[_0x9714('0x1a')](_0x3de7c7);return _0x182cb3[_0x9714('0x20')](_0x9714('0x21'),_0x53f51c+'-'+_0x1fc028+'/'+_0xdba1f)[_0x9714('0x1c')](_0x58a6da);}return null;};}function patchUpdates(_0x1723ad){return function(_0x3fd46e){try{jsonpatch[_0x9714('0x22')](_0x3fd46e,_0x1723ad,!![]);}catch(_0x522e4f){return BPromise[_0x9714('0x23')](_0x522e4f);}return _0x3fd46e[_0x9714('0x24')]();};}function saveUpdates(_0x16c3f6,_0x4e1d03){return function(_0x31b433){if(_0x31b433){return _0x31b433[_0x9714('0x25')](_0x16c3f6)[_0x9714('0x26')](function(_0x49a58d){return _0x49a58d;});}return null;};}function removeEntity(_0x45030b,_0xac895e){return function(_0x1ec369){if(_0x1ec369){return _0x1ec369[_0x9714('0x27')]()['then'](function(){_0x45030b[_0x9714('0x1a')](0xcc)[_0x9714('0x1b')]();});}};}function handleEntityNotFound(_0x4044ca,_0x27b8cb){return function(_0x58172c){if(!_0x58172c){_0x4044ca[_0x9714('0x19')](0x194);}return _0x58172c;};}function handleError(_0x29e2e5,_0x532d9e){_0x532d9e=_0x532d9e||0x1f4;return function(_0x3e6ede){logger[_0x9714('0x28')](_0x3e6ede[_0x9714('0x29')]);if(_0x3e6ede['name']){delete _0x3e6ede[_0x9714('0x2a')];}_0x29e2e5[_0x9714('0x1a')](_0x532d9e)[_0x9714('0x2b')](_0x3e6ede);};}exports['index']=function(_0x1ef3d8,_0x23c5f4){var _0x2932={},_0x4d445b={},_0x22408a={'count':0x0,'rows':[]};var _0xef4532=_[_0x9714('0x2c')](db['ZohoConfiguration']['rawAttributes'],function(_0x4d5e2a){return{'name':_0x4d5e2a[_0x9714('0x2d')],'type':_0x4d5e2a[_0x9714('0x2e')][_0x9714('0x2f')]};});_0x4d445b[_0x9714('0x30')]=_[_0x9714('0x2c')](_0xef4532,_0x9714('0x2a'));_0x4d445b[_0x9714('0x31')]=_[_0x9714('0x32')](_0x1ef3d8[_0x9714('0x31')]);_0x4d445b[_0x9714('0x33')]=_[_0x9714('0x34')](_0x4d445b['model'],_0x4d445b['query']);_0x2932['attributes']=_[_0x9714('0x34')](_0x4d445b['model'],qs['fields'](_0x1ef3d8[_0x9714('0x31')]['fields']));_0x2932[_0x9714('0x35')]=_0x2932['attributes'][_0x9714('0x36')]?_0x2932[_0x9714('0x35')]:_0x4d445b[_0x9714('0x30')];if(!_0x1ef3d8[_0x9714('0x31')][_0x9714('0x37')]('nolimit')){_0x2932[_0x9714('0x38')]=qs['limit'](_0x1ef3d8[_0x9714('0x31')][_0x9714('0x38')]);_0x2932['offset']=qs[_0x9714('0x1d')](_0x1ef3d8[_0x9714('0x31')]['offset']);}_0x2932['order']=qs[_0x9714('0x39')](_0x1ef3d8[_0x9714('0x31')][_0x9714('0x39')]);_0x2932[_0x9714('0x3a')]=qs[_0x9714('0x33')](_[_0x9714('0x3b')](_0x1ef3d8[_0x9714('0x31')],_0x4d445b[_0x9714('0x33')]),_0xef4532);if(_0x1ef3d8['query'][_0x9714('0x3c')]){_0x2932[_0x9714('0x3a')]=_[_0x9714('0x3d')](_0x2932['where'],{'$or':_[_0x9714('0x2c')](_0xef4532,function(_0x2d98ff){if(_0x2d98ff['type']!==_0x9714('0x3e')){var _0x4ed130={};_0x4ed130[_0x2d98ff[_0x9714('0x2a')]]={'$like':'%'+_0x1ef3d8[_0x9714('0x31')][_0x9714('0x3c')]+'%'};return _0x4ed130;}})});}_0x2932=_[_0x9714('0x3d')]({},_0x2932,_0x1ef3d8[_0x9714('0x3f')]);var _0x23ab25={'where':_0x2932[_0x9714('0x3a')]};return db['ZohoConfiguration'][_0x9714('0x1f')](_0x23ab25)[_0x9714('0x26')](function(_0x91600f){_0x22408a[_0x9714('0x1f')]=_0x91600f;if(_0x1ef3d8[_0x9714('0x31')][_0x9714('0x40')]){_0x2932['include']=[{'all':!![]}];}return db[_0x9714('0x41')][_0x9714('0x42')](_0x2932);})[_0x9714('0x26')](function(_0x37cbf0){_0x22408a[_0x9714('0x43')]=_0x37cbf0;return _0x22408a;})[_0x9714('0x26')](respondWithFilteredResult(_0x23c5f4,_0x2932))['catch'](handleError(_0x23c5f4,null));};exports['show']=function(_0x357dbc,_0x320009){var _0x4bfd2b={'raw':![],'where':{'id':_0x357dbc['params']['id']}},_0x13e28d={};_0x13e28d[_0x9714('0x30')]=_[_0x9714('0x32')](db[_0x9714('0x41')][_0x9714('0x44')]);_0x13e28d[_0x9714('0x31')]=_[_0x9714('0x32')](_0x357dbc['query']);_0x13e28d[_0x9714('0x33')]=_[_0x9714('0x34')](_0x13e28d[_0x9714('0x30')],_0x13e28d[_0x9714('0x31')]);_0x4bfd2b[_0x9714('0x35')]=_[_0x9714('0x34')](_0x13e28d[_0x9714('0x30')],qs[_0x9714('0x45')](_0x357dbc[_0x9714('0x31')][_0x9714('0x45')]));_0x4bfd2b[_0x9714('0x35')]=_0x4bfd2b[_0x9714('0x35')][_0x9714('0x36')]?_0x4bfd2b['attributes']:_0x13e28d[_0x9714('0x30')];if(_0x357dbc[_0x9714('0x31')][_0x9714('0x40')]){_0x4bfd2b['include']=[{'all':!![]}];}_0x4bfd2b=_[_0x9714('0x3d')]({},_0x4bfd2b,_0x357dbc[_0x9714('0x3f')]);return db[_0x9714('0x41')][_0x9714('0x46')](_0x4bfd2b)['then'](handleEntityNotFound(_0x320009,null))[_0x9714('0x26')](respondWithResult(_0x320009,null))[_0x9714('0x47')](handleError(_0x320009,null));};exports[_0x9714('0x48')]=function(_0x1c0d7e,_0x5d900e){return db[_0x9714('0x41')][_0x9714('0x48')](_0x1c0d7e[_0x9714('0x49')],{})[_0x9714('0x26')](respondWithResult(_0x5d900e,0xc9))[_0x9714('0x47')](handleError(_0x5d900e,null));};exports['update']=function(_0x4951ad,_0x5caa89){if(_0x4951ad[_0x9714('0x49')]['id']){delete _0x4951ad[_0x9714('0x49')]['id'];}return db['ZohoConfiguration']['find']({'where':{'id':_0x4951ad['params']['id']}})[_0x9714('0x26')](handleEntityNotFound(_0x5caa89,null))[_0x9714('0x26')](saveUpdates(_0x4951ad['body'],null))[_0x9714('0x26')](respondWithResult(_0x5caa89,null))[_0x9714('0x47')](handleError(_0x5caa89,null));};exports[_0x9714('0x27')]=function(_0x219a7a,_0x2b4fef){return db['ZohoConfiguration'][_0x9714('0x46')]({'where':{'id':_0x219a7a[_0x9714('0x4a')]['id']}})[_0x9714('0x26')](handleEntityNotFound(_0x2b4fef,null))[_0x9714('0x26')](removeEntity(_0x2b4fef,null))['catch'](handleError(_0x2b4fef,null));};exports[_0x9714('0x4b')]=function(_0x488326,_0x5ae049,_0x1ace32){var _0x26e666={};var _0xf9331d={};var _0x45cd91;var _0x2d18ab;return db[_0x9714('0x41')][_0x9714('0x4c')]({'where':{'id':_0x488326[_0x9714('0x4a')]['id']}})['then'](handleEntityNotFound(_0x5ae049,null))[_0x9714('0x26')](function(_0x183f9b){if(_0x183f9b){_0x45cd91=_0x183f9b;_0xf9331d[_0x9714('0x30')]=_[_0x9714('0x32')](db[_0x9714('0x4d')][_0x9714('0x44')]);_0xf9331d[_0x9714('0x31')]=_['keys'](_0x488326[_0x9714('0x31')]);_0xf9331d['filters']=_['intersection'](_0xf9331d[_0x9714('0x30')],_0xf9331d[_0x9714('0x31')]);_0x26e666['attributes']=_[_0x9714('0x34')](_0xf9331d[_0x9714('0x30')],qs[_0x9714('0x45')](_0x488326[_0x9714('0x31')]['fields']));_0x26e666['attributes']=_0x26e666[_0x9714('0x35')][_0x9714('0x36')]?_0x26e666[_0x9714('0x35')]:_0xf9331d[_0x9714('0x30')];_0x26e666[_0x9714('0x4e')]=qs[_0x9714('0x39')](_0x488326[_0x9714('0x31')][_0x9714('0x39')]);_0x26e666['where']=qs[_0x9714('0x33')](_[_0x9714('0x3b')](_0x488326['query'],_0xf9331d[_0x9714('0x33')]));if(_0x488326[_0x9714('0x31')][_0x9714('0x3c')]){_0x26e666[_0x9714('0x3a')]=_[_0x9714('0x3d')](_0x26e666[_0x9714('0x3a')],{'$or':_[_0x9714('0x2c')](_0x26e666['attributes'],function(_0x3b44c1){var _0x3e9b31={};_0x3e9b31[_0x3b44c1]={'$like':'%'+_0x488326[_0x9714('0x31')][_0x9714('0x3c')]+'%'};return _0x3e9b31;})});}_0x26e666=_[_0x9714('0x3d')]({},_0x26e666,_0x488326[_0x9714('0x3f')]);return _0x45cd91[_0x9714('0x4b')](_0x26e666);}})[_0x9714('0x26')](function(_0x355613){if(_0x355613){_0x2d18ab=_0x355613[_0x9714('0x36')];if(!_0x488326[_0x9714('0x31')][_0x9714('0x37')](_0x9714('0x4f'))){_0x26e666[_0x9714('0x38')]=qs['limit'](_0x488326['query'][_0x9714('0x38')]);_0x26e666[_0x9714('0x1d')]=qs[_0x9714('0x1d')](_0x488326['query'][_0x9714('0x1d')]);}return _0x45cd91[_0x9714('0x4b')](_0x26e666);}})[_0x9714('0x26')](function(_0x263f14){if(_0x263f14){return _0x263f14?{'count':_0x2d18ab,'rows':_0x263f14}:null;}})[_0x9714('0x26')](respondWithResult(_0x5ae049,null))[_0x9714('0x47')](handleError(_0x5ae049,null));};exports[_0x9714('0x50')]=function(_0x38bd92,_0x72781c,_0x5a1046){var _0x48f3ab={};var _0x311033={};var _0x59c7da;var _0x328f8e;return db['ZohoConfiguration'][_0x9714('0x4c')]({'where':{'id':_0x38bd92[_0x9714('0x4a')]['id']}})[_0x9714('0x26')](handleEntityNotFound(_0x72781c,null))['then'](function(_0x56d314){if(_0x56d314){_0x59c7da=_0x56d314;_0x311033['model']=_['keys'](db[_0x9714('0x4d')][_0x9714('0x44')]);_0x311033[_0x9714('0x31')]=_[_0x9714('0x32')](_0x38bd92[_0x9714('0x31')]);_0x311033['filters']=_['intersection'](_0x311033[_0x9714('0x30')],_0x311033[_0x9714('0x31')]);_0x48f3ab[_0x9714('0x35')]=_[_0x9714('0x34')](_0x311033[_0x9714('0x30')],qs[_0x9714('0x45')](_0x38bd92[_0x9714('0x31')][_0x9714('0x45')]));_0x48f3ab[_0x9714('0x35')]=_0x48f3ab[_0x9714('0x35')][_0x9714('0x36')]?_0x48f3ab['attributes']:_0x311033[_0x9714('0x30')];_0x48f3ab[_0x9714('0x4e')]=qs[_0x9714('0x39')](_0x38bd92[_0x9714('0x31')]['sort']);_0x48f3ab[_0x9714('0x3a')]=qs['filters'](_[_0x9714('0x3b')](_0x38bd92[_0x9714('0x31')],_0x311033[_0x9714('0x33')]));if(_0x38bd92[_0x9714('0x31')][_0x9714('0x3c')]){_0x48f3ab[_0x9714('0x3a')]=_[_0x9714('0x3d')](_0x48f3ab[_0x9714('0x3a')],{'$or':_[_0x9714('0x2c')](_0x48f3ab[_0x9714('0x35')],function(_0x23952e){var _0x3e9ae4={};_0x3e9ae4[_0x23952e]={'$like':'%'+_0x38bd92['query'][_0x9714('0x3c')]+'%'};return _0x3e9ae4;})});}_0x48f3ab=_[_0x9714('0x3d')]({},_0x48f3ab,_0x38bd92[_0x9714('0x3f')]);return _0x59c7da[_0x9714('0x50')](_0x48f3ab);}})[_0x9714('0x26')](function(_0x21a033){if(_0x21a033){_0x328f8e=_0x21a033[_0x9714('0x36')];if(!_0x38bd92[_0x9714('0x31')][_0x9714('0x37')](_0x9714('0x4f'))){_0x48f3ab[_0x9714('0x38')]=qs[_0x9714('0x38')](_0x38bd92[_0x9714('0x31')]['limit']);_0x48f3ab[_0x9714('0x1d')]=qs['offset'](_0x38bd92['query'][_0x9714('0x1d')]);}return _0x59c7da['getSubjects'](_0x48f3ab);}})[_0x9714('0x26')](function(_0x14736f){if(_0x14736f){return _0x14736f?{'count':_0x328f8e,'rows':_0x14736f}:null;}})[_0x9714('0x26')](respondWithResult(_0x72781c,null))[_0x9714('0x47')](handleError(_0x72781c,null));};exports[_0x9714('0x51')]=function(_0x4b6a55,_0x20b18e,_0x1ed38b){var _0x58664a={};var _0x340717={};var _0x4263b6;var _0x4955e1;return db['ZohoConfiguration'][_0x9714('0x4c')]({'where':{'id':_0x4b6a55[_0x9714('0x4a')]['id']}})[_0x9714('0x26')](handleEntityNotFound(_0x20b18e,null))['then'](function(_0x3adb86){if(_0x3adb86){_0x4263b6=_0x3adb86;_0x340717[_0x9714('0x30')]=_[_0x9714('0x32')](db['ZohoField'][_0x9714('0x44')]);_0x340717[_0x9714('0x31')]=_[_0x9714('0x32')](_0x4b6a55[_0x9714('0x31')]);_0x340717[_0x9714('0x33')]=_[_0x9714('0x34')](_0x340717[_0x9714('0x30')],_0x340717['query']);_0x58664a[_0x9714('0x35')]=_['intersection'](_0x340717[_0x9714('0x30')],qs['fields'](_0x4b6a55[_0x9714('0x31')][_0x9714('0x45')]));_0x58664a[_0x9714('0x35')]=_0x58664a[_0x9714('0x35')][_0x9714('0x36')]?_0x58664a[_0x9714('0x35')]:_0x340717[_0x9714('0x30')];_0x58664a['order']=qs[_0x9714('0x39')](_0x4b6a55[_0x9714('0x31')][_0x9714('0x39')]);_0x58664a[_0x9714('0x3a')]=qs[_0x9714('0x33')](_[_0x9714('0x3b')](_0x4b6a55[_0x9714('0x31')],_0x340717['filters']));if(_0x4b6a55[_0x9714('0x31')][_0x9714('0x3c')]){_0x58664a[_0x9714('0x3a')]=_[_0x9714('0x3d')](_0x58664a[_0x9714('0x3a')],{'$or':_['map'](_0x58664a[_0x9714('0x35')],function(_0xb46712){var _0x4d8134={};_0x4d8134[_0xb46712]={'$like':'%'+_0x4b6a55[_0x9714('0x31')]['filter']+'%'};return _0x4d8134;})});}_0x58664a=_[_0x9714('0x3d')]({},_0x58664a,_0x4b6a55[_0x9714('0x3f')]);return _0x4263b6[_0x9714('0x51')](_0x58664a);}})[_0x9714('0x26')](function(_0x2a826e){if(_0x2a826e){_0x4955e1=_0x2a826e[_0x9714('0x36')];if(!_0x4b6a55[_0x9714('0x31')][_0x9714('0x37')](_0x9714('0x4f'))){_0x58664a[_0x9714('0x38')]=qs[_0x9714('0x38')](_0x4b6a55['query'][_0x9714('0x38')]);_0x58664a[_0x9714('0x1d')]=qs['offset'](_0x4b6a55[_0x9714('0x31')][_0x9714('0x1d')]);}return _0x4263b6[_0x9714('0x51')](_0x58664a);}})[_0x9714('0x26')](function(_0x313502){if(_0x313502){return _0x313502?{'count':_0x4955e1,'rows':_0x313502}:null;}})['then'](respondWithResult(_0x20b18e,null))[_0x9714('0x47')](handleError(_0x20b18e,null));};