031c85db9a4c27e1c71dc8718a8ad44a36e2ab0c
[motion2.git] / server / api / intVtigerConfiguration / intVtigerConfiguration.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 _0xcef6=['../../components/parsers/advancedSearch','api','../../config/environment','sendStatus','status','end','undefined','limit','offset','set','Content-Range','json','apply','reject','save','then','destroy','stack','name','index','map','VtigerConfiguration','rawAttributes','fieldName','key','model','keys','query','filters','attributes','intersection','fields','length','order','sort','where','pick','filter','VIRTUAL','merge','options','count','findAll','rows','catch','show','params','find','create','body','update','getFields','findOne','getSubjects','VtigerField','hasOwnProperty','getDescriptions','nolimit','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service'];(function(_0x5808e6,_0x5b0124){var _0x3cbe26=function(_0x3b6f95){while(--_0x3b6f95){_0x5808e6['push'](_0x5808e6['shift']());}};_0x3cbe26(++_0x5b0124);}(_0xcef6,0x16e));var _0x6cef=function(_0x4c9f70,_0x53990b){_0x4c9f70=_0x4c9f70-0x0;var _0x3b1dd9=_0xcef6[_0x4c9f70];return _0x3b1dd9;};'use strict';var emlformat=require(_0x6cef('0x0'));var rimraf=require(_0x6cef('0x1'));var zipdir=require(_0x6cef('0x2'));var jsonpatch=require(_0x6cef('0x3'));var rp=require(_0x6cef('0x4'));var moment=require(_0x6cef('0x5'));var BPromise=require(_0x6cef('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x6cef('0x7'));var sox=require(_0x6cef('0x8'));var csv=require(_0x6cef('0x9'));var ejs=require(_0x6cef('0xa'));var fs=require('fs');var fs_extra=require(_0x6cef('0xb'));var _=require(_0x6cef('0xc'));var squel=require(_0x6cef('0xd'));var crypto=require(_0x6cef('0xe'));var jsforce=require(_0x6cef('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x6cef('0x9'));var querystring=require(_0x6cef('0x10'));var Papa=require('papaparse');var Redis=require(_0x6cef('0x11'));var authService=require(_0x6cef('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x6cef('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x6cef('0x14'));var utils=require('../../config/utils');var config=require(_0x6cef('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x587586,_0x4a9666){_0x4a9666=_0x4a9666||0xcc;return function(_0x2b6268){if(_0x2b6268){return _0x587586[_0x6cef('0x16')](_0x4a9666);}return _0x587586[_0x6cef('0x17')](_0x4a9666)[_0x6cef('0x18')]();};}function respondWithResult(_0x669ffa,_0x4b7623){_0x4b7623=_0x4b7623||0xc8;return function(_0x2c7195){if(_0x2c7195){return _0x669ffa['status'](_0x4b7623)['json'](_0x2c7195);}};}function respondWithFilteredResult(_0x3a93fe,_0x592641){return function(_0x4dbd80){if(_0x4dbd80){var _0x1483bd=typeof _0x592641['offset']===_0x6cef('0x19')&&typeof _0x592641[_0x6cef('0x1a')]===_0x6cef('0x19');var _0x1cd11b=_0x4dbd80['count'];var _0x5b8b23=_0x1483bd?0x0:_0x592641['offset'];var _0x4412e1=_0x1483bd?_0x4dbd80['count']:_0x592641[_0x6cef('0x1b')]+_0x592641[_0x6cef('0x1a')];var _0x506ff2;if(_0x4412e1>=_0x1cd11b){_0x4412e1=_0x1cd11b;_0x506ff2=0xc8;}else{_0x506ff2=0xce;}_0x3a93fe['status'](_0x506ff2);return _0x3a93fe[_0x6cef('0x1c')](_0x6cef('0x1d'),_0x5b8b23+'-'+_0x4412e1+'/'+_0x1cd11b)[_0x6cef('0x1e')](_0x4dbd80);}return null;};}function patchUpdates(_0x936773){return function(_0x31932d){try{jsonpatch[_0x6cef('0x1f')](_0x31932d,_0x936773,!![]);}catch(_0x3b767d){return BPromise[_0x6cef('0x20')](_0x3b767d);}return _0x31932d[_0x6cef('0x21')]();};}function saveUpdates(_0x104f76,_0x155412){return function(_0x13fed5){if(_0x13fed5){return _0x13fed5['update'](_0x104f76)[_0x6cef('0x22')](function(_0x482ffa){return _0x482ffa;});}return null;};}function removeEntity(_0x476528,_0x201607){return function(_0x32db43){if(_0x32db43){return _0x32db43[_0x6cef('0x23')]()[_0x6cef('0x22')](function(){_0x476528[_0x6cef('0x17')](0xcc)[_0x6cef('0x18')]();});}};}function handleEntityNotFound(_0x3f0406,_0x199999){return function(_0x562652){if(!_0x562652){_0x3f0406[_0x6cef('0x16')](0x194);}return _0x562652;};}function handleError(_0x13ff93,_0x508af1){_0x508af1=_0x508af1||0x1f4;return function(_0x41ac73){logger['error'](_0x41ac73[_0x6cef('0x24')]);if(_0x41ac73[_0x6cef('0x25')]){delete _0x41ac73[_0x6cef('0x25')];}_0x13ff93[_0x6cef('0x17')](_0x508af1)['send'](_0x41ac73);};}exports[_0x6cef('0x26')]=function(_0x2e35d6,_0x471c8c){var _0x58f547={},_0x50027c={},_0x27b08a={'count':0x0,'rows':[]};var _0xe612bb=_[_0x6cef('0x27')](db[_0x6cef('0x28')][_0x6cef('0x29')],function(_0x552572){return{'name':_0x552572[_0x6cef('0x2a')],'type':_0x552572['type'][_0x6cef('0x2b')]};});_0x50027c[_0x6cef('0x2c')]=_[_0x6cef('0x27')](_0xe612bb,_0x6cef('0x25'));_0x50027c['query']=_[_0x6cef('0x2d')](_0x2e35d6[_0x6cef('0x2e')]);_0x50027c[_0x6cef('0x2f')]=_['intersection'](_0x50027c[_0x6cef('0x2c')],_0x50027c[_0x6cef('0x2e')]);_0x58f547[_0x6cef('0x30')]=_[_0x6cef('0x31')](_0x50027c[_0x6cef('0x2c')],qs[_0x6cef('0x32')](_0x2e35d6['query'][_0x6cef('0x32')]));_0x58f547[_0x6cef('0x30')]=_0x58f547[_0x6cef('0x30')][_0x6cef('0x33')]?_0x58f547[_0x6cef('0x30')]:_0x50027c['model'];if(!_0x2e35d6[_0x6cef('0x2e')]['hasOwnProperty']('nolimit')){_0x58f547[_0x6cef('0x1a')]=qs['limit'](_0x2e35d6[_0x6cef('0x2e')][_0x6cef('0x1a')]);_0x58f547[_0x6cef('0x1b')]=qs[_0x6cef('0x1b')](_0x2e35d6[_0x6cef('0x2e')][_0x6cef('0x1b')]);}_0x58f547[_0x6cef('0x34')]=qs[_0x6cef('0x35')](_0x2e35d6['query'][_0x6cef('0x35')]);_0x58f547[_0x6cef('0x36')]=qs['filters'](_[_0x6cef('0x37')](_0x2e35d6[_0x6cef('0x2e')],_0x50027c[_0x6cef('0x2f')]),_0xe612bb);if(_0x2e35d6['query'][_0x6cef('0x38')]){_0x58f547[_0x6cef('0x36')]=_['merge'](_0x58f547[_0x6cef('0x36')],{'$or':_[_0x6cef('0x27')](_0xe612bb,function(_0x4f6082){if(_0x4f6082['type']!==_0x6cef('0x39')){var _0x576627={};_0x576627[_0x4f6082['name']]={'$like':'%'+_0x2e35d6[_0x6cef('0x2e')]['filter']+'%'};return _0x576627;}})});}_0x58f547=_[_0x6cef('0x3a')]({},_0x58f547,_0x2e35d6[_0x6cef('0x3b')]);var _0x10fcdc={'where':_0x58f547[_0x6cef('0x36')]};return db['VtigerConfiguration'][_0x6cef('0x3c')](_0x10fcdc)[_0x6cef('0x22')](function(_0x374483){_0x27b08a[_0x6cef('0x3c')]=_0x374483;if(_0x2e35d6[_0x6cef('0x2e')]['includeAll']){_0x58f547['include']=[{'all':!![]}];}return db['VtigerConfiguration'][_0x6cef('0x3d')](_0x58f547);})[_0x6cef('0x22')](function(_0x5a820a){_0x27b08a[_0x6cef('0x3e')]=_0x5a820a;return _0x27b08a;})[_0x6cef('0x22')](respondWithFilteredResult(_0x471c8c,_0x58f547))[_0x6cef('0x3f')](handleError(_0x471c8c,null));};exports[_0x6cef('0x40')]=function(_0x54f23f,_0xb9e29){var _0x386800={'raw':![],'where':{'id':_0x54f23f[_0x6cef('0x41')]['id']}},_0x52523e={};_0x52523e[_0x6cef('0x2c')]=_[_0x6cef('0x2d')](db[_0x6cef('0x28')][_0x6cef('0x29')]);_0x52523e[_0x6cef('0x2e')]=_[_0x6cef('0x2d')](_0x54f23f[_0x6cef('0x2e')]);_0x52523e[_0x6cef('0x2f')]=_['intersection'](_0x52523e[_0x6cef('0x2c')],_0x52523e['query']);_0x386800['attributes']=_['intersection'](_0x52523e[_0x6cef('0x2c')],qs['fields'](_0x54f23f[_0x6cef('0x2e')][_0x6cef('0x32')]));_0x386800[_0x6cef('0x30')]=_0x386800['attributes'][_0x6cef('0x33')]?_0x386800[_0x6cef('0x30')]:_0x52523e[_0x6cef('0x2c')];if(_0x54f23f[_0x6cef('0x2e')]['includeAll']){_0x386800['include']=[{'all':!![]}];}_0x386800=_[_0x6cef('0x3a')]({},_0x386800,_0x54f23f[_0x6cef('0x3b')]);return db['VtigerConfiguration'][_0x6cef('0x42')](_0x386800)['then'](handleEntityNotFound(_0xb9e29,null))[_0x6cef('0x22')](respondWithResult(_0xb9e29,null))[_0x6cef('0x3f')](handleError(_0xb9e29,null));};exports[_0x6cef('0x43')]=function(_0x3ce2dc,_0x69278b){return db[_0x6cef('0x28')][_0x6cef('0x43')](_0x3ce2dc[_0x6cef('0x44')],{})[_0x6cef('0x22')](respondWithResult(_0x69278b,0xc9))['catch'](handleError(_0x69278b,null));};exports[_0x6cef('0x45')]=function(_0x4e6506,_0x5c83a4){if(_0x4e6506[_0x6cef('0x44')]['id']){delete _0x4e6506['body']['id'];}return db['VtigerConfiguration'][_0x6cef('0x42')]({'where':{'id':_0x4e6506['params']['id']}})[_0x6cef('0x22')](handleEntityNotFound(_0x5c83a4,null))['then'](saveUpdates(_0x4e6506[_0x6cef('0x44')],null))['then'](respondWithResult(_0x5c83a4,null))[_0x6cef('0x3f')](handleError(_0x5c83a4,null));};exports[_0x6cef('0x23')]=function(_0x3152e1,_0x3e17b1){return db['VtigerConfiguration']['find']({'where':{'id':_0x3152e1[_0x6cef('0x41')]['id']}})[_0x6cef('0x22')](handleEntityNotFound(_0x3e17b1,null))[_0x6cef('0x22')](removeEntity(_0x3e17b1,null))[_0x6cef('0x3f')](handleError(_0x3e17b1,null));};exports[_0x6cef('0x46')]=function(_0xb11764,_0x4b82f3,_0x5ceba9){var _0x2dffc2={};var _0x211359={};var _0x3b33a9;var _0x2ed7c0;return db[_0x6cef('0x28')][_0x6cef('0x47')]({'where':{'id':_0xb11764[_0x6cef('0x41')]['id']}})['then'](handleEntityNotFound(_0x4b82f3,null))['then'](function(_0x57e78b){if(_0x57e78b){_0x3b33a9=_0x57e78b;_0x211359['model']=_[_0x6cef('0x2d')](db['VtigerField'][_0x6cef('0x29')]);_0x211359[_0x6cef('0x2e')]=_[_0x6cef('0x2d')](_0xb11764[_0x6cef('0x2e')]);_0x211359[_0x6cef('0x2f')]=_[_0x6cef('0x31')](_0x211359['model'],_0x211359[_0x6cef('0x2e')]);_0x2dffc2[_0x6cef('0x30')]=_[_0x6cef('0x31')](_0x211359[_0x6cef('0x2c')],qs[_0x6cef('0x32')](_0xb11764[_0x6cef('0x2e')][_0x6cef('0x32')]));_0x2dffc2[_0x6cef('0x30')]=_0x2dffc2[_0x6cef('0x30')][_0x6cef('0x33')]?_0x2dffc2[_0x6cef('0x30')]:_0x211359[_0x6cef('0x2c')];_0x2dffc2[_0x6cef('0x34')]=qs[_0x6cef('0x35')](_0xb11764[_0x6cef('0x2e')][_0x6cef('0x35')]);_0x2dffc2[_0x6cef('0x36')]=qs[_0x6cef('0x2f')](_['pick'](_0xb11764[_0x6cef('0x2e')],_0x211359[_0x6cef('0x2f')]));if(_0xb11764[_0x6cef('0x2e')][_0x6cef('0x38')]){_0x2dffc2['where']=_[_0x6cef('0x3a')](_0x2dffc2[_0x6cef('0x36')],{'$or':_[_0x6cef('0x27')](_0x2dffc2[_0x6cef('0x30')],function(_0x24f65a){var _0x3bc484={};_0x3bc484[_0x24f65a]={'$like':'%'+_0xb11764['query'][_0x6cef('0x38')]+'%'};return _0x3bc484;})});}_0x2dffc2=_[_0x6cef('0x3a')]({},_0x2dffc2,_0xb11764[_0x6cef('0x3b')]);return _0x3b33a9[_0x6cef('0x46')](_0x2dffc2);}})[_0x6cef('0x22')](function(_0x3f9a73){if(_0x3f9a73){_0x2ed7c0=_0x3f9a73['length'];if(!_0xb11764[_0x6cef('0x2e')]['hasOwnProperty']('nolimit')){_0x2dffc2[_0x6cef('0x1a')]=qs[_0x6cef('0x1a')](_0xb11764[_0x6cef('0x2e')][_0x6cef('0x1a')]);_0x2dffc2[_0x6cef('0x1b')]=qs[_0x6cef('0x1b')](_0xb11764['query'][_0x6cef('0x1b')]);}return _0x3b33a9[_0x6cef('0x46')](_0x2dffc2);}})[_0x6cef('0x22')](function(_0x3a69c5){if(_0x3a69c5){return _0x3a69c5?{'count':_0x2ed7c0,'rows':_0x3a69c5}:null;}})['then'](respondWithResult(_0x4b82f3,null))[_0x6cef('0x3f')](handleError(_0x4b82f3,null));};exports[_0x6cef('0x48')]=function(_0x5d0897,_0x58807d,_0x50c4b5){var _0x5a2b64={};var _0x37bcf8={};var _0x3b553f;var _0x56ddfd;return db[_0x6cef('0x28')]['findOne']({'where':{'id':_0x5d0897[_0x6cef('0x41')]['id']}})[_0x6cef('0x22')](handleEntityNotFound(_0x58807d,null))[_0x6cef('0x22')](function(_0x59b813){if(_0x59b813){_0x3b553f=_0x59b813;_0x37bcf8[_0x6cef('0x2c')]=_['keys'](db[_0x6cef('0x49')][_0x6cef('0x29')]);_0x37bcf8[_0x6cef('0x2e')]=_[_0x6cef('0x2d')](_0x5d0897[_0x6cef('0x2e')]);_0x37bcf8[_0x6cef('0x2f')]=_['intersection'](_0x37bcf8['model'],_0x37bcf8[_0x6cef('0x2e')]);_0x5a2b64[_0x6cef('0x30')]=_['intersection'](_0x37bcf8[_0x6cef('0x2c')],qs[_0x6cef('0x32')](_0x5d0897[_0x6cef('0x2e')][_0x6cef('0x32')]));_0x5a2b64['attributes']=_0x5a2b64[_0x6cef('0x30')][_0x6cef('0x33')]?_0x5a2b64[_0x6cef('0x30')]:_0x37bcf8[_0x6cef('0x2c')];_0x5a2b64['order']=qs['sort'](_0x5d0897[_0x6cef('0x2e')][_0x6cef('0x35')]);_0x5a2b64['where']=qs[_0x6cef('0x2f')](_[_0x6cef('0x37')](_0x5d0897['query'],_0x37bcf8[_0x6cef('0x2f')]));if(_0x5d0897[_0x6cef('0x2e')][_0x6cef('0x38')]){_0x5a2b64[_0x6cef('0x36')]=_[_0x6cef('0x3a')](_0x5a2b64[_0x6cef('0x36')],{'$or':_[_0x6cef('0x27')](_0x5a2b64['attributes'],function(_0x1b0560){var _0x234fb1={};_0x234fb1[_0x1b0560]={'$like':'%'+_0x5d0897[_0x6cef('0x2e')][_0x6cef('0x38')]+'%'};return _0x234fb1;})});}_0x5a2b64=_[_0x6cef('0x3a')]({},_0x5a2b64,_0x5d0897[_0x6cef('0x3b')]);return _0x3b553f[_0x6cef('0x48')](_0x5a2b64);}})[_0x6cef('0x22')](function(_0x2e204c){if(_0x2e204c){_0x56ddfd=_0x2e204c[_0x6cef('0x33')];if(!_0x5d0897[_0x6cef('0x2e')][_0x6cef('0x4a')]('nolimit')){_0x5a2b64[_0x6cef('0x1a')]=qs[_0x6cef('0x1a')](_0x5d0897['query'][_0x6cef('0x1a')]);_0x5a2b64[_0x6cef('0x1b')]=qs[_0x6cef('0x1b')](_0x5d0897[_0x6cef('0x2e')][_0x6cef('0x1b')]);}return _0x3b553f[_0x6cef('0x48')](_0x5a2b64);}})[_0x6cef('0x22')](function(_0x33a438){if(_0x33a438){return _0x33a438?{'count':_0x56ddfd,'rows':_0x33a438}:null;}})[_0x6cef('0x22')](respondWithResult(_0x58807d,null))[_0x6cef('0x3f')](handleError(_0x58807d,null));};exports[_0x6cef('0x4b')]=function(_0x49f4b1,_0x15ce6d,_0x3647b9){var _0x501775={};var _0x286ac2={};var _0x28f8b9;var _0x1166c1;return db[_0x6cef('0x28')][_0x6cef('0x47')]({'where':{'id':_0x49f4b1[_0x6cef('0x41')]['id']}})[_0x6cef('0x22')](handleEntityNotFound(_0x15ce6d,null))['then'](function(_0xbb1a39){if(_0xbb1a39){_0x28f8b9=_0xbb1a39;_0x286ac2['model']=_[_0x6cef('0x2d')](db[_0x6cef('0x49')][_0x6cef('0x29')]);_0x286ac2[_0x6cef('0x2e')]=_[_0x6cef('0x2d')](_0x49f4b1['query']);_0x286ac2[_0x6cef('0x2f')]=_['intersection'](_0x286ac2[_0x6cef('0x2c')],_0x286ac2['query']);_0x501775[_0x6cef('0x30')]=_[_0x6cef('0x31')](_0x286ac2[_0x6cef('0x2c')],qs[_0x6cef('0x32')](_0x49f4b1[_0x6cef('0x2e')]['fields']));_0x501775[_0x6cef('0x30')]=_0x501775['attributes'][_0x6cef('0x33')]?_0x501775['attributes']:_0x286ac2[_0x6cef('0x2c')];_0x501775['order']=qs[_0x6cef('0x35')](_0x49f4b1[_0x6cef('0x2e')][_0x6cef('0x35')]);_0x501775['where']=qs[_0x6cef('0x2f')](_[_0x6cef('0x37')](_0x49f4b1[_0x6cef('0x2e')],_0x286ac2['filters']));if(_0x49f4b1[_0x6cef('0x2e')][_0x6cef('0x38')]){_0x501775[_0x6cef('0x36')]=_['merge'](_0x501775[_0x6cef('0x36')],{'$or':_['map'](_0x501775[_0x6cef('0x30')],function(_0x5a1884){var _0x3ca252={};_0x3ca252[_0x5a1884]={'$like':'%'+_0x49f4b1[_0x6cef('0x2e')]['filter']+'%'};return _0x3ca252;})});}_0x501775=_[_0x6cef('0x3a')]({},_0x501775,_0x49f4b1['options']);return _0x28f8b9[_0x6cef('0x4b')](_0x501775);}})['then'](function(_0x60797d){if(_0x60797d){_0x1166c1=_0x60797d[_0x6cef('0x33')];if(!_0x49f4b1['query']['hasOwnProperty'](_0x6cef('0x4c'))){_0x501775['limit']=qs['limit'](_0x49f4b1['query'][_0x6cef('0x1a')]);_0x501775[_0x6cef('0x1b')]=qs[_0x6cef('0x1b')](_0x49f4b1[_0x6cef('0x2e')][_0x6cef('0x1b')]);}return _0x28f8b9['getDescriptions'](_0x501775);}})[_0x6cef('0x22')](function(_0x453e67){if(_0x453e67){return _0x453e67?{'count':_0x1166c1,'rows':_0x453e67}:null;}})[_0x6cef('0x22')](respondWithResult(_0x15ce6d,null))[_0x6cef('0x3f')](handleError(_0x15ce6d,null));};