Built motion from commit 52c8a02d.|2.6.29
[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 _0xc0d3=['then','destroy','sendStatus','error','name','index','rawAttributes','type','key','model','map','keys','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','VtigerField','include','findAll','catch','show','params','length','includeAll','options','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update'];(function(_0x4965f0,_0x52d225){var _0x2f6047=function(_0x576c84){while(--_0x576c84){_0x4965f0['push'](_0x4965f0['shift']());}};_0x2f6047(++_0x52d225);}(_0xc0d3,0x162));var _0x3c0d=function(_0x3dec58,_0x3e770f){_0x3dec58=_0x3dec58-0x0;var _0x55db44=_0xc0d3[_0x3dec58];return _0x55db44;};'use strict';var emlformat=require(_0x3c0d('0x0'));var rimraf=require(_0x3c0d('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3c0d('0x2'));var rp=require(_0x3c0d('0x3'));var moment=require(_0x3c0d('0x4'));var BPromise=require(_0x3c0d('0x5'));var Mustache=require(_0x3c0d('0x6'));var util=require(_0x3c0d('0x7'));var path=require(_0x3c0d('0x8'));var sox=require(_0x3c0d('0x9'));var csv=require(_0x3c0d('0xa'));var ejs=require(_0x3c0d('0xb'));var fs=require('fs');var fs_extra=require(_0x3c0d('0xc'));var _=require('lodash');var squel=require(_0x3c0d('0xd'));var crypto=require(_0x3c0d('0xe'));var jsforce=require(_0x3c0d('0xf'));var deskjs=require(_0x3c0d('0x10'));var toCsv=require(_0x3c0d('0xa'));var querystring=require(_0x3c0d('0x11'));var Papa=require('papaparse');var Redis=require(_0x3c0d('0x12'));var authService=require(_0x3c0d('0x13'));var qs=require(_0x3c0d('0x14'));var as=require(_0x3c0d('0x15'));var hardwareService=require(_0x3c0d('0x16'));var logger=require(_0x3c0d('0x17'))(_0x3c0d('0x18'));var utils=require(_0x3c0d('0x19'));var config=require(_0x3c0d('0x1a'));var licenseUtil=require(_0x3c0d('0x1b'));var db=require(_0x3c0d('0x1c'))['db'];function respondWithStatusCode(_0x500d6e,_0x422742){_0x422742=_0x422742||0xcc;return function(_0x4b0a88){if(_0x4b0a88){return _0x500d6e['sendStatus'](_0x422742);}return _0x500d6e['status'](_0x422742)[_0x3c0d('0x1d')]();};}function respondWithResult(_0x508613,_0x166a68){_0x166a68=_0x166a68||0xc8;return function(_0x4ae578){if(_0x4ae578){return _0x508613[_0x3c0d('0x1e')](_0x166a68)[_0x3c0d('0x1f')](_0x4ae578);}};}function respondWithFilteredResult(_0x3aa8d1,_0x9b9f21){return function(_0x1176f2){if(_0x1176f2){var _0x43b268=typeof _0x9b9f21[_0x3c0d('0x20')]===_0x3c0d('0x21')&&typeof _0x9b9f21[_0x3c0d('0x22')]==='undefined';var _0x83dfe0=_0x1176f2[_0x3c0d('0x23')];var _0xe48465=_0x43b268?0x0:_0x9b9f21['offset'];var _0x11a347=_0x43b268?_0x1176f2[_0x3c0d('0x23')]:_0x9b9f21['offset']+_0x9b9f21[_0x3c0d('0x22')];var _0x1f718b;if(_0x11a347>=_0x83dfe0){_0x11a347=_0x83dfe0;_0x1f718b=0xc8;}else{_0x1f718b=0xce;}_0x3aa8d1['status'](_0x1f718b);return _0x3aa8d1[_0x3c0d('0x24')](_0x3c0d('0x25'),_0xe48465+'-'+_0x11a347+'/'+_0x83dfe0)[_0x3c0d('0x1f')](_0x1176f2);}return null;};}function patchUpdates(_0x3fb9a7){return function(_0x1845cd){try{jsonpatch[_0x3c0d('0x26')](_0x1845cd,_0x3fb9a7,!![]);}catch(_0x40a943){return BPromise[_0x3c0d('0x27')](_0x40a943);}return _0x1845cd['save']();};}function saveUpdates(_0x2028c4,_0x5948fa){return function(_0x3f8cc1){if(_0x3f8cc1){return _0x3f8cc1[_0x3c0d('0x28')](_0x2028c4)[_0x3c0d('0x29')](function(_0x404ae0){return _0x404ae0;});}return null;};}function removeEntity(_0x24987e,_0x17354b){return function(_0x18f834){if(_0x18f834){return _0x18f834[_0x3c0d('0x2a')]()[_0x3c0d('0x29')](function(){_0x24987e['status'](0xcc)[_0x3c0d('0x1d')]();});}};}function handleEntityNotFound(_0x4726c2,_0x39b50f){return function(_0x2be655){if(!_0x2be655){_0x4726c2[_0x3c0d('0x2b')](0x194);}return _0x2be655;};}function handleError(_0x142aca,_0x507f39){_0x507f39=_0x507f39||0x1f4;return function(_0x34429e){logger[_0x3c0d('0x2c')](_0x34429e['stack']);if(_0x34429e[_0x3c0d('0x2d')]){delete _0x34429e[_0x3c0d('0x2d')];}_0x142aca[_0x3c0d('0x1e')](_0x507f39)['send'](_0x34429e);};}exports[_0x3c0d('0x2e')]=function(_0x3d7b0d,_0x2cd178){var _0x350c73={},_0x4da738={},_0x180ad2={'count':0x0,'rows':[]};var _0x4d95df=_['map'](db['VtigerField'][_0x3c0d('0x2f')],function(_0x36d370){return{'name':_0x36d370['fieldName'],'type':_0x36d370[_0x3c0d('0x30')][_0x3c0d('0x31')]};});_0x4da738[_0x3c0d('0x32')]=_[_0x3c0d('0x33')](_0x4d95df,'name');_0x4da738['query']=_[_0x3c0d('0x34')](_0x3d7b0d[_0x3c0d('0x35')]);_0x4da738[_0x3c0d('0x36')]=_[_0x3c0d('0x37')](_0x4da738[_0x3c0d('0x32')],_0x4da738[_0x3c0d('0x35')]);_0x350c73['attributes']=_[_0x3c0d('0x37')](_0x4da738[_0x3c0d('0x32')],qs[_0x3c0d('0x38')](_0x3d7b0d['query'][_0x3c0d('0x38')]));_0x350c73['attributes']=_0x350c73['attributes']['length']?_0x350c73[_0x3c0d('0x39')]:_0x4da738[_0x3c0d('0x32')];if(!_0x3d7b0d[_0x3c0d('0x35')][_0x3c0d('0x3a')](_0x3c0d('0x3b'))){_0x350c73[_0x3c0d('0x22')]=qs[_0x3c0d('0x22')](_0x3d7b0d[_0x3c0d('0x35')][_0x3c0d('0x22')]);_0x350c73[_0x3c0d('0x20')]=qs[_0x3c0d('0x20')](_0x3d7b0d[_0x3c0d('0x35')]['offset']);}_0x350c73[_0x3c0d('0x3c')]=qs[_0x3c0d('0x3d')](_0x3d7b0d[_0x3c0d('0x35')][_0x3c0d('0x3d')]);_0x350c73[_0x3c0d('0x3e')]=qs['filters'](_[_0x3c0d('0x3f')](_0x3d7b0d[_0x3c0d('0x35')],_0x4da738[_0x3c0d('0x36')]),_0x4d95df);if(_0x3d7b0d[_0x3c0d('0x35')][_0x3c0d('0x40')]){_0x350c73[_0x3c0d('0x3e')]=_[_0x3c0d('0x41')](_0x350c73['where'],{'$or':_[_0x3c0d('0x33')](_0x4d95df,function(_0x277291){if(_0x277291[_0x3c0d('0x30')]!==_0x3c0d('0x42')){var _0x1f683f={};_0x1f683f[_0x277291['name']]={'$like':'%'+_0x3d7b0d[_0x3c0d('0x35')][_0x3c0d('0x40')]+'%'};return _0x1f683f;}})});}_0x350c73=_[_0x3c0d('0x41')]({},_0x350c73,_0x3d7b0d['options']);var _0x52233a={'where':_0x350c73[_0x3c0d('0x3e')]};return db[_0x3c0d('0x43')][_0x3c0d('0x23')](_0x52233a)[_0x3c0d('0x29')](function(_0x28750b){_0x180ad2[_0x3c0d('0x23')]=_0x28750b;if(_0x3d7b0d['query']['includeAll']){_0x350c73[_0x3c0d('0x44')]=[{'all':!![]}];}return db[_0x3c0d('0x43')][_0x3c0d('0x45')](_0x350c73);})[_0x3c0d('0x29')](function(_0x26747b){_0x180ad2['rows']=_0x26747b;return _0x180ad2;})['then'](respondWithFilteredResult(_0x2cd178,_0x350c73))[_0x3c0d('0x46')](handleError(_0x2cd178,null));};exports[_0x3c0d('0x47')]=function(_0x1d5338,_0x273c3d){var _0x4608ff={'raw':!![],'where':{'id':_0x1d5338[_0x3c0d('0x48')]['id']}},_0x56c91c={};_0x56c91c['model']=_[_0x3c0d('0x34')](db[_0x3c0d('0x43')][_0x3c0d('0x2f')]);_0x56c91c['query']=_['keys'](_0x1d5338[_0x3c0d('0x35')]);_0x56c91c['filters']=_[_0x3c0d('0x37')](_0x56c91c[_0x3c0d('0x32')],_0x56c91c[_0x3c0d('0x35')]);_0x4608ff[_0x3c0d('0x39')]=_['intersection'](_0x56c91c['model'],qs[_0x3c0d('0x38')](_0x1d5338[_0x3c0d('0x35')][_0x3c0d('0x38')]));_0x4608ff[_0x3c0d('0x39')]=_0x4608ff[_0x3c0d('0x39')][_0x3c0d('0x49')]?_0x4608ff[_0x3c0d('0x39')]:_0x56c91c[_0x3c0d('0x32')];if(_0x1d5338[_0x3c0d('0x35')][_0x3c0d('0x4a')]){_0x4608ff[_0x3c0d('0x44')]=[{'all':!![]}];}_0x4608ff=_[_0x3c0d('0x41')]({},_0x4608ff,_0x1d5338[_0x3c0d('0x4b')]);return db[_0x3c0d('0x43')][_0x3c0d('0x4c')](_0x4608ff)['then'](handleEntityNotFound(_0x273c3d,null))[_0x3c0d('0x29')](respondWithResult(_0x273c3d,null))['catch'](handleError(_0x273c3d,null));};exports['create']=function(_0x35cb68,_0x4d35d9){return db[_0x3c0d('0x43')][_0x3c0d('0x4d')](_0x35cb68['body'],{})[_0x3c0d('0x29')](respondWithResult(_0x4d35d9,0xc9))['catch'](handleError(_0x4d35d9,null));};exports[_0x3c0d('0x28')]=function(_0x389c94,_0x3b46ad){if(_0x389c94[_0x3c0d('0x4e')]['id']){delete _0x389c94[_0x3c0d('0x4e')]['id'];}return db[_0x3c0d('0x43')][_0x3c0d('0x4c')]({'where':{'id':_0x389c94[_0x3c0d('0x48')]['id']}})[_0x3c0d('0x29')](handleEntityNotFound(_0x3b46ad,null))[_0x3c0d('0x29')](saveUpdates(_0x389c94[_0x3c0d('0x4e')],null))[_0x3c0d('0x29')](respondWithResult(_0x3b46ad,null))[_0x3c0d('0x46')](handleError(_0x3b46ad,null));};exports[_0x3c0d('0x2a')]=function(_0x4e11a1,_0x1a21ec){return db['VtigerField'][_0x3c0d('0x4c')]({'where':{'id':_0x4e11a1[_0x3c0d('0x48')]['id']}})[_0x3c0d('0x29')](handleEntityNotFound(_0x1a21ec,null))[_0x3c0d('0x29')](removeEntity(_0x1a21ec,null))[_0x3c0d('0x46')](handleError(_0x1a21ec,null));};