Built motion from commit 753c950e.|2.5.42
[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 _0x4ca0=['filters','intersection','attributes','fields','length','nolimit','sort','pick','filter','merge','where','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','destroy','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','update','then','error','stack','send','map','VtigerField','rawAttributes','fieldName','type','key','model','name','query'];(function(_0x4f01de,_0x1ec9f6){var _0x22ae66=function(_0x1ddd95){while(--_0x1ddd95){_0x4f01de['push'](_0x4f01de['shift']());}};_0x22ae66(++_0x1ec9f6);}(_0x4ca0,0xf3));var _0x04ca=function(_0x164eca,_0x555e28){_0x164eca=_0x164eca-0x0;var _0x2ce562=_0x4ca0[_0x164eca];return _0x2ce562;};'use strict';var emlformat=require(_0x04ca('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x04ca('0x1'));var rp=require(_0x04ca('0x2'));var moment=require(_0x04ca('0x3'));var BPromise=require(_0x04ca('0x4'));var Mustache=require(_0x04ca('0x5'));var util=require(_0x04ca('0x6'));var path=require(_0x04ca('0x7'));var sox=require(_0x04ca('0x8'));var csv=require(_0x04ca('0x9'));var ejs=require(_0x04ca('0xa'));var fs=require('fs');var fs_extra=require(_0x04ca('0xb'));var _=require(_0x04ca('0xc'));var squel=require('squel');var crypto=require(_0x04ca('0xd'));var jsforce=require(_0x04ca('0xe'));var deskjs=require(_0x04ca('0xf'));var toCsv=require(_0x04ca('0x9'));var querystring=require(_0x04ca('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x04ca('0x11'));var qs=require(_0x04ca('0x12'));var as=require(_0x04ca('0x13'));var hardwareService=require(_0x04ca('0x14'));var logger=require('../../config/logger')(_0x04ca('0x15'));var utils=require('../../config/utils');var config=require(_0x04ca('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x04ca('0x17'))['db'];function respondWithStatusCode(_0x31168e,_0x199062){_0x199062=_0x199062||0xcc;return function(_0x16d345){if(_0x16d345){return _0x31168e[_0x04ca('0x18')](_0x199062);}return _0x31168e[_0x04ca('0x19')](_0x199062)[_0x04ca('0x1a')]();};}function respondWithResult(_0x31d233,_0x19a51e){_0x19a51e=_0x19a51e||0xc8;return function(_0x265045){if(_0x265045){return _0x31d233['status'](_0x19a51e)[_0x04ca('0x1b')](_0x265045);}};}function respondWithFilteredResult(_0x393328,_0x485084){return function(_0x315706){if(_0x315706){var _0x53c4e8=typeof _0x485084[_0x04ca('0x1c')]==='undefined'&&typeof _0x485084[_0x04ca('0x1d')]===_0x04ca('0x1e');var _0x48231d=_0x315706[_0x04ca('0x1f')];var _0x52b5a0=_0x53c4e8?0x0:_0x485084[_0x04ca('0x1c')];var _0x3c167e=_0x53c4e8?_0x315706['count']:_0x485084['offset']+_0x485084[_0x04ca('0x1d')];var _0x1606c2;if(_0x3c167e>=_0x48231d){_0x3c167e=_0x48231d;_0x1606c2=0xc8;}else{_0x1606c2=0xce;}_0x393328[_0x04ca('0x19')](_0x1606c2);return _0x393328['set'](_0x04ca('0x20'),_0x52b5a0+'-'+_0x3c167e+'/'+_0x48231d)['json'](_0x315706);}return null;};}function patchUpdates(_0x41b24d){return function(_0x52f3df){try{jsonpatch[_0x04ca('0x21')](_0x52f3df,_0x41b24d,!![]);}catch(_0x1f975f){return BPromise[_0x04ca('0x22')](_0x1f975f);}return _0x52f3df['save']();};}function saveUpdates(_0x5601ae,_0x20972f){return function(_0x21344f){if(_0x21344f){return _0x21344f[_0x04ca('0x23')](_0x5601ae)['then'](function(_0xff4dd2){return _0xff4dd2;});}return null;};}function removeEntity(_0x4aab21,_0x5d69c4){return function(_0x5e5a8c){if(_0x5e5a8c){return _0x5e5a8c['destroy']()[_0x04ca('0x24')](function(){_0x4aab21[_0x04ca('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3746a4,_0x579563){return function(_0x223fdb){if(!_0x223fdb){_0x3746a4[_0x04ca('0x18')](0x194);}return _0x223fdb;};}function handleError(_0x18c3d5,_0x1acf84){_0x1acf84=_0x1acf84||0x1f4;return function(_0x40174e){logger[_0x04ca('0x25')](_0x40174e[_0x04ca('0x26')]);if(_0x40174e['name']){delete _0x40174e['name'];}_0x18c3d5[_0x04ca('0x19')](_0x1acf84)[_0x04ca('0x27')](_0x40174e);};}exports['index']=function(_0x44e91b,_0x528f80){var _0x5cf6c3={},_0x530b40={},_0x1d8b0e={'count':0x0,'rows':[]};var _0x4be0e1=_[_0x04ca('0x28')](db[_0x04ca('0x29')][_0x04ca('0x2a')],function(_0x443ce9){return{'name':_0x443ce9[_0x04ca('0x2b')],'type':_0x443ce9[_0x04ca('0x2c')][_0x04ca('0x2d')]};});_0x530b40[_0x04ca('0x2e')]=_[_0x04ca('0x28')](_0x4be0e1,_0x04ca('0x2f'));_0x530b40['query']=_['keys'](_0x44e91b[_0x04ca('0x30')]);_0x530b40[_0x04ca('0x31')]=_[_0x04ca('0x32')](_0x530b40['model'],_0x530b40[_0x04ca('0x30')]);_0x5cf6c3[_0x04ca('0x33')]=_[_0x04ca('0x32')](_0x530b40[_0x04ca('0x2e')],qs[_0x04ca('0x34')](_0x44e91b[_0x04ca('0x30')][_0x04ca('0x34')]));_0x5cf6c3[_0x04ca('0x33')]=_0x5cf6c3[_0x04ca('0x33')][_0x04ca('0x35')]?_0x5cf6c3[_0x04ca('0x33')]:_0x530b40[_0x04ca('0x2e')];if(!_0x44e91b['query']['hasOwnProperty'](_0x04ca('0x36'))){_0x5cf6c3[_0x04ca('0x1d')]=qs[_0x04ca('0x1d')](_0x44e91b[_0x04ca('0x30')][_0x04ca('0x1d')]);_0x5cf6c3[_0x04ca('0x1c')]=qs[_0x04ca('0x1c')](_0x44e91b[_0x04ca('0x30')][_0x04ca('0x1c')]);}_0x5cf6c3['order']=qs[_0x04ca('0x37')](_0x44e91b[_0x04ca('0x30')]['sort']);_0x5cf6c3['where']=qs[_0x04ca('0x31')](_[_0x04ca('0x38')](_0x44e91b[_0x04ca('0x30')],_0x530b40[_0x04ca('0x31')]),_0x4be0e1);if(_0x44e91b[_0x04ca('0x30')][_0x04ca('0x39')]){_0x5cf6c3['where']=_[_0x04ca('0x3a')](_0x5cf6c3[_0x04ca('0x3b')],{'$or':_[_0x04ca('0x28')](_0x4be0e1,function(_0x584406){if(_0x584406['type']!==_0x04ca('0x3c')){var _0x472f0c={};_0x472f0c[_0x584406[_0x04ca('0x2f')]]={'$like':'%'+_0x44e91b[_0x04ca('0x30')]['filter']+'%'};return _0x472f0c;}})});}_0x5cf6c3=_[_0x04ca('0x3a')]({},_0x5cf6c3,_0x44e91b[_0x04ca('0x3d')]);var _0x1c0ddc={'where':_0x5cf6c3['where']};return db[_0x04ca('0x29')]['count'](_0x1c0ddc)[_0x04ca('0x24')](function(_0x1b1da3){_0x1d8b0e[_0x04ca('0x1f')]=_0x1b1da3;if(_0x44e91b[_0x04ca('0x30')][_0x04ca('0x3e')]){_0x5cf6c3[_0x04ca('0x3f')]=[{'all':!![]}];}return db['VtigerField'][_0x04ca('0x40')](_0x5cf6c3);})[_0x04ca('0x24')](function(_0x24bbd6){_0x1d8b0e[_0x04ca('0x41')]=_0x24bbd6;return _0x1d8b0e;})[_0x04ca('0x24')](respondWithFilteredResult(_0x528f80,_0x5cf6c3))[_0x04ca('0x42')](handleError(_0x528f80,null));};exports[_0x04ca('0x43')]=function(_0x1c1a2d,_0x352a0a){var _0x3dbb99={'raw':!![],'where':{'id':_0x1c1a2d[_0x04ca('0x44')]['id']}},_0x453e9a={};_0x453e9a[_0x04ca('0x2e')]=_['keys'](db[_0x04ca('0x29')][_0x04ca('0x2a')]);_0x453e9a['query']=_['keys'](_0x1c1a2d['query']);_0x453e9a[_0x04ca('0x31')]=_['intersection'](_0x453e9a[_0x04ca('0x2e')],_0x453e9a['query']);_0x3dbb99['attributes']=_[_0x04ca('0x32')](_0x453e9a['model'],qs['fields'](_0x1c1a2d[_0x04ca('0x30')]['fields']));_0x3dbb99[_0x04ca('0x33')]=_0x3dbb99[_0x04ca('0x33')][_0x04ca('0x35')]?_0x3dbb99[_0x04ca('0x33')]:_0x453e9a[_0x04ca('0x2e')];if(_0x1c1a2d[_0x04ca('0x30')][_0x04ca('0x3e')]){_0x3dbb99['include']=[{'all':!![]}];}_0x3dbb99=_[_0x04ca('0x3a')]({},_0x3dbb99,_0x1c1a2d[_0x04ca('0x3d')]);return db[_0x04ca('0x29')][_0x04ca('0x45')](_0x3dbb99)[_0x04ca('0x24')](handleEntityNotFound(_0x352a0a,null))[_0x04ca('0x24')](respondWithResult(_0x352a0a,null))['catch'](handleError(_0x352a0a,null));};exports[_0x04ca('0x46')]=function(_0x2551cc,_0x46bc6d){return db[_0x04ca('0x29')][_0x04ca('0x46')](_0x2551cc[_0x04ca('0x47')],{})['then'](respondWithResult(_0x46bc6d,0xc9))[_0x04ca('0x42')](handleError(_0x46bc6d,null));};exports[_0x04ca('0x23')]=function(_0x2f9eec,_0x147068){if(_0x2f9eec[_0x04ca('0x47')]['id']){delete _0x2f9eec[_0x04ca('0x47')]['id'];}return db[_0x04ca('0x29')]['find']({'where':{'id':_0x2f9eec[_0x04ca('0x44')]['id']}})[_0x04ca('0x24')](handleEntityNotFound(_0x147068,null))['then'](saveUpdates(_0x2f9eec[_0x04ca('0x47')],null))[_0x04ca('0x24')](respondWithResult(_0x147068,null))[_0x04ca('0x42')](handleError(_0x147068,null));};exports[_0x04ca('0x48')]=function(_0x3c49ce,_0x11e169){return db['VtigerField'][_0x04ca('0x45')]({'where':{'id':_0x3c49ce[_0x04ca('0x44')]['id']}})[_0x04ca('0x24')](handleEntityNotFound(_0x11e169,null))[_0x04ca('0x24')](removeEntity(_0x11e169,null))[_0x04ca('0x42')](handleError(_0x11e169,null));};