Built motion from commit 7a4eb044.|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 _0x0c66=['offset','undefined','limit','count','set','Content-Range','apply','save','update','then','destroy','error','stack','name','index','map','VtigerField','fieldName','key','model','keys','query','intersection','attributes','fields','nolimit','sort','filters','pick','where','merge','type','filter','options','include','findAll','catch','params','rawAttributes','includeAll','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json'];(function(_0x3c89af,_0x1eef8c){var _0x71bbf9=function(_0x8ea013){while(--_0x8ea013){_0x3c89af['push'](_0x3c89af['shift']());}};_0x71bbf9(++_0x1eef8c);}(_0x0c66,0x18e));var _0x60c6=function(_0x21a9d9,_0x4d5ac8){_0x21a9d9=_0x21a9d9-0x0;var _0x46adce=_0x0c66[_0x21a9d9];return _0x46adce;};'use strict';var emlformat=require(_0x60c6('0x0'));var rimraf=require(_0x60c6('0x1'));var zipdir=require(_0x60c6('0x2'));var jsonpatch=require(_0x60c6('0x3'));var rp=require(_0x60c6('0x4'));var moment=require('moment');var BPromise=require(_0x60c6('0x5'));var Mustache=require(_0x60c6('0x6'));var util=require('util');var path=require(_0x60c6('0x7'));var sox=require(_0x60c6('0x8'));var csv=require(_0x60c6('0x9'));var ejs=require(_0x60c6('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x60c6('0xb'));var crypto=require(_0x60c6('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x60c6('0xd'));var toCsv=require(_0x60c6('0x9'));var querystring=require(_0x60c6('0xe'));var Papa=require(_0x60c6('0xf'));var Redis=require(_0x60c6('0x10'));var authService=require(_0x60c6('0x11'));var qs=require(_0x60c6('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x60c6('0x13'));var logger=require(_0x60c6('0x14'))(_0x60c6('0x15'));var utils=require(_0x60c6('0x16'));var config=require(_0x60c6('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2d3519,_0x423671){_0x423671=_0x423671||0xcc;return function(_0x232b04){if(_0x232b04){return _0x2d3519[_0x60c6('0x18')](_0x423671);}return _0x2d3519[_0x60c6('0x19')](_0x423671)[_0x60c6('0x1a')]();};}function respondWithResult(_0x3af9b7,_0xacfdec){_0xacfdec=_0xacfdec||0xc8;return function(_0x3d307b){if(_0x3d307b){return _0x3af9b7[_0x60c6('0x19')](_0xacfdec)[_0x60c6('0x1b')](_0x3d307b);}};}function respondWithFilteredResult(_0x50f2c6,_0x26fe92){return function(_0x133302){if(_0x133302){var _0xb0a9a2=typeof _0x26fe92[_0x60c6('0x1c')]===_0x60c6('0x1d')&&typeof _0x26fe92[_0x60c6('0x1e')]===_0x60c6('0x1d');var _0xdcf8ce=_0x133302['count'];var _0xccaf5d=_0xb0a9a2?0x0:_0x26fe92[_0x60c6('0x1c')];var _0x428504=_0xb0a9a2?_0x133302[_0x60c6('0x1f')]:_0x26fe92[_0x60c6('0x1c')]+_0x26fe92['limit'];var _0x4d0604;if(_0x428504>=_0xdcf8ce){_0x428504=_0xdcf8ce;_0x4d0604=0xc8;}else{_0x4d0604=0xce;}_0x50f2c6[_0x60c6('0x19')](_0x4d0604);return _0x50f2c6[_0x60c6('0x20')](_0x60c6('0x21'),_0xccaf5d+'-'+_0x428504+'/'+_0xdcf8ce)['json'](_0x133302);}return null;};}function patchUpdates(_0x4b87ab){return function(_0x1383a4){try{jsonpatch[_0x60c6('0x22')](_0x1383a4,_0x4b87ab,!![]);}catch(_0x59c281){return BPromise['reject'](_0x59c281);}return _0x1383a4[_0x60c6('0x23')]();};}function saveUpdates(_0x56a591,_0x2b1fae){return function(_0x1ed89f){if(_0x1ed89f){return _0x1ed89f[_0x60c6('0x24')](_0x56a591)[_0x60c6('0x25')](function(_0x24bf4c){return _0x24bf4c;});}return null;};}function removeEntity(_0x1dfb9f,_0x29dc74){return function(_0x1c14c8){if(_0x1c14c8){return _0x1c14c8[_0x60c6('0x26')]()['then'](function(){_0x1dfb9f['status'](0xcc)[_0x60c6('0x1a')]();});}};}function handleEntityNotFound(_0x4b71a7,_0xda5c97){return function(_0xedd16){if(!_0xedd16){_0x4b71a7['sendStatus'](0x194);}return _0xedd16;};}function handleError(_0x2a60c6,_0x2cd02f){_0x2cd02f=_0x2cd02f||0x1f4;return function(_0x1e4ab6){logger[_0x60c6('0x27')](_0x1e4ab6[_0x60c6('0x28')]);if(_0x1e4ab6[_0x60c6('0x29')]){delete _0x1e4ab6[_0x60c6('0x29')];}_0x2a60c6[_0x60c6('0x19')](_0x2cd02f)['send'](_0x1e4ab6);};}exports[_0x60c6('0x2a')]=function(_0x4f1288,_0x4a4f2a){var _0x215f88={},_0x4937d4={},_0x33533d={'count':0x0,'rows':[]};var _0x202a7b=_[_0x60c6('0x2b')](db[_0x60c6('0x2c')]['rawAttributes'],function(_0x486858){return{'name':_0x486858[_0x60c6('0x2d')],'type':_0x486858['type'][_0x60c6('0x2e')]};});_0x4937d4[_0x60c6('0x2f')]=_[_0x60c6('0x2b')](_0x202a7b,_0x60c6('0x29'));_0x4937d4['query']=_[_0x60c6('0x30')](_0x4f1288[_0x60c6('0x31')]);_0x4937d4['filters']=_[_0x60c6('0x32')](_0x4937d4[_0x60c6('0x2f')],_0x4937d4['query']);_0x215f88[_0x60c6('0x33')]=_['intersection'](_0x4937d4[_0x60c6('0x2f')],qs[_0x60c6('0x34')](_0x4f1288[_0x60c6('0x31')]['fields']));_0x215f88[_0x60c6('0x33')]=_0x215f88['attributes']['length']?_0x215f88['attributes']:_0x4937d4[_0x60c6('0x2f')];if(!_0x4f1288['query']['hasOwnProperty'](_0x60c6('0x35'))){_0x215f88[_0x60c6('0x1e')]=qs[_0x60c6('0x1e')](_0x4f1288['query']['limit']);_0x215f88[_0x60c6('0x1c')]=qs[_0x60c6('0x1c')](_0x4f1288[_0x60c6('0x31')][_0x60c6('0x1c')]);}_0x215f88['order']=qs['sort'](_0x4f1288[_0x60c6('0x31')][_0x60c6('0x36')]);_0x215f88['where']=qs[_0x60c6('0x37')](_[_0x60c6('0x38')](_0x4f1288[_0x60c6('0x31')],_0x4937d4[_0x60c6('0x37')]),_0x202a7b);if(_0x4f1288['query']['filter']){_0x215f88[_0x60c6('0x39')]=_[_0x60c6('0x3a')](_0x215f88[_0x60c6('0x39')],{'$or':_[_0x60c6('0x2b')](_0x202a7b,function(_0x9b5f8d){if(_0x9b5f8d[_0x60c6('0x3b')]!=='VIRTUAL'){var _0x577436={};_0x577436[_0x9b5f8d['name']]={'$like':'%'+_0x4f1288['query'][_0x60c6('0x3c')]+'%'};return _0x577436;}})});}_0x215f88=_[_0x60c6('0x3a')]({},_0x215f88,_0x4f1288[_0x60c6('0x3d')]);var _0x317820={'where':_0x215f88[_0x60c6('0x39')]};return db[_0x60c6('0x2c')][_0x60c6('0x1f')](_0x317820)[_0x60c6('0x25')](function(_0x36d9a2){_0x33533d['count']=_0x36d9a2;if(_0x4f1288[_0x60c6('0x31')]['includeAll']){_0x215f88[_0x60c6('0x3e')]=[{'all':!![]}];}return db[_0x60c6('0x2c')][_0x60c6('0x3f')](_0x215f88);})[_0x60c6('0x25')](function(_0x3f12dd){_0x33533d['rows']=_0x3f12dd;return _0x33533d;})[_0x60c6('0x25')](respondWithFilteredResult(_0x4a4f2a,_0x215f88))[_0x60c6('0x40')](handleError(_0x4a4f2a,null));};exports['show']=function(_0x302bc5,_0x8a51a1){var _0x4aa82f={'raw':!![],'where':{'id':_0x302bc5[_0x60c6('0x41')]['id']}},_0xa5e3d2={};_0xa5e3d2[_0x60c6('0x2f')]=_[_0x60c6('0x30')](db[_0x60c6('0x2c')][_0x60c6('0x42')]);_0xa5e3d2[_0x60c6('0x31')]=_[_0x60c6('0x30')](_0x302bc5['query']);_0xa5e3d2[_0x60c6('0x37')]=_['intersection'](_0xa5e3d2['model'],_0xa5e3d2['query']);_0x4aa82f[_0x60c6('0x33')]=_[_0x60c6('0x32')](_0xa5e3d2[_0x60c6('0x2f')],qs[_0x60c6('0x34')](_0x302bc5[_0x60c6('0x31')][_0x60c6('0x34')]));_0x4aa82f[_0x60c6('0x33')]=_0x4aa82f[_0x60c6('0x33')]['length']?_0x4aa82f[_0x60c6('0x33')]:_0xa5e3d2[_0x60c6('0x2f')];if(_0x302bc5[_0x60c6('0x31')][_0x60c6('0x43')]){_0x4aa82f[_0x60c6('0x3e')]=[{'all':!![]}];}_0x4aa82f=_[_0x60c6('0x3a')]({},_0x4aa82f,_0x302bc5['options']);return db[_0x60c6('0x2c')][_0x60c6('0x44')](_0x4aa82f)[_0x60c6('0x25')](handleEntityNotFound(_0x8a51a1,null))[_0x60c6('0x25')](respondWithResult(_0x8a51a1,null))['catch'](handleError(_0x8a51a1,null));};exports[_0x60c6('0x45')]=function(_0x26f248,_0x4fd34f){return db['VtigerField'][_0x60c6('0x45')](_0x26f248[_0x60c6('0x46')],{})[_0x60c6('0x25')](respondWithResult(_0x4fd34f,0xc9))[_0x60c6('0x40')](handleError(_0x4fd34f,null));};exports[_0x60c6('0x24')]=function(_0x2ab3bd,_0x57a410){if(_0x2ab3bd[_0x60c6('0x46')]['id']){delete _0x2ab3bd[_0x60c6('0x46')]['id'];}return db['VtigerField'][_0x60c6('0x44')]({'where':{'id':_0x2ab3bd[_0x60c6('0x41')]['id']}})[_0x60c6('0x25')](handleEntityNotFound(_0x57a410,null))[_0x60c6('0x25')](saveUpdates(_0x2ab3bd[_0x60c6('0x46')],null))[_0x60c6('0x25')](respondWithResult(_0x57a410,null))[_0x60c6('0x40')](handleError(_0x57a410,null));};exports['destroy']=function(_0x2602f9,_0x4f79c1){return db[_0x60c6('0x2c')]['find']({'where':{'id':_0x2602f9[_0x60c6('0x41')]['id']}})[_0x60c6('0x25')](handleEntityNotFound(_0x4f79c1,null))['then'](removeEntity(_0x4f79c1,null))[_0x60c6('0x40')](handleError(_0x4f79c1,null));};