eb95a7a7145fc0b768e60c8f3c413f81fe3356e6
[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 _0x78c0=['intersection','fields','attributes','length','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','includeAll','find','create','update','body','getFields','findOne','VtigerField','order','getSubjects','getDescriptions','hasOwnProperty','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','index','map','VtigerConfiguration','rawAttributes','fieldName','key','model','query','keys','filters'];(function(_0x397e5f,_0x454c8f){var _0x5302b8=function(_0x1a29ef){while(--_0x1a29ef){_0x397e5f['push'](_0x397e5f['shift']());}};_0x5302b8(++_0x454c8f);}(_0x78c0,0x70));var _0x078c=function(_0x1045f8,_0x3c5a5c){_0x1045f8=_0x1045f8-0x0;var _0x535a59=_0x78c0[_0x1045f8];return _0x535a59;};'use strict';var emlformat=require(_0x078c('0x0'));var rimraf=require(_0x078c('0x1'));var zipdir=require(_0x078c('0x2'));var jsonpatch=require(_0x078c('0x3'));var rp=require(_0x078c('0x4'));var moment=require('moment');var BPromise=require(_0x078c('0x5'));var Mustache=require(_0x078c('0x6'));var util=require(_0x078c('0x7'));var path=require(_0x078c('0x8'));var sox=require(_0x078c('0x9'));var csv=require(_0x078c('0xa'));var ejs=require(_0x078c('0xb'));var fs=require('fs');var fs_extra=require(_0x078c('0xc'));var _=require(_0x078c('0xd'));var squel=require(_0x078c('0xe'));var crypto=require('crypto');var jsforce=require(_0x078c('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x078c('0x10'));var Papa=require('papaparse');var Redis=require(_0x078c('0x11'));var authService=require(_0x078c('0x12'));var qs=require(_0x078c('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x078c('0x14'))(_0x078c('0x15'));var utils=require(_0x078c('0x16'));var config=require(_0x078c('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1fa251,_0x253182){_0x253182=_0x253182||0xcc;return function(_0x5b0d54){if(_0x5b0d54){return _0x1fa251[_0x078c('0x18')](_0x253182);}return _0x1fa251[_0x078c('0x19')](_0x253182)[_0x078c('0x1a')]();};}function respondWithResult(_0xc683f0,_0x5bbdf6){_0x5bbdf6=_0x5bbdf6||0xc8;return function(_0x39efe0){if(_0x39efe0){return _0xc683f0[_0x078c('0x19')](_0x5bbdf6)[_0x078c('0x1b')](_0x39efe0);}};}function respondWithFilteredResult(_0x10f561,_0x31d02b){return function(_0x599e7f){if(_0x599e7f){var _0x3e2c57=typeof _0x31d02b[_0x078c('0x1c')]===_0x078c('0x1d')&&typeof _0x31d02b[_0x078c('0x1e')]==='undefined';var _0x2c036a=_0x599e7f[_0x078c('0x1f')];var _0xfdeb92=_0x3e2c57?0x0:_0x31d02b[_0x078c('0x1c')];var _0x7982c8=_0x3e2c57?_0x599e7f[_0x078c('0x1f')]:_0x31d02b[_0x078c('0x1c')]+_0x31d02b[_0x078c('0x1e')];var _0x3b4a30;if(_0x7982c8>=_0x2c036a){_0x7982c8=_0x2c036a;_0x3b4a30=0xc8;}else{_0x3b4a30=0xce;}_0x10f561[_0x078c('0x19')](_0x3b4a30);return _0x10f561[_0x078c('0x20')](_0x078c('0x21'),_0xfdeb92+'-'+_0x7982c8+'/'+_0x2c036a)['json'](_0x599e7f);}return null;};}function patchUpdates(_0x21e7ac){return function(_0x27aa12){try{jsonpatch[_0x078c('0x22')](_0x27aa12,_0x21e7ac,!![]);}catch(_0x4a7865){return BPromise[_0x078c('0x23')](_0x4a7865);}return _0x27aa12[_0x078c('0x24')]();};}function saveUpdates(_0x4e1738,_0x5c3380){return function(_0x462248){if(_0x462248){return _0x462248['update'](_0x4e1738)[_0x078c('0x25')](function(_0x5cd02f){return _0x5cd02f;});}return null;};}function removeEntity(_0x10b996,_0xca38bd){return function(_0x144a39){if(_0x144a39){return _0x144a39[_0x078c('0x26')]()[_0x078c('0x25')](function(){_0x10b996['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x53b1ca,_0x2c4f35){return function(_0x3fcdce){if(!_0x3fcdce){_0x53b1ca[_0x078c('0x18')](0x194);}return _0x3fcdce;};}function handleError(_0x23746d,_0x4aa1a5){_0x4aa1a5=_0x4aa1a5||0x1f4;return function(_0x944ad2){logger[_0x078c('0x27')](_0x944ad2[_0x078c('0x28')]);if(_0x944ad2[_0x078c('0x29')]){delete _0x944ad2[_0x078c('0x29')];}_0x23746d[_0x078c('0x19')](_0x4aa1a5)['send'](_0x944ad2);};}exports[_0x078c('0x2a')]=function(_0x18fff4,_0xaf1c74){var _0x1efe9e={},_0x2841c9={},_0x2ae3a6={'count':0x0,'rows':[]};var _0x249efb=_[_0x078c('0x2b')](db[_0x078c('0x2c')][_0x078c('0x2d')],function(_0x3748bd){return{'name':_0x3748bd[_0x078c('0x2e')],'type':_0x3748bd['type'][_0x078c('0x2f')]};});_0x2841c9[_0x078c('0x30')]=_[_0x078c('0x2b')](_0x249efb,'name');_0x2841c9[_0x078c('0x31')]=_[_0x078c('0x32')](_0x18fff4[_0x078c('0x31')]);_0x2841c9[_0x078c('0x33')]=_['intersection'](_0x2841c9[_0x078c('0x30')],_0x2841c9[_0x078c('0x31')]);_0x1efe9e['attributes']=_[_0x078c('0x34')](_0x2841c9[_0x078c('0x30')],qs['fields'](_0x18fff4[_0x078c('0x31')][_0x078c('0x35')]));_0x1efe9e[_0x078c('0x36')]=_0x1efe9e[_0x078c('0x36')][_0x078c('0x37')]?_0x1efe9e[_0x078c('0x36')]:_0x2841c9['model'];if(!_0x18fff4[_0x078c('0x31')]['hasOwnProperty'](_0x078c('0x38'))){_0x1efe9e[_0x078c('0x1e')]=qs['limit'](_0x18fff4[_0x078c('0x31')][_0x078c('0x1e')]);_0x1efe9e[_0x078c('0x1c')]=qs['offset'](_0x18fff4[_0x078c('0x31')][_0x078c('0x1c')]);}_0x1efe9e['order']=qs[_0x078c('0x39')](_0x18fff4[_0x078c('0x31')]['sort']);_0x1efe9e[_0x078c('0x3a')]=qs[_0x078c('0x33')](_[_0x078c('0x3b')](_0x18fff4[_0x078c('0x31')],_0x2841c9[_0x078c('0x33')]),_0x249efb);if(_0x18fff4[_0x078c('0x31')][_0x078c('0x3c')]){_0x1efe9e[_0x078c('0x3a')]=_[_0x078c('0x3d')](_0x1efe9e[_0x078c('0x3a')],{'$or':_[_0x078c('0x2b')](_0x249efb,function(_0x4fc710){if(_0x4fc710['type']!==_0x078c('0x3e')){var _0x96f054={};_0x96f054[_0x4fc710[_0x078c('0x29')]]={'$like':'%'+_0x18fff4[_0x078c('0x31')][_0x078c('0x3c')]+'%'};return _0x96f054;}})});}_0x1efe9e=_[_0x078c('0x3d')]({},_0x1efe9e,_0x18fff4[_0x078c('0x3f')]);var _0x452ad1={'where':_0x1efe9e[_0x078c('0x3a')]};return db[_0x078c('0x2c')][_0x078c('0x1f')](_0x452ad1)[_0x078c('0x25')](function(_0x192656){_0x2ae3a6['count']=_0x192656;if(_0x18fff4[_0x078c('0x31')]['includeAll']){_0x1efe9e[_0x078c('0x40')]=[{'all':!![]}];}return db[_0x078c('0x2c')][_0x078c('0x41')](_0x1efe9e);})[_0x078c('0x25')](function(_0x2a18a2){_0x2ae3a6[_0x078c('0x42')]=_0x2a18a2;return _0x2ae3a6;})[_0x078c('0x25')](respondWithFilteredResult(_0xaf1c74,_0x1efe9e))[_0x078c('0x43')](handleError(_0xaf1c74,null));};exports[_0x078c('0x44')]=function(_0x2df93f,_0x39ac7c){var _0x1b4e86={'raw':![],'where':{'id':_0x2df93f[_0x078c('0x45')]['id']}},_0x1bc5e0={};_0x1bc5e0[_0x078c('0x30')]=_[_0x078c('0x32')](db[_0x078c('0x2c')][_0x078c('0x2d')]);_0x1bc5e0['query']=_[_0x078c('0x32')](_0x2df93f[_0x078c('0x31')]);_0x1bc5e0[_0x078c('0x33')]=_[_0x078c('0x34')](_0x1bc5e0[_0x078c('0x30')],_0x1bc5e0[_0x078c('0x31')]);_0x1b4e86[_0x078c('0x36')]=_[_0x078c('0x34')](_0x1bc5e0[_0x078c('0x30')],qs[_0x078c('0x35')](_0x2df93f[_0x078c('0x31')][_0x078c('0x35')]));_0x1b4e86['attributes']=_0x1b4e86[_0x078c('0x36')][_0x078c('0x37')]?_0x1b4e86['attributes']:_0x1bc5e0[_0x078c('0x30')];if(_0x2df93f[_0x078c('0x31')][_0x078c('0x46')]){_0x1b4e86[_0x078c('0x40')]=[{'all':!![]}];}_0x1b4e86=_['merge']({},_0x1b4e86,_0x2df93f[_0x078c('0x3f')]);return db['VtigerConfiguration'][_0x078c('0x47')](_0x1b4e86)[_0x078c('0x25')](handleEntityNotFound(_0x39ac7c,null))['then'](respondWithResult(_0x39ac7c,null))[_0x078c('0x43')](handleError(_0x39ac7c,null));};exports[_0x078c('0x48')]=function(_0x56d152,_0x29f087){return db[_0x078c('0x2c')]['create'](_0x56d152['body'],{})['then'](respondWithResult(_0x29f087,0xc9))[_0x078c('0x43')](handleError(_0x29f087,null));};exports[_0x078c('0x49')]=function(_0x1ceae3,_0x1197d9){if(_0x1ceae3[_0x078c('0x4a')]['id']){delete _0x1ceae3[_0x078c('0x4a')]['id'];}return db[_0x078c('0x2c')][_0x078c('0x47')]({'where':{'id':_0x1ceae3['params']['id']}})[_0x078c('0x25')](handleEntityNotFound(_0x1197d9,null))[_0x078c('0x25')](saveUpdates(_0x1ceae3[_0x078c('0x4a')],null))[_0x078c('0x25')](respondWithResult(_0x1197d9,null))[_0x078c('0x43')](handleError(_0x1197d9,null));};exports['destroy']=function(_0x364b93,_0x2064f1){return db[_0x078c('0x2c')]['find']({'where':{'id':_0x364b93[_0x078c('0x45')]['id']}})[_0x078c('0x25')](handleEntityNotFound(_0x2064f1,null))[_0x078c('0x25')](removeEntity(_0x2064f1,null))['catch'](handleError(_0x2064f1,null));};exports[_0x078c('0x4b')]=function(_0x462454,_0x36f2e2,_0x3ac78f){var _0xfa7622={};var _0x125eb4={};var _0x1922b4;var _0x449581;return db[_0x078c('0x2c')][_0x078c('0x4c')]({'where':{'id':_0x462454[_0x078c('0x45')]['id']}})['then'](handleEntityNotFound(_0x36f2e2,null))[_0x078c('0x25')](function(_0x2da5b3){if(_0x2da5b3){_0x1922b4=_0x2da5b3;_0x125eb4[_0x078c('0x30')]=_[_0x078c('0x32')](db[_0x078c('0x4d')][_0x078c('0x2d')]);_0x125eb4['query']=_[_0x078c('0x32')](_0x462454[_0x078c('0x31')]);_0x125eb4['filters']=_[_0x078c('0x34')](_0x125eb4[_0x078c('0x30')],_0x125eb4['query']);_0xfa7622[_0x078c('0x36')]=_[_0x078c('0x34')](_0x125eb4['model'],qs[_0x078c('0x35')](_0x462454[_0x078c('0x31')][_0x078c('0x35')]));_0xfa7622[_0x078c('0x36')]=_0xfa7622['attributes'][_0x078c('0x37')]?_0xfa7622[_0x078c('0x36')]:_0x125eb4[_0x078c('0x30')];_0xfa7622[_0x078c('0x4e')]=qs['sort'](_0x462454[_0x078c('0x31')][_0x078c('0x39')]);_0xfa7622[_0x078c('0x3a')]=qs['filters'](_[_0x078c('0x3b')](_0x462454[_0x078c('0x31')],_0x125eb4[_0x078c('0x33')]));if(_0x462454['query'][_0x078c('0x3c')]){_0xfa7622[_0x078c('0x3a')]=_[_0x078c('0x3d')](_0xfa7622[_0x078c('0x3a')],{'$or':_[_0x078c('0x2b')](_0xfa7622[_0x078c('0x36')],function(_0x280ea2){var _0x1aec49={};_0x1aec49[_0x280ea2]={'$like':'%'+_0x462454['query']['filter']+'%'};return _0x1aec49;})});}_0xfa7622=_[_0x078c('0x3d')]({},_0xfa7622,_0x462454[_0x078c('0x3f')]);return _0x1922b4['getFields'](_0xfa7622);}})[_0x078c('0x25')](function(_0x5e2c8e){if(_0x5e2c8e){_0x449581=_0x5e2c8e['length'];if(!_0x462454[_0x078c('0x31')]['hasOwnProperty'](_0x078c('0x38'))){_0xfa7622[_0x078c('0x1e')]=qs['limit'](_0x462454['query'][_0x078c('0x1e')]);_0xfa7622['offset']=qs[_0x078c('0x1c')](_0x462454[_0x078c('0x31')]['offset']);}return _0x1922b4[_0x078c('0x4b')](_0xfa7622);}})[_0x078c('0x25')](function(_0x2bf047){if(_0x2bf047){return _0x2bf047?{'count':_0x449581,'rows':_0x2bf047}:null;}})[_0x078c('0x25')](respondWithResult(_0x36f2e2,null))['catch'](handleError(_0x36f2e2,null));};exports[_0x078c('0x4f')]=function(_0x37b6d4,_0x112485,_0x1f63a0){var _0x5247de={};var _0x58c1cd={};var _0x4d3d9b;var _0x19ffe2;return db[_0x078c('0x2c')][_0x078c('0x4c')]({'where':{'id':_0x37b6d4[_0x078c('0x45')]['id']}})[_0x078c('0x25')](handleEntityNotFound(_0x112485,null))[_0x078c('0x25')](function(_0x4f708b){if(_0x4f708b){_0x4d3d9b=_0x4f708b;_0x58c1cd[_0x078c('0x30')]=_[_0x078c('0x32')](db[_0x078c('0x4d')][_0x078c('0x2d')]);_0x58c1cd[_0x078c('0x31')]=_['keys'](_0x37b6d4[_0x078c('0x31')]);_0x58c1cd[_0x078c('0x33')]=_[_0x078c('0x34')](_0x58c1cd[_0x078c('0x30')],_0x58c1cd[_0x078c('0x31')]);_0x5247de[_0x078c('0x36')]=_[_0x078c('0x34')](_0x58c1cd[_0x078c('0x30')],qs['fields'](_0x37b6d4['query']['fields']));_0x5247de[_0x078c('0x36')]=_0x5247de[_0x078c('0x36')][_0x078c('0x37')]?_0x5247de[_0x078c('0x36')]:_0x58c1cd[_0x078c('0x30')];_0x5247de[_0x078c('0x4e')]=qs[_0x078c('0x39')](_0x37b6d4[_0x078c('0x31')][_0x078c('0x39')]);_0x5247de[_0x078c('0x3a')]=qs[_0x078c('0x33')](_[_0x078c('0x3b')](_0x37b6d4[_0x078c('0x31')],_0x58c1cd['filters']));if(_0x37b6d4[_0x078c('0x31')]['filter']){_0x5247de[_0x078c('0x3a')]=_[_0x078c('0x3d')](_0x5247de[_0x078c('0x3a')],{'$or':_[_0x078c('0x2b')](_0x5247de[_0x078c('0x36')],function(_0x4cbf34){var _0x7c3712={};_0x7c3712[_0x4cbf34]={'$like':'%'+_0x37b6d4[_0x078c('0x31')][_0x078c('0x3c')]+'%'};return _0x7c3712;})});}_0x5247de=_[_0x078c('0x3d')]({},_0x5247de,_0x37b6d4[_0x078c('0x3f')]);return _0x4d3d9b[_0x078c('0x4f')](_0x5247de);}})['then'](function(_0x7397d1){if(_0x7397d1){_0x19ffe2=_0x7397d1[_0x078c('0x37')];if(!_0x37b6d4[_0x078c('0x31')]['hasOwnProperty'](_0x078c('0x38'))){_0x5247de[_0x078c('0x1e')]=qs[_0x078c('0x1e')](_0x37b6d4[_0x078c('0x31')][_0x078c('0x1e')]);_0x5247de[_0x078c('0x1c')]=qs['offset'](_0x37b6d4[_0x078c('0x31')][_0x078c('0x1c')]);}return _0x4d3d9b[_0x078c('0x4f')](_0x5247de);}})[_0x078c('0x25')](function(_0x4c5aa2){if(_0x4c5aa2){return _0x4c5aa2?{'count':_0x19ffe2,'rows':_0x4c5aa2}:null;}})[_0x078c('0x25')](respondWithResult(_0x112485,null))[_0x078c('0x43')](handleError(_0x112485,null));};exports['getDescriptions']=function(_0xfe632a,_0x37f16a,_0xc33382){var _0x59aef0={};var _0xfc9a60={};var _0x13fd3a;var _0x51e499;return db['VtigerConfiguration'][_0x078c('0x4c')]({'where':{'id':_0xfe632a['params']['id']}})['then'](handleEntityNotFound(_0x37f16a,null))[_0x078c('0x25')](function(_0x22aeb8){if(_0x22aeb8){_0x13fd3a=_0x22aeb8;_0xfc9a60[_0x078c('0x30')]=_[_0x078c('0x32')](db[_0x078c('0x4d')][_0x078c('0x2d')]);_0xfc9a60['query']=_[_0x078c('0x32')](_0xfe632a['query']);_0xfc9a60['filters']=_['intersection'](_0xfc9a60['model'],_0xfc9a60[_0x078c('0x31')]);_0x59aef0[_0x078c('0x36')]=_[_0x078c('0x34')](_0xfc9a60[_0x078c('0x30')],qs[_0x078c('0x35')](_0xfe632a['query'][_0x078c('0x35')]));_0x59aef0[_0x078c('0x36')]=_0x59aef0[_0x078c('0x36')]['length']?_0x59aef0['attributes']:_0xfc9a60[_0x078c('0x30')];_0x59aef0[_0x078c('0x4e')]=qs[_0x078c('0x39')](_0xfe632a[_0x078c('0x31')]['sort']);_0x59aef0[_0x078c('0x3a')]=qs[_0x078c('0x33')](_[_0x078c('0x3b')](_0xfe632a[_0x078c('0x31')],_0xfc9a60[_0x078c('0x33')]));if(_0xfe632a[_0x078c('0x31')]['filter']){_0x59aef0[_0x078c('0x3a')]=_['merge'](_0x59aef0['where'],{'$or':_[_0x078c('0x2b')](_0x59aef0['attributes'],function(_0x24ad8d){var _0xbd3226={};_0xbd3226[_0x24ad8d]={'$like':'%'+_0xfe632a[_0x078c('0x31')][_0x078c('0x3c')]+'%'};return _0xbd3226;})});}_0x59aef0=_[_0x078c('0x3d')]({},_0x59aef0,_0xfe632a[_0x078c('0x3f')]);return _0x13fd3a[_0x078c('0x50')](_0x59aef0);}})[_0x078c('0x25')](function(_0x300f80){if(_0x300f80){_0x51e499=_0x300f80[_0x078c('0x37')];if(!_0xfe632a[_0x078c('0x31')][_0x078c('0x51')](_0x078c('0x38'))){_0x59aef0[_0x078c('0x1e')]=qs[_0x078c('0x1e')](_0xfe632a['query'][_0x078c('0x1e')]);_0x59aef0[_0x078c('0x1c')]=qs[_0x078c('0x1c')](_0xfe632a[_0x078c('0x31')]['offset']);}return _0x13fd3a[_0x078c('0x50')](_0x59aef0);}})[_0x078c('0x25')](function(_0x56cd14){if(_0x56cd14){return _0x56cd14?{'count':_0x51e499,'rows':_0x56cd14}:null;}})[_0x078c('0x25')](respondWithResult(_0x37f16a,null))['catch'](handleError(_0x37f16a,null));};