Built motion from commit 5b761a7b.|2.5.36
[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 _0x345d=['set','Content-Range','apply','reject','save','then','destroy','error','stack','name','index','map','VtigerField','rawAttributes','type','model','keys','query','filters','intersection','attributes','fields','nolimit','order','sort','where','merge','filter','options','includeAll','include','findAll','rows','catch','show','length','find','create','body','update','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','undefined','count','limit'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x345d,0x196));var _0xd345=function(_0x53b690,_0x13a721){_0x53b690=_0x53b690-0x0;var _0x3a8c42=_0x345d[_0x53b690];return _0x3a8c42;};'use strict';var emlformat=require(_0xd345('0x0'));var rimraf=require(_0xd345('0x1'));var zipdir=require(_0xd345('0x2'));var jsonpatch=require(_0xd345('0x3'));var rp=require(_0xd345('0x4'));var moment=require('moment');var BPromise=require(_0xd345('0x5'));var Mustache=require(_0xd345('0x6'));var util=require(_0xd345('0x7'));var path=require('path');var sox=require(_0xd345('0x8'));var csv=require(_0xd345('0x9'));var ejs=require(_0xd345('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xd345('0xb'));var squel=require(_0xd345('0xc'));var crypto=require(_0xd345('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xd345('0xe'));var Papa=require(_0xd345('0xf'));var Redis=require(_0xd345('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xd345('0x11'));var as=require(_0xd345('0x12'));var hardwareService=require(_0xd345('0x13'));var logger=require(_0xd345('0x14'))(_0xd345('0x15'));var utils=require(_0xd345('0x16'));var config=require(_0xd345('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xbc9805,_0x294a04){_0x294a04=_0x294a04||0xcc;return function(_0x2d263e){if(_0x2d263e){return _0xbc9805[_0xd345('0x18')](_0x294a04);}return _0xbc9805[_0xd345('0x19')](_0x294a04)[_0xd345('0x1a')]();};}function respondWithResult(_0x24e2bf,_0x3a0708){_0x3a0708=_0x3a0708||0xc8;return function(_0x234c2e){if(_0x234c2e){return _0x24e2bf[_0xd345('0x19')](_0x3a0708)[_0xd345('0x1b')](_0x234c2e);}};}function respondWithFilteredResult(_0x5e47d2,_0x55ec35){return function(_0x5d54d3){if(_0x5d54d3){var _0x3b23ca=typeof _0x55ec35[_0xd345('0x1c')]===_0xd345('0x1d')&&typeof _0x55ec35['limit']===_0xd345('0x1d');var _0xbc026f=_0x5d54d3[_0xd345('0x1e')];var _0x2e6b1a=_0x3b23ca?0x0:_0x55ec35[_0xd345('0x1c')];var _0x3bfdc0=_0x3b23ca?_0x5d54d3['count']:_0x55ec35[_0xd345('0x1c')]+_0x55ec35[_0xd345('0x1f')];var _0x236bbe;if(_0x3bfdc0>=_0xbc026f){_0x3bfdc0=_0xbc026f;_0x236bbe=0xc8;}else{_0x236bbe=0xce;}_0x5e47d2['status'](_0x236bbe);return _0x5e47d2[_0xd345('0x20')](_0xd345('0x21'),_0x2e6b1a+'-'+_0x3bfdc0+'/'+_0xbc026f)[_0xd345('0x1b')](_0x5d54d3);}return null;};}function patchUpdates(_0x53b7bd){return function(_0x1881e5){try{jsonpatch[_0xd345('0x22')](_0x1881e5,_0x53b7bd,!![]);}catch(_0x48c0b7){return BPromise[_0xd345('0x23')](_0x48c0b7);}return _0x1881e5[_0xd345('0x24')]();};}function saveUpdates(_0x58091f,_0x507b62){return function(_0x48e4c1){if(_0x48e4c1){return _0x48e4c1['update'](_0x58091f)[_0xd345('0x25')](function(_0x154397){return _0x154397;});}return null;};}function removeEntity(_0xbfa175,_0x4da299){return function(_0x129e51){if(_0x129e51){return _0x129e51[_0xd345('0x26')]()[_0xd345('0x25')](function(){_0xbfa175[_0xd345('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0xc346fa,_0x5276a7){return function(_0x449e45){if(!_0x449e45){_0xc346fa[_0xd345('0x18')](0x194);}return _0x449e45;};}function handleError(_0x5718fa,_0x583e79){_0x583e79=_0x583e79||0x1f4;return function(_0x4c95ee){logger[_0xd345('0x27')](_0x4c95ee[_0xd345('0x28')]);if(_0x4c95ee[_0xd345('0x29')]){delete _0x4c95ee['name'];}_0x5718fa['status'](_0x583e79)['send'](_0x4c95ee);};}exports[_0xd345('0x2a')]=function(_0x19985c,_0x182157){var _0x485613={},_0x13c0d5={},_0x2b82c4={'count':0x0,'rows':[]};var _0x448db5=_[_0xd345('0x2b')](db[_0xd345('0x2c')][_0xd345('0x2d')],function(_0x58700e){return{'name':_0x58700e['fieldName'],'type':_0x58700e[_0xd345('0x2e')]['key']};});_0x13c0d5[_0xd345('0x2f')]=_[_0xd345('0x2b')](_0x448db5,_0xd345('0x29'));_0x13c0d5['query']=_[_0xd345('0x30')](_0x19985c[_0xd345('0x31')]);_0x13c0d5[_0xd345('0x32')]=_[_0xd345('0x33')](_0x13c0d5['model'],_0x13c0d5['query']);_0x485613[_0xd345('0x34')]=_[_0xd345('0x33')](_0x13c0d5[_0xd345('0x2f')],qs[_0xd345('0x35')](_0x19985c[_0xd345('0x31')][_0xd345('0x35')]));_0x485613[_0xd345('0x34')]=_0x485613[_0xd345('0x34')]['length']?_0x485613['attributes']:_0x13c0d5[_0xd345('0x2f')];if(!_0x19985c['query']['hasOwnProperty'](_0xd345('0x36'))){_0x485613[_0xd345('0x1f')]=qs[_0xd345('0x1f')](_0x19985c['query']['limit']);_0x485613['offset']=qs['offset'](_0x19985c[_0xd345('0x31')][_0xd345('0x1c')]);}_0x485613[_0xd345('0x37')]=qs[_0xd345('0x38')](_0x19985c[_0xd345('0x31')][_0xd345('0x38')]);_0x485613[_0xd345('0x39')]=qs[_0xd345('0x32')](_['pick'](_0x19985c['query'],_0x13c0d5[_0xd345('0x32')]),_0x448db5);if(_0x19985c[_0xd345('0x31')]['filter']){_0x485613[_0xd345('0x39')]=_[_0xd345('0x3a')](_0x485613['where'],{'$or':_[_0xd345('0x2b')](_0x448db5,function(_0x484739){if(_0x484739[_0xd345('0x2e')]!=='VIRTUAL'){var _0x2548aa={};_0x2548aa[_0x484739[_0xd345('0x29')]]={'$like':'%'+_0x19985c[_0xd345('0x31')][_0xd345('0x3b')]+'%'};return _0x2548aa;}})});}_0x485613=_['merge']({},_0x485613,_0x19985c[_0xd345('0x3c')]);var _0x4f943f={'where':_0x485613[_0xd345('0x39')]};return db['VtigerField'][_0xd345('0x1e')](_0x4f943f)[_0xd345('0x25')](function(_0x2955b7){_0x2b82c4[_0xd345('0x1e')]=_0x2955b7;if(_0x19985c[_0xd345('0x31')][_0xd345('0x3d')]){_0x485613[_0xd345('0x3e')]=[{'all':!![]}];}return db[_0xd345('0x2c')][_0xd345('0x3f')](_0x485613);})[_0xd345('0x25')](function(_0x1b3f63){_0x2b82c4[_0xd345('0x40')]=_0x1b3f63;return _0x2b82c4;})['then'](respondWithFilteredResult(_0x182157,_0x485613))[_0xd345('0x41')](handleError(_0x182157,null));};exports[_0xd345('0x42')]=function(_0x3e7bc7,_0x136414){var _0x52dc24={'raw':!![],'where':{'id':_0x3e7bc7['params']['id']}},_0x4932a6={};_0x4932a6[_0xd345('0x2f')]=_[_0xd345('0x30')](db['VtigerField'][_0xd345('0x2d')]);_0x4932a6['query']=_[_0xd345('0x30')](_0x3e7bc7[_0xd345('0x31')]);_0x4932a6[_0xd345('0x32')]=_[_0xd345('0x33')](_0x4932a6[_0xd345('0x2f')],_0x4932a6['query']);_0x52dc24[_0xd345('0x34')]=_[_0xd345('0x33')](_0x4932a6['model'],qs[_0xd345('0x35')](_0x3e7bc7['query'][_0xd345('0x35')]));_0x52dc24['attributes']=_0x52dc24[_0xd345('0x34')][_0xd345('0x43')]?_0x52dc24['attributes']:_0x4932a6['model'];if(_0x3e7bc7[_0xd345('0x31')][_0xd345('0x3d')]){_0x52dc24[_0xd345('0x3e')]=[{'all':!![]}];}_0x52dc24=_['merge']({},_0x52dc24,_0x3e7bc7[_0xd345('0x3c')]);return db[_0xd345('0x2c')][_0xd345('0x44')](_0x52dc24)[_0xd345('0x25')](handleEntityNotFound(_0x136414,null))[_0xd345('0x25')](respondWithResult(_0x136414,null))['catch'](handleError(_0x136414,null));};exports['create']=function(_0x4a8d3a,_0x5dc818){return db[_0xd345('0x2c')][_0xd345('0x45')](_0x4a8d3a[_0xd345('0x46')],{})[_0xd345('0x25')](respondWithResult(_0x5dc818,0xc9))[_0xd345('0x41')](handleError(_0x5dc818,null));};exports[_0xd345('0x47')]=function(_0x4e1be1,_0x2ecf6e){if(_0x4e1be1[_0xd345('0x46')]['id']){delete _0x4e1be1['body']['id'];}return db[_0xd345('0x2c')]['find']({'where':{'id':_0x4e1be1[_0xd345('0x48')]['id']}})[_0xd345('0x25')](handleEntityNotFound(_0x2ecf6e,null))['then'](saveUpdates(_0x4e1be1[_0xd345('0x46')],null))['then'](respondWithResult(_0x2ecf6e,null))[_0xd345('0x41')](handleError(_0x2ecf6e,null));};exports[_0xd345('0x26')]=function(_0x450170,_0x151de2){return db[_0xd345('0x2c')][_0xd345('0x44')]({'where':{'id':_0x450170[_0xd345('0x48')]['id']}})[_0xd345('0x25')](handleEntityNotFound(_0x151de2,null))[_0xd345('0x25')](removeEntity(_0x151de2,null))[_0xd345('0x41')](handleError(_0x151de2,null));};