Built motion from commit 0900f080.|2.5.45
[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 _0xac55=['sendStatus','end','json','offset','undefined','limit','count','Content-Range','save','update','then','destroy','status','error','stack','name','send','index','VtigerConfiguration','fieldName','type','key','model','query','keys','filters','attributes','intersection','length','hasOwnProperty','sort','pick','filter','where','merge','VIRTUAL','options','include','rows','catch','show','params','rawAttributes','fields','includeAll','find','create','body','getFields','VtigerField','map','nolimit','getSubjects','findOne','order','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb'];(function(_0x3e961c,_0x5747e7){var _0x474f9c=function(_0x33f8ea){while(--_0x33f8ea){_0x3e961c['push'](_0x3e961c['shift']());}};_0x474f9c(++_0x5747e7);}(_0xac55,0x1c8));var _0x5ac5=function(_0x3f442a,_0x3198db){_0x3f442a=_0x3f442a-0x0;var _0x4a8aac=_0xac55[_0x3f442a];return _0x4a8aac;};'use strict';var emlformat=require(_0x5ac5('0x0'));var rimraf=require(_0x5ac5('0x1'));var zipdir=require(_0x5ac5('0x2'));var jsonpatch=require(_0x5ac5('0x3'));var rp=require('request-promise');var moment=require(_0x5ac5('0x4'));var BPromise=require(_0x5ac5('0x5'));var Mustache=require(_0x5ac5('0x6'));var util=require(_0x5ac5('0x7'));var path=require(_0x5ac5('0x8'));var sox=require(_0x5ac5('0x9'));var csv=require(_0x5ac5('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x5ac5('0xb'));var squel=require(_0x5ac5('0xc'));var crypto=require(_0x5ac5('0xd'));var jsforce=require(_0x5ac5('0xe'));var deskjs=require(_0x5ac5('0xf'));var toCsv=require(_0x5ac5('0xa'));var querystring=require(_0x5ac5('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x5ac5('0x11'));var qs=require(_0x5ac5('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x5ac5('0x13'));var logger=require(_0x5ac5('0x14'))('api');var utils=require(_0x5ac5('0x15'));var config=require(_0x5ac5('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x5ac5('0x17'))['db'];function respondWithStatusCode(_0x1d2b5f,_0x7c4f62){_0x7c4f62=_0x7c4f62||0xcc;return function(_0x13fad8){if(_0x13fad8){return _0x1d2b5f[_0x5ac5('0x18')](_0x7c4f62);}return _0x1d2b5f['status'](_0x7c4f62)[_0x5ac5('0x19')]();};}function respondWithResult(_0x56db18,_0x1ce256){_0x1ce256=_0x1ce256||0xc8;return function(_0x40ee8a){if(_0x40ee8a){return _0x56db18['status'](_0x1ce256)[_0x5ac5('0x1a')](_0x40ee8a);}};}function respondWithFilteredResult(_0x57377b,_0x2a145d){return function(_0x340195){if(_0x340195){var _0x30244d=typeof _0x2a145d[_0x5ac5('0x1b')]===_0x5ac5('0x1c')&&typeof _0x2a145d[_0x5ac5('0x1d')]===_0x5ac5('0x1c');var _0x5510ef=_0x340195[_0x5ac5('0x1e')];var _0x5364a6=_0x30244d?0x0:_0x2a145d[_0x5ac5('0x1b')];var _0x14d164=_0x30244d?_0x340195['count']:_0x2a145d[_0x5ac5('0x1b')]+_0x2a145d['limit'];var _0x264422;if(_0x14d164>=_0x5510ef){_0x14d164=_0x5510ef;_0x264422=0xc8;}else{_0x264422=0xce;}_0x57377b['status'](_0x264422);return _0x57377b['set'](_0x5ac5('0x1f'),_0x5364a6+'-'+_0x14d164+'/'+_0x5510ef)['json'](_0x340195);}return null;};}function patchUpdates(_0x39f3cf){return function(_0x3cb669){try{jsonpatch['apply'](_0x3cb669,_0x39f3cf,!![]);}catch(_0x4066f5){return BPromise['reject'](_0x4066f5);}return _0x3cb669[_0x5ac5('0x20')]();};}function saveUpdates(_0x40bdbc,_0x47993e){return function(_0x47a898){if(_0x47a898){return _0x47a898[_0x5ac5('0x21')](_0x40bdbc)[_0x5ac5('0x22')](function(_0x400308){return _0x400308;});}return null;};}function removeEntity(_0x182683,_0xee1c62){return function(_0x4dec2f){if(_0x4dec2f){return _0x4dec2f[_0x5ac5('0x23')]()[_0x5ac5('0x22')](function(){_0x182683[_0x5ac5('0x24')](0xcc)[_0x5ac5('0x19')]();});}};}function handleEntityNotFound(_0x4b81e2,_0x22398f){return function(_0x4eda97){if(!_0x4eda97){_0x4b81e2[_0x5ac5('0x18')](0x194);}return _0x4eda97;};}function handleError(_0x74f32b,_0x1d78cf){_0x1d78cf=_0x1d78cf||0x1f4;return function(_0x2cb82f){logger[_0x5ac5('0x25')](_0x2cb82f[_0x5ac5('0x26')]);if(_0x2cb82f['name']){delete _0x2cb82f[_0x5ac5('0x27')];}_0x74f32b['status'](_0x1d78cf)[_0x5ac5('0x28')](_0x2cb82f);};}exports[_0x5ac5('0x29')]=function(_0x35535f,_0x509db7){var _0x283c41={},_0x229941={},_0x21df31={'count':0x0,'rows':[]};var _0x21307c=_['map'](db[_0x5ac5('0x2a')]['rawAttributes'],function(_0x3414ba){return{'name':_0x3414ba[_0x5ac5('0x2b')],'type':_0x3414ba[_0x5ac5('0x2c')][_0x5ac5('0x2d')]};});_0x229941[_0x5ac5('0x2e')]=_['map'](_0x21307c,_0x5ac5('0x27'));_0x229941[_0x5ac5('0x2f')]=_[_0x5ac5('0x30')](_0x35535f['query']);_0x229941[_0x5ac5('0x31')]=_['intersection'](_0x229941[_0x5ac5('0x2e')],_0x229941[_0x5ac5('0x2f')]);_0x283c41[_0x5ac5('0x32')]=_[_0x5ac5('0x33')](_0x229941[_0x5ac5('0x2e')],qs['fields'](_0x35535f[_0x5ac5('0x2f')]['fields']));_0x283c41[_0x5ac5('0x32')]=_0x283c41['attributes'][_0x5ac5('0x34')]?_0x283c41[_0x5ac5('0x32')]:_0x229941['model'];if(!_0x35535f[_0x5ac5('0x2f')][_0x5ac5('0x35')]('nolimit')){_0x283c41['limit']=qs[_0x5ac5('0x1d')](_0x35535f[_0x5ac5('0x2f')][_0x5ac5('0x1d')]);_0x283c41[_0x5ac5('0x1b')]=qs[_0x5ac5('0x1b')](_0x35535f[_0x5ac5('0x2f')]['offset']);}_0x283c41['order']=qs['sort'](_0x35535f[_0x5ac5('0x2f')][_0x5ac5('0x36')]);_0x283c41['where']=qs[_0x5ac5('0x31')](_[_0x5ac5('0x37')](_0x35535f[_0x5ac5('0x2f')],_0x229941[_0x5ac5('0x31')]),_0x21307c);if(_0x35535f[_0x5ac5('0x2f')][_0x5ac5('0x38')]){_0x283c41[_0x5ac5('0x39')]=_[_0x5ac5('0x3a')](_0x283c41[_0x5ac5('0x39')],{'$or':_['map'](_0x21307c,function(_0x1b991e){if(_0x1b991e['type']!==_0x5ac5('0x3b')){var _0x432740={};_0x432740[_0x1b991e[_0x5ac5('0x27')]]={'$like':'%'+_0x35535f[_0x5ac5('0x2f')][_0x5ac5('0x38')]+'%'};return _0x432740;}})});}_0x283c41=_[_0x5ac5('0x3a')]({},_0x283c41,_0x35535f[_0x5ac5('0x3c')]);var _0x37cfad={'where':_0x283c41[_0x5ac5('0x39')]};return db['VtigerConfiguration'][_0x5ac5('0x1e')](_0x37cfad)[_0x5ac5('0x22')](function(_0x4c245b){_0x21df31['count']=_0x4c245b;if(_0x35535f[_0x5ac5('0x2f')]['includeAll']){_0x283c41[_0x5ac5('0x3d')]=[{'all':!![]}];}return db[_0x5ac5('0x2a')]['findAll'](_0x283c41);})['then'](function(_0x1e261d){_0x21df31[_0x5ac5('0x3e')]=_0x1e261d;return _0x21df31;})[_0x5ac5('0x22')](respondWithFilteredResult(_0x509db7,_0x283c41))[_0x5ac5('0x3f')](handleError(_0x509db7,null));};exports[_0x5ac5('0x40')]=function(_0x34bd04,_0x151c5e){var _0x5a86a0={'raw':![],'where':{'id':_0x34bd04[_0x5ac5('0x41')]['id']}},_0x1d4ef5={};_0x1d4ef5[_0x5ac5('0x2e')]=_[_0x5ac5('0x30')](db[_0x5ac5('0x2a')][_0x5ac5('0x42')]);_0x1d4ef5['query']=_[_0x5ac5('0x30')](_0x34bd04[_0x5ac5('0x2f')]);_0x1d4ef5[_0x5ac5('0x31')]=_[_0x5ac5('0x33')](_0x1d4ef5['model'],_0x1d4ef5[_0x5ac5('0x2f')]);_0x5a86a0[_0x5ac5('0x32')]=_[_0x5ac5('0x33')](_0x1d4ef5['model'],qs['fields'](_0x34bd04[_0x5ac5('0x2f')][_0x5ac5('0x43')]));_0x5a86a0[_0x5ac5('0x32')]=_0x5a86a0[_0x5ac5('0x32')]['length']?_0x5a86a0[_0x5ac5('0x32')]:_0x1d4ef5['model'];if(_0x34bd04[_0x5ac5('0x2f')][_0x5ac5('0x44')]){_0x5a86a0['include']=[{'all':!![]}];}_0x5a86a0=_[_0x5ac5('0x3a')]({},_0x5a86a0,_0x34bd04['options']);return db[_0x5ac5('0x2a')][_0x5ac5('0x45')](_0x5a86a0)[_0x5ac5('0x22')](handleEntityNotFound(_0x151c5e,null))['then'](respondWithResult(_0x151c5e,null))['catch'](handleError(_0x151c5e,null));};exports[_0x5ac5('0x46')]=function(_0x1229c3,_0xd6ae55){return db[_0x5ac5('0x2a')][_0x5ac5('0x46')](_0x1229c3[_0x5ac5('0x47')],{})[_0x5ac5('0x22')](respondWithResult(_0xd6ae55,0xc9))[_0x5ac5('0x3f')](handleError(_0xd6ae55,null));};exports[_0x5ac5('0x21')]=function(_0x536765,_0x2d6aa5){if(_0x536765[_0x5ac5('0x47')]['id']){delete _0x536765[_0x5ac5('0x47')]['id'];}return db['VtigerConfiguration']['find']({'where':{'id':_0x536765[_0x5ac5('0x41')]['id']}})[_0x5ac5('0x22')](handleEntityNotFound(_0x2d6aa5,null))[_0x5ac5('0x22')](saveUpdates(_0x536765['body'],null))[_0x5ac5('0x22')](respondWithResult(_0x2d6aa5,null))[_0x5ac5('0x3f')](handleError(_0x2d6aa5,null));};exports[_0x5ac5('0x23')]=function(_0x2a3396,_0x326f60){return db[_0x5ac5('0x2a')][_0x5ac5('0x45')]({'where':{'id':_0x2a3396['params']['id']}})['then'](handleEntityNotFound(_0x326f60,null))['then'](removeEntity(_0x326f60,null))[_0x5ac5('0x3f')](handleError(_0x326f60,null));};exports[_0x5ac5('0x48')]=function(_0xc76fbd,_0x503623,_0x1973f6){var _0x31345e={};var _0x270825={};var _0x286304;var _0x137ec3;return db['VtigerConfiguration']['findOne']({'where':{'id':_0xc76fbd['params']['id']}})[_0x5ac5('0x22')](handleEntityNotFound(_0x503623,null))[_0x5ac5('0x22')](function(_0x307827){if(_0x307827){_0x286304=_0x307827;_0x270825[_0x5ac5('0x2e')]=_[_0x5ac5('0x30')](db[_0x5ac5('0x49')][_0x5ac5('0x42')]);_0x270825[_0x5ac5('0x2f')]=_[_0x5ac5('0x30')](_0xc76fbd[_0x5ac5('0x2f')]);_0x270825[_0x5ac5('0x31')]=_[_0x5ac5('0x33')](_0x270825[_0x5ac5('0x2e')],_0x270825[_0x5ac5('0x2f')]);_0x31345e[_0x5ac5('0x32')]=_['intersection'](_0x270825[_0x5ac5('0x2e')],qs[_0x5ac5('0x43')](_0xc76fbd['query'][_0x5ac5('0x43')]));_0x31345e[_0x5ac5('0x32')]=_0x31345e[_0x5ac5('0x32')][_0x5ac5('0x34')]?_0x31345e[_0x5ac5('0x32')]:_0x270825[_0x5ac5('0x2e')];_0x31345e['order']=qs[_0x5ac5('0x36')](_0xc76fbd[_0x5ac5('0x2f')][_0x5ac5('0x36')]);_0x31345e['where']=qs[_0x5ac5('0x31')](_[_0x5ac5('0x37')](_0xc76fbd['query'],_0x270825[_0x5ac5('0x31')]));if(_0xc76fbd[_0x5ac5('0x2f')]['filter']){_0x31345e['where']=_['merge'](_0x31345e[_0x5ac5('0x39')],{'$or':_[_0x5ac5('0x4a')](_0x31345e[_0x5ac5('0x32')],function(_0x6df231){var _0x465621={};_0x465621[_0x6df231]={'$like':'%'+_0xc76fbd[_0x5ac5('0x2f')]['filter']+'%'};return _0x465621;})});}_0x31345e=_[_0x5ac5('0x3a')]({},_0x31345e,_0xc76fbd[_0x5ac5('0x3c')]);return _0x286304[_0x5ac5('0x48')](_0x31345e);}})[_0x5ac5('0x22')](function(_0x1f9b9b){if(_0x1f9b9b){_0x137ec3=_0x1f9b9b['length'];if(!_0xc76fbd['query']['hasOwnProperty'](_0x5ac5('0x4b'))){_0x31345e[_0x5ac5('0x1d')]=qs[_0x5ac5('0x1d')](_0xc76fbd[_0x5ac5('0x2f')]['limit']);_0x31345e[_0x5ac5('0x1b')]=qs[_0x5ac5('0x1b')](_0xc76fbd[_0x5ac5('0x2f')]['offset']);}return _0x286304['getFields'](_0x31345e);}})['then'](function(_0x2190e2){if(_0x2190e2){return _0x2190e2?{'count':_0x137ec3,'rows':_0x2190e2}:null;}})[_0x5ac5('0x22')](respondWithResult(_0x503623,null))[_0x5ac5('0x3f')](handleError(_0x503623,null));};exports[_0x5ac5('0x4c')]=function(_0x387cab,_0x3b7e70,_0x53a641){var _0x8ce51b={};var _0x5532d6={};var _0x492179;var _0x3eda7f;return db[_0x5ac5('0x2a')][_0x5ac5('0x4d')]({'where':{'id':_0x387cab[_0x5ac5('0x41')]['id']}})[_0x5ac5('0x22')](handleEntityNotFound(_0x3b7e70,null))[_0x5ac5('0x22')](function(_0xb02e95){if(_0xb02e95){_0x492179=_0xb02e95;_0x5532d6[_0x5ac5('0x2e')]=_[_0x5ac5('0x30')](db[_0x5ac5('0x49')][_0x5ac5('0x42')]);_0x5532d6[_0x5ac5('0x2f')]=_[_0x5ac5('0x30')](_0x387cab[_0x5ac5('0x2f')]);_0x5532d6[_0x5ac5('0x31')]=_[_0x5ac5('0x33')](_0x5532d6[_0x5ac5('0x2e')],_0x5532d6[_0x5ac5('0x2f')]);_0x8ce51b[_0x5ac5('0x32')]=_[_0x5ac5('0x33')](_0x5532d6[_0x5ac5('0x2e')],qs['fields'](_0x387cab[_0x5ac5('0x2f')]['fields']));_0x8ce51b[_0x5ac5('0x32')]=_0x8ce51b['attributes'][_0x5ac5('0x34')]?_0x8ce51b['attributes']:_0x5532d6['model'];_0x8ce51b[_0x5ac5('0x4e')]=qs['sort'](_0x387cab[_0x5ac5('0x2f')][_0x5ac5('0x36')]);_0x8ce51b['where']=qs[_0x5ac5('0x31')](_[_0x5ac5('0x37')](_0x387cab[_0x5ac5('0x2f')],_0x5532d6[_0x5ac5('0x31')]));if(_0x387cab[_0x5ac5('0x2f')][_0x5ac5('0x38')]){_0x8ce51b['where']=_[_0x5ac5('0x3a')](_0x8ce51b['where'],{'$or':_[_0x5ac5('0x4a')](_0x8ce51b[_0x5ac5('0x32')],function(_0xb7aa89){var _0x4dd4a4={};_0x4dd4a4[_0xb7aa89]={'$like':'%'+_0x387cab[_0x5ac5('0x2f')][_0x5ac5('0x38')]+'%'};return _0x4dd4a4;})});}_0x8ce51b=_[_0x5ac5('0x3a')]({},_0x8ce51b,_0x387cab['options']);return _0x492179[_0x5ac5('0x4c')](_0x8ce51b);}})[_0x5ac5('0x22')](function(_0x36b2c8){if(_0x36b2c8){_0x3eda7f=_0x36b2c8[_0x5ac5('0x34')];if(!_0x387cab[_0x5ac5('0x2f')]['hasOwnProperty']('nolimit')){_0x8ce51b[_0x5ac5('0x1d')]=qs[_0x5ac5('0x1d')](_0x387cab[_0x5ac5('0x2f')][_0x5ac5('0x1d')]);_0x8ce51b[_0x5ac5('0x1b')]=qs[_0x5ac5('0x1b')](_0x387cab['query'][_0x5ac5('0x1b')]);}return _0x492179[_0x5ac5('0x4c')](_0x8ce51b);}})[_0x5ac5('0x22')](function(_0x38b1a4){if(_0x38b1a4){return _0x38b1a4?{'count':_0x3eda7f,'rows':_0x38b1a4}:null;}})[_0x5ac5('0x22')](respondWithResult(_0x3b7e70,null))[_0x5ac5('0x3f')](handleError(_0x3b7e70,null));};exports[_0x5ac5('0x4f')]=function(_0x4189c5,_0x422f43,_0x2aae0c){var _0x579499={};var _0x38e4fc={};var _0x173656;var _0x48cad2;return db['VtigerConfiguration'][_0x5ac5('0x4d')]({'where':{'id':_0x4189c5[_0x5ac5('0x41')]['id']}})[_0x5ac5('0x22')](handleEntityNotFound(_0x422f43,null))[_0x5ac5('0x22')](function(_0x33143d){if(_0x33143d){_0x173656=_0x33143d;_0x38e4fc[_0x5ac5('0x2e')]=_[_0x5ac5('0x30')](db['VtigerField'][_0x5ac5('0x42')]);_0x38e4fc['query']=_[_0x5ac5('0x30')](_0x4189c5[_0x5ac5('0x2f')]);_0x38e4fc[_0x5ac5('0x31')]=_[_0x5ac5('0x33')](_0x38e4fc['model'],_0x38e4fc[_0x5ac5('0x2f')]);_0x579499['attributes']=_[_0x5ac5('0x33')](_0x38e4fc[_0x5ac5('0x2e')],qs[_0x5ac5('0x43')](_0x4189c5['query'][_0x5ac5('0x43')]));_0x579499['attributes']=_0x579499[_0x5ac5('0x32')][_0x5ac5('0x34')]?_0x579499[_0x5ac5('0x32')]:_0x38e4fc[_0x5ac5('0x2e')];_0x579499['order']=qs['sort'](_0x4189c5[_0x5ac5('0x2f')]['sort']);_0x579499['where']=qs[_0x5ac5('0x31')](_[_0x5ac5('0x37')](_0x4189c5[_0x5ac5('0x2f')],_0x38e4fc[_0x5ac5('0x31')]));if(_0x4189c5['query'][_0x5ac5('0x38')]){_0x579499[_0x5ac5('0x39')]=_[_0x5ac5('0x3a')](_0x579499['where'],{'$or':_[_0x5ac5('0x4a')](_0x579499[_0x5ac5('0x32')],function(_0x516c32){var _0x164709={};_0x164709[_0x516c32]={'$like':'%'+_0x4189c5['query'][_0x5ac5('0x38')]+'%'};return _0x164709;})});}_0x579499=_[_0x5ac5('0x3a')]({},_0x579499,_0x4189c5[_0x5ac5('0x3c')]);return _0x173656[_0x5ac5('0x4f')](_0x579499);}})['then'](function(_0x375fd3){if(_0x375fd3){_0x48cad2=_0x375fd3['length'];if(!_0x4189c5[_0x5ac5('0x2f')][_0x5ac5('0x35')](_0x5ac5('0x4b'))){_0x579499['limit']=qs[_0x5ac5('0x1d')](_0x4189c5[_0x5ac5('0x2f')][_0x5ac5('0x1d')]);_0x579499[_0x5ac5('0x1b')]=qs[_0x5ac5('0x1b')](_0x4189c5[_0x5ac5('0x2f')]['offset']);}return _0x173656[_0x5ac5('0x4f')](_0x579499);}})[_0x5ac5('0x22')](function(_0x4ada39){if(_0x4ada39){return _0x4ada39?{'count':_0x48cad2,'rows':_0x4ada39}:null;}})[_0x5ac5('0x22')](respondWithResult(_0x422f43,null))[_0x5ac5('0x3f')](handleError(_0x422f43,null));};