668e1336acad323c32f1a93fd1eaf1d55fdf846c
[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 _0x6d6e=['keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','rows','catch','show','params','create','update','body','find','destroy','rimraf','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/util','../../mysqldb','status','end','json','undefined','offset','count','limit','set','Content-Range','reject','save','then','sendStatus','error','stack','send','index','map','VtigerField','rawAttributes','fieldName','type','key','model','name','query'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x6d6e,0x12d));var _0xe6d6=function(_0x398dc3,_0x52a65f){_0x398dc3=_0x398dc3-0x0;var _0x4b1387=_0x6d6e[_0x398dc3];return _0x4b1387;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe6d6('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xe6d6('0x1'));var moment=require(_0xe6d6('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xe6d6('0x3'));var path=require(_0xe6d6('0x4'));var sox=require(_0xe6d6('0x5'));var csv=require(_0xe6d6('0x6'));var ejs=require(_0xe6d6('0x7'));var fs=require('fs');var fs_extra=require(_0xe6d6('0x8'));var _=require('lodash');var squel=require(_0xe6d6('0x9'));var crypto=require(_0xe6d6('0xa'));var jsforce=require(_0xe6d6('0xb'));var deskjs=require(_0xe6d6('0xc'));var toCsv=require(_0xe6d6('0x6'));var querystring=require(_0xe6d6('0xd'));var Papa=require('papaparse');var Redis=require(_0xe6d6('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xe6d6('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xe6d6('0x10'));var db=require(_0xe6d6('0x11'))['db'];function respondWithStatusCode(_0x43d018,_0x6ada16){_0x6ada16=_0x6ada16||0xcc;return function(_0xe355e7){if(_0xe355e7){return _0x43d018['sendStatus'](_0x6ada16);}return _0x43d018[_0xe6d6('0x12')](_0x6ada16)[_0xe6d6('0x13')]();};}function respondWithResult(_0x6e2c6a,_0x4c19ef){_0x4c19ef=_0x4c19ef||0xc8;return function(_0x1b9355){if(_0x1b9355){return _0x6e2c6a[_0xe6d6('0x12')](_0x4c19ef)[_0xe6d6('0x14')](_0x1b9355);}};}function respondWithFilteredResult(_0x477115,_0x32176a){return function(_0xe7924a){if(_0xe7924a){var _0x36b270=typeof _0x32176a['offset']===_0xe6d6('0x15')&&typeof _0x32176a['limit']===_0xe6d6('0x15');var _0x2c25bd=_0xe7924a['count'];var _0x830d85=_0x36b270?0x0:_0x32176a[_0xe6d6('0x16')];var _0xdd586d=_0x36b270?_0xe7924a[_0xe6d6('0x17')]:_0x32176a[_0xe6d6('0x16')]+_0x32176a[_0xe6d6('0x18')];var _0xa1f8bb;if(_0xdd586d>=_0x2c25bd){_0xdd586d=_0x2c25bd;_0xa1f8bb=0xc8;}else{_0xa1f8bb=0xce;}_0x477115[_0xe6d6('0x12')](_0xa1f8bb);return _0x477115[_0xe6d6('0x19')](_0xe6d6('0x1a'),_0x830d85+'-'+_0xdd586d+'/'+_0x2c25bd)[_0xe6d6('0x14')](_0xe7924a);}return null;};}function patchUpdates(_0x41f2f8){return function(_0x2e393b){try{jsonpatch['apply'](_0x2e393b,_0x41f2f8,!![]);}catch(_0x392ff0){return BPromise[_0xe6d6('0x1b')](_0x392ff0);}return _0x2e393b[_0xe6d6('0x1c')]();};}function saveUpdates(_0x55daf7,_0xceb6ab){return function(_0xf984d2){if(_0xf984d2){return _0xf984d2['update'](_0x55daf7)['then'](function(_0x219802){return _0x219802;});}return null;};}function removeEntity(_0xfb8fff,_0x2e8986){return function(_0x3448b7){if(_0x3448b7){return _0x3448b7['destroy']()[_0xe6d6('0x1d')](function(){_0xfb8fff[_0xe6d6('0x12')](0xcc)[_0xe6d6('0x13')]();});}};}function handleEntityNotFound(_0x4fdf73,_0xd3d47b){return function(_0x29f771){if(!_0x29f771){_0x4fdf73[_0xe6d6('0x1e')](0x194);}return _0x29f771;};}function handleError(_0x29ae74,_0x408b39){_0x408b39=_0x408b39||0x1f4;return function(_0x3e4e5b){logger[_0xe6d6('0x1f')](_0x3e4e5b[_0xe6d6('0x20')]);if(_0x3e4e5b['name']){delete _0x3e4e5b['name'];}_0x29ae74[_0xe6d6('0x12')](_0x408b39)[_0xe6d6('0x21')](_0x3e4e5b);};}exports[_0xe6d6('0x22')]=function(_0x91dc2b,_0x4a32fc){var _0x429381={},_0x20722b={},_0xa975a4={'count':0x0,'rows':[]};var _0x3cf515=_[_0xe6d6('0x23')](db[_0xe6d6('0x24')][_0xe6d6('0x25')],function(_0x3ba1bb){return{'name':_0x3ba1bb[_0xe6d6('0x26')],'type':_0x3ba1bb[_0xe6d6('0x27')][_0xe6d6('0x28')]};});_0x20722b[_0xe6d6('0x29')]=_[_0xe6d6('0x23')](_0x3cf515,_0xe6d6('0x2a'));_0x20722b[_0xe6d6('0x2b')]=_[_0xe6d6('0x2c')](_0x91dc2b[_0xe6d6('0x2b')]);_0x20722b[_0xe6d6('0x2d')]=_[_0xe6d6('0x2e')](_0x20722b['model'],_0x20722b[_0xe6d6('0x2b')]);_0x429381[_0xe6d6('0x2f')]=_[_0xe6d6('0x2e')](_0x20722b['model'],qs[_0xe6d6('0x30')](_0x91dc2b[_0xe6d6('0x2b')][_0xe6d6('0x30')]));_0x429381['attributes']=_0x429381[_0xe6d6('0x2f')][_0xe6d6('0x31')]?_0x429381[_0xe6d6('0x2f')]:_0x20722b['model'];if(!_0x91dc2b['query']['hasOwnProperty'](_0xe6d6('0x32'))){_0x429381[_0xe6d6('0x18')]=qs[_0xe6d6('0x18')](_0x91dc2b[_0xe6d6('0x2b')][_0xe6d6('0x18')]);_0x429381[_0xe6d6('0x16')]=qs[_0xe6d6('0x16')](_0x91dc2b[_0xe6d6('0x2b')]['offset']);}_0x429381[_0xe6d6('0x33')]=qs[_0xe6d6('0x34')](_0x91dc2b['query'][_0xe6d6('0x34')]);_0x429381[_0xe6d6('0x35')]=qs[_0xe6d6('0x2d')](_[_0xe6d6('0x36')](_0x91dc2b[_0xe6d6('0x2b')],_0x20722b[_0xe6d6('0x2d')]),_0x3cf515);if(_0x91dc2b[_0xe6d6('0x2b')][_0xe6d6('0x37')]){_0x429381['where']=_[_0xe6d6('0x38')](_0x429381['where'],{'$or':_[_0xe6d6('0x23')](_0x3cf515,function(_0x57aaef){if(_0x57aaef[_0xe6d6('0x27')]!==_0xe6d6('0x39')){var _0x385fcb={};_0x385fcb[_0x57aaef[_0xe6d6('0x2a')]]={'$like':'%'+_0x91dc2b[_0xe6d6('0x2b')][_0xe6d6('0x37')]+'%'};return _0x385fcb;}})});}_0x429381=_['merge']({},_0x429381,_0x91dc2b['options']);var _0x506b36={'where':_0x429381[_0xe6d6('0x35')]};return db[_0xe6d6('0x24')]['count'](_0x506b36)[_0xe6d6('0x1d')](function(_0x375cec){_0xa975a4[_0xe6d6('0x17')]=_0x375cec;if(_0x91dc2b[_0xe6d6('0x2b')][_0xe6d6('0x3a')]){_0x429381[_0xe6d6('0x3b')]=[{'all':!![]}];}return db[_0xe6d6('0x24')]['findAll'](_0x429381);})[_0xe6d6('0x1d')](function(_0x4d7150){_0xa975a4[_0xe6d6('0x3c')]=_0x4d7150;return _0xa975a4;})[_0xe6d6('0x1d')](respondWithFilteredResult(_0x4a32fc,_0x429381))[_0xe6d6('0x3d')](handleError(_0x4a32fc,null));};exports[_0xe6d6('0x3e')]=function(_0x5aa6be,_0x30e87d){var _0x177393={'raw':!![],'where':{'id':_0x5aa6be[_0xe6d6('0x3f')]['id']}},_0x5a5467={};_0x5a5467['model']=_[_0xe6d6('0x2c')](db[_0xe6d6('0x24')]['rawAttributes']);_0x5a5467[_0xe6d6('0x2b')]=_['keys'](_0x5aa6be['query']);_0x5a5467[_0xe6d6('0x2d')]=_[_0xe6d6('0x2e')](_0x5a5467[_0xe6d6('0x29')],_0x5a5467[_0xe6d6('0x2b')]);_0x177393[_0xe6d6('0x2f')]=_['intersection'](_0x5a5467['model'],qs[_0xe6d6('0x30')](_0x5aa6be[_0xe6d6('0x2b')][_0xe6d6('0x30')]));_0x177393['attributes']=_0x177393[_0xe6d6('0x2f')][_0xe6d6('0x31')]?_0x177393[_0xe6d6('0x2f')]:_0x5a5467[_0xe6d6('0x29')];if(_0x5aa6be[_0xe6d6('0x2b')][_0xe6d6('0x3a')]){_0x177393['include']=[{'all':!![]}];}_0x177393=_['merge']({},_0x177393,_0x5aa6be['options']);return db[_0xe6d6('0x24')]['find'](_0x177393)[_0xe6d6('0x1d')](handleEntityNotFound(_0x30e87d,null))[_0xe6d6('0x1d')](respondWithResult(_0x30e87d,null))['catch'](handleError(_0x30e87d,null));};exports[_0xe6d6('0x40')]=function(_0xcc9c95,_0x2254fb){return db[_0xe6d6('0x24')][_0xe6d6('0x40')](_0xcc9c95['body'],{})['then'](respondWithResult(_0x2254fb,0xc9))[_0xe6d6('0x3d')](handleError(_0x2254fb,null));};exports[_0xe6d6('0x41')]=function(_0x4249b5,_0x765215){if(_0x4249b5[_0xe6d6('0x42')]['id']){delete _0x4249b5[_0xe6d6('0x42')]['id'];}return db[_0xe6d6('0x24')][_0xe6d6('0x43')]({'where':{'id':_0x4249b5['params']['id']}})['then'](handleEntityNotFound(_0x765215,null))['then'](saveUpdates(_0x4249b5[_0xe6d6('0x42')],null))[_0xe6d6('0x1d')](respondWithResult(_0x765215,null))[_0xe6d6('0x3d')](handleError(_0x765215,null));};exports[_0xe6d6('0x44')]=function(_0x1c5397,_0x130e94){return db[_0xe6d6('0x24')][_0xe6d6('0x43')]({'where':{'id':_0x1c5397[_0xe6d6('0x3f')]['id']}})[_0xe6d6('0x1d')](handleEntityNotFound(_0x130e94,null))[_0xe6d6('0x1d')](removeEntity(_0x130e94,null))[_0xe6d6('0x3d')](handleError(_0x130e94,null));};