52660073969eec657455b6b14d2a3849ba9e2ecb
[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 _0xfb4e=['squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','json','limit','undefined','count','offset','set','Content-Range','apply','reject','save','then','destroy','end','error','stack','name','send','index','map','VtigerField','fieldName','key','keys','filters','intersection','model','attributes','query','fields','nolimit','order','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','rawAttributes','find','create','update','body','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash'];(function(_0x576d86,_0x28ca60){var _0x56d7d0=function(_0x467e69){while(--_0x467e69){_0x576d86['push'](_0x576d86['shift']());}};_0x56d7d0(++_0x28ca60);}(_0xfb4e,0x178));var _0xefb4=function(_0x37bf65,_0x220141){_0x37bf65=_0x37bf65-0x0;var _0x45a736=_0xfb4e[_0x37bf65];return _0x45a736;};'use strict';var emlformat=require(_0xefb4('0x0'));var rimraf=require(_0xefb4('0x1'));var zipdir=require(_0xefb4('0x2'));var jsonpatch=require(_0xefb4('0x3'));var rp=require(_0xefb4('0x4'));var moment=require(_0xefb4('0x5'));var BPromise=require(_0xefb4('0x6'));var Mustache=require('mustache');var util=require(_0xefb4('0x7'));var path=require(_0xefb4('0x8'));var sox=require(_0xefb4('0x9'));var csv=require(_0xefb4('0xa'));var ejs=require(_0xefb4('0xb'));var fs=require('fs');var fs_extra=require(_0xefb4('0xc'));var _=require(_0xefb4('0xd'));var squel=require(_0xefb4('0xe'));var crypto=require(_0xefb4('0xf'));var jsforce=require(_0xefb4('0x10'));var deskjs=require(_0xefb4('0x11'));var toCsv=require(_0xefb4('0xa'));var querystring=require(_0xefb4('0x12'));var Papa=require(_0xefb4('0x13'));var Redis=require(_0xefb4('0x14'));var authService=require(_0xefb4('0x15'));var qs=require('../../components/parsers/qs');var as=require(_0xefb4('0x16'));var hardwareService=require(_0xefb4('0x17'));var logger=require(_0xefb4('0x18'))(_0xefb4('0x19'));var utils=require(_0xefb4('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0xefb4('0x1b'));var db=require(_0xefb4('0x1c'))['db'];function respondWithStatusCode(_0x5e13f2,_0x1f9058){_0x1f9058=_0x1f9058||0xcc;return function(_0xe71d14){if(_0xe71d14){return _0x5e13f2['sendStatus'](_0x1f9058);}return _0x5e13f2[_0xefb4('0x1d')](_0x1f9058)['end']();};}function respondWithResult(_0x2521ce,_0x340e7e){_0x340e7e=_0x340e7e||0xc8;return function(_0x3ba227){if(_0x3ba227){return _0x2521ce[_0xefb4('0x1d')](_0x340e7e)[_0xefb4('0x1e')](_0x3ba227);}};}function respondWithFilteredResult(_0x51e5fd,_0x3b3156){return function(_0x3aca52){if(_0x3aca52){var _0x368d46=typeof _0x3b3156['offset']==='undefined'&&typeof _0x3b3156[_0xefb4('0x1f')]===_0xefb4('0x20');var _0x3c817f=_0x3aca52[_0xefb4('0x21')];var _0x5b3c56=_0x368d46?0x0:_0x3b3156[_0xefb4('0x22')];var _0x3301d1=_0x368d46?_0x3aca52[_0xefb4('0x21')]:_0x3b3156[_0xefb4('0x22')]+_0x3b3156['limit'];var _0x3f79e0;if(_0x3301d1>=_0x3c817f){_0x3301d1=_0x3c817f;_0x3f79e0=0xc8;}else{_0x3f79e0=0xce;}_0x51e5fd[_0xefb4('0x1d')](_0x3f79e0);return _0x51e5fd[_0xefb4('0x23')](_0xefb4('0x24'),_0x5b3c56+'-'+_0x3301d1+'/'+_0x3c817f)[_0xefb4('0x1e')](_0x3aca52);}return null;};}function patchUpdates(_0x5f053b){return function(_0x3ec5e9){try{jsonpatch[_0xefb4('0x25')](_0x3ec5e9,_0x5f053b,!![]);}catch(_0x40fb23){return BPromise[_0xefb4('0x26')](_0x40fb23);}return _0x3ec5e9[_0xefb4('0x27')]();};}function saveUpdates(_0x294045,_0x4ee1e5){return function(_0x425088){if(_0x425088){return _0x425088['update'](_0x294045)[_0xefb4('0x28')](function(_0x16db7d){return _0x16db7d;});}return null;};}function removeEntity(_0x12cc80,_0x3a2ed5){return function(_0x49f6f3){if(_0x49f6f3){return _0x49f6f3[_0xefb4('0x29')]()['then'](function(){_0x12cc80[_0xefb4('0x1d')](0xcc)[_0xefb4('0x2a')]();});}};}function handleEntityNotFound(_0x23b8ff,_0x56dd4f){return function(_0x268e44){if(!_0x268e44){_0x23b8ff['sendStatus'](0x194);}return _0x268e44;};}function handleError(_0xed49fe,_0x11f9f0){_0x11f9f0=_0x11f9f0||0x1f4;return function(_0x35ce0e){logger[_0xefb4('0x2b')](_0x35ce0e[_0xefb4('0x2c')]);if(_0x35ce0e[_0xefb4('0x2d')]){delete _0x35ce0e[_0xefb4('0x2d')];}_0xed49fe[_0xefb4('0x1d')](_0x11f9f0)[_0xefb4('0x2e')](_0x35ce0e);};}exports[_0xefb4('0x2f')]=function(_0x2c7d14,_0xe86bb2){var _0x108031={},_0x8d2776={},_0x1d4e35={'count':0x0,'rows':[]};var _0x1718f1=_[_0xefb4('0x30')](db[_0xefb4('0x31')]['rawAttributes'],function(_0x187bf3){return{'name':_0x187bf3[_0xefb4('0x32')],'type':_0x187bf3['type'][_0xefb4('0x33')]};});_0x8d2776['model']=_[_0xefb4('0x30')](_0x1718f1,_0xefb4('0x2d'));_0x8d2776['query']=_[_0xefb4('0x34')](_0x2c7d14['query']);_0x8d2776[_0xefb4('0x35')]=_[_0xefb4('0x36')](_0x8d2776[_0xefb4('0x37')],_0x8d2776['query']);_0x108031[_0xefb4('0x38')]=_['intersection'](_0x8d2776[_0xefb4('0x37')],qs['fields'](_0x2c7d14[_0xefb4('0x39')][_0xefb4('0x3a')]));_0x108031[_0xefb4('0x38')]=_0x108031['attributes']['length']?_0x108031[_0xefb4('0x38')]:_0x8d2776[_0xefb4('0x37')];if(!_0x2c7d14['query']['hasOwnProperty'](_0xefb4('0x3b'))){_0x108031[_0xefb4('0x1f')]=qs[_0xefb4('0x1f')](_0x2c7d14[_0xefb4('0x39')][_0xefb4('0x1f')]);_0x108031[_0xefb4('0x22')]=qs[_0xefb4('0x22')](_0x2c7d14[_0xefb4('0x39')][_0xefb4('0x22')]);}_0x108031[_0xefb4('0x3c')]=qs['sort'](_0x2c7d14[_0xefb4('0x39')]['sort']);_0x108031['where']=qs[_0xefb4('0x35')](_[_0xefb4('0x3d')](_0x2c7d14['query'],_0x8d2776['filters']),_0x1718f1);if(_0x2c7d14[_0xefb4('0x39')][_0xefb4('0x3e')]){_0x108031[_0xefb4('0x3f')]=_[_0xefb4('0x40')](_0x108031['where'],{'$or':_[_0xefb4('0x30')](_0x1718f1,function(_0x36dea2){if(_0x36dea2['type']!==_0xefb4('0x41')){var _0x1ab35c={};_0x1ab35c[_0x36dea2['name']]={'$like':'%'+_0x2c7d14[_0xefb4('0x39')]['filter']+'%'};return _0x1ab35c;}})});}_0x108031=_['merge']({},_0x108031,_0x2c7d14[_0xefb4('0x42')]);var _0x4d4aea={'where':_0x108031[_0xefb4('0x3f')]};return db[_0xefb4('0x31')][_0xefb4('0x21')](_0x4d4aea)[_0xefb4('0x28')](function(_0x44bd53){_0x1d4e35[_0xefb4('0x21')]=_0x44bd53;if(_0x2c7d14[_0xefb4('0x39')][_0xefb4('0x43')]){_0x108031[_0xefb4('0x44')]=[{'all':!![]}];}return db[_0xefb4('0x31')][_0xefb4('0x45')](_0x108031);})[_0xefb4('0x28')](function(_0x480d09){_0x1d4e35['rows']=_0x480d09;return _0x1d4e35;})[_0xefb4('0x28')](respondWithFilteredResult(_0xe86bb2,_0x108031))[_0xefb4('0x46')](handleError(_0xe86bb2,null));};exports[_0xefb4('0x47')]=function(_0x434d27,_0x4c4536){var _0x18e9ba={'raw':!![],'where':{'id':_0x434d27['params']['id']}},_0x2adfd1={};_0x2adfd1['model']=_['keys'](db[_0xefb4('0x31')][_0xefb4('0x48')]);_0x2adfd1['query']=_[_0xefb4('0x34')](_0x434d27[_0xefb4('0x39')]);_0x2adfd1['filters']=_[_0xefb4('0x36')](_0x2adfd1[_0xefb4('0x37')],_0x2adfd1[_0xefb4('0x39')]);_0x18e9ba['attributes']=_[_0xefb4('0x36')](_0x2adfd1['model'],qs['fields'](_0x434d27['query']['fields']));_0x18e9ba[_0xefb4('0x38')]=_0x18e9ba['attributes']['length']?_0x18e9ba[_0xefb4('0x38')]:_0x2adfd1[_0xefb4('0x37')];if(_0x434d27['query'][_0xefb4('0x43')]){_0x18e9ba['include']=[{'all':!![]}];}_0x18e9ba=_[_0xefb4('0x40')]({},_0x18e9ba,_0x434d27[_0xefb4('0x42')]);return db['VtigerField'][_0xefb4('0x49')](_0x18e9ba)[_0xefb4('0x28')](handleEntityNotFound(_0x4c4536,null))[_0xefb4('0x28')](respondWithResult(_0x4c4536,null))[_0xefb4('0x46')](handleError(_0x4c4536,null));};exports[_0xefb4('0x4a')]=function(_0x5a93a9,_0x4a27ae){return db['VtigerField'][_0xefb4('0x4a')](_0x5a93a9['body'],{})[_0xefb4('0x28')](respondWithResult(_0x4a27ae,0xc9))[_0xefb4('0x46')](handleError(_0x4a27ae,null));};exports[_0xefb4('0x4b')]=function(_0x181c05,_0x2fa09e){if(_0x181c05['body']['id']){delete _0x181c05[_0xefb4('0x4c')]['id'];}return db[_0xefb4('0x31')][_0xefb4('0x49')]({'where':{'id':_0x181c05[_0xefb4('0x4d')]['id']}})[_0xefb4('0x28')](handleEntityNotFound(_0x2fa09e,null))[_0xefb4('0x28')](saveUpdates(_0x181c05['body'],null))[_0xefb4('0x28')](respondWithResult(_0x2fa09e,null))[_0xefb4('0x46')](handleError(_0x2fa09e,null));};exports[_0xefb4('0x29')]=function(_0x23b755,_0x4197f7){return db['VtigerField'][_0xefb4('0x49')]({'where':{'id':_0x23b755[_0xefb4('0x4d')]['id']}})[_0xefb4('0x28')](handleEntityNotFound(_0x4197f7,null))[_0xefb4('0x28')](removeEntity(_0x4197f7,null))[_0xefb4('0x46')](handleError(_0x4197f7,null));};