Built motion from commit (unavailable).|2.5.31
[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 _0xa89d=['show','find','catch','create','body','params','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','index','VtigerField','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','options','includeAll','include','rows'];(function(_0x34df53,_0x583165){var _0x540088=function(_0x1aba16){while(--_0x1aba16){_0x34df53['push'](_0x34df53['shift']());}};_0x540088(++_0x583165);}(_0xa89d,0xe7));var _0xda89=function(_0x3bff6d,_0x474ee3){_0x3bff6d=_0x3bff6d-0x0;var _0x4266fd=_0xa89d[_0x3bff6d];return _0x4266fd;};'use strict';var emlformat=require(_0xda89('0x0'));var rimraf=require(_0xda89('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xda89('0x2'));var rp=require('request-promise');var moment=require(_0xda89('0x3'));var BPromise=require(_0xda89('0x4'));var Mustache=require(_0xda89('0x5'));var util=require(_0xda89('0x6'));var path=require(_0xda89('0x7'));var sox=require('sox');var csv=require(_0xda89('0x8'));var ejs=require(_0xda89('0x9'));var fs=require('fs');var fs_extra=require(_0xda89('0xa'));var _=require(_0xda89('0xb'));var squel=require('squel');var crypto=require(_0xda89('0xc'));var jsforce=require(_0xda89('0xd'));var deskjs=require(_0xda89('0xe'));var toCsv=require(_0xda89('0x8'));var querystring=require(_0xda89('0xf'));var Papa=require(_0xda89('0x10'));var Redis=require(_0xda89('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xda89('0x12'));var as=require(_0xda89('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xda89('0x14'))('api');var utils=require(_0xda89('0x15'));var config=require(_0xda89('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xda89('0x17'))['db'];function respondWithStatusCode(_0x4c758d,_0x4e108e){_0x4e108e=_0x4e108e||0xcc;return function(_0x174533){if(_0x174533){return _0x4c758d[_0xda89('0x18')](_0x4e108e);}return _0x4c758d[_0xda89('0x19')](_0x4e108e)[_0xda89('0x1a')]();};}function respondWithResult(_0x612427,_0x3c3f22){_0x3c3f22=_0x3c3f22||0xc8;return function(_0x269907){if(_0x269907){return _0x612427[_0xda89('0x19')](_0x3c3f22)[_0xda89('0x1b')](_0x269907);}};}function respondWithFilteredResult(_0x17924f,_0x17ca19){return function(_0x43ea3f){if(_0x43ea3f){var _0x479efc=typeof _0x17ca19[_0xda89('0x1c')]==='undefined'&&typeof _0x17ca19[_0xda89('0x1d')]===_0xda89('0x1e');var _0x500296=_0x43ea3f[_0xda89('0x1f')];var _0xbb5e33=_0x479efc?0x0:_0x17ca19[_0xda89('0x1c')];var _0x12aab1=_0x479efc?_0x43ea3f[_0xda89('0x1f')]:_0x17ca19[_0xda89('0x1c')]+_0x17ca19['limit'];var _0x5226f1;if(_0x12aab1>=_0x500296){_0x12aab1=_0x500296;_0x5226f1=0xc8;}else{_0x5226f1=0xce;}_0x17924f[_0xda89('0x19')](_0x5226f1);return _0x17924f['set'](_0xda89('0x20'),_0xbb5e33+'-'+_0x12aab1+'/'+_0x500296)[_0xda89('0x1b')](_0x43ea3f);}return null;};}function patchUpdates(_0x2b4dd9){return function(_0x56e6c7){try{jsonpatch[_0xda89('0x21')](_0x56e6c7,_0x2b4dd9,!![]);}catch(_0x4b6ed1){return BPromise[_0xda89('0x22')](_0x4b6ed1);}return _0x56e6c7[_0xda89('0x23')]();};}function saveUpdates(_0x2f91a8,_0xc6e038){return function(_0x5a20d0){if(_0x5a20d0){return _0x5a20d0[_0xda89('0x24')](_0x2f91a8)['then'](function(_0x24bac2){return _0x24bac2;});}return null;};}function removeEntity(_0x50ce82,_0x5e67bd){return function(_0x7eb065){if(_0x7eb065){return _0x7eb065[_0xda89('0x25')]()[_0xda89('0x26')](function(){_0x50ce82[_0xda89('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x17d9ff,_0x5f3c0f){return function(_0x48a54d){if(!_0x48a54d){_0x17d9ff[_0xda89('0x18')](0x194);}return _0x48a54d;};}function handleError(_0x3cff36,_0x51c5ad){_0x51c5ad=_0x51c5ad||0x1f4;return function(_0x7b573b){logger[_0xda89('0x27')](_0x7b573b[_0xda89('0x28')]);if(_0x7b573b['name']){delete _0x7b573b[_0xda89('0x29')];}_0x3cff36[_0xda89('0x19')](_0x51c5ad)[_0xda89('0x2a')](_0x7b573b);};}exports[_0xda89('0x2b')]=function(_0x4fb31e,_0x2edd5c){var _0x23a84c={},_0x2d2a03={},_0xeec155={'count':0x0,'rows':[]};var _0x32fab2=_['map'](db[_0xda89('0x2c')]['rawAttributes'],function(_0x2997e6){return{'name':_0x2997e6[_0xda89('0x2d')],'type':_0x2997e6[_0xda89('0x2e')][_0xda89('0x2f')]};});_0x2d2a03[_0xda89('0x30')]=_[_0xda89('0x31')](_0x32fab2,_0xda89('0x29'));_0x2d2a03[_0xda89('0x32')]=_[_0xda89('0x33')](_0x4fb31e[_0xda89('0x32')]);_0x2d2a03['filters']=_[_0xda89('0x34')](_0x2d2a03[_0xda89('0x30')],_0x2d2a03['query']);_0x23a84c[_0xda89('0x35')]=_[_0xda89('0x34')](_0x2d2a03[_0xda89('0x30')],qs['fields'](_0x4fb31e[_0xda89('0x32')][_0xda89('0x36')]));_0x23a84c[_0xda89('0x35')]=_0x23a84c['attributes'][_0xda89('0x37')]?_0x23a84c[_0xda89('0x35')]:_0x2d2a03[_0xda89('0x30')];if(!_0x4fb31e[_0xda89('0x32')][_0xda89('0x38')](_0xda89('0x39'))){_0x23a84c[_0xda89('0x1d')]=qs['limit'](_0x4fb31e[_0xda89('0x32')][_0xda89('0x1d')]);_0x23a84c[_0xda89('0x1c')]=qs[_0xda89('0x1c')](_0x4fb31e[_0xda89('0x32')][_0xda89('0x1c')]);}_0x23a84c[_0xda89('0x3a')]=qs[_0xda89('0x3b')](_0x4fb31e[_0xda89('0x32')]['sort']);_0x23a84c[_0xda89('0x3c')]=qs['filters'](_[_0xda89('0x3d')](_0x4fb31e[_0xda89('0x32')],_0x2d2a03[_0xda89('0x3e')]),_0x32fab2);if(_0x4fb31e['query'][_0xda89('0x3f')]){_0x23a84c[_0xda89('0x3c')]=_[_0xda89('0x40')](_0x23a84c[_0xda89('0x3c')],{'$or':_['map'](_0x32fab2,function(_0x58572e){if(_0x58572e[_0xda89('0x2e')]!=='VIRTUAL'){var _0x533b25={};_0x533b25[_0x58572e[_0xda89('0x29')]]={'$like':'%'+_0x4fb31e[_0xda89('0x32')][_0xda89('0x3f')]+'%'};return _0x533b25;}})});}_0x23a84c=_[_0xda89('0x40')]({},_0x23a84c,_0x4fb31e[_0xda89('0x41')]);var _0x5d68c0={'where':_0x23a84c[_0xda89('0x3c')]};return db[_0xda89('0x2c')][_0xda89('0x1f')](_0x5d68c0)[_0xda89('0x26')](function(_0x1291f3){_0xeec155[_0xda89('0x1f')]=_0x1291f3;if(_0x4fb31e[_0xda89('0x32')][_0xda89('0x42')]){_0x23a84c[_0xda89('0x43')]=[{'all':!![]}];}return db['VtigerField']['findAll'](_0x23a84c);})[_0xda89('0x26')](function(_0x4df236){_0xeec155[_0xda89('0x44')]=_0x4df236;return _0xeec155;})[_0xda89('0x26')](respondWithFilteredResult(_0x2edd5c,_0x23a84c))['catch'](handleError(_0x2edd5c,null));};exports[_0xda89('0x45')]=function(_0x414bb4,_0x560b9d){var _0x2924f8={'raw':!![],'where':{'id':_0x414bb4['params']['id']}},_0x254a35={};_0x254a35[_0xda89('0x30')]=_[_0xda89('0x33')](db['VtigerField']['rawAttributes']);_0x254a35[_0xda89('0x32')]=_['keys'](_0x414bb4[_0xda89('0x32')]);_0x254a35[_0xda89('0x3e')]=_['intersection'](_0x254a35[_0xda89('0x30')],_0x254a35[_0xda89('0x32')]);_0x2924f8[_0xda89('0x35')]=_[_0xda89('0x34')](_0x254a35[_0xda89('0x30')],qs[_0xda89('0x36')](_0x414bb4[_0xda89('0x32')][_0xda89('0x36')]));_0x2924f8['attributes']=_0x2924f8[_0xda89('0x35')][_0xda89('0x37')]?_0x2924f8['attributes']:_0x254a35[_0xda89('0x30')];if(_0x414bb4[_0xda89('0x32')][_0xda89('0x42')]){_0x2924f8[_0xda89('0x43')]=[{'all':!![]}];}_0x2924f8=_[_0xda89('0x40')]({},_0x2924f8,_0x414bb4['options']);return db[_0xda89('0x2c')][_0xda89('0x46')](_0x2924f8)[_0xda89('0x26')](handleEntityNotFound(_0x560b9d,null))['then'](respondWithResult(_0x560b9d,null))[_0xda89('0x47')](handleError(_0x560b9d,null));};exports['create']=function(_0x406d99,_0x280ea9){return db[_0xda89('0x2c')][_0xda89('0x48')](_0x406d99[_0xda89('0x49')],{})[_0xda89('0x26')](respondWithResult(_0x280ea9,0xc9))[_0xda89('0x47')](handleError(_0x280ea9,null));};exports[_0xda89('0x24')]=function(_0x1d0c52,_0x122876){if(_0x1d0c52[_0xda89('0x49')]['id']){delete _0x1d0c52[_0xda89('0x49')]['id'];}return db[_0xda89('0x2c')][_0xda89('0x46')]({'where':{'id':_0x1d0c52['params']['id']}})['then'](handleEntityNotFound(_0x122876,null))[_0xda89('0x26')](saveUpdates(_0x1d0c52[_0xda89('0x49')],null))[_0xda89('0x26')](respondWithResult(_0x122876,null))[_0xda89('0x47')](handleError(_0x122876,null));};exports[_0xda89('0x25')]=function(_0x5d1cd9,_0x37e8e0){return db['VtigerField']['find']({'where':{'id':_0x5d1cd9[_0xda89('0x4a')]['id']}})[_0xda89('0x26')](handleEntityNotFound(_0x37e8e0,null))['then'](removeEntity(_0x37e8e0,null))[_0xda89('0x47')](handleError(_0x37e8e0,null));};