d98827ab0777aefb731875929865646fd9efa658
[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 _0xeff6=['catch','show','params','keys','include','options','find','create','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','VtigerField','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','type','VIRTUAL','includeAll','findAll','rows'];(function(_0x82129b,_0x484ae9){var _0x2ae5dc=function(_0x299e34){while(--_0x299e34){_0x82129b['push'](_0x82129b['shift']());}};_0x2ae5dc(++_0x484ae9);}(_0xeff6,0x139));var _0x6eff=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xeff6[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6eff('0x0'));var zipdir=require(_0x6eff('0x1'));var jsonpatch=require(_0x6eff('0x2'));var rp=require(_0x6eff('0x3'));var moment=require(_0x6eff('0x4'));var BPromise=require(_0x6eff('0x5'));var Mustache=require(_0x6eff('0x6'));var util=require(_0x6eff('0x7'));var path=require(_0x6eff('0x8'));var sox=require(_0x6eff('0x9'));var csv=require(_0x6eff('0xa'));var ejs=require(_0x6eff('0xb'));var fs=require('fs');var fs_extra=require(_0x6eff('0xc'));var _=require(_0x6eff('0xd'));var squel=require('squel');var crypto=require(_0x6eff('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x6eff('0xf'));var toCsv=require(_0x6eff('0xa'));var querystring=require(_0x6eff('0x10'));var Papa=require(_0x6eff('0x11'));var Redis=require(_0x6eff('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x6eff('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6eff('0x14'));var logger=require('../../config/logger')(_0x6eff('0x15'));var utils=require(_0x6eff('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x6eff('0x17'));var db=require(_0x6eff('0x18'))['db'];function respondWithStatusCode(_0x194554,_0x10d952){_0x10d952=_0x10d952||0xcc;return function(_0x3ab146){if(_0x3ab146){return _0x194554[_0x6eff('0x19')](_0x10d952);}return _0x194554[_0x6eff('0x1a')](_0x10d952)[_0x6eff('0x1b')]();};}function respondWithResult(_0x5d09e0,_0x1221ec){_0x1221ec=_0x1221ec||0xc8;return function(_0x5466ba){if(_0x5466ba){return _0x5d09e0[_0x6eff('0x1a')](_0x1221ec)[_0x6eff('0x1c')](_0x5466ba);}};}function respondWithFilteredResult(_0x308968,_0x327087){return function(_0x42bd4a){if(_0x42bd4a){var _0x75033b=typeof _0x327087[_0x6eff('0x1d')]===_0x6eff('0x1e')&&typeof _0x327087[_0x6eff('0x1f')]==='undefined';var _0x5cfbc0=_0x42bd4a[_0x6eff('0x20')];var _0x486354=_0x75033b?0x0:_0x327087[_0x6eff('0x1d')];var _0x5e34c5=_0x75033b?_0x42bd4a[_0x6eff('0x20')]:_0x327087[_0x6eff('0x1d')]+_0x327087[_0x6eff('0x1f')];var _0x1b2e08;if(_0x5e34c5>=_0x5cfbc0){_0x5e34c5=_0x5cfbc0;_0x1b2e08=0xc8;}else{_0x1b2e08=0xce;}_0x308968[_0x6eff('0x1a')](_0x1b2e08);return _0x308968['set'](_0x6eff('0x21'),_0x486354+'-'+_0x5e34c5+'/'+_0x5cfbc0)['json'](_0x42bd4a);}return null;};}function patchUpdates(_0x5c67c9){return function(_0x3a093e){try{jsonpatch[_0x6eff('0x22')](_0x3a093e,_0x5c67c9,!![]);}catch(_0x11af25){return BPromise[_0x6eff('0x23')](_0x11af25);}return _0x3a093e[_0x6eff('0x24')]();};}function saveUpdates(_0x5c8222,_0x19ca09){return function(_0x3fb9a9){if(_0x3fb9a9){return _0x3fb9a9[_0x6eff('0x25')](_0x5c8222)[_0x6eff('0x26')](function(_0x24dbce){return _0x24dbce;});}return null;};}function removeEntity(_0x1335b4,_0x3db586){return function(_0x1411bf){if(_0x1411bf){return _0x1411bf[_0x6eff('0x27')]()[_0x6eff('0x26')](function(){_0x1335b4[_0x6eff('0x1a')](0xcc)[_0x6eff('0x1b')]();});}};}function handleEntityNotFound(_0x565369,_0x40f582){return function(_0x19d883){if(!_0x19d883){_0x565369['sendStatus'](0x194);}return _0x19d883;};}function handleError(_0x2babfe,_0x2f23b8){_0x2f23b8=_0x2f23b8||0x1f4;return function(_0x30d730){logger[_0x6eff('0x28')](_0x30d730[_0x6eff('0x29')]);if(_0x30d730[_0x6eff('0x2a')]){delete _0x30d730[_0x6eff('0x2a')];}_0x2babfe[_0x6eff('0x1a')](_0x2f23b8)[_0x6eff('0x2b')](_0x30d730);};}exports[_0x6eff('0x2c')]=function(_0x53667d,_0x1f7be2){var _0x590e37={},_0x11f764={},_0x5ba516={'count':0x0,'rows':[]};var _0x31d418=_['map'](db[_0x6eff('0x2d')][_0x6eff('0x2e')],function(_0x574b17){return{'name':_0x574b17[_0x6eff('0x2f')],'type':_0x574b17['type'][_0x6eff('0x30')]};});_0x11f764[_0x6eff('0x31')]=_['map'](_0x31d418,_0x6eff('0x2a'));_0x11f764[_0x6eff('0x32')]=_['keys'](_0x53667d[_0x6eff('0x32')]);_0x11f764[_0x6eff('0x33')]=_[_0x6eff('0x34')](_0x11f764['model'],_0x11f764['query']);_0x590e37[_0x6eff('0x35')]=_[_0x6eff('0x34')](_0x11f764[_0x6eff('0x31')],qs['fields'](_0x53667d[_0x6eff('0x32')][_0x6eff('0x36')]));_0x590e37[_0x6eff('0x35')]=_0x590e37[_0x6eff('0x35')][_0x6eff('0x37')]?_0x590e37[_0x6eff('0x35')]:_0x11f764[_0x6eff('0x31')];if(!_0x53667d[_0x6eff('0x32')][_0x6eff('0x38')]('nolimit')){_0x590e37['limit']=qs[_0x6eff('0x1f')](_0x53667d[_0x6eff('0x32')][_0x6eff('0x1f')]);_0x590e37[_0x6eff('0x1d')]=qs[_0x6eff('0x1d')](_0x53667d[_0x6eff('0x32')][_0x6eff('0x1d')]);}_0x590e37[_0x6eff('0x39')]=qs[_0x6eff('0x3a')](_0x53667d['query'][_0x6eff('0x3a')]);_0x590e37['where']=qs['filters'](_[_0x6eff('0x3b')](_0x53667d[_0x6eff('0x32')],_0x11f764[_0x6eff('0x33')]),_0x31d418);if(_0x53667d[_0x6eff('0x32')][_0x6eff('0x3c')]){_0x590e37['where']=_['merge'](_0x590e37[_0x6eff('0x3d')],{'$or':_['map'](_0x31d418,function(_0x20d909){if(_0x20d909[_0x6eff('0x3e')]!==_0x6eff('0x3f')){var _0x4a3596={};_0x4a3596[_0x20d909['name']]={'$like':'%'+_0x53667d['query']['filter']+'%'};return _0x4a3596;}})});}_0x590e37=_['merge']({},_0x590e37,_0x53667d['options']);var _0x2deabe={'where':_0x590e37[_0x6eff('0x3d')]};return db[_0x6eff('0x2d')][_0x6eff('0x20')](_0x2deabe)[_0x6eff('0x26')](function(_0x351c91){_0x5ba516[_0x6eff('0x20')]=_0x351c91;if(_0x53667d['query'][_0x6eff('0x40')]){_0x590e37['include']=[{'all':!![]}];}return db[_0x6eff('0x2d')][_0x6eff('0x41')](_0x590e37);})['then'](function(_0x406c13){_0x5ba516[_0x6eff('0x42')]=_0x406c13;return _0x5ba516;})[_0x6eff('0x26')](respondWithFilteredResult(_0x1f7be2,_0x590e37))[_0x6eff('0x43')](handleError(_0x1f7be2,null));};exports[_0x6eff('0x44')]=function(_0x279de8,_0x137db5){var _0x73a8be={'raw':!![],'where':{'id':_0x279de8[_0x6eff('0x45')]['id']}},_0x5d1ad4={};_0x5d1ad4[_0x6eff('0x31')]=_[_0x6eff('0x46')](db['VtigerField'][_0x6eff('0x2e')]);_0x5d1ad4[_0x6eff('0x32')]=_[_0x6eff('0x46')](_0x279de8[_0x6eff('0x32')]);_0x5d1ad4['filters']=_['intersection'](_0x5d1ad4[_0x6eff('0x31')],_0x5d1ad4[_0x6eff('0x32')]);_0x73a8be[_0x6eff('0x35')]=_['intersection'](_0x5d1ad4[_0x6eff('0x31')],qs['fields'](_0x279de8[_0x6eff('0x32')][_0x6eff('0x36')]));_0x73a8be[_0x6eff('0x35')]=_0x73a8be[_0x6eff('0x35')][_0x6eff('0x37')]?_0x73a8be[_0x6eff('0x35')]:_0x5d1ad4[_0x6eff('0x31')];if(_0x279de8['query']['includeAll']){_0x73a8be[_0x6eff('0x47')]=[{'all':!![]}];}_0x73a8be=_['merge']({},_0x73a8be,_0x279de8[_0x6eff('0x48')]);return db[_0x6eff('0x2d')][_0x6eff('0x49')](_0x73a8be)[_0x6eff('0x26')](handleEntityNotFound(_0x137db5,null))['then'](respondWithResult(_0x137db5,null))[_0x6eff('0x43')](handleError(_0x137db5,null));};exports[_0x6eff('0x4a')]=function(_0x2a2b90,_0x6a633d){return db['VtigerField'][_0x6eff('0x4a')](_0x2a2b90[_0x6eff('0x4b')],{})['then'](respondWithResult(_0x6a633d,0xc9))[_0x6eff('0x43')](handleError(_0x6a633d,null));};exports[_0x6eff('0x25')]=function(_0x364497,_0x1a786e){if(_0x364497[_0x6eff('0x4b')]['id']){delete _0x364497[_0x6eff('0x4b')]['id'];}return db[_0x6eff('0x2d')]['find']({'where':{'id':_0x364497[_0x6eff('0x45')]['id']}})[_0x6eff('0x26')](handleEntityNotFound(_0x1a786e,null))[_0x6eff('0x26')](saveUpdates(_0x364497[_0x6eff('0x4b')],null))[_0x6eff('0x26')](respondWithResult(_0x1a786e,null))['catch'](handleError(_0x1a786e,null));};exports['destroy']=function(_0x368154,_0x3adced){return db[_0x6eff('0x2d')]['find']({'where':{'id':_0x368154[_0x6eff('0x45')]['id']}})[_0x6eff('0x26')](handleEntityNotFound(_0x3adced,null))[_0x6eff('0x26')](removeEntity(_0x3adced,null))[_0x6eff('0x43')](handleError(_0x3adced,null));};