Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / intVtigerField / intVtigerField.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 _0xc439=['desk.js','querystring','ioredis','../../components/parsers/qs','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','then','destroy','end','error','stack','name','send','map','rawAttributes','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','VtigerField','includeAll','include','rows','catch','show','params','create','body','find','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce'];(function(_0x47ae01,_0x2dd0b0){var _0x15b3b7=function(_0x540ebc){while(--_0x540ebc){_0x47ae01['push'](_0x47ae01['shift']());}};_0x15b3b7(++_0x2dd0b0);}(_0xc439,0x81));var _0x9c43=function(_0x110faa,_0x26fe69){_0x110faa=_0x110faa-0x0;var _0x4b8e3c=_0xc439[_0x110faa];return _0x4b8e3c;};'use strict';var emlformat=require(_0x9c43('0x0'));var rimraf=require(_0x9c43('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9c43('0x2'));var rp=require('request-promise');var moment=require(_0x9c43('0x3'));var BPromise=require(_0x9c43('0x4'));var Mustache=require(_0x9c43('0x5'));var util=require(_0x9c43('0x6'));var path=require(_0x9c43('0x7'));var sox=require('sox');var csv=require(_0x9c43('0x8'));var ejs=require(_0x9c43('0x9'));var fs=require('fs');var fs_extra=require(_0x9c43('0xa'));var _=require(_0x9c43('0xb'));var squel=require(_0x9c43('0xc'));var crypto=require(_0x9c43('0xd'));var jsforce=require(_0x9c43('0xe'));var deskjs=require(_0x9c43('0xf'));var toCsv=require(_0x9c43('0x8'));var querystring=require(_0x9c43('0x10'));var Papa=require('papaparse');var Redis=require(_0x9c43('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x9c43('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x9c43('0x13'));var config=require(_0x9c43('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x9c43('0x15'))['db'];function respondWithStatusCode(_0x22539e,_0x20ad28){_0x20ad28=_0x20ad28||0xcc;return function(_0x24733f){if(_0x24733f){return _0x22539e[_0x9c43('0x16')](_0x20ad28);}return _0x22539e[_0x9c43('0x17')](_0x20ad28)['end']();};}function respondWithResult(_0x1e87f8,_0x35cae0){_0x35cae0=_0x35cae0||0xc8;return function(_0x2df3e3){if(_0x2df3e3){return _0x1e87f8[_0x9c43('0x17')](_0x35cae0)[_0x9c43('0x18')](_0x2df3e3);}};}function respondWithFilteredResult(_0x598366,_0x64e69c){return function(_0x57e558){if(_0x57e558){var _0x3f39c7=typeof _0x64e69c[_0x9c43('0x19')]==='undefined'&&typeof _0x64e69c[_0x9c43('0x1a')]===_0x9c43('0x1b');var _0xe4879d=_0x57e558[_0x9c43('0x1c')];var _0x378945=_0x3f39c7?0x0:_0x64e69c[_0x9c43('0x19')];var _0x4c46da=_0x3f39c7?_0x57e558[_0x9c43('0x1c')]:_0x64e69c[_0x9c43('0x19')]+_0x64e69c[_0x9c43('0x1a')];var _0x364797;if(_0x4c46da>=_0xe4879d){_0x4c46da=_0xe4879d;_0x364797=0xc8;}else{_0x364797=0xce;}_0x598366['status'](_0x364797);return _0x598366['set'](_0x9c43('0x1d'),_0x378945+'-'+_0x4c46da+'/'+_0xe4879d)[_0x9c43('0x18')](_0x57e558);}return null;};}function patchUpdates(_0x2352eb){return function(_0x32861f){try{jsonpatch[_0x9c43('0x1e')](_0x32861f,_0x2352eb,!![]);}catch(_0x40e368){return BPromise[_0x9c43('0x1f')](_0x40e368);}return _0x32861f[_0x9c43('0x20')]();};}function saveUpdates(_0x56522f,_0x4ada44){return function(_0x4a2166){if(_0x4a2166){return _0x4a2166[_0x9c43('0x21')](_0x56522f)[_0x9c43('0x22')](function(_0x696c8a){return _0x696c8a;});}return null;};}function removeEntity(_0xbbd1bb,_0x2a15c6){return function(_0x29c347){if(_0x29c347){return _0x29c347[_0x9c43('0x23')]()[_0x9c43('0x22')](function(){_0xbbd1bb[_0x9c43('0x17')](0xcc)[_0x9c43('0x24')]();});}};}function handleEntityNotFound(_0x78db10,_0x238075){return function(_0x17ed07){if(!_0x17ed07){_0x78db10[_0x9c43('0x16')](0x194);}return _0x17ed07;};}function handleError(_0x355c65,_0x347c8d){_0x347c8d=_0x347c8d||0x1f4;return function(_0x264f13){logger[_0x9c43('0x25')](_0x264f13[_0x9c43('0x26')]);if(_0x264f13['name']){delete _0x264f13[_0x9c43('0x27')];}_0x355c65[_0x9c43('0x17')](_0x347c8d)[_0x9c43('0x28')](_0x264f13);};}exports['index']=function(_0x2ed0bb,_0x220c29){var _0x35950c={},_0x393362={},_0xd6b134={'count':0x0,'rows':[]};var _0x401055=_[_0x9c43('0x29')](db['VtigerField'][_0x9c43('0x2a')],function(_0x1d8c2a){return{'name':_0x1d8c2a[_0x9c43('0x2b')],'type':_0x1d8c2a[_0x9c43('0x2c')][_0x9c43('0x2d')]};});_0x393362['model']=_[_0x9c43('0x29')](_0x401055,'name');_0x393362['query']=_[_0x9c43('0x2e')](_0x2ed0bb[_0x9c43('0x2f')]);_0x393362[_0x9c43('0x30')]=_[_0x9c43('0x31')](_0x393362[_0x9c43('0x32')],_0x393362['query']);_0x35950c[_0x9c43('0x33')]=_[_0x9c43('0x31')](_0x393362['model'],qs[_0x9c43('0x34')](_0x2ed0bb[_0x9c43('0x2f')][_0x9c43('0x34')]));_0x35950c[_0x9c43('0x33')]=_0x35950c[_0x9c43('0x33')][_0x9c43('0x35')]?_0x35950c[_0x9c43('0x33')]:_0x393362['model'];if(!_0x2ed0bb[_0x9c43('0x2f')][_0x9c43('0x36')](_0x9c43('0x37'))){_0x35950c['limit']=qs[_0x9c43('0x1a')](_0x2ed0bb[_0x9c43('0x2f')]['limit']);_0x35950c[_0x9c43('0x19')]=qs[_0x9c43('0x19')](_0x2ed0bb[_0x9c43('0x2f')][_0x9c43('0x19')]);}_0x35950c[_0x9c43('0x38')]=qs['sort'](_0x2ed0bb[_0x9c43('0x2f')][_0x9c43('0x39')]);_0x35950c[_0x9c43('0x3a')]=qs['filters'](_['pick'](_0x2ed0bb[_0x9c43('0x2f')],_0x393362[_0x9c43('0x30')]),_0x401055);if(_0x2ed0bb[_0x9c43('0x2f')][_0x9c43('0x3b')]){_0x35950c[_0x9c43('0x3a')]=_['merge'](_0x35950c[_0x9c43('0x3a')],{'$or':_[_0x9c43('0x29')](_0x401055,function(_0x4983a1){if(_0x4983a1[_0x9c43('0x2c')]!=='VIRTUAL'){var _0x1bb4d9={};_0x1bb4d9[_0x4983a1[_0x9c43('0x27')]]={'$like':'%'+_0x2ed0bb['query']['filter']+'%'};return _0x1bb4d9;}})});}_0x35950c=_[_0x9c43('0x3c')]({},_0x35950c,_0x2ed0bb[_0x9c43('0x3d')]);var _0x56c3a2={'where':_0x35950c[_0x9c43('0x3a')]};return db[_0x9c43('0x3e')][_0x9c43('0x1c')](_0x56c3a2)[_0x9c43('0x22')](function(_0x364c7a){_0xd6b134['count']=_0x364c7a;if(_0x2ed0bb[_0x9c43('0x2f')][_0x9c43('0x3f')]){_0x35950c[_0x9c43('0x40')]=[{'all':!![]}];}return db[_0x9c43('0x3e')]['findAll'](_0x35950c);})['then'](function(_0x1cf0a5){_0xd6b134[_0x9c43('0x41')]=_0x1cf0a5;return _0xd6b134;})[_0x9c43('0x22')](respondWithFilteredResult(_0x220c29,_0x35950c))[_0x9c43('0x42')](handleError(_0x220c29,null));};exports[_0x9c43('0x43')]=function(_0x10817a,_0x577094){var _0xf5bd46={'raw':!![],'where':{'id':_0x10817a[_0x9c43('0x44')]['id']}},_0x5ccfdf={};_0x5ccfdf[_0x9c43('0x32')]=_[_0x9c43('0x2e')](db[_0x9c43('0x3e')][_0x9c43('0x2a')]);_0x5ccfdf['query']=_['keys'](_0x10817a[_0x9c43('0x2f')]);_0x5ccfdf[_0x9c43('0x30')]=_['intersection'](_0x5ccfdf['model'],_0x5ccfdf[_0x9c43('0x2f')]);_0xf5bd46['attributes']=_['intersection'](_0x5ccfdf[_0x9c43('0x32')],qs[_0x9c43('0x34')](_0x10817a[_0x9c43('0x2f')][_0x9c43('0x34')]));_0xf5bd46[_0x9c43('0x33')]=_0xf5bd46[_0x9c43('0x33')][_0x9c43('0x35')]?_0xf5bd46[_0x9c43('0x33')]:_0x5ccfdf[_0x9c43('0x32')];if(_0x10817a['query'][_0x9c43('0x3f')]){_0xf5bd46['include']=[{'all':!![]}];}_0xf5bd46=_[_0x9c43('0x3c')]({},_0xf5bd46,_0x10817a[_0x9c43('0x3d')]);return db['VtigerField']['find'](_0xf5bd46)[_0x9c43('0x22')](handleEntityNotFound(_0x577094,null))[_0x9c43('0x22')](respondWithResult(_0x577094,null))[_0x9c43('0x42')](handleError(_0x577094,null));};exports[_0x9c43('0x45')]=function(_0x466ee6,_0x192e9f){return db[_0x9c43('0x3e')][_0x9c43('0x45')](_0x466ee6[_0x9c43('0x46')],{})[_0x9c43('0x22')](respondWithResult(_0x192e9f,0xc9))[_0x9c43('0x42')](handleError(_0x192e9f,null));};exports[_0x9c43('0x21')]=function(_0x44923b,_0x1614f3){if(_0x44923b[_0x9c43('0x46')]['id']){delete _0x44923b[_0x9c43('0x46')]['id'];}return db[_0x9c43('0x3e')][_0x9c43('0x47')]({'where':{'id':_0x44923b['params']['id']}})['then'](handleEntityNotFound(_0x1614f3,null))['then'](saveUpdates(_0x44923b[_0x9c43('0x46')],null))['then'](respondWithResult(_0x1614f3,null))[_0x9c43('0x42')](handleError(_0x1614f3,null));};exports[_0x9c43('0x23')]=function(_0x13b272,_0x3b63aa){return db[_0x9c43('0x3e')][_0x9c43('0x47')]({'where':{'id':_0x13b272[_0x9c43('0x44')]['id']}})[_0x9c43('0x22')](handleEntityNotFound(_0x3b63aa,null))[_0x9c43('0x22')](removeEntity(_0x3b63aa,null))[_0x9c43('0x42')](handleError(_0x3b63aa,null));};