3bb7e4780ff66d05a12be42dc3bdc1113a382654
[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 _0x8dfc=['reject','save','update','destroy','stack','name','send','index','map','VtigerConfiguration','rawAttributes','fieldName','type','query','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','filter','VIRTUAL','merge','options','count','includeAll','include','findAll','rows','keys','find','create','body','params','getFields','VtigerField','hasOwnProperty','getSubjects','findOne','pick','getDescriptions','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/license/util','client','http','request','then','info','request\x20sent','debug','stringify','error','VtigerConfiguration,\x20%s,\x20%s','message','catch','sendStatus','status','end','json','offset','limit','set'];(function(_0x1d1779,_0x284147){var _0x2377e9=function(_0x299f6f){while(--_0x299f6f){_0x1d1779['push'](_0x1d1779['shift']());}};_0x2377e9(++_0x284147);}(_0x8dfc,0xdf));var _0xc8df=function(_0x383356,_0x33d2f5){_0x383356=_0x383356-0x0;var _0x32ee5a=_0x8dfc[_0x383356];return _0x32ee5a;};'use strict';var pdf=require(_0xc8df('0x0'));var emlformat=require(_0xc8df('0x1'));var rimraf=require(_0xc8df('0x2'));var zipdir=require(_0xc8df('0x3'));var jsonpatch=require(_0xc8df('0x4'));var rp=require(_0xc8df('0x5'));var moment=require(_0xc8df('0x6'));var BPromise=require(_0xc8df('0x7'));var Mustache=require(_0xc8df('0x8'));var util=require('util');var path=require(_0xc8df('0x9'));var sox=require(_0xc8df('0xa'));var csv=require('to-csv');var ejs=require(_0xc8df('0xb'));var fs=require('fs');var _=require(_0xc8df('0xc'));var squel=require(_0xc8df('0xd'));var crypto=require(_0xc8df('0xe'));var jsforce=require('jsforce');var deskjs=require(_0xc8df('0xf'));var toCsv=require(_0xc8df('0x10'));var querystring=require(_0xc8df('0x11'));var Papa=require(_0xc8df('0x12'));var Redis=require(_0xc8df('0x13'));var authService=require(_0xc8df('0x14'));var qs=require(_0xc8df('0x15'));var as=require(_0xc8df('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xc8df('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xc8df('0x18'));var db=require('../../mysqldb')['db'];var jayson=require('jayson/promise');var client=jayson[_0xc8df('0x19')][_0xc8df('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x4d4480,_0x523b79,_0x383613,_0x52a088){return new BPromise(function(_0x1dc853,_0x11668b){var _0x3e1b84=_0x52a088||client;return _0x3e1b84[_0xc8df('0x1b')](_0x4d4480,_0x383613)[_0xc8df('0x1c')](function(_0x29e02d){logger[_0xc8df('0x1d')]('VtigerConfiguration,\x20%s,\x20%s',_0x523b79,_0xc8df('0x1e'));logger[_0xc8df('0x1f')]('VtigerConfiguration,\x20%s,\x20%s,\x20%s',_0x523b79,_0xc8df('0x1e'),JSON[_0xc8df('0x20')](_0x29e02d));if(_0x29e02d[_0xc8df('0x21')]){if(_0x29e02d['error']['code']===0x1f4){logger['error'](_0xc8df('0x22'),_0x523b79,_0x29e02d['error'][_0xc8df('0x23')]);return _0x11668b(_0x29e02d[_0xc8df('0x21')][_0xc8df('0x23')]);}logger['error'](_0xc8df('0x22'),_0x523b79,_0x29e02d[_0xc8df('0x21')][_0xc8df('0x23')]);return _0x1dc853(_0x29e02d['error'][_0xc8df('0x23')]);}else{logger['info']('VtigerConfiguration,\x20%s,\x20%s',_0x523b79,_0xc8df('0x1e'));_0x1dc853(_0x29e02d['result'][_0xc8df('0x23')]);}})[_0xc8df('0x24')](function(_0x284782){logger[_0xc8df('0x21')](_0xc8df('0x22'),_0x523b79,_0x284782);_0x11668b(_0x284782);});});}function respondWithStatusCode(_0xdb4816,_0x3336af){_0x3336af=_0x3336af||0xcc;return function(_0x603c89){if(_0x603c89){return _0xdb4816[_0xc8df('0x25')](_0x3336af);}return _0xdb4816[_0xc8df('0x26')](_0x3336af)[_0xc8df('0x27')]();};}function respondWithResult(_0x49b479,_0x23a657){_0x23a657=_0x23a657||0xc8;return function(_0x52ada9){if(_0x52ada9){return _0x49b479[_0xc8df('0x26')](_0x23a657)[_0xc8df('0x28')](_0x52ada9);}};}function respondWithFilteredResult(_0x996315,_0x4896b7){return function(_0x4d693b){if(_0x4d693b){var _0x6ba712=_0x4d693b['count'],_0x22f1b6=_0x4896b7[_0xc8df('0x29')],_0x1ccd00=_0x4896b7[_0xc8df('0x29')]+_0x4896b7[_0xc8df('0x2a')],_0x4492fd;if(_0x1ccd00>=_0x6ba712){_0x1ccd00=_0x6ba712;_0x4492fd=0xc8;}else{_0x4492fd=0xce;}_0x996315['status'](_0x4492fd);return _0x996315[_0xc8df('0x2b')]('Content-Range',_0x22f1b6+'-'+_0x1ccd00+'/'+_0x6ba712)['json'](_0x4d693b);}return null;};}function patchUpdates(_0x50449e){return function(_0x2d5cc7){try{jsonpatch['apply'](_0x2d5cc7,_0x50449e,!![]);}catch(_0x28ba5a){return BPromise[_0xc8df('0x2c')](_0x28ba5a);}return _0x2d5cc7[_0xc8df('0x2d')]();};}function saveUpdates(_0x43eb55,_0x1e5438){return function(_0x57d1df){if(_0x57d1df){return _0x57d1df[_0xc8df('0x2e')](_0x43eb55)['then'](function(_0x5f1a87){return _0x5f1a87;});}return null;};}function removeEntity(_0x599ee5,_0x2e71e5){return function(_0x50ac2d){if(_0x50ac2d){return _0x50ac2d[_0xc8df('0x2f')]()[_0xc8df('0x1c')](function(){_0x599ee5[_0xc8df('0x26')](0xcc)[_0xc8df('0x27')]();});}};}function handleEntityNotFound(_0x2a43b1,_0x3e6698){return function(_0x18ec7f){if(!_0x18ec7f){_0x2a43b1[_0xc8df('0x25')](0x194);}return _0x18ec7f;};}function handleError(_0x493c1d,_0x324aa6){_0x324aa6=_0x324aa6||0x1f4;return function(_0x3ca7ba){logger[_0xc8df('0x21')](_0x3ca7ba[_0xc8df('0x30')]);if(_0x3ca7ba[_0xc8df('0x31')]){delete _0x3ca7ba[_0xc8df('0x31')];}_0x493c1d[_0xc8df('0x26')](_0x324aa6)[_0xc8df('0x32')](_0x3ca7ba);};}exports[_0xc8df('0x33')]=function(_0xb437cf,_0x3ff483){var _0x4fe14f={},_0x554f18={},_0x59f84b={'count':0x0,'rows':[]};var _0x53c7c0=_[_0xc8df('0x34')](db[_0xc8df('0x35')][_0xc8df('0x36')],function(_0x48cf5b){return{'name':_0x48cf5b[_0xc8df('0x37')],'type':_0x48cf5b[_0xc8df('0x38')]['key']};});_0x554f18['model']=_[_0xc8df('0x34')](_0x53c7c0,'name');_0x554f18['query']=_['keys'](_0xb437cf[_0xc8df('0x39')]);_0x554f18[_0xc8df('0x3a')]=_[_0xc8df('0x3b')](_0x554f18[_0xc8df('0x3c')],_0x554f18[_0xc8df('0x39')]);_0x4fe14f[_0xc8df('0x3d')]=_['intersection'](_0x554f18[_0xc8df('0x3c')],qs[_0xc8df('0x3e')](_0xb437cf[_0xc8df('0x39')][_0xc8df('0x3e')]));_0x4fe14f[_0xc8df('0x3d')]=_0x4fe14f[_0xc8df('0x3d')][_0xc8df('0x3f')]?_0x4fe14f[_0xc8df('0x3d')]:_0x554f18[_0xc8df('0x3c')];if(!_0xb437cf['query']['hasOwnProperty'](_0xc8df('0x40'))){_0x4fe14f[_0xc8df('0x2a')]=qs[_0xc8df('0x2a')](_0xb437cf[_0xc8df('0x39')][_0xc8df('0x2a')]);_0x4fe14f[_0xc8df('0x29')]=qs[_0xc8df('0x29')](_0xb437cf['query'][_0xc8df('0x29')]);}_0x4fe14f[_0xc8df('0x41')]=qs[_0xc8df('0x42')](_0xb437cf['query'][_0xc8df('0x42')]);_0x4fe14f[_0xc8df('0x43')]=qs[_0xc8df('0x3a')](_['pick'](_0xb437cf[_0xc8df('0x39')],_0x554f18['filters']),_0x53c7c0);if(_0xb437cf['query'][_0xc8df('0x44')]){_0x4fe14f[_0xc8df('0x43')]=_['merge'](_0x4fe14f[_0xc8df('0x43')],{'$or':_[_0xc8df('0x34')](_0x53c7c0,function(_0x37819d){if(_0x37819d['type']!==_0xc8df('0x45')){var _0x3206de={};_0x3206de[_0x37819d['name']]={'$like':'%'+_0xb437cf[_0xc8df('0x39')][_0xc8df('0x44')]+'%'};return _0x3206de;}})});}_0x4fe14f=_[_0xc8df('0x46')]({},_0x4fe14f,_0xb437cf[_0xc8df('0x47')]);var _0x19d3e2={'where':_0x4fe14f[_0xc8df('0x43')]};return db[_0xc8df('0x35')][_0xc8df('0x48')](_0x19d3e2)['then'](function(_0x559aec){_0x59f84b['count']=_0x559aec;if(_0xb437cf[_0xc8df('0x39')][_0xc8df('0x49')]){_0x4fe14f[_0xc8df('0x4a')]=[{'all':!![]}];}return db[_0xc8df('0x35')][_0xc8df('0x4b')](_0x4fe14f);})['then'](function(_0x1a140c){_0x59f84b[_0xc8df('0x4c')]=_0x1a140c;return _0x59f84b;})[_0xc8df('0x1c')](respondWithFilteredResult(_0x3ff483,_0x4fe14f))[_0xc8df('0x24')](handleError(_0x3ff483,null));};exports['show']=function(_0x54ce21,_0x4024e7){var _0x44accc={'raw':![],'where':{'id':_0x54ce21['params']['id']}},_0x12640f={};_0x12640f[_0xc8df('0x3c')]=_[_0xc8df('0x4d')](db[_0xc8df('0x35')]['rawAttributes']);_0x12640f[_0xc8df('0x39')]=_['keys'](_0x54ce21[_0xc8df('0x39')]);_0x12640f[_0xc8df('0x3a')]=_[_0xc8df('0x3b')](_0x12640f['model'],_0x12640f[_0xc8df('0x39')]);_0x44accc['attributes']=_['intersection'](_0x12640f[_0xc8df('0x3c')],qs['fields'](_0x54ce21['query'][_0xc8df('0x3e')]));_0x44accc[_0xc8df('0x3d')]=_0x44accc[_0xc8df('0x3d')][_0xc8df('0x3f')]?_0x44accc[_0xc8df('0x3d')]:_0x12640f[_0xc8df('0x3c')];if(_0x54ce21['query']['includeAll']){_0x44accc[_0xc8df('0x4a')]=[{'all':!![]}];}_0x44accc=_[_0xc8df('0x46')]({},_0x44accc,_0x54ce21[_0xc8df('0x47')]);return db[_0xc8df('0x35')][_0xc8df('0x4e')](_0x44accc)[_0xc8df('0x1c')](handleEntityNotFound(_0x4024e7,null))[_0xc8df('0x1c')](respondWithResult(_0x4024e7,null))[_0xc8df('0x24')](handleError(_0x4024e7,null));};exports['create']=function(_0x498a6d,_0x21b532){return db[_0xc8df('0x35')][_0xc8df('0x4f')](_0x498a6d[_0xc8df('0x50')],{})[_0xc8df('0x1c')](respondWithResult(_0x21b532,0xc9))[_0xc8df('0x24')](handleError(_0x21b532,null));};exports[_0xc8df('0x2e')]=function(_0x58dabc,_0x251f8b){if(_0x58dabc['body']['id']){delete _0x58dabc[_0xc8df('0x50')]['id'];}return db[_0xc8df('0x35')]['find']({'where':{'id':_0x58dabc[_0xc8df('0x51')]['id']}})[_0xc8df('0x1c')](handleEntityNotFound(_0x251f8b,null))[_0xc8df('0x1c')](saveUpdates(_0x58dabc['body'],null))[_0xc8df('0x1c')](respondWithResult(_0x251f8b,null))[_0xc8df('0x24')](handleError(_0x251f8b,null));};exports[_0xc8df('0x2f')]=function(_0x3bec11,_0x9db249){return db['VtigerConfiguration'][_0xc8df('0x4e')]({'where':{'id':_0x3bec11['params']['id']}})[_0xc8df('0x1c')](handleEntityNotFound(_0x9db249,null))[_0xc8df('0x1c')](removeEntity(_0x9db249,null))[_0xc8df('0x24')](handleError(_0x9db249,null));};exports[_0xc8df('0x52')]=function(_0xa22921,_0x99598c,_0x1086d0){var _0x5dda32={};var _0x1fcac4={};var _0x551652;var _0x103ea0;return db[_0xc8df('0x35')]['findOne']({'where':{'id':_0xa22921[_0xc8df('0x51')]['id']}})[_0xc8df('0x1c')](handleEntityNotFound(_0x99598c,null))[_0xc8df('0x1c')](function(_0x53627a){if(_0x53627a){_0x551652=_0x53627a;_0x1fcac4[_0xc8df('0x3c')]=_[_0xc8df('0x4d')](db[_0xc8df('0x53')][_0xc8df('0x36')]);_0x1fcac4['query']=_[_0xc8df('0x4d')](_0xa22921['query']);_0x1fcac4[_0xc8df('0x3a')]=_['intersection'](_0x1fcac4[_0xc8df('0x3c')],_0x1fcac4['query']);_0x5dda32[_0xc8df('0x3d')]=_[_0xc8df('0x3b')](_0x1fcac4[_0xc8df('0x3c')],qs[_0xc8df('0x3e')](_0xa22921['query'][_0xc8df('0x3e')]));_0x5dda32[_0xc8df('0x3d')]=_0x5dda32['attributes']['length']?_0x5dda32[_0xc8df('0x3d')]:_0x1fcac4['model'];_0x5dda32[_0xc8df('0x41')]=qs['sort'](_0xa22921['query'][_0xc8df('0x42')]);_0x5dda32[_0xc8df('0x43')]=qs[_0xc8df('0x3a')](_['pick'](_0xa22921[_0xc8df('0x39')],_0x1fcac4[_0xc8df('0x3a')]));if(_0xa22921[_0xc8df('0x39')]['filter']){_0x5dda32['where']=_['merge'](_0x5dda32[_0xc8df('0x43')],{'$or':_['map'](_0x5dda32['attributes'],function(_0x4e6974){var _0x5cadcb={};_0x5cadcb[_0x4e6974]={'$like':'%'+_0xa22921[_0xc8df('0x39')]['filter']+'%'};return _0x5cadcb;})});}_0x5dda32=_[_0xc8df('0x46')]({},_0x5dda32,_0xa22921[_0xc8df('0x47')]);return _0x551652[_0xc8df('0x52')](_0x5dda32);}})[_0xc8df('0x1c')](function(_0xd7fc2e){if(_0xd7fc2e){_0x103ea0=_0xd7fc2e[_0xc8df('0x3f')];if(!_0xa22921['query'][_0xc8df('0x54')](_0xc8df('0x40'))){_0x5dda32['limit']=qs['limit'](_0xa22921[_0xc8df('0x39')][_0xc8df('0x2a')]);_0x5dda32[_0xc8df('0x29')]=qs['offset'](_0xa22921[_0xc8df('0x39')]['offset']);}return _0x551652[_0xc8df('0x52')](_0x5dda32);}})[_0xc8df('0x1c')](function(_0x10808d){if(_0x10808d){return _0x10808d?{'count':_0x103ea0,'rows':_0x10808d}:null;}})['then'](respondWithResult(_0x99598c,null))[_0xc8df('0x24')](handleError(_0x99598c,null));};exports[_0xc8df('0x55')]=function(_0x3b020c,_0x346f26,_0x532471){var _0x172e99={};var _0x11cbd5={};var _0x24da66;var _0x17b394;return db[_0xc8df('0x35')][_0xc8df('0x56')]({'where':{'id':_0x3b020c[_0xc8df('0x51')]['id']}})['then'](handleEntityNotFound(_0x346f26,null))[_0xc8df('0x1c')](function(_0x1b1994){if(_0x1b1994){_0x24da66=_0x1b1994;_0x11cbd5['model']=_[_0xc8df('0x4d')](db[_0xc8df('0x53')]['rawAttributes']);_0x11cbd5[_0xc8df('0x39')]=_['keys'](_0x3b020c[_0xc8df('0x39')]);_0x11cbd5[_0xc8df('0x3a')]=_[_0xc8df('0x3b')](_0x11cbd5['model'],_0x11cbd5[_0xc8df('0x39')]);_0x172e99['attributes']=_[_0xc8df('0x3b')](_0x11cbd5[_0xc8df('0x3c')],qs['fields'](_0x3b020c[_0xc8df('0x39')][_0xc8df('0x3e')]));_0x172e99['attributes']=_0x172e99[_0xc8df('0x3d')]['length']?_0x172e99['attributes']:_0x11cbd5['model'];_0x172e99['order']=qs[_0xc8df('0x42')](_0x3b020c[_0xc8df('0x39')]['sort']);_0x172e99[_0xc8df('0x43')]=qs[_0xc8df('0x3a')](_[_0xc8df('0x57')](_0x3b020c['query'],_0x11cbd5[_0xc8df('0x3a')]));if(_0x3b020c[_0xc8df('0x39')][_0xc8df('0x44')]){_0x172e99[_0xc8df('0x43')]=_[_0xc8df('0x46')](_0x172e99[_0xc8df('0x43')],{'$or':_['map'](_0x172e99[_0xc8df('0x3d')],function(_0x2e9502){var _0x141b80={};_0x141b80[_0x2e9502]={'$like':'%'+_0x3b020c['query'][_0xc8df('0x44')]+'%'};return _0x141b80;})});}_0x172e99=_[_0xc8df('0x46')]({},_0x172e99,_0x3b020c['options']);return _0x24da66['getSubjects'](_0x172e99);}})[_0xc8df('0x1c')](function(_0xf2a208){if(_0xf2a208){_0x17b394=_0xf2a208[_0xc8df('0x3f')];if(!_0x3b020c[_0xc8df('0x39')]['hasOwnProperty'](_0xc8df('0x40'))){_0x172e99['limit']=qs[_0xc8df('0x2a')](_0x3b020c[_0xc8df('0x39')][_0xc8df('0x2a')]);_0x172e99[_0xc8df('0x29')]=qs[_0xc8df('0x29')](_0x3b020c[_0xc8df('0x39')][_0xc8df('0x29')]);}return _0x24da66[_0xc8df('0x55')](_0x172e99);}})[_0xc8df('0x1c')](function(_0x4f11b0){if(_0x4f11b0){return _0x4f11b0?{'count':_0x17b394,'rows':_0x4f11b0}:null;}})[_0xc8df('0x1c')](respondWithResult(_0x346f26,null))['catch'](handleError(_0x346f26,null));};exports[_0xc8df('0x58')]=function(_0x2609ab,_0x471a2f,_0x149cdc){var _0x1f03c1={};var _0x1e6ab7={};var _0x5672d0;var _0x28dfa2;return db[_0xc8df('0x35')]['findOne']({'where':{'id':_0x2609ab[_0xc8df('0x51')]['id']}})[_0xc8df('0x1c')](handleEntityNotFound(_0x471a2f,null))[_0xc8df('0x1c')](function(_0x8e001d){if(_0x8e001d){_0x5672d0=_0x8e001d;_0x1e6ab7['model']=_[_0xc8df('0x4d')](db[_0xc8df('0x53')][_0xc8df('0x36')]);_0x1e6ab7[_0xc8df('0x39')]=_[_0xc8df('0x4d')](_0x2609ab[_0xc8df('0x39')]);_0x1e6ab7[_0xc8df('0x3a')]=_['intersection'](_0x1e6ab7['model'],_0x1e6ab7['query']);_0x1f03c1[_0xc8df('0x3d')]=_['intersection'](_0x1e6ab7[_0xc8df('0x3c')],qs[_0xc8df('0x3e')](_0x2609ab[_0xc8df('0x39')][_0xc8df('0x3e')]));_0x1f03c1[_0xc8df('0x3d')]=_0x1f03c1[_0xc8df('0x3d')][_0xc8df('0x3f')]?_0x1f03c1['attributes']:_0x1e6ab7[_0xc8df('0x3c')];_0x1f03c1[_0xc8df('0x41')]=qs[_0xc8df('0x42')](_0x2609ab[_0xc8df('0x39')][_0xc8df('0x42')]);_0x1f03c1[_0xc8df('0x43')]=qs[_0xc8df('0x3a')](_[_0xc8df('0x57')](_0x2609ab[_0xc8df('0x39')],_0x1e6ab7['filters']));if(_0x2609ab[_0xc8df('0x39')]['filter']){_0x1f03c1[_0xc8df('0x43')]=_['merge'](_0x1f03c1[_0xc8df('0x43')],{'$or':_['map'](_0x1f03c1['attributes'],function(_0x467c3b){var _0x4ac382={};_0x4ac382[_0x467c3b]={'$like':'%'+_0x2609ab['query'][_0xc8df('0x44')]+'%'};return _0x4ac382;})});}_0x1f03c1=_[_0xc8df('0x46')]({},_0x1f03c1,_0x2609ab[_0xc8df('0x47')]);return _0x5672d0[_0xc8df('0x58')](_0x1f03c1);}})[_0xc8df('0x1c')](function(_0x13ffe4){if(_0x13ffe4){_0x28dfa2=_0x13ffe4[_0xc8df('0x3f')];if(!_0x2609ab[_0xc8df('0x39')]['hasOwnProperty'](_0xc8df('0x40'))){_0x1f03c1['limit']=qs['limit'](_0x2609ab[_0xc8df('0x39')][_0xc8df('0x2a')]);_0x1f03c1[_0xc8df('0x29')]=qs[_0xc8df('0x29')](_0x2609ab['query'][_0xc8df('0x29')]);}return _0x5672d0['getDescriptions'](_0x1f03c1);}})[_0xc8df('0x1c')](function(_0x5e5889){if(_0x5e5889){return _0x5e5889?{'count':_0x28dfa2,'rows':_0x5e5889}:null;}})[_0xc8df('0x1c')](respondWithResult(_0x471a2f,null))[_0xc8df('0x24')](handleError(_0x471a2f,null));};