Built motion from commit ddca4d0d.|2.5.47
[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 _0xdf4b=['count','offset','limit','set','Content-Range','save','update','destroy','then','stack','name','send','index','map','VtigerField','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','where','filter','VIRTUAL','merge','includeAll','include','show','options','find','catch','create','body','params','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','undefined'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xdf4b,0x76));var _0xbdf4=function(_0x338b97,_0x3da069){_0x338b97=_0x338b97-0x0;var _0x99e351=_0xdf4b[_0x338b97];return _0x99e351;};'use strict';var emlformat=require(_0xbdf4('0x0'));var rimraf=require(_0xbdf4('0x1'));var zipdir=require(_0xbdf4('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xbdf4('0x3'));var moment=require(_0xbdf4('0x4'));var BPromise=require(_0xbdf4('0x5'));var Mustache=require(_0xbdf4('0x6'));var util=require(_0xbdf4('0x7'));var path=require(_0xbdf4('0x8'));var sox=require(_0xbdf4('0x9'));var csv=require('to-csv');var ejs=require(_0xbdf4('0xa'));var fs=require('fs');var fs_extra=require(_0xbdf4('0xb'));var _=require('lodash');var squel=require(_0xbdf4('0xc'));var crypto=require(_0xbdf4('0xd'));var jsforce=require(_0xbdf4('0xe'));var deskjs=require(_0xbdf4('0xf'));var toCsv=require(_0xbdf4('0x10'));var querystring=require(_0xbdf4('0x11'));var Papa=require(_0xbdf4('0x12'));var Redis=require(_0xbdf4('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xbdf4('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbdf4('0x15'));var logger=require(_0xbdf4('0x16'))(_0xbdf4('0x17'));var utils=require(_0xbdf4('0x18'));var config=require(_0xbdf4('0x19'));var licenseUtil=require(_0xbdf4('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3b54e6,_0x47eb24){_0x47eb24=_0x47eb24||0xcc;return function(_0x26b76a){if(_0x26b76a){return _0x3b54e6[_0xbdf4('0x1b')](_0x47eb24);}return _0x3b54e6[_0xbdf4('0x1c')](_0x47eb24)[_0xbdf4('0x1d')]();};}function respondWithResult(_0x33f1fb,_0x56eac3){_0x56eac3=_0x56eac3||0xc8;return function(_0x56ef6d){if(_0x56ef6d){return _0x33f1fb[_0xbdf4('0x1c')](_0x56eac3)[_0xbdf4('0x1e')](_0x56ef6d);}};}function respondWithFilteredResult(_0x56b321,_0x1e5ddc){return function(_0x5a504b){if(_0x5a504b){var _0x2daa85=typeof _0x1e5ddc['offset']===_0xbdf4('0x1f')&&typeof _0x1e5ddc['limit']==='undefined';var _0x28d79a=_0x5a504b[_0xbdf4('0x20')];var _0x2d397d=_0x2daa85?0x0:_0x1e5ddc[_0xbdf4('0x21')];var _0xfae8c6=_0x2daa85?_0x5a504b[_0xbdf4('0x20')]:_0x1e5ddc[_0xbdf4('0x21')]+_0x1e5ddc[_0xbdf4('0x22')];var _0x231807;if(_0xfae8c6>=_0x28d79a){_0xfae8c6=_0x28d79a;_0x231807=0xc8;}else{_0x231807=0xce;}_0x56b321[_0xbdf4('0x1c')](_0x231807);return _0x56b321[_0xbdf4('0x23')](_0xbdf4('0x24'),_0x2d397d+'-'+_0xfae8c6+'/'+_0x28d79a)[_0xbdf4('0x1e')](_0x5a504b);}return null;};}function patchUpdates(_0x44fdc4){return function(_0x37f83b){try{jsonpatch['apply'](_0x37f83b,_0x44fdc4,!![]);}catch(_0x378a8e){return BPromise['reject'](_0x378a8e);}return _0x37f83b[_0xbdf4('0x25')]();};}function saveUpdates(_0x152483,_0x54cde2){return function(_0x32b16b){if(_0x32b16b){return _0x32b16b[_0xbdf4('0x26')](_0x152483)['then'](function(_0x1f7614){return _0x1f7614;});}return null;};}function removeEntity(_0x4bda6c,_0x1e67d6){return function(_0xd7ea6e){if(_0xd7ea6e){return _0xd7ea6e[_0xbdf4('0x27')]()[_0xbdf4('0x28')](function(){_0x4bda6c[_0xbdf4('0x1c')](0xcc)[_0xbdf4('0x1d')]();});}};}function handleEntityNotFound(_0x4dd8a5,_0x140d27){return function(_0x5df987){if(!_0x5df987){_0x4dd8a5[_0xbdf4('0x1b')](0x194);}return _0x5df987;};}function handleError(_0xc06bb,_0x42db85){_0x42db85=_0x42db85||0x1f4;return function(_0x446ecd){logger['error'](_0x446ecd[_0xbdf4('0x29')]);if(_0x446ecd[_0xbdf4('0x2a')]){delete _0x446ecd[_0xbdf4('0x2a')];}_0xc06bb['status'](_0x42db85)[_0xbdf4('0x2b')](_0x446ecd);};}exports[_0xbdf4('0x2c')]=function(_0x8bae35,_0xa1231b){var _0x16c370={},_0x2235f2={},_0x374b52={'count':0x0,'rows':[]};var _0x238a0e=_[_0xbdf4('0x2d')](db[_0xbdf4('0x2e')][_0xbdf4('0x2f')],function(_0x908feb){return{'name':_0x908feb[_0xbdf4('0x30')],'type':_0x908feb[_0xbdf4('0x31')][_0xbdf4('0x32')]};});_0x2235f2[_0xbdf4('0x33')]=_[_0xbdf4('0x2d')](_0x238a0e,_0xbdf4('0x2a'));_0x2235f2[_0xbdf4('0x34')]=_[_0xbdf4('0x35')](_0x8bae35['query']);_0x2235f2[_0xbdf4('0x36')]=_[_0xbdf4('0x37')](_0x2235f2['model'],_0x2235f2[_0xbdf4('0x34')]);_0x16c370[_0xbdf4('0x38')]=_[_0xbdf4('0x37')](_0x2235f2[_0xbdf4('0x33')],qs[_0xbdf4('0x39')](_0x8bae35[_0xbdf4('0x34')][_0xbdf4('0x39')]));_0x16c370[_0xbdf4('0x38')]=_0x16c370[_0xbdf4('0x38')][_0xbdf4('0x3a')]?_0x16c370[_0xbdf4('0x38')]:_0x2235f2[_0xbdf4('0x33')];if(!_0x8bae35[_0xbdf4('0x34')][_0xbdf4('0x3b')](_0xbdf4('0x3c'))){_0x16c370[_0xbdf4('0x22')]=qs[_0xbdf4('0x22')](_0x8bae35['query'][_0xbdf4('0x22')]);_0x16c370['offset']=qs[_0xbdf4('0x21')](_0x8bae35[_0xbdf4('0x34')]['offset']);}_0x16c370[_0xbdf4('0x3d')]=qs['sort'](_0x8bae35[_0xbdf4('0x34')]['sort']);_0x16c370[_0xbdf4('0x3e')]=qs[_0xbdf4('0x36')](_['pick'](_0x8bae35[_0xbdf4('0x34')],_0x2235f2[_0xbdf4('0x36')]),_0x238a0e);if(_0x8bae35[_0xbdf4('0x34')][_0xbdf4('0x3f')]){_0x16c370[_0xbdf4('0x3e')]=_['merge'](_0x16c370[_0xbdf4('0x3e')],{'$or':_[_0xbdf4('0x2d')](_0x238a0e,function(_0x58a85f){if(_0x58a85f[_0xbdf4('0x31')]!==_0xbdf4('0x40')){var _0x21d4b8={};_0x21d4b8[_0x58a85f[_0xbdf4('0x2a')]]={'$like':'%'+_0x8bae35[_0xbdf4('0x34')]['filter']+'%'};return _0x21d4b8;}})});}_0x16c370=_[_0xbdf4('0x41')]({},_0x16c370,_0x8bae35['options']);var _0x1ae12e={'where':_0x16c370['where']};return db['VtigerField'][_0xbdf4('0x20')](_0x1ae12e)[_0xbdf4('0x28')](function(_0x2fa719){_0x374b52[_0xbdf4('0x20')]=_0x2fa719;if(_0x8bae35[_0xbdf4('0x34')][_0xbdf4('0x42')]){_0x16c370[_0xbdf4('0x43')]=[{'all':!![]}];}return db[_0xbdf4('0x2e')]['findAll'](_0x16c370);})[_0xbdf4('0x28')](function(_0x2845ba){_0x374b52['rows']=_0x2845ba;return _0x374b52;})[_0xbdf4('0x28')](respondWithFilteredResult(_0xa1231b,_0x16c370))['catch'](handleError(_0xa1231b,null));};exports[_0xbdf4('0x44')]=function(_0x46ee83,_0x56134){var _0x11a44f={'raw':!![],'where':{'id':_0x46ee83['params']['id']}},_0x513aec={};_0x513aec[_0xbdf4('0x33')]=_[_0xbdf4('0x35')](db['VtigerField'][_0xbdf4('0x2f')]);_0x513aec[_0xbdf4('0x34')]=_[_0xbdf4('0x35')](_0x46ee83['query']);_0x513aec[_0xbdf4('0x36')]=_['intersection'](_0x513aec[_0xbdf4('0x33')],_0x513aec[_0xbdf4('0x34')]);_0x11a44f[_0xbdf4('0x38')]=_[_0xbdf4('0x37')](_0x513aec['model'],qs[_0xbdf4('0x39')](_0x46ee83['query']['fields']));_0x11a44f['attributes']=_0x11a44f[_0xbdf4('0x38')]['length']?_0x11a44f[_0xbdf4('0x38')]:_0x513aec[_0xbdf4('0x33')];if(_0x46ee83[_0xbdf4('0x34')][_0xbdf4('0x42')]){_0x11a44f['include']=[{'all':!![]}];}_0x11a44f=_['merge']({},_0x11a44f,_0x46ee83[_0xbdf4('0x45')]);return db[_0xbdf4('0x2e')][_0xbdf4('0x46')](_0x11a44f)['then'](handleEntityNotFound(_0x56134,null))[_0xbdf4('0x28')](respondWithResult(_0x56134,null))[_0xbdf4('0x47')](handleError(_0x56134,null));};exports['create']=function(_0x3c346a,_0x585dd1){return db[_0xbdf4('0x2e')][_0xbdf4('0x48')](_0x3c346a[_0xbdf4('0x49')],{})[_0xbdf4('0x28')](respondWithResult(_0x585dd1,0xc9))[_0xbdf4('0x47')](handleError(_0x585dd1,null));};exports[_0xbdf4('0x26')]=function(_0xe6e074,_0x3557a5){if(_0xe6e074['body']['id']){delete _0xe6e074['body']['id'];}return db[_0xbdf4('0x2e')][_0xbdf4('0x46')]({'where':{'id':_0xe6e074[_0xbdf4('0x4a')]['id']}})[_0xbdf4('0x28')](handleEntityNotFound(_0x3557a5,null))['then'](saveUpdates(_0xe6e074[_0xbdf4('0x49')],null))[_0xbdf4('0x28')](respondWithResult(_0x3557a5,null))['catch'](handleError(_0x3557a5,null));};exports['destroy']=function(_0xc8e6ae,_0x381841){return db['VtigerField'][_0xbdf4('0x46')]({'where':{'id':_0xc8e6ae['params']['id']}})[_0xbdf4('0x28')](handleEntityNotFound(_0x381841,null))[_0xbdf4('0x28')](removeEntity(_0x381841,null))[_0xbdf4('0x47')](handleError(_0x381841,null));};