Built motion from commit 3c2ce842.|2.6.31
[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 _0xb1a4=['querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','Content-Range','apply','save','update','then','destroy','stack','name','send','map','VtigerField','fieldName','type','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','rawAttributes','options','create','body','find','params','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js'];(function(_0x3fd81e,_0x326515){var _0x56ec7c=function(_0x3263ce){while(--_0x3263ce){_0x3fd81e['push'](_0x3fd81e['shift']());}};_0x56ec7c(++_0x326515);}(_0xb1a4,0x15d));var _0x4b1a=function(_0x28fe56,_0x43472b){_0x28fe56=_0x28fe56-0x0;var _0x29a433=_0xb1a4[_0x28fe56];return _0x29a433;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x4b1a('0x0'));var jsonpatch=require(_0x4b1a('0x1'));var rp=require(_0x4b1a('0x2'));var moment=require(_0x4b1a('0x3'));var BPromise=require(_0x4b1a('0x4'));var Mustache=require(_0x4b1a('0x5'));var util=require(_0x4b1a('0x6'));var path=require(_0x4b1a('0x7'));var sox=require('sox');var csv=require(_0x4b1a('0x8'));var ejs=require(_0x4b1a('0x9'));var fs=require('fs');var fs_extra=require(_0x4b1a('0xa'));var _=require(_0x4b1a('0xb'));var squel=require(_0x4b1a('0xc'));var crypto=require(_0x4b1a('0xd'));var jsforce=require(_0x4b1a('0xe'));var deskjs=require(_0x4b1a('0xf'));var toCsv=require(_0x4b1a('0x8'));var querystring=require(_0x4b1a('0x10'));var Papa=require(_0x4b1a('0x11'));var Redis=require('ioredis');var authService=require(_0x4b1a('0x12'));var qs=require(_0x4b1a('0x13'));var as=require(_0x4b1a('0x14'));var hardwareService=require(_0x4b1a('0x15'));var logger=require('../../config/logger')('api');var utils=require(_0x4b1a('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x4b1a('0x17'));var db=require(_0x4b1a('0x18'))['db'];function respondWithStatusCode(_0x4decb2,_0x1a5f33){_0x1a5f33=_0x1a5f33||0xcc;return function(_0x303e65){if(_0x303e65){return _0x4decb2[_0x4b1a('0x19')](_0x1a5f33);}return _0x4decb2[_0x4b1a('0x1a')](_0x1a5f33)[_0x4b1a('0x1b')]();};}function respondWithResult(_0x194de5,_0x1c911e){_0x1c911e=_0x1c911e||0xc8;return function(_0x3be9e1){if(_0x3be9e1){return _0x194de5['status'](_0x1c911e)['json'](_0x3be9e1);}};}function respondWithFilteredResult(_0x532a9e,_0x44cf1b){return function(_0x5ed5ae){if(_0x5ed5ae){var _0x489ac6=typeof _0x44cf1b[_0x4b1a('0x1c')]==='undefined'&&typeof _0x44cf1b[_0x4b1a('0x1d')]===_0x4b1a('0x1e');var _0x28c1a8=_0x5ed5ae[_0x4b1a('0x1f')];var _0x3dfdd8=_0x489ac6?0x0:_0x44cf1b[_0x4b1a('0x1c')];var _0x10ddf4=_0x489ac6?_0x5ed5ae[_0x4b1a('0x1f')]:_0x44cf1b[_0x4b1a('0x1c')]+_0x44cf1b['limit'];var _0x27b774;if(_0x10ddf4>=_0x28c1a8){_0x10ddf4=_0x28c1a8;_0x27b774=0xc8;}else{_0x27b774=0xce;}_0x532a9e['status'](_0x27b774);return _0x532a9e['set'](_0x4b1a('0x20'),_0x3dfdd8+'-'+_0x10ddf4+'/'+_0x28c1a8)['json'](_0x5ed5ae);}return null;};}function patchUpdates(_0x359755){return function(_0x5b5481){try{jsonpatch[_0x4b1a('0x21')](_0x5b5481,_0x359755,!![]);}catch(_0x129a84){return BPromise['reject'](_0x129a84);}return _0x5b5481[_0x4b1a('0x22')]();};}function saveUpdates(_0x4defd1,_0x18c7a8){return function(_0x4eef83){if(_0x4eef83){return _0x4eef83[_0x4b1a('0x23')](_0x4defd1)[_0x4b1a('0x24')](function(_0x4a3aa0){return _0x4a3aa0;});}return null;};}function removeEntity(_0x51db79,_0x5b2db2){return function(_0x387603){if(_0x387603){return _0x387603[_0x4b1a('0x25')]()[_0x4b1a('0x24')](function(){_0x51db79[_0x4b1a('0x1a')](0xcc)[_0x4b1a('0x1b')]();});}};}function handleEntityNotFound(_0x1d0c25,_0x53378b){return function(_0x599f32){if(!_0x599f32){_0x1d0c25[_0x4b1a('0x19')](0x194);}return _0x599f32;};}function handleError(_0x23bbfa,_0x3f5a5c){_0x3f5a5c=_0x3f5a5c||0x1f4;return function(_0x4eabfc){logger['error'](_0x4eabfc[_0x4b1a('0x26')]);if(_0x4eabfc[_0x4b1a('0x27')]){delete _0x4eabfc[_0x4b1a('0x27')];}_0x23bbfa[_0x4b1a('0x1a')](_0x3f5a5c)[_0x4b1a('0x28')](_0x4eabfc);};}exports['index']=function(_0x53f000,_0x3dea71){var _0x1e9f20={},_0x288456={},_0x20640f={'count':0x0,'rows':[]};var _0x19c4b6=_[_0x4b1a('0x29')](db[_0x4b1a('0x2a')]['rawAttributes'],function(_0x2602c6){return{'name':_0x2602c6[_0x4b1a('0x2b')],'type':_0x2602c6[_0x4b1a('0x2c')]['key']};});_0x288456[_0x4b1a('0x2d')]=_[_0x4b1a('0x29')](_0x19c4b6,'name');_0x288456[_0x4b1a('0x2e')]=_[_0x4b1a('0x2f')](_0x53f000[_0x4b1a('0x2e')]);_0x288456['filters']=_[_0x4b1a('0x30')](_0x288456[_0x4b1a('0x2d')],_0x288456[_0x4b1a('0x2e')]);_0x1e9f20['attributes']=_['intersection'](_0x288456[_0x4b1a('0x2d')],qs[_0x4b1a('0x31')](_0x53f000[_0x4b1a('0x2e')][_0x4b1a('0x31')]));_0x1e9f20[_0x4b1a('0x32')]=_0x1e9f20[_0x4b1a('0x32')][_0x4b1a('0x33')]?_0x1e9f20[_0x4b1a('0x32')]:_0x288456['model'];if(!_0x53f000[_0x4b1a('0x2e')][_0x4b1a('0x34')](_0x4b1a('0x35'))){_0x1e9f20[_0x4b1a('0x1d')]=qs[_0x4b1a('0x1d')](_0x53f000[_0x4b1a('0x2e')]['limit']);_0x1e9f20[_0x4b1a('0x1c')]=qs['offset'](_0x53f000[_0x4b1a('0x2e')][_0x4b1a('0x1c')]);}_0x1e9f20[_0x4b1a('0x36')]=qs[_0x4b1a('0x37')](_0x53f000[_0x4b1a('0x2e')]['sort']);_0x1e9f20[_0x4b1a('0x38')]=qs['filters'](_['pick'](_0x53f000[_0x4b1a('0x2e')],_0x288456[_0x4b1a('0x39')]),_0x19c4b6);if(_0x53f000[_0x4b1a('0x2e')][_0x4b1a('0x3a')]){_0x1e9f20[_0x4b1a('0x38')]=_[_0x4b1a('0x3b')](_0x1e9f20['where'],{'$or':_['map'](_0x19c4b6,function(_0x1bf996){if(_0x1bf996[_0x4b1a('0x2c')]!==_0x4b1a('0x3c')){var _0x178d2b={};_0x178d2b[_0x1bf996['name']]={'$like':'%'+_0x53f000['query']['filter']+'%'};return _0x178d2b;}})});}_0x1e9f20=_[_0x4b1a('0x3b')]({},_0x1e9f20,_0x53f000['options']);var _0x10cfd8={'where':_0x1e9f20[_0x4b1a('0x38')]};return db[_0x4b1a('0x2a')][_0x4b1a('0x1f')](_0x10cfd8)[_0x4b1a('0x24')](function(_0x37a826){_0x20640f[_0x4b1a('0x1f')]=_0x37a826;if(_0x53f000[_0x4b1a('0x2e')][_0x4b1a('0x3d')]){_0x1e9f20[_0x4b1a('0x3e')]=[{'all':!![]}];}return db[_0x4b1a('0x2a')][_0x4b1a('0x3f')](_0x1e9f20);})['then'](function(_0x10f1f3){_0x20640f[_0x4b1a('0x40')]=_0x10f1f3;return _0x20640f;})[_0x4b1a('0x24')](respondWithFilteredResult(_0x3dea71,_0x1e9f20))[_0x4b1a('0x41')](handleError(_0x3dea71,null));};exports[_0x4b1a('0x42')]=function(_0x48f5f4,_0x1b38a3){var _0x3aa9c0={'raw':!![],'where':{'id':_0x48f5f4['params']['id']}},_0x4ad578={};_0x4ad578[_0x4b1a('0x2d')]=_['keys'](db[_0x4b1a('0x2a')][_0x4b1a('0x43')]);_0x4ad578[_0x4b1a('0x2e')]=_[_0x4b1a('0x2f')](_0x48f5f4[_0x4b1a('0x2e')]);_0x4ad578[_0x4b1a('0x39')]=_[_0x4b1a('0x30')](_0x4ad578[_0x4b1a('0x2d')],_0x4ad578[_0x4b1a('0x2e')]);_0x3aa9c0[_0x4b1a('0x32')]=_[_0x4b1a('0x30')](_0x4ad578[_0x4b1a('0x2d')],qs['fields'](_0x48f5f4['query'][_0x4b1a('0x31')]));_0x3aa9c0[_0x4b1a('0x32')]=_0x3aa9c0[_0x4b1a('0x32')][_0x4b1a('0x33')]?_0x3aa9c0[_0x4b1a('0x32')]:_0x4ad578['model'];if(_0x48f5f4[_0x4b1a('0x2e')][_0x4b1a('0x3d')]){_0x3aa9c0[_0x4b1a('0x3e')]=[{'all':!![]}];}_0x3aa9c0=_['merge']({},_0x3aa9c0,_0x48f5f4[_0x4b1a('0x44')]);return db[_0x4b1a('0x2a')]['find'](_0x3aa9c0)[_0x4b1a('0x24')](handleEntityNotFound(_0x1b38a3,null))[_0x4b1a('0x24')](respondWithResult(_0x1b38a3,null))[_0x4b1a('0x41')](handleError(_0x1b38a3,null));};exports[_0x4b1a('0x45')]=function(_0x3597f5,_0x26ac19){return db[_0x4b1a('0x2a')]['create'](_0x3597f5['body'],{})[_0x4b1a('0x24')](respondWithResult(_0x26ac19,0xc9))['catch'](handleError(_0x26ac19,null));};exports[_0x4b1a('0x23')]=function(_0x4bf13c,_0x1396bc){if(_0x4bf13c['body']['id']){delete _0x4bf13c[_0x4b1a('0x46')]['id'];}return db[_0x4b1a('0x2a')]['find']({'where':{'id':_0x4bf13c['params']['id']}})[_0x4b1a('0x24')](handleEntityNotFound(_0x1396bc,null))['then'](saveUpdates(_0x4bf13c[_0x4b1a('0x46')],null))['then'](respondWithResult(_0x1396bc,null))[_0x4b1a('0x41')](handleError(_0x1396bc,null));};exports[_0x4b1a('0x25')]=function(_0x5c5068,_0x18a9d7){return db['VtigerField'][_0x4b1a('0x47')]({'where':{'id':_0x5c5068[_0x4b1a('0x48')]['id']}})[_0x4b1a('0x24')](handleEntityNotFound(_0x18a9d7,null))[_0x4b1a('0x24')](removeEntity(_0x18a9d7,null))[_0x4b1a('0x41')](handleError(_0x18a9d7,null));};