6e431d20d47e5cdd62602ae311101b0e71fd4f2e
[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 _0x7dfd=['html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','map','SugarcrmField','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','type','merge','options','includeAll','include','findAll','catch','show','params','keys','create','body','find'];(function(_0x32249d,_0x5d37f9){var _0x5743e8=function(_0xf3f77d){while(--_0xf3f77d){_0x32249d['push'](_0x32249d['shift']());}};_0x5743e8(++_0x5d37f9);}(_0x7dfd,0x1c2));var _0xd7df=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x7dfd[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0xd7df('0x0'));var emlformat=require(_0xd7df('0x1'));var rimraf=require(_0xd7df('0x2'));var zipdir=require(_0xd7df('0x3'));var jsonpatch=require(_0xd7df('0x4'));var rp=require(_0xd7df('0x5'));var moment=require(_0xd7df('0x6'));var BPromise=require(_0xd7df('0x7'));var Mustache=require(_0xd7df('0x8'));var util=require(_0xd7df('0x9'));var path=require(_0xd7df('0xa'));var sox=require(_0xd7df('0xb'));var csv=require(_0xd7df('0xc'));var ejs=require(_0xd7df('0xd'));var fs=require('fs');var _=require(_0xd7df('0xe'));var squel=require(_0xd7df('0xf'));var crypto=require(_0xd7df('0x10'));var jsforce=require('jsforce');var deskjs=require(_0xd7df('0x11'));var toCsv=require(_0xd7df('0xc'));var querystring=require(_0xd7df('0x12'));var Papa=require(_0xd7df('0x13'));var Redis=require('ioredis');var authService=require(_0xd7df('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xd7df('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd7df('0x16'))(_0xd7df('0x17'));var utils=require(_0xd7df('0x18'));var config=require(_0xd7df('0x19'));var licenseUtil=require(_0xd7df('0x1a'));var db=require(_0xd7df('0x1b'))['db'];function respondWithStatusCode(_0x2e8187,_0x3da618){_0x3da618=_0x3da618||0xcc;return function(_0x7ba3c){if(_0x7ba3c){return _0x2e8187[_0xd7df('0x1c')](_0x3da618);}return _0x2e8187[_0xd7df('0x1d')](_0x3da618)[_0xd7df('0x1e')]();};}function respondWithResult(_0xe1595f,_0x196632){_0x196632=_0x196632||0xc8;return function(_0x3b2559){if(_0x3b2559){return _0xe1595f[_0xd7df('0x1d')](_0x196632)[_0xd7df('0x1f')](_0x3b2559);}};}function respondWithFilteredResult(_0x57b8be,_0x4c5cf){return function(_0x23cdbc){if(_0x23cdbc){var _0x513b13=_0x23cdbc[_0xd7df('0x20')],_0x18d38f=_0x4c5cf[_0xd7df('0x21')],_0xbe1c5e=_0x4c5cf[_0xd7df('0x21')]+_0x4c5cf['limit'],_0x5d3beb;if(_0xbe1c5e>=_0x513b13){_0xbe1c5e=_0x513b13;_0x5d3beb=0xc8;}else{_0x5d3beb=0xce;}_0x57b8be[_0xd7df('0x1d')](_0x5d3beb);return _0x57b8be[_0xd7df('0x22')](_0xd7df('0x23'),_0x18d38f+'-'+_0xbe1c5e+'/'+_0x513b13)['json'](_0x23cdbc);}return null;};}function patchUpdates(_0x96d86e){return function(_0x20dc3e){try{jsonpatch[_0xd7df('0x24')](_0x20dc3e,_0x96d86e,!![]);}catch(_0x5acb0a){return BPromise[_0xd7df('0x25')](_0x5acb0a);}return _0x20dc3e['save']();};}function saveUpdates(_0x225e33,_0x5ab737){return function(_0x3ae7c3){if(_0x3ae7c3){return _0x3ae7c3[_0xd7df('0x26')](_0x225e33)[_0xd7df('0x27')](function(_0x5e59c3){return _0x5e59c3;});}return null;};}function removeEntity(_0xc50077,_0x502ae8){return function(_0x44079b){if(_0x44079b){return _0x44079b[_0xd7df('0x28')]()[_0xd7df('0x27')](function(){_0xc50077[_0xd7df('0x1d')](0xcc)[_0xd7df('0x1e')]();});}};}function handleEntityNotFound(_0xa80cbf,_0x1e3bf3){return function(_0x5e5c1a){if(!_0x5e5c1a){_0xa80cbf['sendStatus'](0x194);}return _0x5e5c1a;};}function handleError(_0x36f2bd,_0x38db14){_0x38db14=_0x38db14||0x1f4;return function(_0x26047f){logger[_0xd7df('0x29')](_0x26047f[_0xd7df('0x2a')]);if(_0x26047f[_0xd7df('0x2b')]){delete _0x26047f[_0xd7df('0x2b')];}_0x36f2bd[_0xd7df('0x1d')](_0x38db14)[_0xd7df('0x2c')](_0x26047f);};}exports['index']=function(_0xe53f53,_0x132fd1){var _0x46c0db={},_0x29f0e8={},_0x29b812={'count':0x0,'rows':[]};var _0x2aa5a8=_[_0xd7df('0x2d')](db[_0xd7df('0x2e')]['rawAttributes'],function(_0x4ba779){return{'name':_0x4ba779['fieldName'],'type':_0x4ba779['type']['key']};});_0x29f0e8[_0xd7df('0x2f')]=_['map'](_0x2aa5a8,_0xd7df('0x2b'));_0x29f0e8[_0xd7df('0x30')]=_['keys'](_0xe53f53[_0xd7df('0x30')]);_0x29f0e8[_0xd7df('0x31')]=_['intersection'](_0x29f0e8[_0xd7df('0x2f')],_0x29f0e8[_0xd7df('0x30')]);_0x46c0db[_0xd7df('0x32')]=_[_0xd7df('0x33')](_0x29f0e8[_0xd7df('0x2f')],qs[_0xd7df('0x34')](_0xe53f53['query'][_0xd7df('0x34')]));_0x46c0db[_0xd7df('0x32')]=_0x46c0db[_0xd7df('0x32')][_0xd7df('0x35')]?_0x46c0db[_0xd7df('0x32')]:_0x29f0e8[_0xd7df('0x2f')];if(!_0xe53f53[_0xd7df('0x30')][_0xd7df('0x36')](_0xd7df('0x37'))){_0x46c0db[_0xd7df('0x38')]=qs[_0xd7df('0x38')](_0xe53f53['query']['limit']);_0x46c0db[_0xd7df('0x21')]=qs['offset'](_0xe53f53[_0xd7df('0x30')][_0xd7df('0x21')]);}_0x46c0db[_0xd7df('0x39')]=qs[_0xd7df('0x3a')](_0xe53f53['query']['sort']);_0x46c0db['where']=qs[_0xd7df('0x31')](_[_0xd7df('0x3b')](_0xe53f53['query'],_0x29f0e8[_0xd7df('0x31')]),_0x2aa5a8);if(_0xe53f53[_0xd7df('0x30')][_0xd7df('0x3c')]){_0x46c0db[_0xd7df('0x3d')]=_['merge'](_0x46c0db[_0xd7df('0x3d')],{'$or':_[_0xd7df('0x2d')](_0x2aa5a8,function(_0x5f0a6d){if(_0x5f0a6d[_0xd7df('0x3e')]!=='VIRTUAL'){var _0x15089f={};_0x15089f[_0x5f0a6d[_0xd7df('0x2b')]]={'$like':'%'+_0xe53f53[_0xd7df('0x30')]['filter']+'%'};return _0x15089f;}})});}_0x46c0db=_[_0xd7df('0x3f')]({},_0x46c0db,_0xe53f53[_0xd7df('0x40')]);var _0x3d5e80={'where':_0x46c0db[_0xd7df('0x3d')]};return db['SugarcrmField'][_0xd7df('0x20')](_0x3d5e80)[_0xd7df('0x27')](function(_0x2314e6){_0x29b812['count']=_0x2314e6;if(_0xe53f53[_0xd7df('0x30')][_0xd7df('0x41')]){_0x46c0db[_0xd7df('0x42')]=[{'all':!![]}];}return db['SugarcrmField'][_0xd7df('0x43')](_0x46c0db);})[_0xd7df('0x27')](function(_0x4910cb){_0x29b812['rows']=_0x4910cb;return _0x29b812;})[_0xd7df('0x27')](respondWithFilteredResult(_0x132fd1,_0x46c0db))[_0xd7df('0x44')](handleError(_0x132fd1,null));};exports[_0xd7df('0x45')]=function(_0x4a5152,_0x5e8cd0){var _0x2c149e={'raw':!![],'where':{'id':_0x4a5152[_0xd7df('0x46')]['id']}},_0x4ebdbe={};_0x4ebdbe['model']=_['keys'](db[_0xd7df('0x2e')]['rawAttributes']);_0x4ebdbe[_0xd7df('0x30')]=_[_0xd7df('0x47')](_0x4a5152[_0xd7df('0x30')]);_0x4ebdbe[_0xd7df('0x31')]=_[_0xd7df('0x33')](_0x4ebdbe[_0xd7df('0x2f')],_0x4ebdbe[_0xd7df('0x30')]);_0x2c149e[_0xd7df('0x32')]=_[_0xd7df('0x33')](_0x4ebdbe['model'],qs[_0xd7df('0x34')](_0x4a5152['query'][_0xd7df('0x34')]));_0x2c149e[_0xd7df('0x32')]=_0x2c149e[_0xd7df('0x32')][_0xd7df('0x35')]?_0x2c149e[_0xd7df('0x32')]:_0x4ebdbe[_0xd7df('0x2f')];if(_0x4a5152[_0xd7df('0x30')][_0xd7df('0x41')]){_0x2c149e[_0xd7df('0x42')]=[{'all':!![]}];}_0x2c149e=_['merge']({},_0x2c149e,_0x4a5152[_0xd7df('0x40')]);return db[_0xd7df('0x2e')]['find'](_0x2c149e)['then'](handleEntityNotFound(_0x5e8cd0,null))[_0xd7df('0x27')](respondWithResult(_0x5e8cd0,null))[_0xd7df('0x44')](handleError(_0x5e8cd0,null));};exports[_0xd7df('0x48')]=function(_0x51748d,_0x4b1184){return db[_0xd7df('0x2e')]['create'](_0x51748d[_0xd7df('0x49')],{})[_0xd7df('0x27')](respondWithResult(_0x4b1184,0xc9))[_0xd7df('0x44')](handleError(_0x4b1184,null));};exports[_0xd7df('0x26')]=function(_0x1838aa,_0x28c13f){if(_0x1838aa[_0xd7df('0x49')]['id']){delete _0x1838aa[_0xd7df('0x49')]['id'];}return db[_0xd7df('0x2e')][_0xd7df('0x4a')]({'where':{'id':_0x1838aa[_0xd7df('0x46')]['id']}})[_0xd7df('0x27')](handleEntityNotFound(_0x28c13f,null))['then'](saveUpdates(_0x1838aa[_0xd7df('0x49')],null))[_0xd7df('0x27')](respondWithResult(_0x28c13f,null))[_0xd7df('0x44')](handleError(_0x28c13f,null));};exports[_0xd7df('0x28')]=function(_0x215251,_0x5c3281){return db[_0xd7df('0x2e')][_0xd7df('0x4a')]({'where':{'id':_0x215251[_0xd7df('0x46')]['id']}})['then'](handleEntityNotFound(_0x5c3281,null))[_0xd7df('0x27')](removeEntity(_0x5c3281,null))['catch'](handleError(_0x5c3281,null));};