6af7dbb5b51e7f7b1a58eabb97ed646fb84e3442
[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 _0xb844=['name','send','VtigerConfiguration','rawAttributes','fieldName','type','key','model','map','query','intersection','fields','attributes','nolimit','order','sort','filters','pick','where','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','keys','length','merge','find','create','body','getFields','findOne','VtigerField','hasOwnProperty','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','save','update','then','destroy','error','stack'];(function(_0x32be62,_0x22e6fd){var _0x1a37e9=function(_0x35a9c1){while(--_0x35a9c1){_0x32be62['push'](_0x32be62['shift']());}};_0x1a37e9(++_0x22e6fd);}(_0xb844,0x78));var _0x4b84=function(_0xeaab61,_0xacb028){_0xeaab61=_0xeaab61-0x0;var _0x3ff9b3=_0xb844[_0xeaab61];return _0x3ff9b3;};'use strict';var emlformat=require(_0x4b84('0x0'));var rimraf=require(_0x4b84('0x1'));var zipdir=require(_0x4b84('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4b84('0x3'));var moment=require(_0x4b84('0x4'));var BPromise=require(_0x4b84('0x5'));var Mustache=require(_0x4b84('0x6'));var util=require('util');var path=require(_0x4b84('0x7'));var sox=require(_0x4b84('0x8'));var csv=require('to-csv');var ejs=require(_0x4b84('0x9'));var fs=require('fs');var fs_extra=require(_0x4b84('0xa'));var _=require(_0x4b84('0xb'));var squel=require(_0x4b84('0xc'));var crypto=require(_0x4b84('0xd'));var jsforce=require(_0x4b84('0xe'));var deskjs=require(_0x4b84('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x4b84('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x4b84('0x11'));var hardwareService=require(_0x4b84('0x12'));var logger=require(_0x4b84('0x13'))(_0x4b84('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x4b84('0x15'));var db=require(_0x4b84('0x16'))['db'];function respondWithStatusCode(_0x57bcbf,_0x5da5ff){_0x5da5ff=_0x5da5ff||0xcc;return function(_0x21858c){if(_0x21858c){return _0x57bcbf[_0x4b84('0x17')](_0x5da5ff);}return _0x57bcbf[_0x4b84('0x18')](_0x5da5ff)[_0x4b84('0x19')]();};}function respondWithResult(_0x1a044a,_0x33960d){_0x33960d=_0x33960d||0xc8;return function(_0x2f8c2f){if(_0x2f8c2f){return _0x1a044a['status'](_0x33960d)[_0x4b84('0x1a')](_0x2f8c2f);}};}function respondWithFilteredResult(_0x28ab09,_0x1bf7cf){return function(_0x3bb6c7){if(_0x3bb6c7){var _0x21a92e=typeof _0x1bf7cf['offset']===_0x4b84('0x1b')&&typeof _0x1bf7cf[_0x4b84('0x1c')]===_0x4b84('0x1b');var _0x18dd72=_0x3bb6c7[_0x4b84('0x1d')];var _0x1a2ae1=_0x21a92e?0x0:_0x1bf7cf[_0x4b84('0x1e')];var _0x390e12=_0x21a92e?_0x3bb6c7[_0x4b84('0x1d')]:_0x1bf7cf['offset']+_0x1bf7cf[_0x4b84('0x1c')];var _0x38e98d;if(_0x390e12>=_0x18dd72){_0x390e12=_0x18dd72;_0x38e98d=0xc8;}else{_0x38e98d=0xce;}_0x28ab09[_0x4b84('0x18')](_0x38e98d);return _0x28ab09[_0x4b84('0x1f')](_0x4b84('0x20'),_0x1a2ae1+'-'+_0x390e12+'/'+_0x18dd72)[_0x4b84('0x1a')](_0x3bb6c7);}return null;};}function patchUpdates(_0x4bf3dd){return function(_0x518b2c){try{jsonpatch[_0x4b84('0x21')](_0x518b2c,_0x4bf3dd,!![]);}catch(_0x40157f){return BPromise['reject'](_0x40157f);}return _0x518b2c[_0x4b84('0x22')]();};}function saveUpdates(_0x461b5b,_0x379e94){return function(_0xe343fa){if(_0xe343fa){return _0xe343fa[_0x4b84('0x23')](_0x461b5b)[_0x4b84('0x24')](function(_0xd2df32){return _0xd2df32;});}return null;};}function removeEntity(_0x357698,_0x4e16da){return function(_0xb6f9d2){if(_0xb6f9d2){return _0xb6f9d2[_0x4b84('0x25')]()['then'](function(){_0x357698['status'](0xcc)[_0x4b84('0x19')]();});}};}function handleEntityNotFound(_0x2e1761,_0x1d3861){return function(_0x3dd468){if(!_0x3dd468){_0x2e1761['sendStatus'](0x194);}return _0x3dd468;};}function handleError(_0x320553,_0x14b49d){_0x14b49d=_0x14b49d||0x1f4;return function(_0x34f3b2){logger[_0x4b84('0x26')](_0x34f3b2[_0x4b84('0x27')]);if(_0x34f3b2[_0x4b84('0x28')]){delete _0x34f3b2[_0x4b84('0x28')];}_0x320553[_0x4b84('0x18')](_0x14b49d)[_0x4b84('0x29')](_0x34f3b2);};}exports['index']=function(_0x33e0f2,_0x4e2920){var _0x403fba={},_0x5abd39={},_0x28deae={'count':0x0,'rows':[]};var _0x2a5536=_['map'](db[_0x4b84('0x2a')][_0x4b84('0x2b')],function(_0x5a1ab2){return{'name':_0x5a1ab2[_0x4b84('0x2c')],'type':_0x5a1ab2[_0x4b84('0x2d')][_0x4b84('0x2e')]};});_0x5abd39[_0x4b84('0x2f')]=_[_0x4b84('0x30')](_0x2a5536,'name');_0x5abd39[_0x4b84('0x31')]=_['keys'](_0x33e0f2[_0x4b84('0x31')]);_0x5abd39['filters']=_[_0x4b84('0x32')](_0x5abd39[_0x4b84('0x2f')],_0x5abd39[_0x4b84('0x31')]);_0x403fba['attributes']=_[_0x4b84('0x32')](_0x5abd39[_0x4b84('0x2f')],qs[_0x4b84('0x33')](_0x33e0f2[_0x4b84('0x31')]['fields']));_0x403fba['attributes']=_0x403fba[_0x4b84('0x34')]['length']?_0x403fba[_0x4b84('0x34')]:_0x5abd39[_0x4b84('0x2f')];if(!_0x33e0f2[_0x4b84('0x31')]['hasOwnProperty'](_0x4b84('0x35'))){_0x403fba[_0x4b84('0x1c')]=qs[_0x4b84('0x1c')](_0x33e0f2[_0x4b84('0x31')][_0x4b84('0x1c')]);_0x403fba['offset']=qs[_0x4b84('0x1e')](_0x33e0f2['query'][_0x4b84('0x1e')]);}_0x403fba[_0x4b84('0x36')]=qs[_0x4b84('0x37')](_0x33e0f2[_0x4b84('0x31')]['sort']);_0x403fba['where']=qs[_0x4b84('0x38')](_[_0x4b84('0x39')](_0x33e0f2[_0x4b84('0x31')],_0x5abd39[_0x4b84('0x38')]),_0x2a5536);if(_0x33e0f2[_0x4b84('0x31')]['filter']){_0x403fba[_0x4b84('0x3a')]=_['merge'](_0x403fba[_0x4b84('0x3a')],{'$or':_[_0x4b84('0x30')](_0x2a5536,function(_0x171852){if(_0x171852[_0x4b84('0x2d')]!==_0x4b84('0x3b')){var _0x517fe0={};_0x517fe0[_0x171852['name']]={'$like':'%'+_0x33e0f2[_0x4b84('0x31')][_0x4b84('0x3c')]+'%'};return _0x517fe0;}})});}_0x403fba=_['merge']({},_0x403fba,_0x33e0f2[_0x4b84('0x3d')]);var _0x538bd1={'where':_0x403fba[_0x4b84('0x3a')]};return db[_0x4b84('0x2a')][_0x4b84('0x1d')](_0x538bd1)[_0x4b84('0x24')](function(_0x5a747c){_0x28deae[_0x4b84('0x1d')]=_0x5a747c;if(_0x33e0f2[_0x4b84('0x31')][_0x4b84('0x3e')]){_0x403fba[_0x4b84('0x3f')]=[{'all':!![]}];}return db[_0x4b84('0x2a')][_0x4b84('0x40')](_0x403fba);})[_0x4b84('0x24')](function(_0x171314){_0x28deae['rows']=_0x171314;return _0x28deae;})['then'](respondWithFilteredResult(_0x4e2920,_0x403fba))[_0x4b84('0x41')](handleError(_0x4e2920,null));};exports[_0x4b84('0x42')]=function(_0x4ef8d0,_0x5aa97c){var _0x48ac5c={'raw':![],'where':{'id':_0x4ef8d0[_0x4b84('0x43')]['id']}},_0x265d01={};_0x265d01[_0x4b84('0x2f')]=_[_0x4b84('0x44')](db[_0x4b84('0x2a')][_0x4b84('0x2b')]);_0x265d01['query']=_['keys'](_0x4ef8d0[_0x4b84('0x31')]);_0x265d01[_0x4b84('0x38')]=_['intersection'](_0x265d01[_0x4b84('0x2f')],_0x265d01['query']);_0x48ac5c[_0x4b84('0x34')]=_[_0x4b84('0x32')](_0x265d01['model'],qs['fields'](_0x4ef8d0[_0x4b84('0x31')][_0x4b84('0x33')]));_0x48ac5c[_0x4b84('0x34')]=_0x48ac5c[_0x4b84('0x34')][_0x4b84('0x45')]?_0x48ac5c['attributes']:_0x265d01[_0x4b84('0x2f')];if(_0x4ef8d0[_0x4b84('0x31')][_0x4b84('0x3e')]){_0x48ac5c['include']=[{'all':!![]}];}_0x48ac5c=_[_0x4b84('0x46')]({},_0x48ac5c,_0x4ef8d0[_0x4b84('0x3d')]);return db[_0x4b84('0x2a')][_0x4b84('0x47')](_0x48ac5c)['then'](handleEntityNotFound(_0x5aa97c,null))['then'](respondWithResult(_0x5aa97c,null))[_0x4b84('0x41')](handleError(_0x5aa97c,null));};exports[_0x4b84('0x48')]=function(_0x2e8bc9,_0x36a5e0){return db[_0x4b84('0x2a')]['create'](_0x2e8bc9[_0x4b84('0x49')],{})['then'](respondWithResult(_0x36a5e0,0xc9))['catch'](handleError(_0x36a5e0,null));};exports[_0x4b84('0x23')]=function(_0x1ee31a,_0x5c46ba){if(_0x1ee31a[_0x4b84('0x49')]['id']){delete _0x1ee31a['body']['id'];}return db['VtigerConfiguration'][_0x4b84('0x47')]({'where':{'id':_0x1ee31a['params']['id']}})[_0x4b84('0x24')](handleEntityNotFound(_0x5c46ba,null))[_0x4b84('0x24')](saveUpdates(_0x1ee31a[_0x4b84('0x49')],null))[_0x4b84('0x24')](respondWithResult(_0x5c46ba,null))[_0x4b84('0x41')](handleError(_0x5c46ba,null));};exports[_0x4b84('0x25')]=function(_0x28f2ed,_0x4a9c2c){return db['VtigerConfiguration'][_0x4b84('0x47')]({'where':{'id':_0x28f2ed[_0x4b84('0x43')]['id']}})['then'](handleEntityNotFound(_0x4a9c2c,null))[_0x4b84('0x24')](removeEntity(_0x4a9c2c,null))[_0x4b84('0x41')](handleError(_0x4a9c2c,null));};exports[_0x4b84('0x4a')]=function(_0x2ae672,_0x385562,_0x20b3d6){var _0x13bfe6={};var _0x3b5ef9={};var _0x4737ea;var _0x212b40;return db[_0x4b84('0x2a')][_0x4b84('0x4b')]({'where':{'id':_0x2ae672[_0x4b84('0x43')]['id']}})[_0x4b84('0x24')](handleEntityNotFound(_0x385562,null))[_0x4b84('0x24')](function(_0xc5b9ff){if(_0xc5b9ff){_0x4737ea=_0xc5b9ff;_0x3b5ef9[_0x4b84('0x2f')]=_[_0x4b84('0x44')](db[_0x4b84('0x4c')][_0x4b84('0x2b')]);_0x3b5ef9[_0x4b84('0x31')]=_[_0x4b84('0x44')](_0x2ae672[_0x4b84('0x31')]);_0x3b5ef9[_0x4b84('0x38')]=_['intersection'](_0x3b5ef9[_0x4b84('0x2f')],_0x3b5ef9[_0x4b84('0x31')]);_0x13bfe6[_0x4b84('0x34')]=_[_0x4b84('0x32')](_0x3b5ef9[_0x4b84('0x2f')],qs['fields'](_0x2ae672[_0x4b84('0x31')][_0x4b84('0x33')]));_0x13bfe6[_0x4b84('0x34')]=_0x13bfe6[_0x4b84('0x34')][_0x4b84('0x45')]?_0x13bfe6[_0x4b84('0x34')]:_0x3b5ef9[_0x4b84('0x2f')];_0x13bfe6[_0x4b84('0x36')]=qs['sort'](_0x2ae672['query'][_0x4b84('0x37')]);_0x13bfe6[_0x4b84('0x3a')]=qs[_0x4b84('0x38')](_[_0x4b84('0x39')](_0x2ae672[_0x4b84('0x31')],_0x3b5ef9['filters']));if(_0x2ae672[_0x4b84('0x31')]['filter']){_0x13bfe6[_0x4b84('0x3a')]=_['merge'](_0x13bfe6[_0x4b84('0x3a')],{'$or':_[_0x4b84('0x30')](_0x13bfe6[_0x4b84('0x34')],function(_0x312db0){var _0x5c869e={};_0x5c869e[_0x312db0]={'$like':'%'+_0x2ae672[_0x4b84('0x31')][_0x4b84('0x3c')]+'%'};return _0x5c869e;})});}_0x13bfe6=_[_0x4b84('0x46')]({},_0x13bfe6,_0x2ae672[_0x4b84('0x3d')]);return _0x4737ea[_0x4b84('0x4a')](_0x13bfe6);}})[_0x4b84('0x24')](function(_0x26e22d){if(_0x26e22d){_0x212b40=_0x26e22d[_0x4b84('0x45')];if(!_0x2ae672[_0x4b84('0x31')][_0x4b84('0x4d')]('nolimit')){_0x13bfe6[_0x4b84('0x1c')]=qs[_0x4b84('0x1c')](_0x2ae672[_0x4b84('0x31')]['limit']);_0x13bfe6[_0x4b84('0x1e')]=qs[_0x4b84('0x1e')](_0x2ae672[_0x4b84('0x31')][_0x4b84('0x1e')]);}return _0x4737ea[_0x4b84('0x4a')](_0x13bfe6);}})[_0x4b84('0x24')](function(_0x73ea2a){if(_0x73ea2a){return _0x73ea2a?{'count':_0x212b40,'rows':_0x73ea2a}:null;}})[_0x4b84('0x24')](respondWithResult(_0x385562,null))['catch'](handleError(_0x385562,null));};exports['getSubjects']=function(_0x37458d,_0x384997,_0x4ccc15){var _0x2075c7={};var _0x20f3a1={};var _0x328662;var _0x442b30;return db['VtigerConfiguration']['findOne']({'where':{'id':_0x37458d['params']['id']}})['then'](handleEntityNotFound(_0x384997,null))[_0x4b84('0x24')](function(_0xddb1ba){if(_0xddb1ba){_0x328662=_0xddb1ba;_0x20f3a1[_0x4b84('0x2f')]=_[_0x4b84('0x44')](db['VtigerField'][_0x4b84('0x2b')]);_0x20f3a1[_0x4b84('0x31')]=_[_0x4b84('0x44')](_0x37458d[_0x4b84('0x31')]);_0x20f3a1['filters']=_['intersection'](_0x20f3a1['model'],_0x20f3a1[_0x4b84('0x31')]);_0x2075c7[_0x4b84('0x34')]=_[_0x4b84('0x32')](_0x20f3a1[_0x4b84('0x2f')],qs[_0x4b84('0x33')](_0x37458d[_0x4b84('0x31')][_0x4b84('0x33')]));_0x2075c7[_0x4b84('0x34')]=_0x2075c7['attributes'][_0x4b84('0x45')]?_0x2075c7[_0x4b84('0x34')]:_0x20f3a1[_0x4b84('0x2f')];_0x2075c7[_0x4b84('0x36')]=qs[_0x4b84('0x37')](_0x37458d[_0x4b84('0x31')][_0x4b84('0x37')]);_0x2075c7['where']=qs[_0x4b84('0x38')](_[_0x4b84('0x39')](_0x37458d[_0x4b84('0x31')],_0x20f3a1[_0x4b84('0x38')]));if(_0x37458d[_0x4b84('0x31')]['filter']){_0x2075c7[_0x4b84('0x3a')]=_['merge'](_0x2075c7['where'],{'$or':_['map'](_0x2075c7[_0x4b84('0x34')],function(_0x51908b){var _0x404789={};_0x404789[_0x51908b]={'$like':'%'+_0x37458d[_0x4b84('0x31')][_0x4b84('0x3c')]+'%'};return _0x404789;})});}_0x2075c7=_['merge']({},_0x2075c7,_0x37458d['options']);return _0x328662['getSubjects'](_0x2075c7);}})[_0x4b84('0x24')](function(_0x26c8c5){if(_0x26c8c5){_0x442b30=_0x26c8c5[_0x4b84('0x45')];if(!_0x37458d[_0x4b84('0x31')][_0x4b84('0x4d')](_0x4b84('0x35'))){_0x2075c7['limit']=qs[_0x4b84('0x1c')](_0x37458d[_0x4b84('0x31')][_0x4b84('0x1c')]);_0x2075c7[_0x4b84('0x1e')]=qs['offset'](_0x37458d[_0x4b84('0x31')][_0x4b84('0x1e')]);}return _0x328662[_0x4b84('0x4e')](_0x2075c7);}})[_0x4b84('0x24')](function(_0x44db62){if(_0x44db62){return _0x44db62?{'count':_0x442b30,'rows':_0x44db62}:null;}})['then'](respondWithResult(_0x384997,null))['catch'](handleError(_0x384997,null));};exports['getDescriptions']=function(_0x204a67,_0x473fab,_0x53c618){var _0x410c93={};var _0x576858={};var _0x15a16a;var _0x13dc1e;return db[_0x4b84('0x2a')][_0x4b84('0x4b')]({'where':{'id':_0x204a67[_0x4b84('0x43')]['id']}})[_0x4b84('0x24')](handleEntityNotFound(_0x473fab,null))[_0x4b84('0x24')](function(_0xa27f5){if(_0xa27f5){_0x15a16a=_0xa27f5;_0x576858[_0x4b84('0x2f')]=_[_0x4b84('0x44')](db['VtigerField'][_0x4b84('0x2b')]);_0x576858[_0x4b84('0x31')]=_[_0x4b84('0x44')](_0x204a67[_0x4b84('0x31')]);_0x576858[_0x4b84('0x38')]=_[_0x4b84('0x32')](_0x576858['model'],_0x576858[_0x4b84('0x31')]);_0x410c93[_0x4b84('0x34')]=_[_0x4b84('0x32')](_0x576858['model'],qs[_0x4b84('0x33')](_0x204a67[_0x4b84('0x31')][_0x4b84('0x33')]));_0x410c93[_0x4b84('0x34')]=_0x410c93['attributes']['length']?_0x410c93[_0x4b84('0x34')]:_0x576858[_0x4b84('0x2f')];_0x410c93[_0x4b84('0x36')]=qs['sort'](_0x204a67[_0x4b84('0x31')][_0x4b84('0x37')]);_0x410c93['where']=qs[_0x4b84('0x38')](_['pick'](_0x204a67[_0x4b84('0x31')],_0x576858[_0x4b84('0x38')]));if(_0x204a67['query'][_0x4b84('0x3c')]){_0x410c93[_0x4b84('0x3a')]=_[_0x4b84('0x46')](_0x410c93['where'],{'$or':_['map'](_0x410c93[_0x4b84('0x34')],function(_0x11b6e8){var _0x11198d={};_0x11198d[_0x11b6e8]={'$like':'%'+_0x204a67[_0x4b84('0x31')][_0x4b84('0x3c')]+'%'};return _0x11198d;})});}_0x410c93=_[_0x4b84('0x46')]({},_0x410c93,_0x204a67[_0x4b84('0x3d')]);return _0x15a16a[_0x4b84('0x4f')](_0x410c93);}})[_0x4b84('0x24')](function(_0x32fd14){if(_0x32fd14){_0x13dc1e=_0x32fd14[_0x4b84('0x45')];if(!_0x204a67[_0x4b84('0x31')][_0x4b84('0x4d')](_0x4b84('0x35'))){_0x410c93[_0x4b84('0x1c')]=qs['limit'](_0x204a67[_0x4b84('0x31')][_0x4b84('0x1c')]);_0x410c93['offset']=qs['offset'](_0x204a67['query'][_0x4b84('0x1e')]);}return _0x15a16a[_0x4b84('0x4f')](_0x410c93);}})[_0x4b84('0x24')](function(_0x42daf1){if(_0x42daf1){return _0x42daf1?{'count':_0x13dc1e,'rows':_0x42daf1}:null;}})[_0x4b84('0x24')](respondWithResult(_0x473fab,null))[_0x4b84('0x41')](handleError(_0x473fab,null));};