f6fd1c82954d8870734e7113e2de8f8bfc0ad43f
[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 _0xe5db=['find','create','body','destroy','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','lodash','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','apply','save','update','then','error','stack','name','send','index','map','SugarcrmField','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','sort','where','merge','options','include','findAll','catch','show','params','includeAll'];(function(_0x40daf0,_0x46c586){var _0x147226=function(_0x40d44a){while(--_0x40d44a){_0x40daf0['push'](_0x40daf0['shift']());}};_0x147226(++_0x46c586);}(_0xe5db,0x8c));var _0xbe5d=function(_0x2b5b16,_0x29f5da){_0x2b5b16=_0x2b5b16-0x0;var _0x116ec8=_0xe5db[_0x2b5b16];return _0x116ec8;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xbe5d('0x0'));var zipdir=require(_0xbe5d('0x1'));var jsonpatch=require(_0xbe5d('0x2'));var rp=require(_0xbe5d('0x3'));var moment=require(_0xbe5d('0x4'));var BPromise=require(_0xbe5d('0x5'));var Mustache=require(_0xbe5d('0x6'));var util=require(_0xbe5d('0x7'));var path=require(_0xbe5d('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xbe5d('0x9'));var fs=require('fs');var _=require(_0xbe5d('0xa'));var squel=require('squel');var crypto=require(_0xbe5d('0xb'));var jsforce=require(_0xbe5d('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xbe5d('0xd'));var querystring=require(_0xbe5d('0xe'));var Papa=require(_0xbe5d('0xf'));var Redis=require(_0xbe5d('0x10'));var authService=require(_0xbe5d('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xbe5d('0x12'));var utils=require(_0xbe5d('0x13'));var config=require(_0xbe5d('0x14'));var db=require(_0xbe5d('0x15'))['db'];function respondWithStatusCode(_0x113910,_0x3d4338){_0x3d4338=_0x3d4338||0xcc;return function(_0x105a25){if(_0x105a25){return _0x113910[_0xbe5d('0x16')](_0x3d4338);}return _0x113910[_0xbe5d('0x17')](_0x3d4338)[_0xbe5d('0x18')]();};}function respondWithResult(_0x5b6e09,_0x270a1f){_0x270a1f=_0x270a1f||0xc8;return function(_0x3349cb){if(_0x3349cb){return _0x5b6e09['status'](_0x270a1f)[_0xbe5d('0x19')](_0x3349cb);}};}function respondWithFilteredResult(_0x5a71b3,_0x3803e7){return function(_0x13325a){if(_0x13325a){var _0x350b9d=_0x13325a[_0xbe5d('0x1a')],_0x435488=_0x3803e7[_0xbe5d('0x1b')],_0x126e9f=_0x3803e7[_0xbe5d('0x1b')]+_0x3803e7['limit'],_0x2c7167;if(_0x126e9f>=_0x350b9d){_0x126e9f=_0x350b9d;_0x2c7167=0xc8;}else{_0x2c7167=0xce;}_0x5a71b3[_0xbe5d('0x17')](_0x2c7167);return _0x5a71b3[_0xbe5d('0x1c')]('Content-Range',_0x435488+'-'+_0x126e9f+'/'+_0x350b9d)[_0xbe5d('0x19')](_0x13325a);}return null;};}function patchUpdates(_0x1bfc11){return function(_0x17b210){try{jsonpatch[_0xbe5d('0x1d')](_0x17b210,_0x1bfc11,!![]);}catch(_0x307f87){return BPromise['reject'](_0x307f87);}return _0x17b210[_0xbe5d('0x1e')]();};}function saveUpdates(_0x4ed663,_0xb17705){return function(_0xe44639){if(_0xe44639){return _0xe44639[_0xbe5d('0x1f')](_0x4ed663)[_0xbe5d('0x20')](function(_0x4a6f1e){return _0x4a6f1e;});}return null;};}function removeEntity(_0x24adc1,_0x5d265a){return function(_0x1692e8){if(_0x1692e8){return _0x1692e8['destroy']()[_0xbe5d('0x20')](function(){_0x24adc1[_0xbe5d('0x17')](0xcc)[_0xbe5d('0x18')]();});}};}function handleEntityNotFound(_0x463d45,_0x10398a){return function(_0x18e08e){if(!_0x18e08e){_0x463d45['sendStatus'](0x194);}return _0x18e08e;};}function handleError(_0x25fab4,_0x26e0ee){_0x26e0ee=_0x26e0ee||0x1f4;return function(_0x504d38){logger[_0xbe5d('0x21')](_0x504d38[_0xbe5d('0x22')]);if(_0x504d38[_0xbe5d('0x23')]){delete _0x504d38[_0xbe5d('0x23')];}_0x25fab4[_0xbe5d('0x17')](_0x26e0ee)[_0xbe5d('0x24')](_0x504d38);};}exports[_0xbe5d('0x25')]=function(_0x492683,_0x58ecdf){var _0x3c3177={},_0x47b8e9={},_0x3a511d={'count':0x0,'rows':[]};var _0x16e85b=_[_0xbe5d('0x26')](db[_0xbe5d('0x27')][_0xbe5d('0x28')],function(_0x5c8a3f){return{'name':_0x5c8a3f['fieldName'],'type':_0x5c8a3f[_0xbe5d('0x29')][_0xbe5d('0x2a')]};});_0x47b8e9[_0xbe5d('0x2b')]=_[_0xbe5d('0x26')](_0x16e85b,'name');_0x47b8e9[_0xbe5d('0x2c')]=_[_0xbe5d('0x2d')](_0x492683[_0xbe5d('0x2c')]);_0x47b8e9[_0xbe5d('0x2e')]=_['intersection'](_0x47b8e9[_0xbe5d('0x2b')],_0x47b8e9[_0xbe5d('0x2c')]);_0x3c3177[_0xbe5d('0x2f')]=_[_0xbe5d('0x30')](_0x47b8e9[_0xbe5d('0x2b')],qs[_0xbe5d('0x31')](_0x492683[_0xbe5d('0x2c')][_0xbe5d('0x31')]));_0x3c3177[_0xbe5d('0x2f')]=_0x3c3177[_0xbe5d('0x2f')][_0xbe5d('0x32')]?_0x3c3177['attributes']:_0x47b8e9[_0xbe5d('0x2b')];if(!_0x492683[_0xbe5d('0x2c')][_0xbe5d('0x33')](_0xbe5d('0x34'))){_0x3c3177[_0xbe5d('0x35')]=qs[_0xbe5d('0x35')](_0x492683[_0xbe5d('0x2c')][_0xbe5d('0x35')]);_0x3c3177[_0xbe5d('0x1b')]=qs[_0xbe5d('0x1b')](_0x492683[_0xbe5d('0x2c')]['offset']);}_0x3c3177['order']=qs[_0xbe5d('0x36')](_0x492683[_0xbe5d('0x2c')][_0xbe5d('0x36')]);_0x3c3177[_0xbe5d('0x37')]=qs[_0xbe5d('0x2e')](_['pick'](_0x492683[_0xbe5d('0x2c')],_0x47b8e9['filters']));if(_0x492683['query']['filter']){_0x3c3177[_0xbe5d('0x37')]=_[_0xbe5d('0x38')](_0x3c3177[_0xbe5d('0x37')],{'$or':_[_0xbe5d('0x26')](_0x16e85b,function(_0x2d36bc){if(_0x2d36bc[_0xbe5d('0x29')]!=='VIRTUAL'){var _0x3e5d88={};_0x3e5d88[_0x2d36bc[_0xbe5d('0x23')]]={'$like':'%'+_0x492683['query']['filter']+'%'};return _0x3e5d88;}})});}_0x3c3177=_[_0xbe5d('0x38')]({},_0x3c3177,_0x492683[_0xbe5d('0x39')]);var _0x4bea51={'where':_0x3c3177['where']};return db[_0xbe5d('0x27')][_0xbe5d('0x1a')](_0x4bea51)[_0xbe5d('0x20')](function(_0x458a0a){_0x3a511d[_0xbe5d('0x1a')]=_0x458a0a;if(_0x492683[_0xbe5d('0x2c')]['includeAll']){_0x3c3177[_0xbe5d('0x3a')]=[{'all':!![]}];}return db[_0xbe5d('0x27')][_0xbe5d('0x3b')](_0x3c3177);})[_0xbe5d('0x20')](function(_0x23358d){_0x3a511d['rows']=_0x23358d;return _0x3a511d;})[_0xbe5d('0x20')](respondWithFilteredResult(_0x58ecdf,_0x3c3177))[_0xbe5d('0x3c')](handleError(_0x58ecdf,null));};exports[_0xbe5d('0x3d')]=function(_0x999054,_0x21077e){var _0x365370={'raw':!![],'where':{'id':_0x999054[_0xbe5d('0x3e')]['id']}},_0x1f6673={};_0x1f6673[_0xbe5d('0x2b')]=_[_0xbe5d('0x2d')](db[_0xbe5d('0x27')][_0xbe5d('0x28')]);_0x1f6673[_0xbe5d('0x2c')]=_['keys'](_0x999054[_0xbe5d('0x2c')]);_0x1f6673[_0xbe5d('0x2e')]=_['intersection'](_0x1f6673[_0xbe5d('0x2b')],_0x1f6673['query']);_0x365370[_0xbe5d('0x2f')]=_[_0xbe5d('0x30')](_0x1f6673[_0xbe5d('0x2b')],qs[_0xbe5d('0x31')](_0x999054[_0xbe5d('0x2c')][_0xbe5d('0x31')]));_0x365370[_0xbe5d('0x2f')]=_0x365370['attributes'][_0xbe5d('0x32')]?_0x365370['attributes']:_0x1f6673[_0xbe5d('0x2b')];if(_0x999054[_0xbe5d('0x2c')][_0xbe5d('0x3f')]){_0x365370[_0xbe5d('0x3a')]=[{'all':!![]}];}_0x365370=_['merge']({},_0x365370,_0x999054[_0xbe5d('0x39')]);return db[_0xbe5d('0x27')][_0xbe5d('0x40')](_0x365370)['then'](handleEntityNotFound(_0x21077e,null))[_0xbe5d('0x20')](respondWithResult(_0x21077e,null))['catch'](handleError(_0x21077e,null));};exports[_0xbe5d('0x41')]=function(_0x598174,_0x2737e6){return db[_0xbe5d('0x27')][_0xbe5d('0x41')](_0x598174['body'],{})['then'](respondWithResult(_0x2737e6,0xc9))[_0xbe5d('0x3c')](handleError(_0x2737e6,null));};exports[_0xbe5d('0x1f')]=function(_0x2a0ba8,_0x3e81d4){if(_0x2a0ba8['body']['id']){delete _0x2a0ba8[_0xbe5d('0x42')]['id'];}return db[_0xbe5d('0x27')][_0xbe5d('0x40')]({'where':{'id':_0x2a0ba8[_0xbe5d('0x3e')]['id']}})[_0xbe5d('0x20')](handleEntityNotFound(_0x3e81d4,null))[_0xbe5d('0x20')](saveUpdates(_0x2a0ba8[_0xbe5d('0x42')],null))['then'](respondWithResult(_0x3e81d4,null))[_0xbe5d('0x3c')](handleError(_0x3e81d4,null));};exports[_0xbe5d('0x43')]=function(_0x2cce9,_0x546ffc){return db[_0xbe5d('0x27')][_0xbe5d('0x40')]({'where':{'id':_0x2cce9[_0xbe5d('0x3e')]['id']}})[_0xbe5d('0x20')](handleEntityNotFound(_0x546ffc,null))[_0xbe5d('0x20')](removeEntity(_0x546ffc,null))[_0xbe5d('0x3c')](handleError(_0x546ffc,null));};