Built motion from commit 7ab0e143.|2.5.49
[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 _0xd7e1=['catch','show','find','create','body','params','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','destroy','then','error','stack','name','index','map','VtigerField','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows'];(function(_0x20ff30,_0x10b265){var _0x3223a3=function(_0x4a996e){while(--_0x4a996e){_0x20ff30['push'](_0x20ff30['shift']());}};_0x3223a3(++_0x10b265);}(_0xd7e1,0x136));var _0x1d7e=function(_0x2bcb75,_0x5789a7){_0x2bcb75=_0x2bcb75-0x0;var _0x175345=_0xd7e1[_0x2bcb75];return _0x175345;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1d7e('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1d7e('0x1'));var rp=require(_0x1d7e('0x2'));var moment=require(_0x1d7e('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x1d7e('0x4'));var util=require(_0x1d7e('0x5'));var path=require(_0x1d7e('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x1d7e('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1d7e('0x8'));var squel=require(_0x1d7e('0x9'));var crypto=require(_0x1d7e('0xa'));var jsforce=require(_0x1d7e('0xb'));var deskjs=require(_0x1d7e('0xc'));var toCsv=require(_0x1d7e('0xd'));var querystring=require(_0x1d7e('0xe'));var Papa=require(_0x1d7e('0xf'));var Redis=require(_0x1d7e('0x10'));var authService=require(_0x1d7e('0x11'));var qs=require(_0x1d7e('0x12'));var as=require(_0x1d7e('0x13'));var hardwareService=require(_0x1d7e('0x14'));var logger=require(_0x1d7e('0x15'))('api');var utils=require(_0x1d7e('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x1d7e('0x17'));var db=require(_0x1d7e('0x18'))['db'];function respondWithStatusCode(_0x1e807a,_0x102d31){_0x102d31=_0x102d31||0xcc;return function(_0x22fd2b){if(_0x22fd2b){return _0x1e807a[_0x1d7e('0x19')](_0x102d31);}return _0x1e807a[_0x1d7e('0x1a')](_0x102d31)[_0x1d7e('0x1b')]();};}function respondWithResult(_0x3ce885,_0x52a66c){_0x52a66c=_0x52a66c||0xc8;return function(_0x5e316c){if(_0x5e316c){return _0x3ce885[_0x1d7e('0x1a')](_0x52a66c)[_0x1d7e('0x1c')](_0x5e316c);}};}function respondWithFilteredResult(_0x13ba4a,_0x55e831){return function(_0x3c7819){if(_0x3c7819){var _0x5ed8e8=typeof _0x55e831[_0x1d7e('0x1d')]===_0x1d7e('0x1e')&&typeof _0x55e831[_0x1d7e('0x1f')]==='undefined';var _0x2d449f=_0x3c7819[_0x1d7e('0x20')];var _0x165e40=_0x5ed8e8?0x0:_0x55e831['offset'];var _0x7732c0=_0x5ed8e8?_0x3c7819[_0x1d7e('0x20')]:_0x55e831[_0x1d7e('0x1d')]+_0x55e831[_0x1d7e('0x1f')];var _0x4890b8;if(_0x7732c0>=_0x2d449f){_0x7732c0=_0x2d449f;_0x4890b8=0xc8;}else{_0x4890b8=0xce;}_0x13ba4a['status'](_0x4890b8);return _0x13ba4a[_0x1d7e('0x21')](_0x1d7e('0x22'),_0x165e40+'-'+_0x7732c0+'/'+_0x2d449f)['json'](_0x3c7819);}return null;};}function patchUpdates(_0x43dba6){return function(_0x27a928){try{jsonpatch[_0x1d7e('0x23')](_0x27a928,_0x43dba6,!![]);}catch(_0x95b87b){return BPromise['reject'](_0x95b87b);}return _0x27a928[_0x1d7e('0x24')]();};}function saveUpdates(_0x26bd99,_0x2040bd){return function(_0x1e7eea){if(_0x1e7eea){return _0x1e7eea[_0x1d7e('0x25')](_0x26bd99)['then'](function(_0x34f322){return _0x34f322;});}return null;};}function removeEntity(_0x3aa8c8,_0x53ef82){return function(_0x49641d){if(_0x49641d){return _0x49641d[_0x1d7e('0x26')]()[_0x1d7e('0x27')](function(){_0x3aa8c8[_0x1d7e('0x1a')](0xcc)[_0x1d7e('0x1b')]();});}};}function handleEntityNotFound(_0x213d36,_0x5ab6cf){return function(_0xb61c61){if(!_0xb61c61){_0x213d36[_0x1d7e('0x19')](0x194);}return _0xb61c61;};}function handleError(_0x574a21,_0x5a8630){_0x5a8630=_0x5a8630||0x1f4;return function(_0x95a841){logger[_0x1d7e('0x28')](_0x95a841[_0x1d7e('0x29')]);if(_0x95a841[_0x1d7e('0x2a')]){delete _0x95a841['name'];}_0x574a21['status'](_0x5a8630)['send'](_0x95a841);};}exports[_0x1d7e('0x2b')]=function(_0x1d68b3,_0x15b6bc){var _0x2a4e68={},_0x35b7f7={},_0x1a2e2d={'count':0x0,'rows':[]};var _0x46e3be=_[_0x1d7e('0x2c')](db[_0x1d7e('0x2d')][_0x1d7e('0x2e')],function(_0x47d6d7){return{'name':_0x47d6d7[_0x1d7e('0x2f')],'type':_0x47d6d7[_0x1d7e('0x30')][_0x1d7e('0x31')]};});_0x35b7f7[_0x1d7e('0x32')]=_[_0x1d7e('0x2c')](_0x46e3be,_0x1d7e('0x2a'));_0x35b7f7[_0x1d7e('0x33')]=_[_0x1d7e('0x34')](_0x1d68b3['query']);_0x35b7f7[_0x1d7e('0x35')]=_[_0x1d7e('0x36')](_0x35b7f7[_0x1d7e('0x32')],_0x35b7f7['query']);_0x2a4e68['attributes']=_[_0x1d7e('0x36')](_0x35b7f7[_0x1d7e('0x32')],qs[_0x1d7e('0x37')](_0x1d68b3[_0x1d7e('0x33')]['fields']));_0x2a4e68[_0x1d7e('0x38')]=_0x2a4e68[_0x1d7e('0x38')][_0x1d7e('0x39')]?_0x2a4e68[_0x1d7e('0x38')]:_0x35b7f7[_0x1d7e('0x32')];if(!_0x1d68b3[_0x1d7e('0x33')][_0x1d7e('0x3a')](_0x1d7e('0x3b'))){_0x2a4e68['limit']=qs['limit'](_0x1d68b3['query'][_0x1d7e('0x1f')]);_0x2a4e68['offset']=qs[_0x1d7e('0x1d')](_0x1d68b3['query']['offset']);}_0x2a4e68['order']=qs[_0x1d7e('0x3c')](_0x1d68b3[_0x1d7e('0x33')][_0x1d7e('0x3c')]);_0x2a4e68[_0x1d7e('0x3d')]=qs[_0x1d7e('0x35')](_[_0x1d7e('0x3e')](_0x1d68b3[_0x1d7e('0x33')],_0x35b7f7['filters']),_0x46e3be);if(_0x1d68b3[_0x1d7e('0x33')][_0x1d7e('0x3f')]){_0x2a4e68[_0x1d7e('0x3d')]=_['merge'](_0x2a4e68[_0x1d7e('0x3d')],{'$or':_[_0x1d7e('0x2c')](_0x46e3be,function(_0x3fe570){if(_0x3fe570[_0x1d7e('0x30')]!==_0x1d7e('0x40')){var _0x47e734={};_0x47e734[_0x3fe570[_0x1d7e('0x2a')]]={'$like':'%'+_0x1d68b3[_0x1d7e('0x33')]['filter']+'%'};return _0x47e734;}})});}_0x2a4e68=_[_0x1d7e('0x41')]({},_0x2a4e68,_0x1d68b3[_0x1d7e('0x42')]);var _0x5e99f8={'where':_0x2a4e68[_0x1d7e('0x3d')]};return db[_0x1d7e('0x2d')][_0x1d7e('0x20')](_0x5e99f8)[_0x1d7e('0x27')](function(_0x2a0b20){_0x1a2e2d[_0x1d7e('0x20')]=_0x2a0b20;if(_0x1d68b3[_0x1d7e('0x33')]['includeAll']){_0x2a4e68[_0x1d7e('0x43')]=[{'all':!![]}];}return db[_0x1d7e('0x2d')][_0x1d7e('0x44')](_0x2a4e68);})['then'](function(_0x3a83a6){_0x1a2e2d[_0x1d7e('0x45')]=_0x3a83a6;return _0x1a2e2d;})[_0x1d7e('0x27')](respondWithFilteredResult(_0x15b6bc,_0x2a4e68))[_0x1d7e('0x46')](handleError(_0x15b6bc,null));};exports[_0x1d7e('0x47')]=function(_0x78ecca,_0xa99fb8){var _0x2bfaf2={'raw':!![],'where':{'id':_0x78ecca['params']['id']}},_0x293076={};_0x293076[_0x1d7e('0x32')]=_[_0x1d7e('0x34')](db[_0x1d7e('0x2d')][_0x1d7e('0x2e')]);_0x293076[_0x1d7e('0x33')]=_[_0x1d7e('0x34')](_0x78ecca['query']);_0x293076[_0x1d7e('0x35')]=_[_0x1d7e('0x36')](_0x293076[_0x1d7e('0x32')],_0x293076[_0x1d7e('0x33')]);_0x2bfaf2[_0x1d7e('0x38')]=_[_0x1d7e('0x36')](_0x293076['model'],qs[_0x1d7e('0x37')](_0x78ecca[_0x1d7e('0x33')][_0x1d7e('0x37')]));_0x2bfaf2[_0x1d7e('0x38')]=_0x2bfaf2[_0x1d7e('0x38')]['length']?_0x2bfaf2[_0x1d7e('0x38')]:_0x293076['model'];if(_0x78ecca[_0x1d7e('0x33')]['includeAll']){_0x2bfaf2['include']=[{'all':!![]}];}_0x2bfaf2=_['merge']({},_0x2bfaf2,_0x78ecca[_0x1d7e('0x42')]);return db[_0x1d7e('0x2d')][_0x1d7e('0x48')](_0x2bfaf2)[_0x1d7e('0x27')](handleEntityNotFound(_0xa99fb8,null))[_0x1d7e('0x27')](respondWithResult(_0xa99fb8,null))[_0x1d7e('0x46')](handleError(_0xa99fb8,null));};exports[_0x1d7e('0x49')]=function(_0xc08444,_0x585c1c){return db[_0x1d7e('0x2d')][_0x1d7e('0x49')](_0xc08444[_0x1d7e('0x4a')],{})[_0x1d7e('0x27')](respondWithResult(_0x585c1c,0xc9))[_0x1d7e('0x46')](handleError(_0x585c1c,null));};exports['update']=function(_0x257bec,_0x23f1e8){if(_0x257bec[_0x1d7e('0x4a')]['id']){delete _0x257bec['body']['id'];}return db[_0x1d7e('0x2d')][_0x1d7e('0x48')]({'where':{'id':_0x257bec['params']['id']}})['then'](handleEntityNotFound(_0x23f1e8,null))['then'](saveUpdates(_0x257bec[_0x1d7e('0x4a')],null))[_0x1d7e('0x27')](respondWithResult(_0x23f1e8,null))[_0x1d7e('0x46')](handleError(_0x23f1e8,null));};exports['destroy']=function(_0x540b04,_0x49a743){return db['VtigerField']['find']({'where':{'id':_0x540b04[_0x1d7e('0x4b')]['id']}})[_0x1d7e('0x27')](handleEntityNotFound(_0x49a743,null))['then'](removeEntity(_0x49a743,null))[_0x1d7e('0x46')](handleError(_0x49a743,null));};