ef47f57ad62d8e021dbc5424d5bb83c6b8febd40
[motion2.git] / server / api / intSugarcrmField / intSugarcrmField.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 _0xe39b=['../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','sendStatus','error','name','rawAttributes','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','SugarcrmField','includeAll','findAll','catch','show','params','include','find','create','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment'];(function(_0x3ac312,_0x5d3903){var _0x36b673=function(_0x254b25){while(--_0x254b25){_0x3ac312['push'](_0x3ac312['shift']());}};_0x36b673(++_0x5d3903);}(_0xe39b,0x199));var _0xbe39=function(_0x3860d1,_0x59d3ae){_0x3860d1=_0x3860d1-0x0;var _0x28056c=_0xe39b[_0x3860d1];return _0x28056c;};'use strict';var emlformat=require(_0xbe39('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xbe39('0x1'));var jsonpatch=require(_0xbe39('0x2'));var rp=require(_0xbe39('0x3'));var moment=require(_0xbe39('0x4'));var BPromise=require(_0xbe39('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xbe39('0x6'));var sox=require(_0xbe39('0x7'));var csv=require('to-csv');var ejs=require(_0xbe39('0x8'));var fs=require('fs');var fs_extra=require(_0xbe39('0x9'));var _=require(_0xbe39('0xa'));var squel=require(_0xbe39('0xb'));var crypto=require(_0xbe39('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xbe39('0xd'));var toCsv=require(_0xbe39('0xe'));var querystring=require(_0xbe39('0xf'));var Papa=require(_0xbe39('0x10'));var Redis=require(_0xbe39('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xbe39('0x12'));var hardwareService=require(_0xbe39('0x13'));var logger=require('../../config/logger')(_0xbe39('0x14'));var utils=require(_0xbe39('0x15'));var config=require(_0xbe39('0x16'));var licenseUtil=require(_0xbe39('0x17'));var db=require(_0xbe39('0x18'))['db'];function respondWithStatusCode(_0x3527c7,_0x489189){_0x489189=_0x489189||0xcc;return function(_0x189558){if(_0x189558){return _0x3527c7['sendStatus'](_0x489189);}return _0x3527c7[_0xbe39('0x19')](_0x489189)[_0xbe39('0x1a')]();};}function respondWithResult(_0x5eebf0,_0xfd29f9){_0xfd29f9=_0xfd29f9||0xc8;return function(_0x28c95e){if(_0x28c95e){return _0x5eebf0[_0xbe39('0x19')](_0xfd29f9)[_0xbe39('0x1b')](_0x28c95e);}};}function respondWithFilteredResult(_0x13d386,_0x8a1dbc){return function(_0x2d2aa2){if(_0x2d2aa2){var _0x1a53d1=typeof _0x8a1dbc[_0xbe39('0x1c')]===_0xbe39('0x1d')&&typeof _0x8a1dbc[_0xbe39('0x1e')]==='undefined';var _0x93f756=_0x2d2aa2[_0xbe39('0x1f')];var _0x5b51d4=_0x1a53d1?0x0:_0x8a1dbc['offset'];var _0x1bd484=_0x1a53d1?_0x2d2aa2[_0xbe39('0x1f')]:_0x8a1dbc[_0xbe39('0x1c')]+_0x8a1dbc['limit'];var _0x4bc7da;if(_0x1bd484>=_0x93f756){_0x1bd484=_0x93f756;_0x4bc7da=0xc8;}else{_0x4bc7da=0xce;}_0x13d386[_0xbe39('0x19')](_0x4bc7da);return _0x13d386[_0xbe39('0x20')](_0xbe39('0x21'),_0x5b51d4+'-'+_0x1bd484+'/'+_0x93f756)[_0xbe39('0x1b')](_0x2d2aa2);}return null;};}function patchUpdates(_0x308911){return function(_0x6270ba){try{jsonpatch[_0xbe39('0x22')](_0x6270ba,_0x308911,!![]);}catch(_0x114ca6){return BPromise[_0xbe39('0x23')](_0x114ca6);}return _0x6270ba[_0xbe39('0x24')]();};}function saveUpdates(_0x213a45,_0x1aa709){return function(_0x7a6759){if(_0x7a6759){return _0x7a6759[_0xbe39('0x25')](_0x213a45)[_0xbe39('0x26')](function(_0x2b7e7c){return _0x2b7e7c;});}return null;};}function removeEntity(_0x176639,_0x5e86de){return function(_0x17a0a0){if(_0x17a0a0){return _0x17a0a0['destroy']()[_0xbe39('0x26')](function(){_0x176639[_0xbe39('0x19')](0xcc)[_0xbe39('0x1a')]();});}};}function handleEntityNotFound(_0x90704d,_0x161033){return function(_0x4dc32a){if(!_0x4dc32a){_0x90704d[_0xbe39('0x27')](0x194);}return _0x4dc32a;};}function handleError(_0xfdef25,_0x1b53e2){_0x1b53e2=_0x1b53e2||0x1f4;return function(_0x5e716a){logger[_0xbe39('0x28')](_0x5e716a['stack']);if(_0x5e716a['name']){delete _0x5e716a[_0xbe39('0x29')];}_0xfdef25[_0xbe39('0x19')](_0x1b53e2)['send'](_0x5e716a);};}exports['index']=function(_0x2e9d0f,_0x4184f5){var _0x1ae28c={},_0x9e9704={},_0x3752c8={'count':0x0,'rows':[]};var _0x224e1e=_['map'](db['SugarcrmField'][_0xbe39('0x2a')],function(_0x2949d1){return{'name':_0x2949d1['fieldName'],'type':_0x2949d1[_0xbe39('0x2b')][_0xbe39('0x2c')]};});_0x9e9704[_0xbe39('0x2d')]=_[_0xbe39('0x2e')](_0x224e1e,_0xbe39('0x29'));_0x9e9704[_0xbe39('0x2f')]=_[_0xbe39('0x30')](_0x2e9d0f[_0xbe39('0x2f')]);_0x9e9704[_0xbe39('0x31')]=_[_0xbe39('0x32')](_0x9e9704[_0xbe39('0x2d')],_0x9e9704['query']);_0x1ae28c[_0xbe39('0x33')]=_[_0xbe39('0x32')](_0x9e9704['model'],qs[_0xbe39('0x34')](_0x2e9d0f[_0xbe39('0x2f')]['fields']));_0x1ae28c['attributes']=_0x1ae28c[_0xbe39('0x33')]['length']?_0x1ae28c[_0xbe39('0x33')]:_0x9e9704[_0xbe39('0x2d')];if(!_0x2e9d0f[_0xbe39('0x2f')][_0xbe39('0x35')](_0xbe39('0x36'))){_0x1ae28c[_0xbe39('0x1e')]=qs['limit'](_0x2e9d0f[_0xbe39('0x2f')][_0xbe39('0x1e')]);_0x1ae28c[_0xbe39('0x1c')]=qs[_0xbe39('0x1c')](_0x2e9d0f[_0xbe39('0x2f')][_0xbe39('0x1c')]);}_0x1ae28c[_0xbe39('0x37')]=qs[_0xbe39('0x38')](_0x2e9d0f[_0xbe39('0x2f')][_0xbe39('0x38')]);_0x1ae28c[_0xbe39('0x39')]=qs[_0xbe39('0x31')](_[_0xbe39('0x3a')](_0x2e9d0f[_0xbe39('0x2f')],_0x9e9704[_0xbe39('0x31')]),_0x224e1e);if(_0x2e9d0f[_0xbe39('0x2f')][_0xbe39('0x3b')]){_0x1ae28c[_0xbe39('0x39')]=_[_0xbe39('0x3c')](_0x1ae28c['where'],{'$or':_['map'](_0x224e1e,function(_0x3dcee4){if(_0x3dcee4[_0xbe39('0x2b')]!=='VIRTUAL'){var _0x7ff11e={};_0x7ff11e[_0x3dcee4[_0xbe39('0x29')]]={'$like':'%'+_0x2e9d0f[_0xbe39('0x2f')][_0xbe39('0x3b')]+'%'};return _0x7ff11e;}})});}_0x1ae28c=_[_0xbe39('0x3c')]({},_0x1ae28c,_0x2e9d0f[_0xbe39('0x3d')]);var _0x42719e={'where':_0x1ae28c[_0xbe39('0x39')]};return db[_0xbe39('0x3e')][_0xbe39('0x1f')](_0x42719e)['then'](function(_0x2b899b){_0x3752c8[_0xbe39('0x1f')]=_0x2b899b;if(_0x2e9d0f[_0xbe39('0x2f')][_0xbe39('0x3f')]){_0x1ae28c['include']=[{'all':!![]}];}return db['SugarcrmField'][_0xbe39('0x40')](_0x1ae28c);})['then'](function(_0x304a48){_0x3752c8['rows']=_0x304a48;return _0x3752c8;})['then'](respondWithFilteredResult(_0x4184f5,_0x1ae28c))[_0xbe39('0x41')](handleError(_0x4184f5,null));};exports[_0xbe39('0x42')]=function(_0x3d52d7,_0x2d6499){var _0x3b2f3f={'raw':!![],'where':{'id':_0x3d52d7[_0xbe39('0x43')]['id']}},_0x1de23a={};_0x1de23a['model']=_['keys'](db[_0xbe39('0x3e')][_0xbe39('0x2a')]);_0x1de23a['query']=_[_0xbe39('0x30')](_0x3d52d7[_0xbe39('0x2f')]);_0x1de23a[_0xbe39('0x31')]=_[_0xbe39('0x32')](_0x1de23a[_0xbe39('0x2d')],_0x1de23a[_0xbe39('0x2f')]);_0x3b2f3f[_0xbe39('0x33')]=_['intersection'](_0x1de23a['model'],qs[_0xbe39('0x34')](_0x3d52d7['query'][_0xbe39('0x34')]));_0x3b2f3f[_0xbe39('0x33')]=_0x3b2f3f['attributes']['length']?_0x3b2f3f[_0xbe39('0x33')]:_0x1de23a[_0xbe39('0x2d')];if(_0x3d52d7[_0xbe39('0x2f')]['includeAll']){_0x3b2f3f[_0xbe39('0x44')]=[{'all':!![]}];}_0x3b2f3f=_[_0xbe39('0x3c')]({},_0x3b2f3f,_0x3d52d7[_0xbe39('0x3d')]);return db[_0xbe39('0x3e')][_0xbe39('0x45')](_0x3b2f3f)['then'](handleEntityNotFound(_0x2d6499,null))[_0xbe39('0x26')](respondWithResult(_0x2d6499,null))[_0xbe39('0x41')](handleError(_0x2d6499,null));};exports[_0xbe39('0x46')]=function(_0x2efc51,_0x5465f7){return db[_0xbe39('0x3e')][_0xbe39('0x46')](_0x2efc51[_0xbe39('0x47')],{})[_0xbe39('0x26')](respondWithResult(_0x5465f7,0xc9))[_0xbe39('0x41')](handleError(_0x5465f7,null));};exports[_0xbe39('0x25')]=function(_0x298f32,_0x29e249){if(_0x298f32[_0xbe39('0x47')]['id']){delete _0x298f32[_0xbe39('0x47')]['id'];}return db[_0xbe39('0x3e')][_0xbe39('0x45')]({'where':{'id':_0x298f32[_0xbe39('0x43')]['id']}})['then'](handleEntityNotFound(_0x29e249,null))['then'](saveUpdates(_0x298f32[_0xbe39('0x47')],null))[_0xbe39('0x26')](respondWithResult(_0x29e249,null))['catch'](handleError(_0x29e249,null));};exports['destroy']=function(_0xd46ea,_0x3e80c3){return db[_0xbe39('0x3e')]['find']({'where':{'id':_0xd46ea[_0xbe39('0x43')]['id']}})[_0xbe39('0x26')](handleEntityNotFound(_0x3e80c3,null))[_0xbe39('0x26')](removeEntity(_0x3e80c3,null))[_0xbe39('0x41')](handleError(_0x3e80c3,null));};