fc805762d88eb8bd5f06b7098128903a0f0f0cd3
[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 _0x442d=['options','count','include','findAll','rows','catch','params','keys','includeAll','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','ejs','fs-extra','lodash','jsforce','desk.js','to-csv','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','end','status','offset','undefined','limit','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','name','send','index','map','VtigerField','rawAttributes','type','key','query','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','sort','filters','filter','where','merge','VIRTUAL'];(function(_0x9cc1d7,_0x126bd4){var _0x294e87=function(_0x272bd3){while(--_0x272bd3){_0x9cc1d7['push'](_0x9cc1d7['shift']());}};_0x294e87(++_0x126bd4);}(_0x442d,0x9a));var _0xd442=function(_0x3f3bad,_0x193f06){_0x3f3bad=_0x3f3bad-0x0;var _0x4f0801=_0x442d[_0x3f3bad];return _0x4f0801;};'use strict';var emlformat=require(_0xd442('0x0'));var rimraf=require(_0xd442('0x1'));var zipdir=require(_0xd442('0x2'));var jsonpatch=require(_0xd442('0x3'));var rp=require(_0xd442('0x4'));var moment=require('moment');var BPromise=require(_0xd442('0x5'));var Mustache=require('mustache');var util=require(_0xd442('0x6'));var path=require(_0xd442('0x7'));var sox=require(_0xd442('0x8'));var csv=require('to-csv');var ejs=require(_0xd442('0x9'));var fs=require('fs');var fs_extra=require(_0xd442('0xa'));var _=require(_0xd442('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xd442('0xc'));var deskjs=require(_0xd442('0xd'));var toCsv=require(_0xd442('0xe'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xd442('0xf'));var qs=require(_0xd442('0x10'));var as=require(_0xd442('0x11'));var hardwareService=require(_0xd442('0x12'));var logger=require(_0xd442('0x13'))('api');var utils=require(_0xd442('0x14'));var config=require(_0xd442('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xd442('0x16'))['db'];function respondWithStatusCode(_0x43fa4b,_0x2d73b4){_0x2d73b4=_0x2d73b4||0xcc;return function(_0x6cc367){if(_0x6cc367){return _0x43fa4b['sendStatus'](_0x2d73b4);}return _0x43fa4b['status'](_0x2d73b4)[_0xd442('0x17')]();};}function respondWithResult(_0x41912d,_0x5ed530){_0x5ed530=_0x5ed530||0xc8;return function(_0x2c2edd){if(_0x2c2edd){return _0x41912d[_0xd442('0x18')](_0x5ed530)['json'](_0x2c2edd);}};}function respondWithFilteredResult(_0x55f967,_0x1baec6){return function(_0x23a53d){if(_0x23a53d){var _0x404840=typeof _0x1baec6[_0xd442('0x19')]===_0xd442('0x1a')&&typeof _0x1baec6[_0xd442('0x1b')]==='undefined';var _0x45290f=_0x23a53d['count'];var _0x1925e4=_0x404840?0x0:_0x1baec6[_0xd442('0x19')];var _0x33e234=_0x404840?_0x23a53d['count']:_0x1baec6[_0xd442('0x19')]+_0x1baec6[_0xd442('0x1b')];var _0x301cbf;if(_0x33e234>=_0x45290f){_0x33e234=_0x45290f;_0x301cbf=0xc8;}else{_0x301cbf=0xce;}_0x55f967[_0xd442('0x18')](_0x301cbf);return _0x55f967['set'](_0xd442('0x1c'),_0x1925e4+'-'+_0x33e234+'/'+_0x45290f)['json'](_0x23a53d);}return null;};}function patchUpdates(_0x48401e){return function(_0x4ac18c){try{jsonpatch[_0xd442('0x1d')](_0x4ac18c,_0x48401e,!![]);}catch(_0x2804c9){return BPromise[_0xd442('0x1e')](_0x2804c9);}return _0x4ac18c[_0xd442('0x1f')]();};}function saveUpdates(_0x2d5a26,_0x4fcf15){return function(_0x14b4c7){if(_0x14b4c7){return _0x14b4c7[_0xd442('0x20')](_0x2d5a26)[_0xd442('0x21')](function(_0xf2d085){return _0xf2d085;});}return null;};}function removeEntity(_0x24293c,_0x3c5f83){return function(_0x183b23){if(_0x183b23){return _0x183b23[_0xd442('0x22')]()[_0xd442('0x21')](function(){_0x24293c[_0xd442('0x18')](0xcc)[_0xd442('0x17')]();});}};}function handleEntityNotFound(_0x583cc9,_0x5934ec){return function(_0x4c1a50){if(!_0x4c1a50){_0x583cc9[_0xd442('0x23')](0x194);}return _0x4c1a50;};}function handleError(_0x5f0173,_0x3e6bad){_0x3e6bad=_0x3e6bad||0x1f4;return function(_0x4948ab){logger[_0xd442('0x24')](_0x4948ab['stack']);if(_0x4948ab[_0xd442('0x25')]){delete _0x4948ab[_0xd442('0x25')];}_0x5f0173[_0xd442('0x18')](_0x3e6bad)[_0xd442('0x26')](_0x4948ab);};}exports[_0xd442('0x27')]=function(_0x3900de,_0x2213c5){var _0x5e042b={},_0x32dcef={},_0x230601={'count':0x0,'rows':[]};var _0x28178a=_[_0xd442('0x28')](db[_0xd442('0x29')][_0xd442('0x2a')],function(_0x4815cb){return{'name':_0x4815cb['fieldName'],'type':_0x4815cb[_0xd442('0x2b')][_0xd442('0x2c')]};});_0x32dcef['model']=_[_0xd442('0x28')](_0x28178a,_0xd442('0x25'));_0x32dcef[_0xd442('0x2d')]=_['keys'](_0x3900de[_0xd442('0x2d')]);_0x32dcef['filters']=_[_0xd442('0x2e')](_0x32dcef[_0xd442('0x2f')],_0x32dcef[_0xd442('0x2d')]);_0x5e042b['attributes']=_['intersection'](_0x32dcef[_0xd442('0x2f')],qs[_0xd442('0x30')](_0x3900de[_0xd442('0x2d')]['fields']));_0x5e042b[_0xd442('0x31')]=_0x5e042b['attributes'][_0xd442('0x32')]?_0x5e042b['attributes']:_0x32dcef[_0xd442('0x2f')];if(!_0x3900de[_0xd442('0x2d')][_0xd442('0x33')](_0xd442('0x34'))){_0x5e042b[_0xd442('0x1b')]=qs[_0xd442('0x1b')](_0x3900de['query'][_0xd442('0x1b')]);_0x5e042b[_0xd442('0x19')]=qs[_0xd442('0x19')](_0x3900de['query'][_0xd442('0x19')]);}_0x5e042b['order']=qs[_0xd442('0x35')](_0x3900de[_0xd442('0x2d')][_0xd442('0x35')]);_0x5e042b['where']=qs[_0xd442('0x36')](_['pick'](_0x3900de[_0xd442('0x2d')],_0x32dcef[_0xd442('0x36')]),_0x28178a);if(_0x3900de['query'][_0xd442('0x37')]){_0x5e042b[_0xd442('0x38')]=_[_0xd442('0x39')](_0x5e042b['where'],{'$or':_[_0xd442('0x28')](_0x28178a,function(_0x53c42f){if(_0x53c42f[_0xd442('0x2b')]!==_0xd442('0x3a')){var _0x2a052f={};_0x2a052f[_0x53c42f[_0xd442('0x25')]]={'$like':'%'+_0x3900de['query'][_0xd442('0x37')]+'%'};return _0x2a052f;}})});}_0x5e042b=_['merge']({},_0x5e042b,_0x3900de[_0xd442('0x3b')]);var _0x34d520={'where':_0x5e042b[_0xd442('0x38')]};return db[_0xd442('0x29')]['count'](_0x34d520)[_0xd442('0x21')](function(_0x50b7e7){_0x230601[_0xd442('0x3c')]=_0x50b7e7;if(_0x3900de[_0xd442('0x2d')]['includeAll']){_0x5e042b[_0xd442('0x3d')]=[{'all':!![]}];}return db[_0xd442('0x29')][_0xd442('0x3e')](_0x5e042b);})[_0xd442('0x21')](function(_0x1007af){_0x230601[_0xd442('0x3f')]=_0x1007af;return _0x230601;})[_0xd442('0x21')](respondWithFilteredResult(_0x2213c5,_0x5e042b))[_0xd442('0x40')](handleError(_0x2213c5,null));};exports['show']=function(_0x162eb6,_0x25fad7){var _0x52b58f={'raw':!![],'where':{'id':_0x162eb6[_0xd442('0x41')]['id']}},_0x54b434={};_0x54b434['model']=_['keys'](db[_0xd442('0x29')][_0xd442('0x2a')]);_0x54b434[_0xd442('0x2d')]=_[_0xd442('0x42')](_0x162eb6[_0xd442('0x2d')]);_0x54b434[_0xd442('0x36')]=_[_0xd442('0x2e')](_0x54b434[_0xd442('0x2f')],_0x54b434[_0xd442('0x2d')]);_0x52b58f['attributes']=_[_0xd442('0x2e')](_0x54b434[_0xd442('0x2f')],qs[_0xd442('0x30')](_0x162eb6[_0xd442('0x2d')][_0xd442('0x30')]));_0x52b58f[_0xd442('0x31')]=_0x52b58f[_0xd442('0x31')]['length']?_0x52b58f[_0xd442('0x31')]:_0x54b434['model'];if(_0x162eb6[_0xd442('0x2d')][_0xd442('0x43')]){_0x52b58f['include']=[{'all':!![]}];}_0x52b58f=_[_0xd442('0x39')]({},_0x52b58f,_0x162eb6[_0xd442('0x3b')]);return db[_0xd442('0x29')][_0xd442('0x44')](_0x52b58f)['then'](handleEntityNotFound(_0x25fad7,null))[_0xd442('0x21')](respondWithResult(_0x25fad7,null))['catch'](handleError(_0x25fad7,null));};exports[_0xd442('0x45')]=function(_0x20a888,_0x12b350){return db[_0xd442('0x29')][_0xd442('0x45')](_0x20a888[_0xd442('0x46')],{})[_0xd442('0x21')](respondWithResult(_0x12b350,0xc9))['catch'](handleError(_0x12b350,null));};exports['update']=function(_0x362d75,_0x18d0d9){if(_0x362d75[_0xd442('0x46')]['id']){delete _0x362d75[_0xd442('0x46')]['id'];}return db['VtigerField'][_0xd442('0x44')]({'where':{'id':_0x362d75[_0xd442('0x41')]['id']}})[_0xd442('0x21')](handleEntityNotFound(_0x18d0d9,null))[_0xd442('0x21')](saveUpdates(_0x362d75[_0xd442('0x46')],null))['then'](respondWithResult(_0x18d0d9,null))['catch'](handleError(_0x18d0d9,null));};exports[_0xd442('0x22')]=function(_0x2656c3,_0x2621a6){return db[_0xd442('0x29')]['find']({'where':{'id':_0x2656c3[_0xd442('0x41')]['id']}})[_0xd442('0x21')](handleEntityNotFound(_0x2621a6,null))[_0xd442('0x21')](removeEntity(_0x2621a6,null))[_0xd442('0x40')](handleError(_0x2621a6,null));};