Built motion from commit 9d7072cc.|2.5.39
[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 _0x1470=['merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','rawAttributes','find','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','save','update','then','destroy','error','stack','name','send','index','map','VtigerField','fieldName','type','key','keys','query','filters','model','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter'];(function(_0x580238,_0x2adec2){var _0x3d5608=function(_0x281c35){while(--_0x281c35){_0x580238['push'](_0x580238['shift']());}};_0x3d5608(++_0x2adec2);}(_0x1470,0xf9));var _0x0147=function(_0x3229cc,_0x21c278){_0x3229cc=_0x3229cc-0x0;var _0x579cbc=_0x1470[_0x3229cc];return _0x579cbc;};'use strict';var emlformat=require(_0x0147('0x0'));var rimraf=require(_0x0147('0x1'));var zipdir=require(_0x0147('0x2'));var jsonpatch=require(_0x0147('0x3'));var rp=require(_0x0147('0x4'));var moment=require(_0x0147('0x5'));var BPromise=require(_0x0147('0x6'));var Mustache=require(_0x0147('0x7'));var util=require(_0x0147('0x8'));var path=require(_0x0147('0x9'));var sox=require(_0x0147('0xa'));var csv=require(_0x0147('0xb'));var ejs=require(_0x0147('0xc'));var fs=require('fs');var fs_extra=require(_0x0147('0xd'));var _=require(_0x0147('0xe'));var squel=require(_0x0147('0xf'));var crypto=require(_0x0147('0x10'));var jsforce=require(_0x0147('0x11'));var deskjs=require('desk.js');var toCsv=require(_0x0147('0xb'));var querystring=require('querystring');var Papa=require(_0x0147('0x12'));var Redis=require(_0x0147('0x13'));var authService=require(_0x0147('0x14'));var qs=require(_0x0147('0x15'));var as=require(_0x0147('0x16'));var hardwareService=require(_0x0147('0x17'));var logger=require(_0x0147('0x18'))('api');var utils=require(_0x0147('0x19'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x0147('0x1a'))['db'];function respondWithStatusCode(_0x11a4aa,_0x37e3d4){_0x37e3d4=_0x37e3d4||0xcc;return function(_0x56bf38){if(_0x56bf38){return _0x11a4aa[_0x0147('0x1b')](_0x37e3d4);}return _0x11a4aa[_0x0147('0x1c')](_0x37e3d4)[_0x0147('0x1d')]();};}function respondWithResult(_0x510487,_0x552037){_0x552037=_0x552037||0xc8;return function(_0x75079c){if(_0x75079c){return _0x510487['status'](_0x552037)['json'](_0x75079c);}};}function respondWithFilteredResult(_0x71d2ad,_0x12cc03){return function(_0x2359aa){if(_0x2359aa){var _0x2435d0=typeof _0x12cc03[_0x0147('0x1e')]===_0x0147('0x1f')&&typeof _0x12cc03[_0x0147('0x20')]===_0x0147('0x1f');var _0x4a2b30=_0x2359aa[_0x0147('0x21')];var _0x166425=_0x2435d0?0x0:_0x12cc03[_0x0147('0x1e')];var _0x1f67f6=_0x2435d0?_0x2359aa[_0x0147('0x21')]:_0x12cc03[_0x0147('0x1e')]+_0x12cc03['limit'];var _0xc14b6c;if(_0x1f67f6>=_0x4a2b30){_0x1f67f6=_0x4a2b30;_0xc14b6c=0xc8;}else{_0xc14b6c=0xce;}_0x71d2ad['status'](_0xc14b6c);return _0x71d2ad[_0x0147('0x22')](_0x0147('0x23'),_0x166425+'-'+_0x1f67f6+'/'+_0x4a2b30)[_0x0147('0x24')](_0x2359aa);}return null;};}function patchUpdates(_0x3776d5){return function(_0x15023c){try{jsonpatch[_0x0147('0x25')](_0x15023c,_0x3776d5,!![]);}catch(_0x53f786){return BPromise['reject'](_0x53f786);}return _0x15023c[_0x0147('0x26')]();};}function saveUpdates(_0x41ee52,_0x17d981){return function(_0x5c956a){if(_0x5c956a){return _0x5c956a[_0x0147('0x27')](_0x41ee52)[_0x0147('0x28')](function(_0x409421){return _0x409421;});}return null;};}function removeEntity(_0xcec631,_0x138606){return function(_0x300dae){if(_0x300dae){return _0x300dae[_0x0147('0x29')]()[_0x0147('0x28')](function(){_0xcec631['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x498d33,_0x220f18){return function(_0x24d234){if(!_0x24d234){_0x498d33[_0x0147('0x1b')](0x194);}return _0x24d234;};}function handleError(_0x3d7230,_0x235f67){_0x235f67=_0x235f67||0x1f4;return function(_0x1280e1){logger[_0x0147('0x2a')](_0x1280e1[_0x0147('0x2b')]);if(_0x1280e1[_0x0147('0x2c')]){delete _0x1280e1[_0x0147('0x2c')];}_0x3d7230[_0x0147('0x1c')](_0x235f67)[_0x0147('0x2d')](_0x1280e1);};}exports[_0x0147('0x2e')]=function(_0x24bdfd,_0x126a6e){var _0x1bc377={},_0x2d8a1f={},_0x3d8f8c={'count':0x0,'rows':[]};var _0x71601c=_[_0x0147('0x2f')](db[_0x0147('0x30')]['rawAttributes'],function(_0x451018){return{'name':_0x451018[_0x0147('0x31')],'type':_0x451018[_0x0147('0x32')][_0x0147('0x33')]};});_0x2d8a1f['model']=_[_0x0147('0x2f')](_0x71601c,_0x0147('0x2c'));_0x2d8a1f['query']=_[_0x0147('0x34')](_0x24bdfd[_0x0147('0x35')]);_0x2d8a1f[_0x0147('0x36')]=_['intersection'](_0x2d8a1f[_0x0147('0x37')],_0x2d8a1f[_0x0147('0x35')]);_0x1bc377['attributes']=_[_0x0147('0x38')](_0x2d8a1f[_0x0147('0x37')],qs[_0x0147('0x39')](_0x24bdfd[_0x0147('0x35')][_0x0147('0x39')]));_0x1bc377[_0x0147('0x3a')]=_0x1bc377[_0x0147('0x3a')][_0x0147('0x3b')]?_0x1bc377[_0x0147('0x3a')]:_0x2d8a1f[_0x0147('0x37')];if(!_0x24bdfd[_0x0147('0x35')][_0x0147('0x3c')](_0x0147('0x3d'))){_0x1bc377['limit']=qs[_0x0147('0x20')](_0x24bdfd[_0x0147('0x35')][_0x0147('0x20')]);_0x1bc377['offset']=qs[_0x0147('0x1e')](_0x24bdfd[_0x0147('0x35')]['offset']);}_0x1bc377[_0x0147('0x3e')]=qs[_0x0147('0x3f')](_0x24bdfd[_0x0147('0x35')][_0x0147('0x3f')]);_0x1bc377[_0x0147('0x40')]=qs[_0x0147('0x36')](_[_0x0147('0x41')](_0x24bdfd[_0x0147('0x35')],_0x2d8a1f[_0x0147('0x36')]),_0x71601c);if(_0x24bdfd[_0x0147('0x35')][_0x0147('0x42')]){_0x1bc377[_0x0147('0x40')]=_[_0x0147('0x43')](_0x1bc377['where'],{'$or':_[_0x0147('0x2f')](_0x71601c,function(_0x26c80a){if(_0x26c80a[_0x0147('0x32')]!==_0x0147('0x44')){var _0x129fdd={};_0x129fdd[_0x26c80a[_0x0147('0x2c')]]={'$like':'%'+_0x24bdfd['query'][_0x0147('0x42')]+'%'};return _0x129fdd;}})});}_0x1bc377=_[_0x0147('0x43')]({},_0x1bc377,_0x24bdfd[_0x0147('0x45')]);var _0x330f4c={'where':_0x1bc377[_0x0147('0x40')]};return db[_0x0147('0x30')][_0x0147('0x21')](_0x330f4c)['then'](function(_0x2d695b){_0x3d8f8c[_0x0147('0x21')]=_0x2d695b;if(_0x24bdfd[_0x0147('0x35')][_0x0147('0x46')]){_0x1bc377[_0x0147('0x47')]=[{'all':!![]}];}return db[_0x0147('0x30')]['findAll'](_0x1bc377);})['then'](function(_0x5a50b1){_0x3d8f8c[_0x0147('0x48')]=_0x5a50b1;return _0x3d8f8c;})['then'](respondWithFilteredResult(_0x126a6e,_0x1bc377))[_0x0147('0x49')](handleError(_0x126a6e,null));};exports[_0x0147('0x4a')]=function(_0x586cf7,_0x29b083){var _0x201dd5={'raw':!![],'where':{'id':_0x586cf7[_0x0147('0x4b')]['id']}},_0x1806ec={};_0x1806ec[_0x0147('0x37')]=_['keys'](db[_0x0147('0x30')][_0x0147('0x4c')]);_0x1806ec[_0x0147('0x35')]=_[_0x0147('0x34')](_0x586cf7[_0x0147('0x35')]);_0x1806ec['filters']=_[_0x0147('0x38')](_0x1806ec['model'],_0x1806ec[_0x0147('0x35')]);_0x201dd5[_0x0147('0x3a')]=_['intersection'](_0x1806ec['model'],qs['fields'](_0x586cf7[_0x0147('0x35')]['fields']));_0x201dd5[_0x0147('0x3a')]=_0x201dd5[_0x0147('0x3a')][_0x0147('0x3b')]?_0x201dd5['attributes']:_0x1806ec['model'];if(_0x586cf7['query'][_0x0147('0x46')]){_0x201dd5['include']=[{'all':!![]}];}_0x201dd5=_[_0x0147('0x43')]({},_0x201dd5,_0x586cf7['options']);return db[_0x0147('0x30')][_0x0147('0x4d')](_0x201dd5)[_0x0147('0x28')](handleEntityNotFound(_0x29b083,null))[_0x0147('0x28')](respondWithResult(_0x29b083,null))[_0x0147('0x49')](handleError(_0x29b083,null));};exports['create']=function(_0x16bd6c,_0xf2f772){return db[_0x0147('0x30')]['create'](_0x16bd6c[_0x0147('0x4e')],{})[_0x0147('0x28')](respondWithResult(_0xf2f772,0xc9))[_0x0147('0x49')](handleError(_0xf2f772,null));};exports['update']=function(_0x62929c,_0x5f144a){if(_0x62929c[_0x0147('0x4e')]['id']){delete _0x62929c[_0x0147('0x4e')]['id'];}return db[_0x0147('0x30')]['find']({'where':{'id':_0x62929c[_0x0147('0x4b')]['id']}})[_0x0147('0x28')](handleEntityNotFound(_0x5f144a,null))[_0x0147('0x28')](saveUpdates(_0x62929c[_0x0147('0x4e')],null))[_0x0147('0x28')](respondWithResult(_0x5f144a,null))[_0x0147('0x49')](handleError(_0x5f144a,null));};exports[_0x0147('0x29')]=function(_0x17087d,_0x364d2d){return db[_0x0147('0x30')][_0x0147('0x4d')]({'where':{'id':_0x17087d[_0x0147('0x4b')]['id']}})['then'](handleEntityNotFound(_0x364d2d,null))[_0x0147('0x28')](removeEntity(_0x364d2d,null))[_0x0147('0x49')](handleError(_0x364d2d,null));};