89b2f8276992f7946aa4d3d0b2b5250e6e948abb
[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 _0xa509=['count','includeAll','include','rows','catch','show','rawAttributes','filters','find','create','body','params','getFields','findOne','VtigerField','getSubjects','getDescriptions','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','sox','ejs','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','VtigerConfiguration,\x20%s,\x20%s','debug','VtigerConfiguration,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','info','result','end','status','json','limit','Content-Range','apply','reject','save','update','destroy','sendStatus','stack','name','send','map','VtigerConfiguration','model','keys','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','offset','order','sort','where','pick','filter','merge','type','VIRTUAL','options'];(function(_0x28c6ee,_0x4135a5){var _0x1abfda=function(_0x5d51ea){while(--_0x5d51ea){_0x28c6ee['push'](_0x28c6ee['shift']());}};_0x1abfda(++_0x4135a5);}(_0xa509,0x1ce));var _0x9a50=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0xa509[_0x20a584];return _0x4b41a8;};'use strict';var pdf=require(_0x9a50('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x9a50('0x1'));var zipdir=require(_0x9a50('0x2'));var jsonpatch=require(_0x9a50('0x3'));var rp=require(_0x9a50('0x4'));var moment=require('moment');var BPromise=require(_0x9a50('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x9a50('0x6'));var csv=require('to-csv');var ejs=require(_0x9a50('0x7'));var fs=require('fs');var _=require('lodash');var squel=require(_0x9a50('0x8'));var crypto=require('crypto');var jsforce=require(_0x9a50('0x9'));var deskjs=require(_0x9a50('0xa'));var toCsv=require(_0x9a50('0xb'));var querystring=require(_0x9a50('0xc'));var Papa=require(_0x9a50('0xd'));var Redis=require(_0x9a50('0xe'));var authService=require(_0x9a50('0xf'));var qs=require(_0x9a50('0x10'));var as=require(_0x9a50('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9a50('0x12'))(_0x9a50('0x13'));var utils=require('../../config/utils');var config=require(_0x9a50('0x14'));var licenseUtil=require(_0x9a50('0x15'));var db=require(_0x9a50('0x16'))['db'];var jayson=require(_0x9a50('0x17'));var client=jayson[_0x9a50('0x18')][_0x9a50('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x476ebc,_0xd3d76c,_0x4a661d,_0x36a69b){return new BPromise(function(_0x5557c0,_0x158f41){var _0x44b091=_0x36a69b||client;return _0x44b091[_0x9a50('0x1a')](_0x476ebc,_0x4a661d)[_0x9a50('0x1b')](function(_0x2f276b){logger['info'](_0x9a50('0x1c'),_0xd3d76c,'request\x20sent');logger[_0x9a50('0x1d')](_0x9a50('0x1e'),_0xd3d76c,_0x9a50('0x1f'),JSON['stringify'](_0x2f276b));if(_0x2f276b[_0x9a50('0x20')]){if(_0x2f276b[_0x9a50('0x20')][_0x9a50('0x21')]===0x1f4){logger[_0x9a50('0x20')]('VtigerConfiguration,\x20%s,\x20%s',_0xd3d76c,_0x2f276b['error']['message']);return _0x158f41(_0x2f276b[_0x9a50('0x20')]['message']);}logger[_0x9a50('0x20')](_0x9a50('0x1c'),_0xd3d76c,_0x2f276b[_0x9a50('0x20')][_0x9a50('0x22')]);return _0x5557c0(_0x2f276b['error'][_0x9a50('0x22')]);}else{logger[_0x9a50('0x23')](_0x9a50('0x1c'),_0xd3d76c,'request\x20sent');_0x5557c0(_0x2f276b[_0x9a50('0x24')][_0x9a50('0x22')]);}})['catch'](function(_0x130e5d){logger[_0x9a50('0x20')]('VtigerConfiguration,\x20%s,\x20%s',_0xd3d76c,_0x130e5d);_0x158f41(_0x130e5d);});});}function respondWithStatusCode(_0x1f6619,_0x4463a3){_0x4463a3=_0x4463a3||0xcc;return function(_0x493028){if(_0x493028){return _0x1f6619['sendStatus'](_0x4463a3);}return _0x1f6619['status'](_0x4463a3)[_0x9a50('0x25')]();};}function respondWithResult(_0x1257c2,_0x2dd9a2){_0x2dd9a2=_0x2dd9a2||0xc8;return function(_0x41286b){if(_0x41286b){return _0x1257c2[_0x9a50('0x26')](_0x2dd9a2)[_0x9a50('0x27')](_0x41286b);}};}function respondWithFilteredResult(_0x8eb835,_0x1aa3c1){return function(_0x35b8ac){if(_0x35b8ac){var _0x1fd974=_0x35b8ac['count'],_0x48276f=_0x1aa3c1['offset'],_0x2a9191=_0x1aa3c1['offset']+_0x1aa3c1[_0x9a50('0x28')],_0x3bc669;if(_0x2a9191>=_0x1fd974){_0x2a9191=_0x1fd974;_0x3bc669=0xc8;}else{_0x3bc669=0xce;}_0x8eb835[_0x9a50('0x26')](_0x3bc669);return _0x8eb835['set'](_0x9a50('0x29'),_0x48276f+'-'+_0x2a9191+'/'+_0x1fd974)['json'](_0x35b8ac);}return null;};}function patchUpdates(_0x1ca235){return function(_0x3d0886){try{jsonpatch[_0x9a50('0x2a')](_0x3d0886,_0x1ca235,!![]);}catch(_0x3530d2){return BPromise[_0x9a50('0x2b')](_0x3530d2);}return _0x3d0886[_0x9a50('0x2c')]();};}function saveUpdates(_0x2c8c29,_0x3a763c){return function(_0x6208eb){if(_0x6208eb){return _0x6208eb[_0x9a50('0x2d')](_0x2c8c29)[_0x9a50('0x1b')](function(_0xdaa2b7){return _0xdaa2b7;});}return null;};}function removeEntity(_0x1c684f,_0xe3ff83){return function(_0x5463ed){if(_0x5463ed){return _0x5463ed[_0x9a50('0x2e')]()['then'](function(){_0x1c684f['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x39bec1,_0x134357){return function(_0x58ae9a){if(!_0x58ae9a){_0x39bec1[_0x9a50('0x2f')](0x194);}return _0x58ae9a;};}function handleError(_0x4d0bfe,_0x1f01ad){_0x1f01ad=_0x1f01ad||0x1f4;return function(_0x59e954){logger['error'](_0x59e954[_0x9a50('0x30')]);if(_0x59e954[_0x9a50('0x31')]){delete _0x59e954[_0x9a50('0x31')];}_0x4d0bfe[_0x9a50('0x26')](_0x1f01ad)[_0x9a50('0x32')](_0x59e954);};}exports['index']=function(_0x25463e,_0x5743cb){var _0x35ef41={},_0x337cd9={},_0x33f969={'count':0x0,'rows':[]};var _0x320c8f=_[_0x9a50('0x33')](db[_0x9a50('0x34')]['rawAttributes'],function(_0x2fe4a7){return{'name':_0x2fe4a7['fieldName'],'type':_0x2fe4a7['type']['key']};});_0x337cd9[_0x9a50('0x35')]=_[_0x9a50('0x33')](_0x320c8f,_0x9a50('0x31'));_0x337cd9['query']=_[_0x9a50('0x36')](_0x25463e[_0x9a50('0x37')]);_0x337cd9['filters']=_[_0x9a50('0x38')](_0x337cd9[_0x9a50('0x35')],_0x337cd9[_0x9a50('0x37')]);_0x35ef41['attributes']=_[_0x9a50('0x38')](_0x337cd9[_0x9a50('0x35')],qs[_0x9a50('0x39')](_0x25463e[_0x9a50('0x37')]['fields']));_0x35ef41['attributes']=_0x35ef41[_0x9a50('0x3a')][_0x9a50('0x3b')]?_0x35ef41[_0x9a50('0x3a')]:_0x337cd9['model'];if(!_0x25463e[_0x9a50('0x37')][_0x9a50('0x3c')](_0x9a50('0x3d'))){_0x35ef41[_0x9a50('0x28')]=qs[_0x9a50('0x28')](_0x25463e['query'][_0x9a50('0x28')]);_0x35ef41[_0x9a50('0x3e')]=qs[_0x9a50('0x3e')](_0x25463e['query']['offset']);}_0x35ef41[_0x9a50('0x3f')]=qs[_0x9a50('0x40')](_0x25463e[_0x9a50('0x37')][_0x9a50('0x40')]);_0x35ef41[_0x9a50('0x41')]=qs['filters'](_[_0x9a50('0x42')](_0x25463e[_0x9a50('0x37')],_0x337cd9['filters']),_0x320c8f);if(_0x25463e[_0x9a50('0x37')][_0x9a50('0x43')]){_0x35ef41[_0x9a50('0x41')]=_[_0x9a50('0x44')](_0x35ef41[_0x9a50('0x41')],{'$or':_[_0x9a50('0x33')](_0x320c8f,function(_0x36482b){if(_0x36482b[_0x9a50('0x45')]!==_0x9a50('0x46')){var _0x24c3ee={};_0x24c3ee[_0x36482b[_0x9a50('0x31')]]={'$like':'%'+_0x25463e['query'][_0x9a50('0x43')]+'%'};return _0x24c3ee;}})});}_0x35ef41=_['merge']({},_0x35ef41,_0x25463e[_0x9a50('0x47')]);var _0x22f21c={'where':_0x35ef41[_0x9a50('0x41')]};return db[_0x9a50('0x34')][_0x9a50('0x48')](_0x22f21c)[_0x9a50('0x1b')](function(_0x491c46){_0x33f969[_0x9a50('0x48')]=_0x491c46;if(_0x25463e[_0x9a50('0x37')][_0x9a50('0x49')]){_0x35ef41[_0x9a50('0x4a')]=[{'all':!![]}];}return db[_0x9a50('0x34')]['findAll'](_0x35ef41);})['then'](function(_0xa78f4b){_0x33f969[_0x9a50('0x4b')]=_0xa78f4b;return _0x33f969;})[_0x9a50('0x1b')](respondWithFilteredResult(_0x5743cb,_0x35ef41))[_0x9a50('0x4c')](handleError(_0x5743cb,null));};exports[_0x9a50('0x4d')]=function(_0x264677,_0x196439){var _0x1ff7b3={'raw':![],'where':{'id':_0x264677['params']['id']}},_0x3de063={};_0x3de063[_0x9a50('0x35')]=_[_0x9a50('0x36')](db[_0x9a50('0x34')][_0x9a50('0x4e')]);_0x3de063[_0x9a50('0x37')]=_[_0x9a50('0x36')](_0x264677[_0x9a50('0x37')]);_0x3de063[_0x9a50('0x4f')]=_[_0x9a50('0x38')](_0x3de063['model'],_0x3de063[_0x9a50('0x37')]);_0x1ff7b3[_0x9a50('0x3a')]=_[_0x9a50('0x38')](_0x3de063['model'],qs[_0x9a50('0x39')](_0x264677[_0x9a50('0x37')][_0x9a50('0x39')]));_0x1ff7b3[_0x9a50('0x3a')]=_0x1ff7b3['attributes'][_0x9a50('0x3b')]?_0x1ff7b3[_0x9a50('0x3a')]:_0x3de063[_0x9a50('0x35')];if(_0x264677[_0x9a50('0x37')]['includeAll']){_0x1ff7b3['include']=[{'all':!![]}];}_0x1ff7b3=_[_0x9a50('0x44')]({},_0x1ff7b3,_0x264677[_0x9a50('0x47')]);return db['VtigerConfiguration'][_0x9a50('0x50')](_0x1ff7b3)[_0x9a50('0x1b')](handleEntityNotFound(_0x196439,null))[_0x9a50('0x1b')](respondWithResult(_0x196439,null))['catch'](handleError(_0x196439,null));};exports[_0x9a50('0x51')]=function(_0xd3b750,_0x52e154){return db[_0x9a50('0x34')][_0x9a50('0x51')](_0xd3b750['body'],{})[_0x9a50('0x1b')](respondWithResult(_0x52e154,0xc9))[_0x9a50('0x4c')](handleError(_0x52e154,null));};exports[_0x9a50('0x2d')]=function(_0x4202b6,_0x8a2b95){if(_0x4202b6[_0x9a50('0x52')]['id']){delete _0x4202b6['body']['id'];}return db[_0x9a50('0x34')][_0x9a50('0x50')]({'where':{'id':_0x4202b6[_0x9a50('0x53')]['id']}})[_0x9a50('0x1b')](handleEntityNotFound(_0x8a2b95,null))[_0x9a50('0x1b')](saveUpdates(_0x4202b6[_0x9a50('0x52')],null))[_0x9a50('0x1b')](respondWithResult(_0x8a2b95,null))['catch'](handleError(_0x8a2b95,null));};exports['destroy']=function(_0x1502ad,_0x1c2b89){return db[_0x9a50('0x34')][_0x9a50('0x50')]({'where':{'id':_0x1502ad['params']['id']}})['then'](handleEntityNotFound(_0x1c2b89,null))['then'](removeEntity(_0x1c2b89,null))[_0x9a50('0x4c')](handleError(_0x1c2b89,null));};exports[_0x9a50('0x54')]=function(_0x29f15f,_0x55a4ca,_0x2dd400){var _0x2ac1b1={};var _0x539b20={};var _0x5e5597;var _0x2ab13c;return db[_0x9a50('0x34')][_0x9a50('0x55')]({'where':{'id':_0x29f15f['params']['id']}})[_0x9a50('0x1b')](handleEntityNotFound(_0x55a4ca,null))[_0x9a50('0x1b')](function(_0x1ed8d0){if(_0x1ed8d0){_0x5e5597=_0x1ed8d0;_0x539b20['model']=_[_0x9a50('0x36')](db[_0x9a50('0x56')][_0x9a50('0x4e')]);_0x539b20[_0x9a50('0x37')]=_[_0x9a50('0x36')](_0x29f15f[_0x9a50('0x37')]);_0x539b20[_0x9a50('0x4f')]=_[_0x9a50('0x38')](_0x539b20[_0x9a50('0x35')],_0x539b20['query']);_0x2ac1b1[_0x9a50('0x3a')]=_['intersection'](_0x539b20[_0x9a50('0x35')],qs[_0x9a50('0x39')](_0x29f15f[_0x9a50('0x37')][_0x9a50('0x39')]));_0x2ac1b1[_0x9a50('0x3a')]=_0x2ac1b1[_0x9a50('0x3a')]['length']?_0x2ac1b1[_0x9a50('0x3a')]:_0x539b20[_0x9a50('0x35')];_0x2ac1b1[_0x9a50('0x3f')]=qs[_0x9a50('0x40')](_0x29f15f[_0x9a50('0x37')][_0x9a50('0x40')]);_0x2ac1b1['where']=qs[_0x9a50('0x4f')](_[_0x9a50('0x42')](_0x29f15f[_0x9a50('0x37')],_0x539b20[_0x9a50('0x4f')]));if(_0x29f15f[_0x9a50('0x37')][_0x9a50('0x43')]){_0x2ac1b1[_0x9a50('0x41')]=_[_0x9a50('0x44')](_0x2ac1b1[_0x9a50('0x41')],{'$or':_[_0x9a50('0x33')](_0x2ac1b1[_0x9a50('0x3a')],function(_0x54afbd){var _0x2c689a={};_0x2c689a[_0x54afbd]={'$like':'%'+_0x29f15f['query']['filter']+'%'};return _0x2c689a;})});}_0x2ac1b1=_[_0x9a50('0x44')]({},_0x2ac1b1,_0x29f15f['options']);return _0x5e5597[_0x9a50('0x54')](_0x2ac1b1);}})[_0x9a50('0x1b')](function(_0x5acba9){if(_0x5acba9){_0x2ab13c=_0x5acba9[_0x9a50('0x3b')];if(!_0x29f15f[_0x9a50('0x37')][_0x9a50('0x3c')](_0x9a50('0x3d'))){_0x2ac1b1[_0x9a50('0x28')]=qs['limit'](_0x29f15f[_0x9a50('0x37')][_0x9a50('0x28')]);_0x2ac1b1[_0x9a50('0x3e')]=qs[_0x9a50('0x3e')](_0x29f15f['query']['offset']);}return _0x5e5597[_0x9a50('0x54')](_0x2ac1b1);}})[_0x9a50('0x1b')](function(_0x251d5f){if(_0x251d5f){return _0x251d5f?{'count':_0x2ab13c,'rows':_0x251d5f}:null;}})['then'](respondWithResult(_0x55a4ca,null))['catch'](handleError(_0x55a4ca,null));};exports['getSubjects']=function(_0x399db3,_0x105455,_0x334fd1){var _0x95af0d={};var _0x18ab48={};var _0x5270a1;var _0x1a99e2;return db['VtigerConfiguration'][_0x9a50('0x55')]({'where':{'id':_0x399db3[_0x9a50('0x53')]['id']}})[_0x9a50('0x1b')](handleEntityNotFound(_0x105455,null))['then'](function(_0x467c7c){if(_0x467c7c){_0x5270a1=_0x467c7c;_0x18ab48[_0x9a50('0x35')]=_[_0x9a50('0x36')](db[_0x9a50('0x56')]['rawAttributes']);_0x18ab48[_0x9a50('0x37')]=_[_0x9a50('0x36')](_0x399db3['query']);_0x18ab48[_0x9a50('0x4f')]=_[_0x9a50('0x38')](_0x18ab48[_0x9a50('0x35')],_0x18ab48[_0x9a50('0x37')]);_0x95af0d['attributes']=_['intersection'](_0x18ab48[_0x9a50('0x35')],qs[_0x9a50('0x39')](_0x399db3[_0x9a50('0x37')][_0x9a50('0x39')]));_0x95af0d[_0x9a50('0x3a')]=_0x95af0d[_0x9a50('0x3a')]['length']?_0x95af0d['attributes']:_0x18ab48[_0x9a50('0x35')];_0x95af0d[_0x9a50('0x3f')]=qs[_0x9a50('0x40')](_0x399db3[_0x9a50('0x37')][_0x9a50('0x40')]);_0x95af0d['where']=qs[_0x9a50('0x4f')](_['pick'](_0x399db3['query'],_0x18ab48[_0x9a50('0x4f')]));if(_0x399db3[_0x9a50('0x37')][_0x9a50('0x43')]){_0x95af0d['where']=_['merge'](_0x95af0d[_0x9a50('0x41')],{'$or':_['map'](_0x95af0d['attributes'],function(_0x346165){var _0x4e5e8c={};_0x4e5e8c[_0x346165]={'$like':'%'+_0x399db3[_0x9a50('0x37')][_0x9a50('0x43')]+'%'};return _0x4e5e8c;})});}_0x95af0d=_[_0x9a50('0x44')]({},_0x95af0d,_0x399db3[_0x9a50('0x47')]);return _0x5270a1['getSubjects'](_0x95af0d);}})['then'](function(_0x399fdf){if(_0x399fdf){_0x1a99e2=_0x399fdf[_0x9a50('0x3b')];if(!_0x399db3[_0x9a50('0x37')][_0x9a50('0x3c')](_0x9a50('0x3d'))){_0x95af0d['limit']=qs['limit'](_0x399db3[_0x9a50('0x37')]['limit']);_0x95af0d[_0x9a50('0x3e')]=qs[_0x9a50('0x3e')](_0x399db3[_0x9a50('0x37')][_0x9a50('0x3e')]);}return _0x5270a1[_0x9a50('0x57')](_0x95af0d);}})[_0x9a50('0x1b')](function(_0x5b196b){if(_0x5b196b){return _0x5b196b?{'count':_0x1a99e2,'rows':_0x5b196b}:null;}})[_0x9a50('0x1b')](respondWithResult(_0x105455,null))['catch'](handleError(_0x105455,null));};exports[_0x9a50('0x58')]=function(_0x556168,_0x1dc1ed,_0x134f97){var _0x15480b={};var _0x51be4f={};var _0x475191;var _0xa74a13;return db['VtigerConfiguration'][_0x9a50('0x55')]({'where':{'id':_0x556168[_0x9a50('0x53')]['id']}})['then'](handleEntityNotFound(_0x1dc1ed,null))['then'](function(_0x1f02dc){if(_0x1f02dc){_0x475191=_0x1f02dc;_0x51be4f[_0x9a50('0x35')]=_[_0x9a50('0x36')](db[_0x9a50('0x56')][_0x9a50('0x4e')]);_0x51be4f[_0x9a50('0x37')]=_['keys'](_0x556168[_0x9a50('0x37')]);_0x51be4f[_0x9a50('0x4f')]=_[_0x9a50('0x38')](_0x51be4f[_0x9a50('0x35')],_0x51be4f[_0x9a50('0x37')]);_0x15480b[_0x9a50('0x3a')]=_[_0x9a50('0x38')](_0x51be4f[_0x9a50('0x35')],qs[_0x9a50('0x39')](_0x556168[_0x9a50('0x37')][_0x9a50('0x39')]));_0x15480b[_0x9a50('0x3a')]=_0x15480b[_0x9a50('0x3a')]['length']?_0x15480b[_0x9a50('0x3a')]:_0x51be4f[_0x9a50('0x35')];_0x15480b[_0x9a50('0x3f')]=qs[_0x9a50('0x40')](_0x556168[_0x9a50('0x37')][_0x9a50('0x40')]);_0x15480b[_0x9a50('0x41')]=qs[_0x9a50('0x4f')](_['pick'](_0x556168[_0x9a50('0x37')],_0x51be4f[_0x9a50('0x4f')]));if(_0x556168[_0x9a50('0x37')][_0x9a50('0x43')]){_0x15480b[_0x9a50('0x41')]=_[_0x9a50('0x44')](_0x15480b['where'],{'$or':_['map'](_0x15480b[_0x9a50('0x3a')],function(_0x42c7a5){var _0x4c052c={};_0x4c052c[_0x42c7a5]={'$like':'%'+_0x556168[_0x9a50('0x37')]['filter']+'%'};return _0x4c052c;})});}_0x15480b=_[_0x9a50('0x44')]({},_0x15480b,_0x556168[_0x9a50('0x47')]);return _0x475191['getDescriptions'](_0x15480b);}})[_0x9a50('0x1b')](function(_0x42951f){if(_0x42951f){_0xa74a13=_0x42951f[_0x9a50('0x3b')];if(!_0x556168['query'][_0x9a50('0x3c')](_0x9a50('0x3d'))){_0x15480b['limit']=qs['limit'](_0x556168[_0x9a50('0x37')]['limit']);_0x15480b['offset']=qs[_0x9a50('0x3e')](_0x556168[_0x9a50('0x37')]['offset']);}return _0x475191[_0x9a50('0x58')](_0x15480b);}})['then'](function(_0x1f134e){if(_0x1f134e){return _0x1f134e?{'count':_0xa74a13,'rows':_0x1f134e}:null;}})[_0x9a50('0x1b')](respondWithResult(_0x1dc1ed,null))[_0x9a50('0x4c')](handleError(_0x1dc1ed,null));};