Built motion from commit e02f907f.|2.6.14
[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 _0x460e=['then','destroy','error','name','index','type','key','query','keys','intersection','model','fields','attributes','length','nolimit','order','sort','where','filters','filter','map','VIRTUAL','VtigerField','count','includeAll','include','findAll','rows','catch','show','rawAttributes','merge','options','find','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','apply','reject','save','update'];(function(_0x2798d0,_0x3ff5be){var _0x58d19e=function(_0x185c96){while(--_0x185c96){_0x2798d0['push'](_0x2798d0['shift']());}};_0x58d19e(++_0x3ff5be);}(_0x460e,0x1e7));var _0xe460=function(_0xdaab62,_0x2728ab){_0xdaab62=_0xdaab62-0x0;var _0x13d767=_0x460e[_0xdaab62];return _0x13d767;};'use strict';var emlformat=require(_0xe460('0x0'));var rimraf=require(_0xe460('0x1'));var zipdir=require(_0xe460('0x2'));var jsonpatch=require(_0xe460('0x3'));var rp=require('request-promise');var moment=require(_0xe460('0x4'));var BPromise=require(_0xe460('0x5'));var Mustache=require(_0xe460('0x6'));var util=require(_0xe460('0x7'));var path=require(_0xe460('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xe460('0x9'));var fs=require('fs');var fs_extra=require(_0xe460('0xa'));var _=require(_0xe460('0xb'));var squel=require(_0xe460('0xc'));var crypto=require('crypto');var jsforce=require(_0xe460('0xd'));var deskjs=require(_0xe460('0xe'));var toCsv=require(_0xe460('0xf'));var querystring=require(_0xe460('0x10'));var Papa=require(_0xe460('0x11'));var Redis=require(_0xe460('0x12'));var authService=require(_0xe460('0x13'));var qs=require(_0xe460('0x14'));var as=require(_0xe460('0x15'));var hardwareService=require(_0xe460('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0xe460('0x17'));var config=require(_0xe460('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xe460('0x19'))['db'];function respondWithStatusCode(_0x13e320,_0x470215){_0x470215=_0x470215||0xcc;return function(_0x40b1b9){if(_0x40b1b9){return _0x13e320[_0xe460('0x1a')](_0x470215);}return _0x13e320[_0xe460('0x1b')](_0x470215)[_0xe460('0x1c')]();};}function respondWithResult(_0x260f16,_0x2ab58c){_0x2ab58c=_0x2ab58c||0xc8;return function(_0x3a5a41){if(_0x3a5a41){return _0x260f16[_0xe460('0x1b')](_0x2ab58c)[_0xe460('0x1d')](_0x3a5a41);}};}function respondWithFilteredResult(_0x4083be,_0x11d692){return function(_0x276be7){if(_0x276be7){var _0x19842e=typeof _0x11d692[_0xe460('0x1e')]===_0xe460('0x1f')&&typeof _0x11d692[_0xe460('0x20')]===_0xe460('0x1f');var _0xef1b7b=_0x276be7['count'];var _0x13dea1=_0x19842e?0x0:_0x11d692[_0xe460('0x1e')];var _0xfe6ce0=_0x19842e?_0x276be7['count']:_0x11d692[_0xe460('0x1e')]+_0x11d692[_0xe460('0x20')];var _0x1a31ef;if(_0xfe6ce0>=_0xef1b7b){_0xfe6ce0=_0xef1b7b;_0x1a31ef=0xc8;}else{_0x1a31ef=0xce;}_0x4083be[_0xe460('0x1b')](_0x1a31ef);return _0x4083be[_0xe460('0x21')]('Content-Range',_0x13dea1+'-'+_0xfe6ce0+'/'+_0xef1b7b)[_0xe460('0x1d')](_0x276be7);}return null;};}function patchUpdates(_0xd488db){return function(_0x217b73){try{jsonpatch[_0xe460('0x22')](_0x217b73,_0xd488db,!![]);}catch(_0x38a03d){return BPromise[_0xe460('0x23')](_0x38a03d);}return _0x217b73[_0xe460('0x24')]();};}function saveUpdates(_0x55d5c4,_0x165d49){return function(_0x4ae2a2){if(_0x4ae2a2){return _0x4ae2a2[_0xe460('0x25')](_0x55d5c4)[_0xe460('0x26')](function(_0x57b1f7){return _0x57b1f7;});}return null;};}function removeEntity(_0x4814cf,_0x237e79){return function(_0x5f5795){if(_0x5f5795){return _0x5f5795[_0xe460('0x27')]()['then'](function(){_0x4814cf['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5a7db5,_0x27e42c){return function(_0x20adc8){if(!_0x20adc8){_0x5a7db5['sendStatus'](0x194);}return _0x20adc8;};}function handleError(_0x31988b,_0x533c80){_0x533c80=_0x533c80||0x1f4;return function(_0x319c3f){logger[_0xe460('0x28')](_0x319c3f['stack']);if(_0x319c3f[_0xe460('0x29')]){delete _0x319c3f[_0xe460('0x29')];}_0x31988b[_0xe460('0x1b')](_0x533c80)['send'](_0x319c3f);};}exports[_0xe460('0x2a')]=function(_0x25ff84,_0x423202){var _0x275033={},_0x386b98={},_0x2021c9={'count':0x0,'rows':[]};var _0x4550bf=_['map'](db['VtigerField']['rawAttributes'],function(_0x3e1b19){return{'name':_0x3e1b19['fieldName'],'type':_0x3e1b19[_0xe460('0x2b')][_0xe460('0x2c')]};});_0x386b98['model']=_['map'](_0x4550bf,_0xe460('0x29'));_0x386b98[_0xe460('0x2d')]=_[_0xe460('0x2e')](_0x25ff84['query']);_0x386b98['filters']=_[_0xe460('0x2f')](_0x386b98[_0xe460('0x30')],_0x386b98['query']);_0x275033['attributes']=_['intersection'](_0x386b98[_0xe460('0x30')],qs[_0xe460('0x31')](_0x25ff84[_0xe460('0x2d')][_0xe460('0x31')]));_0x275033[_0xe460('0x32')]=_0x275033[_0xe460('0x32')][_0xe460('0x33')]?_0x275033[_0xe460('0x32')]:_0x386b98['model'];if(!_0x25ff84[_0xe460('0x2d')]['hasOwnProperty'](_0xe460('0x34'))){_0x275033[_0xe460('0x20')]=qs[_0xe460('0x20')](_0x25ff84[_0xe460('0x2d')]['limit']);_0x275033['offset']=qs[_0xe460('0x1e')](_0x25ff84[_0xe460('0x2d')][_0xe460('0x1e')]);}_0x275033[_0xe460('0x35')]=qs[_0xe460('0x36')](_0x25ff84[_0xe460('0x2d')][_0xe460('0x36')]);_0x275033[_0xe460('0x37')]=qs[_0xe460('0x38')](_['pick'](_0x25ff84[_0xe460('0x2d')],_0x386b98[_0xe460('0x38')]),_0x4550bf);if(_0x25ff84[_0xe460('0x2d')][_0xe460('0x39')]){_0x275033[_0xe460('0x37')]=_['merge'](_0x275033[_0xe460('0x37')],{'$or':_[_0xe460('0x3a')](_0x4550bf,function(_0x12ad71){if(_0x12ad71[_0xe460('0x2b')]!==_0xe460('0x3b')){var _0x3dd475={};_0x3dd475[_0x12ad71[_0xe460('0x29')]]={'$like':'%'+_0x25ff84[_0xe460('0x2d')]['filter']+'%'};return _0x3dd475;}})});}_0x275033=_['merge']({},_0x275033,_0x25ff84['options']);var _0x2f9b4d={'where':_0x275033['where']};return db[_0xe460('0x3c')][_0xe460('0x3d')](_0x2f9b4d)[_0xe460('0x26')](function(_0x358d5e){_0x2021c9[_0xe460('0x3d')]=_0x358d5e;if(_0x25ff84[_0xe460('0x2d')][_0xe460('0x3e')]){_0x275033[_0xe460('0x3f')]=[{'all':!![]}];}return db[_0xe460('0x3c')][_0xe460('0x40')](_0x275033);})[_0xe460('0x26')](function(_0x549acb){_0x2021c9[_0xe460('0x41')]=_0x549acb;return _0x2021c9;})['then'](respondWithFilteredResult(_0x423202,_0x275033))[_0xe460('0x42')](handleError(_0x423202,null));};exports[_0xe460('0x43')]=function(_0x49bd8c,_0x32f15a){var _0x3bf812={'raw':!![],'where':{'id':_0x49bd8c['params']['id']}},_0x70f4ba={};_0x70f4ba[_0xe460('0x30')]=_[_0xe460('0x2e')](db[_0xe460('0x3c')][_0xe460('0x44')]);_0x70f4ba['query']=_[_0xe460('0x2e')](_0x49bd8c[_0xe460('0x2d')]);_0x70f4ba[_0xe460('0x38')]=_[_0xe460('0x2f')](_0x70f4ba[_0xe460('0x30')],_0x70f4ba[_0xe460('0x2d')]);_0x3bf812[_0xe460('0x32')]=_[_0xe460('0x2f')](_0x70f4ba[_0xe460('0x30')],qs[_0xe460('0x31')](_0x49bd8c[_0xe460('0x2d')]['fields']));_0x3bf812[_0xe460('0x32')]=_0x3bf812[_0xe460('0x32')]['length']?_0x3bf812[_0xe460('0x32')]:_0x70f4ba[_0xe460('0x30')];if(_0x49bd8c['query']['includeAll']){_0x3bf812['include']=[{'all':!![]}];}_0x3bf812=_[_0xe460('0x45')]({},_0x3bf812,_0x49bd8c[_0xe460('0x46')]);return db[_0xe460('0x3c')][_0xe460('0x47')](_0x3bf812)[_0xe460('0x26')](handleEntityNotFound(_0x32f15a,null))['then'](respondWithResult(_0x32f15a,null))[_0xe460('0x42')](handleError(_0x32f15a,null));};exports['create']=function(_0x58a959,_0x3f2666){return db[_0xe460('0x3c')][_0xe460('0x48')](_0x58a959[_0xe460('0x49')],{})[_0xe460('0x26')](respondWithResult(_0x3f2666,0xc9))['catch'](handleError(_0x3f2666,null));};exports[_0xe460('0x25')]=function(_0x4d3317,_0x5dff09){if(_0x4d3317[_0xe460('0x49')]['id']){delete _0x4d3317[_0xe460('0x49')]['id'];}return db[_0xe460('0x3c')][_0xe460('0x47')]({'where':{'id':_0x4d3317[_0xe460('0x4a')]['id']}})[_0xe460('0x26')](handleEntityNotFound(_0x5dff09,null))[_0xe460('0x26')](saveUpdates(_0x4d3317[_0xe460('0x49')],null))[_0xe460('0x26')](respondWithResult(_0x5dff09,null))[_0xe460('0x42')](handleError(_0x5dff09,null));};exports[_0xe460('0x27')]=function(_0xc90bf6,_0x3904ee){return db[_0xe460('0x3c')]['find']({'where':{'id':_0xc90bf6[_0xe460('0x4a')]['id']}})[_0xe460('0x26')](handleEntityNotFound(_0x3904ee,null))[_0xe460('0x26')](removeEntity(_0x3904ee,null))[_0xe460('0x42')](handleError(_0x3904ee,null));};