Built motion from commit a61a4a20.|2.5.46
[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 _0xaa54=['json','undefined','limit','count','set','Content-Range','reject','update','then','error','name','map','VtigerField','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','offset','sort','where','pick','merge','VIRTUAL','filter','options','include','rows','catch','show','rawAttributes','includeAll','find','create','body','params','destroy','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end'];(function(_0x428774,_0x383962){var _0x53a01c=function(_0x2d62da){while(--_0x2d62da){_0x428774['push'](_0x428774['shift']());}};_0x53a01c(++_0x383962);}(_0xaa54,0x73));var _0x4aa5=function(_0x1589dd,_0x2b9d22){_0x1589dd=_0x1589dd-0x0;var _0x1bddd1=_0xaa54[_0x1589dd];return _0x1bddd1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4aa5('0x0'));var zipdir=require(_0x4aa5('0x1'));var jsonpatch=require(_0x4aa5('0x2'));var rp=require(_0x4aa5('0x3'));var moment=require(_0x4aa5('0x4'));var BPromise=require(_0x4aa5('0x5'));var Mustache=require('mustache');var util=require(_0x4aa5('0x6'));var path=require('path');var sox=require(_0x4aa5('0x7'));var csv=require(_0x4aa5('0x8'));var ejs=require(_0x4aa5('0x9'));var fs=require('fs');var fs_extra=require(_0x4aa5('0xa'));var _=require(_0x4aa5('0xb'));var squel=require(_0x4aa5('0xc'));var crypto=require(_0x4aa5('0xd'));var jsforce=require(_0x4aa5('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x4aa5('0x8'));var querystring=require(_0x4aa5('0xf'));var Papa=require(_0x4aa5('0x10'));var Redis=require(_0x4aa5('0x11'));var authService=require(_0x4aa5('0x12'));var qs=require(_0x4aa5('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x4aa5('0x14'))('api');var utils=require(_0x4aa5('0x15'));var config=require(_0x4aa5('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x4aa5('0x17'))['db'];function respondWithStatusCode(_0x5b03cd,_0x58782d){_0x58782d=_0x58782d||0xcc;return function(_0x2e07cc){if(_0x2e07cc){return _0x5b03cd[_0x4aa5('0x18')](_0x58782d);}return _0x5b03cd[_0x4aa5('0x19')](_0x58782d)[_0x4aa5('0x1a')]();};}function respondWithResult(_0x42d015,_0x27098e){_0x27098e=_0x27098e||0xc8;return function(_0x4a8c02){if(_0x4a8c02){return _0x42d015[_0x4aa5('0x19')](_0x27098e)[_0x4aa5('0x1b')](_0x4a8c02);}};}function respondWithFilteredResult(_0x10f4f6,_0x2ae6fe){return function(_0x3fcd01){if(_0x3fcd01){var _0x1b1465=typeof _0x2ae6fe['offset']===_0x4aa5('0x1c')&&typeof _0x2ae6fe[_0x4aa5('0x1d')]==='undefined';var _0x4aeaa9=_0x3fcd01[_0x4aa5('0x1e')];var _0x485e1b=_0x1b1465?0x0:_0x2ae6fe['offset'];var _0x14a596=_0x1b1465?_0x3fcd01[_0x4aa5('0x1e')]:_0x2ae6fe['offset']+_0x2ae6fe[_0x4aa5('0x1d')];var _0x1f4cdf;if(_0x14a596>=_0x4aeaa9){_0x14a596=_0x4aeaa9;_0x1f4cdf=0xc8;}else{_0x1f4cdf=0xce;}_0x10f4f6['status'](_0x1f4cdf);return _0x10f4f6[_0x4aa5('0x1f')](_0x4aa5('0x20'),_0x485e1b+'-'+_0x14a596+'/'+_0x4aeaa9)['json'](_0x3fcd01);}return null;};}function patchUpdates(_0x327db5){return function(_0x313b82){try{jsonpatch['apply'](_0x313b82,_0x327db5,!![]);}catch(_0x557581){return BPromise[_0x4aa5('0x21')](_0x557581);}return _0x313b82['save']();};}function saveUpdates(_0x1b63f1,_0x58f9b0){return function(_0x15c927){if(_0x15c927){return _0x15c927[_0x4aa5('0x22')](_0x1b63f1)[_0x4aa5('0x23')](function(_0x34e767){return _0x34e767;});}return null;};}function removeEntity(_0x32b3e4,_0x928fee){return function(_0x4e3b11){if(_0x4e3b11){return _0x4e3b11['destroy']()[_0x4aa5('0x23')](function(){_0x32b3e4[_0x4aa5('0x19')](0xcc)[_0x4aa5('0x1a')]();});}};}function handleEntityNotFound(_0x63903b,_0x28d54b){return function(_0x5b7a4c){if(!_0x5b7a4c){_0x63903b[_0x4aa5('0x18')](0x194);}return _0x5b7a4c;};}function handleError(_0x5f4436,_0x50f822){_0x50f822=_0x50f822||0x1f4;return function(_0x3c7c53){logger[_0x4aa5('0x24')](_0x3c7c53['stack']);if(_0x3c7c53[_0x4aa5('0x25')]){delete _0x3c7c53['name'];}_0x5f4436[_0x4aa5('0x19')](_0x50f822)['send'](_0x3c7c53);};}exports['index']=function(_0x2e8cb5,_0x113cc0){var _0x2e4493={},_0x4d61e9={},_0x522e7f={'count':0x0,'rows':[]};var _0x590ede=_[_0x4aa5('0x26')](db[_0x4aa5('0x27')]['rawAttributes'],function(_0x1e1511){return{'name':_0x1e1511[_0x4aa5('0x28')],'type':_0x1e1511[_0x4aa5('0x29')][_0x4aa5('0x2a')]};});_0x4d61e9[_0x4aa5('0x2b')]=_['map'](_0x590ede,_0x4aa5('0x25'));_0x4d61e9[_0x4aa5('0x2c')]=_[_0x4aa5('0x2d')](_0x2e8cb5[_0x4aa5('0x2c')]);_0x4d61e9[_0x4aa5('0x2e')]=_['intersection'](_0x4d61e9[_0x4aa5('0x2b')],_0x4d61e9['query']);_0x2e4493[_0x4aa5('0x2f')]=_[_0x4aa5('0x30')](_0x4d61e9[_0x4aa5('0x2b')],qs['fields'](_0x2e8cb5[_0x4aa5('0x2c')][_0x4aa5('0x31')]));_0x2e4493[_0x4aa5('0x2f')]=_0x2e4493[_0x4aa5('0x2f')][_0x4aa5('0x32')]?_0x2e4493[_0x4aa5('0x2f')]:_0x4d61e9[_0x4aa5('0x2b')];if(!_0x2e8cb5[_0x4aa5('0x2c')][_0x4aa5('0x33')]('nolimit')){_0x2e4493[_0x4aa5('0x1d')]=qs[_0x4aa5('0x1d')](_0x2e8cb5[_0x4aa5('0x2c')][_0x4aa5('0x1d')]);_0x2e4493[_0x4aa5('0x34')]=qs[_0x4aa5('0x34')](_0x2e8cb5['query']['offset']);}_0x2e4493['order']=qs['sort'](_0x2e8cb5[_0x4aa5('0x2c')][_0x4aa5('0x35')]);_0x2e4493[_0x4aa5('0x36')]=qs[_0x4aa5('0x2e')](_[_0x4aa5('0x37')](_0x2e8cb5[_0x4aa5('0x2c')],_0x4d61e9[_0x4aa5('0x2e')]),_0x590ede);if(_0x2e8cb5[_0x4aa5('0x2c')]['filter']){_0x2e4493[_0x4aa5('0x36')]=_[_0x4aa5('0x38')](_0x2e4493[_0x4aa5('0x36')],{'$or':_[_0x4aa5('0x26')](_0x590ede,function(_0x2551e3){if(_0x2551e3[_0x4aa5('0x29')]!==_0x4aa5('0x39')){var _0x353c7b={};_0x353c7b[_0x2551e3[_0x4aa5('0x25')]]={'$like':'%'+_0x2e8cb5[_0x4aa5('0x2c')][_0x4aa5('0x3a')]+'%'};return _0x353c7b;}})});}_0x2e4493=_[_0x4aa5('0x38')]({},_0x2e4493,_0x2e8cb5[_0x4aa5('0x3b')]);var _0x269f3a={'where':_0x2e4493['where']};return db[_0x4aa5('0x27')][_0x4aa5('0x1e')](_0x269f3a)[_0x4aa5('0x23')](function(_0x3d1fe5){_0x522e7f['count']=_0x3d1fe5;if(_0x2e8cb5[_0x4aa5('0x2c')]['includeAll']){_0x2e4493[_0x4aa5('0x3c')]=[{'all':!![]}];}return db[_0x4aa5('0x27')]['findAll'](_0x2e4493);})[_0x4aa5('0x23')](function(_0x200eba){_0x522e7f[_0x4aa5('0x3d')]=_0x200eba;return _0x522e7f;})['then'](respondWithFilteredResult(_0x113cc0,_0x2e4493))[_0x4aa5('0x3e')](handleError(_0x113cc0,null));};exports[_0x4aa5('0x3f')]=function(_0x29147c,_0x57b526){var _0x29ebe6={'raw':!![],'where':{'id':_0x29147c['params']['id']}},_0x2d13a4={};_0x2d13a4[_0x4aa5('0x2b')]=_[_0x4aa5('0x2d')](db[_0x4aa5('0x27')][_0x4aa5('0x40')]);_0x2d13a4[_0x4aa5('0x2c')]=_[_0x4aa5('0x2d')](_0x29147c['query']);_0x2d13a4[_0x4aa5('0x2e')]=_[_0x4aa5('0x30')](_0x2d13a4[_0x4aa5('0x2b')],_0x2d13a4[_0x4aa5('0x2c')]);_0x29ebe6[_0x4aa5('0x2f')]=_[_0x4aa5('0x30')](_0x2d13a4[_0x4aa5('0x2b')],qs['fields'](_0x29147c[_0x4aa5('0x2c')][_0x4aa5('0x31')]));_0x29ebe6['attributes']=_0x29ebe6['attributes'][_0x4aa5('0x32')]?_0x29ebe6[_0x4aa5('0x2f')]:_0x2d13a4['model'];if(_0x29147c[_0x4aa5('0x2c')][_0x4aa5('0x41')]){_0x29ebe6[_0x4aa5('0x3c')]=[{'all':!![]}];}_0x29ebe6=_[_0x4aa5('0x38')]({},_0x29ebe6,_0x29147c['options']);return db[_0x4aa5('0x27')][_0x4aa5('0x42')](_0x29ebe6)[_0x4aa5('0x23')](handleEntityNotFound(_0x57b526,null))[_0x4aa5('0x23')](respondWithResult(_0x57b526,null))['catch'](handleError(_0x57b526,null));};exports[_0x4aa5('0x43')]=function(_0x45cec9,_0x4111a4){return db['VtigerField']['create'](_0x45cec9['body'],{})[_0x4aa5('0x23')](respondWithResult(_0x4111a4,0xc9))[_0x4aa5('0x3e')](handleError(_0x4111a4,null));};exports[_0x4aa5('0x22')]=function(_0x47d4d3,_0x5174b0){if(_0x47d4d3[_0x4aa5('0x44')]['id']){delete _0x47d4d3[_0x4aa5('0x44')]['id'];}return db[_0x4aa5('0x27')][_0x4aa5('0x42')]({'where':{'id':_0x47d4d3[_0x4aa5('0x45')]['id']}})[_0x4aa5('0x23')](handleEntityNotFound(_0x5174b0,null))[_0x4aa5('0x23')](saveUpdates(_0x47d4d3[_0x4aa5('0x44')],null))[_0x4aa5('0x23')](respondWithResult(_0x5174b0,null))[_0x4aa5('0x3e')](handleError(_0x5174b0,null));};exports[_0x4aa5('0x46')]=function(_0xde57f8,_0x474d6d){return db['VtigerField']['find']({'where':{'id':_0xde57f8[_0x4aa5('0x45')]['id']}})[_0x4aa5('0x23')](handleEntityNotFound(_0x474d6d,null))[_0x4aa5('0x23')](removeEntity(_0x474d6d,null))['catch'](handleError(_0x474d6d,null));};