1f6a4b5dd26fdc136efe8556c7a9a4ffb80450b4
[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 _0xe468=['status','json','undefined','offset','count','set','Content-Range','apply','reject','update','destroy','then','end','error','stack','name','send','map','VtigerField','rawAttributes','fieldName','type','key','keys','query','filters','model','attributes','fields','length','hasOwnProperty','limit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','intersection','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','moment','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus'];(function(_0x240ad5,_0x5e125b){var _0x9cc8f5=function(_0x1e376e){while(--_0x1e376e){_0x240ad5['push'](_0x240ad5['shift']());}};_0x9cc8f5(++_0x5e125b);}(_0xe468,0x162));var _0x8e46=function(_0x161b60,_0x539e02){_0x161b60=_0x161b60-0x0;var _0x4fffdd=_0xe468[_0x161b60];return _0x4fffdd;};'use strict';var emlformat=require(_0x8e46('0x0'));var rimraf=require(_0x8e46('0x1'));var zipdir=require(_0x8e46('0x2'));var jsonpatch=require(_0x8e46('0x3'));var rp=require('request-promise');var moment=require(_0x8e46('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x8e46('0x5'));var path=require(_0x8e46('0x6'));var sox=require(_0x8e46('0x7'));var csv=require(_0x8e46('0x8'));var ejs=require(_0x8e46('0x9'));var fs=require('fs');var fs_extra=require(_0x8e46('0xa'));var _=require(_0x8e46('0xb'));var squel=require(_0x8e46('0xc'));var crypto=require(_0x8e46('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x8e46('0xe'));var toCsv=require(_0x8e46('0x8'));var querystring=require(_0x8e46('0xf'));var Papa=require(_0x8e46('0x10'));var Redis=require(_0x8e46('0x11'));var authService=require(_0x8e46('0x12'));var qs=require(_0x8e46('0x13'));var as=require(_0x8e46('0x14'));var hardwareService=require(_0x8e46('0x15'));var logger=require('../../config/logger')(_0x8e46('0x16'));var utils=require('../../config/utils');var config=require(_0x8e46('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x8e46('0x18'))['db'];function respondWithStatusCode(_0xc91a49,_0x13c865){_0x13c865=_0x13c865||0xcc;return function(_0x4cd65d){if(_0x4cd65d){return _0xc91a49[_0x8e46('0x19')](_0x13c865);}return _0xc91a49[_0x8e46('0x1a')](_0x13c865)['end']();};}function respondWithResult(_0x31c59c,_0x540e70){_0x540e70=_0x540e70||0xc8;return function(_0x5d4073){if(_0x5d4073){return _0x31c59c[_0x8e46('0x1a')](_0x540e70)[_0x8e46('0x1b')](_0x5d4073);}};}function respondWithFilteredResult(_0x240f10,_0x5acd1b){return function(_0x2d3590){if(_0x2d3590){var _0x5c36e=typeof _0x5acd1b['offset']===_0x8e46('0x1c')&&typeof _0x5acd1b['limit']===_0x8e46('0x1c');var _0x4f1ab3=_0x2d3590['count'];var _0x462efb=_0x5c36e?0x0:_0x5acd1b[_0x8e46('0x1d')];var _0x2c5fef=_0x5c36e?_0x2d3590[_0x8e46('0x1e')]:_0x5acd1b[_0x8e46('0x1d')]+_0x5acd1b['limit'];var _0x5c588d;if(_0x2c5fef>=_0x4f1ab3){_0x2c5fef=_0x4f1ab3;_0x5c588d=0xc8;}else{_0x5c588d=0xce;}_0x240f10[_0x8e46('0x1a')](_0x5c588d);return _0x240f10[_0x8e46('0x1f')](_0x8e46('0x20'),_0x462efb+'-'+_0x2c5fef+'/'+_0x4f1ab3)['json'](_0x2d3590);}return null;};}function patchUpdates(_0x216c74){return function(_0x152284){try{jsonpatch[_0x8e46('0x21')](_0x152284,_0x216c74,!![]);}catch(_0x5d931f){return BPromise[_0x8e46('0x22')](_0x5d931f);}return _0x152284['save']();};}function saveUpdates(_0x4c9ff9,_0x4d31a7){return function(_0x22ba2a){if(_0x22ba2a){return _0x22ba2a[_0x8e46('0x23')](_0x4c9ff9)['then'](function(_0x2ee222){return _0x2ee222;});}return null;};}function removeEntity(_0x503c4c,_0x58238b){return function(_0x4fffe0){if(_0x4fffe0){return _0x4fffe0[_0x8e46('0x24')]()[_0x8e46('0x25')](function(){_0x503c4c[_0x8e46('0x1a')](0xcc)[_0x8e46('0x26')]();});}};}function handleEntityNotFound(_0x31587e,_0x2eb5d6){return function(_0x5f4433){if(!_0x5f4433){_0x31587e[_0x8e46('0x19')](0x194);}return _0x5f4433;};}function handleError(_0x46349a,_0x485352){_0x485352=_0x485352||0x1f4;return function(_0x2631ce){logger[_0x8e46('0x27')](_0x2631ce[_0x8e46('0x28')]);if(_0x2631ce[_0x8e46('0x29')]){delete _0x2631ce['name'];}_0x46349a[_0x8e46('0x1a')](_0x485352)[_0x8e46('0x2a')](_0x2631ce);};}exports['index']=function(_0x16a0ef,_0x5da643){var _0x58d7f5={},_0x24e761={},_0x496182={'count':0x0,'rows':[]};var _0x80a57=_[_0x8e46('0x2b')](db[_0x8e46('0x2c')][_0x8e46('0x2d')],function(_0xfa4efa){return{'name':_0xfa4efa[_0x8e46('0x2e')],'type':_0xfa4efa[_0x8e46('0x2f')][_0x8e46('0x30')]};});_0x24e761['model']=_[_0x8e46('0x2b')](_0x80a57,_0x8e46('0x29'));_0x24e761['query']=_[_0x8e46('0x31')](_0x16a0ef[_0x8e46('0x32')]);_0x24e761[_0x8e46('0x33')]=_['intersection'](_0x24e761[_0x8e46('0x34')],_0x24e761['query']);_0x58d7f5[_0x8e46('0x35')]=_['intersection'](_0x24e761[_0x8e46('0x34')],qs[_0x8e46('0x36')](_0x16a0ef[_0x8e46('0x32')][_0x8e46('0x36')]));_0x58d7f5[_0x8e46('0x35')]=_0x58d7f5['attributes'][_0x8e46('0x37')]?_0x58d7f5[_0x8e46('0x35')]:_0x24e761['model'];if(!_0x16a0ef[_0x8e46('0x32')][_0x8e46('0x38')]('nolimit')){_0x58d7f5[_0x8e46('0x39')]=qs[_0x8e46('0x39')](_0x16a0ef[_0x8e46('0x32')][_0x8e46('0x39')]);_0x58d7f5[_0x8e46('0x1d')]=qs[_0x8e46('0x1d')](_0x16a0ef[_0x8e46('0x32')]['offset']);}_0x58d7f5[_0x8e46('0x3a')]=qs['sort'](_0x16a0ef[_0x8e46('0x32')][_0x8e46('0x3b')]);_0x58d7f5['where']=qs[_0x8e46('0x33')](_[_0x8e46('0x3c')](_0x16a0ef[_0x8e46('0x32')],_0x24e761[_0x8e46('0x33')]),_0x80a57);if(_0x16a0ef[_0x8e46('0x32')][_0x8e46('0x3d')]){_0x58d7f5[_0x8e46('0x3e')]=_[_0x8e46('0x3f')](_0x58d7f5[_0x8e46('0x3e')],{'$or':_[_0x8e46('0x2b')](_0x80a57,function(_0x378026){if(_0x378026[_0x8e46('0x2f')]!==_0x8e46('0x40')){var _0xb956e8={};_0xb956e8[_0x378026[_0x8e46('0x29')]]={'$like':'%'+_0x16a0ef[_0x8e46('0x32')][_0x8e46('0x3d')]+'%'};return _0xb956e8;}})});}_0x58d7f5=_[_0x8e46('0x3f')]({},_0x58d7f5,_0x16a0ef[_0x8e46('0x41')]);var _0x579979={'where':_0x58d7f5[_0x8e46('0x3e')]};return db[_0x8e46('0x2c')][_0x8e46('0x1e')](_0x579979)[_0x8e46('0x25')](function(_0x22bbd4){_0x496182[_0x8e46('0x1e')]=_0x22bbd4;if(_0x16a0ef['query'][_0x8e46('0x42')]){_0x58d7f5[_0x8e46('0x43')]=[{'all':!![]}];}return db[_0x8e46('0x2c')][_0x8e46('0x44')](_0x58d7f5);})[_0x8e46('0x25')](function(_0x30777e){_0x496182[_0x8e46('0x45')]=_0x30777e;return _0x496182;})[_0x8e46('0x25')](respondWithFilteredResult(_0x5da643,_0x58d7f5))[_0x8e46('0x46')](handleError(_0x5da643,null));};exports['show']=function(_0x4e48aa,_0x2431bf){var _0x56a23c={'raw':!![],'where':{'id':_0x4e48aa[_0x8e46('0x47')]['id']}},_0x3a0942={};_0x3a0942[_0x8e46('0x34')]=_[_0x8e46('0x31')](db[_0x8e46('0x2c')][_0x8e46('0x2d')]);_0x3a0942['query']=_['keys'](_0x4e48aa[_0x8e46('0x32')]);_0x3a0942[_0x8e46('0x33')]=_[_0x8e46('0x48')](_0x3a0942[_0x8e46('0x34')],_0x3a0942[_0x8e46('0x32')]);_0x56a23c[_0x8e46('0x35')]=_[_0x8e46('0x48')](_0x3a0942[_0x8e46('0x34')],qs[_0x8e46('0x36')](_0x4e48aa[_0x8e46('0x32')][_0x8e46('0x36')]));_0x56a23c[_0x8e46('0x35')]=_0x56a23c[_0x8e46('0x35')][_0x8e46('0x37')]?_0x56a23c['attributes']:_0x3a0942[_0x8e46('0x34')];if(_0x4e48aa[_0x8e46('0x32')][_0x8e46('0x42')]){_0x56a23c[_0x8e46('0x43')]=[{'all':!![]}];}_0x56a23c=_[_0x8e46('0x3f')]({},_0x56a23c,_0x4e48aa['options']);return db[_0x8e46('0x2c')][_0x8e46('0x49')](_0x56a23c)[_0x8e46('0x25')](handleEntityNotFound(_0x2431bf,null))[_0x8e46('0x25')](respondWithResult(_0x2431bf,null))[_0x8e46('0x46')](handleError(_0x2431bf,null));};exports[_0x8e46('0x4a')]=function(_0x58fff4,_0x2508d8){return db['VtigerField'][_0x8e46('0x4a')](_0x58fff4[_0x8e46('0x4b')],{})['then'](respondWithResult(_0x2508d8,0xc9))[_0x8e46('0x46')](handleError(_0x2508d8,null));};exports[_0x8e46('0x23')]=function(_0x29aa0f,_0x4cdf97){if(_0x29aa0f['body']['id']){delete _0x29aa0f[_0x8e46('0x4b')]['id'];}return db[_0x8e46('0x2c')][_0x8e46('0x49')]({'where':{'id':_0x29aa0f['params']['id']}})['then'](handleEntityNotFound(_0x4cdf97,null))[_0x8e46('0x25')](saveUpdates(_0x29aa0f['body'],null))['then'](respondWithResult(_0x4cdf97,null))[_0x8e46('0x46')](handleError(_0x4cdf97,null));};exports[_0x8e46('0x24')]=function(_0x2faf14,_0x159f4f){return db['VtigerField'][_0x8e46('0x49')]({'where':{'id':_0x2faf14['params']['id']}})['then'](handleEntityNotFound(_0x159f4f,null))[_0x8e46('0x25')](removeEntity(_0x159f4f,null))[_0x8e46('0x46')](handleError(_0x159f4f,null));};